From 8d910465f8597299e6017a9831ba4576595cb748 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 2 Sep 2019 21:37:52 -0400 Subject: Minor refactor of ereader_helpers.c --- src/ereader_helpers.c | 52 +++++++++++++++++++++++++++------------------------ 1 file changed, 28 insertions(+), 24 deletions(-) (limited to 'src/ereader_helpers.c') diff --git a/src/ereader_helpers.c b/src/ereader_helpers.c index 11aaaafe7..e30307077 100755 --- a/src/ereader_helpers.c +++ b/src/ereader_helpers.c @@ -9,6 +9,7 @@ #include "sprite.h" #include "task.h" #include "util.h" +#include "trainer_hill.h" struct Unknown030012C8 { @@ -38,7 +39,7 @@ static u16 gUnknown_030012F0; static u16 gUnknown_030012F2; static u16 gUnknown_030012F4; -extern const u8 gUnknown_08625B6C[][0x148]; +extern const struct TrainerHillTrainer gUnknown_08625B6C[]; static u8 sub_81D38D4(void) { @@ -58,7 +59,7 @@ bool8 EReader_IsReceivedDataValid(struct EReaderTrainerHillSet *buffer) { u32 i; u32 checksum; - int var0 = buffer->unk_0; + int var0 = buffer->count; if (var0 < 1 || var0 > 8) return FALSE; @@ -78,7 +79,7 @@ bool8 EReader_IsReceivedDataValid(struct EReaderTrainerHillSet *buffer) static bool32 TrainerHill_VerifyChecksum(struct EReaderTrainerHillSet *buffer) { u32 checksum; - int var0 = buffer->unk_0; + int var0 = buffer->count; if (var0 < 1 || var0 > 8) return FALSE; @@ -89,34 +90,37 @@ static bool32 TrainerHill_VerifyChecksum(struct EReaderTrainerHillSet *buffer) return TRUE; } -static bool32 TryWriteTrainerHill_r(struct EReaderTrainerHillSet *arg0, struct Unk81D3998 *buffer2) +static bool32 TryWriteTrainerHill_r(struct EReaderTrainerHillSet *ttdata, struct Unk81D3998 *buffer2) { int i; + AGB_ASSERT_EX(ttdata->dummy == 0, "cereader_tool.c", 450); + AGB_ASSERT_EX(ttdata->id == 0, "cereader_tool.c", 452); + memset(buffer2, 0, 0x1000); - buffer2->unk_000 = arg0->unk_0; + buffer2->unk_000 = ttdata->count; buffer2->unk_001 = sub_81D38D4(); - buffer2->unk_002 = (arg0->unk_0 + 1) / 2; + buffer2->unk_002 = (ttdata->count + 1) / 2; - for (i = 0; i < arg0->unk_0; i++) + for (i = 0; i < ttdata->count; i++) { if (!(i & 1)) { - buffer2->unk_008[i / 2].unk_000[0] = arg0->unk_8[i].unk0; - memcpy(buffer2->unk_008[i / 2].unk_294, arg0->unk_8[i].unk14C, 0x124); - memcpy(buffer2->unk_008[i / 2].unk_004, arg0->unk_8[i].unk4, 0x148); + buffer2->unk_008[i / 2].unk_000[0] = ttdata->unk_8[i].unk0; + memcpy(buffer2->unk_008[i / 2].unk_294, ttdata->unk_8[i].unk14C, 0x124); + memcpy(buffer2->unk_008[i / 2].unk_004, ttdata->unk_8[i].unk4, 0x148); } else { - buffer2->unk_008[i / 2].unk_000[1] = arg0->unk_8[i].unk0; - memcpy(buffer2->unk_008[i / 2].unk_14C, arg0->unk_8[i].unk4, 0x148); + buffer2->unk_008[i / 2].unk_000[1] = ttdata->unk_8[i].unk0; + memcpy(buffer2->unk_008[i / 2].unk_14C, ttdata->unk_8[i].unk4, 0x148); } } if (i & 1) { u8 * dest = buffer2->unk_008[i / 2].unk_14C; - const u8 (* src)[0x148] = gUnknown_08625B6C; + const u8 (* src)[0x148] = (const u8 (*)[0x148])gUnknown_08625B6C; memcpy(dest, src[i / 2], 0x148); } @@ -163,20 +167,20 @@ bool32 ReadTrainerHillAndValidate(void) return result; } -static int unref_sub_81D3B54(int arg0, u32 *arg1) +int EReader_Send(int arg0, u32 *arg1) { int result; u16 var0; int var1; - sub_81D41A0(); + EReaderHelper_SaveRegsState(); while (1) { sub_81D4170(); if (gUnknown_030012E2 & 2) gShouldAdvanceLinkState = 2; - var1 = sub_81D3D70(1, arg0, arg1, NULL); + var1 = EReaderHandleTransfer(1, arg0, arg1, NULL); gUnknown_030012E4 = var1; if ((gUnknown_030012E4 & 0x13) == 0x10) { @@ -202,24 +206,24 @@ static int unref_sub_81D3B54(int arg0, u32 *arg1) } CpuFill32(0, &gUnknown_030012C8, sizeof(struct Unknown030012C8)); - sub_81D41F4(); + EReaderHelper_RestoreRegsState(); return result; } -static int unref_sub_81D3BE8(u32 *arg0) +int EReader_Recv(u32 *arg0) { int result; u16 var0; int var1; - sub_81D41A0(); + EReaderHelper_SaveRegsState(); while (1) { sub_81D4170(); if (gUnknown_030012E2 & 2) gShouldAdvanceLinkState = 2; - var1 = sub_81D3D70(0, 0, NULL, arg0); + var1 = EReaderHandleTransfer(0, 0, NULL, arg0); gUnknown_030012E4 = var1; if ((gUnknown_030012E4 & 0x13) == 0x10) { @@ -245,7 +249,7 @@ static int unref_sub_81D3BE8(u32 *arg0) } CpuFill32(0, &gUnknown_030012C8, sizeof(struct Unknown030012C8)); - sub_81D41F4(); + EReaderHelper_RestoreRegsState(); return result; } @@ -285,7 +289,7 @@ static void sub_81D3D34(void) gUnknown_030012E8 = 0; } -int sub_81D3D70(u8 arg0, u32 arg1, u32 *arg2, u32 *arg3) +int EReaderHandleTransfer(u8 arg0, u32 arg1, u32 *arg2, u32 *arg3) { switch (gUnknown_030012C8.unk0[1]) { @@ -519,7 +523,7 @@ static void sub_81D4170(void) gUnknown_030012E0 = keysMask; } -void sub_81D41A0(void) +void EReaderHelper_SaveRegsState(void) { gUnknown_030012EC = REG_IME; gUnknown_030012EE = REG_IE; @@ -528,7 +532,7 @@ void sub_81D41A0(void) gUnknown_030012F4 = REG_RCNT; } -void sub_81D41F4(void) +void EReaderHelper_RestoreRegsState(void) { REG_IME = gUnknown_030012EC; REG_IE = gUnknown_030012EE; -- cgit v1.2.3 From b510100503de459c4f6c65f38d19050423014628 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 3 Sep 2019 12:34:44 -0400 Subject: Port trainer hill sets to C objects --- src/ereader_helpers.c | 652 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 651 insertions(+), 1 deletion(-) (limited to 'src/ereader_helpers.c') diff --git a/src/ereader_helpers.c b/src/ereader_helpers.c index e30307077..2c90ae6d5 100755 --- a/src/ereader_helpers.c +++ b/src/ereader_helpers.c @@ -10,6 +10,11 @@ #include "task.h" #include "util.h" #include "trainer_hill.h" +#include "constants/easy_chat.h" +#include "constants/trainers.h" +#include "constants/species.h" +#include "constants/moves.h" +#include "constants/items.h" struct Unknown030012C8 { @@ -39,7 +44,652 @@ static u16 gUnknown_030012F0; static u16 gUnknown_030012F2; static u16 gUnknown_030012F4; -extern const struct TrainerHillTrainer gUnknown_08625B6C[]; +const struct TrainerHillTrainer gUnknown_08625B6C[] = { + { + __("マキエ$$$$$"), + FACILITY_CLASS_HEX_MANIAC, + 0x1, + { EC_WORD_PREPOSTEROUS, EC_WORD_CASE, EC_WORD_THERE, EC_WORD_TO_HER, EC_WORD_CHALLENGE, EC_WORD_JOKING }, + { EC_WORD_HERS, EC_WORD_TRUMP_CARD, EC_MOVE2(SECRET_POWER), EC_WORD_USING, EC_WORD_WON, EC_WORD_EXCL_EXCL }, + { EC_WORD_TO_HER, EC_WORD_WIN, EC_WORD_JOKING, EC_WORD_HIGHS, EC_WORD_SCARY, EC_WORD_ELLIPSIS_EXCL }, + { EC_WORD_IGNORANT, EC_WORD_SO, EC_WORD_TODAY, EC_WORD_NIGHTTIME, EC_WORD_YOU_RE, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS }, + { + { + SPECIES_NONE, + ITEM_NONE, + { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, + 0, + 0x0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0, + __("$$$$$$$$$$$"), + 0 + }, + { + SPECIES_NONE, + ITEM_NONE, + { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, + 0, + 0x0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0, + __("$$$$$$$$$$$"), + 0 + }, + { + SPECIES_NONE, + ITEM_NONE, + { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, + 0, + 0x0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0, + __("$$$$$$$$$$$"), + 0 + }, + { + SPECIES_SWALOT, + ITEM_SHELL_BELL, + { MOVE_SLUDGE_BOMB, MOVE_SHADOW_BALL, MOVE_PAIN_SPLIT, MOVE_YAWN }, + 0, + 0x0, + 55, + 255, + 100, + 0, + 0, + 100, + 0x10000000, + 5, + 5, + 5, + 5, + 5, + 5, + 0, + 1, + 0x80, + __("マルノーム$$$$$$"), + 255 + }, + { + SPECIES_DUSTOX, + ITEM_BRIGHT_POWDER, + { MOVE_SILVER_WIND, MOVE_SLUDGE_BOMB, MOVE_SHADOW_BALL, MOVE_GIGA_DRAIN }, + 0, + 0x0, + 0, + 255, + 0, + 0, + 255, + 0, + 0x10000000, + 5, + 5, + 5, + 5, + 5, + 5, + 0, + 0, + 0x6, + __("ドクケイル$$$$$$"), + 255 + }, + { + SPECIES_RELICANTH, + ITEM_QUICK_CLAW, + { MOVE_ANCIENT_POWER, MOVE_SURF, MOVE_EARTHQUAKE, MOVE_AMNESIA }, + 0, + 0x0, + 100, + 0, + 0, + 0, + 155, + 255, + 0x10000000, + 5, + 5, + 5, + 5, + 5, + 5, + 0, + 0, + 0x2f, + __("ジーランス$$$$$$"), + 255 + }, + } + }, + { + __("ハルヒト$$$$"), + FACILITY_CLASS_CAMPER, + 0x1, + { EC_MOVE2(BOUNCE), EC_WORD_AS_MUCH_AS, 0xFFFF, EC_WORD_THEY_RE, EC_WORD_STRONG, EC_WORD_EXCL }, + { EC_MOVE(FLY), EC_WORD_AS_MUCH_AS, 0xFFFF, EC_WORD_THEY_RE, EC_WORD_HAPPY, EC_WORD_EXCL }, + { EC_MOVE2(MINIMIZE), EC_WORD_AS_MUCH_AS, 0xFFFF, EC_WORD_THEY_RE, EC_WORD_SAD, EC_WORD_EXCL }, + { EC_MOVE(BITE), EC_WORD_AS_MUCH_AS, 0xFFFF, EC_WORD_THEY_RE, EC_WORD_ANGRY, EC_WORD_EXCL }, + { + { + SPECIES_NONE, + ITEM_NONE, + { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, + 0, + 0x0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0, + __("$$$$$$$$$$$"), + 0 + }, + { + SPECIES_NONE, + ITEM_NONE, + { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, + 0, + 0x0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0, + __("$$$$$$$$$$$"), + 0 + }, + { + SPECIES_NONE, + ITEM_NONE, + { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, + 0, + 0x0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0, + __("$$$$$$$$$$$"), + 0 + }, + { + SPECIES_CACTURNE, + ITEM_QUICK_CLAW, + { MOVE_GIGA_DRAIN, MOVE_FAINT_ATTACK, MOVE_THUNDER_PUNCH, MOVE_GROWTH }, + 0, + 0x0, + 55, + 0, + 100, + 0, + 255, + 100, + 0x10000000, + 5, + 5, + 5, + 5, + 5, + 5, + 0, + 0, + 0x8c, + __("ノクタス$$$$$$$"), + 255 + }, + { + SPECIES_SWELLOW, + ITEM_BRIGHT_POWDER, + { MOVE_FACADE, MOVE_AERIAL_ACE, MOVE_QUICK_ATTACK, MOVE_DOUBLE_TEAM }, + 0, + 0x0, + 255, + 255, + 0, + 0, + 0, + 0, + 0x10000000, + 5, + 5, + 5, + 5, + 5, + 5, + 0, + 0, + 0x80, + __("オオスバメ$$$$$$"), + 255 + }, + { + SPECIES_WHISCASH, + ITEM_CHESTO_BERRY, + { MOVE_SURF, MOVE_EARTHQUAKE, MOVE_AMNESIA, MOVE_REST }, + 0, + 0x0, + 0, + 255, + 0, + 0, + 255, + 0, + 0x10000000, + 5, + 5, + 5, + 5, + 5, + 5, + 0, + 0, + 0x0, + __("ナマズン$$$$$$$"), + 255 + }, + } + }, + { + __("メイコ$$$$$"), + FACILITY_CLASS_SCHOOL_KID_F, + 0x1, + { EC_WORD_SHINE, EC_WORD_POKEMON, EC_WORD_RELEASE, EC_WORD_WAS, EC_MOVE2(FRUSTRATION), EC_WORD_WITHOUT }, + { EC_WORD_SHINE, EC_WORD_POKEMON, EC_WORD_TO_HER, EC_MOVE2(PRESENT), EC_WORD_KNOWS, EC_WORD_WITHOUT }, + { EC_WORD_THAT, EC_WORD_ABOVE, EC_WORD_LOST, EC_WORD_STORES, EC_WORD_JOKING, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS }, + { EC_WORD_ENTERTAINING, EC_WORD_NONE, EC_WORD_HEY_QUES, EC_WORD_ALMOST, EC_WORD_EXCL, 0xFFFF }, + { + { + SPECIES_NONE, + ITEM_NONE, + { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, + 0, + 0x0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0, + __("$$$$$$$$$$$"), + 0 + }, + { + SPECIES_NONE, + ITEM_NONE, + { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, + 0, + 0x0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0, + __("$$$$$$$$$$$"), + 0 + }, + { + SPECIES_NONE, + ITEM_NONE, + { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, + 0, + 0x0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0, + __("$$$$$$$$$$$"), + 0 + }, + { + SPECIES_DELCATTY, + ITEM_LUM_BERRY, + { MOVE_SING, MOVE_BODY_SLAM, MOVE_SHADOW_BALL, MOVE_IRON_TAIL }, + 0, + 0x0, + 0, + 255, + 0, + 255, + 0, + 0, + 0x10000000, + 5, + 5, + 5, + 5, + 5, + 5, + 0, + 0, + 0x3, + __("エネコロロ$$$$$$"), + 255 + }, + { + SPECIES_ROSELIA, + ITEM_LEFTOVERS, + { MOVE_GIGA_DRAIN, MOVE_GRASS_WHISTLE, MOVE_TOXIC, MOVE_LEECH_SEED }, + 0, + 0x0, + 255, + 0, + 0, + 0, + 255, + 0, + 0x10000000, + 5, + 5, + 5, + 5, + 5, + 5, + 0, + 1, + 0x6, + __("ロゼリア$$$$$$$"), + 255 + }, + { + SPECIES_BEAUTIFLY, + ITEM_BRIGHT_POWDER, + { MOVE_SILVER_WIND, MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_PSYCHIC }, + 0, + 0x0, + 100, + 200, + 0, + 0, + 200, + 0, + 0x10000000, + 5, + 5, + 5, + 5, + 5, + 5, + 0, + 0, + 0x6, + __("アゲハント$$$$$$"), + 255 + }, + } + }, + { + __("ピエール$$$$"), + FACILITY_CLASS_GENTLEMAN, + 0x1, + { EC_WORD_SHE_WAS, EC_WORD_NO_1, EC_WORD_STRONG, EC_WORD_UNCLE, EC_WORD_THERE, EC_WORD_EXCL }, + { EC_WORD_HAHAHA, EC_WORD_TEACHER, EC_WORD_BECOMES, EC_WORD_GIVE, EC_WORD_IS_IT_QUES, 0xFFFF }, + { EC_WORD_OUTSIDE, EC_WORD_UNCLE, EC_WORD_SURPRISE, EC_WORD_THESE, EC_WORD_HEY_QUES, EC_WORD_ELLIPSIS_EXCL }, + { EC_WORD_HE_S, EC_WORD_NO_1, EC_WORD_STRONG, EC_WORD_CHILDREN, EC_WORD_CAN_T, EC_WORD_EXCL_EXCL }, + { + { + SPECIES_NONE, + ITEM_NONE, + { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, + 0, + 0x0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0, + __("$$$$$$$$$$$"), + 0 + }, + { + SPECIES_NONE, + ITEM_NONE, + { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, + 0, + 0x0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0, + __("$$$$$$$$$$$"), + 0 + }, + { + SPECIES_NONE, + ITEM_NONE, + { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, + 0, + 0x0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x0, + __("$$$$$$$$$$$"), + 0 + }, + { + SPECIES_MAWILE, + ITEM_BRIGHT_POWDER, + { MOVE_CRUNCH, MOVE_FLAMETHROWER, MOVE_THUNDER_PUNCH, MOVE_COMET_PUNCH }, + 0, + 0x0, + 0, + 0, + 100, + 0, + 255, + 155, + 0x10000000, + 5, + 5, + 5, + 5, + 5, + 5, + 0, + 1, + 0x0, + __("クチート$$$$$$$"), + 255 + }, + { + SPECIES_SHARPEDO, + ITEM_SCOPE_LENS, + { MOVE_SURF, MOVE_CRUNCH, MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE }, + 0, + 0x0, + 255, + 0, + 0, + 0, + 255, + 0, + 0x10000000, + 5, + 5, + 5, + 5, + 5, + 5, + 0, + 0, + 0x96, + __("サメハダー$$$$$$"), + 255 + }, + { + SPECIES_BANETTE, + ITEM_LUM_BERRY, + { MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_THUNDERBOLT, MOVE_WILL_O_WISP }, + 0, + 0x0, + 255, + 0, + 0, + 0, + 255, + 0, + 0x10000000, + 5, + 5, + 5, + 5, + 5, + 5, + 0, + 0, + 0x96, + __("ジュペッタ$$$$$$"), + 255 + }, + } + }, +}; static u8 sub_81D38D4(void) { -- cgit v1.2.3 From cb0fa2fdc357ad2b016ee53f9bdea5297ed9d4d1 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 3 Sep 2019 14:10:28 -0400 Subject: Minor edit to save trainer hill routine --- src/ereader_helpers.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/ereader_helpers.c') diff --git a/src/ereader_helpers.c b/src/ereader_helpers.c index 2c90ae6d5..4665a04f0 100755 --- a/src/ereader_helpers.c +++ b/src/ereader_helpers.c @@ -44,7 +44,7 @@ static u16 gUnknown_030012F0; static u16 gUnknown_030012F2; static u16 gUnknown_030012F4; -const struct TrainerHillTrainer gUnknown_08625B6C[] = { +static const struct TrainerHillTrainer sTrainerHillTrainerTemplates_JP[] = { { __("マキエ$$$$$"), FACILITY_CLASS_HEX_MANIAC, @@ -770,8 +770,8 @@ static bool32 TryWriteTrainerHill_r(struct EReaderTrainerHillSet *ttdata, struct if (i & 1) { u8 * dest = buffer2->unk_008[i / 2].unk_14C; - const u8 (* src)[0x148] = (const u8 (*)[0x148])gUnknown_08625B6C; - memcpy(dest, src[i / 2], 0x148); + const struct TrainerHillTrainer * src = sTrainerHillTrainerTemplates_JP; + memcpy(dest, &src[i / 2], 0x148); } buffer2->checksum = CalcByteArraySum((u8 *)buffer2->unk_008, sizeof(struct Unk81D3998) - offsetof(struct Unk81D3998, unk_008)); -- cgit v1.2.3 From a9918c3b898bd181cdb6db6d382b78d8122dfadb Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 3 Sep 2019 14:35:01 -0400 Subject: Partial refactor of TryWriteTrainerHill_r --- src/ereader_helpers.c | 32 +++++++++++++++----------------- 1 file changed, 15 insertions(+), 17 deletions(-) (limited to 'src/ereader_helpers.c') diff --git a/src/ereader_helpers.c b/src/ereader_helpers.c index 4665a04f0..e0e51a48e 100755 --- a/src/ereader_helpers.c +++ b/src/ereader_helpers.c @@ -696,7 +696,7 @@ static u8 sub_81D38D4(void) return (gSaveBlock1Ptr->trainerHill.unused + 1) % 256; } -static bool32 Struct_Unk81D38FC_ValidateChecksum(struct Unk81D38FC *arg0) +static bool32 Struct_EReaderTrainerHillTrainer_ValidateChecksum(struct EReaderTrainerHillTrainer *arg0) { int checksum = CalcByteArraySum((u8 *)arg0, 0x270); if (checksum != arg0->checksum) @@ -715,11 +715,11 @@ bool8 EReader_IsReceivedDataValid(struct EReaderTrainerHillSet *buffer) for (i = 0; i < var0; i++) { - if (!Struct_Unk81D38FC_ValidateChecksum(&buffer->unk_8[i])) + if (!Struct_EReaderTrainerHillTrainer_ValidateChecksum(&buffer->unk_8[i])) return FALSE; } - checksum = CalcByteArraySum((u8 *)buffer->unk_8, var0 * sizeof(struct Unk81D38FC)); + checksum = CalcByteArraySum((u8 *)buffer->unk_8, var0 * sizeof(struct EReaderTrainerHillTrainer)); if (checksum != buffer->checksum) return FALSE; @@ -740,7 +740,7 @@ static bool32 TrainerHill_VerifyChecksum(struct EReaderTrainerHillSet *buffer) return TRUE; } -static bool32 TryWriteTrainerHill_r(struct EReaderTrainerHillSet *ttdata, struct Unk81D3998 *buffer2) +static bool32 TryWriteTrainerHill_r(struct EReaderTrainerHillSet *ttdata, struct TrHillTag *buffer2) { int i; @@ -748,33 +748,31 @@ static bool32 TryWriteTrainerHill_r(struct EReaderTrainerHillSet *ttdata, struct AGB_ASSERT_EX(ttdata->id == 0, "cereader_tool.c", 452); memset(buffer2, 0, 0x1000); - buffer2->unk_000 = ttdata->count; - buffer2->unk_001 = sub_81D38D4(); - buffer2->unk_002 = (ttdata->count + 1) / 2; + buffer2->unkField_0 = ttdata->count; + buffer2->unused1 = sub_81D38D4(); + buffer2->unkField_2 = (ttdata->count + 1) / 2; for (i = 0; i < ttdata->count; i++) { if (!(i & 1)) { - buffer2->unk_008[i / 2].unk_000[0] = ttdata->unk_8[i].unk0; - memcpy(buffer2->unk_008[i / 2].unk_294, ttdata->unk_8[i].unk14C, 0x124); - memcpy(buffer2->unk_008[i / 2].unk_004, ttdata->unk_8[i].unk4, 0x148); + buffer2->floors[i / 2].unk0 = ttdata->unk_8[i].unk0; + memcpy(buffer2->floors[i / 2].data, ttdata->unk_8[i].unk14C, 0x124); + buffer2->floors[i / 2].trainers[0] = ttdata->unk_8[i].unk4; } else { - buffer2->unk_008[i / 2].unk_000[1] = ttdata->unk_8[i].unk0; - memcpy(buffer2->unk_008[i / 2].unk_14C, ttdata->unk_8[i].unk4, 0x148); + buffer2->floors[i / 2].unk1 = ttdata->unk_8[i].unk0; + buffer2->floors[i / 2].trainers[1] = ttdata->unk_8[i].unk4; } } if (i & 1) { - u8 * dest = buffer2->unk_008[i / 2].unk_14C; - const struct TrainerHillTrainer * src = sTrainerHillTrainerTemplates_JP; - memcpy(dest, &src[i / 2], 0x148); + buffer2->floors[i / 2].trainers[1] = sTrainerHillTrainerTemplates_JP[i / 2]; } - buffer2->checksum = CalcByteArraySum((u8 *)buffer2->unk_008, sizeof(struct Unk81D3998) - offsetof(struct Unk81D3998, unk_008)); + buffer2->checksum = CalcByteArraySum((u8 *)buffer2->floors, sizeof(buffer2->floors)); if (TryWriteSpecialSaveSection(SECTOR_ID_TRAINER_HILL, (u8 *)buffer2) != 1) return FALSE; @@ -783,7 +781,7 @@ static bool32 TryWriteTrainerHill_r(struct EReaderTrainerHillSet *ttdata, struct bool32 TryWriteTrainerHill(struct EReaderTrainerHillSet *arg0) { - struct Unk81D3998 *var0 = AllocZeroed(0x1000); + void *var0 = AllocZeroed(0x1000); bool32 result = TryWriteTrainerHill_r(arg0, var0); Free(var0); return result; -- cgit v1.2.3 From e2fbce996e08769f5cd18f77c65818b6f5e34080 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 4 Sep 2019 11:46:11 -0400 Subject: Use designated initializers (C99 feat) --- src/ereader_helpers.c | 1224 ++++++++++++++++++++++++------------------------- 1 file changed, 612 insertions(+), 612 deletions(-) (limited to 'src/ereader_helpers.c') diff --git a/src/ereader_helpers.c b/src/ereader_helpers.c index e0e51a48e..e24abfb29 100755 --- a/src/ereader_helpers.c +++ b/src/ereader_helpers.c @@ -45,647 +45,647 @@ static u16 gUnknown_030012F2; static u16 gUnknown_030012F4; static const struct TrainerHillTrainer sTrainerHillTrainerTemplates_JP[] = { - { - __("マキエ$$$$$"), - FACILITY_CLASS_HEX_MANIAC, - 0x1, - { EC_WORD_PREPOSTEROUS, EC_WORD_CASE, EC_WORD_THERE, EC_WORD_TO_HER, EC_WORD_CHALLENGE, EC_WORD_JOKING }, - { EC_WORD_HERS, EC_WORD_TRUMP_CARD, EC_MOVE2(SECRET_POWER), EC_WORD_USING, EC_WORD_WON, EC_WORD_EXCL_EXCL }, - { EC_WORD_TO_HER, EC_WORD_WIN, EC_WORD_JOKING, EC_WORD_HIGHS, EC_WORD_SCARY, EC_WORD_ELLIPSIS_EXCL }, - { EC_WORD_IGNORANT, EC_WORD_SO, EC_WORD_TODAY, EC_WORD_NIGHTTIME, EC_WORD_YOU_RE, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS }, - { - { - SPECIES_NONE, - ITEM_NONE, - { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, - 0, - 0x0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0, - __("$$$$$$$$$$$"), - 0 + [0] = { + .name = __("マキエ$$$$$ "), + .facilityClass = FACILITY_CLASS_HEX_MANIAC, + .unused = 0x1, + .speechBefore = { EC_WORD_PREPOSTEROUS, EC_WORD_CASE, EC_WORD_THERE, EC_WORD_TO_HER, EC_WORD_CHALLENGE, EC_WORD_JOKING }, + .speechWin = { EC_WORD_HERS, EC_WORD_TRUMP_CARD, EC_MOVE2(SECRET_POWER), EC_WORD_USING, EC_WORD_WON, EC_WORD_EXCL_EXCL }, + .speechLose = { EC_WORD_TO_HER, EC_WORD_WIN, EC_WORD_JOKING, EC_WORD_HIGHS, EC_WORD_SCARY, EC_WORD_ELLIPSIS_EXCL }, + .speechAfter = { EC_WORD_IGNORANT, EC_WORD_SO, EC_WORD_TODAY, EC_WORD_NIGHTTIME, EC_WORD_YOU_RE, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS }, + .mons = { + [0] = { + .species = SPECIES_NONE, + .heldItem = ITEM_NONE, + .moves = { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0x0, + .hpIV = 0, + .attackIV = 0, + .defenseIV = 0, + .speedIV = 0, + .spAttackIV = 0, + .spDefenseIV = 0, + .gap = 0, + .abilityNum = 0, + .personality = 0x0, + .nickname = __("$$$$$$$$$$$"), + .friendship = 0 }, - { - SPECIES_NONE, - ITEM_NONE, - { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, - 0, - 0x0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0, - __("$$$$$$$$$$$"), - 0 + [1] = { + .species = SPECIES_NONE, + .heldItem = ITEM_NONE, + .moves = { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0x0, + .hpIV = 0, + .attackIV = 0, + .defenseIV = 0, + .speedIV = 0, + .spAttackIV = 0, + .spDefenseIV = 0, + .gap = 0, + .abilityNum = 0, + .personality = 0x0, + .nickname = __("$$$$$$$$$$$"), + .friendship = 0 }, - { - SPECIES_NONE, - ITEM_NONE, - { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, - 0, - 0x0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0, - __("$$$$$$$$$$$"), - 0 + [2] = { + .species = SPECIES_NONE, + .heldItem = ITEM_NONE, + .moves = { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0x0, + .hpIV = 0, + .attackIV = 0, + .defenseIV = 0, + .speedIV = 0, + .spAttackIV = 0, + .spDefenseIV = 0, + .gap = 0, + .abilityNum = 0, + .personality = 0x0, + .nickname = __("$$$$$$$$$$$"), + .friendship = 0 }, - { - SPECIES_SWALOT, - ITEM_SHELL_BELL, - { MOVE_SLUDGE_BOMB, MOVE_SHADOW_BALL, MOVE_PAIN_SPLIT, MOVE_YAWN }, - 0, - 0x0, - 55, - 255, - 100, - 0, - 0, - 100, - 0x10000000, - 5, - 5, - 5, - 5, - 5, - 5, - 0, - 1, - 0x80, - __("マルノーム$$$$$$"), - 255 + [3] = { + .species = SPECIES_SWALOT, + .heldItem = ITEM_SHELL_BELL, + .moves = { MOVE_SLUDGE_BOMB, MOVE_SHADOW_BALL, MOVE_PAIN_SPLIT, MOVE_YAWN }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 55, + .attackEV = 255, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 100, + .otId = 0x10000000, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .gap = 0, + .abilityNum = 1, + .personality = 0x80, + .nickname = __("マルノーム$$$$$$"), + .friendship = 255 }, - { - SPECIES_DUSTOX, - ITEM_BRIGHT_POWDER, - { MOVE_SILVER_WIND, MOVE_SLUDGE_BOMB, MOVE_SHADOW_BALL, MOVE_GIGA_DRAIN }, - 0, - 0x0, - 0, - 255, - 0, - 0, - 255, - 0, - 0x10000000, - 5, - 5, - 5, - 5, - 5, - 5, - 0, - 0, - 0x6, - __("ドクケイル$$$$$$"), - 255 + [4] = { + .species = SPECIES_DUSTOX, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = { MOVE_SILVER_WIND, MOVE_SLUDGE_BOMB, MOVE_SHADOW_BALL, MOVE_GIGA_DRAIN }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 0, + .otId = 0x10000000, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .gap = 0, + .abilityNum = 0, + .personality = 0x6, + .nickname = __("ドクケイル$$$$$$"), + .friendship = 255 }, - { - SPECIES_RELICANTH, - ITEM_QUICK_CLAW, - { MOVE_ANCIENT_POWER, MOVE_SURF, MOVE_EARTHQUAKE, MOVE_AMNESIA }, - 0, - 0x0, - 100, - 0, - 0, - 0, - 155, - 255, - 0x10000000, - 5, - 5, - 5, - 5, - 5, - 5, - 0, - 0, - 0x2f, - __("ジーランス$$$$$$"), - 255 + [5] = { + .species = SPECIES_RELICANTH, + .heldItem = ITEM_QUICK_CLAW, + .moves = { MOVE_ANCIENT_POWER, MOVE_SURF, MOVE_EARTHQUAKE, MOVE_AMNESIA }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 100, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 155, + .spDefenseEV = 255, + .otId = 0x10000000, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .gap = 0, + .abilityNum = 0, + .personality = 0x2f, + .nickname = __("ジーランス$$$$$$"), + .friendship = 255 }, } }, - { - __("ハルヒト$$$$"), - FACILITY_CLASS_CAMPER, - 0x1, - { EC_MOVE2(BOUNCE), EC_WORD_AS_MUCH_AS, 0xFFFF, EC_WORD_THEY_RE, EC_WORD_STRONG, EC_WORD_EXCL }, - { EC_MOVE(FLY), EC_WORD_AS_MUCH_AS, 0xFFFF, EC_WORD_THEY_RE, EC_WORD_HAPPY, EC_WORD_EXCL }, - { EC_MOVE2(MINIMIZE), EC_WORD_AS_MUCH_AS, 0xFFFF, EC_WORD_THEY_RE, EC_WORD_SAD, EC_WORD_EXCL }, - { EC_MOVE(BITE), EC_WORD_AS_MUCH_AS, 0xFFFF, EC_WORD_THEY_RE, EC_WORD_ANGRY, EC_WORD_EXCL }, - { - { - SPECIES_NONE, - ITEM_NONE, - { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, - 0, - 0x0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0, - __("$$$$$$$$$$$"), - 0 + [1] = { + .name = __("ハルヒト$$$$ "), + .facilityClass = FACILITY_CLASS_CAMPER, + .unused = 0x1, + .speechBefore = { EC_MOVE2(BOUNCE), EC_WORD_AS_MUCH_AS, 0xFFFF, EC_WORD_THEY_RE, EC_WORD_STRONG, EC_WORD_EXCL }, + .speechWin = { EC_MOVE(FLY), EC_WORD_AS_MUCH_AS, 0xFFFF, EC_WORD_THEY_RE, EC_WORD_HAPPY, EC_WORD_EXCL }, + .speechLose = { EC_MOVE2(MINIMIZE), EC_WORD_AS_MUCH_AS, 0xFFFF, EC_WORD_THEY_RE, EC_WORD_SAD, EC_WORD_EXCL }, + .speechAfter = { EC_MOVE(BITE), EC_WORD_AS_MUCH_AS, 0xFFFF, EC_WORD_THEY_RE, EC_WORD_ANGRY, EC_WORD_EXCL }, + .mons = { + [0] = { + .species = SPECIES_NONE, + .heldItem = ITEM_NONE, + .moves = { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0x0, + .hpIV = 0, + .attackIV = 0, + .defenseIV = 0, + .speedIV = 0, + .spAttackIV = 0, + .spDefenseIV = 0, + .gap = 0, + .abilityNum = 0, + .personality = 0x0, + .nickname = __("$$$$$$$$$$$"), + .friendship = 0 }, - { - SPECIES_NONE, - ITEM_NONE, - { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, - 0, - 0x0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0, - __("$$$$$$$$$$$"), - 0 + [1] = { + .species = SPECIES_NONE, + .heldItem = ITEM_NONE, + .moves = { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0x0, + .hpIV = 0, + .attackIV = 0, + .defenseIV = 0, + .speedIV = 0, + .spAttackIV = 0, + .spDefenseIV = 0, + .gap = 0, + .abilityNum = 0, + .personality = 0x0, + .nickname = __("$$$$$$$$$$$"), + .friendship = 0 }, - { - SPECIES_NONE, - ITEM_NONE, - { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, - 0, - 0x0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0, - __("$$$$$$$$$$$"), - 0 + [2] = { + .species = SPECIES_NONE, + .heldItem = ITEM_NONE, + .moves = { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0x0, + .hpIV = 0, + .attackIV = 0, + .defenseIV = 0, + .speedIV = 0, + .spAttackIV = 0, + .spDefenseIV = 0, + .gap = 0, + .abilityNum = 0, + .personality = 0x0, + .nickname = __("$$$$$$$$$$$"), + .friendship = 0 }, - { - SPECIES_CACTURNE, - ITEM_QUICK_CLAW, - { MOVE_GIGA_DRAIN, MOVE_FAINT_ATTACK, MOVE_THUNDER_PUNCH, MOVE_GROWTH }, - 0, - 0x0, - 55, - 0, - 100, - 0, - 255, - 100, - 0x10000000, - 5, - 5, - 5, - 5, - 5, - 5, - 0, - 0, - 0x8c, - __("ノクタス$$$$$$$"), - 255 + [3] = { + .species = SPECIES_CACTURNE, + .heldItem = ITEM_QUICK_CLAW, + .moves = { MOVE_GIGA_DRAIN, MOVE_FAINT_ATTACK, MOVE_THUNDER_PUNCH, MOVE_GROWTH }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 55, + .attackEV = 0, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 100, + .otId = 0x10000000, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .gap = 0, + .abilityNum = 0, + .personality = 0x8c, + .nickname = __("ノクタス$$$$$$$"), + .friendship = 255 }, - { - SPECIES_SWELLOW, - ITEM_BRIGHT_POWDER, - { MOVE_FACADE, MOVE_AERIAL_ACE, MOVE_QUICK_ATTACK, MOVE_DOUBLE_TEAM }, - 0, - 0x0, - 255, - 255, - 0, - 0, - 0, - 0, - 0x10000000, - 5, - 5, - 5, - 5, - 5, - 5, - 0, - 0, - 0x80, - __("オオスバメ$$$$$$"), - 255 + [4] = { + .species = SPECIES_SWELLOW, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = { MOVE_FACADE, MOVE_AERIAL_ACE, MOVE_QUICK_ATTACK, MOVE_DOUBLE_TEAM }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 255, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0x10000000, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .gap = 0, + .abilityNum = 0, + .personality = 0x80, + .nickname = __("オオスバメ$$$$$$"), + .friendship = 255 }, - { - SPECIES_WHISCASH, - ITEM_CHESTO_BERRY, - { MOVE_SURF, MOVE_EARTHQUAKE, MOVE_AMNESIA, MOVE_REST }, - 0, - 0x0, - 0, - 255, - 0, - 0, - 255, - 0, - 0x10000000, - 5, - 5, - 5, - 5, - 5, - 5, - 0, - 0, - 0x0, - __("ナマズン$$$$$$$"), - 255 + [5] = { + .species = SPECIES_WHISCASH, + .heldItem = ITEM_CHESTO_BERRY, + .moves = { MOVE_SURF, MOVE_EARTHQUAKE, MOVE_AMNESIA, MOVE_REST }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 0, + .otId = 0x10000000, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .gap = 0, + .abilityNum = 0, + .personality = 0x0, + .nickname = __("ナマズン$$$$$$$"), + .friendship = 255 }, } }, - { - __("メイコ$$$$$"), - FACILITY_CLASS_SCHOOL_KID_F, - 0x1, - { EC_WORD_SHINE, EC_WORD_POKEMON, EC_WORD_RELEASE, EC_WORD_WAS, EC_MOVE2(FRUSTRATION), EC_WORD_WITHOUT }, - { EC_WORD_SHINE, EC_WORD_POKEMON, EC_WORD_TO_HER, EC_MOVE2(PRESENT), EC_WORD_KNOWS, EC_WORD_WITHOUT }, - { EC_WORD_THAT, EC_WORD_ABOVE, EC_WORD_LOST, EC_WORD_STORES, EC_WORD_JOKING, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS }, - { EC_WORD_ENTERTAINING, EC_WORD_NONE, EC_WORD_HEY_QUES, EC_WORD_ALMOST, EC_WORD_EXCL, 0xFFFF }, - { - { - SPECIES_NONE, - ITEM_NONE, - { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, - 0, - 0x0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0, - __("$$$$$$$$$$$"), - 0 + [2] = { + .name = __("メイコ$$$$$ "), + .facilityClass = FACILITY_CLASS_SCHOOL_KID_F, + .unused = 0x1, + .speechBefore = { EC_WORD_SHINE, EC_WORD_POKEMON, EC_WORD_RELEASE, EC_WORD_WAS, EC_MOVE2(FRUSTRATION), EC_WORD_WITHOUT }, + .speechWin = { EC_WORD_SHINE, EC_WORD_POKEMON, EC_WORD_TO_HER, EC_MOVE2(PRESENT), EC_WORD_KNOWS, EC_WORD_WITHOUT }, + .speechLose = { EC_WORD_THAT, EC_WORD_ABOVE, EC_WORD_LOST, EC_WORD_STORES, EC_WORD_JOKING, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS }, + .speechAfter = { EC_WORD_ENTERTAINING, EC_WORD_NONE, EC_WORD_HEY_QUES, EC_WORD_ALMOST, EC_WORD_EXCL, 0xFFFF }, + .mons = { + [0] = { + .species = SPECIES_NONE, + .heldItem = ITEM_NONE, + .moves = { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0x0, + .hpIV = 0, + .attackIV = 0, + .defenseIV = 0, + .speedIV = 0, + .spAttackIV = 0, + .spDefenseIV = 0, + .gap = 0, + .abilityNum = 0, + .personality = 0x0, + .nickname = __("$$$$$$$$$$$"), + .friendship = 0 }, - { - SPECIES_NONE, - ITEM_NONE, - { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, - 0, - 0x0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0, - __("$$$$$$$$$$$"), - 0 + [1] = { + .species = SPECIES_NONE, + .heldItem = ITEM_NONE, + .moves = { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0x0, + .hpIV = 0, + .attackIV = 0, + .defenseIV = 0, + .speedIV = 0, + .spAttackIV = 0, + .spDefenseIV = 0, + .gap = 0, + .abilityNum = 0, + .personality = 0x0, + .nickname = __("$$$$$$$$$$$"), + .friendship = 0 }, - { - SPECIES_NONE, - ITEM_NONE, - { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, - 0, - 0x0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0, - __("$$$$$$$$$$$"), - 0 + [2] = { + .species = SPECIES_NONE, + .heldItem = ITEM_NONE, + .moves = { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0x0, + .hpIV = 0, + .attackIV = 0, + .defenseIV = 0, + .speedIV = 0, + .spAttackIV = 0, + .spDefenseIV = 0, + .gap = 0, + .abilityNum = 0, + .personality = 0x0, + .nickname = __("$$$$$$$$$$$"), + .friendship = 0 }, - { - SPECIES_DELCATTY, - ITEM_LUM_BERRY, - { MOVE_SING, MOVE_BODY_SLAM, MOVE_SHADOW_BALL, MOVE_IRON_TAIL }, - 0, - 0x0, - 0, - 255, - 0, - 255, - 0, - 0, - 0x10000000, - 5, - 5, - 5, - 5, - 5, - 5, - 0, - 0, - 0x3, - __("エネコロロ$$$$$$"), - 255 + [3] = { + .species = SPECIES_DELCATTY, + .heldItem = ITEM_LUM_BERRY, + .moves = { MOVE_SING, MOVE_BODY_SLAM, MOVE_SHADOW_BALL, MOVE_IRON_TAIL }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0x10000000, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .gap = 0, + .abilityNum = 0, + .personality = 0x3, + .nickname = __("エネコロロ$$$$$$"), + .friendship = 255 }, - { - SPECIES_ROSELIA, - ITEM_LEFTOVERS, - { MOVE_GIGA_DRAIN, MOVE_GRASS_WHISTLE, MOVE_TOXIC, MOVE_LEECH_SEED }, - 0, - 0x0, - 255, - 0, - 0, - 0, - 255, - 0, - 0x10000000, - 5, - 5, - 5, - 5, - 5, - 5, - 0, - 1, - 0x6, - __("ロゼリア$$$$$$$"), - 255 + [4] = { + .species = SPECIES_ROSELIA, + .heldItem = ITEM_LEFTOVERS, + .moves = { MOVE_GIGA_DRAIN, MOVE_GRASS_WHISTLE, MOVE_TOXIC, MOVE_LEECH_SEED }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 0, + .otId = 0x10000000, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .gap = 0, + .abilityNum = 1, + .personality = 0x6, + .nickname = __("ロゼリア$$$$$$$"), + .friendship = 255 }, - { - SPECIES_BEAUTIFLY, - ITEM_BRIGHT_POWDER, - { MOVE_SILVER_WIND, MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_PSYCHIC }, - 0, - 0x0, - 100, - 200, - 0, - 0, - 200, - 0, - 0x10000000, - 5, - 5, - 5, - 5, - 5, - 5, - 0, - 0, - 0x6, - __("アゲハント$$$$$$"), - 255 + [5] = { + .species = SPECIES_BEAUTIFLY, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = { MOVE_SILVER_WIND, MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_PSYCHIC }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 100, + .attackEV = 200, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 200, + .spDefenseEV = 0, + .otId = 0x10000000, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .gap = 0, + .abilityNum = 0, + .personality = 0x6, + .nickname = __("アゲハント$$$$$$"), + .friendship = 255 }, } }, - { - __("ピエール$$$$"), - FACILITY_CLASS_GENTLEMAN, - 0x1, - { EC_WORD_SHE_WAS, EC_WORD_NO_1, EC_WORD_STRONG, EC_WORD_UNCLE, EC_WORD_THERE, EC_WORD_EXCL }, - { EC_WORD_HAHAHA, EC_WORD_TEACHER, EC_WORD_BECOMES, EC_WORD_GIVE, EC_WORD_IS_IT_QUES, 0xFFFF }, - { EC_WORD_OUTSIDE, EC_WORD_UNCLE, EC_WORD_SURPRISE, EC_WORD_THESE, EC_WORD_HEY_QUES, EC_WORD_ELLIPSIS_EXCL }, - { EC_WORD_HE_S, EC_WORD_NO_1, EC_WORD_STRONG, EC_WORD_CHILDREN, EC_WORD_CAN_T, EC_WORD_EXCL_EXCL }, - { - { - SPECIES_NONE, - ITEM_NONE, - { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, - 0, - 0x0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0, - __("$$$$$$$$$$$"), - 0 + [3] = { + .name = __("ピエール$$$$ "), + .facilityClass = FACILITY_CLASS_GENTLEMAN, + .unused = 0x1, + .speechBefore = { EC_WORD_SHE_WAS, EC_WORD_NO_1, EC_WORD_STRONG, EC_WORD_UNCLE, EC_WORD_THERE, EC_WORD_EXCL }, + .speechWin = { EC_WORD_HAHAHA, EC_WORD_TEACHER, EC_WORD_BECOMES, EC_WORD_GIVE, EC_WORD_IS_IT_QUES, 0xFFFF }, + .speechLose = { EC_WORD_OUTSIDE, EC_WORD_UNCLE, EC_WORD_SURPRISE, EC_WORD_THESE, EC_WORD_HEY_QUES, EC_WORD_ELLIPSIS_EXCL }, + .speechAfter = { EC_WORD_HE_S, EC_WORD_NO_1, EC_WORD_STRONG, EC_WORD_CHILDREN, EC_WORD_CAN_T, EC_WORD_EXCL_EXCL }, + .mons = { + [0] = { + .species = SPECIES_NONE, + .heldItem = ITEM_NONE, + .moves = { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0x0, + .hpIV = 0, + .attackIV = 0, + .defenseIV = 0, + .speedIV = 0, + .spAttackIV = 0, + .spDefenseIV = 0, + .gap = 0, + .abilityNum = 0, + .personality = 0x0, + .nickname = __("$$$$$$$$$$$"), + .friendship = 0 }, - { - SPECIES_NONE, - ITEM_NONE, - { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, - 0, - 0x0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0, - __("$$$$$$$$$$$"), - 0 + [1] = { + .species = SPECIES_NONE, + .heldItem = ITEM_NONE, + .moves = { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0x0, + .hpIV = 0, + .attackIV = 0, + .defenseIV = 0, + .speedIV = 0, + .spAttackIV = 0, + .spDefenseIV = 0, + .gap = 0, + .abilityNum = 0, + .personality = 0x0, + .nickname = __("$$$$$$$$$$$"), + .friendship = 0 }, - { - SPECIES_NONE, - ITEM_NONE, - { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, - 0, - 0x0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0, - __("$$$$$$$$$$$"), - 0 + [2] = { + .species = SPECIES_NONE, + .heldItem = ITEM_NONE, + .moves = { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0x0, + .hpIV = 0, + .attackIV = 0, + .defenseIV = 0, + .speedIV = 0, + .spAttackIV = 0, + .spDefenseIV = 0, + .gap = 0, + .abilityNum = 0, + .personality = 0x0, + .nickname = __("$$$$$$$$$$$"), + .friendship = 0 }, - { - SPECIES_MAWILE, - ITEM_BRIGHT_POWDER, - { MOVE_CRUNCH, MOVE_FLAMETHROWER, MOVE_THUNDER_PUNCH, MOVE_COMET_PUNCH }, - 0, - 0x0, - 0, - 0, - 100, - 0, - 255, - 155, - 0x10000000, - 5, - 5, - 5, - 5, - 5, - 5, - 0, - 1, - 0x0, - __("クチート$$$$$$$"), - 255 + [3] = { + .species = SPECIES_MAWILE, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = { MOVE_CRUNCH, MOVE_FLAMETHROWER, MOVE_THUNDER_PUNCH, MOVE_COMET_PUNCH }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 155, + .otId = 0x10000000, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .gap = 0, + .abilityNum = 1, + .personality = 0x0, + .nickname = __("クチート$$$$$$$"), + .friendship = 255 }, - { - SPECIES_SHARPEDO, - ITEM_SCOPE_LENS, - { MOVE_SURF, MOVE_CRUNCH, MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE }, - 0, - 0x0, - 255, - 0, - 0, - 0, - 255, - 0, - 0x10000000, - 5, - 5, - 5, - 5, - 5, - 5, - 0, - 0, - 0x96, - __("サメハダー$$$$$$"), - 255 + [4] = { + .species = SPECIES_SHARPEDO, + .heldItem = ITEM_SCOPE_LENS, + .moves = { MOVE_SURF, MOVE_CRUNCH, MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 0, + .otId = 0x10000000, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .gap = 0, + .abilityNum = 0, + .personality = 0x96, + .nickname = __("サメハダー$$$$$$"), + .friendship = 255 }, - { - SPECIES_BANETTE, - ITEM_LUM_BERRY, - { MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_THUNDERBOLT, MOVE_WILL_O_WISP }, - 0, - 0x0, - 255, - 0, - 0, - 0, - 255, - 0, - 0x10000000, - 5, - 5, - 5, - 5, - 5, - 5, - 0, - 0, - 0x96, - __("ジュペッタ$$$$$$"), - 255 + [5] = { + .species = SPECIES_BANETTE, + .heldItem = ITEM_LUM_BERRY, + .moves = { MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_THUNDERBOLT, MOVE_WILL_O_WISP }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 0, + .otId = 0x10000000, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .gap = 0, + .abilityNum = 0, + .personality = 0x96, + .nickname = __("ジュペッタ$$$$$$"), + .friendship = 255 }, } }, -- cgit v1.2.3 From 904bba9e16f99bc7a306b6705948cbfe14e41786 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 4 Sep 2019 15:11:57 -0400 Subject: NULL_BATTLE_TOWER_POKEMON define --- src/ereader_helpers.c | 324 ++------------------------------------------------ 1 file changed, 12 insertions(+), 312 deletions(-) (limited to 'src/ereader_helpers.c') diff --git a/src/ereader_helpers.c b/src/ereader_helpers.c index e24abfb29..f680e32e0 100755 --- a/src/ereader_helpers.c +++ b/src/ereader_helpers.c @@ -54,81 +54,9 @@ static const struct TrainerHillTrainer sTrainerHillTrainerTemplates_JP[] = { .speechLose = { EC_WORD_TO_HER, EC_WORD_WIN, EC_WORD_JOKING, EC_WORD_HIGHS, EC_WORD_SCARY, EC_WORD_ELLIPSIS_EXCL }, .speechAfter = { EC_WORD_IGNORANT, EC_WORD_SO, EC_WORD_TODAY, EC_WORD_NIGHTTIME, EC_WORD_YOU_RE, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS }, .mons = { - [0] = { - .species = SPECIES_NONE, - .heldItem = ITEM_NONE, - .moves = { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, - .level = 0, - .ppBonuses = 0x0, - .hpEV = 0, - .attackEV = 0, - .defenseEV = 0, - .speedEV = 0, - .spAttackEV = 0, - .spDefenseEV = 0, - .otId = 0x0, - .hpIV = 0, - .attackIV = 0, - .defenseIV = 0, - .speedIV = 0, - .spAttackIV = 0, - .spDefenseIV = 0, - .gap = 0, - .abilityNum = 0, - .personality = 0x0, - .nickname = __("$$$$$$$$$$$"), - .friendship = 0 - }, - [1] = { - .species = SPECIES_NONE, - .heldItem = ITEM_NONE, - .moves = { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, - .level = 0, - .ppBonuses = 0x0, - .hpEV = 0, - .attackEV = 0, - .defenseEV = 0, - .speedEV = 0, - .spAttackEV = 0, - .spDefenseEV = 0, - .otId = 0x0, - .hpIV = 0, - .attackIV = 0, - .defenseIV = 0, - .speedIV = 0, - .spAttackIV = 0, - .spDefenseIV = 0, - .gap = 0, - .abilityNum = 0, - .personality = 0x0, - .nickname = __("$$$$$$$$$$$"), - .friendship = 0 - }, - [2] = { - .species = SPECIES_NONE, - .heldItem = ITEM_NONE, - .moves = { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, - .level = 0, - .ppBonuses = 0x0, - .hpEV = 0, - .attackEV = 0, - .defenseEV = 0, - .speedEV = 0, - .spAttackEV = 0, - .spDefenseEV = 0, - .otId = 0x0, - .hpIV = 0, - .attackIV = 0, - .defenseIV = 0, - .speedIV = 0, - .spAttackIV = 0, - .spDefenseIV = 0, - .gap = 0, - .abilityNum = 0, - .personality = 0x0, - .nickname = __("$$$$$$$$$$$"), - .friendship = 0 - }, + [0] = NULL_BATTLE_TOWER_POKEMON, + [1] = NULL_BATTLE_TOWER_POKEMON, + [2] = NULL_BATTLE_TOWER_POKEMON, [3] = { .species = SPECIES_SWALOT, .heldItem = ITEM_SHELL_BELL, @@ -148,7 +76,6 @@ static const struct TrainerHillTrainer sTrainerHillTrainerTemplates_JP[] = { .speedIV = 5, .spAttackIV = 5, .spDefenseIV = 5, - .gap = 0, .abilityNum = 1, .personality = 0x80, .nickname = __("マルノーム$$$$$$"), @@ -173,7 +100,6 @@ static const struct TrainerHillTrainer sTrainerHillTrainerTemplates_JP[] = { .speedIV = 5, .spAttackIV = 5, .spDefenseIV = 5, - .gap = 0, .abilityNum = 0, .personality = 0x6, .nickname = __("ドクケイル$$$$$$"), @@ -198,7 +124,6 @@ static const struct TrainerHillTrainer sTrainerHillTrainerTemplates_JP[] = { .speedIV = 5, .spAttackIV = 5, .spDefenseIV = 5, - .gap = 0, .abilityNum = 0, .personality = 0x2f, .nickname = __("ジーランス$$$$$$"), @@ -215,81 +140,9 @@ static const struct TrainerHillTrainer sTrainerHillTrainerTemplates_JP[] = { .speechLose = { EC_MOVE2(MINIMIZE), EC_WORD_AS_MUCH_AS, 0xFFFF, EC_WORD_THEY_RE, EC_WORD_SAD, EC_WORD_EXCL }, .speechAfter = { EC_MOVE(BITE), EC_WORD_AS_MUCH_AS, 0xFFFF, EC_WORD_THEY_RE, EC_WORD_ANGRY, EC_WORD_EXCL }, .mons = { - [0] = { - .species = SPECIES_NONE, - .heldItem = ITEM_NONE, - .moves = { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, - .level = 0, - .ppBonuses = 0x0, - .hpEV = 0, - .attackEV = 0, - .defenseEV = 0, - .speedEV = 0, - .spAttackEV = 0, - .spDefenseEV = 0, - .otId = 0x0, - .hpIV = 0, - .attackIV = 0, - .defenseIV = 0, - .speedIV = 0, - .spAttackIV = 0, - .spDefenseIV = 0, - .gap = 0, - .abilityNum = 0, - .personality = 0x0, - .nickname = __("$$$$$$$$$$$"), - .friendship = 0 - }, - [1] = { - .species = SPECIES_NONE, - .heldItem = ITEM_NONE, - .moves = { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, - .level = 0, - .ppBonuses = 0x0, - .hpEV = 0, - .attackEV = 0, - .defenseEV = 0, - .speedEV = 0, - .spAttackEV = 0, - .spDefenseEV = 0, - .otId = 0x0, - .hpIV = 0, - .attackIV = 0, - .defenseIV = 0, - .speedIV = 0, - .spAttackIV = 0, - .spDefenseIV = 0, - .gap = 0, - .abilityNum = 0, - .personality = 0x0, - .nickname = __("$$$$$$$$$$$"), - .friendship = 0 - }, - [2] = { - .species = SPECIES_NONE, - .heldItem = ITEM_NONE, - .moves = { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, - .level = 0, - .ppBonuses = 0x0, - .hpEV = 0, - .attackEV = 0, - .defenseEV = 0, - .speedEV = 0, - .spAttackEV = 0, - .spDefenseEV = 0, - .otId = 0x0, - .hpIV = 0, - .attackIV = 0, - .defenseIV = 0, - .speedIV = 0, - .spAttackIV = 0, - .spDefenseIV = 0, - .gap = 0, - .abilityNum = 0, - .personality = 0x0, - .nickname = __("$$$$$$$$$$$"), - .friendship = 0 - }, + [0] = NULL_BATTLE_TOWER_POKEMON, + [1] = NULL_BATTLE_TOWER_POKEMON, + [2] = NULL_BATTLE_TOWER_POKEMON, [3] = { .species = SPECIES_CACTURNE, .heldItem = ITEM_QUICK_CLAW, @@ -309,7 +162,6 @@ static const struct TrainerHillTrainer sTrainerHillTrainerTemplates_JP[] = { .speedIV = 5, .spAttackIV = 5, .spDefenseIV = 5, - .gap = 0, .abilityNum = 0, .personality = 0x8c, .nickname = __("ノクタス$$$$$$$"), @@ -334,7 +186,6 @@ static const struct TrainerHillTrainer sTrainerHillTrainerTemplates_JP[] = { .speedIV = 5, .spAttackIV = 5, .spDefenseIV = 5, - .gap = 0, .abilityNum = 0, .personality = 0x80, .nickname = __("オオスバメ$$$$$$"), @@ -359,7 +210,6 @@ static const struct TrainerHillTrainer sTrainerHillTrainerTemplates_JP[] = { .speedIV = 5, .spAttackIV = 5, .spDefenseIV = 5, - .gap = 0, .abilityNum = 0, .personality = 0x0, .nickname = __("ナマズン$$$$$$$"), @@ -376,81 +226,9 @@ static const struct TrainerHillTrainer sTrainerHillTrainerTemplates_JP[] = { .speechLose = { EC_WORD_THAT, EC_WORD_ABOVE, EC_WORD_LOST, EC_WORD_STORES, EC_WORD_JOKING, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS }, .speechAfter = { EC_WORD_ENTERTAINING, EC_WORD_NONE, EC_WORD_HEY_QUES, EC_WORD_ALMOST, EC_WORD_EXCL, 0xFFFF }, .mons = { - [0] = { - .species = SPECIES_NONE, - .heldItem = ITEM_NONE, - .moves = { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, - .level = 0, - .ppBonuses = 0x0, - .hpEV = 0, - .attackEV = 0, - .defenseEV = 0, - .speedEV = 0, - .spAttackEV = 0, - .spDefenseEV = 0, - .otId = 0x0, - .hpIV = 0, - .attackIV = 0, - .defenseIV = 0, - .speedIV = 0, - .spAttackIV = 0, - .spDefenseIV = 0, - .gap = 0, - .abilityNum = 0, - .personality = 0x0, - .nickname = __("$$$$$$$$$$$"), - .friendship = 0 - }, - [1] = { - .species = SPECIES_NONE, - .heldItem = ITEM_NONE, - .moves = { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, - .level = 0, - .ppBonuses = 0x0, - .hpEV = 0, - .attackEV = 0, - .defenseEV = 0, - .speedEV = 0, - .spAttackEV = 0, - .spDefenseEV = 0, - .otId = 0x0, - .hpIV = 0, - .attackIV = 0, - .defenseIV = 0, - .speedIV = 0, - .spAttackIV = 0, - .spDefenseIV = 0, - .gap = 0, - .abilityNum = 0, - .personality = 0x0, - .nickname = __("$$$$$$$$$$$"), - .friendship = 0 - }, - [2] = { - .species = SPECIES_NONE, - .heldItem = ITEM_NONE, - .moves = { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, - .level = 0, - .ppBonuses = 0x0, - .hpEV = 0, - .attackEV = 0, - .defenseEV = 0, - .speedEV = 0, - .spAttackEV = 0, - .spDefenseEV = 0, - .otId = 0x0, - .hpIV = 0, - .attackIV = 0, - .defenseIV = 0, - .speedIV = 0, - .spAttackIV = 0, - .spDefenseIV = 0, - .gap = 0, - .abilityNum = 0, - .personality = 0x0, - .nickname = __("$$$$$$$$$$$"), - .friendship = 0 - }, + [0] = NULL_BATTLE_TOWER_POKEMON, + [1] = NULL_BATTLE_TOWER_POKEMON, + [2] = NULL_BATTLE_TOWER_POKEMON, [3] = { .species = SPECIES_DELCATTY, .heldItem = ITEM_LUM_BERRY, @@ -470,7 +248,6 @@ static const struct TrainerHillTrainer sTrainerHillTrainerTemplates_JP[] = { .speedIV = 5, .spAttackIV = 5, .spDefenseIV = 5, - .gap = 0, .abilityNum = 0, .personality = 0x3, .nickname = __("エネコロロ$$$$$$"), @@ -495,7 +272,6 @@ static const struct TrainerHillTrainer sTrainerHillTrainerTemplates_JP[] = { .speedIV = 5, .spAttackIV = 5, .spDefenseIV = 5, - .gap = 0, .abilityNum = 1, .personality = 0x6, .nickname = __("ロゼリア$$$$$$$"), @@ -520,7 +296,6 @@ static const struct TrainerHillTrainer sTrainerHillTrainerTemplates_JP[] = { .speedIV = 5, .spAttackIV = 5, .spDefenseIV = 5, - .gap = 0, .abilityNum = 0, .personality = 0x6, .nickname = __("アゲハント$$$$$$"), @@ -537,81 +312,9 @@ static const struct TrainerHillTrainer sTrainerHillTrainerTemplates_JP[] = { .speechLose = { EC_WORD_OUTSIDE, EC_WORD_UNCLE, EC_WORD_SURPRISE, EC_WORD_THESE, EC_WORD_HEY_QUES, EC_WORD_ELLIPSIS_EXCL }, .speechAfter = { EC_WORD_HE_S, EC_WORD_NO_1, EC_WORD_STRONG, EC_WORD_CHILDREN, EC_WORD_CAN_T, EC_WORD_EXCL_EXCL }, .mons = { - [0] = { - .species = SPECIES_NONE, - .heldItem = ITEM_NONE, - .moves = { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, - .level = 0, - .ppBonuses = 0x0, - .hpEV = 0, - .attackEV = 0, - .defenseEV = 0, - .speedEV = 0, - .spAttackEV = 0, - .spDefenseEV = 0, - .otId = 0x0, - .hpIV = 0, - .attackIV = 0, - .defenseIV = 0, - .speedIV = 0, - .spAttackIV = 0, - .spDefenseIV = 0, - .gap = 0, - .abilityNum = 0, - .personality = 0x0, - .nickname = __("$$$$$$$$$$$"), - .friendship = 0 - }, - [1] = { - .species = SPECIES_NONE, - .heldItem = ITEM_NONE, - .moves = { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, - .level = 0, - .ppBonuses = 0x0, - .hpEV = 0, - .attackEV = 0, - .defenseEV = 0, - .speedEV = 0, - .spAttackEV = 0, - .spDefenseEV = 0, - .otId = 0x0, - .hpIV = 0, - .attackIV = 0, - .defenseIV = 0, - .speedIV = 0, - .spAttackIV = 0, - .spDefenseIV = 0, - .gap = 0, - .abilityNum = 0, - .personality = 0x0, - .nickname = __("$$$$$$$$$$$"), - .friendship = 0 - }, - [2] = { - .species = SPECIES_NONE, - .heldItem = ITEM_NONE, - .moves = { MOVE_NONE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, - .level = 0, - .ppBonuses = 0x0, - .hpEV = 0, - .attackEV = 0, - .defenseEV = 0, - .speedEV = 0, - .spAttackEV = 0, - .spDefenseEV = 0, - .otId = 0x0, - .hpIV = 0, - .attackIV = 0, - .defenseIV = 0, - .speedIV = 0, - .spAttackIV = 0, - .spDefenseIV = 0, - .gap = 0, - .abilityNum = 0, - .personality = 0x0, - .nickname = __("$$$$$$$$$$$"), - .friendship = 0 - }, + [0] = NULL_BATTLE_TOWER_POKEMON, + [1] = NULL_BATTLE_TOWER_POKEMON, + [2] = NULL_BATTLE_TOWER_POKEMON, [3] = { .species = SPECIES_MAWILE, .heldItem = ITEM_BRIGHT_POWDER, @@ -631,7 +334,6 @@ static const struct TrainerHillTrainer sTrainerHillTrainerTemplates_JP[] = { .speedIV = 5, .spAttackIV = 5, .spDefenseIV = 5, - .gap = 0, .abilityNum = 1, .personality = 0x0, .nickname = __("クチート$$$$$$$"), @@ -656,7 +358,6 @@ static const struct TrainerHillTrainer sTrainerHillTrainerTemplates_JP[] = { .speedIV = 5, .spAttackIV = 5, .spDefenseIV = 5, - .gap = 0, .abilityNum = 0, .personality = 0x96, .nickname = __("サメハダー$$$$$$"), @@ -681,7 +382,6 @@ static const struct TrainerHillTrainer sTrainerHillTrainerTemplates_JP[] = { .speedIV = 5, .spAttackIV = 5, .spDefenseIV = 5, - .gap = 0, .abilityNum = 0, .personality = 0x96, .nickname = __("ジュペッタ$$$$$$"), -- cgit v1.2.3 From e87f4f4cc7fb872507db4fb1c48afb7d8e3f2d79 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 4 Sep 2019 15:42:53 -0400 Subject: Unify TrHillTag struct definitions (variable floors) --- src/ereader_helpers.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/ereader_helpers.c') diff --git a/src/ereader_helpers.c b/src/ereader_helpers.c index f680e32e0..f184dea82 100755 --- a/src/ereader_helpers.c +++ b/src/ereader_helpers.c @@ -450,14 +450,14 @@ static bool32 TryWriteTrainerHill_r(struct EReaderTrainerHillSet *ttdata, struct memset(buffer2, 0, 0x1000); buffer2->unkField_0 = ttdata->count; buffer2->unused1 = sub_81D38D4(); - buffer2->unkField_2 = (ttdata->count + 1) / 2; + buffer2->numFloors = (ttdata->count + 1) / 2; for (i = 0; i < ttdata->count; i++) { if (!(i & 1)) { buffer2->floors[i / 2].unk0 = ttdata->unk_8[i].unk0; - memcpy(buffer2->floors[i / 2].data, ttdata->unk_8[i].unk14C, 0x124); + buffer2->floors[i / 2].display = ttdata->unk_8[i].unk14C; buffer2->floors[i / 2].trainers[0] = ttdata->unk_8[i].unk4; } else @@ -472,7 +472,7 @@ static bool32 TryWriteTrainerHill_r(struct EReaderTrainerHillSet *ttdata, struct buffer2->floors[i / 2].trainers[1] = sTrainerHillTrainerTemplates_JP[i / 2]; } - buffer2->checksum = CalcByteArraySum((u8 *)buffer2->floors, sizeof(buffer2->floors)); + buffer2->checksum = CalcByteArraySum((u8 *)buffer2->floors, 4 * sizeof(struct TrHillFloor)); if (TryWriteSpecialSaveSection(SECTOR_ID_TRAINER_HILL, (u8 *)buffer2) != 1) return FALSE; -- cgit v1.2.3