From f8a24cdd6f26ee6b549fd44ec08316edf7c1bd34 Mon Sep 17 00:00:00 2001 From: froggestspirit Date: Mon, 6 Sep 2021 10:42:05 -0400 Subject: [PATCH 1/5] Identify unknown healthbox GFX --- .../healthbox_doubles_frameend.png | Bin 0 -> 5681 bytes .../healthbox_doubles_frameend_bar.png | Bin 0 -> 5762 bytes graphics/unknown/unknown_D12FEC.png | Bin 84 -> 0 bytes graphics/unknown/unknown_D1300C.png | Bin 92 -> 0 bytes src/battle_interface.c | 4 ++-- src/graphics.c | 4 ++-- 6 files changed, 4 insertions(+), 4 deletions(-) create mode 100644 graphics/battle_interface/healthbox_doubles_frameend.png create mode 100644 graphics/battle_interface/healthbox_doubles_frameend_bar.png delete mode 100644 graphics/unknown/unknown_D12FEC.png delete mode 100644 graphics/unknown/unknown_D1300C.png diff --git a/graphics/battle_interface/healthbox_doubles_frameend.png b/graphics/battle_interface/healthbox_doubles_frameend.png new file mode 100644 index 0000000000000000000000000000000000000000..812a6c2c454741232c8aabd4babbf964d245a2e7 GIT binary patch literal 5681 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 diff --git a/graphics/unknown/unknown_D1300C.png b/graphics/unknown/unknown_D1300C.png deleted file mode 100644 index 0c077dd0b67ae1412ef5b10b165038dfcd681944..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 92 zcmeAS@N?(olHy`uVBq!ia0vp^93adBBp6ht@Pq*=WltB!5RRG2JF1iZ)wgX{Sj6TM o(=Kdk?I85@^?&0#@BaLkXZU0(@iR?>y&j~^)78&qol`;+0M$$yi~s-t diff --git a/src/battle_interface.c b/src/battle_interface.c index 83bdf0cb71..51dd82c37f 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -153,8 +153,8 @@ enum HEALTHBOX_GFX_STATUS_BRN_BATTLER3, //status4 "BRN" HEALTHBOX_GFX_114, HEALTHBOX_GFX_115, - HEALTHBOX_GFX_116, //unknown_D12FEC - HEALTHBOX_GFX_117, //unknown_D1300C + HEALTHBOX_GFX_116, //gBattleInterfaceGfx_frameend + HEALTHBOX_GFX_117, //gBattleInterfaceGfx_frameend_bar }; // strings diff --git a/src/graphics.c b/src/graphics.c index 37d9533135..5dfdbad687 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -374,8 +374,8 @@ const u8 gUnknown_08C1249C[] = INCBIN_U8("graphics/battle_interface/ball_display const u8 gBattleInterfaceGfx_Status2[] = INCBIN_U8("graphics/battle_interface/status2.4bpp"); // these three duplicate sets of graphics are for the opponent pokemon const u8 gBattleInterfaceGfx_Status3[] = INCBIN_U8("graphics/battle_interface/status3.4bpp"); // and are also for use in double battles. they use dynamic palettes so const u8 gBattleInterfaceGfx_Status4[] = INCBIN_U8("graphics/battle_interface/status4.4bpp"); // coloring them is an extreme headache and wont be done for now -const u8 gUnknown_D12FEC[] = INCBIN_U8("graphics/unknown/unknown_D12FEC.4bpp"); -const u8 gUnknown_D1300C[] = INCBIN_U8("graphics/unknown/unknown_D1300C.4bpp"); +const u8 gBattleInterfaceGfx_frameend[] = INCBIN_U8("graphics/battle_interface/healthbox_doubles_frameend.4bpp"); +const u8 gBattleInterfaceGfx_frameend_bar[] = INCBIN_U8("graphics/battle_interface/healthbox_doubles_frameend_bar.4bpp"); const u32 gBattleInterfaceGfx_UnusedWindow3[] = INCBIN_U32("graphics/battle_interface/unused_window3.4bpp.lz"); const u32 gBattleInterfaceGfx_UnusedWindow4[] = INCBIN_U32("graphics/battle_interface/unused_window4.4bpp.lz"); From 5f755757f9e04e972ebc6d129fd5495d00d6fc2e Mon Sep 17 00:00:00 2001 From: froggestspirit Date: Mon, 6 Sep 2021 11:40:40 -0400 Subject: [PATCH 2/5] Const rename --- src/battle_interface.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/battle_interface.c b/src/battle_interface.c index 51dd82c37f..78364e264a 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -153,8 +153,8 @@ enum HEALTHBOX_GFX_STATUS_BRN_BATTLER3, //status4 "BRN" HEALTHBOX_GFX_114, HEALTHBOX_GFX_115, - HEALTHBOX_GFX_116, //gBattleInterfaceGfx_frameend - HEALTHBOX_GFX_117, //gBattleInterfaceGfx_frameend_bar + HEALTHBOX_GFX_FRAME_END, + HEALTHBOX_GFX_FRAME_END_BAR, }; // strings @@ -1225,7 +1225,7 @@ static void UpdateHpTextInHealthboxInDoubles(u8 healthboxSpriteId, s16 value, u8 windowTileData = AddTextPrinterAndCreateWindowOnHealthbox(text, 0, 5, 0, &windowId); HpTextIntoHealthboxObject((void*)(OBJ_VRAM0) + spriteTileNum + 0xC0, windowTileData, 2); RemoveWindowOnHealthbox(windowId); - CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_116), + CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_FRAME_END), (void*)(OBJ_VRAM0 + 0x680) + (gSprites[healthboxSpriteId].oam.tileNum * TILE_SIZE_4BPP), 0x20); } @@ -1291,7 +1291,7 @@ static void UpdateHpTextInHealthboxInDoubles(u8 healthboxSpriteId, s16 value, u8 { if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) // Impossible to reach part, because the battlerId is from the opponent's side. { - CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_116), + CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_FRAME_END), (void*)(OBJ_VRAM0) + ((gSprites[healthboxSpriteId].oam.tileNum + 52) * TILE_SIZE_4BPP), 0x20); } @@ -1399,7 +1399,7 @@ void SwapHpBarsWithHpText(void) { UpdateStatusIconInHealthbox(gHealthboxSpriteIds[i]); UpdateHealthboxAttribute(gHealthboxSpriteIds[i], &gPlayerParty[gBattlerPartyIndexes[i]], HEALTHBOX_HEALTH_BAR); - CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_117), (void*)(OBJ_VRAM0 + 0x680 + gSprites[gHealthboxSpriteIds[i]].oam.tileNum * TILE_SIZE_4BPP), 32); + CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_FRAME_END_BAR), (void*)(OBJ_VRAM0 + 0x680 + gSprites[gHealthboxSpriteIds[i]].oam.tileNum * TILE_SIZE_4BPP), 32); } } else From 71da126dbbfb553bf15eb6323289b2bb06a8f1df Mon Sep 17 00:00:00 2001 From: froggestspirit Date: Mon, 6 Sep 2021 16:41:59 -0400 Subject: [PATCH 3/5] case --- src/graphics.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/graphics.c b/src/graphics.c index 5dfdbad687..f0a118bc73 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -374,8 +374,8 @@ const u8 gUnknown_08C1249C[] = INCBIN_U8("graphics/battle_interface/ball_display const u8 gBattleInterfaceGfx_Status2[] = INCBIN_U8("graphics/battle_interface/status2.4bpp"); // these three duplicate sets of graphics are for the opponent pokemon const u8 gBattleInterfaceGfx_Status3[] = INCBIN_U8("graphics/battle_interface/status3.4bpp"); // and are also for use in double battles. they use dynamic palettes so const u8 gBattleInterfaceGfx_Status4[] = INCBIN_U8("graphics/battle_interface/status4.4bpp"); // coloring them is an extreme headache and wont be done for now -const u8 gBattleInterfaceGfx_frameend[] = INCBIN_U8("graphics/battle_interface/healthbox_doubles_frameend.4bpp"); -const u8 gBattleInterfaceGfx_frameend_bar[] = INCBIN_U8("graphics/battle_interface/healthbox_doubles_frameend_bar.4bpp"); +const u8 gBattleInterfaceGfx_FrameEnd[] = INCBIN_U8("graphics/battle_interface/healthbox_doubles_frameend.4bpp"); +const u8 gBattleInterfaceGfx_FrameEnd_Bar[] = INCBIN_U8("graphics/battle_interface/healthbox_doubles_frameend_bar.4bpp"); const u32 gBattleInterfaceGfx_UnusedWindow3[] = INCBIN_U32("graphics/battle_interface/unused_window3.4bpp.lz"); const u32 gBattleInterfaceGfx_UnusedWindow4[] = INCBIN_U32("graphics/battle_interface/unused_window4.4bpp.lz"); From b183a793a19ac6e50ea682de23a2637319c87336 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Mon, 6 Sep 2021 17:39:21 -0400 Subject: [PATCH 4/5] Move more gfx symbols into gHealthboxElementsGfxTable --- src/battle_interface.c | 14 +++++++------- src/graphics.c | 20 ++++++++------------ 2 files changed, 15 insertions(+), 19 deletions(-) diff --git a/src/battle_interface.c b/src/battle_interface.c index 78364e264a..bcb97947cf 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -103,11 +103,11 @@ enum HEALTHBOX_GFX_63, //hp bar red [7 pixels] HEALTHBOX_GFX_64, //hp bar red [8 pixels] HEALTHBOX_GFX_65, //hp bar frame end - HEALTHBOX_GFX_66, //status ball [full] - HEALTHBOX_GFX_67, //status ball [empty] - HEALTHBOX_GFX_68, //status ball [fainted] - HEALTHBOX_GFX_69, //status ball [statused] - HEALTHBOX_GFX_70, //status ball [unused extra] + HEALTHBOX_GFX_STATUS_BALL, // Full + HEALTHBOX_GFX_STATUS_BALL_EMPTY, + HEALTHBOX_GFX_STATUS_BALL_FAINTED, + HEALTHBOX_GFX_STATUS_BALL_STATUSED, + HEALTHBOX_GFX_STATUS_BALL_CAUGHT, HEALTHBOX_GFX_STATUS_PSN_BATTLER1, //status2 "PSN" HEALTHBOX_GFX_72, HEALTHBOX_GFX_73, @@ -636,7 +636,7 @@ static const struct SpritePalette sStatusSummaryBallsSpritePal = static const struct SpriteSheet sStatusSummaryBallsSpriteSheet = { - gBattleInterface_BallDisplayGfx, 0x80, TAG_STATUS_SUMMARY_BALLS_TILE + &gHealthboxElementsGfxTable[HEALTHBOX_GFX_STATUS_BALL], 0x80, TAG_STATUS_SUMMARY_BALLS_TILE }; // unused oam data @@ -1962,7 +1962,7 @@ static void TryAddPokeballIconToHealthbox(u8 healthboxSpriteId, bool8 noStatus) healthBarSpriteId = gSprites[healthboxSpriteId].hMain_HealthBarSpriteId; if (noStatus) - CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_70), (void*)(OBJ_VRAM0 + (gSprites[healthBarSpriteId].oam.tileNum + 8) * TILE_SIZE_4BPP), 32); + CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_STATUS_BALL_CAUGHT), (void*)(OBJ_VRAM0 + (gSprites[healthBarSpriteId].oam.tileNum + 8) * TILE_SIZE_4BPP), 32); else CpuFill32(0, (void*)(OBJ_VRAM0 + (gSprites[healthBarSpriteId].oam.tileNum + 8) * TILE_SIZE_4BPP), 32); } diff --git a/src/graphics.c b/src/graphics.c index f0a118bc73..4e820caec7 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -355,7 +355,6 @@ const u16 gBattleInterface_BallStatusBarPal[] = INCBIN_U16("graphics/battle_inte const u16 gBattleInterface_BallDisplayPal[] = INCBIN_U16("graphics/battle_interface/ball_display.gbapal"); -//Originally an array? const u8 gHealthboxElementsGfxTable[] = INCBIN_U8("graphics/battle_interface/hpbar.4bpp", "graphics/battle_interface/expbar.4bpp", "graphics/battle_interface/status_psn.4bpp", @@ -365,17 +364,14 @@ const u8 gHealthboxElementsGfxTable[] = INCBIN_U8("graphics/battle_interface/hpb "graphics/battle_interface/status_brn.4bpp", "graphics/battle_interface/misc.4bpp", "graphics/battle_interface/hpbar_anim.4bpp", - "graphics/battle_interface/misc_frameend.4bpp"); - -const u8 gBattleInterface_BallDisplayGfx[] = INCBIN_U8("graphics/battle_interface/ball_display.4bpp"); - -//Originally an array? -const u8 gUnknown_08C1249C[] = INCBIN_U8("graphics/battle_interface/ball_display_unused_extra.4bpp"); -const u8 gBattleInterfaceGfx_Status2[] = INCBIN_U8("graphics/battle_interface/status2.4bpp"); // these three duplicate sets of graphics are for the opponent pokemon -const u8 gBattleInterfaceGfx_Status3[] = INCBIN_U8("graphics/battle_interface/status3.4bpp"); // and are also for use in double battles. they use dynamic palettes so -const u8 gBattleInterfaceGfx_Status4[] = INCBIN_U8("graphics/battle_interface/status4.4bpp"); // coloring them is an extreme headache and wont be done for now -const u8 gBattleInterfaceGfx_FrameEnd[] = INCBIN_U8("graphics/battle_interface/healthbox_doubles_frameend.4bpp"); -const u8 gBattleInterfaceGfx_FrameEnd_Bar[] = INCBIN_U8("graphics/battle_interface/healthbox_doubles_frameend_bar.4bpp"); + "graphics/battle_interface/misc_frameend.4bpp", + "graphics/battle_interface/ball_display.4bpp", + "graphics/battle_interface/ball_display_unused_extra.4bpp", + "graphics/battle_interface/status2.4bpp", // these three duplicate sets of graphics are for the opponent pokemon + "graphics/battle_interface/status3.4bpp", // and are also for use in double battles. they use dynamic palettes so + "graphics/battle_interface/status4.4bpp", // coloring them is an extreme headache and wont be done for now + "graphics/battle_interface/healthbox_doubles_frameend.4bpp", + "graphics/battle_interface/healthbox_doubles_frameend_bar.4bpp"); const u32 gBattleInterfaceGfx_UnusedWindow3[] = INCBIN_U32("graphics/battle_interface/unused_window3.4bpp.lz"); const u32 gBattleInterfaceGfx_UnusedWindow4[] = INCBIN_U32("graphics/battle_interface/unused_window4.4bpp.lz"); From cbf8863e5bdae68d851e940660ac9d4c948498df Mon Sep 17 00:00:00 2001 From: GriffinR Date: Thu, 9 Sep 2021 15:24:34 -0400 Subject: [PATCH 5/5] Clean up Lilycove Lady --- include/constants/global.h | 1 + include/constants/lilycove_lady.h | 2 - include/global.h | 2 +- src/data/lilycove_lady.h | 32 ++-- src/lilycove_lady.c | 238 ++++++++++++------------------ 5 files changed, 116 insertions(+), 159 deletions(-) diff --git a/include/constants/global.h b/include/constants/global.h index 9b0c46ce40..1cece79753 100644 --- a/include/constants/global.h +++ b/include/constants/global.h @@ -86,6 +86,7 @@ #define EASY_CHAT_BATTLE_WORDS_COUNT 6 #define MOVE_NAME_LENGTH 12 #define NUM_QUESTIONNAIRE_WORDS 4 +#define QUIZ_QUESTION_LEN 9 #define MALE 0 #define FEMALE 1 diff --git a/include/constants/lilycove_lady.h b/include/constants/lilycove_lady.h index 11b9b31e93..e6327904d3 100644 --- a/include/constants/lilycove_lady.h +++ b/include/constants/lilycove_lady.h @@ -20,8 +20,6 @@ #define QUIZ_AUTHOR_NAME_LADY 0 #define QUIZ_AUTHOR_NAME_PLAYER 1 #define QUIZ_AUTHOR_NAME_OTHER_PLAYER 2 - -#define QUIZ_QUESTION_LEN 9 // Constants for how many good Pokéblocks the Contest Lady was given // This determines how her performance is described when her TV show comes on diff --git a/include/global.h b/include/global.h index e4c11f9ef2..db4a17f1be 100644 --- a/include/global.h +++ b/include/global.h @@ -761,7 +761,7 @@ struct LilycoveLadyQuiz { /*0x000*/ u8 id; /*0x001*/ u8 state; - /*0x002*/ u16 question[9]; + /*0x002*/ u16 question[QUIZ_QUESTION_LEN]; /*0x014*/ u16 correctAnswer; /*0x016*/ u16 playerAnswer; /*0x018*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; diff --git a/src/data/lilycove_lady.h b/src/data/lilycove_lady.h index 818a5fd5f3..74c049059f 100644 --- a/src/data/lilycove_lady.h +++ b/src/data/lilycove_lady.h @@ -20,7 +20,7 @@ static const u16 sLilycoveLadyGfxId[] = }; // Quiz Lady data -static const u16 sQuizLadyQuestion1[] = +static const u16 sQuizLadyQuestion1[QUIZ_QUESTION_LEN] = { EC_WORD_WHICH, EC_WORD_STORES, @@ -33,7 +33,7 @@ static const u16 sQuizLadyQuestion1[] = EC_WORD_POKENAV }; -static const u16 sQuizLadyQuestion2[] = +static const u16 sQuizLadyQuestion2[QUIZ_QUESTION_LEN] = { EC_WORD_WHICH, EC_WORD_ISN_T, @@ -46,7 +46,7 @@ static const u16 sQuizLadyQuestion2[] = EC_WORD_DARK }; -static const u16 sQuizLadyQuestion3[] = +static const u16 sQuizLadyQuestion3[QUIZ_QUESTION_LEN] = { EC_WORD_HOW, EC_WORD_DO, @@ -59,7 +59,7 @@ static const u16 sQuizLadyQuestion3[] = EC_WORD_CUTE_CHARM }; -static const u16 sQuizLadyQuestion4[] = +static const u16 sQuizLadyQuestion4[QUIZ_QUESTION_LEN] = { EC_WORD_WHICH, EC_WORD_IS, @@ -72,7 +72,7 @@ static const u16 sQuizLadyQuestion4[] = EC_WORD_MACHINE }; -static const u16 sQuizLadyQuestion5[] = +static const u16 sQuizLadyQuestion5[QUIZ_QUESTION_LEN] = { EC_WORD_WHICH, EC_WORD_ITEM, @@ -85,7 +85,7 @@ static const u16 sQuizLadyQuestion5[] = EC_WORD_PHONE }; -static const u16 sQuizLadyQuestion6[] = +static const u16 sQuizLadyQuestion6[QUIZ_QUESTION_LEN] = { EC_WORD_WHICH, EC_WORD_WILL, @@ -98,7 +98,7 @@ static const u16 sQuizLadyQuestion6[] = EC_WORD_SWIFT_SWIM }; -static const u16 sQuizLadyQuestion7[] = +static const u16 sQuizLadyQuestion7[QUIZ_QUESTION_LEN] = { EC_WORD_WHICH, EC_WORD_OF, @@ -111,7 +111,7 @@ static const u16 sQuizLadyQuestion7[] = EC_WORD_ROCK }; -static const u16 sQuizLadyQuestion8[] = +static const u16 sQuizLadyQuestion8[QUIZ_QUESTION_LEN] = { EC_WORD_WHICH, EC_WORD_WILL, @@ -124,7 +124,7 @@ static const u16 sQuizLadyQuestion8[] = EC_WORD_WONDER_GUARD }; -static const u16 sQuizLadyQuestion9[] = +static const u16 sQuizLadyQuestion9[QUIZ_QUESTION_LEN] = { EC_WORD_WHICH, EC_WORD_WILL, @@ -137,7 +137,7 @@ static const u16 sQuizLadyQuestion9[] = EC_WORD_SHED_SKIN }; -static const u16 sQuizLadyQuestion10[] = +static const u16 sQuizLadyQuestion10[QUIZ_QUESTION_LEN] = { EC_WORD_WHICH, EC_WORD_GOES, @@ -150,7 +150,7 @@ static const u16 sQuizLadyQuestion10[] = EC_WORD_POKENAV }; -static const u16 sQuizLadyQuestion11[] = +static const u16 sQuizLadyQuestion11[QUIZ_QUESTION_LEN] = { EC_WORD_WHICH, EC_WORD_STORES, @@ -163,7 +163,7 @@ static const u16 sQuizLadyQuestion11[] = EC_WORD_TELEVISION }; -static const u16 sQuizLadyQuestion12[] = +static const u16 sQuizLadyQuestion12[QUIZ_QUESTION_LEN] = { EC_WORD_WHICH, EC_WORD_MACHINE, @@ -176,7 +176,7 @@ static const u16 sQuizLadyQuestion12[] = EC_WORD_TELEVISION }; -static const u16 sQuizLadyQuestion13[] = +static const u16 sQuizLadyQuestion13[QUIZ_QUESTION_LEN] = { EC_WORD_A, EC_WORD_POKEMON, @@ -189,7 +189,7 @@ static const u16 sQuizLadyQuestion13[] = EC_WORD_LETTER }; -static const u16 sQuizLadyQuestion14[] = +static const u16 sQuizLadyQuestion14[QUIZ_QUESTION_LEN] = { EC_WORD_STEEL, EC_WORD_IS, @@ -202,7 +202,7 @@ static const u16 sQuizLadyQuestion14[] = EC_EMPTY_WORD }; -static const u16 sQuizLadyQuestion15[] = +static const u16 sQuizLadyQuestion15[QUIZ_QUESTION_LEN] = { EC_WORD_DARK, EC_WORD_IS, @@ -215,7 +215,7 @@ static const u16 sQuizLadyQuestion15[] = EC_EMPTY_WORD }; -static const u16 sQuizLadyQuestion16[] = +static const u16 sQuizLadyQuestion16[QUIZ_QUESTION_LEN] = { EC_WORD_GHOST, EC_WORD_IS, diff --git a/src/lilycove_lady.c b/src/lilycove_lady.c index 6fa8ba4eb4..d65502eb43 100644 --- a/src/lilycove_lady.c +++ b/src/lilycove_lady.c @@ -65,15 +65,15 @@ void InitLilycoveLady(void) id >>= 1; switch (id) { - case LILYCOVE_LADY_QUIZ: - InitLilycoveQuizLady(); - break; - case LILYCOVE_LADY_FAVOR: - InitLilycoveFavorLady(); - break; - case LILYCOVE_LADY_CONTEST: - InitLilycoveContestLady(); - break; + case LILYCOVE_LADY_QUIZ: + InitLilycoveQuizLady(); + break; + case LILYCOVE_LADY_FAVOR: + InitLilycoveFavorLady(); + break; + case LILYCOVE_LADY_CONTEST: + InitLilycoveContestLady(); + break; } } @@ -81,15 +81,15 @@ void ResetLilycoveLadyForRecordMix(void) { switch (GetLilycoveLadyId()) { - case LILYCOVE_LADY_QUIZ: - ResetQuizLadyForRecordMix(); - break; - case LILYCOVE_LADY_FAVOR: - ResetFavorLadyForRecordMix(); - break; - case LILYCOVE_LADY_CONTEST: - ResetContestLadyForRecordMix(); - break; + case LILYCOVE_LADY_QUIZ: + ResetQuizLadyForRecordMix(); + break; + case LILYCOVE_LADY_FAVOR: + ResetFavorLadyForRecordMix(); + break; + case LILYCOVE_LADY_CONTEST: + ResetContestLadyForRecordMix(); + break; } } @@ -100,15 +100,15 @@ void InitLilycoveLadyRandomly(void) switch (lady) { - case LILYCOVE_LADY_QUIZ: - InitLilycoveQuizLady(); - break; - case LILYCOVE_LADY_FAVOR: - InitLilycoveFavorLady(); - break; - case LILYCOVE_LADY_CONTEST: - InitLilycoveContestLady(); - break; + case LILYCOVE_LADY_QUIZ: + InitLilycoveQuizLady(); + break; + case LILYCOVE_LADY_FAVOR: + InitLilycoveFavorLady(); + break; + case LILYCOVE_LADY_CONTEST: + InitLilycoveContestLady(); + break; } } @@ -119,10 +119,10 @@ void Script_GetLilycoveLadyId(void) static u8 GetNumAcceptedItems(const u16 *itemsArray) { - u8 items; + u8 numItems; - for (items = 0; *itemsArray != ITEM_NONE; items ++, itemsArray ++); - return items; + for (numItems = 0; *itemsArray != ITEM_NONE; numItems++, itemsArray++); + return numItems; } static void FavorLadyPickFavorAndBestItem(void) @@ -160,17 +160,11 @@ u8 GetFavorLadyState(void) { sFavorLadyPtr = &gSaveBlock1Ptr->lilycoveLady.favor; if (sFavorLadyPtr->state == LILYCOVE_LADY_STATE_PRIZE) - { return LILYCOVE_LADY_STATE_PRIZE; - } else if (sFavorLadyPtr->state == LILYCOVE_LADY_STATE_COMPLETED) - { return LILYCOVE_LADY_STATE_COMPLETED; - } else - { return LILYCOVE_LADY_STATE_READY; - } } static const u8 *GetFavorLadyRequest(u8 idx) @@ -209,7 +203,7 @@ void BufferFavorLadyItemName(void) static void SetFavorLadyPlayerName(const u8 *src, u8 *dest) { - memset(dest, 0xFF, 8); + memset(dest, EOS, PLAYER_NAME_LENGTH + 1); StringCopy7(dest, src); } @@ -254,9 +248,7 @@ static bool8 DoesFavorLadyLikeItem(u16 itemId) sFavorLadyPtr->numItemsGiven++; sFavorLadyPtr->likedItem = TRUE; if (sFavorLadyPtr->bestItem == itemId) - { sFavorLadyPtr->numItemsGiven = LILYCOVE_LADY_GIFT_THRESHOLD; - } break; } sFavorLadyPtr->likedItem = FALSE; @@ -312,9 +304,7 @@ static void QuizLadyPickQuestion(void) questionId = Random() % ARRAY_COUNT(sQuizLadyQuizQuestions); for (i = 0; i < QUIZ_QUESTION_LEN; i ++) - { sQuizLadyPtr->question[i] = sQuizLadyQuizQuestions[questionId][i]; - } sQuizLadyPtr->correctAnswer = sQuizLadyQuizAnswers[questionId]; sQuizLadyPtr->prize = sQuizLadyPrizes[questionId]; sQuizLadyPtr->questionId = questionId; @@ -328,16 +318,16 @@ static void InitLilycoveQuizLady(void) sQuizLadyPtr = &gSaveBlock1Ptr->lilycoveLady.quiz; sQuizLadyPtr->id = LILYCOVE_LADY_QUIZ; sQuizLadyPtr->state = LILYCOVE_LADY_STATE_READY; + for (i = 0; i < QUIZ_QUESTION_LEN; i ++) - { - sQuizLadyPtr->question[i] = -1; - } - sQuizLadyPtr->correctAnswer = -1; - sQuizLadyPtr->playerAnswer = -1; + sQuizLadyPtr->question[i] = EC_EMPTY_WORD; + + sQuizLadyPtr->correctAnswer = EC_EMPTY_WORD; + sQuizLadyPtr->playerAnswer = EC_EMPTY_WORD; + for (i = 0; i < TRAINER_ID_LENGTH; i ++) - { sQuizLadyPtr->playerTrainerId[i] = 0; - } + sQuizLadyPtr->prize = ITEM_NONE; sQuizLadyPtr->waitingForChallenger = FALSE; sQuizLadyPtr->prevQuestionId = ARRAY_COUNT(sQuizLadyQuizQuestions); @@ -351,48 +341,37 @@ static void ResetQuizLadyForRecordMix(void) sQuizLadyPtr->id = LILYCOVE_LADY_QUIZ; sQuizLadyPtr->state = LILYCOVE_LADY_STATE_READY; sQuizLadyPtr->waitingForChallenger = FALSE; - sQuizLadyPtr->playerAnswer = -1; + sQuizLadyPtr->playerAnswer = EC_EMPTY_WORD; } u8 GetQuizLadyState(void) { sQuizLadyPtr = &gSaveBlock1Ptr->lilycoveLady.quiz; if (sQuizLadyPtr->state == LILYCOVE_LADY_STATE_PRIZE) - { return LILYCOVE_LADY_STATE_PRIZE; - } else if (sQuizLadyPtr->state == LILYCOVE_LADY_STATE_COMPLETED) - { return LILYCOVE_LADY_STATE_COMPLETED; - } else - { return LILYCOVE_LADY_STATE_READY; - } } u8 GetQuizAuthor(void) { - int i; - int j; + s32 i, j; u8 authorNameId; - struct LilycoveLadyQuiz *quiz; + struct LilycoveLadyQuiz *quiz = &gSaveBlock1Ptr->lilycoveLady.quiz; - quiz = &gSaveBlock1Ptr->lilycoveLady.quiz; if (IsEasyChatAnswerUnlocked(quiz->correctAnswer) == FALSE) { i = quiz->questionId; do { - if (++ i >= (int)(ARRAY_COUNT(sQuizLadyQuizQuestions))) - { + if (++i >= (int)ARRAY_COUNT(sQuizLadyQuizQuestions)) i = 0; - } } while (IsEasyChatAnswerUnlocked(sQuizLadyQuizAnswers[i]) == FALSE); - for (j = 0; j < QUIZ_QUESTION_LEN; j ++) - { + + for (j = 0; j < QUIZ_QUESTION_LEN; j++) quiz->question[j] = sQuizLadyQuizQuestions[i][j]; - } quiz->correctAnswer = sQuizLadyQuizAnswers[i]; quiz->prize = sQuizLadyPrizes[i]; quiz->questionId = i; @@ -400,17 +379,11 @@ u8 GetQuizAuthor(void) } authorNameId = BufferQuizAuthorName(); if (authorNameId == QUIZ_AUTHOR_NAME_LADY) - { return QUIZ_AUTHOR_LADY; - } else if (authorNameId == QUIZ_AUTHOR_NAME_OTHER_PLAYER || IsQuizTrainerIdNotPlayer()) - { return QUIZ_AUTHOR_OTHER_PLAYER; - } else - { return QUIZ_AUTHOR_PLAYER; - } } static u8 BufferQuizAuthorName(void) @@ -434,7 +407,7 @@ static u8 BufferQuizAuthorName(void) if (nameLen == GetPlayerNameLength(gSaveBlock2Ptr->playerName)) { u8 *name = sQuizLadyPtr->playerName; - for (i = 0; i < nameLen; i ++) + for (i = 0; i < nameLen; i++) { name = sQuizLadyPtr->playerName; if (name[i] != gSaveBlock2Ptr->playerName[i]) @@ -456,7 +429,7 @@ static bool8 IsQuizTrainerIdNotPlayer(void) sQuizLadyPtr = &gSaveBlock1Ptr->lilycoveLady.quiz; notPlayer = FALSE; - for (i = 0; i < TRAINER_ID_LENGTH; i ++) + for (i = 0; i < TRAINER_ID_LENGTH; i++) { if (sQuizLadyPtr->playerTrainerId[i] != gSaveBlock2Ptr->playerTrainerId[i]) { @@ -472,7 +445,7 @@ static u8 GetPlayerNameLength(const u8 *playerName) u8 len; const u8 *ptr; - for (len = 0, ptr = playerName; *ptr != EOS; len ++, ptr ++); + for (len = 0, ptr = playerName; *ptr != EOS; len++, ptr++); return len; } @@ -532,7 +505,7 @@ void SetQuizLadyState_GivePrize(void) void ClearQuizLadyPlayerAnswer(void) { sQuizLadyPtr = &gSaveBlock1Ptr->lilycoveLady.quiz; - sQuizLadyPtr->playerAnswer = -1; + sQuizLadyPtr->playerAnswer = EC_EMPTY_WORD; } void Script_QuizLadyOpenBagMenu(void) @@ -544,13 +517,9 @@ void QuizLadyPickNewQuestion(void) { sQuizLadyPtr = &gSaveBlock1Ptr->lilycoveLady.quiz; if (BufferQuizAuthorNameAndCheckIfLady()) - { sQuizLadyPtr->prevQuestionId = sQuizLadyPtr->questionId; - } else - { sQuizLadyPtr->prevQuestionId = ARRAY_COUNT(sQuizLadyQuizQuestions); - } QuizLadyPickQuestion(); } @@ -559,11 +528,9 @@ void ClearQuizLadyQuestionAndAnswer(void) u8 i; sQuizLadyPtr = &gSaveBlock1Ptr->lilycoveLady.quiz; - for (i = 0; i < QUIZ_QUESTION_LEN; i ++) - { - sQuizLadyPtr->question[i] = -1; - } - sQuizLadyPtr->correctAnswer = -1; + for (i = 0; i < QUIZ_QUESTION_LEN; i++) + sQuizLadyPtr->question[i] = EC_EMPTY_WORD; + sQuizLadyPtr->correctAnswer = EC_EMPTY_WORD; } void QuizLadySetCustomQuestion(void) @@ -583,10 +550,8 @@ void QuizLadyRecordCustomQuizData(void) sQuizLadyPtr = &gSaveBlock1Ptr->lilycoveLady.quiz; sQuizLadyPtr->prize = gSpecialVar_ItemId; - for (i = 0; i < TRAINER_ID_LENGTH; i ++) - { + for (i = 0; i < TRAINER_ID_LENGTH; i++) sQuizLadyPtr->playerTrainerId[i] = gSaveBlock2Ptr->playerTrainerId[i]; - } StringCopy7(sQuizLadyPtr->playerName, gSaveBlock2Ptr->playerName); sQuizLadyPtr->language = gGameLanguage; } @@ -617,18 +582,15 @@ void QuizLadyClearQuestionForRecordMix(const LilycoveLady *lilycoveLady) if (lilycoveLady->quiz.prevQuestionId < ARRAY_COUNT(sQuizLadyQuizQuestions) && sQuizLadyPtr->id == LILYCOVE_LADY_QUIZ) { - for (i = 0; i < 4; i ++) + for (i = 0; i < 4; i++) { if (lilycoveLady->quiz.prevQuestionId != sQuizLadyPtr->questionId) - { break; - } sQuizLadyPtr->questionId = Random() % ARRAY_COUNT(sQuizLadyQuizQuestions); } if (lilycoveLady->quiz.prevQuestionId == sQuizLadyPtr->questionId) - { - sQuizLadyPtr->questionId = (sQuizLadyPtr->questionId + 1) % (int)(ARRAY_COUNT(sQuizLadyQuizQuestions)); - } + sQuizLadyPtr->questionId = (sQuizLadyPtr->questionId + 1) % (int)ARRAY_COUNT(sQuizLadyQuizQuestions); + sQuizLadyPtr->prevQuestionId = lilycoveLady->quiz.prevQuestionId; } } @@ -656,11 +618,10 @@ static void ResetContestLadyForRecordMix(void) sContestLadyPtr = &gSaveBlock1Ptr->lilycoveLady.contest; sContestLadyPtr->id = LILYCOVE_LADY_CONTEST; sContestLadyPtr->givenPokeblock = FALSE; + if (sContestLadyPtr->numGoodPokeblocksGiven == LILYCOVE_LADY_GIFT_THRESHOLD || sContestLadyPtr->numOtherPokeblocksGiven == LILYCOVE_LADY_GIFT_THRESHOLD) - { ResetContestLadyContestData(); - } } static void ContestLadySavePlayerNameIfHighSheen(u8 sheen) @@ -683,41 +644,41 @@ bool8 GivePokeblockToContestLady(struct Pokeblock *pokeblock) sContestLadyPtr = &gSaveBlock1Ptr->lilycoveLady.contest; switch (sContestLadyPtr->category) { - case CONTEST_CATEGORY_COOL: - if (pokeblock->spicy != 0) - { - sheen = pokeblock->spicy; - correctFlavor = TRUE; - } - break; - case CONTEST_CATEGORY_BEAUTY: - if (pokeblock->dry != 0) - { - sheen = pokeblock->dry; - correctFlavor = TRUE; - } - break; - case CONTEST_CATEGORY_CUTE: - if (pokeblock->sweet != 0) - { - sheen = pokeblock->sweet; - correctFlavor = TRUE; - } - break; - case CONTEST_CATEGORY_SMART: - if (pokeblock->bitter != 0) - { - sheen = pokeblock->bitter; - correctFlavor = TRUE; - } - break; - case CONTEST_CATEGORY_TOUGH: - if (pokeblock->sour != 0) - { - sheen = pokeblock->sour; - correctFlavor = TRUE; - } - break; + case CONTEST_CATEGORY_COOL: + if (pokeblock->spicy != 0) + { + sheen = pokeblock->spicy; + correctFlavor = TRUE; + } + break; + case CONTEST_CATEGORY_BEAUTY: + if (pokeblock->dry != 0) + { + sheen = pokeblock->dry; + correctFlavor = TRUE; + } + break; + case CONTEST_CATEGORY_CUTE: + if (pokeblock->sweet != 0) + { + sheen = pokeblock->sweet; + correctFlavor = TRUE; + } + break; + case CONTEST_CATEGORY_SMART: + if (pokeblock->bitter != 0) + { + sheen = pokeblock->bitter; + correctFlavor = TRUE; + } + break; + case CONTEST_CATEGORY_TOUGH: + if (pokeblock->sour != 0) + { + sheen = pokeblock->sour; + correctFlavor = TRUE; + } + break; } if (correctFlavor == TRUE) { @@ -731,18 +692,18 @@ bool8 GivePokeblockToContestLady(struct Pokeblock *pokeblock) return correctFlavor; } -static void BufferContestLadyCategoryAndMonName(u8 *dest1, u8 *dest2) +static void BufferContestLadyCategoryAndMonName(u8 *category, u8 *nickname) { sContestLadyPtr = &gSaveBlock1Ptr->lilycoveLady.contest; - StringCopy(dest1, sContestLadyCategoryNames[sContestLadyPtr->category]); - StringCopy10(dest2, sContestLadyMonNames[sContestLadyPtr->category]); + StringCopy(category, sContestLadyCategoryNames[sContestLadyPtr->category]); + StringCopy10(nickname, sContestLadyMonNames[sContestLadyPtr->category]); } -void BufferContestLadyMonName(u8 *dest1, u8 *dest2) +void BufferContestLadyMonName(u8 *category, u8 *nickname) { sContestLadyPtr = &gSaveBlock1Ptr->lilycoveLady.contest; - *dest1 = sContestLadyPtr->category; - StringCopy(dest2, sContestLadyMonNames[sContestLadyPtr->category]); + *category = sContestLadyPtr->category; + StringCopy(nickname, sContestLadyMonNames[sContestLadyPtr->category]); } void BufferContestLadyPlayerName(u8 *dest) @@ -779,9 +740,7 @@ bool8 HasPlayerGivenContestLadyPokeblock(void) { sContestLadyPtr = &gSaveBlock1Ptr->lilycoveLady.contest; if (sContestLadyPtr->givenPokeblock == TRUE) - { return TRUE; - } return FALSE; } @@ -792,9 +751,8 @@ bool8 ShouldContestLadyShowGoOnAir(void) sContestLadyPtr = &gSaveBlock1Ptr->lilycoveLady.contest; if (sContestLadyPtr->numGoodPokeblocksGiven >= LILYCOVE_LADY_GIFT_THRESHOLD || sContestLadyPtr->numOtherPokeblocksGiven >= LILYCOVE_LADY_GIFT_THRESHOLD) - { putOnAir = TRUE; - } + return putOnAir; }