From 4f9052cb96ac591e2e4759a978f95a31a467b4aa Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Wed, 28 Aug 2019 06:06:17 +0800 Subject: get rid of goto in battle_script_commands --- src/battle_script_commands.c | 136 ++++++++++++++++++------------------------- 1 file changed, 58 insertions(+), 78 deletions(-) (limited to 'src') diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 5016a3a58..d7f1c97e8 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -1681,29 +1681,22 @@ static void atk07_adjustnormaldamage(void) RecordItemEffectBattle(gBattlerTarget, holdEffect); gSpecialStatuses[gBattlerTarget].focusBanded = 1; } - if (gBattleMons[gBattlerTarget].status2 & STATUS2_SUBSTITUTE) - goto END; - if (gBattleMoves[gCurrentMove].effect != EFFECT_FALSE_SWIPE && !gProtectStructs[gBattlerTarget].endured - && !gSpecialStatuses[gBattlerTarget].focusBanded) - goto END; - - if (gBattleMons[gBattlerTarget].hp > gBattleMoveDamage) - goto END; - - gBattleMoveDamage = gBattleMons[gBattlerTarget].hp - 1; - - if (gProtectStructs[gBattlerTarget].endured) + if (!(gBattleMons[gBattlerTarget].status2 & STATUS2_SUBSTITUTE) + && (gBattleMoves[gCurrentMove].effect == EFFECT_FALSE_SWIPE || gProtectStructs[gBattlerTarget].endured || gSpecialStatuses[gBattlerTarget].focusBanded) + && gBattleMons[gBattlerTarget].hp <= gBattleMoveDamage) { - gMoveResultFlags |= MOVE_RESULT_FOE_ENDURED; - } - else if (gSpecialStatuses[gBattlerTarget].focusBanded) - { - gMoveResultFlags |= MOVE_RESULT_FOE_HUNG_ON; - gLastUsedItem = gBattleMons[gBattlerTarget].item; + gBattleMoveDamage = gBattleMons[gBattlerTarget].hp - 1; + if (gProtectStructs[gBattlerTarget].endured) + { + gMoveResultFlags |= MOVE_RESULT_FOE_ENDURED; + } + else if (gSpecialStatuses[gBattlerTarget].focusBanded) + { + gMoveResultFlags |= MOVE_RESULT_FOE_HUNG_ON; + gLastUsedItem = gBattleMons[gBattlerTarget].item; + } } - - END: - gBattlescriptCurrInstr++; + gBattlescriptCurrInstr++; } static void atk08_adjustnormaldamage2(void) // The same as 0x7 except it doesn't check for false swipe move effect. @@ -1730,27 +1723,22 @@ static void atk08_adjustnormaldamage2(void) // The same as 0x7 except it doesn't RecordItemEffectBattle(gBattlerTarget, holdEffect); gSpecialStatuses[gBattlerTarget].focusBanded = 1; } - if (gBattleMons[gBattlerTarget].status2 & STATUS2_SUBSTITUTE) - goto END; - if (!gProtectStructs[gBattlerTarget].endured && !gSpecialStatuses[gBattlerTarget].focusBanded) - goto END; - if (gBattleMons[gBattlerTarget].hp > gBattleMoveDamage) - goto END; - - gBattleMoveDamage = gBattleMons[gBattlerTarget].hp - 1; - - if (gProtectStructs[gBattlerTarget].endured) - { - gMoveResultFlags |= MOVE_RESULT_FOE_ENDURED; - } - else if (gSpecialStatuses[gBattlerTarget].focusBanded) + if (!(gBattleMons[gBattlerTarget].status2 & STATUS2_SUBSTITUTE) + && (gProtectStructs[gBattlerTarget].endured || gSpecialStatuses[gBattlerTarget].focusBanded) + && gBattleMons[gBattlerTarget].hp <= gBattleMoveDamage) { - gMoveResultFlags |= MOVE_RESULT_FOE_HUNG_ON; - gLastUsedItem = gBattleMons[gBattlerTarget].item; + gBattleMoveDamage = gBattleMons[gBattlerTarget].hp - 1; + if (gProtectStructs[gBattlerTarget].endured) + { + gMoveResultFlags |= MOVE_RESULT_FOE_ENDURED; + } + else if (gSpecialStatuses[gBattlerTarget].focusBanded) + { + gMoveResultFlags |= MOVE_RESULT_FOE_HUNG_ON; + gLastUsedItem = gBattleMons[gBattlerTarget].item; + } } - - END: - gBattlescriptCurrInstr++; + gBattlescriptCurrInstr++; } static void atk09_attackanimation(void) @@ -4564,27 +4552,26 @@ static void atk49_moveend(void) gBattleScripting.atk49_state++; break; case ATK49_CHOICE_MOVE: // update choice band move - if (!(gHitMarker & HITMARKER_OBEYS) || holdEffectAtk != HOLD_EFFECT_CHOICE_BAND - || gChosenMove == MOVE_STRUGGLE || (*choicedMoveAtk != 0 && *choicedMoveAtk != 0xFFFF)) - goto LOOP; - if (gChosenMove == MOVE_BATON_PASS && !(gMoveResultFlags & MOVE_RESULT_FAILED)) + if (gHitMarker & HITMARKER_OBEYS + && holdEffectAtk == HOLD_EFFECT_CHOICE_BAND + && gChosenMove != MOVE_STRUGGLE + && (*choicedMoveAtk == 0 || *choicedMoveAtk == 0xFFFF)) { - gBattleScripting.atk49_state++; - break; - } - *choicedMoveAtk = gChosenMove; - LOOP: - { - for (i = 0; i < MAX_MON_MOVES; i++) + if (gChosenMove == MOVE_BATON_PASS && !(gMoveResultFlags & MOVE_RESULT_FAILED)) { - if (gBattleMons[gBattlerAttacker].moves[i] == *choicedMoveAtk) - break; + ++gBattleScripting.atk49_state; + break; } - if (i == MAX_MON_MOVES) - *choicedMoveAtk = 0; - - gBattleScripting.atk49_state++; + *choicedMoveAtk = gChosenMove; + } + for (i = 0; i < MAX_MON_MOVES; ++i) + { + if (gBattleMons[gBattlerAttacker].moves[i] == *choicedMoveAtk) + break; } + if (i == MAX_MON_MOVES) + *choicedMoveAtk = 0; + ++gBattleScripting.atk49_state; break; case ATK49_CHANGED_ITEMS: // changed held items for (i = 0; i < gBattlersCount; i++) @@ -6152,29 +6139,22 @@ static void atk69_adjustsetdamage(void) // The same as 0x7, except there's no ra RecordItemEffectBattle(gBattlerTarget, holdEffect); gSpecialStatuses[gBattlerTarget].focusBanded = 1; } - if (gBattleMons[gBattlerTarget].status2 & STATUS2_SUBSTITUTE) - goto END; - if (gBattleMoves[gCurrentMove].effect != EFFECT_FALSE_SWIPE && !gProtectStructs[gBattlerTarget].endured - && !gSpecialStatuses[gBattlerTarget].focusBanded) - goto END; - - if (gBattleMons[gBattlerTarget].hp > gBattleMoveDamage) - goto END; - - gBattleMoveDamage = gBattleMons[gBattlerTarget].hp - 1; - - if (gProtectStructs[gBattlerTarget].endured) - { - gMoveResultFlags |= MOVE_RESULT_FOE_ENDURED; - } - else if (gSpecialStatuses[gBattlerTarget].focusBanded) + if (!(gBattleMons[gBattlerTarget].status2 & STATUS2_SUBSTITUTE) + && (gBattleMoves[gCurrentMove].effect == EFFECT_FALSE_SWIPE || gProtectStructs[gBattlerTarget].endured || gSpecialStatuses[gBattlerTarget].focusBanded) + && gBattleMons[gBattlerTarget].hp <= gBattleMoveDamage) { - gMoveResultFlags |= MOVE_RESULT_FOE_HUNG_ON; - gLastUsedItem = gBattleMons[gBattlerTarget].item; + gBattleMoveDamage = gBattleMons[gBattlerTarget].hp - 1; + if (gProtectStructs[gBattlerTarget].endured) + { + gMoveResultFlags |= MOVE_RESULT_FOE_ENDURED; + } + else if (gSpecialStatuses[gBattlerTarget].focusBanded) + { + gMoveResultFlags |= MOVE_RESULT_FOE_HUNG_ON; + gLastUsedItem = gBattleMons[gBattlerTarget].item; + } } - - END: - gBattlescriptCurrInstr++; + gBattlescriptCurrInstr++; } static void atk6A_removeitem(void) -- cgit v1.2.3 From 85d97542cdb269278aad3cc3735c29845f9d8738 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Sun, 8 Sep 2019 11:53:48 -0400 Subject: Use MAX_MON_MOVES constants --- src/apprentice.c | 8 ++++---- src/battle_ai_script_commands.c | 18 +++++++++--------- src/battle_controller_player.c | 2 +- src/battle_pike.c | 2 +- src/battle_pyramid.c | 2 +- src/battle_tower.c | 8 ++++---- src/daycare.c | 6 +++--- src/egg_hatch.c | 6 +++--- src/move_relearner.c | 2 +- src/pokemon.c | 22 +++++++++++----------- src/pokemon_summary_screen.c | 4 ++-- src/recorded_battle.c | 14 +++++++------- src/secret_base.c | 6 +++--- src/trade.c | 10 +++++----- src/tv.c | 4 ++-- 15 files changed, 57 insertions(+), 57 deletions(-) (limited to 'src') diff --git a/src/apprentice.c b/src/apprentice.c index 4ad295e1a..76962807e 100644 --- a/src/apprentice.c +++ b/src/apprentice.c @@ -1100,7 +1100,7 @@ void ResetAllApprenticeData(void) gSaveBlock2Ptr->apprentices[i].lvlMode = 0; gSaveBlock2Ptr->apprentices[i].number = 0; gSaveBlock2Ptr->apprentices[i].field_1 = 0; - for (j = 0; j < 4; j++) + for (j = 0; j < TRAINER_ID_LENGTH; j++) gSaveBlock2Ptr->apprentices[i].playerId[j] = 0; gSaveBlock2Ptr->apprentices[i].language = gGameLanguage; gSaveBlock2Ptr->apprentices[i].checksum = 0; @@ -1410,7 +1410,7 @@ static void GetLatestLearnedMoves(u16 species, u16 *moves) static u16 sub_81A0284(u8 arg0, u8 speciesTableId, u8 arg2) { - u16 moves[4]; + u16 moves[MAX_MON_MOVES]; u8 i, count; if (PLAYER_APPRENTICE.field_B1_1 < 3) @@ -2063,7 +2063,7 @@ static void sub_81A1370(void) r10 = 0xFFFF; r9 = -1; - for (i = 1; i < 4; i++) + for (i = 1; i < TRAINER_ID_LENGTH; i++) { if (GetTrainerId(gSaveBlock2Ptr->apprentices[i].playerId) == GetTrainerId(gSaveBlock2Ptr->playerTrainerId) && gSaveBlock2Ptr->apprentices[i].number < r10) @@ -2092,7 +2092,7 @@ static void sub_81A1438(void) gSaveBlock2Ptr->apprentices[0].number++; sub_81A0390(gSaveBlock2Ptr->apprentices[0].field_1); - for (i = 0; i < 4; i++) + for (i = 0; i < TRAINER_ID_LENGTH; i++) gSaveBlock2Ptr->apprentices[0].playerId[i] = gSaveBlock2Ptr->playerTrainerId[i]; StringCopy(gSaveBlock2Ptr->apprentices[0].playerName, gSaveBlock2Ptr->playerName); diff --git a/src/battle_ai_script_commands.c b/src/battle_ai_script_commands.c index 3c07cc227..6a8163b96 100644 --- a/src/battle_ai_script_commands.c +++ b/src/battle_ai_script_commands.c @@ -397,8 +397,8 @@ u8 BattleAI_ChooseMoveOrAction(void) static u8 ChooseMoveOrAction_Singles(void) { - u8 currentMoveArray[4]; - u8 consideredMoveArray[4]; + u8 currentMoveArray[MAX_MON_MOVES]; + u8 consideredMoveArray[MAX_MON_MOVES]; u8 numOfBestMoves; s32 i; @@ -452,11 +452,11 @@ static u8 ChooseMoveOrAction_Doubles(void) s32 i; s32 j; s32 scriptsToRun; - s16 bestMovePointsForTarget[4]; - s8 mostViableTargetsArray[4]; - u8 actionOrMoveIndex[4]; - u8 mostViableMovesScores[4]; - u8 mostViableMovesIndices[4]; + s16 bestMovePointsForTarget[MAX_BATTLERS_COUNT]; + s8 mostViableTargetsArray[MAX_BATTLERS_COUNT]; + u8 actionOrMoveIndex[MAX_BATTLERS_COUNT]; + u8 mostViableMovesScores[MAX_MON_MOVES]; + u8 mostViableMovesIndices[MAX_MON_MOVES]; s32 mostViableTargetsNo; s32 mostViableMovesNo; s16 mostMovePoints; @@ -543,7 +543,7 @@ static u8 ChooseMoveOrAction_Doubles(void) mostViableTargetsArray[0] = 0; mostViableTargetsNo = 1; - for (i = 1; i < MAX_MON_MOVES; i++) + for (i = 1; i < MAX_BATTLERS_COUNT; i++) { if (mostMovePoints == bestMovePointsForTarget[i]) { @@ -1167,7 +1167,7 @@ static void BattleAICmd_get_considered_move_power(void) static void BattleAICmd_get_how_powerful_move_is(void) { s32 i, checkedMove; - s32 moveDmgs[4]; + s32 moveDmgs[MAX_MON_MOVES]; for (i = 0; sDiscouragedPowerfulMoveEffects[i] != 0xFFFF; i++) { diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index b73bfc36f..1be5def47 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -664,7 +664,7 @@ u32 sub_8057FBC(void) // unused static void HandleMoveSwitching(void) { - u8 perMovePPBonuses[4]; + u8 perMovePPBonuses[MAX_MON_MOVES]; struct ChooseMoveStruct moveStruct; u8 totalPPBonuses; diff --git a/src/battle_pike.c b/src/battle_pike.c index 8846e2d1a..4e2be23e4 100644 --- a/src/battle_pike.c +++ b/src/battle_pike.c @@ -49,7 +49,7 @@ struct PikeWildMon { u16 species; u8 levelDelta; - u16 moves[4]; + u16 moves[MAX_MON_MOVES]; }; // IWRAM bss diff --git a/src/battle_pyramid.c b/src/battle_pyramid.c index cc722da8d..4d35f4244 100644 --- a/src/battle_pyramid.c +++ b/src/battle_pyramid.c @@ -77,7 +77,7 @@ struct PyramidWildMon u16 species; u8 lvl; u8 abilityNum; - u16 moves[4]; + u16 moves[MAX_MON_MOVES]; }; struct PyramidFloorTemplate diff --git a/src/battle_tower.c b/src/battle_tower.c index 8ef848e39..c55180965 100644 --- a/src/battle_tower.c +++ b/src/battle_tower.c @@ -1019,7 +1019,7 @@ struct u8 level; u8 nature; u8 evs[6]; - u16 moves[4]; + u16 moves[MAX_MON_MOVES]; } const sStevenMons[3] = { { @@ -1561,7 +1561,7 @@ void PutNewBattleTowerRecord(struct EmeraldBattleTowerRecord *newRecordEm) for (i = 0; i < 5; i++) { k = 0; - for (j = 0; j < 4; j++) + for (j = 0; j < TRAINER_ID_LENGTH; j++) { if (gSaveBlock2Ptr->frontier.towerRecords[i].trainerId[j] != newRecord->trainerId[j]) break; @@ -3308,7 +3308,7 @@ bool32 RubyBattleTowerRecordToEmerald(struct RSBattleTowerRecord *src, struct Em for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++) dst->name[i] = src->name[i]; - for (i = 0; i < 4; i++) + for (i = 0; i < TRAINER_ID_LENGTH; i++) dst->trainerId[i] = src->trainerId[i]; for (i = 0; i < 6; i++) dst->greeting[i] = src->greeting[i]; @@ -3357,7 +3357,7 @@ bool32 EmeraldBattleTowerRecordToRuby(struct EmeraldBattleTowerRecord *src, stru for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++) dst->name[i] = src->name[i]; - for (i = 0; i < 4; i++) + for (i = 0; i < TRAINER_ID_LENGTH; i++) dst->trainerId[i] = src->trainerId[i]; for (i = 0; i < 6; i++) dst->greeting[i] = src->greeting[i]; diff --git a/src/daycare.c b/src/daycare.c index 2d05035d7..dc44b4887 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -34,10 +34,10 @@ static void DaycarePrintMonInfo(u8 windowId, s32 daycareSlotId, u8 y); // RAM buffers used to assist with BuildEggMoveset() EWRAM_DATA static u16 sHatchedEggLevelUpMoves[EGG_LVL_UP_MOVES_ARRAY_COUNT] = {0}; -EWRAM_DATA static u16 sHatchedEggFatherMoves[4] = {0}; -EWRAM_DATA static u16 sHatchedEggFinalMoves[4] = {0}; +EWRAM_DATA static u16 sHatchedEggFatherMoves[MAX_MON_MOVES] = {0}; +EWRAM_DATA static u16 sHatchedEggFinalMoves[MAX_MON_MOVES] = {0}; EWRAM_DATA static u16 sHatchedEggEggMoves[EGG_MOVES_ARRAY_COUNT] = {0}; -EWRAM_DATA static u16 sHatchedEggMotherMoves[4] = {0}; +EWRAM_DATA static u16 sHatchedEggMotherMoves[MAX_MON_MOVES] = {0}; #include "data/pokemon/egg_moves.h" diff --git a/src/egg_hatch.c b/src/egg_hatch.c index 5e16f1479..4fba8578c 100644 --- a/src/egg_hatch.c +++ b/src/egg_hatch.c @@ -298,13 +298,13 @@ static void CreatedHatchedMon(struct Pokemon *egg, struct Pokemon *temp) u16 species; u32 personality, pokerus; u8 i, friendship, language, gameMet, markings, obedience; - u16 moves[4]; + u16 moves[MAX_MON_MOVES]; u32 ivs[NUM_STATS]; species = GetMonData(egg, MON_DATA_SPECIES); - for (i = 0; i < 4; i++) + for (i = 0; i < MAX_MON_MOVES; i++) { moves[i] = GetMonData(egg, MON_DATA_MOVE1 + i); } @@ -324,7 +324,7 @@ static void CreatedHatchedMon(struct Pokemon *egg, struct Pokemon *temp) CreateMon(temp, species, EGG_HATCH_LEVEL, 32, TRUE, personality, OT_ID_PLAYER_ID, 0); - for (i = 0; i < 4; i++) + for (i = 0; i < MAX_MON_MOVES; i++) { SetMonData(temp, MON_DATA_MOVE1 + i, &moves[i]); } diff --git a/src/move_relearner.c b/src/move_relearner.c index 0b0b4a5aa..867c6c995 100644 --- a/src/move_relearner.c +++ b/src/move_relearner.c @@ -154,7 +154,7 @@ static EWRAM_DATA struct { u8 state; u8 heartSpriteIds[16]; /*0x001*/ - u16 movesToLearn[4]; /*0x012*/ + u16 movesToLearn[MAX_MON_MOVES]; /*0x012*/ u8 filler1A[0x44 - 0x1A]; /*0x01A*/ u8 partyMon; /*0x044*/ u8 moveSlot; /*0x045*/ diff --git a/src/pokemon.c b/src/pokemon.c index 074ee2d19..a393759d3 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -2989,11 +2989,11 @@ u16 MonTryLearningNewMove(struct Pokemon *mon, bool8 firstMove) void DeleteFirstMoveAndGiveMoveToMon(struct Pokemon *mon, u16 move) { s32 i; - u16 moves[4]; - u8 pp[4]; + u16 moves[MAX_MON_MOVES]; + u8 pp[MAX_MON_MOVES]; u8 ppBonuses; - for (i = 0; i < 3; i++) + for (i = 0; i < MAX_MON_MOVES - 1; i++) { moves[i] = GetMonData(mon, MON_DATA_MOVE2 + i, NULL); pp[i] = GetMonData(mon, MON_DATA_PP2 + i, NULL); @@ -3016,11 +3016,11 @@ void DeleteFirstMoveAndGiveMoveToMon(struct Pokemon *mon, u16 move) void DeleteFirstMoveAndGiveMoveToBoxMon(struct BoxPokemon *boxMon, u16 move) { s32 i; - u16 moves[4]; - u8 pp[4]; + u16 moves[MAX_MON_MOVES]; + u8 pp[MAX_MON_MOVES]; u8 ppBonuses; - for (i = 0; i < 3; i++) + for (i = 0; i < MAX_MON_MOVES - 1; i++) { moves[i] = GetBoxMonData(boxMon, MON_DATA_MOVE2 + i, NULL); pp[i] = GetBoxMonData(boxMon, MON_DATA_PP2 + i, NULL); @@ -3304,21 +3304,21 @@ u8 CountAliveMonsInBattle(u8 caseId) switch (caseId) { case BATTLE_ALIVE_EXCEPT_ACTIVE: - for (i = 0; i < 4; i++) + for (i = 0; i < MAX_BATTLERS_COUNT; i++) { if (i != gActiveBattler && !(gAbsentBattlerFlags & gBitTable[i])) retVal++; } break; case BATTLE_ALIVE_ATK_SIDE: - for (i = 0; i < 4; i++) + for (i = 0; i < MAX_BATTLERS_COUNT; i++) { if (GetBattlerSide(i) == GetBattlerSide(gBattlerAttacker) && !(gAbsentBattlerFlags & gBitTable[i])) retVal++; } break; case BATTLE_ALIVE_DEF_SIDE: - for (i = 0; i < 4; i++) + for (i = 0; i < MAX_BATTLERS_COUNT; i++) { if (GetBattlerSide(i) == GetBattlerSide(gBattlerTarget) && !(gAbsentBattlerFlags & gBitTable[i])) retVal++; @@ -6096,7 +6096,7 @@ u32 CanSpeciesLearnTMHM(u16 species, u8 tm) u8 GetMoveRelearnerMoves(struct Pokemon *mon, u16 *moves) { - u16 learnedMoves[4]; + u16 learnedMoves[MAX_MON_MOVES]; u8 numMoves = 0; u16 species = GetMonData(mon, MON_DATA_SPECIES, 0); u8 level = GetMonData(mon, MON_DATA_LEVEL, 0); @@ -6146,7 +6146,7 @@ u8 GetLevelUpMovesBySpecies(u16 species, u16 *moves) u8 GetNumberOfRelearnableMoves(struct Pokemon *mon) { - u16 learnedMoves[4]; + u16 learnedMoves[MAX_MON_MOVES]; u16 moves[20]; u8 numMoves = 0; u16 species = GetMonData(mon, MON_DATA_SPECIES2, 0); diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 79aac4b5e..932ed5b08 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -121,8 +121,8 @@ static EWRAM_DATA struct PokemonSummaryScreenData u8 metGame; // 0xB u32 pid; // 0xC u32 exp; // 0x10 - u16 moves[4]; // 0x14 - u8 pp[4]; // 0x1C + u16 moves[MAX_MON_MOVES]; // 0x14 + u8 pp[MAX_MON_MOVES]; // 0x1C u16 currentHP; // 0x20 u16 maxHP; // 0x22 u16 atk; // 0x24 diff --git a/src/recorded_battle.c b/src/recorded_battle.c index 9e03d57f6..432c5dbe6 100644 --- a/src/recorded_battle.c +++ b/src/recorded_battle.c @@ -37,8 +37,8 @@ struct PlayerInfo struct MovePp { - u16 moves[4]; - u8 pp[4]; + u16 moves[MAX_MON_MOVES]; + u8 pp[MAX_MON_MOVES]; }; struct RecordedBattleSave @@ -91,7 +91,7 @@ EWRAM_DATA static u32 sBattleFlags = 0; EWRAM_DATA static u32 sAI_Scripts = 0; EWRAM_DATA static struct Pokemon sSavedPlayerParty[PARTY_SIZE] = {0}; EWRAM_DATA static struct Pokemon sSavedOpponentParty[PARTY_SIZE] = {0}; -EWRAM_DATA static u16 sPlayerMonMoves[2][4] = {0}; +EWRAM_DATA static u16 sPlayerMonMoves[2][MAX_MON_MOVES] = {0}; EWRAM_DATA static struct PlayerInfo sPlayers[MAX_BATTLERS_COUNT] = {0}; EWRAM_DATA static u8 sUnknown_0203CCD0 = 0; EWRAM_DATA static u8 sRecordMixFriendName[PLAYER_NAME_LENGTH + 1] = {0}; @@ -766,11 +766,11 @@ void sub_818603C(u8 arg0) { if (sBattleRecords[battlerId][sRecordedBytesNo[battlerId]] == ACTION_MOVE_CHANGE) { - u8 ppBonuses[4]; - u8 array1[4]; - u8 array2[4]; + u8 ppBonuses[MAX_MON_MOVES]; + u8 array1[MAX_MON_MOVES]; + u8 array2[MAX_MON_MOVES]; struct MovePp movePp; - u8 array3[8]; + u8 array3[(MAX_MON_MOVES * 2)]; u8 var; RecordedBattle_GetBattlerAction(battlerId); diff --git a/src/secret_base.c b/src/secret_base.c index 12cb8cd61..861a987e2 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -349,7 +349,7 @@ void SetPlayerSecretBase(void) u16 i; gSaveBlock1Ptr->secretBases[0].secretBaseId = sCurSecretBaseId; - for (i = 0; i < 4; i++) + for (i = 0; i < TRAINER_ID_LENGTH; i++) gSaveBlock1Ptr->secretBases[0].trainerId[i] = gSaveBlock2Ptr->playerTrainerId[i]; VarSet(VAR_CURRENT_SECRET_BASE, 0); @@ -1291,7 +1291,7 @@ static void SetSecretBaseDataAndLanguage(u8 secretBaseId, struct SecretBase *sec static bool8 SecretBasesHaveSameTrainerId(struct SecretBase *secretBase1, struct SecretBase *secretBase2) { u8 i; - for (i = 0; i < 4; i++) + for (i = 0; i < TRAINER_ID_LENGTH; i++) { if (secretBase1->trainerId[i] != secretBase2->trainerId[i]) return FALSE; @@ -1445,7 +1445,7 @@ bool8 SecretBaseBelongsToPlayer(struct SecretBase *secretBase) return FALSE; // Check if the player's trainer Id matches the secret base's id. - for (i = 0; i < 4; i++) + for (i = 0; i < TRAINER_ID_LENGTH; i++) { if (secretBase->trainerId[i] != gSaveBlock2Ptr->playerTrainerId[i]) return FALSE; diff --git a/src/trade.c b/src/trade.c index d95e4ebf5..c29fe54c3 100644 --- a/src/trade.c +++ b/src/trade.c @@ -3032,7 +3032,7 @@ static u8 sub_8079A3C(u8 *str, u8 whichParty, u8 monIdx) static void sub_8079AA4(u8 *a0, u8 a1, u8 a2) { - u16 arr[4]; + u16 moves[MAX_MON_MOVES]; u16 i; if (!gUnknown_0203229C->unk_51[a1][a2]) @@ -3041,11 +3041,11 @@ static void sub_8079AA4(u8 *a0, u8 a1, u8 a2) { if (!a1) { - arr[i] = GetMonData(&gPlayerParty[a2], i + MON_DATA_MOVE1, NULL); + moves[i] = GetMonData(&gPlayerParty[a2], i + MON_DATA_MOVE1, NULL); } else { - arr[i] = GetMonData(&gEnemyParty[a2], i + MON_DATA_MOVE1, NULL); + moves[i] = GetMonData(&gEnemyParty[a2], i + MON_DATA_MOVE1, NULL); } } @@ -3053,9 +3053,9 @@ static void sub_8079AA4(u8 *a0, u8 a1, u8 a2) for (i = 0; i < MAX_MON_MOVES; i++) { - if (arr[i] != MOVE_NONE) + if (moves[i] != MOVE_NONE) { - StringAppend(a0, gMoveNames[arr[i]]); + StringAppend(a0, gMoveNames[moves[i]]); } StringAppend(a0, gText_NewLine3); diff --git a/src/tv.c b/src/tv.c index ef826a4af..1c014d103 100644 --- a/src/tv.c +++ b/src/tv.c @@ -182,7 +182,7 @@ static void DoTVShowPokemonContestLiveUpdates2(void); static const struct { u16 species; - u16 moves[4]; + u16 moves[MAX_MON_MOVES]; u8 level; u8 location; } sPokeOutbreakSpeciesList[] = { @@ -2329,7 +2329,7 @@ void sub_80EE35C(u16 foeSpecies, u16 species, u8 moveIdx, const u16 *movePtr, u1 show->battleSeminar.foeSpecies = foeSpecies; show->battleSeminar.species = species; show->battleSeminar.move = movePtr[moveIdx]; - for (i = 0, j = 0; i < 4; i ++) + for (i = 0, j = 0; i < MAX_MON_MOVES; i ++) { if (i != moveIdx && movePtr[i]) { -- cgit v1.2.3 From b46c4b670339754ca83fd9f2809f13d4de0dc6a5 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Sun, 8 Sep 2019 12:21:24 -0400 Subject: more constant usage --- src/battle_ai_script_commands.c | 2 +- src/battle_ai_switch_items.c | 2 +- src/battle_main.c | 6 +++--- src/battle_script_commands.c | 6 +++--- src/mon_markings.c | 8 ++++---- src/new_game.c | 2 +- src/overworld.c | 4 ++-- src/pokemon.c | 4 ++-- 8 files changed, 17 insertions(+), 17 deletions(-) (limited to 'src') diff --git a/src/battle_ai_script_commands.c b/src/battle_ai_script_commands.c index 6a8163b96..b581a8bbc 100644 --- a/src/battle_ai_script_commands.c +++ b/src/battle_ai_script_commands.c @@ -298,7 +298,7 @@ void BattleAI_HandleItemUseBeforeAISetup(u8 defaultScoreMoves) ) ) { - for (i = 0; i < 4; i++) + for (i = 0; i < MAX_TRAINER_ITEMS; i++) { if (gTrainers[gTrainerBattleOpponent_A].items[i] != 0) { diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index cd31293f8..6ef359150 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -820,7 +820,7 @@ static bool8 ShouldUseItem(void) } } - for (i = 0; i < 4; i++) + for (i = 0; i < MAX_TRAINER_ITEMS; i++) { u16 item; const u8 *itemEffects; diff --git a/src/battle_main.c b/src/battle_main.c index 87e29dd57..27889e81e 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -1790,9 +1790,9 @@ static void CB2_HandleStartMultiBattle(void) gBattleCommunication[SPRITES_INIT_STATE2] = 0; if (gBattleTypeFlags & BATTLE_TYPE_LINK) { - for (id = 0; id < 4 && (gLinkPlayers[id].version & 0xFF) == 3; id++); + for (id = 0; id < MAX_LINK_PLAYERS && (gLinkPlayers[id].version & 0xFF) == VERSION_EMERALD; id++); - if (id == 4) + if (id == MAX_LINK_PLAYERS) gBattleCommunication[MULTIUSE_STATE] = 8; else gBattleCommunication[MULTIUSE_STATE] = 10; @@ -4244,7 +4244,7 @@ static void HandleTurnActionSelectionState(void) moveInfo.monType1 = gBattleMons[gActiveBattler].type1; moveInfo.monType2 = gBattleMons[gActiveBattler].type2; - for (i = 0; i < 4; i++) + for (i = 0; i < MAX_MON_MOVES; i++) { moveInfo.moves[i] = gBattleMons[gActiveBattler].moves[i]; moveInfo.currentPp[i] = gBattleMons[gActiveBattler].pp[i]; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 5016a3a58..6f1b43240 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -10184,7 +10184,7 @@ static void atkEF_handleballthrow(void) gBattlescriptCurrInstr = BattleScript_SuccessBallThrow; SetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerTarget]], MON_DATA_POKEBALL, &gLastUsedItem); - if (CalculatePlayerPartyCount() == 6) + if (CalculatePlayerPartyCount() == PARTY_SIZE) gBattleCommunication[MULTISTRING_CHOOSER] = 0; else gBattleCommunication[MULTISTRING_CHOOSER] = 1; @@ -10196,7 +10196,7 @@ static void atkEF_handleballthrow(void) odds = Sqrt(Sqrt(16711680 / odds)); odds = 1048560 / odds; - for (shakes = 0; shakes < 4 && Random() < odds; shakes++); + for (shakes = 0; shakes < BALL_3_SHAKES_SUCCESS && Random() < odds; shakes++); if (gLastUsedItem == ITEM_MASTER_BALL) shakes = BALL_3_SHAKES_SUCCESS; // why calculate the shakes before that check? @@ -10209,7 +10209,7 @@ static void atkEF_handleballthrow(void) gBattlescriptCurrInstr = BattleScript_SuccessBallThrow; SetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerTarget]], MON_DATA_POKEBALL, &gLastUsedItem); - if (CalculatePlayerPartyCount() == 6) + if (CalculatePlayerPartyCount() == PARTY_SIZE) gBattleCommunication[MULTISTRING_CHOOSER] = 0; else gBattleCommunication[MULTISTRING_CHOOSER] = 1; diff --git a/src/mon_markings.c b/src/mon_markings.c index f8b128045..f4d6b3818 100644 --- a/src/mon_markings.c +++ b/src/mon_markings.c @@ -350,7 +350,7 @@ void sub_811FAA4(u8 markings, s16 x, s16 y) u16 i; sMenu->cursorPos = 0; sMenu->markings = markings; - for (i = 0; i < 4; i++) + for (i = 0; i < NUM_MON_MARKINGS; i++) sMenu->markingsArray[i] = (sMenu->markings >> i) & 1; sub_811FC80(x, y, sMenu->baseTileTag, sMenu->basePaletteTag); } @@ -371,7 +371,7 @@ void sub_811FAF8(void) DestroySprite(sMenu->menuWindowSprites[i]); sMenu->menuWindowSprites[i] = NULL; } - for (i = 0; i < 4; i++) + for (i = 0; i < NUM_MON_MARKINGS; i++) { if (!sMenu->menuMarkingSprites[i]) return; @@ -422,7 +422,7 @@ bool8 sub_811FBA4(void) { case 4: sMenu->markings = 0; - for (i = 0; i < 4; i++) + for (i = 0; i < NUM_MON_MARKINGS; i++) sMenu->markings |= sMenu->markingsArray[i] << i; return FALSE; case 5: @@ -498,7 +498,7 @@ static void sub_811FC80(s16 x, s16 y, u16 baseTileTag, u16 basePaletteTag) sprTemplate.callback = sub_811FF40; sprTemplate.oam = &gUnknown_0859EE84; - for (i = 0; i < 4; i++) + for (i = 0; i < NUM_MON_MARKINGS; i++) { spriteId = CreateSprite(&sprTemplate, x + 32, y + 16 + 16 * i, 0); if (spriteId != MAX_SPRITES) diff --git a/src/new_game.c b/src/new_game.c index b4d9ba9b3..1021ea96c 100644 --- a/src/new_game.c +++ b/src/new_game.c @@ -81,7 +81,7 @@ u32 GetTrainerId(u8 *trainerId) void CopyTrainerId(u8 *dst, u8 *src) { s32 i; - for (i = 0; i < 4; i++) + for (i = 0; i < TRAINER_ID_LENGTH; i++) dst[i] = src[i]; } diff --git a/src/overworld.c b/src/overworld.c index cefbd8159..51d9ad9b5 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -2435,7 +2435,7 @@ static void UpdateAllLinkPlayers(u16 *keys, s32 selfId) struct TradeRoomPlayer trainer; s32 i; - for (i = 0; i < 4; i++) + for (i = 0; i < MAX_LINK_PLAYERS; i++) { u8 key = keys[i]; u16 setFacing = FACING_NONE; @@ -3026,7 +3026,7 @@ static s32 sub_80878E4(u8 linkPlayerId) static u8 GetLinkPlayerIdAt(s16 x, s16 y) { u8 i; - for (i = 0; i < 4; i++) + for (i = 0; i < MAX_LINK_PLAYERS; i++) { if (gLinkPlayerEventObjects[i].active && (gLinkPlayerEventObjects[i].movementMode == 0 || gLinkPlayerEventObjects[i].movementMode == 2)) diff --git a/src/pokemon.c b/src/pokemon.c index a393759d3..4833f2db6 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -6683,7 +6683,7 @@ u8 sub_806EF08(u8 arg0) var = (arg0 != 0) ? 2 : 0; break; } - for (i = 0; i < 4; i++) + for (i = 0; i < MAX_LINK_PLAYERS; i++) { if (gLinkPlayers[i].id == (s16)(var)) break; @@ -6706,7 +6706,7 @@ u8 sub_806EF84(u8 arg0, u8 arg1) var = (arg0 != 0) ? 2 : 0; break; } - for (i = 0; i < 4; i++) + for (i = 0; i < MAX_LINK_PLAYERS; i++) { if (gLinkPlayers[i].id == (s16)(var)) break; -- cgit v1.2.3 From 6c9997a90693422baa04fd5a525b2d03df8d7931 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Thu, 12 Sep 2019 13:55:37 -0400 Subject: Document decor icons --- src/data/decoration/icon.h | 245 ++++++++++++++++++++-------------------- src/data/graphics/decorations.h | 168 +++++++++++++-------------- src/decoration.c | 4 +- 3 files changed, 209 insertions(+), 208 deletions(-) (limited to 'src') diff --git a/src/data/decoration/icon.h b/src/data/decoration/icon.h index 58d9cea7b..b29dab20f 100644 --- a/src/data/decoration/icon.h +++ b/src/data/decoration/icon.h @@ -1,123 +1,124 @@ -const u32 *const gUnknown_085A6BE8[][2] = { - {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, - {NULL, NULL}, - {NULL, NULL}, - {gUnknown_08DB7AA0, gUnknown_08DB7B34}, - {gUnknown_08DB7B5C, gUnknown_08DB7BEC}, - {gUnknown_08DB7C08, gUnknown_08DB7CE8}, - {gUnknown_08DB7D08, gUnknown_08DB7DCC}, - {gUnknown_08DB7DF4, gUnknown_08DB7EA0}, - {gUnknown_08DB7EC4, gUnknown_08DB7F60}, - {gUnknown_08DB7F7C, gUnknown_08DB8070}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {gUnknown_08DB808C, gUnknown_08DB8138}, - {gUnknown_08DB8160, gUnknown_08DB8218}, - {gUnknown_08DB823C, gUnknown_08DB8300}, - {gUnknown_08DB8328, gUnknown_08DB8430}, - {gUnknown_08DB8458, gUnknown_08DB8528}, - {gUnknown_08DB854C, gUnknown_08DB862C}, - {gUnknown_08DB8654, gUnknown_08DB86C4}, - {gUnknown_08DB86E0, gUnknown_08DB8750}, - {gUnknown_08DB876C, gUnknown_08DB87DC}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {gUnknown_08DB87F8, gUnknown_08DB88D8}, - {gUnknown_08DB8900, gUnknown_08DB89E0}, - {gUnknown_08DB8A08, gUnknown_08DB8A68}, - {gUnknown_08DB8A84, gUnknown_08DB8B40}, - {NULL, NULL}, - {NULL, NULL}, - {gUnknown_08DB8B68, gUnknown_08DB8C40}, - {gUnknown_08DB8C5C, gUnknown_08DB8CF4}, - {NULL, NULL}, - {gUnknown_08DB8D18, gUnknown_08DB8DB0}, - {gUnknown_08DB8DD4, gUnknown_08DB8E80}, - {NULL, NULL}, - {NULL, NULL}, - {gUnknown_08DB8EA0, gUnknown_08DB8F58}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {gUnknown_08DB8F7C, gUnknown_08DB9038}, - {gUnknown_08DB9058, gUnknown_08DB9130}, - {gUnknown_08DB9154, gUnknown_08DB9218}, - {gUnknown_08DB9234, gUnknown_08DB92FC}, - {gUnknown_08DB931C, gUnknown_08DB93E8}, - {gUnknown_08DB940C, gUnknown_08DB94CC}, - {gUnknown_08DB94E8, gUnknown_08DB95AC}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {gUnknown_08DB95D0, gUnknown_08DB96C4}, - {gUnknown_08DB96EC, gUnknown_08DB97F4}, - {gUnknown_08DB981C, gUnknown_08DB9908}, - {gUnknown_08DB9930, gUnknown_08DB9A54}, - {gUnknown_08DB9A7C, gUnknown_08DB9B7C}, - {gUnknown_08DB9BA4, gUnknown_08DB9CB0}, - {gUnknown_08DB9CD8, gUnknown_08DB9DAC}, - {gUnknown_08DB9F08, gUnknown_08DB9FFC}, - {gUnknown_08DB9DD4, gUnknown_08DB9EE4}, - {gUnknown_08DBA020, gUnknown_08DBA12C} +const u32 *const gDecorIconTable[][2] = +{ + [DECOR_NONE] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [DECOR_SMALL_DESK] = {NULL, NULL}, + [DECOR_POKEMON_DESK] = {NULL, NULL}, + [DECOR_HEAVY_DESK] = {gDecorIcon_HeavyDesk, gDecorIconPalette_HeavyDesk}, + [DECOR_RAGGED_DESK] = {gDecorIcon_RaggedDesk, gDecorIconPalette_RaggedDesk}, + [DECOR_COMFORT_DESK] = {gDecorIcon_ComfortDesk, gDecorIconPalette_ComfortDesk}, + [DECOR_PRETTY_DESK] = {gDecorIcon_PrettyDesk, gDecorIconPalette_PrettyDesk}, + [DECOR_BRICK_DESK] = {gDecorIcon_BrickDesk, gDecorIconPalette_BrickDesk}, + [DECOR_CAMP_DESK] = {gDecorIcon_CampDesk, gDecorIconPalette_CampDesk}, + [DECOR_HARD_DESK] = {gDecorIcon_HardDesk, gDecorIconPalette_HardDesk}, + [DECOR_SMALL_CHAIR] = {NULL, NULL}, + [DECOR_POKEMON_CHAIR] = {NULL, NULL}, + [DECOR_HEAVY_CHAIR] = {NULL, NULL}, + [DECOR_PRETTY_CHAIR] = {NULL, NULL}, + [DECOR_COMFORT_CHAIR] = {NULL, NULL}, + [DECOR_RAGGED_CHAIR] = {NULL, NULL}, + [DECOR_BRICK_CHAIR] = {NULL, NULL}, + [DECOR_CAMP_CHAIR] = {NULL, NULL}, + [DECOR_HARD_CHAIR] = {NULL, NULL}, + [DECOR_RED_PLANT] = {gDecorIcon_RedPlant, gDecorIconPalette_RedPlant}, + [DECOR_TROPICAL_PLANT] = {gDecorIcon_TropicalPlant, gDecorIconPalette_TropicalPlant}, + [DECOR_PRETTY_FLOWERS] = {gDecorIcon_PrettyFlowers, gDecorIconPalette_PrettyFlowers}, + [DECOR_COLORFUL_PLANT] = {gDecorIcon_ColorfulPlant, gDecorIconPalette_ColorfulPlant}, + [DECOR_BIG_PLANT] = {gDecorIcon_BigPlant, gDecorIconPalette_BigPlant}, + [DECOR_GORGEOUS_PLANT] = {gDecorIcon_GorgeousPlant, gDecorIconPalette_GorgeousPlant}, + [DECOR_RED_BRICK] = {gDecorIcon_RedBrick, gDecorIconPalette_RedBrick}, + [DECOR_YELLOW_BRICK] = {gDecorIcon_YellowBrick, gDecorIconPalette_YellowBrick}, + [DECOR_BLUE_BRICK] = {gDecorIcon_BlueBrick, gDecorIconPalette_BlueBrick}, + [DECOR_RED_BALLOON] = {NULL, NULL}, + [DECOR_BLUE_BALLOON] = {NULL, NULL}, + [DECOR_YELLOW_BALLOON] = {NULL, NULL}, + [DECOR_RED_TENT] = {gDecorIcon_RedTent, gDecorIconPalette_RedTent}, + [DECOR_BLUE_TENT] = {gDecorIcon_BlueTent, gDecorIconPalette_BlueTent}, + [DECOR_SOLID_BOARD] = {gDecorIcon_SolidBoard, gDecorIconPalette_SolidBoard}, + [DECOR_SLIDE] = {gDecorIcon_Slide, gDecorIconPalette_Slide}, + [DECOR_FENCE_LENGTH] = {NULL, NULL}, + [DECOR_FENCE_WIDTH] = {NULL, NULL}, + [DECOR_TIRE] = {gDecorIcon_Tire, gDecorIconPalette_Tire}, + [DECOR_STAND] = {gDecorIcon_Stand, gDecorIconPalette_Stand}, + [DECOR_MUD_BALL] = {NULL, NULL}, + [DECOR_BREAKABLE_DOOR] = {gDecorIcon_BreakableDoor, gDecorIconPalette_BreakableDoor}, + [DECOR_SAND_ORNAMENT] = {gDecorIcon_SandOrnament, gDecorIconPalette_SandOrnament}, + [DECOR_SILVER_SHIELD] = {NULL, NULL}, + [DECOR_GOLD_SHIELD] = {NULL, NULL}, + [DECOR_GLASS_ORNAMENT] = {gDecorIcon_GlassOrnament, gDecorIconPalette_GlassOrnament}, + [DECOR_TV] = {NULL, NULL}, + [DECOR_ROUND_TV] = {NULL, NULL}, + [DECOR_CUTE_TV] = {NULL, NULL}, + [DECOR_GLITTER_MAT] = {NULL, NULL}, + [DECOR_JUMP_MAT] = {NULL, NULL}, + [DECOR_SPIN_MAT] = {NULL, NULL}, + [DECOR_C_LOW_NOTE_MAT] = {NULL, NULL}, + [DECOR_D_NOTE_MAT] = {NULL, NULL}, + [DECOR_E_NOTE_MAT] = {NULL, NULL}, + [DECOR_F_NOTE_MAT] = {NULL, NULL}, + [DECOR_G_NOTE_MAT] = {NULL, NULL}, + [DECOR_A_NOTE_MAT] = {NULL, NULL}, + [DECOR_B_NOTE_MAT] = {NULL, NULL}, + [DECOR_C_HIGH_NOTE_MAT] = {NULL, NULL}, + [DECOR_SURF_MAT] = {gDecorIcon_SurfMat, gDecorIconPalette_SurfMat}, + [DECOR_THUNDER_MAT] = {gDecorIcon_ThunderMat, gDecorIconPalette_ThunderMat}, + [DECOR_FIRE_BLAST_MAT] = {gDecorIcon_FireBlastMat, gDecorIconPalette_FireBlastMat}, + [DECOR_POWDER_SNOW_MAT] = {gDecorIcon_PowderSnowMat, gDecorIconPalette_PowderSnowMat}, + [DECOR_ATTRACT_MAT] = {gDecorIcon_AttractMat, gDecorIconPalette_AttractMat}, + [DECOR_FISSURE_MAT] = {gDecorIcon_FissureMat, gDecorIconPalette_FissureMat}, + [DECOR_SPIKES_MAT] = {gDecorIcon_SpikesMat, gDecorIconPalette_SpikesMat}, + [DECOR_BALL_POSTER] = {NULL, NULL}, + [DECOR_GREEN_POSTER] = {NULL, NULL}, + [DECOR_RED_POSTER] = {NULL, NULL}, + [DECOR_BLUE_POSTER] = {NULL, NULL}, + [DECOR_CUTE_POSTER] = {NULL, NULL}, + [DECOR_PIKA_POSTER] = {NULL, NULL}, + [DECOR_LONG_POSTER] = {NULL, NULL}, + [DECOR_SEA_POSTER] = {NULL, NULL}, + [DECOR_SKY_POSTER] = {NULL, NULL}, + [DECOR_KISS_POSTER] = {NULL, NULL}, + [DECOR_PICHU_DOLL] = {NULL, NULL}, + [DECOR_PIKACHU_DOLL] = {NULL, NULL}, + [DECOR_MARILL_DOLL] = {NULL, NULL}, + [DECOR_TOGEPI_DOLL] = {NULL, NULL}, + [DECOR_CYNDAQUIL_DOLL] = {NULL, NULL}, + [DECOR_CHIKORITA_DOLL] = {NULL, NULL}, + [DECOR_TOTODILE_DOLL] = {NULL, NULL}, + [DECOR_JIGGLYPUFF_DOLL] = {NULL, NULL}, + [DECOR_MEOWTH_DOLL] = {NULL, NULL}, + [DECOR_CLEFAIRY_DOLL] = {NULL, NULL}, + [DECOR_DITTO_DOLL] = {NULL, NULL}, + [DECOR_SMOOCHUM_DOLL] = {NULL, NULL}, + [DECOR_TREECKO_DOLL] = {NULL, NULL}, + [DECOR_TORCHIC_DOLL] = {NULL, NULL}, + [DECOR_MUDKIP_DOLL] = {NULL, NULL}, + [DECOR_DUSKULL_DOLL] = {NULL, NULL}, + [DECOR_WYNAUT_DOLL] = {NULL, NULL}, + [DECOR_BALTOY_DOLL] = {NULL, NULL}, + [DECOR_KECLEON_DOLL] = {NULL, NULL}, + [DECOR_AZURILL_DOLL] = {NULL, NULL}, + [DECOR_SKITTY_DOLL] = {NULL, NULL}, + [DECOR_SWABLU_DOLL] = {NULL, NULL}, + [DECOR_GULPIN_DOLL] = {NULL, NULL}, + [DECOR_LOTAD_DOLL] = {NULL, NULL}, + [DECOR_SEEDOT_DOLL] = {NULL, NULL}, + [DECOR_PIKA_CUSHION] = {NULL, NULL}, + [DECOR_ROUND_CUSHION] = {NULL, NULL}, + [DECOR_KISS_CUSHION] = {NULL, NULL}, + [DECOR_ZIGZAG_CUSHION] = {NULL, NULL}, + [DECOR_SPIN_CUSHION] = {NULL, NULL}, + [DECOR_DIAMOND_CUSHION] = {NULL, NULL}, + [DECOR_BALL_CUSHION] = {NULL, NULL}, + [DECOR_GRASS_CUSHION] = {NULL, NULL}, + [DECOR_FIRE_CUSHION] = {NULL, NULL}, + [DECOR_WATER_CUSHION] = {NULL, NULL}, + [DECOR_SNORLAX_DOLL] = {gDecorIcon_SnorlaxDoll, gDecorIconPalette_SnorlaxDoll}, + [DECOR_RHYDON_DOLL] = {gDecorIcon_RhydonDoll, gDecorIconPalette_RhydonDoll}, + [DECOR_LAPRAS_DOLL] = {gDecorIcon_LaprasDoll, gDecorIconPalette_LaprasDoll}, + [DECOR_VENUSAUR_DOLL] = {gDecorIcon_VenusaurDoll, gDecorIconPalette_VenusaurDoll}, + [DECOR_CHARIZARD_DOLL] = {gDecorIcon_CharizardDoll, gDecorIconPalette_CharizardDoll}, + [DECOR_BLASTOISE_DOLL] = {gDecorIcon_BlastoiseDoll, gDecorIconPalette_BlastoiseDoll}, + [DECOR_WAILMER_DOLL] = {gDecorIcon_WailmerDoll, gDecorIconPalette_WailmerDoll}, + [DECOR_REGIROCK_DOLL] = {gDecorIcon_RegirockDoll, gDecorIconPalette_RegirockDoll}, + [DECOR_REGICE_DOLL] = {gDecorIcon_RegiceDoll, gDecorIconPalette_RegiceDoll}, + [DECOR_REGISTEEL_DOLL] = {gDecorIcon_RegisteelDoll, gDecorIconPalette_RegisteelDoll} }; diff --git a/src/data/graphics/decorations.h b/src/data/graphics/decorations.h index 62d86d48e..d8b865fcf 100644 --- a/src/data/graphics/decorations.h +++ b/src/data/graphics/decorations.h @@ -1,125 +1,125 @@ -const u32 gUnknown_08DB7AA0[] = INCBIN_U32("graphics/decorations/decor_heavy_desk.4bpp.lz"); -const u32 gUnknown_08DB7B34[] = INCBIN_U32("graphics/decorations/decor_heavy_desk.gbapal.lz"); +const u32 gDecorIcon_HeavyDesk[] = INCBIN_U32("graphics/decorations/decor_heavy_desk.4bpp.lz"); +const u32 gDecorIconPalette_HeavyDesk[] = INCBIN_U32("graphics/decorations/decor_heavy_desk.gbapal.lz"); -const u32 gUnknown_08DB7B5C[] = INCBIN_U32("graphics/decorations/decor_ragged_desk.4bpp.lz"); -const u32 gUnknown_08DB7BEC[] = INCBIN_U32("graphics/decorations/decor_ragged_desk.gbapal.lz"); +const u32 gDecorIcon_RaggedDesk[] = INCBIN_U32("graphics/decorations/decor_ragged_desk.4bpp.lz"); +const u32 gDecorIconPalette_RaggedDesk[] = INCBIN_U32("graphics/decorations/decor_ragged_desk.gbapal.lz"); -const u32 gUnknown_08DB7C08[] = INCBIN_U32("graphics/decorations/decor_comfort_desk.4bpp.lz"); -const u32 gUnknown_08DB7CE8[] = INCBIN_U32("graphics/decorations/decor_comfort_desk.gbapal.lz"); +const u32 gDecorIcon_ComfortDesk[] = INCBIN_U32("graphics/decorations/decor_comfort_desk.4bpp.lz"); +const u32 gDecorIconPalette_ComfortDesk[] = INCBIN_U32("graphics/decorations/decor_comfort_desk.gbapal.lz"); -const u32 gUnknown_08DB7D08[] = INCBIN_U32("graphics/decorations/decor_pretty_desk.4bpp.lz"); -const u32 gUnknown_08DB7DCC[] = INCBIN_U32("graphics/decorations/decor_pretty_desk.gbapal.lz"); +const u32 gDecorIcon_PrettyDesk[] = INCBIN_U32("graphics/decorations/decor_pretty_desk.4bpp.lz"); +const u32 gDecorIconPalette_PrettyDesk[] = INCBIN_U32("graphics/decorations/decor_pretty_desk.gbapal.lz"); -const u32 gUnknown_08DB7DF4[] = INCBIN_U32("graphics/decorations/decor_brick_desk.4bpp.lz"); -const u32 gUnknown_08DB7EA0[] = INCBIN_U32("graphics/decorations/decor_brick_desk.gbapal.lz"); +const u32 gDecorIcon_BrickDesk[] = INCBIN_U32("graphics/decorations/decor_brick_desk.4bpp.lz"); +const u32 gDecorIconPalette_BrickDesk[] = INCBIN_U32("graphics/decorations/decor_brick_desk.gbapal.lz"); -const u32 gUnknown_08DB7EC4[] = INCBIN_U32("graphics/decorations/decor_camp_desk.4bpp.lz"); -const u32 gUnknown_08DB7F60[] = INCBIN_U32("graphics/decorations/decor_camp_desk.gbapal.lz"); +const u32 gDecorIcon_CampDesk[] = INCBIN_U32("graphics/decorations/decor_camp_desk.4bpp.lz"); +const u32 gDecorIconPalette_CampDesk[] = INCBIN_U32("graphics/decorations/decor_camp_desk.gbapal.lz"); -const u32 gUnknown_08DB7F7C[] = INCBIN_U32("graphics/decorations/decor_hard_desk.4bpp.lz"); -const u32 gUnknown_08DB8070[] = INCBIN_U32("graphics/decorations/decor_hard_desk.gbapal.lz"); +const u32 gDecorIcon_HardDesk[] = INCBIN_U32("graphics/decorations/decor_hard_desk.4bpp.lz"); +const u32 gDecorIconPalette_HardDesk[] = INCBIN_U32("graphics/decorations/decor_hard_desk.gbapal.lz"); -const u32 gUnknown_08DB808C[] = INCBIN_U32("graphics/decorations/decor_red_plant.4bpp.lz"); -const u32 gUnknown_08DB8138[] = INCBIN_U32("graphics/decorations/decor_red_plant.gbapal.lz"); +const u32 gDecorIcon_RedPlant[] = INCBIN_U32("graphics/decorations/decor_red_plant.4bpp.lz"); +const u32 gDecorIconPalette_RedPlant[] = INCBIN_U32("graphics/decorations/decor_red_plant.gbapal.lz"); -const u32 gUnknown_08DB8160[] = INCBIN_U32("graphics/decorations/decor_tropical_plant.4bpp.lz"); -const u32 gUnknown_08DB8218[] = INCBIN_U32("graphics/decorations/decor_tropical_plant.gbapal.lz"); +const u32 gDecorIcon_TropicalPlant[] = INCBIN_U32("graphics/decorations/decor_tropical_plant.4bpp.lz"); +const u32 gDecorIconPalette_TropicalPlant[] = INCBIN_U32("graphics/decorations/decor_tropical_plant.gbapal.lz"); -const u32 gUnknown_08DB823C[] = INCBIN_U32("graphics/decorations/decor_pretty_flowers.4bpp.lz"); -const u32 gUnknown_08DB8300[] = INCBIN_U32("graphics/decorations/decor_pretty_flowers.gbapal.lz"); +const u32 gDecorIcon_PrettyFlowers[] = INCBIN_U32("graphics/decorations/decor_pretty_flowers.4bpp.lz"); +const u32 gDecorIconPalette_PrettyFlowers[] = INCBIN_U32("graphics/decorations/decor_pretty_flowers.gbapal.lz"); -const u32 gUnknown_08DB8328[] = INCBIN_U32("graphics/decorations/decor_colorful_plant.4bpp.lz"); -const u32 gUnknown_08DB8430[] = INCBIN_U32("graphics/decorations/decor_colorful_plant.gbapal.lz"); +const u32 gDecorIcon_ColorfulPlant[] = INCBIN_U32("graphics/decorations/decor_colorful_plant.4bpp.lz"); +const u32 gDecorIconPalette_ColorfulPlant[] = INCBIN_U32("graphics/decorations/decor_colorful_plant.gbapal.lz"); -const u32 gUnknown_08DB8458[] = INCBIN_U32("graphics/decorations/decor_big_plant.4bpp.lz"); -const u32 gUnknown_08DB8528[] = INCBIN_U32("graphics/decorations/decor_big_plant.gbapal.lz"); +const u32 gDecorIcon_BigPlant[] = INCBIN_U32("graphics/decorations/decor_big_plant.4bpp.lz"); +const u32 gDecorIconPalette_BigPlant[] = INCBIN_U32("graphics/decorations/decor_big_plant.gbapal.lz"); -const u32 gUnknown_08DB854C[] = INCBIN_U32("graphics/decorations/decor_gorgeous_plant.4bpp.lz"); -const u32 gUnknown_08DB862C[] = INCBIN_U32("graphics/decorations/decor_gorgeous_plant.gbapal.lz"); +const u32 gDecorIcon_GorgeousPlant[] = INCBIN_U32("graphics/decorations/decor_gorgeous_plant.4bpp.lz"); +const u32 gDecorIconPalette_GorgeousPlant[] = INCBIN_U32("graphics/decorations/decor_gorgeous_plant.gbapal.lz"); -const u32 gUnknown_08DB8654[] = INCBIN_U32("graphics/decorations/decor_red_brick.4bpp.lz"); -const u32 gUnknown_08DB86C4[] = INCBIN_U32("graphics/decorations/decor_red_brick.gbapal.lz"); +const u32 gDecorIcon_RedBrick[] = INCBIN_U32("graphics/decorations/decor_red_brick.4bpp.lz"); +const u32 gDecorIconPalette_RedBrick[] = INCBIN_U32("graphics/decorations/decor_red_brick.gbapal.lz"); -const u32 gUnknown_08DB86E0[] = INCBIN_U32("graphics/decorations/decor_yellow_brick.4bpp.lz"); -const u32 gUnknown_08DB8750[] = INCBIN_U32("graphics/decorations/decor_yellow_brick.gbapal.lz"); +const u32 gDecorIcon_YellowBrick[] = INCBIN_U32("graphics/decorations/decor_yellow_brick.4bpp.lz"); +const u32 gDecorIconPalette_YellowBrick[] = INCBIN_U32("graphics/decorations/decor_yellow_brick.gbapal.lz"); -const u32 gUnknown_08DB876C[] = INCBIN_U32("graphics/decorations/decor_blue_brick.4bpp.lz"); -const u32 gUnknown_08DB87DC[] = INCBIN_U32("graphics/decorations/decor_blue_brick.gbapal.lz"); +const u32 gDecorIcon_BlueBrick[] = INCBIN_U32("graphics/decorations/decor_blue_brick.4bpp.lz"); +const u32 gDecorIconPalette_BlueBrick[] = INCBIN_U32("graphics/decorations/decor_blue_brick.gbapal.lz"); -const u32 gUnknown_08DB87F8[] = INCBIN_U32("graphics/decorations/decor_red_tent.4bpp.lz"); -const u32 gUnknown_08DB88D8[] = INCBIN_U32("graphics/decorations/decor_red_tent.gbapal.lz"); +const u32 gDecorIcon_RedTent[] = INCBIN_U32("graphics/decorations/decor_red_tent.4bpp.lz"); +const u32 gDecorIconPalette_RedTent[] = INCBIN_U32("graphics/decorations/decor_red_tent.gbapal.lz"); -const u32 gUnknown_08DB8900[] = INCBIN_U32("graphics/decorations/decor_blue_tent.4bpp.lz"); -const u32 gUnknown_08DB89E0[] = INCBIN_U32("graphics/decorations/decor_blue_tent.gbapal.lz"); +const u32 gDecorIcon_BlueTent[] = INCBIN_U32("graphics/decorations/decor_blue_tent.4bpp.lz"); +const u32 gDecorIconPalette_BlueTent[] = INCBIN_U32("graphics/decorations/decor_blue_tent.gbapal.lz"); -const u32 gUnknown_08DB8A08[] = INCBIN_U32("graphics/decorations/decor_solid_board.4bpp.lz"); -const u32 gUnknown_08DB8A68[] = INCBIN_U32("graphics/decorations/decor_solid_board.gbapal.lz"); +const u32 gDecorIcon_SolidBoard[] = INCBIN_U32("graphics/decorations/decor_solid_board.4bpp.lz"); +const u32 gDecorIconPalette_SolidBoard[] = INCBIN_U32("graphics/decorations/decor_solid_board.gbapal.lz"); -const u32 gUnknown_08DB8A84[] = INCBIN_U32("graphics/decorations/decor_slide.4bpp.lz"); -const u32 gUnknown_08DB8B40[] = INCBIN_U32("graphics/decorations/decor_slide.gbapal.lz"); +const u32 gDecorIcon_Slide[] = INCBIN_U32("graphics/decorations/decor_slide.4bpp.lz"); +const u32 gDecorIconPalette_Slide[] = INCBIN_U32("graphics/decorations/decor_slide.gbapal.lz"); -const u32 gUnknown_08DB8B68[] = INCBIN_U32("graphics/decorations/decor_tire.4bpp.lz"); -const u32 gUnknown_08DB8C40[] = INCBIN_U32("graphics/decorations/decor_tire.gbapal.lz"); +const u32 gDecorIcon_Tire[] = INCBIN_U32("graphics/decorations/decor_tire.4bpp.lz"); +const u32 gDecorIconPalette_Tire[] = INCBIN_U32("graphics/decorations/decor_tire.gbapal.lz"); -const u32 gUnknown_08DB8C5C[] = INCBIN_U32("graphics/decorations/decor_stand.4bpp.lz"); -const u32 gUnknown_08DB8CF4[] = INCBIN_U32("graphics/decorations/decor_stand.gbapal.lz"); +const u32 gDecorIcon_Stand[] = INCBIN_U32("graphics/decorations/decor_stand.4bpp.lz"); +const u32 gDecorIconPalette_Stand[] = INCBIN_U32("graphics/decorations/decor_stand.gbapal.lz"); -const u32 gUnknown_08DB8D18[] = INCBIN_U32("graphics/decorations/decor_breakable_door.4bpp.lz"); -const u32 gUnknown_08DB8DB0[] = INCBIN_U32("graphics/decorations/decor_breakable_door.gbapal.lz"); +const u32 gDecorIcon_BreakableDoor[] = INCBIN_U32("graphics/decorations/decor_breakable_door.4bpp.lz"); +const u32 gDecorIconPalette_BreakableDoor[] = INCBIN_U32("graphics/decorations/decor_breakable_door.gbapal.lz"); -const u32 gUnknown_08DB8DD4[] = INCBIN_U32("graphics/decorations/decor_sand_ornament.4bpp.lz"); -const u32 gUnknown_08DB8E80[] = INCBIN_U32("graphics/decorations/decor_sand_ornament.gbapal.lz"); +const u32 gDecorIcon_SandOrnament[] = INCBIN_U32("graphics/decorations/decor_sand_ornament.4bpp.lz"); +const u32 gDecorIconPalette_SandOrnament[] = INCBIN_U32("graphics/decorations/decor_sand_ornament.gbapal.lz"); -const u32 gUnknown_08DB8EA0[] = INCBIN_U32("graphics/decorations/decor_glass_ornament.4bpp.lz"); -const u32 gUnknown_08DB8F58[] = INCBIN_U32("graphics/decorations/decor_glass_ornament.gbapal.lz"); +const u32 gDecorIcon_GlassOrnament[] = INCBIN_U32("graphics/decorations/decor_glass_ornament.4bpp.lz"); +const u32 gDecorIconPalette_GlassOrnament[] = INCBIN_U32("graphics/decorations/decor_glass_ornament.gbapal.lz"); -const u32 gUnknown_08DB8F7C[] = INCBIN_U32("graphics/decorations/decor_surf_mat.4bpp.lz"); -const u32 gUnknown_08DB9038[] = INCBIN_U32("graphics/decorations/decor_surf_mat.gbapal.lz"); +const u32 gDecorIcon_SurfMat[] = INCBIN_U32("graphics/decorations/decor_surf_mat.4bpp.lz"); +const u32 gDecorIconPalette_SurfMat[] = INCBIN_U32("graphics/decorations/decor_surf_mat.gbapal.lz"); -const u32 gUnknown_08DB9058[] = INCBIN_U32("graphics/decorations/decor_thunder_mat.4bpp.lz"); -const u32 gUnknown_08DB9130[] = INCBIN_U32("graphics/decorations/decor_thunder_mat.gbapal.lz"); +const u32 gDecorIcon_ThunderMat[] = INCBIN_U32("graphics/decorations/decor_thunder_mat.4bpp.lz"); +const u32 gDecorIconPalette_ThunderMat[] = INCBIN_U32("graphics/decorations/decor_thunder_mat.gbapal.lz"); -const u32 gUnknown_08DB9154[] = INCBIN_U32("graphics/decorations/decor_fire_blast_mat.4bpp.lz"); -const u32 gUnknown_08DB9218[] = INCBIN_U32("graphics/decorations/decor_fire_blast_mat.gbapal.lz"); +const u32 gDecorIcon_FireBlastMat[] = INCBIN_U32("graphics/decorations/decor_fire_blast_mat.4bpp.lz"); +const u32 gDecorIconPalette_FireBlastMat[] = INCBIN_U32("graphics/decorations/decor_fire_blast_mat.gbapal.lz"); -const u32 gUnknown_08DB9234[] = INCBIN_U32("graphics/decorations/decor_powder_snow_mat.4bpp.lz"); -const u32 gUnknown_08DB92FC[] = INCBIN_U32("graphics/decorations/decor_powder_snow_mat.gbapal.lz"); +const u32 gDecorIcon_PowderSnowMat[] = INCBIN_U32("graphics/decorations/decor_powder_snow_mat.4bpp.lz"); +const u32 gDecorIconPalette_PowderSnowMat[] = INCBIN_U32("graphics/decorations/decor_powder_snow_mat.gbapal.lz"); -const u32 gUnknown_08DB931C[] = INCBIN_U32("graphics/decorations/decor_attract_mat.4bpp.lz"); -const u32 gUnknown_08DB93E8[] = INCBIN_U32("graphics/decorations/decor_attract_mat.gbapal.lz"); +const u32 gDecorIcon_AttractMat[] = INCBIN_U32("graphics/decorations/decor_attract_mat.4bpp.lz"); +const u32 gDecorIconPalette_AttractMat[] = INCBIN_U32("graphics/decorations/decor_attract_mat.gbapal.lz"); -const u32 gUnknown_08DB940C[] = INCBIN_U32("graphics/decorations/decor_fissure_mat.4bpp.lz"); -const u32 gUnknown_08DB94CC[] = INCBIN_U32("graphics/decorations/decor_fissure_mat.gbapal.lz"); +const u32 gDecorIcon_FissureMat[] = INCBIN_U32("graphics/decorations/decor_fissure_mat.4bpp.lz"); +const u32 gDecorIconPalette_FissureMat[] = INCBIN_U32("graphics/decorations/decor_fissure_mat.gbapal.lz"); -const u32 gUnknown_08DB94E8[] = INCBIN_U32("graphics/decorations/decor_spikes_mat.4bpp.lz"); -const u32 gUnknown_08DB95AC[] = INCBIN_U32("graphics/decorations/decor_spikes_mat.gbapal.lz"); +const u32 gDecorIcon_SpikesMat[] = INCBIN_U32("graphics/decorations/decor_spikes_mat.4bpp.lz"); +const u32 gDecorIconPalette_SpikesMat[] = INCBIN_U32("graphics/decorations/decor_spikes_mat.gbapal.lz"); -const u32 gUnknown_08DB95D0[] = INCBIN_U32("graphics/decorations/decor_snorlax_doll.4bpp.lz"); -const u32 gUnknown_08DB96C4[] = INCBIN_U32("graphics/decorations/decor_snorlax_doll.gbapal.lz"); +const u32 gDecorIcon_SnorlaxDoll[] = INCBIN_U32("graphics/decorations/decor_snorlax_doll.4bpp.lz"); +const u32 gDecorIconPalette_SnorlaxDoll[] = INCBIN_U32("graphics/decorations/decor_snorlax_doll.gbapal.lz"); -const u32 gUnknown_08DB96EC[] = INCBIN_U32("graphics/decorations/decor_rhydon_doll.4bpp.lz"); -const u32 gUnknown_08DB97F4[] = INCBIN_U32("graphics/decorations/decor_rhydon_doll.gbapal.lz"); +const u32 gDecorIcon_RhydonDoll[] = INCBIN_U32("graphics/decorations/decor_rhydon_doll.4bpp.lz"); +const u32 gDecorIconPalette_RhydonDoll[] = INCBIN_U32("graphics/decorations/decor_rhydon_doll.gbapal.lz"); -const u32 gUnknown_08DB981C[] = INCBIN_U32("graphics/decorations/decor_lapras_doll.4bpp.lz"); -const u32 gUnknown_08DB9908[] = INCBIN_U32("graphics/decorations/decor_lapras_doll.gbapal.lz"); +const u32 gDecorIcon_LaprasDoll[] = INCBIN_U32("graphics/decorations/decor_lapras_doll.4bpp.lz"); +const u32 gDecorIconPalette_LaprasDoll[] = INCBIN_U32("graphics/decorations/decor_lapras_doll.gbapal.lz"); -const u32 gUnknown_08DB9930[] = INCBIN_U32("graphics/decorations/decor_venusaur_doll.4bpp.lz"); -const u32 gUnknown_08DB9A54[] = INCBIN_U32("graphics/decorations/decor_venusaur_doll.gbapal.lz"); +const u32 gDecorIcon_VenusaurDoll[] = INCBIN_U32("graphics/decorations/decor_venusaur_doll.4bpp.lz"); +const u32 gDecorIconPalette_VenusaurDoll[] = INCBIN_U32("graphics/decorations/decor_venusaur_doll.gbapal.lz"); -const u32 gUnknown_08DB9A7C[] = INCBIN_U32("graphics/decorations/decor_charizard_doll.4bpp.lz"); -const u32 gUnknown_08DB9B7C[] = INCBIN_U32("graphics/decorations/decor_charizard_doll.gbapal.lz"); +const u32 gDecorIcon_CharizardDoll[] = INCBIN_U32("graphics/decorations/decor_charizard_doll.4bpp.lz"); +const u32 gDecorIconPalette_CharizardDoll[] = INCBIN_U32("graphics/decorations/decor_charizard_doll.gbapal.lz"); -const u32 gUnknown_08DB9BA4[] = INCBIN_U32("graphics/decorations/decor_blastoise_doll.4bpp.lz"); -const u32 gUnknown_08DB9CB0[] = INCBIN_U32("graphics/decorations/decor_blastoise_doll.gbapal.lz"); +const u32 gDecorIcon_BlastoiseDoll[] = INCBIN_U32("graphics/decorations/decor_blastoise_doll.4bpp.lz"); +const u32 gDecorIconPalette_BlastoiseDoll[] = INCBIN_U32("graphics/decorations/decor_blastoise_doll.gbapal.lz"); -const u32 gUnknown_08DB9CD8[] = INCBIN_U32("graphics/decorations/decor_wailmer_doll.4bpp.lz"); -const u32 gUnknown_08DB9DAC[] = INCBIN_U32("graphics/decorations/decor_wailmer_doll.gbapal.lz"); +const u32 gDecorIcon_WailmerDoll[] = INCBIN_U32("graphics/decorations/decor_wailmer_doll.4bpp.lz"); +const u32 gDecorIconPalette_WailmerDoll[] = INCBIN_U32("graphics/decorations/decor_wailmer_doll.gbapal.lz"); -const u32 gUnknown_08DB9DD4[] = INCBIN_U32("graphics/decorations/decor_regice_doll.4bpp.lz"); -const u32 gUnknown_08DB9EE4[] = INCBIN_U32("graphics/decorations/decor_regice_doll.gbapal.lz"); +const u32 gDecorIcon_RegiceDoll[] = INCBIN_U32("graphics/decorations/decor_regice_doll.4bpp.lz"); +const u32 gDecorIconPalette_RegiceDoll[] = INCBIN_U32("graphics/decorations/decor_regice_doll.gbapal.lz"); -const u32 gUnknown_08DB9F08[] = INCBIN_U32("graphics/decorations/decor_regirock_doll.4bpp.lz"); -const u32 gUnknown_08DB9FFC[] = INCBIN_U32("graphics/decorations/decor_regirock_doll.gbapal.lz"); +const u32 gDecorIcon_RegirockDoll[] = INCBIN_U32("graphics/decorations/decor_regirock_doll.4bpp.lz"); +const u32 gDecorIconPalette_RegirockDoll[] = INCBIN_U32("graphics/decorations/decor_regirock_doll.gbapal.lz"); -const u32 gUnknown_08DBA020[] = INCBIN_U32("graphics/decorations/decor_registeel_doll.4bpp.lz"); -const u32 gUnknown_08DBA12C[] = INCBIN_U32("graphics/decorations/decor_registeel_doll.gbapal.lz"); +const u32 gDecorIcon_RegisteelDoll[] = INCBIN_U32("graphics/decorations/decor_registeel_doll.4bpp.lz"); +const u32 gDecorIconPalette_RegisteelDoll[] = INCBIN_U32("graphics/decorations/decor_registeel_doll.gbapal.lz"); diff --git a/src/decoration.c b/src/decoration.c index 974859c88..4efeb19b1 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -2043,7 +2043,7 @@ const u32 *GetDecorationIconPicOrPalette(u16 decor, u8 mode) if (decor > NUM_DECORATIONS) decor = DECOR_NONE; - return gUnknown_085A6BE8[decor][mode]; + return gDecorIconTable[decor][mode]; } u8 AddDecorationIconObjectFromEventObject(u16 tilesTag, u16 paletteTag, u8 decor) @@ -2095,7 +2095,7 @@ u8 AddDecorationIconObject(u8 decor, s16 x, s16 y, u8 priority, u16 tilesTag, u1 gSprites[spriteId].pos2.x = x + 4; gSprites[spriteId].pos2.y = y + 4; } - else if (gUnknown_085A6BE8[decor][0] == NULL) + else if (gDecorIconTable[decor][0] == NULL) { spriteId = AddDecorationIconObjectFromEventObject(tilesTag, paletteTag, decor); if (spriteId == MAX_SPRITES) -- cgit v1.2.3 From f9a8f44a290c777bf4d9c4dff3fd79c75f2a2ae7 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Sun, 15 Sep 2019 15:30:35 -0400 Subject: Document script_movement --- src/event_obj_lock.c | 4 +- src/match_call.c | 2 +- src/mossdeep_gym.c | 2 +- src/scrcmd.c | 4 +- src/script_movement.c | 174 +++++++++++++++++++++++++------------------------- 5 files changed, 94 insertions(+), 92 deletions(-) (limited to 'src') diff --git a/src/event_obj_lock.c b/src/event_obj_lock.c index 566b4931d..089c2dc9d 100644 --- a/src/event_obj_lock.c +++ b/src/event_obj_lock.c @@ -92,7 +92,7 @@ void ScriptUnfreezeEventObjects(void) { u8 playerObjectId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); EventObjectClearHeldMovementIfFinished(&gEventObjects[playerObjectId]); - sub_80D338C(); + ScriptMovement_StopAll(); UnfreezeEventObjects(); } @@ -104,7 +104,7 @@ void sub_8098524(void) EventObjectClearHeldMovementIfFinished(&gEventObjects[gSelectedEventObject]); playerObjectId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); EventObjectClearHeldMovementIfFinished(&gEventObjects[playerObjectId]); - sub_80D338C(); + ScriptMovement_StopAll(); UnfreezeEventObjects(); } diff --git a/src/match_call.c b/src/match_call.c index b02af9977..c6ad4710b 100644 --- a/src/match_call.c +++ b/src/match_call.c @@ -1290,7 +1290,7 @@ static bool32 sub_81963F0(u8 taskId) sub_81973A4(); playerObjectId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); EventObjectClearHeldMovementIfFinished(&gEventObjects[playerObjectId]); - sub_80D338C(); + ScriptMovement_StopAll(); UnfreezeEventObjects(); ScriptContext2_Disable(); } diff --git a/src/mossdeep_gym.c b/src/mossdeep_gym.c index d8adbe0c6..6cd39063d 100644 --- a/src/mossdeep_gym.c +++ b/src/mossdeep_gym.c @@ -55,7 +55,7 @@ void FinishMossdeepGymTiles(void) id = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); EventObjectClearHeldMovementIfFinished(&gEventObjects[id]); - sub_80D338C(); + ScriptMovement_StopAll(); } u16 MossdeepGym_MoveEvents(u8 arg0) diff --git a/src/scrcmd.c b/src/scrcmd.c index 0326a56a4..5ee7ddb0f 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -1247,7 +1247,7 @@ bool8 ScrCmd_releaseall(struct ScriptContext *ctx) HideFieldMessageBox(); playerObjectId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); EventObjectClearHeldMovementIfFinished(&gEventObjects[playerObjectId]); - sub_80D338C(); + ScriptMovement_StopAll(); UnfreezeEventObjects(); return FALSE; } @@ -1261,7 +1261,7 @@ bool8 ScrCmd_release(struct ScriptContext *ctx) EventObjectClearHeldMovementIfFinished(&gEventObjects[gSelectedEventObject]); playerObjectId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); EventObjectClearHeldMovementIfFinished(&gEventObjects[playerObjectId]); - sub_80D338C(); + ScriptMovement_StopAll(); UnfreezeEventObjects(); return FALSE; } diff --git a/src/script_movement.c b/src/script_movement.c index 9fee9e060..91a19bb81 100644 --- a/src/script_movement.c +++ b/src/script_movement.c @@ -3,20 +3,22 @@ #include "event_object_movement.h" #include "task.h" #include "util.h" +#include "constants/event_objects.h" +#include "constants/event_object_movement_constants.h" // static functions -static void sub_80D33AC(u8); -static u8 sub_80D33F4(void); -static bool8 sub_80D3408(u8, u8, const u8 *); -static u8 sub_80D3474(u8, u8); -static bool8 sub_80D3584(u8, u8); -static void sub_80D35DC(u8, u8, u8, const u8 *); -static void UnfreezeObjects(u8); -static void sub_80D3660(u8); -static void sub_80A2490(u8, u8, u8, const u8 *); +static void ScriptMovement_StartMoveObjects(u8 priority); +static u8 GetMoveObjectsTaskId(void); +static bool8 ScriptMovement_TryAddNewMovement(u8 taskId, u8 eventObjId, const u8 *movementScript); +static u8 GetMovementScriptIdFromEventObjectId(u8 taskId, u8 eventObjId); +static bool8 IsMovementScriptFinished(u8 taskId, u8 moveScrId); +static void ScriptMovement_AddNewMovement(u8 taskId, u8 moveScrId, u8 eventObjId, const u8 *movementScript); +static void ScriptMovement_UnfreezeObjects(u8 taskId); +static void ScriptMovement_MoveObjects(u8 taskId); +static void ScriptMovement_TakeStep(u8 taskId, u8 moveScrId, u8 eventObjId, const u8 *movementScript); // EWRAM_DATA -static EWRAM_DATA const u8 *gUnknown_02039D90[16] = {0}; +static EWRAM_DATA const u8 *gMovementScripts[EVENT_OBJECTS_COUNT] = {0}; // text bool8 ScriptMovement_StartObjectMovementScript(u8 localId, u8 mapNum, u8 mapGroup, const u8 *movementScript) @@ -25,207 +27,207 @@ bool8 ScriptMovement_StartObjectMovementScript(u8 localId, u8 mapNum, u8 mapGrou if (TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjId)) return TRUE; - if (!FuncIsActiveTask(sub_80D3660)) - sub_80D33AC(50); - return sub_80D3408(sub_80D33F4(), eventObjId, movementScript); + if (!FuncIsActiveTask(ScriptMovement_MoveObjects)) + ScriptMovement_StartMoveObjects(50); + return ScriptMovement_TryAddNewMovement(GetMoveObjectsTaskId(), eventObjId, movementScript); } -bool8 ScriptMovement_IsObjectMovementFinished(u8 localId, u8 mapNum, u8 mapBank) +bool8 ScriptMovement_IsObjectMovementFinished(u8 localId, u8 mapNum, u8 mapGroup) { u8 eventObjId; - u8 r4; - u8 r1; + u8 taskId; + u8 moveScrId; - if (TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapBank, &eventObjId)) + if (TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjId)) return TRUE; - r4 = sub_80D33F4(); - r1 = sub_80D3474(r4, eventObjId); - if (r1 == 16) + taskId = GetMoveObjectsTaskId(); + moveScrId = GetMovementScriptIdFromEventObjectId(taskId, eventObjId); + if (moveScrId == EVENT_OBJECTS_COUNT) return TRUE; - return sub_80D3584(r4, r1); + return IsMovementScriptFinished(taskId, moveScrId); } -void sub_80D338C(void) +void ScriptMovement_StopAll(void) { u8 taskId; - taskId = sub_80D33F4(); + taskId = GetMoveObjectsTaskId(); if (taskId != 0xFF) { - UnfreezeObjects(taskId); + ScriptMovement_UnfreezeObjects(taskId); DestroyTask(taskId); } } - -static void sub_80D33AC(u8 priority) +static void ScriptMovement_StartMoveObjects(u8 priority) { u8 taskId; u8 i; - taskId = CreateTask(sub_80D3660, priority); - for (i = 1; i < 16; i++) + taskId = CreateTask(ScriptMovement_MoveObjects, priority); + + for (i = 1; i < NUM_TASK_DATA; i++) gTasks[taskId].data[i] = 0xFFFF; } -static u8 sub_80D33F4(void) +static u8 GetMoveObjectsTaskId(void) { - return FindTaskIdByFunc(sub_80D3660); + return FindTaskIdByFunc(ScriptMovement_MoveObjects); } -static bool8 sub_80D3408(u8 taskId, u8 eventObjId, const u8 *movementScript) +static bool8 ScriptMovement_TryAddNewMovement(u8 taskId, u8 eventObjId, const u8 *movementScript) { - u8 r4; + u8 moveScrId; - r4 = sub_80D3474(taskId, eventObjId); - if (r4 != 16) + moveScrId = GetMovementScriptIdFromEventObjectId(taskId, eventObjId); + if (moveScrId != EVENT_OBJECTS_COUNT) { - if (sub_80D3584(taskId, r4) == 0) + if (IsMovementScriptFinished(taskId, moveScrId) == 0) { return TRUE; } else { - sub_80D35DC(taskId, r4, eventObjId, movementScript); + ScriptMovement_AddNewMovement(taskId, moveScrId, eventObjId, movementScript); return FALSE; } } - r4 = sub_80D3474(taskId, 0xFF); - if (r4 == 16) + moveScrId = GetMovementScriptIdFromEventObjectId(taskId, EVENT_OBJ_ID_PLAYER); + if (moveScrId == EVENT_OBJECTS_COUNT) { return TRUE; } else { - sub_80D35DC(taskId, r4, eventObjId, movementScript); + ScriptMovement_AddNewMovement(taskId, moveScrId, eventObjId, movementScript); return FALSE; } } -static u8 sub_80D3474(u8 taskId, u8 b) +static u8 GetMovementScriptIdFromEventObjectId(u8 taskId, u8 eventObjId) { - u8 *ptr; + u8 *moveScriptId; u8 i; - ptr = (u8 *)&gTasks[taskId].data[1]; - for (i = 0; i < 16; i++, ptr++) + moveScriptId = (u8 *)&gTasks[taskId].data[1]; + for (i = 0; i < EVENT_OBJECTS_COUNT; i++, moveScriptId++) { - if (*ptr == b) + if (*moveScriptId == eventObjId) return i; } - return 16; + return EVENT_OBJECTS_COUNT; } -static void sub_80D34B0(u8 taskId, u8 b, u8 **c) +static void LoadEventObjectIdPtrFromMovementScript(u8 taskId, u8 moveScrId, u8 **pEventObjId) { u8 i; - *c = (u8 *)&gTasks[taskId].data[1]; - for (i = 0; i < b; i++, (*c)++) + *pEventObjId = (u8 *)&gTasks[taskId].data[1]; + for (i = 0; i < moveScrId; i++, (*pEventObjId)++) ; } -static void sub_80D34E4(u8 taskId, u8 b, u8 c) +static void SetEventObjectIdAtMovementScript(u8 taskId, u8 moveScrId, u8 eventObjId) { u8 *ptr; - sub_80D34B0(taskId, b, &ptr); - *ptr = c; //what is this supposed to do? + LoadEventObjectIdPtrFromMovementScript(taskId, moveScrId, &ptr); + *ptr = eventObjId; } -static void sub_80D3508(u8 taskId, u8 b, u8 *c) +static void LoadEventObjectIdFromMovementScript(u8 taskId, u8 moveScrId, u8 *eventObjId) { u8 *ptr; - sub_80D34B0(taskId, b, &ptr); - *c = *ptr; + LoadEventObjectIdPtrFromMovementScript(taskId, moveScrId, &ptr); + *eventObjId = *ptr; } -static void sub_80D352C(u8 a, u8 b) +static void ClearMovementScriptFinished(u8 taskId, u8 moveScrId) { - u16 var = ~gBitTable[b]; + u16 mask = ~gBitTable[moveScrId]; - gTasks[a].data[0] &= var; + gTasks[taskId].data[0] &= mask; } -static void sub_80D355C(u8 taskId, u8 b) +static void SetMovementScriptFinished(u8 taskId, u8 moveScrId) { - gTasks[taskId].data[0] |= gBitTable[b]; + gTasks[taskId].data[0] |= gBitTable[moveScrId]; } -static bool8 sub_80D3584(u8 taskId, u8 b) +static bool8 IsMovementScriptFinished(u8 taskId, u8 moveScrId) { - u16 var = (u16)gTasks[taskId].data[0] & gBitTable[b]; + u16 moveScriptFinished = (u16)gTasks[taskId].data[0] & gBitTable[moveScrId]; - if (var != 0) + if (moveScriptFinished != 0) return TRUE; else return FALSE; } -static void npc_obj_offscreen_culling_and_flag_update(u8 a, const u8 *movementScript) +static void SetMovementScript(u8 moveScrId, const u8 *movementScript) { - gUnknown_02039D90[a] = movementScript; + gMovementScripts[moveScrId] = movementScript; } -static const u8 *sub_80D35CC(u8 a) +static const u8 *GetMovementScript(u8 moveScrId) { - return gUnknown_02039D90[a]; + return gMovementScripts[moveScrId]; } -static void sub_80D35DC(u8 taskId, u8 b, u8 eventObjId, const u8 *movementScript) +static void ScriptMovement_AddNewMovement(u8 taskId, u8 moveScrId, u8 eventObjId, const u8 *movementScript) { - sub_80D352C(taskId, b); - npc_obj_offscreen_culling_and_flag_update(b, movementScript); - sub_80D34E4(taskId, b, eventObjId); + ClearMovementScriptFinished(taskId, moveScrId); + SetMovementScript(moveScrId, movementScript); + SetEventObjectIdAtMovementScript(taskId, moveScrId, eventObjId); } -static void UnfreezeObjects(u8 taskId) +static void ScriptMovement_UnfreezeObjects(u8 taskId) { u8 *pEventObjId; u8 i; pEventObjId = (u8 *)&gTasks[taskId].data[1]; - for (i = 0; i < 16; i++, pEventObjId++) + for (i = 0; i < EVENT_OBJECTS_COUNT; i++, pEventObjId++) { if (*pEventObjId != 0xFF) UnfreezeEventObject(&gEventObjects[*pEventObjId]); } } -static void sub_80D3660(u8 taskId) +static void ScriptMovement_MoveObjects(u8 taskId) { u8 i; - u8 var; + u8 eventObjId; - for (i = 0; i < 16; i++) + for (i = 0; i < EVENT_OBJECTS_COUNT; i++) { - sub_80D3508(taskId, i, &var); - if (var != 0xFF) - sub_80A2490(taskId, i, var, sub_80D35CC(i)); + LoadEventObjectIdFromMovementScript(taskId, i, &eventObjId); + if (eventObjId != 0xFF) + ScriptMovement_TakeStep(taskId, i, eventObjId, GetMovementScript(i)); } } -static void sub_80A2490(u8 taskId, u8 b, u8 eventObjId, const u8 *d) +static void ScriptMovement_TakeStep(u8 taskId, u8 moveScrId, u8 eventObjId, const u8 *movementScript) { - u8 var; + u8 nextMoveActionId; if (EventObjectIsHeldMovementActive(&gEventObjects[eventObjId]) && !EventObjectClearHeldMovementIfFinished(&gEventObjects[eventObjId])) return; - var = *d; - if (var == 0xFE) + nextMoveActionId = *movementScript; + if (nextMoveActionId == MOVEMENT_ACTION_STEP_END) { - sub_80D355C(taskId, b); + SetMovementScriptFinished(taskId, moveScrId); FreezeEventObject(&gEventObjects[eventObjId]); } else { - if (!EventObjectSetHeldMovement(&gEventObjects[eventObjId], var)) + if (!EventObjectSetHeldMovement(&gEventObjects[eventObjId], nextMoveActionId)) { - d++; - npc_obj_offscreen_culling_and_flag_update(b, d); + movementScript++; + SetMovementScript(moveScrId, movementScript); } } } -- cgit v1.2.3 From 340c4e1411fa2aea8345d6f9af75577644ab8b9b Mon Sep 17 00:00:00 2001 From: GriffinR Date: Mon, 16 Sep 2019 00:22:50 -0400 Subject: Clean up script_movement documentation --- src/event_obj_lock.c | 4 ++-- src/match_call.c | 2 +- src/mossdeep_gym.c | 2 +- src/scrcmd.c | 4 ++-- src/script_movement.c | 8 ++++---- 5 files changed, 10 insertions(+), 10 deletions(-) (limited to 'src') diff --git a/src/event_obj_lock.c b/src/event_obj_lock.c index 089c2dc9d..22a29fd5d 100644 --- a/src/event_obj_lock.c +++ b/src/event_obj_lock.c @@ -92,7 +92,7 @@ void ScriptUnfreezeEventObjects(void) { u8 playerObjectId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); EventObjectClearHeldMovementIfFinished(&gEventObjects[playerObjectId]); - ScriptMovement_StopAll(); + ScriptMovement_UnfreezeEventObjects(); UnfreezeEventObjects(); } @@ -104,7 +104,7 @@ void sub_8098524(void) EventObjectClearHeldMovementIfFinished(&gEventObjects[gSelectedEventObject]); playerObjectId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); EventObjectClearHeldMovementIfFinished(&gEventObjects[playerObjectId]); - ScriptMovement_StopAll(); + ScriptMovement_UnfreezeEventObjects(); UnfreezeEventObjects(); } diff --git a/src/match_call.c b/src/match_call.c index c6ad4710b..4b0134d2c 100644 --- a/src/match_call.c +++ b/src/match_call.c @@ -1290,7 +1290,7 @@ static bool32 sub_81963F0(u8 taskId) sub_81973A4(); playerObjectId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); EventObjectClearHeldMovementIfFinished(&gEventObjects[playerObjectId]); - ScriptMovement_StopAll(); + ScriptMovement_UnfreezeEventObjects(); UnfreezeEventObjects(); ScriptContext2_Disable(); } diff --git a/src/mossdeep_gym.c b/src/mossdeep_gym.c index 6cd39063d..880780638 100644 --- a/src/mossdeep_gym.c +++ b/src/mossdeep_gym.c @@ -55,7 +55,7 @@ void FinishMossdeepGymTiles(void) id = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); EventObjectClearHeldMovementIfFinished(&gEventObjects[id]); - ScriptMovement_StopAll(); + ScriptMovement_UnfreezeEventObjects(); } u16 MossdeepGym_MoveEvents(u8 arg0) diff --git a/src/scrcmd.c b/src/scrcmd.c index 5ee7ddb0f..560784c47 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -1247,7 +1247,7 @@ bool8 ScrCmd_releaseall(struct ScriptContext *ctx) HideFieldMessageBox(); playerObjectId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); EventObjectClearHeldMovementIfFinished(&gEventObjects[playerObjectId]); - ScriptMovement_StopAll(); + ScriptMovement_UnfreezeEventObjects(); UnfreezeEventObjects(); return FALSE; } @@ -1261,7 +1261,7 @@ bool8 ScrCmd_release(struct ScriptContext *ctx) EventObjectClearHeldMovementIfFinished(&gEventObjects[gSelectedEventObject]); playerObjectId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); EventObjectClearHeldMovementIfFinished(&gEventObjects[playerObjectId]); - ScriptMovement_StopAll(); + ScriptMovement_UnfreezeEventObjects(); UnfreezeEventObjects(); return FALSE; } diff --git a/src/script_movement.c b/src/script_movement.c index 91a19bb81..03d6b10e8 100644 --- a/src/script_movement.c +++ b/src/script_movement.c @@ -13,7 +13,7 @@ static bool8 ScriptMovement_TryAddNewMovement(u8 taskId, u8 eventObjId, const u8 static u8 GetMovementScriptIdFromEventObjectId(u8 taskId, u8 eventObjId); static bool8 IsMovementScriptFinished(u8 taskId, u8 moveScrId); static void ScriptMovement_AddNewMovement(u8 taskId, u8 moveScrId, u8 eventObjId, const u8 *movementScript); -static void ScriptMovement_UnfreezeObjects(u8 taskId); +static void ScriptMovement_UnfreezeActiveObjects(u8 taskId); static void ScriptMovement_MoveObjects(u8 taskId); static void ScriptMovement_TakeStep(u8 taskId, u8 moveScrId, u8 eventObjId, const u8 *movementScript); @@ -47,14 +47,14 @@ bool8 ScriptMovement_IsObjectMovementFinished(u8 localId, u8 mapNum, u8 mapGroup return IsMovementScriptFinished(taskId, moveScrId); } -void ScriptMovement_StopAll(void) +void ScriptMovement_UnfreezeEventObjects(void) { u8 taskId; taskId = GetMoveObjectsTaskId(); if (taskId != 0xFF) { - ScriptMovement_UnfreezeObjects(taskId); + ScriptMovement_UnfreezeActiveObjects(taskId); DestroyTask(taskId); } } @@ -182,7 +182,7 @@ static void ScriptMovement_AddNewMovement(u8 taskId, u8 moveScrId, u8 eventObjId SetEventObjectIdAtMovementScript(taskId, moveScrId, eventObjId); } -static void ScriptMovement_UnfreezeObjects(u8 taskId) +static void ScriptMovement_UnfreezeActiveObjects(u8 taskId) { u8 *pEventObjId; u8 i; -- cgit v1.2.3 From 06af24bce58b9285166d27fc371ad3c3dbb63a29 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Sun, 15 Sep 2019 23:47:07 -0400 Subject: Use misc ScrCmd constants --- src/battle_util.c | 22 +++++++++++----------- src/berry.c | 1 + src/berry_blender.c | 1 + src/berry_tag_screen.c | 5 +++-- src/pokeblock.c | 2 +- 5 files changed, 17 insertions(+), 14 deletions(-) (limited to 'src') diff --git a/src/battle_util.c b/src/battle_util.c index 03f1482da..4d3ad3c7c 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -1,30 +1,30 @@ #include "global.h" #include "battle.h" #include "battle_anim.h" -#include "constants/battle_script_commands.h" -#include "constants/abilities.h" -#include "constants/moves.h" -#include "constants/hold_effects.h" -#include "constants/battle_anim.h" #include "pokemon.h" -#include "constants/species.h" #include "item.h" -#include "constants/items.h" #include "util.h" -#include "constants/battle_move_effects.h" #include "battle_scripts.h" #include "random.h" #include "text.h" #include "string_util.h" #include "battle_message.h" -#include "constants/battle_string_ids.h" -#include "constants/weather.h" #include "battle_ai_script_commands.h" #include "battle_controllers.h" #include "event_data.h" #include "link.h" -#include "berry.h" #include "field_weather.h" +#include "constants/abilities.h" +#include "constants/battle_anim.h" +#include "constants/battle_move_effects.h" +#include "constants/battle_script_commands.h" +#include "constants/battle_string_ids.h" +#include "constants/berry.h" +#include "constants/hold_effects.h" +#include "constants/items.h" +#include "constants/moves.h" +#include "constants/species.h" +#include "constants/weather.h" // rom const data static const u16 sSoundMovesTable[] = diff --git a/src/berry.c b/src/berry.c index 49acb7d10..bbaa2b03b 100644 --- a/src/berry.c +++ b/src/berry.c @@ -11,6 +11,7 @@ #include "random.h" #include "string_util.h" #include "text.h" +#include "constants/berry.h" #include "constants/event_object_movement_constants.h" #include "constants/items.h" diff --git a/src/berry_blender.c b/src/berry_blender.c index 03764b2f8..911c3e545 100644 --- a/src/berry_blender.c +++ b/src/berry_blender.c @@ -36,6 +36,7 @@ #include "new_game.h" #include "save.h" #include "link.h" +#include "constants/berry.h" #include "constants/rgb.h" #define BLENDER_SCORE_BEST 0 diff --git a/src/berry_tag_screen.c b/src/berry_tag_screen.c index c3eac783d..10a45dc65 100644 --- a/src/berry_tag_screen.c +++ b/src/berry_tag_screen.c @@ -4,7 +4,6 @@ #include "decompress.h" #include "event_object_movement.h" #include "item_menu.h" -#include "constants/items.h" #include "item.h" #include "item_use.h" #include "main.h" @@ -15,7 +14,6 @@ #include "menu_helpers.h" #include "palette.h" #include "overworld.h" -#include "constants/songs.h" #include "sound.h" #include "sprite.h" #include "string_util.h" @@ -28,7 +26,10 @@ #include "item_menu_icons.h" #include "decompress.h" #include "international_string_util.h" +#include "constants/berry.h" +#include "constants/items.h" #include "constants/rgb.h" +#include "constants/songs.h" // There are 4 windows used in berry tag screen. enum diff --git a/src/pokeblock.c b/src/pokeblock.c index 0d8469132..30e630d9a 100644 --- a/src/pokeblock.c +++ b/src/pokeblock.c @@ -3,7 +3,6 @@ #include "battle.h" #include "battle_controllers.h" #include "battle_message.h" -#include "berry.h" #include "bg.h" #include "decompress.h" #include "event_data.h" @@ -30,6 +29,7 @@ #include "task.h" #include "text.h" #include "text_window.h" +#include "constants/berry.h" #include "constants/items.h" #include "constants/songs.h" #include "constants/rgb.h" -- cgit v1.2.3 From aac9658a8ee9a23bbb7cf8a56496a49b8cdbe61d Mon Sep 17 00:00:00 2001 From: GriffinR Date: Fri, 13 Sep 2019 14:24:07 -0400 Subject: Document some field_specials data --- src/clock.c | 2 +- .../battle_frontier_exchange_corner.h | 99 +++ src/data/pokemon/tutor_learnsets.h | 31 - src/field_specials.c | 792 ++++++++++----------- src/overworld.c | 2 +- src/script_menu.c | 5 +- src/tv.c | 4 +- 7 files changed, 496 insertions(+), 439 deletions(-) create mode 100644 src/data/battle_frontier/battle_frontier_exchange_corner.h (limited to 'src') diff --git a/src/clock.c b/src/clock.c index 1e7c5f83e..125d403bb 100644 --- a/src/clock.c +++ b/src/clock.c @@ -25,7 +25,7 @@ static void InitTimeBasedEvents(void) void DoTimeBasedEvents(void) { - if (FlagGet(FLAG_SYS_CLOCK_SET) && !sub_813B9C0()) + if (FlagGet(FLAG_SYS_CLOCK_SET) && !InPokemonCenter()) { RtcCalcLocalTime(); UpdatePerDay(&gLocalTime); diff --git a/src/data/battle_frontier/battle_frontier_exchange_corner.h b/src/data/battle_frontier/battle_frontier_exchange_corner.h new file mode 100644 index 000000000..77d327b5a --- /dev/null +++ b/src/data/battle_frontier/battle_frontier_exchange_corner.h @@ -0,0 +1,99 @@ +static const u16 sBFExchangeCorner_Decor1[] = +{ + DECOR_KISS_POSTER, + DECOR_KISS_CUSHION, + DECOR_SMOOCHUM_DOLL, + DECOR_TOGEPI_DOLL, + DECOR_MEOWTH_DOLL, + DECOR_CLEFAIRY_DOLL, + DECOR_DITTO_DOLL, + DECOR_CYNDAQUIL_DOLL, + DECOR_CHIKORITA_DOLL, + DECOR_TOTODILE_DOLL, + 0xFFFF +}; + +static const u16 sBFExchangeCorner_Decor2[] = +{ + DECOR_LAPRAS_DOLL, + DECOR_SNORLAX_DOLL, + DECOR_VENUSAUR_DOLL, + DECOR_CHARIZARD_DOLL, + DECOR_BLASTOISE_DOLL, + 0xFFFF +}; + +static const u16 sBFExchangeCorner_Vitamins[] = +{ + ITEM_PROTEIN, + ITEM_CALCIUM, + ITEM_IRON, + ITEM_ZINC, + ITEM_CARBOS, + ITEM_HP_UP, + 0xFFFF +}; + +static const u16 sBFExchangeCorner_HoldItems[] = +{ + ITEM_LEFTOVERS, + ITEM_WHITE_HERB, + ITEM_QUICK_CLAW, + ITEM_MENTAL_HERB, + ITEM_BRIGHT_POWDER, + ITEM_CHOICE_BAND, + ITEM_KINGS_ROCK, + ITEM_FOCUS_BAND, + ITEM_SCOPE_LENS, + 0xFFFF +}; + +static const u8 *const sBFExchangeCorner_Decor1Descriptions[] = +{ + BattleFrontier_BattlePointExchangeServiceCorner_Text_2601AA, + BattleFrontier_BattlePointExchangeServiceCorner_Text_2601D0, + BattleFrontier_BattlePointExchangeServiceCorner_Text_260201, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26022F, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26025B, + BattleFrontier_BattlePointExchangeServiceCorner_Text_260287, + BattleFrontier_BattlePointExchangeServiceCorner_Text_2602B5, + BattleFrontier_BattlePointExchangeServiceCorner_Text_2602E0, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26030F, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26033E, + gText_Exit, +}; + +static const u8 *const sBFExchangeCorner_Decor2Descriptions[] = +{ + BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C, + gText_Exit +}; + +static const u8 *const sBFExchangeCorner_VitaminsDescriptions[] = +{ + BattleFrontier_BattlePointExchangeServiceCorner_Text_260397, + BattleFrontier_BattlePointExchangeServiceCorner_Text_2603BE, + BattleFrontier_BattlePointExchangeServiceCorner_Text_2603E6, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26040E, + BattleFrontier_BattlePointExchangeServiceCorner_Text_260436, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26045C, + gText_Exit +}; + +static const u8 *const sBFExchangeCorner_HoldItemsDescriptions[] = +{ + BattleFrontier_BattlePointExchangeServiceCorner_Text_26047A, + BattleFrontier_BattlePointExchangeServiceCorner_Text_2604AC, + BattleFrontier_BattlePointExchangeServiceCorner_Text_2604D8, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26050F, + BattleFrontier_BattlePointExchangeServiceCorner_Text_260542, + BattleFrontier_BattlePointExchangeServiceCorner_Text_260575, + BattleFrontier_BattlePointExchangeServiceCorner_Text_2605A8, + BattleFrontier_BattlePointExchangeServiceCorner_Text_2605E2, + BattleFrontier_BattlePointExchangeServiceCorner_Text_260613, + gText_Exit +}; diff --git a/src/data/pokemon/tutor_learnsets.h b/src/data/pokemon/tutor_learnsets.h index 0a930e993..ad9db319c 100644 --- a/src/data/pokemon/tutor_learnsets.h +++ b/src/data/pokemon/tutor_learnsets.h @@ -1,34 +1,3 @@ -#define TUTOR_MOVE_MEGA_PUNCH 0 -#define TUTOR_MOVE_SWORDS_DANCE 1 -#define TUTOR_MOVE_MEGA_KICK 2 -#define TUTOR_MOVE_BODY_SLAM 3 -#define TUTOR_MOVE_DOUBLE_EDGE 4 -#define TUTOR_MOVE_COUNTER 5 -#define TUTOR_MOVE_SEISMIC_TOSS 6 -#define TUTOR_MOVE_MIMIC 7 -#define TUTOR_MOVE_METRONOME 8 -#define TUTOR_MOVE_SOFT_BOILED 9 -#define TUTOR_MOVE_DREAM_EATER 10 -#define TUTOR_MOVE_THUNDER_WAVE 11 -#define TUTOR_MOVE_EXPLOSION 12 -#define TUTOR_MOVE_ROCK_SLIDE 13 -#define TUTOR_MOVE_SUBSTITUTE 14 -#define TUTOR_MOVE_DYNAMIC_PUNCH 15 -#define TUTOR_MOVE_ROLLOUT 16 -#define TUTOR_MOVE_PSYCH_UP 17 -#define TUTOR_MOVE_SNORE 18 -#define TUTOR_MOVE_ICY_WIND 19 -#define TUTOR_MOVE_ENDURE 20 -#define TUTOR_MOVE_MUD_SLAP 21 -#define TUTOR_MOVE_ICE_PUNCH 22 -#define TUTOR_MOVE_SWAGGER 23 -#define TUTOR_MOVE_SLEEP_TALK 24 -#define TUTOR_MOVE_SWIFT 25 -#define TUTOR_MOVE_DEFENSE_CURL 26 -#define TUTOR_MOVE_THUNDER_PUNCH 27 -#define TUTOR_MOVE_FIRE_PUNCH 28 -#define TUTOR_MOVE_FURY_CUTTER 29 - const u16 gTutorMoves[] = { [TUTOR_MOVE_MEGA_PUNCH] = MOVE_MEGA_PUNCH, diff --git a/src/field_specials.c b/src/field_specials.c index 99e8e93a9..4acf6ba54 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -44,8 +44,11 @@ #include "tv.h" #include "wallclock.h" #include "window.h" +#include "constants/battle_frontier.h" +#include "constants/decorations.h" #include "constants/event_objects.h" #include "constants/field_effects.h" +#include "constants/field_specials.h" #include "constants/items.h" #include "constants/map_types.h" #include "constants/maps.h" @@ -64,12 +67,12 @@ static EWRAM_DATA u32 gBikeCyclingTimer = 0; static EWRAM_DATA u8 gUnknown_0203AB5C = 0; static EWRAM_DATA u8 sPetalburgGymSlidingDoorFrameCounter = 0; static EWRAM_DATA u8 gUnknown_0203AB5E = 0; -static EWRAM_DATA u16 gUnknown_0203AB60 = 0; -static EWRAM_DATA u16 gUnknown_0203AB62 = 0; +static EWRAM_DATA u16 gLilycoveDeptStore_NeverRead = 0; +static EWRAM_DATA u16 gLilycoveDeptStore_DefaultFloorChoice = 0; static EWRAM_DATA struct ListMenuItem *gUnknown_0203AB64 = NULL; static EWRAM_DATA u16 gUnknown_0203AB68 = 0; static EWRAM_DATA u16 gUnknown_0203AB6A = 0; -static EWRAM_DATA u8 gUnknown_0203AB6C = 0; +static EWRAM_DATA u8 gScrollableMultichoiceSprite = 0; static EWRAM_DATA u8 gUnknown_0203AB6D = 0; static EWRAM_DATA u8 gUnknown_0203AB6E = 0; static EWRAM_DATA u8 gUnknown_0203AB6F = 0; @@ -82,7 +85,6 @@ extern const u16 gEventObjectPalette17[]; extern const u16 gEventObjectPalette33[]; extern const u16 gEventObjectPalette34[]; - void UpdateMovedLilycoveFanClubMembers(void); void sub_813BF60(void); u16 GetNumMovedLilycoveFanClubMembers(void); @@ -100,22 +102,22 @@ static void LotteryCornerComputerEffect(struct Task *); static void sub_81395BC(u8 taskId); static void sub_8139620(u8 taskId); static void sub_8139AF4(u8 taskId); -static void sub_8139C2C(u16 a1, u8 a2); +static void sub_8139C2C(u16 a1, bool8 descending); static void MoveElevatorWindowLights(u8 taskId); static void sub_813A2DC(u8 taskId); -static void sub_813AA60(u16 a0, u16 a1); -static void sub_813ACE8(u8 a0, u16 a1); +static void sub_813AA60(u16 menu, u16 selection); +static void ShowBattleFrontierTutorWindow(u8 menu, u16 selection); static void sub_813A42C(void); static void sub_813A4EC(u8 taskId); static void sub_813A694(u8 taskId); static void sub_813A46C(s32 itemIndex, bool8 onInit, struct ListMenu *list); -static void sub_813AC44(u16 a0, u16 a1); -static void sub_813AD34(u8 a0, u16 a1); +static void sub_813AC44(u16 menu, u16 selection); +static void ShowBattleFrontierTutorMoveDescription(u8 menu, u16 selection); static void sub_813A570(u8 taskId); static void sub_813A738(u8 taskId); static void sub_813A600(u8 taskId); static void sub_813A664(u8 taskId); -static void sub_813ABD4(u16 a0); +static void ScrollMulti_ShowItemIcon(u16 item); static void Task_DeoxysRockInteraction(u8 taskId); static void ChangeDeoxysRockLevel(u8 a0); static void WaitForDeoxysRockMovement(u8 taskId); @@ -419,10 +421,10 @@ bool32 ShouldDoScottCall(void) { switch (gMapHeader.mapType) { - case 1: - case 2: - case 3: - case 6: + case MAP_TYPE_TOWN: + case MAP_TYPE_CITY: + case MAP_TYPE_ROUTE: + case MAP_TYPE_OCEAN_ROUTE: if (++(*GetVarPointer(VAR_SCOTT_CALL_STEP_COUNTER)) < 10) { return FALSE; @@ -446,10 +448,10 @@ bool32 ShouldDoRoxanneCall(void) { switch (gMapHeader.mapType) { - case 1: - case 2: - case 3: - case 6: + case MAP_TYPE_TOWN: + case MAP_TYPE_CITY: + case MAP_TYPE_ROUTE: + case MAP_TYPE_OCEAN_ROUTE: if (++(*GetVarPointer(VAR_ROXANNE_CALL_STEP_COUNTER)) < 250) { return FALSE; @@ -473,10 +475,10 @@ bool32 ShouldDoRivalRayquazaCall(void) { switch (gMapHeader.mapType) { - case 1: - case 2: - case 3: - case 6: + case MAP_TYPE_TOWN: + case MAP_TYPE_CITY: + case MAP_TYPE_ROUTE: + case MAP_TYPE_OCEAN_ROUTE: if (++(*GetVarPointer(VAR_RIVAL_RAYQUAZA_CALL_STEP_COUNTER)) < 250) { return FALSE; @@ -624,7 +626,8 @@ static void LoadLinkPartnerEventObjectSpritePalette(u8 graphicsId, u8 localEvent } } -static const struct UCoords8 sMauvilleGymSwitchCoords[] = { +static const struct UCoords8 sMauvilleGymSwitchCoords[] = +{ { 7, 22}, {11, 19}, {10, 16}, @@ -1077,36 +1080,35 @@ static void PCTurnOnEffect_0(struct Task *task) task->data[3]++; } -// enum pc location, -static void PCTurnOnEffect_1(s16 flag, s8 dx, s8 dy) +static void PCTurnOnEffect_1(s16 pcOff, s8 dx, s8 dy) { u16 tileId = 0; - if (flag != 0) + if (pcOff != 0) { - if (gSpecialVar_0x8004 == 0) + if (gSpecialVar_0x8004 == PC_LOCATION_OTHER) { tileId = METATILE_ID(Building, PC_Off); } - else if (gSpecialVar_0x8004 == 1) + else if (gSpecialVar_0x8004 == PC_LOCATION_BRENDANS_HOUSE) { tileId = METATILE_ID(BrendansMaysHouse, BrendanPC_Off); } - else if (gSpecialVar_0x8004 == 2) + else if (gSpecialVar_0x8004 == PC_LOCATION_MAYS_HOUSE) { tileId = METATILE_ID(BrendansMaysHouse, MayPC_Off); } } else { - if (gSpecialVar_0x8004 == 0) + if (gSpecialVar_0x8004 == PC_LOCATION_OTHER) { tileId = METATILE_ID(Building, PC_On); } - else if (gSpecialVar_0x8004 == 1) + else if (gSpecialVar_0x8004 == PC_LOCATION_BRENDANS_HOUSE) { tileId = METATILE_ID(BrendansMaysHouse, BrendanPC_On); } - else if (gSpecialVar_0x8004 == 2) + else if (gSpecialVar_0x8004 == PC_LOCATION_MAYS_HOUSE) { tileId = METATILE_ID(BrendansMaysHouse, MayPC_On); } @@ -1332,7 +1334,7 @@ u16 GetSlotMachineId(void) static const u8 gUnknown_085B2BA0[] = {3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5}; u32 v0 = gSaveBlock1Ptr->easyChatPairs[0].unk0_0 + gSaveBlock1Ptr->easyChatPairs[0].unk2 + gUnknown_085B2B88[gSpecialVar_0x8004]; - if (GetPriceReduction(2)) + if (GetPriceReduction(POKENEWS_GAME_CORNER)) { return gUnknown_085B2BA0[v0 % 12]; } @@ -1529,7 +1531,7 @@ void SetRoute119Weather(void) { if (IsMapTypeOutdoors(GetLastUsedWarpMapType()) != TRUE) { - SetSav1Weather(20); + SetSav1Weather(WEATHER_ROUTE119_CYCLE); } } @@ -1537,7 +1539,7 @@ void SetRoute123Weather(void) { if (IsMapTypeOutdoors(GetLastUsedWarpMapType()) != TRUE) { - SetSav1Weather(21); + SetSav1Weather(WEATHER_ROUTE123_CYCLE); } } @@ -1560,9 +1562,10 @@ u16 ScriptGetPartyMonSpecies(void) return GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_SPECIES2, NULL); } -void nullsub_54(void) +// Removed for Emerald +void TryInitBattleTowerAwardManEventObject(void) { - + //TryInitLocalEventObject(6); } u16 GetDaysUntilPacifidlogTMAvailable(void) @@ -1653,7 +1656,7 @@ u16 sub_813986C(void) } } -bool8 sub_81398C0(void) +bool8 BufferTMHMMoveName(void) { if (gSpecialVar_0x8004 >= ITEM_TM01 && gSpecialVar_0x8004 <= ITEM_HM08) { @@ -1664,14 +1667,14 @@ bool8 sub_81398C0(void) return FALSE; } -bool8 sub_813990C(void) +bool8 IsBadEggInParty(void) { u8 partyCount = CalculatePlayerPartyCount(); u8 i; for (i = 0; i < partyCount; i++) { - if (GetMonData(&gPlayerParty[i], MON_DATA_SANITY_IS_BAD_EGG) == 1) + if (GetMonData(&gPlayerParty[i], MON_DATA_SANITY_IS_BAD_EGG) == TRUE) return TRUE; } @@ -1693,7 +1696,8 @@ void sub_8139980(void) SetCameraPanning(8, 0); } -const struct WindowTemplate gUnknown_085B2BAC = { +const struct WindowTemplate gElevatorFloor_WindowTemplate = +{ .bg = 0, .tilemapLeft = 21, .tilemapTop = 1, @@ -1703,23 +1707,24 @@ const struct WindowTemplate gUnknown_085B2BAC = { .baseBlock = 8, }; -const u8 *const gElevatorFloorsTable[] = { - gText_B4F, - gText_B3F, - gText_B2F, - gText_B1F, - gText_1F, - gText_2F, - gText_3F, - gText_4F, - gText_5F, - gText_6F, - gText_7F, - gText_8F, - gText_9F, - gText_10F, - gText_11F, - gText_Rooftop +const u8 *const gDeptStoreFloorNames[] = +{ + [DEPT_STORE_FLOORNUM_B4F] = gText_B4F, + [DEPT_STORE_FLOORNUM_B3F] = gText_B3F, + [DEPT_STORE_FLOORNUM_B2F] = gText_B2F, + [DEPT_STORE_FLOORNUM_B1F] = gText_B1F, + [DEPT_STORE_FLOORNUM_1F] = gText_1F, + [DEPT_STORE_FLOORNUM_2F] = gText_2F, + [DEPT_STORE_FLOORNUM_3F] = gText_3F, + [DEPT_STORE_FLOORNUM_4F] = gText_4F, + [DEPT_STORE_FLOORNUM_5F] = gText_5F, + [DEPT_STORE_FLOORNUM_6F] = gText_6F, + [DEPT_STORE_FLOORNUM_7F] = gText_7F, + [DEPT_STORE_FLOORNUM_8F] = gText_8F, + [DEPT_STORE_FLOORNUM_9F] = gText_9F, + [DEPT_STORE_FLOORNUM_10F] = gText_10F, + [DEPT_STORE_FLOORNUM_11F] = gText_11F, + [DEPT_STORE_FLOORNUM_ROOFTOP] = gText_Rooftop }; static const u16 sElevatorWindowTiles_Ascending[][3] = @@ -1760,69 +1765,69 @@ static const u16 sElevatorWindowTiles_Descending[][3] = }, }; -void SetDepartmentStoreFloorVar(void) +void SetDeptStoreFloor(void) { u8 deptStoreFloor; switch (gSaveBlock1Ptr->dynamicWarp.mapNum) { case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_1F): - deptStoreFloor = 4; + deptStoreFloor = DEPT_STORE_FLOORNUM_1F; break; case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_2F): - deptStoreFloor = 5; + deptStoreFloor = DEPT_STORE_FLOORNUM_2F; break; case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_3F): - deptStoreFloor = 6; + deptStoreFloor = DEPT_STORE_FLOORNUM_3F; break; case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_4F): - deptStoreFloor = 7; + deptStoreFloor = DEPT_STORE_FLOORNUM_4F; break; case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_5F): - deptStoreFloor = 8; + deptStoreFloor = DEPT_STORE_FLOORNUM_5F; break; case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP): - deptStoreFloor = 15; + deptStoreFloor = DEPT_STORE_FLOORNUM_ROOFTOP; break; default: - deptStoreFloor = 4; + deptStoreFloor = DEPT_STORE_FLOORNUM_1F; break; } VarSet(VAR_DEPT_STORE_FLOOR, deptStoreFloor); } -u16 sub_81399F4(void) +u16 GetDeptStoreDefaultFloorChoice(void) { - gUnknown_0203AB60 = 0; - gUnknown_0203AB62 = 0; + gLilycoveDeptStore_NeverRead = 0; + gLilycoveDeptStore_DefaultFloorChoice = 0; if (gSaveBlock1Ptr->dynamicWarp.mapGroup == MAP_GROUP(LILYCOVE_CITY_DEPARTMENT_STORE_1F)) { switch (gSaveBlock1Ptr->dynamicWarp.mapNum) { case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_5F): - gUnknown_0203AB60 = 0; - gUnknown_0203AB62 = 0; + gLilycoveDeptStore_NeverRead = 0; + gLilycoveDeptStore_DefaultFloorChoice = 0; break; case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_4F): - gUnknown_0203AB60 = 0; - gUnknown_0203AB62 = 1; + gLilycoveDeptStore_NeverRead = 0; + gLilycoveDeptStore_DefaultFloorChoice = 1; break; case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_3F): - gUnknown_0203AB60 = 0; - gUnknown_0203AB62 = 2; + gLilycoveDeptStore_NeverRead = 0; + gLilycoveDeptStore_DefaultFloorChoice = 2; break; case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_2F): - gUnknown_0203AB60 = 0; - gUnknown_0203AB62 = 3; + gLilycoveDeptStore_NeverRead = 0; + gLilycoveDeptStore_DefaultFloorChoice = 3; break; case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_1F): - gUnknown_0203AB60 = 0; - gUnknown_0203AB62 = 4; + gLilycoveDeptStore_NeverRead = 0; + gLilycoveDeptStore_DefaultFloorChoice = 4; break; } } - return gUnknown_0203AB62; + return gLilycoveDeptStore_DefaultFloorChoice; } void ShakeScreenInElevator(void) @@ -1839,12 +1844,12 @@ void ShakeScreenInElevator(void) if (gSpecialVar_0x8005 > gSpecialVar_0x8006) { floorDelta = gSpecialVar_0x8005 - gSpecialVar_0x8006; - data[6] = 1; + data[6] = TRUE; } else { floorDelta = gSpecialVar_0x8006 - gSpecialVar_0x8005; - data[6] = 0; + data[6] = FALSE; } if (floorDelta > 8) @@ -1881,14 +1886,14 @@ void sub_8139B60(void) { int xPos; - gUnknown_0203AB5E = AddWindow(&gUnknown_085B2BAC); + gUnknown_0203AB5E = AddWindow(&gElevatorFloor_WindowTemplate); SetStandardWindowBorderStyle(gUnknown_0203AB5E, 0); xPos = GetStringCenterAlignXOffset(1, gText_ElevatorNowOn, 64); AddTextPrinterParameterized(gUnknown_0203AB5E, 1, gText_ElevatorNowOn, xPos, 1, TEXT_SPEED_FF, NULL); - xPos = GetStringCenterAlignXOffset(1, gElevatorFloorsTable[gSpecialVar_0x8005], 64); - AddTextPrinterParameterized(gUnknown_0203AB5E, 1, gElevatorFloorsTable[gSpecialVar_0x8005], xPos, 17, TEXT_SPEED_FF, NULL); + xPos = GetStringCenterAlignXOffset(1, gDeptStoreFloorNames[gSpecialVar_0x8005], 64); + AddTextPrinterParameterized(gUnknown_0203AB5E, 1, gDeptStoreFloorNames[gSpecialVar_0x8005], xPos, 17, TEXT_SPEED_FF, NULL); PutWindowTilemap(gUnknown_0203AB5E); CopyWindowToVram(gUnknown_0203AB5E, 3); @@ -1922,6 +1927,8 @@ static void MoveElevatorWindowLights(u8 taskId) if (data[1] == 6) { data[0]++; + + // ascending if (data[2] == FALSE) { for (y = 0; y < 3; y++) @@ -1932,6 +1939,7 @@ static void MoveElevatorWindowLights(u8 taskId) } } } + // descending else { for (y = 0; y < 3; y++) @@ -1993,16 +2001,37 @@ void sub_8139D98(void) } } -bool8 warp0_in_pokecenter(void) -{ - static const u16 gUnknown_085B2C2A[] = { 0x0202, 0x0301, 0x0405, 0x0504, 0x0604, 0x0700, 0x0804, 0x090b, 0x0a05, 0x0b05, 0x0c02, 0x0d06, 0x0e03, 0x0f02, 0x100c, 0x100a, 0x1a35, 0x193c, 0xFFFF }; +bool8 UsedPokemonCenterWarp(void) +{ + static const u16 sPokemonCenters[] = + { + MAP_OLDALE_TOWN_POKEMON_CENTER_1F, + MAP_DEWFORD_TOWN_POKEMON_CENTER_1F, + MAP_LAVARIDGE_TOWN_POKEMON_CENTER_1F, + MAP_FALLARBOR_TOWN_POKEMON_CENTER_1F, + MAP_VERDANTURF_TOWN_POKEMON_CENTER_1F, + MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_1F, + MAP_PETALBURG_CITY_POKEMON_CENTER_1F, + MAP_SLATEPORT_CITY_POKEMON_CENTER_1F, + MAP_MAUVILLE_CITY_POKEMON_CENTER_1F, + MAP_RUSTBORO_CITY_POKEMON_CENTER_1F, + MAP_FORTREE_CITY_POKEMON_CENTER_1F, + MAP_LILYCOVE_CITY_POKEMON_CENTER_1F, + MAP_MOSSDEEP_CITY_POKEMON_CENTER_1F, + MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_1F, + MAP_EVER_GRANDE_CITY_POKEMON_CENTER_1F, + MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F, + MAP_BATTLE_FRONTIER_POKEMON_CENTER_1F, + MAP_UNION_ROOM, + 0xFFFF + }; int i; u16 map = (gLastUsedWarp.mapGroup << 8) + gLastUsedWarp.mapNum; - for (i = 0; gUnknown_085B2C2A[i] != 0xFFFF; i++) + for (i = 0; sPokemonCenters[i] != 0xFFFF; i++) { - if (gUnknown_085B2C2A[i] == map) + if (sPokemonCenters[i] == map) return TRUE; } @@ -2018,16 +2047,17 @@ bool32 sub_8139ED0(void) return TRUE; } -void UpdateFrontierManiac(u16 a0) +void UpdateFrontierManiac(u16 daysSince) { u16 *var = GetVarPointer(VAR_FRONTIER_MANIAC_FACILITY); - *var += a0; + *var += daysSince; *var %= 10; } void sub_8139F20(void) { - static const u8 *const gUnknown_085B2C50[][3] = { + static const u8 *const gUnknown_085B2C50[][3] = + { { BattleFrontier_Lounge2_Text_260971, BattleFrontier_Lounge2_Text_260A1E, BattleFrontier_Lounge2_Text_260AE7 }, { BattleFrontier_Lounge2_Text_2619AC, BattleFrontier_Lounge2_Text_261A91, BattleFrontier_Lounge2_Text_261B0C }, { BattleFrontier_Lounge2_Text_261B95, BattleFrontier_Lounge2_Text_261B95, BattleFrontier_Lounge2_Text_261B95 }, @@ -2040,7 +2070,8 @@ void sub_8139F20(void) { BattleFrontier_Lounge2_Text_26174D, BattleFrontier_Lounge2_Text_2617F9, BattleFrontier_Lounge2_Text_2618C4 }, }; - static const u8 gUnknown_085B2CC8[][2] = { + static const u8 gUnknown_085B2CC8[][2] = + { { 0x15, 0x38 }, { 0x15, 0x23 }, { 0xff, 0xff }, @@ -2054,90 +2085,96 @@ void sub_8139F20(void) }; u8 i; - u16 unk = 0; + u16 winStreak = 0; u16 var = VarGet(VAR_FRONTIER_MANIAC_FACILITY); + switch (var) { - case 0: - case 1: - case 2: - case 3: - if (gSaveBlock2Ptr->frontier.towerWinStreaks[var][0] >= gSaveBlock2Ptr->frontier.towerWinStreaks[var][1]) + case 0 ... 3: + if (gSaveBlock2Ptr->frontier.towerWinStreaks[var][FRONTIER_LVL_50] + >= gSaveBlock2Ptr->frontier.towerWinStreaks[var][FRONTIER_LVL_OPEN]) { - unk = gSaveBlock2Ptr->frontier.towerWinStreaks[var][0]; + winStreak = gSaveBlock2Ptr->frontier.towerWinStreaks[var][FRONTIER_LVL_50]; } else { - unk = gSaveBlock2Ptr->frontier.towerWinStreaks[var][1]; + winStreak = gSaveBlock2Ptr->frontier.towerWinStreaks[var][FRONTIER_LVL_OPEN]; } break; case 4: - if (gSaveBlock2Ptr->frontier.domeWinStreaks[0][0] >= gSaveBlock2Ptr->frontier.domeWinStreaks[0][1]) + if (gSaveBlock2Ptr->frontier.domeWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50] + >= gSaveBlock2Ptr->frontier.domeWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN]) { - unk = gSaveBlock2Ptr->frontier.domeWinStreaks[0][0]; + winStreak = gSaveBlock2Ptr->frontier.domeWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50]; } else { - unk = gSaveBlock2Ptr->frontier.domeWinStreaks[0][1]; + winStreak = gSaveBlock2Ptr->frontier.domeWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN]; } break; case 5: - if (gSaveBlock2Ptr->frontier.factoryWinStreaks[0][0] >= gSaveBlock2Ptr->frontier.factoryWinStreaks[0][1]) + if (gSaveBlock2Ptr->frontier.factoryWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50] + >= gSaveBlock2Ptr->frontier.factoryWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN]) { - unk = gSaveBlock2Ptr->frontier.factoryWinStreaks[0][0]; + winStreak = gSaveBlock2Ptr->frontier.factoryWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50]; } else { - unk = gSaveBlock2Ptr->frontier.factoryWinStreaks[0][1]; + winStreak = gSaveBlock2Ptr->frontier.factoryWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN]; } break; case 6: - if (gSaveBlock2Ptr->frontier.palaceWinStreaks[0][0] >= gSaveBlock2Ptr->frontier.palaceWinStreaks[0][1]) + if (gSaveBlock2Ptr->frontier.palaceWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50] + >= gSaveBlock2Ptr->frontier.palaceWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN]) { - unk = gSaveBlock2Ptr->frontier.palaceWinStreaks[0][0]; + winStreak = gSaveBlock2Ptr->frontier.palaceWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50]; } else { - unk = gSaveBlock2Ptr->frontier.palaceWinStreaks[0][1]; + winStreak = gSaveBlock2Ptr->frontier.palaceWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN]; } break; case 7: - if (gSaveBlock2Ptr->frontier.arenaWinStreaks[0] >= gSaveBlock2Ptr->frontier.arenaWinStreaks[1]) + if (gSaveBlock2Ptr->frontier.arenaWinStreaks[FRONTIER_LVL_50] + >= gSaveBlock2Ptr->frontier.arenaWinStreaks[FRONTIER_LVL_OPEN]) { - unk = gSaveBlock2Ptr->frontier.arenaWinStreaks[0]; + winStreak = gSaveBlock2Ptr->frontier.arenaWinStreaks[FRONTIER_LVL_50]; } else { - unk = gSaveBlock2Ptr->frontier.arenaWinStreaks[1]; + winStreak = gSaveBlock2Ptr->frontier.arenaWinStreaks[FRONTIER_LVL_OPEN]; } break; case 8: - if (gSaveBlock2Ptr->frontier.pikeWinStreaks[0] >= gSaveBlock2Ptr->frontier.pikeWinStreaks[1]) + if (gSaveBlock2Ptr->frontier.pikeWinStreaks[FRONTIER_LVL_50] + >= gSaveBlock2Ptr->frontier.pikeWinStreaks[FRONTIER_LVL_OPEN]) { - unk = gSaveBlock2Ptr->frontier.pikeWinStreaks[0]; + winStreak = gSaveBlock2Ptr->frontier.pikeWinStreaks[FRONTIER_LVL_50]; } else { - unk = gSaveBlock2Ptr->frontier.pikeWinStreaks[1]; + winStreak = gSaveBlock2Ptr->frontier.pikeWinStreaks[FRONTIER_LVL_OPEN]; } break; case 9: - if (gSaveBlock2Ptr->frontier.pyramidWinStreaks[0] >= gSaveBlock2Ptr->frontier.pyramidWinStreaks[1]) + if (gSaveBlock2Ptr->frontier.pyramidWinStreaks[FRONTIER_LVL_50] + >= gSaveBlock2Ptr->frontier.pyramidWinStreaks[FRONTIER_LVL_OPEN]) { - unk = gSaveBlock2Ptr->frontier.pyramidWinStreaks[0]; + winStreak = gSaveBlock2Ptr->frontier.pyramidWinStreaks[FRONTIER_LVL_50]; } else { - unk = gSaveBlock2Ptr->frontier.pyramidWinStreaks[1]; + winStreak = gSaveBlock2Ptr->frontier.pyramidWinStreaks[FRONTIER_LVL_OPEN]; } break; } - for (i = 0; i < 2 && gUnknown_085B2CC8[var][i] < unk; i++); + for (i = 0; i < 2 && gUnknown_085B2CC8[var][i] < winStreak; i++); ShowFieldMessage(gUnknown_085B2C50[var][i]); } +// gSpecialVar_0x8005 and 0x8006 here are used by ShakeScreenInElevator void sub_813A080(void) { static const u16 gUnknown_085B2CDC[] = { @@ -2155,7 +2192,7 @@ void sub_813A080(void) return; } - for (i = 0; i < 9; i++) + for (i = 0; i < ARRAY_COUNT(gUnknown_085B2CDC) - 1; i++) { if (gUnknown_085B2CDC[i] > gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode]) { @@ -2169,7 +2206,8 @@ void sub_813A080(void) gSpecialVar_0x8006 = 12; } -void sub_813A128(void) +// data[1]: number of options in the multichoice +void ShowScrollableMultichoice(void) { u8 taskId = CreateTask(sub_813A2DC, 8); struct Task *task = &gTasks[taskId]; @@ -2177,7 +2215,7 @@ void sub_813A128(void) switch (gSpecialVar_0x8004) { - case 0: + case SCROLL_MULTI_NONE: task->data[0] = 1; task->data[1] = 1; task->data[2] = 1; @@ -2187,7 +2225,7 @@ void sub_813A128(void) task->data[6] = 0; task->data[15] = taskId; break; - case 1: + case SCROLL_MULTI_GLASS_WORKSHOP_VENDOR: task->data[0] = 5; task->data[1] = 8; task->data[2] = 1; @@ -2197,7 +2235,7 @@ void sub_813A128(void) task->data[6] = 0; task->data[15] = taskId; break; - case 2: + case SCROLL_MULTI_POKEMON_FAN_CLUB_RATER: task->data[0] = 6; task->data[1] = 12; task->data[2] = 1; @@ -2207,7 +2245,7 @@ void sub_813A128(void) task->data[6] = 0; task->data[15] = taskId; break; - case 3: + case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_1: task->data[0] = 6; task->data[1] = 11; task->data[2] = 14; @@ -2217,7 +2255,7 @@ void sub_813A128(void) task->data[6] = 0; task->data[15] = taskId; break; - case 4: + case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_2: task->data[0] = 6; task->data[1] = 6; task->data[2] = 14; @@ -2227,7 +2265,7 @@ void sub_813A128(void) task->data[6] = 0; task->data[15] = taskId; break; - case 5: + case SCROLL_MULTI_BF_EXCHANGE_CORNER_VITAMIN_VENDOR: task->data[0] = 6; task->data[1] = 7; task->data[2] = 14; @@ -2237,7 +2275,7 @@ void sub_813A128(void) task->data[6] = 0; task->data[15] = taskId; break; - case 6: + case SCROLL_MULTI_BF_EXCHANGE_CORNER_HOLD_ITEM_VENDOR: task->data[0] = 6; task->data[1] = 10; task->data[2] = 14; @@ -2247,7 +2285,7 @@ void sub_813A128(void) task->data[6] = 0; task->data[15] = taskId; break; - case 7: + case SCROLL_MULTI_BERRY_POWDER_VENDOR: task->data[0] = 6; task->data[1] = 12; task->data[2] = 15; @@ -2257,7 +2295,7 @@ void sub_813A128(void) task->data[6] = 0; task->data[15] = taskId; break; - case 8: + case SCROLL_MULTI_BF_RECEPTIONIST: task->data[0] = 6; task->data[1] = 10; task->data[2] = 17; @@ -2267,8 +2305,8 @@ void sub_813A128(void) task->data[6] = 0; task->data[15] = taskId; break; - case 9: - case 10: + case SCROLL_MULTI_BF_MOVE_TUTOR_1: + case SCROLL_MULTI_BF_MOVE_TUTOR_2: task->data[0] = 6; task->data[1] = 11; task->data[2] = 15; @@ -2278,7 +2316,7 @@ void sub_813A128(void) task->data[6] = 0; task->data[15] = taskId; break; - case 11: + case SCROLL_MULTI_SS_TIDAL_DESTINATION: task->data[0] = 6; task->data[1] = 7; task->data[2] = 19; @@ -2288,7 +2326,7 @@ void sub_813A128(void) task->data[6] = 0; task->data[15] = taskId; break; - case 12: + case SCROLL_MULTI_BATTLE_TENT_RULES: task->data[0] = 6; task->data[1] = 7; task->data[2] = 17; @@ -2305,25 +2343,14 @@ void sub_813A128(void) } } -static const u8 *const gUnknown_085B2CF0[][16] = { +static const u8 *const sScrollableMenuOptions[][MAX_SCROLL_MULTI_LENGTH] = +{ + [SCROLL_MULTI_NONE] = { - gText_Exit, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL + gText_Exit }, + + [SCROLL_MULTI_GLASS_WORKSHOP_VENDOR] = { gText_BlueFlute, gText_YellowFlute, @@ -2332,16 +2359,10 @@ static const u8 *const gUnknown_085B2CF0[][16] = { gText_BlackFlute, gText_PrettyChair, gText_PrettyDesk, - gText_Exit, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL + gText_Exit }, + + [SCROLL_MULTI_POKEMON_FAN_CLUB_RATER] = { gText_0Pts, gText_10Pts, @@ -2354,12 +2375,10 @@ static const u8 *const gUnknown_085B2CF0[][16] = { gText_80Pts, gText_90Pts, gText_100Pts, - gText_QuestionMark, - NULL, - NULL, - NULL, - NULL + gText_QuestionMark }, + + [SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_1] = { gText_KissPoster16BP, gText_KissCushion32BP, @@ -2371,31 +2390,20 @@ static const u8 *const gUnknown_085B2CF0[][16] = { gText_CyndaquilDoll80BP, gText_ChikoritaDoll80BP, gText_TotodileDoll80BP, - gText_Exit, - NULL, - NULL, - NULL, - NULL, - NULL + gText_Exit }, + + [SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_2] = { gText_LaprasDoll128BP, gText_SnorlaxDoll128BP, gText_VenusaurDoll256BP, gText_CharizardDoll256BP, gText_BlastoiseDoll256BP, - gText_Exit, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL + gText_Exit }, + + [SCROLL_MULTI_BF_EXCHANGE_CORNER_VITAMIN_VENDOR] = { gText_Protein1BP, gText_Calcium1BP, @@ -2403,17 +2411,10 @@ static const u8 *const gUnknown_085B2CF0[][16] = { gText_Zinc1BP, gText_Carbos1BP, gText_HpUp1BP, - gText_Exit, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL + gText_Exit }, + + [SCROLL_MULTI_BF_EXCHANGE_CORNER_HOLD_ITEM_VENDOR] = { gText_Leftovers48BP, gText_WhiteHerb48BP, @@ -2424,14 +2425,10 @@ static const u8 *const gUnknown_085B2CF0[][16] = { gText_KingsRock64BP, gText_FocusBand64BP, gText_ScopeLens64BP, - gText_Exit, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL + gText_Exit }, + + [SCROLL_MULTI_BERRY_POWDER_VENDOR] = { gText_EnergyPowder50, gText_EnergyRoot80, @@ -2444,12 +2441,10 @@ static const u8 *const gUnknown_085B2CF0[][16] = { gText_Zinc1000, gText_HPUp1000, gText_PPUp3000, - gText_Exit, - NULL, - NULL, - NULL, - NULL + gText_Exit }, + + [SCROLL_MULTI_BF_RECEPTIONIST] = { gText_BattleTower2, gText_BattleDome, @@ -2460,14 +2455,10 @@ static const u8 *const gUnknown_085B2CF0[][16] = { gText_BattlePyramid, gText_RankingHall, gText_ExchangeService, - gText_Exit, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL + gText_Exit }, + + [SCROLL_MULTI_BF_MOVE_TUTOR_1] = { gText_Softboiled16BP, gText_SeismicToss24BP, @@ -2479,13 +2470,10 @@ static const u8 *const gUnknown_085B2CF0[][16] = { gText_Counter48BP, gText_ThunderWave48BP, gText_SwordsDance48BP, - gText_Exit, - NULL, - NULL, - NULL, - NULL, - NULL + gText_Exit }, + + [SCROLL_MULTI_BF_MOVE_TUTOR_2] = { gText_DefenseCurl16BP, gText_Snore24BP, @@ -2497,13 +2485,10 @@ static const u8 *const gUnknown_085B2CF0[][16] = { gText_IcePunch48BP, gText_ThunderPunch48BP, gText_FirePunch48BP, - gText_Exit, - NULL, - NULL, - NULL, - NULL, - NULL + gText_Exit }, + + [SCROLL_MULTI_SS_TIDAL_DESTINATION] = { gText_SlateportCity, gText_BattleFrontier, @@ -2511,17 +2496,10 @@ static const u8 *const gUnknown_085B2CF0[][16] = { gText_NavelRock, gText_BirthIsland, gText_FarawayIsland, - gText_Exit, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL + gText_Exit }, + + [SCROLL_MULTI_BATTLE_TENT_RULES] = { gText_BattleTrainers, gText_BattleBasics, @@ -2529,16 +2507,7 @@ static const u8 *const gUnknown_085B2CF0[][16] = { gText_PokemonMoves, gText_Underpowered, gText_WhenInDanger, - gText_Exit, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL + gText_Exit } }; @@ -2551,16 +2520,16 @@ static void sub_813A2DC(u8 taskId) ScriptContext2_Enable(); gUnknown_0203AB68 = 0; - gUnknown_0203AB6C = 0x40; + gScrollableMultichoiceSprite = MAX_SPRITES; sub_813AA60(task->data[11], 0); - sub_813ACE8(task->data[11], 0); + ShowBattleFrontierTutorWindow(task->data[11], 0); gUnknown_0203AB64 = AllocZeroed(task->data[1] * 8); gUnknown_0203AB6A = 0; sub_813A42C(); for (unk1 = 0, i = 0; i < task->data[1]; i++) { - const u8 *text = gUnknown_085B2CF0[gSpecialVar_0x8004][i]; + const u8 *text = sScrollableMenuOptions[gSpecialVar_0x8004][i]; gUnknown_0203AB64[i].name = text; gUnknown_0203AB64[i].id = i; unk1 = display_text_and_get_width(text, unk1); @@ -2625,15 +2594,15 @@ static void sub_813A46C(s32 itemIndex, bool8 onInit, struct ListMenu *list) taskId = FindTaskIdByFunc(sub_813A4EC); if (taskId != 0xFF) { - u16 misc; + u16 selection; struct Task *task = &gTasks[taskId]; - ListMenuGetScrollAndRow(task->data[14], &misc, NULL); - gUnknown_0203AB68 = misc; - ListMenuGetCurrentItemArrayId(task->data[14], &misc); + ListMenuGetScrollAndRow(task->data[14], &selection, NULL); + gUnknown_0203AB68 = selection; + ListMenuGetCurrentItemArrayId(task->data[14], &selection); sub_813AC44(task->data[11], gUnknown_0203AB6A); - sub_813AA60(task->data[11], misc); - sub_813AD34(task->data[11], misc); - gUnknown_0203AB6A = misc; + sub_813AA60(task->data[11], selection); + ShowBattleFrontierTutorMoveDescription(task->data[11], selection); + gUnknown_0203AB6A = selection; } } @@ -2762,9 +2731,26 @@ static void sub_813A738(u8 taskId) } } -void nullsub_55(void) +// Removed for Emerald (replaced by ShowScrollableMultichoice) +void ShowGlassWorkshopMenu(void) { - + /* + u8 i; + ScriptContext2_Enable(); + Menu_DrawStdWindowFrame(0, 0, 10, 11); + InitMenu(0, 1, 1, 5, 0, 9); + gUnknown_0203925C = 0; + ClearVerticalScrollIndicatorPalettes(); + LoadScrollIndicatorPalette(); + sub_810F2B4(); + for (i = 0; i < 5; i++) + { + Menu_PrintText(gUnknown_083F83C0[i], 1, 2 * i + 1); + } + gUnknown_0203925B = 0; + gUnknown_0203925A = ARRAY_COUNT(gUnknown_083F83C0); + CreateTask(sub_810F118, 8); + */ } void sub_813A76C(void) @@ -2833,7 +2819,8 @@ void UpdateFrontierGambler(u16 a0) void sub_813A820(void) { - static const u8 *const gUnknown_085B30A4[] = { + static const u8 *const gUnknown_085B30A4[] = + { BattleFrontier_Lounge3_Text_262261, BattleFrontier_Lounge3_Text_26230D, BattleFrontier_Lounge3_Text_2623B9, @@ -2855,7 +2842,8 @@ void sub_813A820(void) void sub_813A854(void) { - static const u8 *const gUnknown_085B30D4[] = { + static const u8 *const gUnknown_085B30D4[] = + { BattleFrontier_Lounge3_Text_262C04, BattleFrontier_Lounge3_Text_262C90, BattleFrontier_Lounge3_Text_262D1C, @@ -2875,15 +2863,29 @@ void sub_813A854(void) void sub_813A878(u8 a0) { - static const u16 gUnknown_085B3104[] = {0x0000, 0x0001, 0x0002, 0x0100, 0x0101, 0x0400, 0x0401, 0x0200, 0x0201, 0x0300, 0x0500, 0x0600}; + static const u16 sFrontierChallenges[] = + { + FRONTIER_CHALLENGE(FRONTIER_FACILITY_TOWER, FRONTIER_MODE_SINGLES), + FRONTIER_CHALLENGE(FRONTIER_FACILITY_TOWER, FRONTIER_MODE_DOUBLES), + FRONTIER_CHALLENGE(FRONTIER_FACILITY_TOWER, FRONTIER_MODE_MULTIS), + FRONTIER_CHALLENGE(FRONTIER_FACILITY_DOME, FRONTIER_MODE_SINGLES), + FRONTIER_CHALLENGE(FRONTIER_FACILITY_DOME, FRONTIER_MODE_DOUBLES), + FRONTIER_CHALLENGE(FRONTIER_FACILITY_FACTORY, FRONTIER_MODE_SINGLES), + FRONTIER_CHALLENGE(FRONTIER_FACILITY_FACTORY, FRONTIER_MODE_DOUBLES), + FRONTIER_CHALLENGE(FRONTIER_FACILITY_PALACE, FRONTIER_MODE_SINGLES), + FRONTIER_CHALLENGE(FRONTIER_FACILITY_PALACE, FRONTIER_MODE_DOUBLES), + FRONTIER_CHALLENGE(FRONTIER_FACILITY_ARENA, FRONTIER_MODE_SINGLES), + FRONTIER_CHALLENGE(FRONTIER_FACILITY_PIKE, FRONTIER_MODE_SINGLES), + FRONTIER_CHALLENGE(FRONTIER_FACILITY_PYRAMID, FRONTIER_MODE_SINGLES) + }; u16 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE); - u16 var2 = VarGet(VAR_FRONTIER_GAMBLER_SET_FACILITY_F); + u16 challenge = VarGet(VAR_FRONTIER_GAMBLER_SET_FACILITY_F); u16 frontierFacilityId = VarGet(VAR_FRONTIER_FACILITY); if (VarGet(VAR_FRONTIER_GAMBLER_PLACED_BET_F) == 1) { - if (gUnknown_085B3104[var2] == (frontierFacilityId << 8) + battleMode) + if (sFrontierChallenges[challenge] == FRONTIER_CHALLENGE(frontierFacilityId, battleMode)) { if (a0 != 0) { @@ -2930,7 +2932,7 @@ void sub_813A988(void) RemoveWindow(gUnknown_0203AB6D); } -void sub_813A9A4(void) +void TakeFrontierBattlePoints(void) { if (gSaveBlock2Ptr->frontier.battlePoints < gSpecialVar_0x8004) { @@ -2942,11 +2944,11 @@ void sub_813A9A4(void) } } -void sub_813A9D0(void) +void GiveFrontierBattlePoints(void) { - if (gSaveBlock2Ptr->frontier.battlePoints + gSpecialVar_0x8004 > 9999) + if (gSaveBlock2Ptr->frontier.battlePoints + gSpecialVar_0x8004 > MAX_BATTLE_FRONTIER_POINTS) { - gSaveBlock2Ptr->frontier.battlePoints = 9999; + gSaveBlock2Ptr->frontier.battlePoints = MAX_BATTLE_FRONTIER_POINTS; } else { @@ -2954,7 +2956,7 @@ void sub_813A9D0(void) } } -u16 sub_813AA04(void) +u16 GetFrontierBattlePoints(void) { return gSaveBlock2Ptr->frontier.battlePoints; } @@ -2982,148 +2984,129 @@ void sub_813AA44(void) RemoveWindow(gUnknown_0203AB6E); } -static void sub_813AA60(u16 a0, u16 a1) -{ - static const u16 gUnknown_085B312C[] = { 0x004b, 0x0067, 0x0057, 0x004f, 0x0054, 0x0055, 0x0056, 0x0050, 0x0051, 0x0052, 0xFFFF }; - static const u16 gUnknown_085B3142[] = { 0x0071, 0x006f, 0x0072, 0x0073, 0x0074, 0xFFFF }; - static const u16 gUnknown_085B314E[] = { 0x0040, 0x0043, 0x0041, 0x0046, 0x0042, 0x003f, 0xFFFF }; - static const u16 gUnknown_085B315C[] = { 0x00c8, 0x00b4, 0x00b7, 0x00b9, 0x00b3, 0x00ba, 0x00bb, 0x00c4, 0x00c6, 0xFFFF }; - - static const u8 *const gUnknown_085B3170[] = { - BattleFrontier_BattlePointExchangeServiceCorner_Text_2601AA, - BattleFrontier_BattlePointExchangeServiceCorner_Text_2601D0, - BattleFrontier_BattlePointExchangeServiceCorner_Text_260201, - BattleFrontier_BattlePointExchangeServiceCorner_Text_26022F, - BattleFrontier_BattlePointExchangeServiceCorner_Text_26025B, - BattleFrontier_BattlePointExchangeServiceCorner_Text_260287, - BattleFrontier_BattlePointExchangeServiceCorner_Text_2602B5, - BattleFrontier_BattlePointExchangeServiceCorner_Text_2602E0, - BattleFrontier_BattlePointExchangeServiceCorner_Text_26030F, - BattleFrontier_BattlePointExchangeServiceCorner_Text_26033E, - gText_Exit, - }; - - static const u8 *const gUnknown_085B319C[] = { - BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C, - BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C, - BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C, - BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C, - BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C, - gText_Exit - }; - - static const u8 *const gUnknown_085B31B4[] = { - BattleFrontier_BattlePointExchangeServiceCorner_Text_260397, - BattleFrontier_BattlePointExchangeServiceCorner_Text_2603BE, - BattleFrontier_BattlePointExchangeServiceCorner_Text_2603E6, - BattleFrontier_BattlePointExchangeServiceCorner_Text_26040E, - BattleFrontier_BattlePointExchangeServiceCorner_Text_260436, - BattleFrontier_BattlePointExchangeServiceCorner_Text_26045C, - gText_Exit - }; - - static const u8 *const gUnknown_085B31D0[] = { - BattleFrontier_BattlePointExchangeServiceCorner_Text_26047A, - BattleFrontier_BattlePointExchangeServiceCorner_Text_2604AC, - BattleFrontier_BattlePointExchangeServiceCorner_Text_2604D8, - BattleFrontier_BattlePointExchangeServiceCorner_Text_26050F, - BattleFrontier_BattlePointExchangeServiceCorner_Text_260542, - BattleFrontier_BattlePointExchangeServiceCorner_Text_260575, - BattleFrontier_BattlePointExchangeServiceCorner_Text_2605A8, - BattleFrontier_BattlePointExchangeServiceCorner_Text_2605E2, - BattleFrontier_BattlePointExchangeServiceCorner_Text_260613, - gText_Exit - }; +static void sub_813AA60(u16 menu, u16 selection) +{ + #include "data/battle_frontier/battle_frontier_exchange_corner.h" - if (a0 > 2 && a0 < 7) + if (menu > SCROLL_MULTI_POKEMON_FAN_CLUB_RATER && menu < SCROLL_MULTI_BERRY_POWDER_VENDOR) { FillWindowPixelRect(0, PIXEL_FILL(1), 0, 0, 216, 32); - switch (a0) + switch (menu) { - case 3: - AddTextPrinterParameterized2(0, 1, gUnknown_085B3170[a1], 0, NULL, 2, 1, 3); - if (gUnknown_085B312C[a1] == 0xFFFF) + case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_1: + AddTextPrinterParameterized2(0, 1, sBFExchangeCorner_Decor1Descriptions[selection], 0, NULL, 2, 1, 3); + if (sBFExchangeCorner_Decor1[selection] == 0xFFFF) { - sub_813ABD4(gUnknown_085B312C[a1]); + ScrollMulti_ShowItemIcon(sBFExchangeCorner_Decor1[selection]); } else { FreeSpriteTilesByTag(5500); FreeSpritePaletteByTag(5500); - gUnknown_0203AB6C = AddDecorationIconObject(gUnknown_085B312C[a1], 33, 88, 0, 5500, 5500); + gScrollableMultichoiceSprite = AddDecorationIconObject(sBFExchangeCorner_Decor1[selection], 33, 88, 0, 5500, 5500); } break; - case 4: - AddTextPrinterParameterized2(0, 1, gUnknown_085B319C[a1], 0, NULL, 2, 1, 3); - if (gUnknown_085B3142[a1] == 0xFFFF) + case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_2: + AddTextPrinterParameterized2(0, 1, sBFExchangeCorner_Decor2Descriptions[selection], 0, NULL, 2, 1, 3); + if (sBFExchangeCorner_Decor2[selection] == 0xFFFF) { - sub_813ABD4(gUnknown_085B3142[a1]); + ScrollMulti_ShowItemIcon(sBFExchangeCorner_Decor2[selection]); } else { FreeSpriteTilesByTag(5500); FreeSpritePaletteByTag(5500); - gUnknown_0203AB6C = AddDecorationIconObject(gUnknown_085B3142[a1], 33, 88, 0, 5500, 5500); + gScrollableMultichoiceSprite = AddDecorationIconObject(sBFExchangeCorner_Decor2[selection], 33, 88, 0, 5500, 5500); } break; - case 5: - AddTextPrinterParameterized2(0, 1, gUnknown_085B31B4[a1], 0, NULL, 2, 1, 3); - sub_813ABD4(gUnknown_085B314E[a1]); + case SCROLL_MULTI_BF_EXCHANGE_CORNER_VITAMIN_VENDOR: + AddTextPrinterParameterized2(0, 1, sBFExchangeCorner_VitaminsDescriptions[selection], 0, NULL, 2, 1, 3); + ScrollMulti_ShowItemIcon(sBFExchangeCorner_Vitamins[selection]); break; - case 6: - AddTextPrinterParameterized2(0, 1, gUnknown_085B31D0[a1], 0, NULL, 2, 1, 3); - sub_813ABD4(gUnknown_085B315C[a1]); + case SCROLL_MULTI_BF_EXCHANGE_CORNER_HOLD_ITEM_VENDOR: + AddTextPrinterParameterized2(0, 1, sBFExchangeCorner_HoldItemsDescriptions[selection], 0, NULL, 2, 1, 3); + ScrollMulti_ShowItemIcon(sBFExchangeCorner_HoldItems[selection]); break; } } } -static void sub_813ABD4(u16 a0) +static void ScrollMulti_ShowItemIcon(u16 item) { FreeSpriteTilesByTag(5500); FreeSpritePaletteByTag(5500); - gUnknown_0203AB6C = AddItemIconSprite(5500, 5500, a0); + gScrollableMultichoiceSprite = AddItemIconSprite(5500, 5500, item); - if (gUnknown_0203AB6C != MAX_SPRITES) + if (gScrollableMultichoiceSprite != MAX_SPRITES) { - gSprites[gUnknown_0203AB6C].oam.priority = 0; - gSprites[gUnknown_0203AB6C].pos1.x = 36; - gSprites[gUnknown_0203AB6C].pos1.y = 92; + gSprites[gScrollableMultichoiceSprite].oam.priority = 0; + gSprites[gScrollableMultichoiceSprite].pos1.x = 36; + gSprites[gScrollableMultichoiceSprite].pos1.y = 92; } } -static void sub_813AC44(u16 a0, u16 unused) +// selection is unused +static void sub_813AC44(u16 menu, u16 selection) { - if (gUnknown_0203AB6C != MAX_SPRITES) + if (gScrollableMultichoiceSprite != MAX_SPRITES) { - switch (a0) + switch (menu) { - case 3 ... 6: - DestroySpriteAndFreeResources(&gSprites[gUnknown_0203AB6C]); + case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_1: + case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_2: + case SCROLL_MULTI_BF_EXCHANGE_CORNER_VITAMIN_VENDOR: + case SCROLL_MULTI_BF_EXCHANGE_CORNER_HOLD_ITEM_VENDOR: + DestroySpriteAndFreeResources(&gSprites[gScrollableMultichoiceSprite]); break; } - gUnknown_0203AB6C = MAX_SPRITES; - } -} + gScrollableMultichoiceSprite = MAX_SPRITES; + } +} + +static const u16 sBattleFrontier_TutorMoves1[] = +{ + MOVE_SOFT_BOILED, + MOVE_SEISMIC_TOSS, + MOVE_DREAM_EATER, + MOVE_MEGA_PUNCH, + MOVE_MEGA_KICK, + MOVE_BODY_SLAM, + MOVE_ROCK_SLIDE, + MOVE_COUNTER, + MOVE_THUNDER_WAVE, + MOVE_SWORDS_DANCE +}; -static const u16 gUnknown_085B31F8[] = { 0x0087, 0x0045, 0x008a, 0x0005, 0x0019, 0x0022, 0x009d, 0x0044, 0x0056, 0x000e }; -static const u16 gUnknown_085B320C[] = { 0x006f, 0x00ad, 0x00bd, 0x0081, 0x00c4, 0x00cb, 0x00f4, 0x0008, 0x0009, 0x0007 }; +static const u16 sBattleFrontier_TutorMoves2[] = +{ + MOVE_DEFENSE_CURL, + MOVE_SNORE, + MOVE_MUD_SLAP, + MOVE_SWIFT, + MOVE_ICY_WIND, + MOVE_ENDURE, + MOVE_PSYCH_UP, + MOVE_ICE_PUNCH, + MOVE_THUNDER_PUNCH, + MOVE_FIRE_PUNCH +}; -void sub_813AC7C(void) +void BufferBattleFrontierTutorMoveName(void) { if (gSpecialVar_0x8005 != 0) { - StringCopy(gStringVar1, gMoveNames[gUnknown_085B320C[gSpecialVar_0x8004]]); + StringCopy(gStringVar1, gMoveNames[sBattleFrontier_TutorMoves2[gSpecialVar_0x8004]]); } else { - StringCopy(gStringVar1, gMoveNames[gUnknown_085B31F8[gSpecialVar_0x8004]]); + StringCopy(gStringVar1, gMoveNames[sBattleFrontier_TutorMoves1[gSpecialVar_0x8004]]); } } -static void sub_813ACE8(u8 a0, u16 a1) +static void ShowBattleFrontierTutorWindow(u8 menu, u16 selection) { - static const struct WindowTemplate gUnknown_085B3220 = { + static const struct WindowTemplate sBattleFrontierTutor_WindowTemplate = + { .bg = 0, .tilemapLeft = 1, .tilemapTop = 7, @@ -3133,20 +3116,21 @@ static void sub_813ACE8(u8 a0, u16 a1) .baseBlock = 28, }; - if (a0 == 9 || a0 == 10) + if (menu == SCROLL_MULTI_BF_MOVE_TUTOR_1 || menu == SCROLL_MULTI_BF_MOVE_TUTOR_2) { if (gSpecialVar_0x8006 == 0) { - gUnknown_0203AB5E = AddWindow(&gUnknown_085B3220); + gUnknown_0203AB5E = AddWindow(&sBattleFrontierTutor_WindowTemplate); SetStandardWindowBorderStyle(gUnknown_0203AB5E, 0); } - sub_813AD34(a0, a1); + ShowBattleFrontierTutorMoveDescription(menu, selection); } } -static void sub_813AD34(u8 a0, u16 a1) +static void ShowBattleFrontierTutorMoveDescription(u8 menu, u16 selection) { - static const u8 *const gUnknown_085B3228[] = { + static const u8 *const sBattleFrontier_TutorMoveDescriptions1[] = + { BattleFrontier_Lounge7_Text_265E30, BattleFrontier_Lounge7_Text_265E5B, BattleFrontier_Lounge7_Text_265E8A, @@ -3160,7 +3144,8 @@ static void sub_813AD34(u8 a0, u16 a1) gText_Exit, }; - static const u8 *const gUnknown_085B3254[] = { + static const u8 *const sBattleFrontier_TutorMoveDescriptions2[] = + { BattleFrontier_Lounge7_Text_26600A, BattleFrontier_Lounge7_Text_26603E, BattleFrontier_Lounge7_Text_266070, @@ -3174,16 +3159,16 @@ static void sub_813AD34(u8 a0, u16 a1) gText_Exit, }; - if (a0 == 9 || a0 == 10) + if (menu == SCROLL_MULTI_BF_MOVE_TUTOR_1 || menu == SCROLL_MULTI_BF_MOVE_TUTOR_2) { FillWindowPixelRect(gUnknown_0203AB5E, PIXEL_FILL(1), 0, 0, 96, 48); - if (a0 == 10) + if (menu == SCROLL_MULTI_BF_MOVE_TUTOR_2) { - AddTextPrinterParameterized(gUnknown_0203AB5E, 1, gUnknown_085B3254[a1], 0, 1, 0, NULL); + AddTextPrinterParameterized(gUnknown_0203AB5E, 1, sBattleFrontier_TutorMoveDescriptions2[selection], 0, 1, 0, NULL); } else { - AddTextPrinterParameterized(gUnknown_0203AB5E, 1, gUnknown_085B3228[a1], 0, 1, 0, NULL); + AddTextPrinterParameterized(gUnknown_0203AB5E, 1, sBattleFrontier_TutorMoveDescriptions1[selection], 0, 1, 0, NULL); } } } @@ -3207,7 +3192,7 @@ void sub_813ADD4(void) for (i = 0; i < 6; i++) { - AddTextPrinterParameterized5(task->data[13], 1, gUnknown_085B2CF0[gSpecialVar_0x8004][scrollOffset + i], 10, i * 16, TEXT_SPEED_FF, NULL, 0, 0); + AddTextPrinterParameterized5(task->data[13], 1, sScrollableMenuOptions[gSpecialVar_0x8004][scrollOffset + i], 10, i * 16, TEXT_SPEED_FF, NULL, 0, 0); } AddTextPrinterParameterized(task->data[13], 1, gText_SelectorArrow, 0, selectedRow * 16, TEXT_SPEED_FF, NULL); @@ -3219,38 +3204,38 @@ void sub_813ADD4(void) void sub_813AEB4(void) { u8 i; - u16 temp1 = 0; - u16 temp2 = 0; + u16 moveTutor = 0; + u16 moveIndex = 0; gSpecialVar_0x8005 = 0; - temp1 = VarGet(VAR_TEMP_E); - temp2 = VarGet(VAR_TEMP_D); + moveTutor = VarGet(VAR_TEMP_E); + moveIndex = VarGet(VAR_TEMP_D); - if (temp1 != 0) + if (moveTutor != 0) { i = 0; do { - if (gTutorMoves[i] == gUnknown_085B320C[temp2]) + if (gTutorMoves[i] == sBattleFrontier_TutorMoves2[moveIndex]) { gSpecialVar_0x8005 = i; break; } i++; - } while (i < 30); + } while (i < TUTOR_MOVE_COUNT); } else { i = 0; do { - if (gTutorMoves[i] == gUnknown_085B31F8[temp2]) + if (gTutorMoves[i] == sBattleFrontier_TutorMoves1[moveIndex]) { gSpecialVar_0x8005 = i; break; } i++; - } while (i < 30); + } while (i < TUTOR_MOVE_COUNT); } } @@ -3606,35 +3591,37 @@ void Unused_SetWeatherSunny(void) SetCurrentAndNextWeather(WEATHER_SUNNY); } -bool32 sub_813B490(void) -{ - static const u8 gUnknown_085B3420[][3] = { - { 0x02, 0x04, 0x01 }, - { 0x04, 0x04, 0x01 }, - { 0x05, 0x00, 0x01 }, - { 0x06, 0x03, 0x01 }, - { 0x08, 0x06, 0x01 }, - { 0x09, 0x0d, 0x01 }, - { 0x0a, 0x07, 0x01 }, - { 0x0b, 0x07, 0x01 }, - { 0x0c, 0x04, 0x01 }, - { 0x0e, 0x05, 0x01 }, - { 0x0f, 0x04, 0x01 }, - { 0x1a, 0x37, 0x01 } +// Always returns 1 +u32 GetMartEmployeeObjectEventId(void) +{ + static const u8 sPokeMarts[][3] = + { + { MAP_GROUP(OLDALE_TOWN_MART), MAP_NUM(OLDALE_TOWN_MART), 1 }, + { MAP_GROUP(LAVARIDGE_TOWN_MART), MAP_NUM(LAVARIDGE_TOWN_MART), 1 }, + { MAP_GROUP(FALLARBOR_TOWN_MART), MAP_NUM(FALLARBOR_TOWN_MART), 1 }, + { MAP_GROUP(VERDANTURF_TOWN_MART), MAP_NUM(VERDANTURF_TOWN_MART), 1 }, + { MAP_GROUP(PETALBURG_CITY_MART), MAP_NUM(PETALBURG_CITY_MART), 1 }, + { MAP_GROUP(SLATEPORT_CITY_MART), MAP_NUM(SLATEPORT_CITY_MART), 1 }, + { MAP_GROUP(MAUVILLE_CITY_MART), MAP_NUM(MAUVILLE_CITY_MART), 1 }, + { MAP_GROUP(RUSTBORO_CITY_MART), MAP_NUM(RUSTBORO_CITY_MART), 1 }, + { MAP_GROUP(FORTREE_CITY_MART), MAP_NUM(FORTREE_CITY_MART), 1 }, + { MAP_GROUP(MOSSDEEP_CITY_MART), MAP_NUM(MOSSDEEP_CITY_MART), 1 }, + { MAP_GROUP(SOOTOPOLIS_CITY_MART), MAP_NUM(SOOTOPOLIS_CITY_MART), 1 }, + { MAP_GROUP(BATTLE_FRONTIER_MART), MAP_NUM(BATTLE_FRONTIER_MART), 1 } }; u8 i; - for (i = 0; i < 12; i++) + for (i = 0; i < ARRAY_COUNT(sPokeMarts); i++) { - if (gSaveBlock1Ptr->location.mapGroup == gUnknown_085B3420[i][0]) + if (gSaveBlock1Ptr->location.mapGroup == sPokeMarts[i][0]) { - if (gSaveBlock1Ptr->location.mapNum == gUnknown_085B3420[i][1]) + if (gSaveBlock1Ptr->location.mapNum == sPokeMarts[i][1]) { - return gUnknown_085B3420[i][2]; + return sPokeMarts[i][2]; } } } - return TRUE; + return 1; } bool32 sub_813B4E0(void) @@ -3884,9 +3871,10 @@ void sub_813B9A0(void) } } -bool8 sub_813B9C0(void) +bool8 InPokemonCenter(void) { - static const u16 gUnknown_085B3444[] = { + static const u16 sPokemonCenters[] = + { MAP_OLDALE_TOWN_POKEMON_CENTER_1F, MAP_DEWFORD_TOWN_POKEMON_CENTER_1F, MAP_LAVARIDGE_TOWN_POKEMON_CENTER_1F, @@ -3914,9 +3902,9 @@ bool8 sub_813B9C0(void) int i; u16 map = (gSaveBlock1Ptr->location.mapGroup << 8) + gSaveBlock1Ptr->location.mapNum; - for (i = 0; gUnknown_085B3444[i] != 0xFFFF; i++) + for (i = 0; sPokemonCenters[i] != 0xFFFF; i++) { - if (gUnknown_085B3444[i] == map) + if (sPokemonCenters[i] == map) { return TRUE; } diff --git a/src/overworld.c b/src/overworld.c index 51d9ad9b5..0cac8390a 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -1759,7 +1759,7 @@ void CB2_ContinueSavedGame(void) static void FieldClearVBlankHBlankCallbacks(void) { - if (warp0_in_pokecenter() == TRUE) + if (UsedPokemonCenterWarp() == TRUE) CloseLink(); if (gWirelessCommType != 0) diff --git a/src/script_menu.c b/src/script_menu.c index c1dc2af63..c31c8d76b 100644 --- a/src/script_menu.c +++ b/src/script_menu.c @@ -13,6 +13,7 @@ #include "strings.h" #include "task.h" #include "text.h" +#include "constants/field_specials.h" #include "constants/items.h" #include "constants/songs.h" @@ -1493,8 +1494,8 @@ static void sub_80E2578(void) count = temp; if (count == 7) { - gSpecialVar_0x8004 = 11; - sub_813A128(); + gSpecialVar_0x8004 = SCROLL_MULTI_SS_TIDAL_DESTINATION; + ShowScrollableMultichoice(); } else { diff --git a/src/tv.c b/src/tv.c index 1c014d103..0c389faa9 100644 --- a/src/tv.c +++ b/src/tv.c @@ -2786,11 +2786,11 @@ bool8 GetPriceReduction(u8 newsKind) { u8 i; - if (newsKind == 0) + if (newsKind == POKENEWS_NONE) { return FALSE; } - for (i = 0; i < 16; i ++) + for (i = 0; i < POKE_NEWS_COUNT; i ++) { if (gSaveBlock1Ptr->pokeNews[i].kind == newsKind) { -- cgit v1.2.3 From 3dbd375779220dd07c88cdcfae51c43b723a86ec Mon Sep 17 00:00:00 2001 From: GriffinR Date: Fri, 13 Sep 2019 17:03:43 -0400 Subject: Some frontier field_specials documentation --- .../battle_frontier_exchange_corner.h | 16 +- src/field_specials.c | 368 ++++++++++++--------- src/frontier_util.c | 6 +- 3 files changed, 221 insertions(+), 169 deletions(-) (limited to 'src') diff --git a/src/data/battle_frontier/battle_frontier_exchange_corner.h b/src/data/battle_frontier/battle_frontier_exchange_corner.h index 77d327b5a..bcb3cdd62 100644 --- a/src/data/battle_frontier/battle_frontier_exchange_corner.h +++ b/src/data/battle_frontier/battle_frontier_exchange_corner.h @@ -1,4 +1,4 @@ -static const u16 sBFExchangeCorner_Decor1[] = +static const u16 sFrontierExchangeCorner_Decor1[] = { DECOR_KISS_POSTER, DECOR_KISS_CUSHION, @@ -13,7 +13,7 @@ static const u16 sBFExchangeCorner_Decor1[] = 0xFFFF }; -static const u16 sBFExchangeCorner_Decor2[] = +static const u16 sFrontierExchangeCorner_Decor2[] = { DECOR_LAPRAS_DOLL, DECOR_SNORLAX_DOLL, @@ -23,7 +23,7 @@ static const u16 sBFExchangeCorner_Decor2[] = 0xFFFF }; -static const u16 sBFExchangeCorner_Vitamins[] = +static const u16 sFrontierExchangeCorner_Vitamins[] = { ITEM_PROTEIN, ITEM_CALCIUM, @@ -34,7 +34,7 @@ static const u16 sBFExchangeCorner_Vitamins[] = 0xFFFF }; -static const u16 sBFExchangeCorner_HoldItems[] = +static const u16 sFrontierExchangeCorner_HoldItems[] = { ITEM_LEFTOVERS, ITEM_WHITE_HERB, @@ -48,7 +48,7 @@ static const u16 sBFExchangeCorner_HoldItems[] = 0xFFFF }; -static const u8 *const sBFExchangeCorner_Decor1Descriptions[] = +static const u8 *const sFrontierExchangeCorner_Decor1Descriptions[] = { BattleFrontier_BattlePointExchangeServiceCorner_Text_2601AA, BattleFrontier_BattlePointExchangeServiceCorner_Text_2601D0, @@ -63,7 +63,7 @@ static const u8 *const sBFExchangeCorner_Decor1Descriptions[] = gText_Exit, }; -static const u8 *const sBFExchangeCorner_Decor2Descriptions[] = +static const u8 *const sFrontierExchangeCorner_Decor2Descriptions[] = { BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C, BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C, @@ -73,7 +73,7 @@ static const u8 *const sBFExchangeCorner_Decor2Descriptions[] = gText_Exit }; -static const u8 *const sBFExchangeCorner_VitaminsDescriptions[] = +static const u8 *const sFrontierExchangeCorner_VitaminsDescriptions[] = { BattleFrontier_BattlePointExchangeServiceCorner_Text_260397, BattleFrontier_BattlePointExchangeServiceCorner_Text_2603BE, @@ -84,7 +84,7 @@ static const u8 *const sBFExchangeCorner_VitaminsDescriptions[] = gText_Exit }; -static const u8 *const sBFExchangeCorner_HoldItemsDescriptions[] = +static const u8 *const sFrontierExchangeCorner_HoldItemsDescriptions[] = { BattleFrontier_BattlePointExchangeServiceCorner_Text_26047A, BattleFrontier_BattlePointExchangeServiceCorner_Text_2604AC, diff --git a/src/field_specials.c b/src/field_specials.c index 4acf6ba54..8db4ea9fb 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -66,15 +66,15 @@ EWRAM_DATA u8 gBikeCollisions = 0; static EWRAM_DATA u32 gBikeCyclingTimer = 0; static EWRAM_DATA u8 gUnknown_0203AB5C = 0; static EWRAM_DATA u8 sPetalburgGymSlidingDoorFrameCounter = 0; -static EWRAM_DATA u8 gUnknown_0203AB5E = 0; +static EWRAM_DATA u8 gTutorMoveAndElevatorWindowId = 0; static EWRAM_DATA u16 gLilycoveDeptStore_NeverRead = 0; static EWRAM_DATA u16 gLilycoveDeptStore_DefaultFloorChoice = 0; static EWRAM_DATA struct ListMenuItem *gUnknown_0203AB64 = NULL; static EWRAM_DATA u16 gUnknown_0203AB68 = 0; -static EWRAM_DATA u16 gUnknown_0203AB6A = 0; +static EWRAM_DATA u16 gFrontierExchangeCorner_NeverRead = 0; static EWRAM_DATA u8 gScrollableMultichoiceSprite = 0; -static EWRAM_DATA u8 gUnknown_0203AB6D = 0; -static EWRAM_DATA u8 gUnknown_0203AB6E = 0; +static EWRAM_DATA u8 gBattlePointsWindowId = 0; +static EWRAM_DATA u8 gFrontierExchangeCornerItemIconWindowId = 0; static EWRAM_DATA u8 gUnknown_0203AB6F = 0; static EWRAM_DATA u32 gUnknown_0203AB70 = 0; @@ -105,19 +105,19 @@ static void sub_8139AF4(u8 taskId); static void sub_8139C2C(u16 a1, bool8 descending); static void MoveElevatorWindowLights(u8 taskId); static void sub_813A2DC(u8 taskId); -static void sub_813AA60(u16 menu, u16 selection); +static void FillFrontierExchangeCornerWindow(u16 menu, u16 selection); static void ShowBattleFrontierTutorWindow(u8 menu, u16 selection); static void sub_813A42C(void); static void sub_813A4EC(u8 taskId); static void sub_813A694(u8 taskId); static void sub_813A46C(s32 itemIndex, bool8 onInit, struct ListMenu *list); -static void sub_813AC44(u16 menu, u16 selection); +static void HideFrontierExchangeCornerItemIcon(u16 menu, u16 unused); static void ShowBattleFrontierTutorMoveDescription(u8 menu, u16 selection); static void sub_813A570(u8 taskId); static void sub_813A738(u8 taskId); static void sub_813A600(u8 taskId); static void sub_813A664(u8 taskId); -static void ScrollMulti_ShowItemIcon(u16 item); +static void ShowFrontierExchangeCornerItemIcon(u16 item); static void Task_DeoxysRockInteraction(u8 taskId); static void ChangeDeoxysRockLevel(u8 a0); static void WaitForDeoxysRockMovement(u8 taskId); @@ -1886,23 +1886,23 @@ void sub_8139B60(void) { int xPos; - gUnknown_0203AB5E = AddWindow(&gElevatorFloor_WindowTemplate); - SetStandardWindowBorderStyle(gUnknown_0203AB5E, 0); + gTutorMoveAndElevatorWindowId = AddWindow(&gElevatorFloor_WindowTemplate); + SetStandardWindowBorderStyle(gTutorMoveAndElevatorWindowId, 0); xPos = GetStringCenterAlignXOffset(1, gText_ElevatorNowOn, 64); - AddTextPrinterParameterized(gUnknown_0203AB5E, 1, gText_ElevatorNowOn, xPos, 1, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(gTutorMoveAndElevatorWindowId, 1, gText_ElevatorNowOn, xPos, 1, TEXT_SPEED_FF, NULL); xPos = GetStringCenterAlignXOffset(1, gDeptStoreFloorNames[gSpecialVar_0x8005], 64); - AddTextPrinterParameterized(gUnknown_0203AB5E, 1, gDeptStoreFloorNames[gSpecialVar_0x8005], xPos, 17, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(gTutorMoveAndElevatorWindowId, 1, gDeptStoreFloorNames[gSpecialVar_0x8005], xPos, 17, TEXT_SPEED_FF, NULL); - PutWindowTilemap(gUnknown_0203AB5E); - CopyWindowToVram(gUnknown_0203AB5E, 3); + PutWindowTilemap(gTutorMoveAndElevatorWindowId); + CopyWindowToVram(gTutorMoveAndElevatorWindowId, 3); } void sub_8139C10(void) { - ClearStdWindowAndFrameToTransparent(gUnknown_0203AB5E, TRUE); - RemoveWindow(gUnknown_0203AB5E); + ClearStdWindowAndFrameToTransparent(gTutorMoveAndElevatorWindowId, TRUE); + RemoveWindow(gTutorMoveAndElevatorWindowId); } static void sub_8139C2C(u16 a1, bool8 descending) @@ -2051,57 +2051,110 @@ void UpdateFrontierManiac(u16 daysSince) { u16 *var = GetVarPointer(VAR_FRONTIER_MANIAC_FACILITY); *var += daysSince; - *var %= 10; -} - -void sub_8139F20(void) -{ - static const u8 *const gUnknown_085B2C50[][3] = - { - { BattleFrontier_Lounge2_Text_260971, BattleFrontier_Lounge2_Text_260A1E, BattleFrontier_Lounge2_Text_260AE7 }, - { BattleFrontier_Lounge2_Text_2619AC, BattleFrontier_Lounge2_Text_261A91, BattleFrontier_Lounge2_Text_261B0C }, - { BattleFrontier_Lounge2_Text_261B95, BattleFrontier_Lounge2_Text_261B95, BattleFrontier_Lounge2_Text_261B95 }, - { BattleFrontier_Lounge2_Text_261C1A, BattleFrontier_Lounge2_Text_261C1A, BattleFrontier_Lounge2_Text_261C1A }, - { BattleFrontier_Lounge2_Text_260BC4, BattleFrontier_Lounge2_Text_260C6D, BattleFrontier_Lounge2_Text_260D3A }, - { BattleFrontier_Lounge2_Text_260E1E, BattleFrontier_Lounge2_Text_260EC7, BattleFrontier_Lounge2_Text_260F74 }, - { BattleFrontier_Lounge2_Text_2614E6, BattleFrontier_Lounge2_Text_261591, BattleFrontier_Lounge2_Text_26166F }, - { BattleFrontier_Lounge2_Text_261282, BattleFrontier_Lounge2_Text_261329, BattleFrontier_Lounge2_Text_261403 }, - { BattleFrontier_Lounge2_Text_261026, BattleFrontier_Lounge2_Text_2610CC, BattleFrontier_Lounge2_Text_261194 }, - { BattleFrontier_Lounge2_Text_26174D, BattleFrontier_Lounge2_Text_2617F9, BattleFrontier_Lounge2_Text_2618C4 }, + *var %= FRONTIER_MANIAC_FACILITY_COUNT; +} + +void ShowFrontierManiacMessage(void) +{ + static const u8 *const sFrontierManiacMessages[][FRONTIER_MANIAC_MESSAGE_COUNT] = + { + [FRONTIER_MANIAC_BATTLE_TOWER_SINGLES] = + { + BattleFrontier_Lounge2_Text_260971, + BattleFrontier_Lounge2_Text_260A1E, + BattleFrontier_Lounge2_Text_260AE7 + }, + [FRONTIER_MANIAC_BATTLE_TOWER_DOUBLES] = + { + BattleFrontier_Lounge2_Text_2619AC, + BattleFrontier_Lounge2_Text_261A91, + BattleFrontier_Lounge2_Text_261B0C + }, + [FRONTIER_MANIAC_BATTLE_TOWER_MULTIS] = + { + BattleFrontier_Lounge2_Text_261B95, + BattleFrontier_Lounge2_Text_261B95, + BattleFrontier_Lounge2_Text_261B95 + }, + [FRONTIER_MANIAC_BATTLE_TOWER_LINK_MULTIS] = + { + BattleFrontier_Lounge2_Text_261C1A, + BattleFrontier_Lounge2_Text_261C1A, + BattleFrontier_Lounge2_Text_261C1A + }, + [FRONTIER_MANIAC_BATTLE_DOME] = + { + BattleFrontier_Lounge2_Text_260BC4, + BattleFrontier_Lounge2_Text_260C6D, + BattleFrontier_Lounge2_Text_260D3A + }, + [FRONTIER_MANIAC_BATTLE_FACTORY] = + { + BattleFrontier_Lounge2_Text_260E1E, + BattleFrontier_Lounge2_Text_260EC7, + BattleFrontier_Lounge2_Text_260F74 + }, + [FRONTIER_MANIAC_BATTLE_PALACE] = + { + BattleFrontier_Lounge2_Text_2614E6, + BattleFrontier_Lounge2_Text_261591, + BattleFrontier_Lounge2_Text_26166F + }, + [FRONTIER_MANIAC_BATTLE_ARENA] = + { + BattleFrontier_Lounge2_Text_261282, + BattleFrontier_Lounge2_Text_261329, + BattleFrontier_Lounge2_Text_261403 + }, + [FRONTIER_MANIAC_BATTLE_PIKE] = + { + BattleFrontier_Lounge2_Text_261026, + BattleFrontier_Lounge2_Text_2610CC, + BattleFrontier_Lounge2_Text_261194 + }, + [FRONTIER_MANIAC_BATTLE_PYRAMID] = + { + BattleFrontier_Lounge2_Text_26174D, + BattleFrontier_Lounge2_Text_2617F9, + BattleFrontier_Lounge2_Text_2618C4 + }, }; - static const u8 gUnknown_085B2CC8[][2] = - { - { 0x15, 0x38 }, - { 0x15, 0x23 }, - { 0xff, 0xff }, - { 0xff, 0xff }, - { 0x02, 0x04 }, - { 0x07, 0x15 }, - { 0x07, 0x15 }, - { 0x0e, 0x1c }, - { 0x0d, 0x70 }, - { 0x07, 0x38 } + static const u8 sFrontierManiacStreakThresholds[][FRONTIER_MANIAC_MESSAGE_COUNT - 1] = + { + [FRONTIER_MANIAC_BATTLE_TOWER_SINGLES] = { 21, 56 }, + [FRONTIER_MANIAC_BATTLE_TOWER_DOUBLES] = { 21, 35 }, + [FRONTIER_MANIAC_BATTLE_TOWER_MULTIS] = { 255, 255 }, + [FRONTIER_MANIAC_BATTLE_TOWER_LINK_MULTIS] = { 255, 255 }, + [FRONTIER_MANIAC_BATTLE_DOME] = { 2, 4 }, + [FRONTIER_MANIAC_BATTLE_FACTORY] = { 7, 21 }, + [FRONTIER_MANIAC_BATTLE_PALACE] = { 7, 21 }, + [FRONTIER_MANIAC_BATTLE_ARENA] = { 14, 28 }, + [FRONTIER_MANIAC_BATTLE_PIKE] = { 13, 112 }, //BUG: 112 (0x70) is probably a mistake; the Pike Queen is battled twice well before that + [FRONTIER_MANIAC_BATTLE_PYRAMID] = { 7, 56 } }; u8 i; u16 winStreak = 0; - u16 var = VarGet(VAR_FRONTIER_MANIAC_FACILITY); + u16 facility = VarGet(VAR_FRONTIER_MANIAC_FACILITY); - switch (var) + switch (facility) { - case 0 ... 3: - if (gSaveBlock2Ptr->frontier.towerWinStreaks[var][FRONTIER_LVL_50] - >= gSaveBlock2Ptr->frontier.towerWinStreaks[var][FRONTIER_LVL_OPEN]) + case FRONTIER_MANIAC_BATTLE_TOWER_SINGLES: + case FRONTIER_MANIAC_BATTLE_TOWER_DOUBLES: + case FRONTIER_MANIAC_BATTLE_TOWER_MULTIS: + case FRONTIER_MANIAC_BATTLE_TOWER_LINK_MULTIS: + if (gSaveBlock2Ptr->frontier.towerWinStreaks[facility][FRONTIER_LVL_50] + >= gSaveBlock2Ptr->frontier.towerWinStreaks[facility][FRONTIER_LVL_OPEN]) { - winStreak = gSaveBlock2Ptr->frontier.towerWinStreaks[var][FRONTIER_LVL_50]; + winStreak = gSaveBlock2Ptr->frontier.towerWinStreaks[facility][FRONTIER_LVL_50]; } else { - winStreak = gSaveBlock2Ptr->frontier.towerWinStreaks[var][FRONTIER_LVL_OPEN]; + winStreak = gSaveBlock2Ptr->frontier.towerWinStreaks[facility][FRONTIER_LVL_OPEN]; } break; - case 4: + case FRONTIER_MANIAC_BATTLE_DOME: if (gSaveBlock2Ptr->frontier.domeWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50] >= gSaveBlock2Ptr->frontier.domeWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN]) { @@ -2112,7 +2165,7 @@ void sub_8139F20(void) winStreak = gSaveBlock2Ptr->frontier.domeWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN]; } break; - case 5: + case FRONTIER_MANIAC_BATTLE_FACTORY: if (gSaveBlock2Ptr->frontier.factoryWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50] >= gSaveBlock2Ptr->frontier.factoryWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN]) { @@ -2123,7 +2176,7 @@ void sub_8139F20(void) winStreak = gSaveBlock2Ptr->frontier.factoryWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN]; } break; - case 6: + case FRONTIER_MANIAC_BATTLE_PALACE: if (gSaveBlock2Ptr->frontier.palaceWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50] >= gSaveBlock2Ptr->frontier.palaceWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN]) { @@ -2134,7 +2187,7 @@ void sub_8139F20(void) winStreak = gSaveBlock2Ptr->frontier.palaceWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN]; } break; - case 7: + case FRONTIER_MANIAC_BATTLE_ARENA: if (gSaveBlock2Ptr->frontier.arenaWinStreaks[FRONTIER_LVL_50] >= gSaveBlock2Ptr->frontier.arenaWinStreaks[FRONTIER_LVL_OPEN]) { @@ -2145,7 +2198,7 @@ void sub_8139F20(void) winStreak = gSaveBlock2Ptr->frontier.arenaWinStreaks[FRONTIER_LVL_OPEN]; } break; - case 8: + case FRONTIER_MANIAC_BATTLE_PIKE: if (gSaveBlock2Ptr->frontier.pikeWinStreaks[FRONTIER_LVL_50] >= gSaveBlock2Ptr->frontier.pikeWinStreaks[FRONTIER_LVL_OPEN]) { @@ -2156,7 +2209,7 @@ void sub_8139F20(void) winStreak = gSaveBlock2Ptr->frontier.pikeWinStreaks[FRONTIER_LVL_OPEN]; } break; - case 9: + case FRONTIER_MANIAC_BATTLE_PYRAMID: if (gSaveBlock2Ptr->frontier.pyramidWinStreaks[FRONTIER_LVL_50] >= gSaveBlock2Ptr->frontier.pyramidWinStreaks[FRONTIER_LVL_OPEN]) { @@ -2169,16 +2222,16 @@ void sub_8139F20(void) break; } - for (i = 0; i < 2 && gUnknown_085B2CC8[var][i] < winStreak; i++); + for (i = 0; i < FRONTIER_MANIAC_MESSAGE_COUNT - 1 && sFrontierManiacStreakThresholds[facility][i] < winStreak; i++); - ShowFieldMessage(gUnknown_085B2C50[var][i]); + ShowFieldMessage(sFrontierManiacMessages[facility][i]); } // gSpecialVar_0x8005 and 0x8006 here are used by ShakeScreenInElevator void sub_813A080(void) { - static const u16 gUnknown_085B2CDC[] = { - 0x0007, 0x000e, 0x0015, 0x001c, 0x0023, 0x0031, 0x003f, 0x004d, 0x005b, 0x0000 + static const u16 sBattleTowerStreakThresholds[] = { + 7, 14, 21, 28, 35, 49, 63, 77, 91, 0 }; u8 i; @@ -2192,9 +2245,9 @@ void sub_813A080(void) return; } - for (i = 0; i < ARRAY_COUNT(gUnknown_085B2CDC) - 1; i++) + for (i = 0; i < ARRAY_COUNT(sBattleTowerStreakThresholds) - 1; i++) { - if (gUnknown_085B2CDC[i] > gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode]) + if (sBattleTowerStreakThresholds[i] > gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode]) { gSpecialVar_0x8005 = 4; gSpecialVar_0x8006 = i + 5; @@ -2521,10 +2574,10 @@ static void sub_813A2DC(u8 taskId) ScriptContext2_Enable(); gUnknown_0203AB68 = 0; gScrollableMultichoiceSprite = MAX_SPRITES; - sub_813AA60(task->data[11], 0); + FillFrontierExchangeCornerWindow(task->data[11], 0); ShowBattleFrontierTutorWindow(task->data[11], 0); gUnknown_0203AB64 = AllocZeroed(task->data[1] * 8); - gUnknown_0203AB6A = 0; + gFrontierExchangeCorner_NeverRead = 0; sub_813A42C(); for (unk1 = 0, i = 0; i < task->data[1]; i++) @@ -2599,10 +2652,10 @@ static void sub_813A46C(s32 itemIndex, bool8 onInit, struct ListMenu *list) ListMenuGetScrollAndRow(task->data[14], &selection, NULL); gUnknown_0203AB68 = selection; ListMenuGetCurrentItemArrayId(task->data[14], &selection); - sub_813AC44(task->data[11], gUnknown_0203AB6A); - sub_813AA60(task->data[11], selection); + HideFrontierExchangeCornerItemIcon(task->data[11], gFrontierExchangeCorner_NeverRead); + FillFrontierExchangeCornerWindow(task->data[11], selection); ShowBattleFrontierTutorMoveDescription(task->data[11], selection); - gUnknown_0203AB6A = selection; + gFrontierExchangeCorner_NeverRead = selection; } } @@ -2646,7 +2699,7 @@ static void sub_813A570(u8 taskId) u16 array; struct Task *task = &gTasks[taskId]; ListMenuGetCurrentItemArrayId(task->data[14], &array); - sub_813AC44(task->data[11], array); + HideFrontierExchangeCornerItemIcon(task->data[11], array); sub_813A738(taskId); DestroyListMenuTask(task->data[14], NULL, NULL); Free(gUnknown_0203AB64); @@ -2769,34 +2822,34 @@ void sub_813A76C(void) } } -void sub_813A7B8(void) -{ - static const u8 *const gUnknown_085B3040[] = { - BattleFrontier_Lounge5_Text_26468D, - BattleFrontier_Lounge5_Text_2646E5, - BattleFrontier_Lounge5_Text_264741, - BattleFrontier_Lounge5_Text_2647A4, - BattleFrontier_Lounge5_Text_2647FC, - BattleFrontier_Lounge5_Text_264858, - BattleFrontier_Lounge5_Text_2648BE, - BattleFrontier_Lounge5_Text_264916, - BattleFrontier_Lounge5_Text_264972, - BattleFrontier_Lounge5_Text_2649D5, - BattleFrontier_Lounge5_Text_264A3F, - BattleFrontier_Lounge5_Text_264A9B, - BattleFrontier_Lounge5_Text_264AF3, - BattleFrontier_Lounge5_Text_264B5D, - BattleFrontier_Lounge5_Text_2648BE, - BattleFrontier_Lounge5_Text_264BC3, - BattleFrontier_Lounge5_Text_264C36, - BattleFrontier_Lounge5_Text_2648BE, - BattleFrontier_Lounge5_Text_264C95, - BattleFrontier_Lounge5_Text_264D01, - BattleFrontier_Lounge5_Text_264D6B, - BattleFrontier_Lounge5_Text_264DD7, - BattleFrontier_Lounge5_Text_264E33, - BattleFrontier_Lounge5_Text_264E8F, - BattleFrontier_Lounge5_Text_2648BE, +void ShowNatureGirlMessage(void) +{ + static const u8 *const sNatureGirlMessages[] = { + [NATURE_HARDY] = BattleFrontier_Lounge5_Text_26468D, + [NATURE_LONELY] = BattleFrontier_Lounge5_Text_2646E5, + [NATURE_BRAVE] = BattleFrontier_Lounge5_Text_264741, + [NATURE_ADAMANT] = BattleFrontier_Lounge5_Text_2647A4, + [NATURE_NAUGHTY] = BattleFrontier_Lounge5_Text_2647FC, + [NATURE_BOLD] = BattleFrontier_Lounge5_Text_264858, + [NATURE_DOCILE] = BattleFrontier_Lounge5_Text_2648BE, + [NATURE_RELAXED] = BattleFrontier_Lounge5_Text_264916, + [NATURE_IMPISH] = BattleFrontier_Lounge5_Text_264972, + [NATURE_LAX] = BattleFrontier_Lounge5_Text_2649D5, + [NATURE_TIMID] = BattleFrontier_Lounge5_Text_264A3F, + [NATURE_HASTY] = BattleFrontier_Lounge5_Text_264A9B, + [NATURE_SERIOUS] = BattleFrontier_Lounge5_Text_264AF3, + [NATURE_JOLLY] = BattleFrontier_Lounge5_Text_264B5D, + [NATURE_NAIVE] = BattleFrontier_Lounge5_Text_2648BE, + [NATURE_MODEST] = BattleFrontier_Lounge5_Text_264BC3, + [NATURE_MILD] = BattleFrontier_Lounge5_Text_264C36, + [NATURE_QUIET] = BattleFrontier_Lounge5_Text_2648BE, + [NATURE_BASHFUL] = BattleFrontier_Lounge5_Text_264C95, + [NATURE_RASH] = BattleFrontier_Lounge5_Text_264D01, + [NATURE_CALM] = BattleFrontier_Lounge5_Text_264D6B, + [NATURE_GENTLE] = BattleFrontier_Lounge5_Text_264DD7, + [NATURE_SASSY] = BattleFrontier_Lounge5_Text_264E33, + [NATURE_CAREFUL] = BattleFrontier_Lounge5_Text_264E8F, + [NATURE_QUIRKY] = BattleFrontier_Lounge5_Text_2648BE, }; u8 nature; @@ -2807,19 +2860,19 @@ void sub_813A7B8(void) } nature = GetNature(&gPlayerParty[gSpecialVar_0x8004]); - ShowFieldMessage(gUnknown_085B3040[nature]); + ShowFieldMessage(sNatureGirlMessages[nature]); } -void UpdateFrontierGambler(u16 a0) +void UpdateFrontierGambler(u16 daysSince) { - u16 *var = GetVarPointer(VAR_FRONTIER_GAMBLER_FACILITY); - *var += a0; - *var %= 12; + u16 *var = GetVarPointer(VAR_FRONTIER_GAMBLER_CHALLENGE); + *var += daysSince; + *var %= FRONTIER_GAMBLER_CHALLENGE_COUNT; } -void sub_813A820(void) +void ShowFrontierGamblerLookingMessage(void) { - static const u8 *const gUnknown_085B30A4[] = + static const u8 *const sFrontierGamblerLookingMessages[] = { BattleFrontier_Lounge3_Text_262261, BattleFrontier_Lounge3_Text_26230D, @@ -2835,14 +2888,14 @@ void sub_813A820(void) BattleFrontier_Lounge3_Text_2629BC, }; - u16 var = VarGet(VAR_FRONTIER_GAMBLER_FACILITY); - ShowFieldMessage(gUnknown_085B30A4[var]); - VarSet(VAR_FRONTIER_GAMBLER_SET_FACILITY_F, var); + u16 challenge = VarGet(VAR_FRONTIER_GAMBLER_CHALLENGE); + ShowFieldMessage(sFrontierGamblerLookingMessages[challenge]); + VarSet(VAR_FRONTIER_GAMBLER_SET_CHALLENGE, challenge); } -void sub_813A854(void) +void ShowFrontierGamblerGoMessage(void) { - static const u8 *const gUnknown_085B30D4[] = + static const u8 *const sFrontierGamblerGoMessages[] = { BattleFrontier_Lounge3_Text_262C04, BattleFrontier_Lounge3_Text_262C90, @@ -2858,10 +2911,10 @@ void sub_813A854(void) BattleFrontier_Lounge3_Text_263211, }; - ShowFieldMessage(gUnknown_085B30D4[VarGet(VAR_FRONTIER_GAMBLER_SET_FACILITY_F)]); + ShowFieldMessage(sFrontierGamblerGoMessages[VarGet(VAR_FRONTIER_GAMBLER_SET_CHALLENGE)]); } -void sub_813A878(u8 a0) +void FrontierGamblerSetWonOrLost(bool8 won) { static const u16 sFrontierChallenges[] = { @@ -2880,37 +2933,37 @@ void sub_813A878(u8 a0) }; u16 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE); - u16 challenge = VarGet(VAR_FRONTIER_GAMBLER_SET_FACILITY_F); + u16 challenge = VarGet(VAR_FRONTIER_GAMBLER_SET_CHALLENGE); u16 frontierFacilityId = VarGet(VAR_FRONTIER_FACILITY); - if (VarGet(VAR_FRONTIER_GAMBLER_PLACED_BET_F) == 1) + if (VarGet(VAR_FRONTIER_GAMBLER_STATE) == FRONTIER_GAMBLER_PLACED_BET) { if (sFrontierChallenges[challenge] == FRONTIER_CHALLENGE(frontierFacilityId, battleMode)) { - if (a0 != 0) + if (won != FALSE) { - VarSet(VAR_FRONTIER_GAMBLER_PLACED_BET_F, 2); + VarSet(VAR_FRONTIER_GAMBLER_STATE, FRONTIER_GAMBLER_WON); } else { - VarSet(VAR_FRONTIER_GAMBLER_PLACED_BET_F, 3); + VarSet(VAR_FRONTIER_GAMBLER_STATE, FRONTIER_GAMBLER_LOST); } } } } -void sub_813A8FC(void) +void UpdateBattlePointsWindow(void) { u8 string[32]; u32 x; StringCopy(ConvertIntToDecimalStringN(string, gSaveBlock2Ptr->frontier.battlePoints, STR_CONV_MODE_RIGHT_ALIGN, 4), gText_BP); x = GetStringRightAlignXOffset(1, string, 48); - AddTextPrinterParameterized(gUnknown_0203AB6D, 1, string, x, 1, 0, NULL); + AddTextPrinterParameterized(gBattlePointsWindowId, 1, string, x, 1, 0, NULL); } -void sub_813A958(void) +void ShowBattlePointsWindow(void) { - static const struct WindowTemplate gUnknown_085B311C = { + static const struct WindowTemplate sBattlePoints_WindowTemplate = { .bg = 0, .tilemapLeft = 1, .tilemapTop = 1, @@ -2920,16 +2973,16 @@ void sub_813A958(void) .baseBlock = 8, }; - gUnknown_0203AB6D = AddWindow(&gUnknown_085B311C); - SetStandardWindowBorderStyle(gUnknown_0203AB6D, 0); - sub_813A8FC(); - CopyWindowToVram(gUnknown_0203AB6D, 2); + gBattlePointsWindowId = AddWindow(&sBattlePoints_WindowTemplate); + SetStandardWindowBorderStyle(gBattlePointsWindowId, 0); + UpdateBattlePointsWindow(); + CopyWindowToVram(gBattlePointsWindowId, 2); } -void sub_813A988(void) +void CloseBattlePointsWindow(void) { - ClearStdWindowAndFrameToTransparent(gUnknown_0203AB6D, TRUE); - RemoveWindow(gUnknown_0203AB6D); + ClearStdWindowAndFrameToTransparent(gBattlePointsWindowId, TRUE); + RemoveWindow(gBattlePointsWindowId); } void TakeFrontierBattlePoints(void) @@ -2961,9 +3014,9 @@ u16 GetFrontierBattlePoints(void) return gSaveBlock2Ptr->frontier.battlePoints; } -void sub_813AA18(void) +void ShowFrontierExchangeCornerItemIconWindow(void) { - static const struct WindowTemplate gUnknown_085B3124 = { + static const struct WindowTemplate sFrontierExchangeCornerItemIcon_WindowTemplate = { .bg = 0, .tilemapLeft = 2, .tilemapTop = 9, @@ -2973,18 +3026,18 @@ void sub_813AA18(void) .baseBlock = 20, }; - gUnknown_0203AB6E = AddWindow(&gUnknown_085B3124); - SetStandardWindowBorderStyle(gUnknown_0203AB6E, 0); - CopyWindowToVram(gUnknown_0203AB6E, 2); + gFrontierExchangeCornerItemIconWindowId = AddWindow(&sFrontierExchangeCornerItemIcon_WindowTemplate); + SetStandardWindowBorderStyle(gFrontierExchangeCornerItemIconWindowId, 0); + CopyWindowToVram(gFrontierExchangeCornerItemIconWindowId, 2); } -void sub_813AA44(void) +void CloseFrontierExchangeCornerItemIconWindow(void) { - ClearStdWindowAndFrameToTransparent(gUnknown_0203AB6E, TRUE); - RemoveWindow(gUnknown_0203AB6E); + ClearStdWindowAndFrameToTransparent(gFrontierExchangeCornerItemIconWindowId, TRUE); + RemoveWindow(gFrontierExchangeCornerItemIconWindowId); } -static void sub_813AA60(u16 menu, u16 selection) +static void FillFrontierExchangeCornerWindow(u16 menu, u16 selection) { #include "data/battle_frontier/battle_frontier_exchange_corner.h" @@ -2994,44 +3047,44 @@ static void sub_813AA60(u16 menu, u16 selection) switch (menu) { case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_1: - AddTextPrinterParameterized2(0, 1, sBFExchangeCorner_Decor1Descriptions[selection], 0, NULL, 2, 1, 3); - if (sBFExchangeCorner_Decor1[selection] == 0xFFFF) + AddTextPrinterParameterized2(0, 1, sFrontierExchangeCorner_Decor1Descriptions[selection], 0, NULL, 2, 1, 3); + if (sFrontierExchangeCorner_Decor1[selection] == 0xFFFF) { - ScrollMulti_ShowItemIcon(sBFExchangeCorner_Decor1[selection]); + ShowFrontierExchangeCornerItemIcon(sFrontierExchangeCorner_Decor1[selection]); } else { FreeSpriteTilesByTag(5500); FreeSpritePaletteByTag(5500); - gScrollableMultichoiceSprite = AddDecorationIconObject(sBFExchangeCorner_Decor1[selection], 33, 88, 0, 5500, 5500); + gScrollableMultichoiceSprite = AddDecorationIconObject(sFrontierExchangeCorner_Decor1[selection], 33, 88, 0, 5500, 5500); } break; case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_2: - AddTextPrinterParameterized2(0, 1, sBFExchangeCorner_Decor2Descriptions[selection], 0, NULL, 2, 1, 3); - if (sBFExchangeCorner_Decor2[selection] == 0xFFFF) + AddTextPrinterParameterized2(0, 1, sFrontierExchangeCorner_Decor2Descriptions[selection], 0, NULL, 2, 1, 3); + if (sFrontierExchangeCorner_Decor2[selection] == 0xFFFF) { - ScrollMulti_ShowItemIcon(sBFExchangeCorner_Decor2[selection]); + ShowFrontierExchangeCornerItemIcon(sFrontierExchangeCorner_Decor2[selection]); } else { FreeSpriteTilesByTag(5500); FreeSpritePaletteByTag(5500); - gScrollableMultichoiceSprite = AddDecorationIconObject(sBFExchangeCorner_Decor2[selection], 33, 88, 0, 5500, 5500); + gScrollableMultichoiceSprite = AddDecorationIconObject(sFrontierExchangeCorner_Decor2[selection], 33, 88, 0, 5500, 5500); } break; case SCROLL_MULTI_BF_EXCHANGE_CORNER_VITAMIN_VENDOR: - AddTextPrinterParameterized2(0, 1, sBFExchangeCorner_VitaminsDescriptions[selection], 0, NULL, 2, 1, 3); - ScrollMulti_ShowItemIcon(sBFExchangeCorner_Vitamins[selection]); + AddTextPrinterParameterized2(0, 1, sFrontierExchangeCorner_VitaminsDescriptions[selection], 0, NULL, 2, 1, 3); + ShowFrontierExchangeCornerItemIcon(sFrontierExchangeCorner_Vitamins[selection]); break; case SCROLL_MULTI_BF_EXCHANGE_CORNER_HOLD_ITEM_VENDOR: - AddTextPrinterParameterized2(0, 1, sBFExchangeCorner_HoldItemsDescriptions[selection], 0, NULL, 2, 1, 3); - ScrollMulti_ShowItemIcon(sBFExchangeCorner_HoldItems[selection]); + AddTextPrinterParameterized2(0, 1, sFrontierExchangeCorner_HoldItemsDescriptions[selection], 0, NULL, 2, 1, 3); + ShowFrontierExchangeCornerItemIcon(sFrontierExchangeCorner_HoldItems[selection]); break; } } } -static void ScrollMulti_ShowItemIcon(u16 item) +static void ShowFrontierExchangeCornerItemIcon(u16 item) { FreeSpriteTilesByTag(5500); FreeSpritePaletteByTag(5500); @@ -3045,8 +3098,7 @@ static void ScrollMulti_ShowItemIcon(u16 item) } } -// selection is unused -static void sub_813AC44(u16 menu, u16 selection) +static void HideFrontierExchangeCornerItemIcon(u16 menu, u16 unused) { if (gScrollableMultichoiceSprite != MAX_SPRITES) { @@ -3120,8 +3172,8 @@ static void ShowBattleFrontierTutorWindow(u8 menu, u16 selection) { if (gSpecialVar_0x8006 == 0) { - gUnknown_0203AB5E = AddWindow(&sBattleFrontierTutor_WindowTemplate); - SetStandardWindowBorderStyle(gUnknown_0203AB5E, 0); + gTutorMoveAndElevatorWindowId = AddWindow(&sBattleFrontierTutor_WindowTemplate); + SetStandardWindowBorderStyle(gTutorMoveAndElevatorWindowId, 0); } ShowBattleFrontierTutorMoveDescription(menu, selection); } @@ -3161,22 +3213,22 @@ static void ShowBattleFrontierTutorMoveDescription(u8 menu, u16 selection) if (menu == SCROLL_MULTI_BF_MOVE_TUTOR_1 || menu == SCROLL_MULTI_BF_MOVE_TUTOR_2) { - FillWindowPixelRect(gUnknown_0203AB5E, PIXEL_FILL(1), 0, 0, 96, 48); + FillWindowPixelRect(gTutorMoveAndElevatorWindowId, PIXEL_FILL(1), 0, 0, 96, 48); if (menu == SCROLL_MULTI_BF_MOVE_TUTOR_2) { - AddTextPrinterParameterized(gUnknown_0203AB5E, 1, sBattleFrontier_TutorMoveDescriptions2[selection], 0, 1, 0, NULL); + AddTextPrinterParameterized(gTutorMoveAndElevatorWindowId, 1, sBattleFrontier_TutorMoveDescriptions2[selection], 0, 1, 0, NULL); } else { - AddTextPrinterParameterized(gUnknown_0203AB5E, 1, sBattleFrontier_TutorMoveDescriptions1[selection], 0, 1, 0, NULL); + AddTextPrinterParameterized(gTutorMoveAndElevatorWindowId, 1, sBattleFrontier_TutorMoveDescriptions1[selection], 0, 1, 0, NULL); } } } void sub_813ADB8(void) { - ClearStdWindowAndFrameToTransparent(gUnknown_0203AB5E, TRUE); - RemoveWindow(gUnknown_0203AB5E); + ClearStdWindowAndFrameToTransparent(gTutorMoveAndElevatorWindowId, TRUE); + RemoveWindow(gTutorMoveAndElevatorWindowId); } void sub_813ADD4(void) diff --git a/src/frontier_util.c b/src/frontier_util.c index 536e23e30..88e466e8c 100644 --- a/src/frontier_util.c +++ b/src/frontier_util.c @@ -794,15 +794,15 @@ static void sub_81A17A0(void) case 0: break; case 1: - sub_813A878(0); + FrontierGamblerSetWonOrLost(FALSE); VarSet(VAR_TEMP_0, gSaveBlock2Ptr->frontier.field_CA8); break; case 4: - sub_813A878(0); + FrontierGamblerSetWonOrLost(FALSE); VarSet(VAR_TEMP_0, gSaveBlock2Ptr->frontier.field_CA8); break; case 3: - sub_813A878(1); + FrontierGamblerSetWonOrLost(TRUE); VarSet(VAR_TEMP_0, gSaveBlock2Ptr->frontier.field_CA8); break; case 2: -- cgit v1.2.3 From 6ab49da81133c86a0609832a1336efbee67c1b22 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Fri, 13 Sep 2019 20:22:09 -0400 Subject: Clean up field_specials documentation --- src/field_specials.c | 314 ++++++++++++++++++++++++++------------------------- src/region_map.c | 11 +- 2 files changed, 165 insertions(+), 160 deletions(-) (limited to 'src') diff --git a/src/field_specials.c b/src/field_specials.c index 8db4ea9fb..0f777edfb 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -35,6 +35,7 @@ #include "rtc.h" #include "script.h" #include "script_menu.h" +#include "slot_machine.h" #include "sound.h" #include "starter_choose.h" #include "string_util.h" @@ -47,9 +48,11 @@ #include "constants/battle_frontier.h" #include "constants/decorations.h" #include "constants/event_objects.h" +#include "constants/event_object_movement_constants.h" #include "constants/field_effects.h" #include "constants/field_specials.h" #include "constants/items.h" +#include "constants/heal_locations.h" #include "constants/map_types.h" #include "constants/maps.h" #include "constants/songs.h" @@ -69,16 +72,16 @@ static EWRAM_DATA u8 sPetalburgGymSlidingDoorFrameCounter = 0; static EWRAM_DATA u8 gTutorMoveAndElevatorWindowId = 0; static EWRAM_DATA u16 gLilycoveDeptStore_NeverRead = 0; static EWRAM_DATA u16 gLilycoveDeptStore_DefaultFloorChoice = 0; -static EWRAM_DATA struct ListMenuItem *gUnknown_0203AB64 = NULL; -static EWRAM_DATA u16 gUnknown_0203AB68 = 0; +static EWRAM_DATA struct ListMenuItem *gScrollableMultichoice_ListMenuItem = NULL; +static EWRAM_DATA u16 gScrollableMultichoice_ScrollOffset = 0; static EWRAM_DATA u16 gFrontierExchangeCorner_NeverRead = 0; -static EWRAM_DATA u8 gScrollableMultichoiceSprite = 0; +static EWRAM_DATA u8 gScrollableMultichoice_ItemSpriteId = 0; static EWRAM_DATA u8 gBattlePointsWindowId = 0; -static EWRAM_DATA u8 gFrontierExchangeCornerItemIconWindowId = 0; +static EWRAM_DATA u8 gFrontierExchangeCorner_ItemIconWindowId = 0; static EWRAM_DATA u8 gUnknown_0203AB6F = 0; static EWRAM_DATA u32 gUnknown_0203AB70 = 0; -struct ListMenuTemplate gUnknown_030061D0; +struct ListMenuTemplate gScrollableMultichoice_ListMenuTemplate; extern const u16 gEventObjectPalette8[]; extern const u16 gEventObjectPalette17[]; @@ -101,20 +104,20 @@ static void Task_LotteryCornerComputerEffect(u8); static void LotteryCornerComputerEffect(struct Task *); static void sub_81395BC(u8 taskId); static void sub_8139620(u8 taskId); -static void sub_8139AF4(u8 taskId); -static void sub_8139C2C(u16 a1, bool8 descending); -static void MoveElevatorWindowLights(u8 taskId); -static void sub_813A2DC(u8 taskId); -static void FillFrontierExchangeCornerWindow(u16 menu, u16 selection); +static void Task_MoveElevator(u8 taskId); +static void MoveElevatorWindowLights(u16 floorDelta, bool8 descending); +static void Task_MoveElevatorWindowLights(u8 taskId); +static void Task_ShowScrollableMultichoice(u8 taskId); +static void FillFrontierExchangeCornerWindowAndItemIcon(u16 menu, u16 selection); static void ShowBattleFrontierTutorWindow(u8 menu, u16 selection); -static void sub_813A42C(void); -static void sub_813A4EC(u8 taskId); -static void sub_813A694(u8 taskId); -static void sub_813A46C(s32 itemIndex, bool8 onInit, struct ListMenu *list); +static void InitScrollableMultichoice(void); +static void ScrollableMultichoice_ProcessInput(u8 taskId); +static void ScrollableMultichoice_UpdateScrollArrows(u8 taskId); +static void ScrollableMultichoice_MoveCursor(s32 itemIndex, bool8 onInit, struct ListMenu *list); static void HideFrontierExchangeCornerItemIcon(u16 menu, u16 unused); static void ShowBattleFrontierTutorMoveDescription(u8 menu, u16 selection); -static void sub_813A570(u8 taskId); -static void sub_813A738(u8 taskId); +static void CloseScrollableMultichoice(u8 taskId); +static void ScrollableMultichoice_RemoveScrollArrows(u8 taskId); static void sub_813A600(u8 taskId); static void sub_813A664(u8 taskId); static void ShowFrontierExchangeCornerItemIcon(u16 item); @@ -312,16 +315,16 @@ u8 GetSSTidalLocation(s8 *mapGroup, s8 *mapNum, s16 *x, s16 *y) { case 1: case 8: - return 1; + return SS_TIDAL_LOCATION_SLATEPORT; case 3: case 9: - return 4; + return SS_TIDAL_LOCATION_ROUTE131; case 4: case 5: - return 2; + return SS_TIDAL_LOCATION_LILYCOVE; case 6: case 10: - return 3; + return SS_TIDAL_LOCATION_ROUTE124; case 2: if (*varCruiseStepCount < 60) { @@ -358,7 +361,7 @@ u8 GetSSTidalLocation(s8 *mapGroup, s8 *mapNum, s16 *x, s16 *y) } *mapGroup = MAP_GROUP(ROUTE132); *y = 20; - return 0; + return SS_TIDAL_LOCATION_OTHER; } bool32 ShouldDoWallyCall(void) @@ -518,8 +521,13 @@ void SpawnLinkPartnerEventObject(void) u8 j = 0; s16 x = 0; s16 y = 0; - u8 gUnknown_085B2B5C[] = {7, 9, 8, 10}; - s8 gUnknown_085B2B60[][2] = { + u8 movementTypes[] = { + MOVEMENT_TYPE_FACE_UP, + MOVEMENT_TYPE_FACE_LEFT, + MOVEMENT_TYPE_FACE_DOWN, + MOVEMENT_TYPE_FACE_RIGHT + }; + s8 coordOffsets[][2] = { { 0, 1}, { 1, 0}, { 0, -1}, @@ -579,10 +587,10 @@ void SpawnLinkPartnerEventObject(void) linkSpriteId = EVENT_OBJ_GFX_RIVAL_MAY_NORMAL; break; } - SpawnSpecialEventObjectParameterized(linkSpriteId, gUnknown_085B2B5C[j], 0xf0 - i, gUnknown_085B2B60[j][0] + x + 7, gUnknown_085B2B60[j][1] + y + 7, 0); + SpawnSpecialEventObjectParameterized(linkSpriteId, movementTypes[j], 0xf0 - i, coordOffsets[j][0] + x + 7, coordOffsets[j][1] + y + 7, 0); LoadLinkPartnerEventObjectSpritePalette(linkSpriteId, 0xf0 - i, i); j++; - if (j == 4) + if (j == MAX_LINK_PLAYERS) { j = 0; } @@ -1296,7 +1304,7 @@ void IsGrassTypeInParty(void) void SpawnCameraObject(void) { - u8 obj = SpawnSpecialEventObjectParameterized(EVENT_OBJ_GFX_BOY_1, 8, EVENT_OBJ_ID_CAMERA, gSaveBlock1Ptr->pos.x + 7, gSaveBlock1Ptr->pos.y + 7, 3); + u8 obj = SpawnSpecialEventObjectParameterized(EVENT_OBJ_GFX_BOY_1, MOVEMENT_TYPE_FACE_DOWN, EVENT_OBJ_ID_CAMERA, gSaveBlock1Ptr->pos.x + 7, gSaveBlock1Ptr->pos.y + 7, 3); gEventObjects[obj].invisible = TRUE; CameraObjectSetFollowedObjectId(gEventObjects[obj].spriteId); } @@ -1329,16 +1337,16 @@ void BufferEReaderTrainerName(void) u16 GetSlotMachineId(void) { - static const u8 gUnknown_085B2B88[] = {12, 2, 4, 5, 1, 8, 7, 11, 3, 10, 9, 6}; - static const u8 gUnknown_085B2B94[] = {0, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5}; - static const u8 gUnknown_085B2BA0[] = {3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5}; + static const u8 sSlotMachineRandomSeed[] = {12, 2, 4, 5, 1, 8, 7, 11, 3, 10, 9, 6}; + static const u8 sSlotMachineIds[] = {0, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5}; + static const u8 sSlotMachineServiceDayIds[] = {3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5}; - u32 v0 = gSaveBlock1Ptr->easyChatPairs[0].unk0_0 + gSaveBlock1Ptr->easyChatPairs[0].unk2 + gUnknown_085B2B88[gSpecialVar_0x8004]; + u32 rnd = gSaveBlock1Ptr->easyChatPairs[0].unk0_0 + gSaveBlock1Ptr->easyChatPairs[0].unk2 + sSlotMachineRandomSeed[gSpecialVar_0x8004]; if (GetPriceReduction(POKENEWS_GAME_CORNER)) { - return gUnknown_085B2BA0[v0 % 12]; + return sSlotMachineServiceDayIds[rnd % SLOT_MACHINE_COUNT]; } - return gUnknown_085B2B94[v0 % 12]; + return sSlotMachineIds[rnd % SLOT_MACHINE_COUNT]; } bool8 FoundAbandonedShipRoom1Key(void) @@ -1444,7 +1452,7 @@ void SetShoalItemFlag(u16 v0) void PutZigzagoonInPlayerParty(void) { u16 monData; - CreateMon(&gPlayerParty[0], SPECIES_ZIGZAGOON, 7, 0x20, FALSE, 0, OT_ID_PLAYER_ID, 0); + CreateMon(&gPlayerParty[0], SPECIES_ZIGZAGOON, 7, 32, FALSE, 0, OT_ID_PLAYER_ID, 0); monData = TRUE; SetMonData(&gPlayerParty[0], MON_DATA_ABILITY_NUM, &monData); monData = MOVE_TACKLE; @@ -1830,17 +1838,18 @@ u16 GetDeptStoreDefaultFloorChoice(void) return gLilycoveDeptStore_DefaultFloorChoice; } -void ShakeScreenInElevator(void) +void MoveElevator(void) { - static const u8 gUnknown_085B2C18[] = { 0x08, 0x10, 0x18, 0x20, 0x26, 0x2e, 0x34, 0x38, 0x39 }; + static const u8 sElevatorTripLength[] = { 8, 16, 24, 32, 38, 46, 52, 56, 57 }; - s16 *data = gTasks[CreateTask(sub_8139AF4, 9)].data; + s16 *data = gTasks[CreateTask(Task_MoveElevator, 9)].data; u16 floorDelta; data[1] = 0; data[2] = 0; data[4] = 1; + // descending if (gSpecialVar_0x8005 > gSpecialVar_0x8006) { floorDelta = gSpecialVar_0x8005 - gSpecialVar_0x8006; @@ -1855,14 +1864,14 @@ void ShakeScreenInElevator(void) if (floorDelta > 8) floorDelta = 8; - data[5] = gUnknown_085B2C18[floorDelta]; + data[5] = sElevatorTripLength[floorDelta]; SetCameraPanningCallback(NULL); - sub_8139C2C(floorDelta, data[6]); + MoveElevatorWindowLights(floorDelta, data[6]); PlaySE(SE_ELEBETA); } -static void sub_8139AF4(u8 taskId) +static void Task_MoveElevator(u8 taskId) { s16 *data = gTasks[taskId].data; data[1]++; @@ -1872,6 +1881,8 @@ static void sub_8139AF4(u8 taskId) data[2]++; data[4] = -data[4]; SetCameraPanning(0, data[4]); + + // arrived at floor if (data[2] == data[5]) { PlaySE(SE_PINPON); @@ -1882,7 +1893,7 @@ static void sub_8139AF4(u8 taskId) } } -void sub_8139B60(void) +void ShowDeptStoreElevatorFloorSelect(void) { int xPos; @@ -1899,27 +1910,27 @@ void sub_8139B60(void) CopyWindowToVram(gTutorMoveAndElevatorWindowId, 3); } -void sub_8139C10(void) +void CloseDeptStoreElevatorWindow(void) { ClearStdWindowAndFrameToTransparent(gTutorMoveAndElevatorWindowId, TRUE); RemoveWindow(gTutorMoveAndElevatorWindowId); } -static void sub_8139C2C(u16 a1, bool8 descending) +static void MoveElevatorWindowLights(u16 floorDelta, bool8 descending) { - static const u8 gUnknown_085B2C21[] = { 0x03, 0x06, 0x09, 0x0c, 0x0f, 0x12, 0x15, 0x18, 0x1b }; + static const u8 sElevatorLightCycles[] = { 3, 6, 9, 12, 15, 18, 21, 24, 27 }; - if (FuncIsActiveTask(MoveElevatorWindowLights) != TRUE) + if (FuncIsActiveTask(Task_MoveElevatorWindowLights) != TRUE) { - u8 taskId = CreateTask(MoveElevatorWindowLights, 8); + u8 taskId = CreateTask(Task_MoveElevatorWindowLights, 8); gTasks[taskId].data[0] = 0; gTasks[taskId].data[1] = 0; gTasks[taskId].data[2] = descending; - gTasks[taskId].data[3] = gUnknown_085B2C21[a1]; + gTasks[taskId].data[3] = sElevatorLightCycles[floorDelta]; } } -static void MoveElevatorWindowLights(u8 taskId) +static void Task_MoveElevatorWindowLights(u8 taskId) { u8 x, y; s16 *data = gTasks[taskId].data; @@ -1960,7 +1971,7 @@ static void MoveElevatorWindowLights(u8 taskId) data[1]++; } -void sub_8139D98(void) +void BufferVarsForIVRater(void) { u8 i; u32 ivStorage[NUM_STATS]; @@ -2227,8 +2238,8 @@ void ShowFrontierManiacMessage(void) ShowFieldMessage(sFrontierManiacMessages[facility][i]); } -// gSpecialVar_0x8005 and 0x8006 here are used by ShakeScreenInElevator -void sub_813A080(void) +// gSpecialVar_0x8005 and 0x8006 here are used by MoveElevator +void BufferBattleTowerElevatorFloors(void) { static const u16 sBattleTowerStreakThresholds[] = { 7, 14, 21, 28, 35, 49, 63, 77, 91, 0 @@ -2262,7 +2273,7 @@ void sub_813A080(void) // data[1]: number of options in the multichoice void ShowScrollableMultichoice(void) { - u8 taskId = CreateTask(sub_813A2DC, 8); + u8 taskId = CreateTask(Task_ShowScrollableMultichoice, 8); struct Task *task = &gTasks[taskId]; task->data[11] = gSpecialVar_0x8004; @@ -2279,7 +2290,7 @@ void ShowScrollableMultichoice(void) task->data[15] = taskId; break; case SCROLL_MULTI_GLASS_WORKSHOP_VENDOR: - task->data[0] = 5; + task->data[0] = MAX_SCROLL_MULTI_ON_SCREEN - 1; task->data[1] = 8; task->data[2] = 1; task->data[3] = 1; @@ -2289,7 +2300,7 @@ void ShowScrollableMultichoice(void) task->data[15] = taskId; break; case SCROLL_MULTI_POKEMON_FAN_CLUB_RATER: - task->data[0] = 6; + task->data[0] = MAX_SCROLL_MULTI_ON_SCREEN; task->data[1] = 12; task->data[2] = 1; task->data[3] = 1; @@ -2299,7 +2310,7 @@ void ShowScrollableMultichoice(void) task->data[15] = taskId; break; case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_1: - task->data[0] = 6; + task->data[0] = MAX_SCROLL_MULTI_ON_SCREEN; task->data[1] = 11; task->data[2] = 14; task->data[3] = 1; @@ -2309,7 +2320,7 @@ void ShowScrollableMultichoice(void) task->data[15] = taskId; break; case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_2: - task->data[0] = 6; + task->data[0] = MAX_SCROLL_MULTI_ON_SCREEN; task->data[1] = 6; task->data[2] = 14; task->data[3] = 1; @@ -2319,7 +2330,7 @@ void ShowScrollableMultichoice(void) task->data[15] = taskId; break; case SCROLL_MULTI_BF_EXCHANGE_CORNER_VITAMIN_VENDOR: - task->data[0] = 6; + task->data[0] = MAX_SCROLL_MULTI_ON_SCREEN; task->data[1] = 7; task->data[2] = 14; task->data[3] = 1; @@ -2329,7 +2340,7 @@ void ShowScrollableMultichoice(void) task->data[15] = taskId; break; case SCROLL_MULTI_BF_EXCHANGE_CORNER_HOLD_ITEM_VENDOR: - task->data[0] = 6; + task->data[0] = MAX_SCROLL_MULTI_ON_SCREEN; task->data[1] = 10; task->data[2] = 14; task->data[3] = 1; @@ -2339,7 +2350,7 @@ void ShowScrollableMultichoice(void) task->data[15] = taskId; break; case SCROLL_MULTI_BERRY_POWDER_VENDOR: - task->data[0] = 6; + task->data[0] = MAX_SCROLL_MULTI_ON_SCREEN; task->data[1] = 12; task->data[2] = 15; task->data[3] = 1; @@ -2349,7 +2360,7 @@ void ShowScrollableMultichoice(void) task->data[15] = taskId; break; case SCROLL_MULTI_BF_RECEPTIONIST: - task->data[0] = 6; + task->data[0] = MAX_SCROLL_MULTI_ON_SCREEN; task->data[1] = 10; task->data[2] = 17; task->data[3] = 1; @@ -2360,7 +2371,7 @@ void ShowScrollableMultichoice(void) break; case SCROLL_MULTI_BF_MOVE_TUTOR_1: case SCROLL_MULTI_BF_MOVE_TUTOR_2: - task->data[0] = 6; + task->data[0] = MAX_SCROLL_MULTI_ON_SCREEN; task->data[1] = 11; task->data[2] = 15; task->data[3] = 1; @@ -2370,7 +2381,7 @@ void ShowScrollableMultichoice(void) task->data[15] = taskId; break; case SCROLL_MULTI_SS_TIDAL_DESTINATION: - task->data[0] = 6; + task->data[0] = MAX_SCROLL_MULTI_ON_SCREEN; task->data[1] = 7; task->data[2] = 19; task->data[3] = 1; @@ -2380,7 +2391,7 @@ void ShowScrollableMultichoice(void) task->data[15] = taskId; break; case SCROLL_MULTI_BATTLE_TENT_RULES: - task->data[0] = 6; + task->data[0] = MAX_SCROLL_MULTI_ON_SCREEN; task->data[1] = 7; task->data[2] = 17; task->data[3] = 1; @@ -2402,7 +2413,6 @@ static const u8 *const sScrollableMenuOptions[][MAX_SCROLL_MULTI_LENGTH] = { gText_Exit }, - [SCROLL_MULTI_GLASS_WORKSHOP_VENDOR] = { gText_BlueFlute, @@ -2414,7 +2424,6 @@ static const u8 *const sScrollableMenuOptions[][MAX_SCROLL_MULTI_LENGTH] = gText_PrettyDesk, gText_Exit }, - [SCROLL_MULTI_POKEMON_FAN_CLUB_RATER] = { gText_0Pts, @@ -2430,7 +2439,6 @@ static const u8 *const sScrollableMenuOptions[][MAX_SCROLL_MULTI_LENGTH] = gText_100Pts, gText_QuestionMark }, - [SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_1] = { gText_KissPoster16BP, @@ -2445,7 +2453,6 @@ static const u8 *const sScrollableMenuOptions[][MAX_SCROLL_MULTI_LENGTH] = gText_TotodileDoll80BP, gText_Exit }, - [SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_2] = { gText_LaprasDoll128BP, @@ -2455,7 +2462,6 @@ static const u8 *const sScrollableMenuOptions[][MAX_SCROLL_MULTI_LENGTH] = gText_BlastoiseDoll256BP, gText_Exit }, - [SCROLL_MULTI_BF_EXCHANGE_CORNER_VITAMIN_VENDOR] = { gText_Protein1BP, @@ -2466,7 +2472,6 @@ static const u8 *const sScrollableMenuOptions[][MAX_SCROLL_MULTI_LENGTH] = gText_HpUp1BP, gText_Exit }, - [SCROLL_MULTI_BF_EXCHANGE_CORNER_HOLD_ITEM_VENDOR] = { gText_Leftovers48BP, @@ -2480,7 +2485,6 @@ static const u8 *const sScrollableMenuOptions[][MAX_SCROLL_MULTI_LENGTH] = gText_ScopeLens64BP, gText_Exit }, - [SCROLL_MULTI_BERRY_POWDER_VENDOR] = { gText_EnergyPowder50, @@ -2496,7 +2500,6 @@ static const u8 *const sScrollableMenuOptions[][MAX_SCROLL_MULTI_LENGTH] = gText_PPUp3000, gText_Exit }, - [SCROLL_MULTI_BF_RECEPTIONIST] = { gText_BattleTower2, @@ -2510,7 +2513,6 @@ static const u8 *const sScrollableMenuOptions[][MAX_SCROLL_MULTI_LENGTH] = gText_ExchangeService, gText_Exit }, - [SCROLL_MULTI_BF_MOVE_TUTOR_1] = { gText_Softboiled16BP, @@ -2525,7 +2527,6 @@ static const u8 *const sScrollableMenuOptions[][MAX_SCROLL_MULTI_LENGTH] = gText_SwordsDance48BP, gText_Exit }, - [SCROLL_MULTI_BF_MOVE_TUTOR_2] = { gText_DefenseCurl16BP, @@ -2540,7 +2541,6 @@ static const u8 *const sScrollableMenuOptions[][MAX_SCROLL_MULTI_LENGTH] = gText_FirePunch48BP, gText_Exit }, - [SCROLL_MULTI_SS_TIDAL_DESTINATION] = { gText_SlateportCity, @@ -2551,7 +2551,6 @@ static const u8 *const sScrollableMenuOptions[][MAX_SCROLL_MULTI_LENGTH] = gText_FarawayIsland, gText_Exit }, - [SCROLL_MULTI_BATTLE_TENT_RULES] = { gText_BattleTrainers, @@ -2564,7 +2563,7 @@ static const u8 *const sScrollableMenuOptions[][MAX_SCROLL_MULTI_LENGTH] = } }; -static void sub_813A2DC(u8 taskId) +static void Task_ShowScrollableMultichoice(u8 taskId) { u32 unk1; u8 i, windowId; @@ -2572,19 +2571,19 @@ static void sub_813A2DC(u8 taskId) struct Task *task = &gTasks[taskId]; ScriptContext2_Enable(); - gUnknown_0203AB68 = 0; - gScrollableMultichoiceSprite = MAX_SPRITES; - FillFrontierExchangeCornerWindow(task->data[11], 0); + gScrollableMultichoice_ScrollOffset = 0; + gScrollableMultichoice_ItemSpriteId = MAX_SPRITES; + FillFrontierExchangeCornerWindowAndItemIcon(task->data[11], 0); ShowBattleFrontierTutorWindow(task->data[11], 0); - gUnknown_0203AB64 = AllocZeroed(task->data[1] * 8); + gScrollableMultichoice_ListMenuItem = AllocZeroed(task->data[1] * 8); gFrontierExchangeCorner_NeverRead = 0; - sub_813A42C(); + InitScrollableMultichoice(); for (unk1 = 0, i = 0; i < task->data[1]; i++) { const u8 *text = sScrollableMenuOptions[gSpecialVar_0x8004][i]; - gUnknown_0203AB64[i].name = text; - gUnknown_0203AB64[i].id = i; + gScrollableMultichoice_ListMenuItem[i].name = text; + gScrollableMultichoice_ListMenuItem[i].id = i; unk1 = display_text_and_get_width(text, unk1); } @@ -2608,58 +2607,58 @@ static void sub_813A2DC(u8 taskId) task->data[13] = windowId; SetStandardWindowBorderStyle(windowId, 0); - gUnknown_030061D0.totalItems = task->data[1]; - gUnknown_030061D0.maxShowed = task->data[0]; - gUnknown_030061D0.windowId = task->data[13]; + gScrollableMultichoice_ListMenuTemplate.totalItems = task->data[1]; + gScrollableMultichoice_ListMenuTemplate.maxShowed = task->data[0]; + gScrollableMultichoice_ListMenuTemplate.windowId = task->data[13]; - sub_813A694(taskId); - task->data[14] = ListMenuInit(&gUnknown_030061D0, task->data[7], task->data[8]); + ScrollableMultichoice_UpdateScrollArrows(taskId); + task->data[14] = ListMenuInit(&gScrollableMultichoice_ListMenuTemplate, task->data[7], task->data[8]); schedule_bg_copy_tilemap_to_vram(0); - gTasks[taskId].func = sub_813A4EC; + gTasks[taskId].func = ScrollableMultichoice_ProcessInput; } -static void sub_813A42C(void) +static void InitScrollableMultichoice(void) { - gUnknown_030061D0.items = gUnknown_0203AB64; - gUnknown_030061D0.moveCursorFunc = sub_813A46C; - gUnknown_030061D0.itemPrintFunc = NULL; - gUnknown_030061D0.totalItems = 1; - gUnknown_030061D0.maxShowed = 1; - gUnknown_030061D0.windowId = 0; - gUnknown_030061D0.header_X = 0; - gUnknown_030061D0.item_X = 8; - gUnknown_030061D0.cursor_X = 0; - gUnknown_030061D0.upText_Y = 1; - gUnknown_030061D0.cursorPal = 2; - gUnknown_030061D0.fillValue = 1; - gUnknown_030061D0.cursorShadowPal = 3; - gUnknown_030061D0.lettersSpacing = 0; - gUnknown_030061D0.itemVerticalPadding = 0; - gUnknown_030061D0.scrollMultiple = 0; - gUnknown_030061D0.fontId = 1; - gUnknown_030061D0.cursorKind = 0; + gScrollableMultichoice_ListMenuTemplate.items = gScrollableMultichoice_ListMenuItem; + gScrollableMultichoice_ListMenuTemplate.moveCursorFunc = ScrollableMultichoice_MoveCursor; + gScrollableMultichoice_ListMenuTemplate.itemPrintFunc = NULL; + gScrollableMultichoice_ListMenuTemplate.totalItems = 1; + gScrollableMultichoice_ListMenuTemplate.maxShowed = 1; + gScrollableMultichoice_ListMenuTemplate.windowId = 0; + gScrollableMultichoice_ListMenuTemplate.header_X = 0; + gScrollableMultichoice_ListMenuTemplate.item_X = 8; + gScrollableMultichoice_ListMenuTemplate.cursor_X = 0; + gScrollableMultichoice_ListMenuTemplate.upText_Y = 1; + gScrollableMultichoice_ListMenuTemplate.cursorPal = 2; + gScrollableMultichoice_ListMenuTemplate.fillValue = 1; + gScrollableMultichoice_ListMenuTemplate.cursorShadowPal = 3; + gScrollableMultichoice_ListMenuTemplate.lettersSpacing = 0; + gScrollableMultichoice_ListMenuTemplate.itemVerticalPadding = 0; + gScrollableMultichoice_ListMenuTemplate.scrollMultiple = 0; + gScrollableMultichoice_ListMenuTemplate.fontId = 1; + gScrollableMultichoice_ListMenuTemplate.cursorKind = 0; } -static void sub_813A46C(s32 itemIndex, bool8 onInit, struct ListMenu *list) +static void ScrollableMultichoice_MoveCursor(s32 itemIndex, bool8 onInit, struct ListMenu *list) { u8 taskId; PlaySE(SE_SELECT); - taskId = FindTaskIdByFunc(sub_813A4EC); + taskId = FindTaskIdByFunc(ScrollableMultichoice_ProcessInput); if (taskId != 0xFF) { u16 selection; struct Task *task = &gTasks[taskId]; ListMenuGetScrollAndRow(task->data[14], &selection, NULL); - gUnknown_0203AB68 = selection; + gScrollableMultichoice_ScrollOffset = selection; ListMenuGetCurrentItemArrayId(task->data[14], &selection); HideFrontierExchangeCornerItemIcon(task->data[11], gFrontierExchangeCorner_NeverRead); - FillFrontierExchangeCornerWindow(task->data[11], selection); + FillFrontierExchangeCornerWindowAndItemIcon(task->data[11], selection); ShowBattleFrontierTutorMoveDescription(task->data[11], selection); gFrontierExchangeCorner_NeverRead = selection; } } -static void sub_813A4EC(u8 taskId) +static void ScrollableMultichoice_ProcessInput(u8 taskId) { struct Task *task = &gTasks[taskId]; s32 input = ListMenu_ProcessInput(task->data[14]); @@ -2671,22 +2670,22 @@ static void sub_813A4EC(u8 taskId) case LIST_CANCEL: gSpecialVar_Result = 0x7F; PlaySE(SE_SELECT); - sub_813A570(taskId); + CloseScrollableMultichoice(taskId); break; default: gSpecialVar_Result = input; PlaySE(SE_SELECT); if (!task->data[6]) { - sub_813A570(taskId); + CloseScrollableMultichoice(taskId); } else if (input == task->data[1] - 1) { - sub_813A570(taskId); + CloseScrollableMultichoice(taskId); } else { - sub_813A738(taskId); + ScrollableMultichoice_RemoveScrollArrows(taskId); task->func = sub_813A600; EnableBothScriptContexts(); } @@ -2694,15 +2693,15 @@ static void sub_813A4EC(u8 taskId) } } -static void sub_813A570(u8 taskId) +static void CloseScrollableMultichoice(u8 taskId) { - u16 array; + u16 selection; struct Task *task = &gTasks[taskId]; - ListMenuGetCurrentItemArrayId(task->data[14], &array); - HideFrontierExchangeCornerItemIcon(task->data[11], array); - sub_813A738(taskId); + ListMenuGetCurrentItemArrayId(task->data[14], &selection); + HideFrontierExchangeCornerItemIcon(task->data[11], selection); + ScrollableMultichoice_RemoveScrollArrows(taskId); DestroyListMenuTask(task->data[14], NULL, NULL); - Free(gUnknown_0203AB64); + Free(gScrollableMultichoice_ListMenuItem); ClearStdWindowAndFrameToTransparent(task->data[13], 1); FillWindowPixelBuffer(task->data[13], PIXEL_FILL(0)); CopyWindowToVram(task->data[13], 2); @@ -2725,6 +2724,7 @@ static void sub_813A600(u8 taskId) } } +// Never called void sub_813A630(void) { u8 taskId = FindTaskIdByFunc(sub_813A600); @@ -2741,13 +2741,13 @@ void sub_813A630(void) static void sub_813A664(u8 taskId) { ScriptContext2_Enable(); - sub_813A694(taskId); - gTasks[taskId].func = sub_813A4EC; + ScrollableMultichoice_UpdateScrollArrows(taskId); + gTasks[taskId].func = ScrollableMultichoice_ProcessInput; } -static void sub_813A694(u8 taskId) +static void ScrollableMultichoice_UpdateScrollArrows(u8 taskId) { - static const struct ScrollArrowsTemplate gUnknown_085B3030 = { + static const struct ScrollArrowsTemplate sScrollableMultichoice_ScrollArrowsTemplate = { .firstArrowType = SCROLL_ARROW_UP, .firstX = 0, .firstY = 0, @@ -2762,7 +2762,7 @@ static void sub_813A694(u8 taskId) }; struct Task *task = &gTasks[taskId]; - struct ScrollArrowsTemplate template = gUnknown_085B3030; + struct ScrollArrowsTemplate template = sScrollableMultichoice_ScrollArrowsTemplate; if (task->data[0] != task->data[1]) { template.firstX = (task->data[4] / 2) * 8 + 12 + (task->data[2] - 1) * 8; @@ -2771,11 +2771,11 @@ static void sub_813A694(u8 taskId) template.secondY = task->data[5] * 8 + 10; template.fullyUpThreshold = 0; template.fullyDownThreshold = task->data[1] - task->data[0]; - task->data[12] = AddScrollIndicatorArrowPair(&template, &gUnknown_0203AB68); + task->data[12] = AddScrollIndicatorArrowPair(&template, &gScrollableMultichoice_ScrollOffset); } } -static void sub_813A738(u8 taskId) +static void ScrollableMultichoice_RemoveScrollArrows(u8 taskId) { struct Task *task = &gTasks[taskId]; if (task->data[0] != task->data[1]) @@ -2806,7 +2806,7 @@ void ShowGlassWorkshopMenu(void) */ } -void sub_813A76C(void) +void SetBattleTowerLinkPlayerGfx(void) { u8 i; for (i = 0; i < 2; i++) @@ -3016,7 +3016,7 @@ u16 GetFrontierBattlePoints(void) void ShowFrontierExchangeCornerItemIconWindow(void) { - static const struct WindowTemplate sFrontierExchangeCornerItemIcon_WindowTemplate = { + static const struct WindowTemplate sFrontierExchangeCorner_ItemIconWindowTemplate = { .bg = 0, .tilemapLeft = 2, .tilemapTop = 9, @@ -3026,18 +3026,18 @@ void ShowFrontierExchangeCornerItemIconWindow(void) .baseBlock = 20, }; - gFrontierExchangeCornerItemIconWindowId = AddWindow(&sFrontierExchangeCornerItemIcon_WindowTemplate); - SetStandardWindowBorderStyle(gFrontierExchangeCornerItemIconWindowId, 0); - CopyWindowToVram(gFrontierExchangeCornerItemIconWindowId, 2); + gFrontierExchangeCorner_ItemIconWindowId = AddWindow(&sFrontierExchangeCorner_ItemIconWindowTemplate); + SetStandardWindowBorderStyle(gFrontierExchangeCorner_ItemIconWindowId, 0); + CopyWindowToVram(gFrontierExchangeCorner_ItemIconWindowId, 2); } void CloseFrontierExchangeCornerItemIconWindow(void) { - ClearStdWindowAndFrameToTransparent(gFrontierExchangeCornerItemIconWindowId, TRUE); - RemoveWindow(gFrontierExchangeCornerItemIconWindowId); + ClearStdWindowAndFrameToTransparent(gFrontierExchangeCorner_ItemIconWindowId, TRUE); + RemoveWindow(gFrontierExchangeCorner_ItemIconWindowId); } -static void FillFrontierExchangeCornerWindow(u16 menu, u16 selection) +static void FillFrontierExchangeCornerWindowAndItemIcon(u16 menu, u16 selection) { #include "data/battle_frontier/battle_frontier_exchange_corner.h" @@ -3056,7 +3056,7 @@ static void FillFrontierExchangeCornerWindow(u16 menu, u16 selection) { FreeSpriteTilesByTag(5500); FreeSpritePaletteByTag(5500); - gScrollableMultichoiceSprite = AddDecorationIconObject(sFrontierExchangeCorner_Decor1[selection], 33, 88, 0, 5500, 5500); + gScrollableMultichoice_ItemSpriteId = AddDecorationIconObject(sFrontierExchangeCorner_Decor1[selection], 33, 88, 0, 5500, 5500); } break; case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_2: @@ -3069,7 +3069,7 @@ static void FillFrontierExchangeCornerWindow(u16 menu, u16 selection) { FreeSpriteTilesByTag(5500); FreeSpritePaletteByTag(5500); - gScrollableMultichoiceSprite = AddDecorationIconObject(sFrontierExchangeCorner_Decor2[selection], 33, 88, 0, 5500, 5500); + gScrollableMultichoice_ItemSpriteId = AddDecorationIconObject(sFrontierExchangeCorner_Decor2[selection], 33, 88, 0, 5500, 5500); } break; case SCROLL_MULTI_BF_EXCHANGE_CORNER_VITAMIN_VENDOR: @@ -3088,19 +3088,19 @@ static void ShowFrontierExchangeCornerItemIcon(u16 item) { FreeSpriteTilesByTag(5500); FreeSpritePaletteByTag(5500); - gScrollableMultichoiceSprite = AddItemIconSprite(5500, 5500, item); + gScrollableMultichoice_ItemSpriteId = AddItemIconSprite(5500, 5500, item); - if (gScrollableMultichoiceSprite != MAX_SPRITES) + if (gScrollableMultichoice_ItemSpriteId != MAX_SPRITES) { - gSprites[gScrollableMultichoiceSprite].oam.priority = 0; - gSprites[gScrollableMultichoiceSprite].pos1.x = 36; - gSprites[gScrollableMultichoiceSprite].pos1.y = 92; + gSprites[gScrollableMultichoice_ItemSpriteId].oam.priority = 0; + gSprites[gScrollableMultichoice_ItemSpriteId].pos1.x = 36; + gSprites[gScrollableMultichoice_ItemSpriteId].pos1.y = 92; } } static void HideFrontierExchangeCornerItemIcon(u16 menu, u16 unused) { - if (gScrollableMultichoiceSprite != MAX_SPRITES) + if (gScrollableMultichoice_ItemSpriteId != MAX_SPRITES) { switch (menu) { @@ -3108,10 +3108,10 @@ static void HideFrontierExchangeCornerItemIcon(u16 menu, u16 unused) case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_2: case SCROLL_MULTI_BF_EXCHANGE_CORNER_VITAMIN_VENDOR: case SCROLL_MULTI_BF_EXCHANGE_CORNER_HOLD_ITEM_VENDOR: - DestroySpriteAndFreeResources(&gSprites[gScrollableMultichoiceSprite]); + DestroySpriteAndFreeResources(&gSprites[gScrollableMultichoice_ItemSpriteId]); break; } - gScrollableMultichoiceSprite = MAX_SPRITES; + gScrollableMultichoice_ItemSpriteId = MAX_SPRITES; } } @@ -3225,12 +3225,13 @@ static void ShowBattleFrontierTutorMoveDescription(u8 menu, u16 selection) } } -void sub_813ADB8(void) +void CloseBattleFrontierTutorWindow(void) { ClearStdWindowAndFrameToTransparent(gTutorMoveAndElevatorWindowId, TRUE); RemoveWindow(gTutorMoveAndElevatorWindowId); } +// Never called void sub_813ADD4(void) { u16 scrollOffset, selectedRow; @@ -3242,7 +3243,7 @@ void sub_813ADD4(void) ListMenuGetScrollAndRow(task->data[14], &scrollOffset, &selectedRow); SetStandardWindowBorderStyle(task->data[13], 0); - for (i = 0; i < 6; i++) + for (i = 0; i < MAX_SCROLL_MULTI_ON_SCREEN; i++) { AddTextPrinterParameterized5(task->data[13], 1, sScrollableMenuOptions[gSpecialVar_0x8004][scrollOffset + i], 10, i * 16, TEXT_SPEED_FF, NULL, 0, 0); } @@ -3253,7 +3254,7 @@ void sub_813ADD4(void) } } -void sub_813AEB4(void) +void GetBattleFrontierTutorMoveIndex(void) { u8 i; u16 moveTutor = 0; @@ -3291,6 +3292,7 @@ void sub_813AEB4(void) } } +// Never called void sub_813AF48(void) { u8 taskId = FindTaskIdByFunc(sub_813A600); @@ -3298,7 +3300,7 @@ void sub_813AF48(void) { struct Task *task = &gTasks[taskId]; DestroyListMenuTask(task->data[14], NULL, NULL); - Free(gUnknown_0203AB64); + Free(gScrollableMultichoice_ListMenuItem); ClearStdWindowAndFrameToTransparent(task->data[13], TRUE); FillWindowPixelBuffer(task->data[13], PIXEL_FILL(0)); ClearWindowTilemap(task->data[13]); @@ -3687,6 +3689,7 @@ bool32 sub_813B4E0(void) return FALSE; } +// Always returns FALSE bool32 sub_813B514(void) { if (!VarGet(VAR_ALWAYS_ZERO_0x403F)) @@ -3839,7 +3842,7 @@ static void sub_813B57C(u8 taskId) } } -void sub_813B7D8(void) +void Script_DoRayquazaScene(void) { if (gSpecialVar_0x8004 == 0) { @@ -3909,17 +3912,18 @@ static void _fwalk(u8 taskId) } } -void sub_813B968(void) +void GetBattlePyramidHint(void) { gSpecialVar_Result = gSpecialVar_0x8004 / 7; gSpecialVar_Result -= (gSpecialVar_Result / 20) * 20; } -void sub_813B9A0(void) +// Used to avoid a potential softlock if the player respawns on Dewford with no way off +void ResetHealLocationFromDewford(void) { if (gSaveBlock1Ptr->lastHealLocation.mapGroup == MAP_GROUP(DEWFORD_TOWN) && gSaveBlock1Ptr->lastHealLocation.mapNum == MAP_NUM(DEWFORD_TOWN)) { - SetLastHealLocationWarp(3); + SetLastHealLocationWarp(HEAL_LOCATION_PETALBURG_CITY); } } diff --git a/src/region_map.c b/src/region_map.c index a98964e5c..ea2cbfa6a 100644 --- a/src/region_map.c +++ b/src/region_map.c @@ -24,6 +24,7 @@ #include "region_map.h" #include "constants/region_map_sections.h" #include "heal_location.h" +#include "constants/field_specials.h" #include "constants/heal_locations.h" #include "constants/map_types.h" #include "constants/rgb.h" @@ -1144,20 +1145,20 @@ static void RegionMap_InitializeStateBasedOnSSTidalLocation(void) x = 0; switch (GetSSTidalLocation(&mapGroup, &mapNum, &xOnMap, &yOnMap)) { - case 1: + case SS_TIDAL_LOCATION_SLATEPORT: gRegionMap->mapSecId = MAPSEC_SLATEPORT_CITY; break; - case 2: + case SS_TIDAL_LOCATION_LILYCOVE: gRegionMap->mapSecId = MAPSEC_LILYCOVE_CITY; break; - case 3: + case SS_TIDAL_LOCATION_ROUTE124: gRegionMap->mapSecId = MAPSEC_ROUTE_124; break; - case 4: + case SS_TIDAL_LOCATION_ROUTE131: gRegionMap->mapSecId = MAPSEC_ROUTE_131; break; default: - case 0: + case SS_TIDAL_LOCATION_OTHER: mapHeader = Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum); gRegionMap->mapSecId = mapHeader->regionMapSectionId; -- cgit v1.2.3 From 6ab192e7393a23ef811a83bdc7e631eafdf368b9 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Tue, 17 Sep 2019 01:49:07 -0400 Subject: Review changes for #807 --- src/battle_script_commands.c | 8 +- src/data/pokemon/tutor_learnsets.h | 2 +- src/field_specials.c | 264 ++++++++++++++++++------------------- src/naming_screen.c | 8 +- src/pokemon.c | 8 +- src/pokemon_storage_system.c | 10 +- 6 files changed, 150 insertions(+), 150 deletions(-) (limited to 'src') diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 6f1b43240..4002852b7 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -10227,17 +10227,17 @@ static void atkF0_givecaughtmon(void) { if (GiveMonToPlayer(&gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker ^ BIT_SIDE]]) != MON_GIVEN_TO_PARTY) { - if (!sub_813B21C()) + if (!ShouldShowBoxWasFullMessage()) { gBattleCommunication[MULTISTRING_CHOOSER] = 0; - StringCopy(gStringVar1, GetBoxNamePtr(VarGet(VAR_STORAGE_UNKNOWN))); + StringCopy(gStringVar1, GetBoxNamePtr(VarGet(VAR_PC_BOX_TO_SEND_MON))); GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker ^ BIT_SIDE]], MON_DATA_NICKNAME, gStringVar2); } else { - StringCopy(gStringVar1, GetBoxNamePtr(VarGet(VAR_STORAGE_UNKNOWN))); + StringCopy(gStringVar1, GetBoxNamePtr(VarGet(VAR_PC_BOX_TO_SEND_MON))); // box the mon was sent to GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker ^ BIT_SIDE]], MON_DATA_NICKNAME, gStringVar2); - StringCopy(gStringVar3, GetBoxNamePtr(get_unknown_box_id())); + StringCopy(gStringVar3, GetBoxNamePtr(GetPCBoxToSendMon())); //box the mon was going to be sent to gBattleCommunication[MULTISTRING_CHOOSER] = 2; } diff --git a/src/data/pokemon/tutor_learnsets.h b/src/data/pokemon/tutor_learnsets.h index ad9db319c..2c8c3b362 100644 --- a/src/data/pokemon/tutor_learnsets.h +++ b/src/data/pokemon/tutor_learnsets.h @@ -1,4 +1,4 @@ -const u16 gTutorMoves[] = +const u16 gTutorMoves[TUTOR_MOVE_COUNT] = { [TUTOR_MOVE_MEGA_PUNCH] = MOVE_MEGA_PUNCH, [TUTOR_MOVE_SWORDS_DANCE] = MOVE_SWORDS_DANCE, diff --git a/src/field_specials.c b/src/field_specials.c index 0f777edfb..95e9c2388 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -66,20 +66,20 @@ EWRAM_DATA bool8 gBikeCyclingChallenge = FALSE; EWRAM_DATA u8 gBikeCollisions = 0; -static EWRAM_DATA u32 gBikeCyclingTimer = 0; -static EWRAM_DATA u8 gUnknown_0203AB5C = 0; +static EWRAM_DATA u32 sBikeCyclingTimer = 0; +static EWRAM_DATA u8 sUnknown_0203AB5C = 0; static EWRAM_DATA u8 sPetalburgGymSlidingDoorFrameCounter = 0; -static EWRAM_DATA u8 gTutorMoveAndElevatorWindowId = 0; -static EWRAM_DATA u16 gLilycoveDeptStore_NeverRead = 0; -static EWRAM_DATA u16 gLilycoveDeptStore_DefaultFloorChoice = 0; -static EWRAM_DATA struct ListMenuItem *gScrollableMultichoice_ListMenuItem = NULL; -static EWRAM_DATA u16 gScrollableMultichoice_ScrollOffset = 0; -static EWRAM_DATA u16 gFrontierExchangeCorner_NeverRead = 0; -static EWRAM_DATA u8 gScrollableMultichoice_ItemSpriteId = 0; -static EWRAM_DATA u8 gBattlePointsWindowId = 0; -static EWRAM_DATA u8 gFrontierExchangeCorner_ItemIconWindowId = 0; -static EWRAM_DATA u8 gUnknown_0203AB6F = 0; -static EWRAM_DATA u32 gUnknown_0203AB70 = 0; +static EWRAM_DATA u8 sTutorMoveAndElevatorWindowId = 0; +static EWRAM_DATA u16 sLilycoveDeptStore_NeverRead = 0; +static EWRAM_DATA u16 sLilycoveDeptStore_DefaultFloorChoice = 0; +static EWRAM_DATA struct ListMenuItem *sScrollableMultichoice_ListMenuItem = NULL; +static EWRAM_DATA u16 sScrollableMultichoice_ScrollOffset = 0; +static EWRAM_DATA u16 sFrontierExchangeCorner_NeverRead = 0; +static EWRAM_DATA u8 sScrollableMultichoice_ItemSpriteId = 0; +static EWRAM_DATA u8 sBattlePointsWindowId = 0; +static EWRAM_DATA u8 sFrontierExchangeCorner_ItemIconWindowId = 0; +static EWRAM_DATA u8 sPCBoxToSendMon = 0; +static EWRAM_DATA u32 sUnknown_0203AB70 = 0; struct ListMenuTemplate gScrollableMultichoice_ListMenuTemplate; @@ -149,14 +149,14 @@ void ResetCyclingRoadChallengeData(void) { gBikeCyclingChallenge = FALSE; gBikeCollisions = 0; - gBikeCyclingTimer = 0; + sBikeCyclingTimer = 0; } void Special_BeginCyclingRoadChallenge(void) { gBikeCyclingChallenge = TRUE; gBikeCollisions = 0; - gBikeCyclingTimer = gMain.vblankCounter1; + sBikeCyclingTimer = gMain.vblankCounter1; } u16 GetPlayerAvatarBike(void) @@ -242,7 +242,7 @@ static void DetermineCyclingRoadResults(u32 numFrames, u8 numBikeCollisions) } void FinishCyclingRoadChallenge(void) { - const u32 numFrames = gMain.vblankCounter1 - gBikeCyclingTimer; + const u32 numFrames = gMain.vblankCounter1 - sBikeCyclingTimer; DetermineCyclingRoadResults(numFrames, gBikeCollisions); RecordCyclingRoadResults(numFrames, gBikeCollisions); @@ -587,8 +587,8 @@ void SpawnLinkPartnerEventObject(void) linkSpriteId = EVENT_OBJ_GFX_RIVAL_MAY_NORMAL; break; } - SpawnSpecialEventObjectParameterized(linkSpriteId, movementTypes[j], 0xf0 - i, coordOffsets[j][0] + x + 7, coordOffsets[j][1] + y + 7, 0); - LoadLinkPartnerEventObjectSpritePalette(linkSpriteId, 0xf0 - i, i); + SpawnSpecialEventObjectParameterized(linkSpriteId, movementTypes[j], 240 - i, coordOffsets[j][0] + x + 7, coordOffsets[j][1] + y + 7, 0); + LoadLinkPartnerEventObjectSpritePalette(linkSpriteId, 240 - i, i); j++; if (j == MAX_LINK_PLAYERS) { @@ -825,7 +825,7 @@ static const u16 sPetalburgGymSlidingDoorMetatiles[] = { void PetalburgGymSpecial1(void) { - gUnknown_0203AB5C = 0; + sUnknown_0203AB5C = 0; sPetalburgGymSlidingDoorFrameCounter = 0; PlaySE(SE_KI_GASYAN); CreateTask(Task_PetalburgGym, 8); @@ -833,10 +833,10 @@ void PetalburgGymSpecial1(void) static void Task_PetalburgGym(u8 taskId) { - if (gUnknown_085B2B78[sPetalburgGymSlidingDoorFrameCounter] == gUnknown_0203AB5C) + if (gUnknown_085B2B78[sPetalburgGymSlidingDoorFrameCounter] == sUnknown_0203AB5C) { PetalburgGymFunc(gSpecialVar_0x8004, sPetalburgGymSlidingDoorMetatiles[sPetalburgGymSlidingDoorFrameCounter]); - gUnknown_0203AB5C = 0; + sUnknown_0203AB5C = 0; if ((++sPetalburgGymSlidingDoorFrameCounter) == ARRAY_COUNT(sPetalburgGymSlidingDoorMetatiles)) { DestroyTask(taskId); @@ -845,7 +845,7 @@ static void Task_PetalburgGym(u8 taskId) } else { - gUnknown_0203AB5C++; + sUnknown_0203AB5C++; } } @@ -1088,10 +1088,10 @@ static void PCTurnOnEffect_0(struct Task *task) task->data[3]++; } -static void PCTurnOnEffect_1(s16 pcOff, s8 dx, s8 dy) +static void PCTurnOnEffect_1(s16 isPcTurnedOn, s8 dx, s8 dy) { u16 tileId = 0; - if (pcOff != 0) + if (isPcTurnedOn) { if (gSpecialVar_0x8004 == PC_LOCATION_OTHER) { @@ -1337,11 +1337,11 @@ void BufferEReaderTrainerName(void) u16 GetSlotMachineId(void) { - static const u8 sSlotMachineRandomSeed[] = {12, 2, 4, 5, 1, 8, 7, 11, 3, 10, 9, 6}; + static const u8 sSlotMachineRandomSeeds[] = {12, 2, 4, 5, 1, 8, 7, 11, 3, 10, 9, 6}; static const u8 sSlotMachineIds[] = {0, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5}; static const u8 sSlotMachineServiceDayIds[] = {3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5}; - u32 rnd = gSaveBlock1Ptr->easyChatPairs[0].unk0_0 + gSaveBlock1Ptr->easyChatPairs[0].unk2 + sSlotMachineRandomSeed[gSpecialVar_0x8004]; + u32 rnd = gSaveBlock1Ptr->easyChatPairs[0].unk0_0 + gSaveBlock1Ptr->easyChatPairs[0].unk2 + sSlotMachineRandomSeeds[gSpecialVar_0x8004]; if (GetPriceReduction(POKENEWS_GAME_CORNER)) { return sSlotMachineServiceDayIds[rnd % SLOT_MACHINE_COUNT]; @@ -1444,7 +1444,7 @@ u8 TryUpdateRusturfTunnelState(void) return FALSE; } -void SetShoalItemFlag(u16 v0) +void SetShoalItemFlag(u16 unused) { FlagSet(FLAG_SYS_SHOAL_ITEM); } @@ -1805,37 +1805,37 @@ void SetDeptStoreFloor(void) u16 GetDeptStoreDefaultFloorChoice(void) { - gLilycoveDeptStore_NeverRead = 0; - gLilycoveDeptStore_DefaultFloorChoice = 0; + sLilycoveDeptStore_NeverRead = 0; + sLilycoveDeptStore_DefaultFloorChoice = 0; if (gSaveBlock1Ptr->dynamicWarp.mapGroup == MAP_GROUP(LILYCOVE_CITY_DEPARTMENT_STORE_1F)) { switch (gSaveBlock1Ptr->dynamicWarp.mapNum) { case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_5F): - gLilycoveDeptStore_NeverRead = 0; - gLilycoveDeptStore_DefaultFloorChoice = 0; + sLilycoveDeptStore_NeverRead = 0; + sLilycoveDeptStore_DefaultFloorChoice = 0; break; case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_4F): - gLilycoveDeptStore_NeverRead = 0; - gLilycoveDeptStore_DefaultFloorChoice = 1; + sLilycoveDeptStore_NeverRead = 0; + sLilycoveDeptStore_DefaultFloorChoice = 1; break; case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_3F): - gLilycoveDeptStore_NeverRead = 0; - gLilycoveDeptStore_DefaultFloorChoice = 2; + sLilycoveDeptStore_NeverRead = 0; + sLilycoveDeptStore_DefaultFloorChoice = 2; break; case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_2F): - gLilycoveDeptStore_NeverRead = 0; - gLilycoveDeptStore_DefaultFloorChoice = 3; + sLilycoveDeptStore_NeverRead = 0; + sLilycoveDeptStore_DefaultFloorChoice = 3; break; case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_1F): - gLilycoveDeptStore_NeverRead = 0; - gLilycoveDeptStore_DefaultFloorChoice = 4; + sLilycoveDeptStore_NeverRead = 0; + sLilycoveDeptStore_DefaultFloorChoice = 4; break; } } - return gLilycoveDeptStore_DefaultFloorChoice; + return sLilycoveDeptStore_DefaultFloorChoice; } void MoveElevator(void) @@ -1897,23 +1897,23 @@ void ShowDeptStoreElevatorFloorSelect(void) { int xPos; - gTutorMoveAndElevatorWindowId = AddWindow(&gElevatorFloor_WindowTemplate); - SetStandardWindowBorderStyle(gTutorMoveAndElevatorWindowId, 0); + sTutorMoveAndElevatorWindowId = AddWindow(&gElevatorFloor_WindowTemplate); + SetStandardWindowBorderStyle(sTutorMoveAndElevatorWindowId, 0); xPos = GetStringCenterAlignXOffset(1, gText_ElevatorNowOn, 64); - AddTextPrinterParameterized(gTutorMoveAndElevatorWindowId, 1, gText_ElevatorNowOn, xPos, 1, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(sTutorMoveAndElevatorWindowId, 1, gText_ElevatorNowOn, xPos, 1, TEXT_SPEED_FF, NULL); xPos = GetStringCenterAlignXOffset(1, gDeptStoreFloorNames[gSpecialVar_0x8005], 64); - AddTextPrinterParameterized(gTutorMoveAndElevatorWindowId, 1, gDeptStoreFloorNames[gSpecialVar_0x8005], xPos, 17, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(sTutorMoveAndElevatorWindowId, 1, gDeptStoreFloorNames[gSpecialVar_0x8005], xPos, 17, TEXT_SPEED_FF, NULL); - PutWindowTilemap(gTutorMoveAndElevatorWindowId); - CopyWindowToVram(gTutorMoveAndElevatorWindowId, 3); + PutWindowTilemap(sTutorMoveAndElevatorWindowId); + CopyWindowToVram(sTutorMoveAndElevatorWindowId, 3); } void CloseDeptStoreElevatorWindow(void) { - ClearStdWindowAndFrameToTransparent(gTutorMoveAndElevatorWindowId, TRUE); - RemoveWindow(gTutorMoveAndElevatorWindowId); + ClearStdWindowAndFrameToTransparent(sTutorMoveAndElevatorWindowId, TRUE); + RemoveWindow(sTutorMoveAndElevatorWindowId); } static void MoveElevatorWindowLights(u16 floorDelta, bool8 descending) @@ -2571,19 +2571,19 @@ static void Task_ShowScrollableMultichoice(u8 taskId) struct Task *task = &gTasks[taskId]; ScriptContext2_Enable(); - gScrollableMultichoice_ScrollOffset = 0; - gScrollableMultichoice_ItemSpriteId = MAX_SPRITES; + sScrollableMultichoice_ScrollOffset = 0; + sScrollableMultichoice_ItemSpriteId = MAX_SPRITES; FillFrontierExchangeCornerWindowAndItemIcon(task->data[11], 0); ShowBattleFrontierTutorWindow(task->data[11], 0); - gScrollableMultichoice_ListMenuItem = AllocZeroed(task->data[1] * 8); - gFrontierExchangeCorner_NeverRead = 0; + sScrollableMultichoice_ListMenuItem = AllocZeroed(task->data[1] * 8); + sFrontierExchangeCorner_NeverRead = 0; InitScrollableMultichoice(); for (unk1 = 0, i = 0; i < task->data[1]; i++) { const u8 *text = sScrollableMenuOptions[gSpecialVar_0x8004][i]; - gScrollableMultichoice_ListMenuItem[i].name = text; - gScrollableMultichoice_ListMenuItem[i].id = i; + sScrollableMultichoice_ListMenuItem[i].name = text; + sScrollableMultichoice_ListMenuItem[i].id = i; unk1 = display_text_and_get_width(text, unk1); } @@ -2619,7 +2619,7 @@ static void Task_ShowScrollableMultichoice(u8 taskId) static void InitScrollableMultichoice(void) { - gScrollableMultichoice_ListMenuTemplate.items = gScrollableMultichoice_ListMenuItem; + gScrollableMultichoice_ListMenuTemplate.items = sScrollableMultichoice_ListMenuItem; gScrollableMultichoice_ListMenuTemplate.moveCursorFunc = ScrollableMultichoice_MoveCursor; gScrollableMultichoice_ListMenuTemplate.itemPrintFunc = NULL; gScrollableMultichoice_ListMenuTemplate.totalItems = 1; @@ -2649,12 +2649,12 @@ static void ScrollableMultichoice_MoveCursor(s32 itemIndex, bool8 onInit, struct u16 selection; struct Task *task = &gTasks[taskId]; ListMenuGetScrollAndRow(task->data[14], &selection, NULL); - gScrollableMultichoice_ScrollOffset = selection; + sScrollableMultichoice_ScrollOffset = selection; ListMenuGetCurrentItemArrayId(task->data[14], &selection); - HideFrontierExchangeCornerItemIcon(task->data[11], gFrontierExchangeCorner_NeverRead); + HideFrontierExchangeCornerItemIcon(task->data[11], sFrontierExchangeCorner_NeverRead); FillFrontierExchangeCornerWindowAndItemIcon(task->data[11], selection); ShowBattleFrontierTutorMoveDescription(task->data[11], selection); - gFrontierExchangeCorner_NeverRead = selection; + sFrontierExchangeCorner_NeverRead = selection; } } @@ -2701,7 +2701,7 @@ static void CloseScrollableMultichoice(u8 taskId) HideFrontierExchangeCornerItemIcon(task->data[11], selection); ScrollableMultichoice_RemoveScrollArrows(taskId); DestroyListMenuTask(task->data[14], NULL, NULL); - Free(gScrollableMultichoice_ListMenuItem); + Free(sScrollableMultichoice_ListMenuItem); ClearStdWindowAndFrameToTransparent(task->data[13], 1); FillWindowPixelBuffer(task->data[13], PIXEL_FILL(0)); CopyWindowToVram(task->data[13], 2); @@ -2771,7 +2771,7 @@ static void ScrollableMultichoice_UpdateScrollArrows(u8 taskId) template.secondY = task->data[5] * 8 + 10; template.fullyUpThreshold = 0; template.fullyDownThreshold = task->data[1] - task->data[0]; - task->data[12] = AddScrollIndicatorArrowPair(&template, &gScrollableMultichoice_ScrollOffset); + task->data[12] = AddScrollIndicatorArrowPair(&template, &sScrollableMultichoice_ScrollOffset); } } @@ -2825,31 +2825,31 @@ void SetBattleTowerLinkPlayerGfx(void) void ShowNatureGirlMessage(void) { static const u8 *const sNatureGirlMessages[] = { - [NATURE_HARDY] = BattleFrontier_Lounge5_Text_26468D, - [NATURE_LONELY] = BattleFrontier_Lounge5_Text_2646E5, - [NATURE_BRAVE] = BattleFrontier_Lounge5_Text_264741, - [NATURE_ADAMANT] = BattleFrontier_Lounge5_Text_2647A4, - [NATURE_NAUGHTY] = BattleFrontier_Lounge5_Text_2647FC, - [NATURE_BOLD] = BattleFrontier_Lounge5_Text_264858, - [NATURE_DOCILE] = BattleFrontier_Lounge5_Text_2648BE, - [NATURE_RELAXED] = BattleFrontier_Lounge5_Text_264916, - [NATURE_IMPISH] = BattleFrontier_Lounge5_Text_264972, - [NATURE_LAX] = BattleFrontier_Lounge5_Text_2649D5, - [NATURE_TIMID] = BattleFrontier_Lounge5_Text_264A3F, - [NATURE_HASTY] = BattleFrontier_Lounge5_Text_264A9B, - [NATURE_SERIOUS] = BattleFrontier_Lounge5_Text_264AF3, - [NATURE_JOLLY] = BattleFrontier_Lounge5_Text_264B5D, - [NATURE_NAIVE] = BattleFrontier_Lounge5_Text_2648BE, - [NATURE_MODEST] = BattleFrontier_Lounge5_Text_264BC3, - [NATURE_MILD] = BattleFrontier_Lounge5_Text_264C36, - [NATURE_QUIET] = BattleFrontier_Lounge5_Text_2648BE, - [NATURE_BASHFUL] = BattleFrontier_Lounge5_Text_264C95, - [NATURE_RASH] = BattleFrontier_Lounge5_Text_264D01, - [NATURE_CALM] = BattleFrontier_Lounge5_Text_264D6B, - [NATURE_GENTLE] = BattleFrontier_Lounge5_Text_264DD7, - [NATURE_SASSY] = BattleFrontier_Lounge5_Text_264E33, - [NATURE_CAREFUL] = BattleFrontier_Lounge5_Text_264E8F, - [NATURE_QUIRKY] = BattleFrontier_Lounge5_Text_2648BE, + [NATURE_HARDY] = BattleFrontier_Lounge5_Text_NatureGirlHardy, + [NATURE_LONELY] = BattleFrontier_Lounge5_Text_NatureGirlLonely, + [NATURE_BRAVE] = BattleFrontier_Lounge5_Text_NatureGirlBrave, + [NATURE_ADAMANT] = BattleFrontier_Lounge5_Text_NatureGirlAdamant, + [NATURE_NAUGHTY] = BattleFrontier_Lounge5_Text_NatureGirlNaughty, + [NATURE_BOLD] = BattleFrontier_Lounge5_Text_NatureGirlBold, + [NATURE_DOCILE] = BattleFrontier_Lounge5_Text_NatureGirlDocileNaiveQuietQuirky, + [NATURE_RELAXED] = BattleFrontier_Lounge5_Text_NatureGirlRelaxed, + [NATURE_IMPISH] = BattleFrontier_Lounge5_Text_NatureGirlImpish, + [NATURE_LAX] = BattleFrontier_Lounge5_Text_NatureGirlLax, + [NATURE_TIMID] = BattleFrontier_Lounge5_Text_NatureGirlTimid, + [NATURE_HASTY] = BattleFrontier_Lounge5_Text_NatureGirlHasty, + [NATURE_SERIOUS] = BattleFrontier_Lounge5_Text_NatureGirlSerious, + [NATURE_JOLLY] = BattleFrontier_Lounge5_Text_NatureGirlJolly, + [NATURE_NAIVE] = BattleFrontier_Lounge5_Text_NatureGirlDocileNaiveQuietQuirky, + [NATURE_MODEST] = BattleFrontier_Lounge5_Text_NatureGirlModest, + [NATURE_MILD] = BattleFrontier_Lounge5_Text_NatureGirlMild, + [NATURE_QUIET] = BattleFrontier_Lounge5_Text_NatureGirlDocileNaiveQuietQuirky, + [NATURE_BASHFUL] = BattleFrontier_Lounge5_Text_NatureGirlBashful, + [NATURE_RASH] = BattleFrontier_Lounge5_Text_NatureGirlRash, + [NATURE_CALM] = BattleFrontier_Lounge5_Text_NatureGirlCalm, + [NATURE_GENTLE] = BattleFrontier_Lounge5_Text_NatureGirlGentle, + [NATURE_SASSY] = BattleFrontier_Lounge5_Text_NatureGirlSassy, + [NATURE_CAREFUL] = BattleFrontier_Lounge5_Text_NatureGirlCareful, + [NATURE_QUIRKY] = BattleFrontier_Lounge5_Text_NatureGirlDocileNaiveQuietQuirky, }; u8 nature; @@ -2940,7 +2940,7 @@ void FrontierGamblerSetWonOrLost(bool8 won) { if (sFrontierChallenges[challenge] == FRONTIER_CHALLENGE(frontierFacilityId, battleMode)) { - if (won != FALSE) + if (won) { VarSet(VAR_FRONTIER_GAMBLER_STATE, FRONTIER_GAMBLER_WON); } @@ -2958,7 +2958,7 @@ void UpdateBattlePointsWindow(void) u32 x; StringCopy(ConvertIntToDecimalStringN(string, gSaveBlock2Ptr->frontier.battlePoints, STR_CONV_MODE_RIGHT_ALIGN, 4), gText_BP); x = GetStringRightAlignXOffset(1, string, 48); - AddTextPrinterParameterized(gBattlePointsWindowId, 1, string, x, 1, 0, NULL); + AddTextPrinterParameterized(sBattlePointsWindowId, 1, string, x, 1, 0, NULL); } void ShowBattlePointsWindow(void) @@ -2973,16 +2973,16 @@ void ShowBattlePointsWindow(void) .baseBlock = 8, }; - gBattlePointsWindowId = AddWindow(&sBattlePoints_WindowTemplate); - SetStandardWindowBorderStyle(gBattlePointsWindowId, 0); + sBattlePointsWindowId = AddWindow(&sBattlePoints_WindowTemplate); + SetStandardWindowBorderStyle(sBattlePointsWindowId, 0); UpdateBattlePointsWindow(); - CopyWindowToVram(gBattlePointsWindowId, 2); + CopyWindowToVram(sBattlePointsWindowId, 2); } void CloseBattlePointsWindow(void) { - ClearStdWindowAndFrameToTransparent(gBattlePointsWindowId, TRUE); - RemoveWindow(gBattlePointsWindowId); + ClearStdWindowAndFrameToTransparent(sBattlePointsWindowId, TRUE); + RemoveWindow(sBattlePointsWindowId); } void TakeFrontierBattlePoints(void) @@ -3026,15 +3026,15 @@ void ShowFrontierExchangeCornerItemIconWindow(void) .baseBlock = 20, }; - gFrontierExchangeCorner_ItemIconWindowId = AddWindow(&sFrontierExchangeCorner_ItemIconWindowTemplate); - SetStandardWindowBorderStyle(gFrontierExchangeCorner_ItemIconWindowId, 0); - CopyWindowToVram(gFrontierExchangeCorner_ItemIconWindowId, 2); + sFrontierExchangeCorner_ItemIconWindowId = AddWindow(&sFrontierExchangeCorner_ItemIconWindowTemplate); + SetStandardWindowBorderStyle(sFrontierExchangeCorner_ItemIconWindowId, 0); + CopyWindowToVram(sFrontierExchangeCorner_ItemIconWindowId, 2); } void CloseFrontierExchangeCornerItemIconWindow(void) { - ClearStdWindowAndFrameToTransparent(gFrontierExchangeCorner_ItemIconWindowId, TRUE); - RemoveWindow(gFrontierExchangeCorner_ItemIconWindowId); + ClearStdWindowAndFrameToTransparent(sFrontierExchangeCorner_ItemIconWindowId, TRUE); + RemoveWindow(sFrontierExchangeCorner_ItemIconWindowId); } static void FillFrontierExchangeCornerWindowAndItemIcon(u16 menu, u16 selection) @@ -3056,7 +3056,7 @@ static void FillFrontierExchangeCornerWindowAndItemIcon(u16 menu, u16 selection) { FreeSpriteTilesByTag(5500); FreeSpritePaletteByTag(5500); - gScrollableMultichoice_ItemSpriteId = AddDecorationIconObject(sFrontierExchangeCorner_Decor1[selection], 33, 88, 0, 5500, 5500); + sScrollableMultichoice_ItemSpriteId = AddDecorationIconObject(sFrontierExchangeCorner_Decor1[selection], 33, 88, 0, 5500, 5500); } break; case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_2: @@ -3069,7 +3069,7 @@ static void FillFrontierExchangeCornerWindowAndItemIcon(u16 menu, u16 selection) { FreeSpriteTilesByTag(5500); FreeSpritePaletteByTag(5500); - gScrollableMultichoice_ItemSpriteId = AddDecorationIconObject(sFrontierExchangeCorner_Decor2[selection], 33, 88, 0, 5500, 5500); + sScrollableMultichoice_ItemSpriteId = AddDecorationIconObject(sFrontierExchangeCorner_Decor2[selection], 33, 88, 0, 5500, 5500); } break; case SCROLL_MULTI_BF_EXCHANGE_CORNER_VITAMIN_VENDOR: @@ -3088,19 +3088,19 @@ static void ShowFrontierExchangeCornerItemIcon(u16 item) { FreeSpriteTilesByTag(5500); FreeSpritePaletteByTag(5500); - gScrollableMultichoice_ItemSpriteId = AddItemIconSprite(5500, 5500, item); + sScrollableMultichoice_ItemSpriteId = AddItemIconSprite(5500, 5500, item); - if (gScrollableMultichoice_ItemSpriteId != MAX_SPRITES) + if (sScrollableMultichoice_ItemSpriteId != MAX_SPRITES) { - gSprites[gScrollableMultichoice_ItemSpriteId].oam.priority = 0; - gSprites[gScrollableMultichoice_ItemSpriteId].pos1.x = 36; - gSprites[gScrollableMultichoice_ItemSpriteId].pos1.y = 92; + gSprites[sScrollableMultichoice_ItemSpriteId].oam.priority = 0; + gSprites[sScrollableMultichoice_ItemSpriteId].pos1.x = 36; + gSprites[sScrollableMultichoice_ItemSpriteId].pos1.y = 92; } } static void HideFrontierExchangeCornerItemIcon(u16 menu, u16 unused) { - if (gScrollableMultichoice_ItemSpriteId != MAX_SPRITES) + if (sScrollableMultichoice_ItemSpriteId != MAX_SPRITES) { switch (menu) { @@ -3108,10 +3108,10 @@ static void HideFrontierExchangeCornerItemIcon(u16 menu, u16 unused) case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_2: case SCROLL_MULTI_BF_EXCHANGE_CORNER_VITAMIN_VENDOR: case SCROLL_MULTI_BF_EXCHANGE_CORNER_HOLD_ITEM_VENDOR: - DestroySpriteAndFreeResources(&gSprites[gScrollableMultichoice_ItemSpriteId]); + DestroySpriteAndFreeResources(&gSprites[sScrollableMultichoice_ItemSpriteId]); break; } - gScrollableMultichoice_ItemSpriteId = MAX_SPRITES; + sScrollableMultichoice_ItemSpriteId = MAX_SPRITES; } } @@ -3172,8 +3172,8 @@ static void ShowBattleFrontierTutorWindow(u8 menu, u16 selection) { if (gSpecialVar_0x8006 == 0) { - gTutorMoveAndElevatorWindowId = AddWindow(&sBattleFrontierTutor_WindowTemplate); - SetStandardWindowBorderStyle(gTutorMoveAndElevatorWindowId, 0); + sTutorMoveAndElevatorWindowId = AddWindow(&sBattleFrontierTutor_WindowTemplate); + SetStandardWindowBorderStyle(sTutorMoveAndElevatorWindowId, 0); } ShowBattleFrontierTutorMoveDescription(menu, selection); } @@ -3213,22 +3213,22 @@ static void ShowBattleFrontierTutorMoveDescription(u8 menu, u16 selection) if (menu == SCROLL_MULTI_BF_MOVE_TUTOR_1 || menu == SCROLL_MULTI_BF_MOVE_TUTOR_2) { - FillWindowPixelRect(gTutorMoveAndElevatorWindowId, PIXEL_FILL(1), 0, 0, 96, 48); + FillWindowPixelRect(sTutorMoveAndElevatorWindowId, PIXEL_FILL(1), 0, 0, 96, 48); if (menu == SCROLL_MULTI_BF_MOVE_TUTOR_2) { - AddTextPrinterParameterized(gTutorMoveAndElevatorWindowId, 1, sBattleFrontier_TutorMoveDescriptions2[selection], 0, 1, 0, NULL); + AddTextPrinterParameterized(sTutorMoveAndElevatorWindowId, 1, sBattleFrontier_TutorMoveDescriptions2[selection], 0, 1, 0, NULL); } else { - AddTextPrinterParameterized(gTutorMoveAndElevatorWindowId, 1, sBattleFrontier_TutorMoveDescriptions1[selection], 0, 1, 0, NULL); + AddTextPrinterParameterized(sTutorMoveAndElevatorWindowId, 1, sBattleFrontier_TutorMoveDescriptions1[selection], 0, 1, 0, NULL); } } } void CloseBattleFrontierTutorWindow(void) { - ClearStdWindowAndFrameToTransparent(gTutorMoveAndElevatorWindowId, TRUE); - RemoveWindow(gTutorMoveAndElevatorWindowId); + ClearStdWindowAndFrameToTransparent(sTutorMoveAndElevatorWindowId, TRUE); + RemoveWindow(sTutorMoveAndElevatorWindowId); } // Never called @@ -3300,7 +3300,7 @@ void sub_813AF48(void) { struct Task *task = &gTasks[taskId]; DestroyListMenuTask(task->data[14], NULL, NULL); - Free(gScrollableMultichoice_ListMenuItem); + Free(sScrollableMultichoice_ListMenuItem); ClearStdWindowAndFrameToTransparent(task->data[13], TRUE); FillWindowPixelBuffer(task->data[13], PIXEL_FILL(0)); ClearWindowTilemap(task->data[13]); @@ -3444,47 +3444,47 @@ void sub_813B1D0(void) BlendPalettes(0x04000000, 16, 0); } -void set_unknown_box_id(u8 id) +void SetPCBoxToSendMon(u8 boxId) { - gUnknown_0203AB6F = id; + sPCBoxToSendMon = boxId; } -u16 get_unknown_box_id(void) +u16 GetPCBoxToSendMon(void) { - return gUnknown_0203AB6F; + return sPCBoxToSendMon; } -bool8 sub_813B21C(void) +bool8 ShouldShowBoxWasFullMessage(void) { - if (FlagGet(FLAG_SYS_STORAGE_UNKNOWN_FLAG) == FALSE) + if (!FlagGet(FLAG_SHOWN_BOX_WAS_FULL_MESSAGE)) { - if (StorageGetCurrentBox() != VarGet(VAR_STORAGE_UNKNOWN)) + if (StorageGetCurrentBox() != VarGet(VAR_PC_BOX_TO_SEND_MON)) { - FlagSet(FLAG_SYS_STORAGE_UNKNOWN_FLAG); + FlagSet(FLAG_SHOWN_BOX_WAS_FULL_MESSAGE); return TRUE; } } return FALSE; } -bool8 sub_813B260(void) +bool8 IsDestinationBoxFull(void) { int box; int i; - set_unknown_box_id(VarGet(VAR_STORAGE_UNKNOWN)); + SetPCBoxToSendMon(VarGet(VAR_PC_BOX_TO_SEND_MON)); box = StorageGetCurrentBox(); do { for (i = 0; i < IN_BOX_COUNT; i++) { - if (GetBoxMonData(GetBoxedMonPtr(box, i), MON_DATA_SPECIES, 0) == 0) + if (GetBoxMonData(GetBoxedMonPtr(box, i), MON_DATA_SPECIES, 0) == SPECIES_NONE) { - if (get_unknown_box_id() != box) + if (GetPCBoxToSendMon() != box) { - FlagClear(FLAG_SYS_STORAGE_UNKNOWN_FLAG); + FlagClear(FLAG_SHOWN_BOX_WAS_FULL_MESSAGE); } - VarSet(VAR_STORAGE_UNKNOWN, box); - return sub_813B21C(); + VarSet(VAR_PC_BOX_TO_SEND_MON, box); + return ShouldShowBoxWasFullMessage(); } } @@ -3701,7 +3701,7 @@ bool32 sub_813B514(void) void sub_813B534(void) { - gUnknown_0203AB70 = gBattleTypeFlags; + sUnknown_0203AB70 = gBattleTypeFlags; gBattleTypeFlags = 0; if (!gReceivedRemoteLinkPlayers) { @@ -3835,7 +3835,7 @@ static void sub_813B57C(u8 taskId) { sub_800AC34(); } - gBattleTypeFlags = gUnknown_0203AB70; + gBattleTypeFlags = sUnknown_0203AB70; EnableBothScriptContexts(); DestroyTask(taskId); break; diff --git a/src/naming_screen.c b/src/naming_screen.c index 7da7d99b0..472489a26 100644 --- a/src/naming_screen.c +++ b/src/naming_screen.c @@ -541,16 +541,16 @@ static void DisplaySentToPCMessage(void) { u8 stringToDisplay = 0; - if (!sub_813B260()) + if (!IsDestinationBoxFull()) { - StringCopy(gStringVar1, GetBoxNamePtr(VarGet(VAR_STORAGE_UNKNOWN))); + StringCopy(gStringVar1, GetBoxNamePtr(VarGet(VAR_PC_BOX_TO_SEND_MON))); StringCopy(gStringVar2, gNamingScreenData->destBuffer); } else { - StringCopy(gStringVar1, GetBoxNamePtr(VarGet(VAR_STORAGE_UNKNOWN))); + StringCopy(gStringVar1, GetBoxNamePtr(VarGet(VAR_PC_BOX_TO_SEND_MON))); StringCopy(gStringVar2, gNamingScreenData->destBuffer); - StringCopy(gStringVar3, GetBoxNamePtr(get_unknown_box_id())); + StringCopy(gStringVar3, GetBoxNamePtr(GetPCBoxToSendMon())); stringToDisplay = 2; } diff --git a/src/pokemon.c b/src/pokemon.c index 4833f2db6..29358b22f 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -4329,7 +4329,7 @@ u8 SendMonToPC(struct Pokemon* mon) { s32 boxNo, boxPos; - set_unknown_box_id(VarGet(VAR_STORAGE_UNKNOWN)); + SetPCBoxToSendMon(VarGet(VAR_PC_BOX_TO_SEND_MON)); boxNo = StorageGetCurrentBox(); @@ -4344,9 +4344,9 @@ u8 SendMonToPC(struct Pokemon* mon) CopyMon(checkingMon, &mon->box, sizeof(mon->box)); gSpecialVar_MonBoxId = boxNo; gSpecialVar_MonBoxPos = boxPos; - if (get_unknown_box_id() != boxNo) - FlagClear(FLAG_SYS_STORAGE_UNKNOWN_FLAG); - VarSet(VAR_STORAGE_UNKNOWN, boxNo); + if (GetPCBoxToSendMon() != boxNo) + FlagClear(FLAG_SHOWN_BOX_WAS_FULL_MESSAGE); + VarSet(VAR_PC_BOX_TO_SEND_MON, boxNo); return MON_GIVEN_TO_PC; } } diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c index 4cd1a4772..fa9e61504 100644 --- a/src/pokemon_storage_system.c +++ b/src/pokemon_storage_system.c @@ -453,7 +453,7 @@ EWRAM_DATA static bool8 sInPartyMenu = 0; EWRAM_DATA static u8 sCurrentBoxOption = 0; EWRAM_DATA static u8 gUnknown_02039D0E = 0; EWRAM_DATA static u8 sWhichToReshow = 0; -EWRAM_DATA static u8 gUnknown_02039D10 = 0; +EWRAM_DATA static u8 sLastUsedBox = 0; EWRAM_DATA static u16 gUnknown_02039D12 = 0; EWRAM_DATA static struct Pokemon gUnknown_02039D14 = {0}; EWRAM_DATA static s8 sBoxCursorArea = 0; @@ -2167,7 +2167,7 @@ static void Cb2_EnterPSS(u8 boxOption) gUnknown_02039D12 = 0; sPSSData->state = 0; sPSSData->taskId = CreateTask(Cb_InitPSS, 3); - gUnknown_02039D10 = StorageGetCurrentBox(); + sLastUsedBox = StorageGetCurrentBox(); SetMainCallback2(Cb2_PSS); } } @@ -4366,10 +4366,10 @@ static bool8 DoShowPartyMenu(void) static void sub_80CABE0(void) { - if (gUnknown_02039D10 != StorageGetCurrentBox()) + if (sLastUsedBox != StorageGetCurrentBox()) { - FlagClear(FLAG_SYS_STORAGE_UNKNOWN_FLAG); - VarSet(VAR_STORAGE_UNKNOWN, StorageGetCurrentBox()); + FlagClear(FLAG_SHOWN_BOX_WAS_FULL_MESSAGE); + VarSet(VAR_PC_BOX_TO_SEND_MON, StorageGetCurrentBox()); } } -- cgit v1.2.3 From 1be131f843da200ecc37d511f64304015a1f03f6 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Fri, 13 Sep 2019 01:15:32 -0400 Subject: Dynamic ordering for options menu --- src/option_menu.c | 39 +++++++++++++++++++++++---------------- 1 file changed, 23 insertions(+), 16 deletions(-) (limited to 'src') diff --git a/src/option_menu.c b/src/option_menu.c index 3ffb2738f..a92b8af03 100644 --- a/src/option_menu.c +++ b/src/option_menu.c @@ -48,6 +48,13 @@ enum WIN_OPTIONS }; +#define YPOS_TEXTSPEED (MENUITEM_TEXTSPEED * 16) +#define YPOS_BATTLESCENE (MENUITEM_BATTLESCENE * 16) +#define YPOS_BATTLESTYLE (MENUITEM_BATTLESTYLE * 16) +#define YPOS_SOUND (MENUITEM_SOUND * 16) +#define YPOS_BUTTONMODE (MENUITEM_BUTTONMODE * 16) +#define YPOS_FRAMETYPE (MENUITEM_FRAMETYPE * 16) + // this file's functions static void Task_OptionMenuFadeIn(u8 taskId); static void Task_OptionMenuProcessInput(u8 taskId); @@ -280,12 +287,12 @@ static void Task_OptionMenuProcessInput(u8 taskId) if (gTasks[taskId].data[TD_MENUSELECTION] > 0) gTasks[taskId].data[TD_MENUSELECTION]--; else - gTasks[taskId].data[TD_MENUSELECTION] = 6; + gTasks[taskId].data[TD_MENUSELECTION] = MENUITEM_CANCEL; HighlightOptionMenuItem(gTasks[taskId].data[TD_MENUSELECTION]); } else if (gMain.newKeys & DPAD_DOWN) { - if (gTasks[taskId].data[TD_MENUSELECTION] <= 5) + if (gTasks[taskId].data[TD_MENUSELECTION] <= MENUITEM_CANCEL - 1) gTasks[taskId].data[TD_MENUSELECTION]++; else gTasks[taskId].data[TD_MENUSELECTION] = 0; @@ -431,7 +438,7 @@ static void TextSpeed_DrawChoices(u8 selection) styles[2] = 0; styles[selection] = 1; - DrawOptionMenuChoice(gText_TextSpeedSlow, 104, 0, styles[0]); + DrawOptionMenuChoice(gText_TextSpeedSlow, 104, YPOS_TEXTSPEED, styles[0]); widthSlow = GetStringWidth(1, gText_TextSpeedSlow, 0); widthMid = GetStringWidth(1, gText_TextSpeedMid, 0); @@ -439,9 +446,9 @@ static void TextSpeed_DrawChoices(u8 selection) widthMid -= 94; xMid = (widthSlow - widthMid - widthFast) / 2 + 104; - DrawOptionMenuChoice(gText_TextSpeedMid, xMid, 0, styles[1]); + DrawOptionMenuChoice(gText_TextSpeedMid, xMid, YPOS_TEXTSPEED, styles[1]); - DrawOptionMenuChoice(gText_TextSpeedFast, GetStringRightAlignXOffset(1, gText_TextSpeedFast, 198), 0, styles[2]); + DrawOptionMenuChoice(gText_TextSpeedFast, GetStringRightAlignXOffset(1, gText_TextSpeedFast, 198), YPOS_TEXTSPEED, styles[2]); } static u8 BattleScene_ProcessInput(u8 selection) @@ -463,8 +470,8 @@ static void BattleScene_DrawChoices(u8 selection) styles[1] = 0; styles[selection] = 1; - DrawOptionMenuChoice(gText_BattleSceneOn, 104, 16, styles[0]); - DrawOptionMenuChoice(gText_BattleSceneOff, GetStringRightAlignXOffset(1, gText_BattleSceneOff, 198), 16, styles[1]); + DrawOptionMenuChoice(gText_BattleSceneOn, 104, YPOS_BATTLESCENE, styles[0]); + DrawOptionMenuChoice(gText_BattleSceneOff, GetStringRightAlignXOffset(1, gText_BattleSceneOff, 198), YPOS_BATTLESCENE, styles[1]); } static u8 BattleStyle_ProcessInput(u8 selection) @@ -486,8 +493,8 @@ static void BattleStyle_DrawChoices(u8 selection) styles[1] = 0; styles[selection] = 1; - DrawOptionMenuChoice(gText_BattleStyleShift, 104, 32, styles[0]); - DrawOptionMenuChoice(gText_BattleStyleSet, GetStringRightAlignXOffset(1, gText_BattleStyleSet, 198), 32, styles[1]); + DrawOptionMenuChoice(gText_BattleStyleShift, 104, YPOS_BATTLESTYLE, styles[0]); + DrawOptionMenuChoice(gText_BattleStyleSet, GetStringRightAlignXOffset(1, gText_BattleStyleSet, 198), YPOS_BATTLESTYLE, styles[1]); } static u8 Sound_ProcessInput(u8 selection) @@ -510,8 +517,8 @@ static void Sound_DrawChoices(u8 selection) styles[1] = 0; styles[selection] = 1; - DrawOptionMenuChoice(gText_SoundMono, 104, 48, styles[0]); - DrawOptionMenuChoice(gText_SoundStereo, GetStringRightAlignXOffset(1, gText_SoundStereo, 198), 48, styles[1]); + DrawOptionMenuChoice(gText_SoundMono, 104, YPOS_SOUND, styles[0]); + DrawOptionMenuChoice(gText_SoundStereo, GetStringRightAlignXOffset(1, gText_SoundStereo, 198), YPOS_SOUND, styles[1]); } static u8 FrameType_ProcessInput(u8 selection) @@ -568,8 +575,8 @@ static void FrameType_DrawChoices(u8 selection) text[i] = EOS; - DrawOptionMenuChoice(gText_FrameType, 104, 80, 0); - DrawOptionMenuChoice(text, 128, 80, 1); + DrawOptionMenuChoice(gText_FrameType, 104, YPOS_FRAMETYPE, 0); + DrawOptionMenuChoice(text, 128, YPOS_FRAMETYPE, 1); } static u8 ButtonMode_ProcessInput(u8 selection) @@ -605,7 +612,7 @@ static void ButtonMode_DrawChoices(u8 selection) styles[2] = 0; styles[selection] = 1; - DrawOptionMenuChoice(gText_ButtonTypeNormal, 104, 64, styles[0]); + DrawOptionMenuChoice(gText_ButtonTypeNormal, 104, YPOS_BUTTONMODE, styles[0]); widthNormal = GetStringWidth(1, gText_ButtonTypeNormal, 0); widthLR = GetStringWidth(1, gText_ButtonTypeLR, 0); @@ -613,9 +620,9 @@ static void ButtonMode_DrawChoices(u8 selection) widthLR -= 94; xLR = (widthNormal - widthLR - widthLA) / 2 + 104; - DrawOptionMenuChoice(gText_ButtonTypeLR, xLR, 64, styles[1]); + DrawOptionMenuChoice(gText_ButtonTypeLR, xLR, YPOS_BUTTONMODE, styles[1]); - DrawOptionMenuChoice(gText_ButtonTypeLEqualsA, GetStringRightAlignXOffset(1, gText_ButtonTypeLEqualsA, 198), 64, styles[2]); + DrawOptionMenuChoice(gText_ButtonTypeLEqualsA, GetStringRightAlignXOffset(1, gText_ButtonTypeLEqualsA, 198), YPOS_BUTTONMODE, styles[2]); } static void DrawTextOption(void) -- cgit v1.2.3 From 5092ad376d1eb8e66592f4bb12c048031697f4d2 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Fri, 13 Sep 2019 01:52:01 -0400 Subject: Dynamic ordering for options names --- src/option_menu.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/option_menu.c b/src/option_menu.c index a92b8af03..27ed2ea5c 100644 --- a/src/option_menu.c +++ b/src/option_menu.c @@ -87,13 +87,13 @@ static const u8 sEqualSignGfx[] = INCBIN_U8("graphics/misc/option_menu_equals_si static const u8 *const sOptionMenuItemsNames[MENUITEM_COUNT] = { - gText_TextSpeed, - gText_BattleScene, - gText_BattleStyle, - gText_Sound, - gText_ButtonMode, - gText_Frame, - gText_OptionMenuCancel, + [MENUITEM_TEXTSPEED] = gText_TextSpeed, + [MENUITEM_BATTLESCENE] = gText_BattleScene, + [MENUITEM_BATTLESTYLE] = gText_BattleStyle, + [MENUITEM_SOUND] = gText_Sound, + [MENUITEM_BUTTONMODE] = gText_ButtonMode, + [MENUITEM_FRAMETYPE] = gText_Frame, + [MENUITEM_CANCEL] = gText_OptionMenuCancel, }; static const struct WindowTemplate sOptionMenuWinTemplates[] = -- cgit v1.2.3 From 459fca289caa2be09864412c82a868862978f082 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Tue, 17 Sep 2019 00:06:42 -0400 Subject: Review changes for #806 --- src/option_menu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/option_menu.c b/src/option_menu.c index 27ed2ea5c..e0473b5c3 100644 --- a/src/option_menu.c +++ b/src/option_menu.c @@ -292,7 +292,7 @@ static void Task_OptionMenuProcessInput(u8 taskId) } else if (gMain.newKeys & DPAD_DOWN) { - if (gTasks[taskId].data[TD_MENUSELECTION] <= MENUITEM_CANCEL - 1) + if (gTasks[taskId].data[TD_MENUSELECTION] < MENUITEM_CANCEL) gTasks[taskId].data[TD_MENUSELECTION]++; else gTasks[taskId].data[TD_MENUSELECTION] = 0; -- cgit v1.2.3 From b596322ca2a4fa575311397158ce2ecb0053781b Mon Sep 17 00:00:00 2001 From: GriffinR Date: Wed, 18 Sep 2019 18:57:25 -0400 Subject: Initial script_menu documentation --- src/data/script_menu.h | 998 ++++++++++++++++++++++++++++++++++++++++++++++ src/scrcmd.c | 2 +- src/script_menu.c | 1021 +----------------------------------------------- src/strings.c | 256 ++++++------ src/tv.c | 38 +- 5 files changed, 1160 insertions(+), 1155 deletions(-) create mode 100644 src/data/script_menu.h (limited to 'src') diff --git a/src/data/script_menu.h b/src/data/script_menu.h new file mode 100644 index 000000000..e901b4fd3 --- /dev/null +++ b/src/data/script_menu.h @@ -0,0 +1,998 @@ +// multichoice lists +const struct MenuAction MultichoiceList_000[] = +{ + {gText_Petalburg}, + {gText_Slateport}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_EnterInfo[] = +{ + {gText_Enter2}, + {gText_Info2}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_ContestInfo[] = +{ + {gText_WhatsAContest}, + {gText_TypesOfContests}, + {gText_Ranks}, + {gText_Cancel2}, +}; + +const struct MenuAction MultichoiceList_ContestType[] = +{ + {gText_CoolnessContest}, + {gText_BeautyContest}, + {gText_CutenessContest}, + {gText_SmartnessContest}, + {gText_ToughnessContest}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_DecorRegistry[] = +{ + {gText_Decoration2}, + {gText_PackUp}, + {gText_Registry}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_DecorNoRegistry[] = +{ + {gText_Decoration2}, + {gText_PackUp}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_007[] = +{ + {gMenuText_Register}, + {gText_Registry}, + {gText_Information}, + {gText_Cancel2}, +}; + +const struct MenuAction MultichoiceList_Bike[] = +{ + {gText_Mach}, + {gText_Acro}, +}; + +const struct MenuAction MultichoiceList_Status[] = +{ + {gText_Psn}, + {gText_Par}, + {gText_Slp}, + {gText_Brn}, + {gText_Frz}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_014[] = +{ + {gText_Dewford}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_016[] = +{ + {gText_SawIt}, + {gText_NotYet}, +}; + +const struct MenuAction MultichoiceList_YesNoInfo2[] = +{ + {gText_Yes}, + {gText_No}, + {gText_Info2}, +}; + +const struct MenuAction MultichoiceList_023[] = +{ + {gText_Challenge}, + {gText_Info3}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_024[] = +{ + {gText_Lv50}, + {gText_OpenLevel}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_Mechadoll1Q1[] = +{ + {gTrickHouse_Mechadoll_Oddish}, + {gTrickHouse_Mechadoll_Poochyena}, + {gTrickHouse_Mechadoll_Taillow}, +}; + +const struct MenuAction MultichoiceList_Mechadoll1Q2[] = +{ + {gTrickHouse_Mechadoll_Azurill}, + {gTrickHouse_Mechadoll_Lotad}, + {gTrickHouse_Mechadoll_Wingull}, +}; + +const struct MenuAction MultichoiceList_Mechadoll1Q3[] = +{ + {gTrickHouse_Mechadoll_Dustox}, + {gTrickHouse_Mechadoll_Zubat}, + {gTrickHouse_Mechadoll_Nincada}, +}; + +const struct MenuAction MultichoiceList_Mechadoll2Q1[] = +{ + {gTrickHouse_Mechadoll_Ralts}, + {gTrickHouse_Mechadoll_Zigzagoon}, + {gTrickHouse_Mechadoll_Slakoth}, +}; + +const struct MenuAction MultichoiceList_Mechadoll2Q2[] = +{ + {gTrickHouse_Mechadoll_Poochyena2}, + {gTrickHouse_Mechadoll_Shroomish}, + {gTrickHouse_Mechadoll_Zigzagoon2}, +}; + +const struct MenuAction MultichoiceList_Mechadoll2Q3[] = +{ + {gTrickHouse_Mechadoll_Poochyena3}, + {gTrickHouse_Mechadoll_Zubat2}, + {gTrickHouse_Mechadoll_Carvanha}, +}; + +const struct MenuAction MultichoiceList_Mechadoll3Q1[] = +{ + {gTrickHouse_Mechadoll_BurnHeal}, + {gTrickHouse_Mechadoll_HarborMail}, + {gTrickHouse_Mechadoll_SamePrice}, +}; + +const struct MenuAction MultichoiceList_Mechadoll3Q2[] = +{ + {gTrickHouse_Mechadoll_60Yen}, + {gTrickHouse_Mechadoll_55Yen}, + {gTrickHouse_Mechadoll_Nothing}, +}; + +const struct MenuAction MultichoiceList_Mechadoll3Q3[] = +{ + {gTrickHouse_Mechadoll_CostMore}, + {gTrickHouse_Mechadoll_CostLess}, + {gTrickHouse_Mechadoll_SamePrice2}, +}; + +const struct MenuAction MultichoiceList_Mechadoll4Q1[] = +{ + {gTrickHouse_Mechadoll_Male}, + {gTrickHouse_Mechadoll_Female}, + {gTrickHouse_Mechadoll_Neither}, +}; + +const struct MenuAction MultichoiceList_Mechadoll4Q2[] = +{ + {gTrickHouse_Mechadoll_ElderlyMen}, + {gTrickHouse_Mechadoll_ElderlyLadies}, + {gTrickHouse_Mechadoll_SameNumber}, +}; + +const struct MenuAction MultichoiceList_Mechadoll4Q3[] = +{ + {gTrickHouse_Mechadoll_None}, + {gTrickHouse_Mechadoll_One}, + {gTrickHouse_Mechadoll_Two}, +}; + +const struct MenuAction MultichoiceList_Mechadoll5Q1[] = +{ + {gTrickHouse_Mechadoll_Two2}, + {gTrickHouse_Mechadoll_Three}, + {gTrickHouse_Mechadoll_Four}, +}; + +const struct MenuAction MultichoiceList_Mechadoll5Q2[] = +{ + {gTrickHouse_Mechadoll_Six}, + {gTrickHouse_Mechadoll_Seven}, + {gTrickHouse_Mechadoll_Eight}, +}; + +const struct MenuAction MultichoiceList_Mechadoll5Q3[] = +{ + {gTrickHouse_Mechadoll_Six2}, + {gTrickHouse_Mechadoll_Seven2}, + {gTrickHouse_Mechadoll_Eight2}, +}; + +const struct MenuAction MultichoiceList_VendingMachine[] = +{ + {gText_FreshWaterAndPrice}, + {gText_SodaPopAndPrice}, + {gText_LemonadeAndPrice}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_MachBikeInfo[] = +{ + {gText_HowToRide}, + {gText_HowToTurn}, + {gText_SandySlopes}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_AcroBikeInfo[] = +{ + {gText_Wheelies}, + {gText_BunnyHops}, + {gText_Jump}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_045[] = +{ + {gText_Satisfied}, + {gText_Dissatisfied}, +}; + +const struct MenuAction MultichoiceList_046[] = +{ + {gText_DeepSeaTooth}, + {gText_DeepSeaScale}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_047[] = +{ + {gText_BlueFlute2}, + {gText_YellowFlute2}, + {gText_RedFlute2}, + {gText_WhiteFlute2}, + {gText_BlackFlute2}, + {gText_GlassChair}, + {gText_GlassDesk}, + {gText_Cancel2}, +}; + +const struct MenuAction MultichoiceList_GameCornerDolls[] = +{ + {gText_TreeckoDollAndPrice}, + {gText_TorchicDollAndPrice}, + {gText_MudkipDollAndPrice}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_GameCornerTMs[] = +{ + {gText_TM32AndPrice}, + {gText_TM29AndPrice}, + {gText_TM35AndPrice}, + {gText_TM24AndPrice}, + {gText_TM13AndPrice}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_GameCornerCoins[] = +{ + {gText_50CoinsAndPrice}, + {gText_500CoinsAndPrice}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_050[] = +{ + {gText_Excellent2}, + {gText_NotSoGood}, +}; + +const struct MenuAction MultichoiceList_052[] = +{ + {gText_LilycoveCity}, + {gText_BattleFrontier}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_053[] = +{ + {gText_SlateportCity}, + {gText_LilycoveCity}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_RightLeft[] = +{ + {gText_Right}, + {gText_Left}, +}; + +const struct MenuAction MultichoiceList_056[] = +{ + {gText_LilycoveCity}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_Floor[] = +{ + {gText_5F}, + {gText_4F}, + {gText_3F}, + {gText_2F}, + {gText_1F}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_ShardsR[] = +{ + {gText_RedShard}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_ShardsY[] = +{ + {gText_YellowShard}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_ShardsRY[] = +{ + {gText_RedShard}, + {gText_YellowShard}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_ShardsB[] = +{ + {gText_BlueShard}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_ShardsRB[] = +{ + {gText_RedShard}, + {gText_BlueShard}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_ShardsYB[] = +{ + {gText_YellowShard}, + {gText_BlueShard}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_ShardsRYB[] = +{ + {gText_RedShard}, + {gText_YellowShard}, + {gText_BlueShard}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_ShardsG[] = +{ + {gText_GreenShard}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_ShardsRG[] = +{ + {gText_RedShard}, + {gText_GreenShard}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_ShardsYG[] = +{ + {gText_YellowShard}, + {gText_GreenShard}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_ShardsRYG[] = +{ + {gText_RedShard}, + {gText_YellowShard}, + {gText_GreenShard}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_ShardsBG[] = +{ + {gText_BlueShard}, + {gText_GreenShard}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_ShardsRBG[] = +{ + {gText_RedShard}, + {gText_BlueShard}, + {gText_GreenShard}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_ShardsYBG[] = +{ + {gText_YellowShard}, + {gText_BlueShard}, + {gText_GreenShard}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_ShardsRYBG[] = +{ + {gText_RedShard}, + {gText_YellowShard}, + {gText_BlueShard}, + {gText_GreenShard}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_073[] = +{ + {gText_Opponent}, + {gText_Tourney_Tree}, + {gText_ReadyToStart}, + {gText_Record2}, + {gText_Rest}, + {gText_Retire}, +}; + +const struct MenuAction MultichoiceList_107[] = +{ + {gText_Opponent}, + {gText_Tourney_Tree}, + {gText_ReadyToStart}, + {gText_Rest}, + {gText_Retire}, +}; + +const struct MenuAction MultichoiceList_Tent[] = +{ + {gText_RedTent}, + {gText_BlueTent}, +}; + +const struct MenuAction MultichoiceList_076[] = +{ + {gText_TradeCenter}, + {gText_Colosseum}, + {gText_RecordCorner}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_YesNoInfo[] = +{ + {gText_Yes}, + {gText_No}, + {gText_Info2}, +}; + +const struct MenuAction MultichoiceList_018[] = +{ + {gText_SingleBattle}, + {gText_DoubleBattle}, + {gText_MultiBattle}, + {gText_Info2}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_078[] = +{ + {gText_TradeCenter}, + {gText_Colosseum}, + {gText_BerryCrush3}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_079[] = +{ + {gText_TradeCenter}, + {gText_Colosseum}, + {gText_RecordCorner}, + {gText_BerryCrush3}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_074[] = +{ + {gText_TradeCenter}, + {gText_Colosseum}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_080[] = +{ + {gText_PokemonJump}, + {gText_DodrioBerryPicking}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_081[] = +{ + {gText_JoinGroup}, + {gText_BecomeLeader}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_ContestRank[] = +{ + {gText_NormalRank}, + {gText_SuperRank}, + {gText_HyperRank}, + {gText_MasterRank}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_083[] = +{ + {gText_BattleBag}, + {gText_HeldItem}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_084[] = +{ + {gText_LinkContest}, + {gText_AboutE_Mode}, + {gText_AboutG_Mode}, + {gText_Cancel2}, +}; + +const struct MenuAction MultichoiceList_085[] = +{ + {gText_E_Mode}, + {gText_G_Mode}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_UnusedStartMenu[] = +{ + {gText_MenuOptionPokedex}, + {gText_MenuOptionPokemon}, + {gText_MenuOptionBag}, + {gText_MenuOptionPokenav}, + {gText_Blank}, + {gText_MenuOptionSave}, + {gText_MenuOptionOption}, + {gText_MenuOptionExit}, +}; + +const struct MenuAction MultichoiceList_087[] = +{ + {gText_TwoSpaces}, + {gText_10BP}, + {gText_15BP}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_UnusedSSTidal1[] = +{ + {gText_SouthernIsland}, + {gText_BirthIsland}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_UnusedSSTidal2[] = +{ + {gText_SouthernIsland}, + {gText_FarawayIsland}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_UnusedSSTidal3[] = +{ + {gText_BirthIsland}, + {gText_FarawayIsland}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_UnusedSSTidal4[] = +{ + {gText_SouthernIsland}, + {gText_BirthIsland}, + {gText_FarawayIsland}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_Fossil[] = +{ + {gText_ClawFossil}, + {gText_RootFossil}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_YesNo[] = +{ + {gText_Yes}, + {gText_No4}, +}; + +const struct MenuAction MultichoiceList_095[] = +{ + {gText_TwoStyles}, + {gText_Lv50_3}, + {gText_OpenLevel2}, + {gText_MonTypeAndNo}, + {gText_HoldItems}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_011[] = +{ + {gText_Symbols2}, + {gText_Record3}, + {gText_BattlePts}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_096[] = +{ + {gText_BattleRules}, + {gText_JudgeMind}, + {gText_JudgeSkill}, + {gText_JudgeBody}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_097[] = +{ + {gText_TowerInfo}, + {gText_BattleMon}, + {gText_BattleSalon}, + {gText_MultiLink2}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_098[] = +{ + {gText_Matchup}, + {gText_TourneyTree}, + {gText_DoubleKO}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_099[] = +{ + {gText_BasicRules}, + {gText_SwapPartners}, + {gText_SwapNumber}, + {gText_SwapNotes}, + {gText_OpenLevel3}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_100[] = +{ + {gText_BattleBasics}, + {gText_PokemonNature}, + {gText_PokemonMoves}, + {gText_Underpowered}, + {gText_WhenInDanger}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_101[] = +{ + {gText_PyramidPokemon}, + {gText_PyramidTrainers}, + {gText_PyramidMaze}, + {gText_BattleBag2}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_102[] = +{ + {gText_PokenavAndBag}, + {gText_HeldItems}, + {gText_PokemonOrder}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_103[] = +{ + {gText_GoOn}, + {gText_Record2}, + {gText_Rest}, + {gText_Retire}, +}; + +const struct MenuAction MultichoiceList_104[] = +{ + {gText_GoOn}, + {gText_Rest}, + {gText_Retire}, +}; + +const struct MenuAction MultichoiceList_105[] = +{ + {gText_GoOn}, + {gText_Record2}, + {gText_Retire}, +}; + +const struct MenuAction MultichoiceList_106[] = +{ + {gText_GoOn}, + {gText_Retire}, +}; + +const struct MenuAction MultichoiceList_TVLati[] = +{ + {gText_Red}, + {gText_Blue}, +}; + +const struct MenuAction MultichoiceList_109[] = +{ + {gText_IllBattleNow}, + {gText_IWon}, + {gText_ILost}, + {gText_IWontTell}, +}; + +const struct MenuAction MultichoiceList_110[] = +{ + {gText_CaveOfOrigin}, + {gText_MtPyre}, + {gText_SkyPillar}, + {gText_DontRemember}, +}; + +const struct MenuAction MultichoiceList_111[] = +{ + {gText_BasicRules}, + {gText_SwapPartners}, + {gText_SwapNumber}, + {gText_SwapNotes}, + {gText_BattlePokemon}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_112[] = +{ + {gText_BattleTrainers}, + {gText_BattleRules}, + {gText_JudgeMind}, + {gText_JudgeSkill}, + {gText_JudgeBody}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_TagMatchType[] = +{ + {gText_NormalTagMatch}, + {gText_VarietyTagMatch}, + {gText_UniqueTagMatch}, + {gText_ExpertTagMatch}, + {gText_Exit}, +}; + +const struct MenuAction MultichoiceList_Exit[] = +{ + {gText_Exit}, +}; + +struct MultichoiceListStruct +{ + const struct MenuAction *list; + u8 count; +}; + +const struct MultichoiceListStruct gMultichoiceLists[] = +{ + MULTICHOICE(MultichoiceList_000), + [MULTI_EXIT] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_ENTERINFO] = MULTICHOICE(MultichoiceList_EnterInfo), + [MULTI_CONTEST_INFO] = MULTICHOICE(MultichoiceList_ContestInfo), + [MULTI_CONTEST_TYPE] = MULTICHOICE(MultichoiceList_ContestType), + [MULTI_DECOR_NO_REGISTRY] = MULTICHOICE(MultichoiceList_DecorNoRegistry), + [MULTI_DECOR_REGISTRY] = MULTICHOICE(MultichoiceList_DecorRegistry), + MULTICHOICE(MultichoiceList_007), + [MULTI_UNUSED_8] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_UNUSED_9] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_UNUSED_10] = MULTICHOICE(MultichoiceList_Exit), + MULTICHOICE(MultichoiceList_011), + [MULTI_BIKE] = MULTICHOICE(MultichoiceList_Bike), + [MULTI_STATUS] = MULTICHOICE(MultichoiceList_Status), + MULTICHOICE(MultichoiceList_014), + [MULTI_UNUSED_15] = MULTICHOICE(MultichoiceList_Exit), + MULTICHOICE(MultichoiceList_016), + [MULTI_YESNOINFO] = MULTICHOICE(MultichoiceList_YesNoInfo), + MULTICHOICE(MultichoiceList_018), + [MULTI_UNUSED_19] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_YESNOINFO_2] = MULTICHOICE(MultichoiceList_YesNoInfo2), + [MULTI_UNUSED_21] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_UNUSED_22] = MULTICHOICE(MultichoiceList_Exit), + MULTICHOICE(MultichoiceList_023), + MULTICHOICE(MultichoiceList_024), + [MULTI_MECHADOLL1_Q1] = MULTICHOICE(MultichoiceList_Mechadoll1Q1), + [MULTI_MECHADOLL1_Q2] = MULTICHOICE(MultichoiceList_Mechadoll1Q2), + [MULTI_MECHADOLL1_Q3] = MULTICHOICE(MultichoiceList_Mechadoll1Q3), + [MULTI_MECHADOLL2_Q1] = MULTICHOICE(MultichoiceList_Mechadoll2Q1), + [MULTI_MECHADOLL2_Q2] = MULTICHOICE(MultichoiceList_Mechadoll2Q2), + [MULTI_MECHADOLL2_Q3] = MULTICHOICE(MultichoiceList_Mechadoll2Q3), + [MULTI_MECHADOLL3_Q1] = MULTICHOICE(MultichoiceList_Mechadoll3Q1), + [MULTI_MECHADOLL3_Q2] = MULTICHOICE(MultichoiceList_Mechadoll3Q2), + [MULTI_MECHADOLL3_Q3] = MULTICHOICE(MultichoiceList_Mechadoll3Q3), + [MULTI_MECHADOLL4_Q1] = MULTICHOICE(MultichoiceList_Mechadoll4Q1), + [MULTI_MECHADOLL4_Q2] = MULTICHOICE(MultichoiceList_Mechadoll4Q2), + [MULTI_MECHADOLL4_Q3] = MULTICHOICE(MultichoiceList_Mechadoll4Q3), + [MULTI_MECHADOLL5_Q1] = MULTICHOICE(MultichoiceList_Mechadoll5Q1), + [MULTI_MECHADOLL5_Q2] = MULTICHOICE(MultichoiceList_Mechadoll5Q2), + [MULTI_MECHADOLL5_Q3] = MULTICHOICE(MultichoiceList_Mechadoll5Q3), + [MULTI_UNUSED_40] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_UNUSED_41] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_VENDING_MACHINE] = MULTICHOICE(MultichoiceList_VendingMachine), + [MULTI_MACH_BIKE_INFO] = MULTICHOICE(MultichoiceList_MachBikeInfo), + [MULTI_ACRO_BIKE_INFO] = MULTICHOICE(MultichoiceList_AcroBikeInfo), + MULTICHOICE(MultichoiceList_045), + MULTICHOICE(MultichoiceList_046), + MULTICHOICE(MultichoiceList_047), + [MULTI_GAME_CORNER_DOLLS] = MULTICHOICE(MultichoiceList_GameCornerDolls), + [MULTI_GAME_CORNER_COINS] = MULTICHOICE(MultichoiceList_GameCornerCoins), + MULTICHOICE(MultichoiceList_050), + [MULTI_UNUSED_51] = MULTICHOICE(MultichoiceList_Exit), + MULTICHOICE(MultichoiceList_052), + MULTICHOICE(MultichoiceList_053), + [MULTI_RIGHTLEFT] = MULTICHOICE(MultichoiceList_RightLeft), + [MULTI_GAME_CORNER_TMS] = MULTICHOICE(MultichoiceList_GameCornerTMs), + MULTICHOICE(MultichoiceList_056), + [MULTI_FLOOR] = MULTICHOICE(MultichoiceList_Floor), + [MULTI_SHARDS_R] = MULTICHOICE(MultichoiceList_ShardsR), + [MULTI_SHARDS_Y] = MULTICHOICE(MultichoiceList_ShardsY), + [MULTI_SHARDS_RY] = MULTICHOICE(MultichoiceList_ShardsRY), + [MULTI_SHARDS_B] = MULTICHOICE(MultichoiceList_ShardsB), + [MULTI_SHARDS_RB] = MULTICHOICE(MultichoiceList_ShardsRB), + [MULTI_SHARDS_YB] = MULTICHOICE(MultichoiceList_ShardsYB), + [MULTI_SHARDS_RYB] = MULTICHOICE(MultichoiceList_ShardsRYB), + [MULTI_SHARDS_G] = MULTICHOICE(MultichoiceList_ShardsG), + [MULTI_SHARDS_RG] = MULTICHOICE(MultichoiceList_ShardsRG), + [MULTI_SHARDS_YG] = MULTICHOICE(MultichoiceList_ShardsYG), + [MULTI_SHARDS_RYG] = MULTICHOICE(MultichoiceList_ShardsRYG), + [MULTI_SHARDS_BG] = MULTICHOICE(MultichoiceList_ShardsBG), + [MULTI_SHARDS_RBG] = MULTICHOICE(MultichoiceList_ShardsRBG), + [MULTI_SHARDS_YBG] = MULTICHOICE(MultichoiceList_ShardsYBG), + [MULTI_SHARDS_RYBG] = MULTICHOICE(MultichoiceList_ShardsRYBG), + MULTICHOICE(MultichoiceList_073), + MULTICHOICE(MultichoiceList_074), + MULTICHOICE(MultichoiceList_074), + MULTICHOICE(MultichoiceList_076), + MULTICHOICE(MultichoiceList_076), + MULTICHOICE(MultichoiceList_078), + MULTICHOICE(MultichoiceList_079), + MULTICHOICE(MultichoiceList_080), + MULTICHOICE(MultichoiceList_081), + [MULTI_CONTEST_RANK] = MULTICHOICE(MultichoiceList_ContestRank), + MULTICHOICE(MultichoiceList_083), + MULTICHOICE(MultichoiceList_084), + MULTICHOICE(MultichoiceList_085), + [MULTI_UNUSED_START_MENU] = MULTICHOICE(MultichoiceList_UnusedStartMenu), + MULTICHOICE(MultichoiceList_087), + [MULTI_TENT] = MULTICHOICE(MultichoiceList_Tent), + [MULTI_UNUSED_SSTIDAL_1] = MULTICHOICE(MultichoiceList_UnusedSSTidal1), + [MULTI_UNUSED_SSTIDAL_2] = MULTICHOICE(MultichoiceList_UnusedSSTidal2), + [MULTI_UNUSED_SSTIDAL_3] = MULTICHOICE(MultichoiceList_UnusedSSTidal3), + [MULTI_UNUSED_SSTIDAL_4] = MULTICHOICE(MultichoiceList_UnusedSSTidal4), + [MULTI_FOSSIL] = MULTICHOICE(MultichoiceList_Fossil), + [MULTI_YESNO] = MULTICHOICE(MultichoiceList_YesNo), + MULTICHOICE(MultichoiceList_095), + MULTICHOICE(MultichoiceList_096), + MULTICHOICE(MultichoiceList_097), + MULTICHOICE(MultichoiceList_098), + MULTICHOICE(MultichoiceList_099), + MULTICHOICE(MultichoiceList_100), + MULTICHOICE(MultichoiceList_101), + MULTICHOICE(MultichoiceList_102), + MULTICHOICE(MultichoiceList_103), + MULTICHOICE(MultichoiceList_104), + MULTICHOICE(MultichoiceList_105), + MULTICHOICE(MultichoiceList_106), + MULTICHOICE(MultichoiceList_107), + [MULTI_TV_LATI] = MULTICHOICE(MultichoiceList_TVLati), + MULTICHOICE(MultichoiceList_109), + MULTICHOICE(MultichoiceList_110), + MULTICHOICE(MultichoiceList_111), + MULTICHOICE(MultichoiceList_112), + [MULTI_TAG_MATCH_TYPE] = MULTICHOICE(MultichoiceList_TagMatchType), +}; + +const u8 *const gStdStrings[] = +{ + [STDSTRING_COOL] = gText_Cool, + [STDSTRING_BEAUTY] = gText_Beauty, + [STDSTRING_CUTE] = gText_Cute, + [STDSTRING_SMART] = gText_Smart, + [STDSTRING_TOUGH] = gText_Tough, + [STDSTRING_NORMAL] = gText_Normal, + [STDSTRING_SUPER] = gText_Super, + [STDSTRING_HYPER] = gText_Hyper, + [STDSTRING_MASTER] = gText_Master, + [STDSTRING_COOL2] = gText_Cool2, + [STDSTRING_BEAUTY2] = gText_Beauty2, + [STDSTRING_CUTE2] = gText_Cute2, + [STDSTRING_SMART2] = gText_Smart2, + [STDSTRING_TOUGH2] = gText_Tough2, + [STDSTRING_ITEMS] = gText_Items, + [STDSTRING_KEYITEMS] = gText_Key_Items, + [STDSTRING_POKEBALLS] = gText_Poke_Balls, + [STDSTRING_TMHMS] = gText_TMs_Hms, + [STDSTRING_BERRIES] = gText_Berries2, + [STDSTRING_SINGLE] = gText_Single2, + [STDSTRING_DOUBLE] = gText_Double2, + [STDSTRING_MULTI] = gText_Multi, + [STDSTRING_MULTI_LINK] = gText_MultiLink, + [STDSTRING_BATTLE_TOWER] = gText_BattleTower2, + [STDSTRING_BATTLE_DOME] = gText_BattleDome, + [STDSTRING_BATTLE_FACTORY] = gText_BattleFactory, + [STDSTRING_BATTLE_PALACE] = gText_BattlePalace, + [STDSTRING_BATTLE_ARENA] = gText_BattleArena, + [STDSTRING_BATTLE_PIKE] = gText_BattlePike, + [STDSTRING_BATTLE_PYRAMID] = gText_BattlePyramid, +}; + +const u8 gUnknown_0858BB68[] = { 74, 75, 76, 77, 78, 79 }; + +const u8 *const sPCNameStrings[] = +{ + gText_SomeonesPC, + gText_LanettesPC, + gText_PlayersPC, + gText_LogOff, +}; + +const u8 *const gSSTidalDestinations[] = +{ + gText_SlateportCity, + gText_BattleFrontier, + gText_SouthernIsland, + gText_NavelRock, + gText_BirthIsland, + gText_FarawayIsland, + gText_Exit, +}; + +const u8 *const gUnknown_0858BB9C[] = +{ + CableClub_Text_TradeUsingLinkCable, + CableClub_Text_BattleUsingLinkCable, + CableClub_Text_RecordCornerUsingLinkCable, + CableClub_Text_CancelSelectedItem, +}; +const u8 *const gUnknown_0858BBAC[] = +{ + CableClub_Text_YouMayTradeHere, + CableClub_Text_YouMayBattleHere, + CableClub_Text_CanMixRecords, + CableClub_Text_CancelSelectedItem, +}; +const u8 *const gUnknown_0858BBBC[] = +{ + CableClub_Text_YouMayTradeHere, + CableClub_Text_YouMayBattleHere, + CableClub_Text_CanMakeBerryPowder, + CableClub_Text_CancelSelectedItem, +}; +const u8 *const gUnknown_0858BBCC[] = +{ + CableClub_Text_YouMayTradeHere, + CableClub_Text_YouMayBattleHere, + CableClub_Text_CanMixRecords, + CableClub_Text_CanMakeBerryPowder, + CableClub_Text_CancelSelectedItem, +}; +const u8 *const gUnknown_0858BBE0[] = +{ + CableClub_Text_TradeUsingLinkCable, + CableClub_Text_BattleUsingLinkCable, + CableClub_Text_CancelSelectedItem, +}; +const u8 *const gUnknown_0858BBEC[] = +{ + CableClub_Text_YouMayTradeHere, + CableClub_Text_YouMayBattleHere, + CableClub_Text_CancelSelectedItem, +}; diff --git a/src/scrcmd.c b/src/scrcmd.c index 560784c47..4c8895ab8 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -1624,7 +1624,7 @@ bool8 ScrCmd_bufferstdstring(struct ScriptContext *ctx) u8 stringVarIndex = ScriptReadByte(ctx); u16 index = VarGet(ScriptReadHalfword(ctx)); - StringCopy(sScriptStringVars[stringVarIndex], gUnknown_0858BAF0[index]); + StringCopy(sScriptStringVars[stringVarIndex], gStdStrings[index]); return FALSE; } diff --git a/src/script_menu.c b/src/script_menu.c index c31c8d76b..1939611e9 100644 --- a/src/script_menu.c +++ b/src/script_menu.c @@ -15,1010 +15,14 @@ #include "text.h" #include "constants/field_specials.h" #include "constants/items.h" +#include "constants/script_menu.h" #include "constants/songs.h" -// multichoice lists -const struct MenuAction MultichoiceList_000[] = -{ - {gUnknown_085EAD37, NULL}, - {gUnknown_085EAD41, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_002[] = -{ - {gUnknown_085EAD67, NULL}, - {gUnknown_085EAD6D, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_003[] = -{ - {gUnknown_085EAD72, NULL}, - {gUnknown_085EAD84, NULL}, - {gUnknown_085EAD96, NULL}, - {gText_Cancel2, NULL}, -}; - -const struct MenuAction MultichoiceList_004[] = -{ - {gText_CoolnessContest, NULL}, - {gText_BeautyContest, NULL}, - {gText_CutenessContest, NULL}, - {gText_SmartnessContest, NULL}, - {gText_ToughnessContest, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_006[] = -{ - {gUnknown_085EADF9, NULL}, - {gUnknown_085EAE04, NULL}, - {gUnknown_085EAE12, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_005[] = -{ - {gUnknown_085EADF9, NULL}, - {gUnknown_085EAE04, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_007[] = -{ - {gMenuText_Register, NULL}, - {gUnknown_085EAE12, NULL}, - {gUnknown_085EAE1B, NULL}, - {gText_Cancel2, NULL}, -}; - -const struct MenuAction MultichoiceList_012[] = -{ - {gUnknown_085EAE27, NULL}, - {gUnknown_085EAE2C, NULL}, -}; - -const struct MenuAction MultichoiceList_013[] = -{ - {gUnknown_085EAE31, NULL}, - {gUnknown_085EAE35, NULL}, - {gUnknown_085EAE39, NULL}, - {gUnknown_085EAE3D, NULL}, - {gUnknown_085EAE41, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_014[] = -{ - {gUnknown_085EAD5F, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_016[] = -{ - {gUnknown_085EAE53, NULL}, - {gUnknown_085EAE5A, NULL}, -}; - -const struct MenuAction MultichoiceList_020[] = -{ - {gText_Yes, NULL}, - {gText_No, NULL}, - {gUnknown_085EAD6D, NULL}, -}; - -const struct MenuAction MultichoiceList_023[] = -{ - {gUnknown_085EAEA2, NULL}, - {gUnknown_085EAEAC, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_024[] = -{ - {gText_Lv50, NULL}, - {gText_OpenLevel, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_025[] = //Trick House Mechadoll 1, Question 1 -{ - {gTrickHouse_Mechadoll_Oddish, NULL}, - {gTrickHouse_Mechadoll_Poochyena, NULL}, - {gTrickHouse_Mechadoll_Taillow, NULL}, -}; - -const struct MenuAction MultichoiceList_026[] = //Trick House Mechadoll 1, Question 2 -{ - {gTrickHouse_Mechadoll_Azurill, NULL}, - {gTrickHouse_Mechadoll_Lotad, NULL}, - {gTrickHouse_Mechadoll_Wingull, NULL}, -}; - -const struct MenuAction MultichoiceList_027[] = //Trick House Mechadoll 1, Question 3 -{ - {gTrickHouse_Mechadoll_Dustox, NULL}, - {gTrickHouse_Mechadoll_Zubat, NULL}, - {gTrickHouse_Mechadoll_Nincada, NULL}, -}; - -const struct MenuAction MultichoiceList_028[] = //Trick House Mechadoll 2, Question 1 -{ - {gTrickHouse_Mechadoll_Ralts, NULL}, - {gTrickHouse_Mechadoll_Zigzagoon, NULL}, - {gTrickHouse_Mechadoll_Slakoth, NULL}, -}; - -const struct MenuAction MultichoiceList_029[] = //Trick House Mechadoll 2, Question 2 -{ - {gTrickHouse_Mechadoll_Poochyena2, NULL}, - {gTrickHouse_Mechadoll_Shroomish, NULL}, - {gTrickHouse_Mechadoll_Zigzagoon2, NULL}, -}; - -const struct MenuAction MultichoiceList_030[] = //Trick House Mechadoll 2, Question 3 -{ - {gTrickHouse_Mechadoll_Poochyena3, NULL}, - {gTrickHouse_Mechadoll_Zubat2, NULL}, - {gTrickHouse_Mechadoll_Carvanha, NULL}, -}; - -const struct MenuAction MultichoiceList_031[] = //Trick House Mechadoll 3, Question 1 -{ - {gTrickHouse_Mechadoll_BurnHeal, NULL}, - {gTrickHouse_Mechadoll_HarborMail, NULL}, - {gTrickHouse_Mechadoll_SamePrice, NULL}, -}; - -const struct MenuAction MultichoiceList_032[] = //Trick House Mechadoll 3, Question 2 -{ - {gTrickHouse_Mechadoll_60Yen, NULL}, - {gTrickHouse_Mechadoll_55Yen, NULL}, - {gTrickHouse_Mechadoll_Nothing, NULL}, -}; - -const struct MenuAction MultichoiceList_033[] = //Trick House Mechadoll 3, Question 3 -{ - {gTrickHouse_Mechadoll_CostMore, NULL}, - {gTrickHouse_Mechadoll_CostLess, NULL}, - {gTrickHouse_Mechadoll_SamePrice2, NULL}, -}; - -const struct MenuAction MultichoiceList_034[] = //Trick House Mechadoll 4, Question 1 -{ - {gTrickHouse_Mechadoll_Male, NULL}, - {gTrickHouse_Mechadoll_Female, NULL}, - {gTrickHouse_Mechadoll_Neither, NULL}, -}; - -const struct MenuAction MultichoiceList_035[] = //Trick House Mechadoll 4, Question 2 -{ - {gTrickHouse_Mechadoll_ElderlyMen, NULL}, - {gTrickHouse_Mechadoll_ElderlyLadies, NULL}, - {gTrickHouse_Mechadoll_SameNumber, NULL}, -}; - -const struct MenuAction MultichoiceList_036[] = //Trick House Mechadoll 4, Question 3 -{ - {gTrickHouse_Mechadoll_None, NULL}, - {gTrickHouse_Mechadoll_One, NULL}, - {gTrickHouse_Mechadoll_Two, NULL}, -}; - -const struct MenuAction MultichoiceList_037[] = //Trick House Mechadoll 5, Question 1 -{ - {gTrickHouse_Mechadoll_Two2, NULL}, - {gTrickHouse_Mechadoll_Three, NULL}, - {gTrickHouse_Mechadoll_Four, NULL}, -}; - -const struct MenuAction MultichoiceList_038[] = //Trick House Mechadoll 5, Question 2 -{ - {gTrickHouse_Mechadoll_Six, NULL}, - {gTrickHouse_Mechadoll_Seven, NULL}, - {gTrickHouse_Mechadoll_Eight, NULL}, -}; - -const struct MenuAction MultichoiceList_039[] = //Trick House Mechadoll 5, Question 3 -{ - {gTrickHouse_Mechadoll_Six2, NULL}, - {gTrickHouse_Mechadoll_Seven2, NULL}, - {gTrickHouse_Mechadoll_Eight2, NULL}, -}; - -const struct MenuAction MultichoiceList_042[] = -{ - {gUnknown_085EAEC3, NULL}, - {gUnknown_085EAED6, NULL}, - {gUnknown_085EAEE6, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_043[] = -{ - {gUnknown_085EAEF6, NULL}, - {gUnknown_085EAF02, NULL}, - {gUnknown_085EAF0E, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_044[] = -{ - {gUnknown_085EAF1B, NULL}, - {gUnknown_085EAF24, NULL}, - {gUnknown_085EAF2F, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_045[] = -{ - {gUnknown_085EAF34, NULL}, - {gUnknown_085EAF3E, NULL}, -}; - -const struct MenuAction MultichoiceList_046[] = -{ - {gUnknown_085EAF4B, NULL}, - {gUnknown_085EAF58, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_047[] = -{ - {gUnknown_085EAF65, NULL}, - {gUnknown_085EAF70, NULL}, - {gUnknown_085EAF7D, NULL}, - {gUnknown_085EAF87, NULL}, - {gUnknown_085EAF93, NULL}, - {gUnknown_085EAF9F, NULL}, - {gUnknown_085EAFAB, NULL}, - {gText_Cancel2, NULL}, -}; - -const struct MenuAction MultichoiceList_048[] = -{ - {gUnknown_085EAFB6, NULL}, - {gUnknown_085EAFCF, NULL}, - {gUnknown_085EAFE8, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_055[] = -{ - {gUnknown_085EB089, NULL}, - {gUnknown_085EB09C, NULL}, - {gUnknown_085EB0AF, NULL}, - {gUnknown_085EB0C2, NULL}, - {gUnknown_085EB0D5, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_049[] = -{ - {gUnknown_085EB002, NULL}, - {gUnknown_085EB017, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_050[] = -{ - {gUnknown_085EB02A, NULL}, - {gUnknown_085EB034, NULL}, -}; - -const struct MenuAction MultichoiceList_052[] = -{ - {gText_LilycoveCity, NULL}, - {gText_BattleFrontier, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_053[] = -{ - {gText_SlateportCity, NULL}, - {gText_LilycoveCity, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_054[] = -{ - {gUnknown_085EB07E, NULL}, - {gUnknown_085EB084, NULL}, -}; - -const struct MenuAction MultichoiceList_056[] = -{ - {gText_LilycoveCity, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_057[] = -{ - {gText_5F, NULL}, - {gText_4F, NULL}, - {gText_3F, NULL}, - {gText_2F, NULL}, - {gText_1F, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_058[] = -{ - {gUnknown_085EB040, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_059[] = -{ - {gUnknown_085EB04A, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_060[] = -{ - {gUnknown_085EB040, NULL}, - {gUnknown_085EB04A, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_061[] = -{ - {gUnknown_085EB057, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_062[] = -{ - {gUnknown_085EB040, NULL}, - {gUnknown_085EB057, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_063[] = -{ - {gUnknown_085EB04A, NULL}, - {gUnknown_085EB057, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_064[] = -{ - {gUnknown_085EB040, NULL}, - {gUnknown_085EB04A, NULL}, - {gUnknown_085EB057, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_065[] = -{ - {gUnknown_085EB062, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_066[] = -{ - {gUnknown_085EB040, NULL}, - {gUnknown_085EB062, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_067[] = -{ - {gUnknown_085EB04A, NULL}, - {gUnknown_085EB062, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_068[] = -{ - {gUnknown_085EB040, NULL}, - {gUnknown_085EB04A, NULL}, - {gUnknown_085EB062, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_069[] = -{ - {gUnknown_085EB057, NULL}, - {gUnknown_085EB062, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_070[] = -{ - {gUnknown_085EB040, NULL}, - {gUnknown_085EB057, NULL}, - {gUnknown_085EB062, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_071[] = -{ - {gUnknown_085EB04A, NULL}, - {gUnknown_085EB057, NULL}, - {gUnknown_085EB062, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_072[] = -{ - {gUnknown_085EB040, NULL}, - {gUnknown_085EB04A, NULL}, - {gUnknown_085EB057, NULL}, - {gUnknown_085EB062, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_073[] = -{ - {gText_Opponent, NULL}, - {gText_Tourney_Tree, NULL}, - {gText_ReadyToStart, NULL}, - {gUnknown_085EB5BC, NULL}, - {gUnknown_085EB5C3, NULL}, - {gUnknown_085EB5C8, NULL}, -}; - -const struct MenuAction MultichoiceList_107[] = -{ - {gText_Opponent, NULL}, - {gText_Tourney_Tree, NULL}, - {gText_ReadyToStart, NULL}, - {gUnknown_085EB5C3, NULL}, - {gUnknown_085EB5C8, NULL}, -}; - -const struct MenuAction MultichoiceList_088[] = -{ - {gUnknown_085EB29A, NULL}, - {gUnknown_085EB2A3, NULL}, -}; - -const struct MenuAction MultichoiceList_076[] = -{ - {gUnknown_085EB372, NULL}, - {gUnknown_085EB37F, NULL}, - {gUnknown_085EB389, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_017[] = -{ - {gText_Yes, NULL}, - {gText_No, NULL}, - {gUnknown_085EAD6D, NULL}, -}; - -const struct MenuAction MultichoiceList_018[] = -{ - {gUnknown_085EAE6E, NULL}, - {gUnknown_085EAE7C, NULL}, - {gUnknown_085EAE8A, NULL}, - {gUnknown_085EAD6D, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_078[] = -{ - {gUnknown_085EB372, NULL}, - {gUnknown_085EB37F, NULL}, - {gUnknown_085EB397, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_079[] = -{ - {gUnknown_085EB372, NULL}, - {gUnknown_085EB37F, NULL}, - {gUnknown_085EB389, NULL}, - {gUnknown_085EB397, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_074[] = -{ - {gUnknown_085EB372, NULL}, - {gUnknown_085EB37F, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_080[] = -{ - {gUnknown_085EB3A4, NULL}, - {gUnknown_085EB3B1, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_081[] = -{ - {gUnknown_085EB3D4, NULL}, - {gUnknown_085EB3C6, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_082[] = -{ - {gText_NormalRank, NULL}, - {gText_SuperRank, NULL}, - {gText_HyperRank, NULL}, - {gText_MasterRank, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_083[] = -{ - {gText_BattleBag, NULL}, - {gText_HeldItem, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_084[] = -{ - {gText_LinkContest, NULL}, - {gText_AboutE_Mode, NULL}, - {gText_AboutG_Mode, NULL}, - {gText_Cancel2, NULL}, -}; - -const struct MenuAction MultichoiceList_085[] = -{ - {gText_E_Mode, NULL}, - {gText_G_Mode, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_086[] = -{ - {gText_MenuOptionPokedex, NULL}, - {gText_MenuOptionPokemon, NULL}, - {gText_MenuOptionBag, NULL}, - {gText_MenuOptionPokenav, NULL}, - {gUnknown_085EB278, NULL}, - {gText_MenuOptionSave, NULL}, - {gText_MenuOptionOption, NULL}, - {gText_MenuOptionExit, NULL}, -}; - -const struct MenuAction MultichoiceList_087[] = -{ - {gUnknown_085EB28A, NULL}, - {gUnknown_085EB290, NULL}, - {gUnknown_085EB295, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_089[] = -{ - {gText_SouthernIsland, NULL}, - {gText_BirthIsland, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_090[] = -{ - {gText_SouthernIsland, NULL}, - {gText_FarawayIsland, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_091[] = -{ - {gText_BirthIsland, NULL}, - {gText_FarawayIsland, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_092[] = -{ - {gText_SouthernIsland, NULL}, - {gText_BirthIsland, NULL}, - {gText_FarawayIsland, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_093[] = -{ - {gUnknown_085EB2E4, NULL}, - {gUnknown_085EB2F0, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_094[] = -{ - {gText_Yes, NULL}, - {gUnknown_085EB2FC, NULL}, -}; - -const struct MenuAction MultichoiceList_095[] = -{ - {gUnknown_085EB3DF, NULL}, - {gUnknown_085EB3EA, NULL}, - {gUnknown_085EB3F1, NULL}, - {gUnknown_085EB3FC, NULL}, - {gUnknown_085EB40A, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_011[] = -{ - {gUnknown_085EB415, NULL}, - {gUnknown_085EB41D, NULL}, - {gUnknown_085EB424, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_096[] = -{ - {gUnknown_085EB45C, NULL}, - {gUnknown_085EB469, NULL}, - {gUnknown_085EB475, NULL}, - {gUnknown_085EB482, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_097[] = -{ - {gUnknown_085EB42F, NULL}, - {gUnknown_085EB43A, NULL}, - {gUnknown_085EB444, NULL}, - {gUnknown_085EB451, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_098[] = -{ - {gUnknown_085EB48E, NULL}, - {gUnknown_085EB496, NULL}, - {gUnknown_085EB4A3, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_099[] = -{ - {gUnknown_085EB4AD, NULL}, - {gUnknown_085EB4B9, NULL}, - {gUnknown_085EB4C7, NULL}, - {gUnknown_085EB4D4, NULL}, - {gUnknown_085EB4E0, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_100[] = -{ - {gText_BattleBasics, NULL}, - {gText_PokemonNature, NULL}, - {gText_PokemonMoves, NULL}, - {gText_Underpowered, NULL}, - {gText_WhenInDanger, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_101[] = -{ - {gUnknown_085EB532, NULL}, - {gUnknown_085EB543, NULL}, - {gUnknown_085EB555, NULL}, - {gUnknown_085EB563, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_102[] = -{ - {gUnknown_085EB56E, NULL}, - {gUnknown_085EB57E, NULL}, - {gUnknown_085EB589, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_103[] = -{ - {gUnknown_085EB5B6, NULL}, - {gUnknown_085EB5BC, NULL}, - {gUnknown_085EB5C3, NULL}, - {gUnknown_085EB5C8, NULL}, -}; - -const struct MenuAction MultichoiceList_104[] = -{ - {gUnknown_085EB5B6, NULL}, - {gUnknown_085EB5C3, NULL}, - {gUnknown_085EB5C8, NULL}, -}; - -const struct MenuAction MultichoiceList_105[] = -{ - {gUnknown_085EB5B6, NULL}, - {gUnknown_085EB5BC, NULL}, - {gUnknown_085EB5C8, NULL}, -}; - -const struct MenuAction MultichoiceList_106[] = -{ - {gUnknown_085EB5B6, NULL}, - {gUnknown_085EB5C8, NULL}, -}; - -const struct MenuAction MultichoiceList_108[] = -{ - {gUnknown_085EE14B, NULL}, - {gUnknown_085EE14F, NULL}, -}; - -const struct MenuAction MultichoiceList_109[] = -{ - {gUnknown_085EB2FF, NULL}, - {gUnknown_085EB310, NULL}, - {gUnknown_085EB317, NULL}, - {gUnknown_085EB31F, NULL}, -}; - -const struct MenuAction MultichoiceList_110[] = -{ - {gText_CaveOfOrigin, NULL}, - {gText_MtPyre, NULL}, - {gText_SkyPillar, NULL}, - {gText_DontRemember, NULL}, -}; - -const struct MenuAction MultichoiceList_111[] = -{ - {gUnknown_085EB4AD, NULL}, - {gUnknown_085EB4B9, NULL}, - {gUnknown_085EB4C7, NULL}, - {gUnknown_085EB4D4, NULL}, - {gUnknown_085EB597, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_112[] = -{ - {gText_BattleTrainers, NULL}, - {gUnknown_085EB45C, NULL}, - {gUnknown_085EB469, NULL}, - {gUnknown_085EB475, NULL}, - {gUnknown_085EB482, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_113[] = -{ - {gText_NormalTagMatch, NULL}, - {gText_VarietyTagMatch, NULL}, - {gText_UniqueTagMatch, NULL}, - {gText_ExpertTagMatch, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_001[] = -{ - {gText_Exit, NULL}, -}; - -struct MultichoiceListStruct -{ - const struct MenuAction *list; - u8 count; -}; - -const struct MultichoiceListStruct gMultichoiceLists[] = -{ - {MultichoiceList_000, ARRAY_COUNT(MultichoiceList_000)}, - {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)}, - {MultichoiceList_002, ARRAY_COUNT(MultichoiceList_002)}, - {MultichoiceList_003, ARRAY_COUNT(MultichoiceList_003)}, - {MultichoiceList_004, ARRAY_COUNT(MultichoiceList_004)}, - {MultichoiceList_005, ARRAY_COUNT(MultichoiceList_005)}, - {MultichoiceList_006, ARRAY_COUNT(MultichoiceList_006)}, - {MultichoiceList_007, ARRAY_COUNT(MultichoiceList_007)}, - {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)}, - {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)}, - {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)}, - {MultichoiceList_011, ARRAY_COUNT(MultichoiceList_011)}, - {MultichoiceList_012, ARRAY_COUNT(MultichoiceList_012)}, - {MultichoiceList_013, ARRAY_COUNT(MultichoiceList_013)}, - {MultichoiceList_014, ARRAY_COUNT(MultichoiceList_014)}, - {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)}, - {MultichoiceList_016, ARRAY_COUNT(MultichoiceList_016)}, - {MultichoiceList_017, ARRAY_COUNT(MultichoiceList_017)}, - {MultichoiceList_018, ARRAY_COUNT(MultichoiceList_018)}, - {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)}, - {MultichoiceList_020, ARRAY_COUNT(MultichoiceList_020)}, - {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)}, - {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)}, - {MultichoiceList_023, ARRAY_COUNT(MultichoiceList_023)}, - {MultichoiceList_024, ARRAY_COUNT(MultichoiceList_024)}, - {MultichoiceList_025, ARRAY_COUNT(MultichoiceList_025)}, - {MultichoiceList_026, ARRAY_COUNT(MultichoiceList_026)}, - {MultichoiceList_027, ARRAY_COUNT(MultichoiceList_027)}, - {MultichoiceList_028, ARRAY_COUNT(MultichoiceList_028)}, - {MultichoiceList_029, ARRAY_COUNT(MultichoiceList_029)}, - {MultichoiceList_030, ARRAY_COUNT(MultichoiceList_030)}, - {MultichoiceList_031, ARRAY_COUNT(MultichoiceList_031)}, - {MultichoiceList_032, ARRAY_COUNT(MultichoiceList_032)}, - {MultichoiceList_033, ARRAY_COUNT(MultichoiceList_033)}, - {MultichoiceList_034, ARRAY_COUNT(MultichoiceList_034)}, - {MultichoiceList_035, ARRAY_COUNT(MultichoiceList_035)}, - {MultichoiceList_036, ARRAY_COUNT(MultichoiceList_036)}, - {MultichoiceList_037, ARRAY_COUNT(MultichoiceList_037)}, - {MultichoiceList_038, ARRAY_COUNT(MultichoiceList_038)}, - {MultichoiceList_039, ARRAY_COUNT(MultichoiceList_039)}, - {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)}, - {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)}, - {MultichoiceList_042, ARRAY_COUNT(MultichoiceList_042)}, - {MultichoiceList_043, ARRAY_COUNT(MultichoiceList_043)}, - {MultichoiceList_044, ARRAY_COUNT(MultichoiceList_044)}, - {MultichoiceList_045, ARRAY_COUNT(MultichoiceList_045)}, - {MultichoiceList_046, ARRAY_COUNT(MultichoiceList_046)}, - {MultichoiceList_047, ARRAY_COUNT(MultichoiceList_047)}, - {MultichoiceList_048, ARRAY_COUNT(MultichoiceList_048)}, - {MultichoiceList_049, ARRAY_COUNT(MultichoiceList_049)}, - {MultichoiceList_050, ARRAY_COUNT(MultichoiceList_050)}, - {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)}, - {MultichoiceList_052, ARRAY_COUNT(MultichoiceList_052)}, - {MultichoiceList_053, ARRAY_COUNT(MultichoiceList_053)}, - {MultichoiceList_054, ARRAY_COUNT(MultichoiceList_054)}, - {MultichoiceList_055, ARRAY_COUNT(MultichoiceList_055)}, - {MultichoiceList_056, ARRAY_COUNT(MultichoiceList_056)}, - {MultichoiceList_057, ARRAY_COUNT(MultichoiceList_057)}, - {MultichoiceList_058, ARRAY_COUNT(MultichoiceList_058)}, - {MultichoiceList_059, ARRAY_COUNT(MultichoiceList_059)}, - {MultichoiceList_060, ARRAY_COUNT(MultichoiceList_060)}, - {MultichoiceList_061, ARRAY_COUNT(MultichoiceList_061)}, - {MultichoiceList_062, ARRAY_COUNT(MultichoiceList_062)}, - {MultichoiceList_063, ARRAY_COUNT(MultichoiceList_063)}, - {MultichoiceList_064, ARRAY_COUNT(MultichoiceList_064)}, - {MultichoiceList_065, ARRAY_COUNT(MultichoiceList_065)}, - {MultichoiceList_066, ARRAY_COUNT(MultichoiceList_066)}, - {MultichoiceList_067, ARRAY_COUNT(MultichoiceList_067)}, - {MultichoiceList_068, ARRAY_COUNT(MultichoiceList_068)}, - {MultichoiceList_069, ARRAY_COUNT(MultichoiceList_069)}, - {MultichoiceList_070, ARRAY_COUNT(MultichoiceList_070)}, - {MultichoiceList_071, ARRAY_COUNT(MultichoiceList_071)}, - {MultichoiceList_072, ARRAY_COUNT(MultichoiceList_072)}, - {MultichoiceList_073, ARRAY_COUNT(MultichoiceList_073)}, - {MultichoiceList_074, ARRAY_COUNT(MultichoiceList_074)}, - {MultichoiceList_074, ARRAY_COUNT(MultichoiceList_074)}, - {MultichoiceList_076, ARRAY_COUNT(MultichoiceList_076)}, - {MultichoiceList_076, ARRAY_COUNT(MultichoiceList_076)}, - {MultichoiceList_078, ARRAY_COUNT(MultichoiceList_078)}, - {MultichoiceList_079, ARRAY_COUNT(MultichoiceList_079)}, - {MultichoiceList_080, ARRAY_COUNT(MultichoiceList_080)}, - {MultichoiceList_081, ARRAY_COUNT(MultichoiceList_081)}, - {MultichoiceList_082, ARRAY_COUNT(MultichoiceList_082)}, - {MultichoiceList_083, ARRAY_COUNT(MultichoiceList_083)}, - {MultichoiceList_084, ARRAY_COUNT(MultichoiceList_084)}, - {MultichoiceList_085, ARRAY_COUNT(MultichoiceList_085)}, - {MultichoiceList_086, ARRAY_COUNT(MultichoiceList_086)}, - {MultichoiceList_087, ARRAY_COUNT(MultichoiceList_087)}, - {MultichoiceList_088, ARRAY_COUNT(MultichoiceList_088)}, - {MultichoiceList_089, ARRAY_COUNT(MultichoiceList_089)}, - {MultichoiceList_090, ARRAY_COUNT(MultichoiceList_090)}, - {MultichoiceList_091, ARRAY_COUNT(MultichoiceList_091)}, - {MultichoiceList_092, ARRAY_COUNT(MultichoiceList_092)}, - {MultichoiceList_093, ARRAY_COUNT(MultichoiceList_093)}, - {MultichoiceList_094, ARRAY_COUNT(MultichoiceList_094)}, - {MultichoiceList_095, ARRAY_COUNT(MultichoiceList_095)}, - {MultichoiceList_096, ARRAY_COUNT(MultichoiceList_096)}, - {MultichoiceList_097, ARRAY_COUNT(MultichoiceList_097)}, - {MultichoiceList_098, ARRAY_COUNT(MultichoiceList_098)}, - {MultichoiceList_099, ARRAY_COUNT(MultichoiceList_099)}, - {MultichoiceList_100, ARRAY_COUNT(MultichoiceList_100)}, - {MultichoiceList_101, ARRAY_COUNT(MultichoiceList_101)}, - {MultichoiceList_102, ARRAY_COUNT(MultichoiceList_102)}, - {MultichoiceList_103, ARRAY_COUNT(MultichoiceList_103)}, - {MultichoiceList_104, ARRAY_COUNT(MultichoiceList_104)}, - {MultichoiceList_105, ARRAY_COUNT(MultichoiceList_105)}, - {MultichoiceList_106, ARRAY_COUNT(MultichoiceList_106)}, - {MultichoiceList_107, ARRAY_COUNT(MultichoiceList_107)}, - {MultichoiceList_108, ARRAY_COUNT(MultichoiceList_108)}, - {MultichoiceList_109, ARRAY_COUNT(MultichoiceList_109)}, - {MultichoiceList_110, ARRAY_COUNT(MultichoiceList_110)}, - {MultichoiceList_111, ARRAY_COUNT(MultichoiceList_111)}, - {MultichoiceList_112, ARRAY_COUNT(MultichoiceList_112)}, - {MultichoiceList_113, ARRAY_COUNT(MultichoiceList_113)}, -}; - -const u8 *const gUnknown_0858BAF0[] = -{ - gText_Cool, - gText_Beauty, - gText_Cute, - gText_Smart, - gText_Tough, - gText_Normal, - gText_Super, - gText_Hyper, - gText_Master, - gText_Cool2, - gText_Beauty2, - gText_Cute2, - gText_Smart2, - gText_Tough2, - gText_Items, - gText_Key_Items, - gText_Poke_Balls, - gText_TMs_Hms, - gText_Berries2, - gText_Single2, - gText_Double2, - gText_Multi, - gText_MultiLink, - gText_BattleTower2, - gText_BattleDome, - gText_BattleFactory, - gText_BattlePalace, - gText_BattleArena, - gText_BattlePike, - gText_BattlePyramid, -}; - -const u8 gUnknown_0858BB68[] = { 74, 75, 76, 77, 78, 79 }; - -const u8 *const sPCNameStrings[] = -{ - gText_SomeonesPC, - gText_LanettesPC, - gText_PlayersPC, - gText_LogOff, -}; - -const u8 *const gUnknown_0858BB80[] = -{ - gText_SlateportCity, - gText_BattleFrontier, - gText_SouthernIsland, - gText_NavelRock, - gText_BirthIsland, - gText_FarawayIsland, - gText_Exit, -}; - -const u8 *const gUnknown_0858BB9C[] = -{ - OldaleTown_PokemonCenter_2F_Text_277F1B, - OldaleTown_PokemonCenter_2F_Text_277F5A, - OldaleTown_PokemonCenter_2F_Text_277F96, - OldaleTown_PokemonCenter_2F_Text_27889C, -}; -const u8 *const gUnknown_0858BBAC[] = -{ - OldaleTown_PokemonCenter_2F_Text_27879F, - OldaleTown_PokemonCenter_2F_Text_2787D5, - OldaleTown_PokemonCenter_2F_Text_278831, - OldaleTown_PokemonCenter_2F_Text_27889C, -}; -const u8 *const gUnknown_0858BBBC[] = -{ - OldaleTown_PokemonCenter_2F_Text_27879F, - OldaleTown_PokemonCenter_2F_Text_2787D5, - OldaleTown_PokemonCenter_2F_Text_2787FC, - OldaleTown_PokemonCenter_2F_Text_27889C, -}; -const u8 *const gUnknown_0858BBCC[] = -{ - OldaleTown_PokemonCenter_2F_Text_27879F, - OldaleTown_PokemonCenter_2F_Text_2787D5, - OldaleTown_PokemonCenter_2F_Text_278831, - OldaleTown_PokemonCenter_2F_Text_2787FC, - OldaleTown_PokemonCenter_2F_Text_27889C, -}; -const u8 *const gUnknown_0858BBE0[] = -{ - OldaleTown_PokemonCenter_2F_Text_277F1B, - OldaleTown_PokemonCenter_2F_Text_277F5A, - OldaleTown_PokemonCenter_2F_Text_27889C, -}; -const u8 *const gUnknown_0858BBEC[] = -{ - OldaleTown_PokemonCenter_2F_Text_27879F, - OldaleTown_PokemonCenter_2F_Text_2787D5, - OldaleTown_PokemonCenter_2F_Text_27889C, -}; +#include "data/script_menu.h" EWRAM_DATA u8 gUnknown_02039F90 = 0; -static u8 gUnknown_03001124[7]; +static u8 gUnknown_03001124[ARRAY_COUNT(gSSTidalDestinations)]; static u32 filler_0300112c; static void Task_HandleMultichoiceInput(u8); @@ -1061,6 +65,7 @@ bool8 ScriptMenu_MultichoiceWithDefault(u8 left, u8 top, u8 multichoiceId, bool8 } } +// Unused static u16 sub_80E1EB8(const u8 *str) { u16 length = 0; @@ -1125,7 +130,7 @@ static void sub_80E1FBC(u8 ignoreBPress, u8 count, u8 windowId, u8 multichoiceId u8 taskId; gUnknown_02039F90 = 2; - for (i = 0; i < 6; i++) + for (i = 0; i < ARRAY_COUNT(gUnknown_0858BB68); i++) { if (gUnknown_0858BB68[i] == multichoiceId) { @@ -1178,7 +183,7 @@ static void Task_HandleMultichoiceInput(u8 taskId) if (tIgnoreBPress) return; PlaySE(SE_SELECT); - gSpecialVar_Result = 127; + gSpecialVar_Result = MULTICHOICE_B; } else { @@ -1209,7 +214,7 @@ bool8 ScriptMenu_YesNo(u8 left, u8 top) } } -// unused +// Unused bool8 IsScriptActive(void) { if (gSpecialVar_Result == 0xFF) @@ -1294,7 +299,7 @@ static void Task_HandleMultichoiceGridInput(u8 taskId) if (tIgnoreBPress) return; PlaySE(SE_SELECT); - gSpecialVar_Result = 0x7F; + gSpecialVar_Result = MULTICHOICE_B; break; default: gSpecialVar_Result = selection; @@ -1501,12 +506,12 @@ static void sub_80E2578(void) { pixelWidth = 0; - for (j = 0; j < ARRAY_COUNT(gUnknown_0858BB80); j++) + for (j = 0; j < ARRAY_COUNT(gSSTidalDestinations); j++) { u8 test = gUnknown_03001124[j]; if (test != 0xFF) { - pixelWidth = display_text_and_get_width(gUnknown_0858BB80[test], pixelWidth); + pixelWidth = display_text_and_get_width(gSSTidalDestinations[test], pixelWidth); } } @@ -1514,11 +519,11 @@ static void sub_80E2578(void) windowId = CreateWindowFromRect(28 - width, (6 - count) * 2, width, count * 2); SetStandardWindowBorderStyle(windowId, 0); - for (temp = 0, i = 0; i < ARRAY_COUNT(gUnknown_0858BB80); i++) + for (temp = 0, i = 0; i < ARRAY_COUNT(gSSTidalDestinations); i++) { if (gUnknown_03001124[i] != 0xFF) { - AddTextPrinterParameterized(windowId, 1, gUnknown_0858BB80[gUnknown_03001124[i]], 8, temp * 16 + 1, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(windowId, 1, gSSTidalDestinations[gUnknown_03001124[i]], 8, temp * 16 + 1, TEXT_SPEED_FF, NULL); temp++; } } @@ -1531,7 +536,7 @@ static void sub_80E2578(void) void sub_80E2878(void) { - if (gSpecialVar_Result != 0x7F) + if (gSpecialVar_Result != MULTICHOICE_B) { gSpecialVar_Result = gUnknown_03001124[gSpecialVar_Result]; } diff --git a/src/strings.c b/src/strings.c index ebc995f13..257fb8099 100644 --- a/src/strings.c +++ b/src/strings.c @@ -599,89 +599,89 @@ const u8 gText_Brawly[] = _("BRAWLY"); const u8 gText_Winona[] = _("WINONA"); const u8 gText_Phoebe[] = _("PHOEBE"); const u8 gText_Glacia[] = _("GLACIA"); -const u8 gUnknown_085EAD37[] = _("PETALBURG"); -const u8 gUnknown_085EAD41[] = _("SLATEPORT"); -const u8 gUnknown_085EAD4B[] = _("LITTLEROOT"); -const u8 gUnknown_085EAD56[] = _("LILYCOVE"); -const u8 gUnknown_085EAD5F[] = _("DEWFORD"); -const u8 gUnknown_085EAD67[] = _("ENTER"); -const u8 gUnknown_085EAD6D[] = _("INFO"); -const u8 gUnknown_085EAD72[] = _("What's a CONTEST?"); -const u8 gUnknown_085EAD84[] = _("Types of CONTESTS"); -const u8 gUnknown_085EAD96[] = _("Ranks"); -const u8 gUnknown_085EAD9C[] = _("Judging"); +const u8 gText_Petalburg[] = _("PETALBURG"); +const u8 gText_Slateport[] = _("SLATEPORT"); +const u8 gText_Littleroot[] = _("LITTLEROOT"); //unused +const u8 gText_Lilycove[] = _("LILYCOVE"); //unused +const u8 gText_Dewford[] = _("DEWFORD"); +const u8 gText_Enter2[] = _("ENTER"); +const u8 gText_Info2[] = _("INFO"); +const u8 gText_WhatsAContest[] = _("What's a CONTEST?"); +const u8 gText_TypesOfContests[] = _("Types of CONTESTS"); +const u8 gText_Ranks[] = _("Ranks"); +const u8 gText_Judging[] = _("Judging"); //unused const u8 gText_CoolnessContest[] = _("COOLNESS CONTEST"); const u8 gText_BeautyContest[] = _("BEAUTY CONTEST"); const u8 gText_CutenessContest[] = _("CUTENESS CONTEST"); const u8 gText_SmartnessContest[] = _("SMARTNESS CONTEST"); const u8 gText_ToughnessContest[] = _("TOUGHNESS CONTEST"); -const u8 gUnknown_085EADF9[] = _("DECORATION"); -const u8 gUnknown_085EAE04[] = _("PACK UP"); -const u8 gUnknown_085EAE0C[] = _("COUNT"); -const u8 gUnknown_085EAE12[] = _("REGISTRY"); -const u8 gUnknown_085EAE1B[] = _("INFORMATION"); -const u8 gUnknown_085EAE27[] = _("MACH"); -const u8 gUnknown_085EAE2C[] = _("ACRO"); -const u8 gUnknown_085EAE31[] = _("PSN"); -const u8 gUnknown_085EAE35[] = _("PAR"); -const u8 gUnknown_085EAE39[] = _("SLP"); -const u8 gUnknown_085EAE3D[] = _("BRN"); -const u8 gUnknown_085EAE41[] = _("FRZ"); +const u8 gText_Decoration2[] = _("DECORATION"); +const u8 gText_PackUp[] = _("PACK UP"); +const u8 gText_Count[] = _("COUNT"); //unused +const u8 gText_Registry[] = _("REGISTRY"); +const u8 gText_Information[] = _("INFORMATION"); +const u8 gText_Mach[] = _("MACH"); +const u8 gText_Acro[] = _("ACRO"); +const u8 gText_Psn[] = _("PSN"); +const u8 gText_Par[] = _("PAR"); +const u8 gText_Slp[] = _("SLP"); +const u8 gText_Brn[] = _("BRN"); +const u8 gText_Frz[] = _("FRZ"); const u8 gUnknown_085EAE45[] = _("TOXIC"); const u8 gUnknown_085EAE4B[] = _("OK"); const u8 gUnknown_085EAE4E[] = _("QUIT"); -const u8 gUnknown_085EAE53[] = _("Saw it"); -const u8 gUnknown_085EAE5A[] = _("Not yet"); +const u8 gText_SawIt[] = _("Saw it"); +const u8 gText_NotYet[] = _("Not yet"); const u8 gText_Yes[] = _("YES"); const u8 gText_No[] = _("NO"); const u8 gUnknown_085EAE69[] = _("INFO"); -const u8 gUnknown_085EAE6E[] = _("SINGLE BATTLE"); -const u8 gUnknown_085EAE7C[] = _("DOUBLE BATTLE"); -const u8 gUnknown_085EAE8A[] = _("MULTI BATTLE"); +const u8 gText_SingleBattle[] = _("SINGLE BATTLE"); +const u8 gText_DoubleBattle[] = _("DOUBLE BATTLE"); +const u8 gText_MultiBattle[] = _("MULTI BATTLE"); const u8 gUnknown_085EAE97[] = _("MR. BRINEY"); -const u8 gUnknown_085EAEA2[] = _("CHALLENGE"); -const u8 gUnknown_085EAEAC[] = _("INFO"); +const u8 gText_Challenge[] = _("CHALLENGE"); +const u8 gText_Info3[] = _("INFO"); const u8 gText_Lv50[] = _("LV. 50"); const u8 gText_OpenLevel[] = _("OPEN LEVEL"); -const u8 gUnknown_085EAEC3[] = _("FRESH WATER{CLEAR_TO 0x48}¥200"); -const u8 gUnknown_085EAED6[] = _("SODA POP{CLEAR_TO 0x48}¥300"); -const u8 gUnknown_085EAEE6[] = _("LEMONADE{CLEAR_TO 0x48}¥350"); -const u8 gUnknown_085EAEF6[] = _("HOW TO RIDE"); -const u8 gUnknown_085EAF02[] = _("HOW TO TURN"); -const u8 gUnknown_085EAF0E[] = _("SANDY SLOPES"); -const u8 gUnknown_085EAF1B[] = _("WHEELIES"); -const u8 gUnknown_085EAF24[] = _("BUNNY-HOPS"); -const u8 gUnknown_085EAF2F[] = _("JUMP"); -const u8 gUnknown_085EAF34[] = _("Satisfied"); -const u8 gUnknown_085EAF3E[] = _("Dissatisfied"); -const u8 gUnknown_085EAF4B[] = _("DEEPSEATOOTH"); -const u8 gUnknown_085EAF58[] = _("DEEPSEASCALE"); -const u8 gUnknown_085EAF65[] = _("BLUE FLUTE"); -const u8 gUnknown_085EAF70[] = _("YELLOW FLUTE"); -const u8 gUnknown_085EAF7D[] = _("RED FLUTE"); -const u8 gUnknown_085EAF87[] = _("WHITE FLUTE"); -const u8 gUnknown_085EAF93[] = _("BLACK FLUTE"); -const u8 gUnknown_085EAF9F[] = _("GLASS CHAIR"); -const u8 gUnknown_085EAFAB[] = _("GLASS DESK"); -const u8 gUnknown_085EAFB6[] = _("TREECKO DOLL 1,000 COINS"); -const u8 gUnknown_085EAFCF[] = _("TORCHIC DOLL 1,000 COINS"); -const u8 gUnknown_085EAFE8[] = _("MUDKIP DOLL 1,000 COINS"); -const u8 gUnknown_085EB002[] = _(" 50 COINS ¥1,000"); -const u8 gUnknown_085EB017[] = _("500 COINS ¥10,000"); -const u8 gUnknown_085EB02A[] = _("Excellent"); -const u8 gUnknown_085EB034[] = _("Not so good"); -const u8 gUnknown_085EB040[] = _("RED SHARD"); -const u8 gUnknown_085EB04A[] = _("YELLOW SHARD"); -const u8 gUnknown_085EB057[] = _("BLUE SHARD"); -const u8 gUnknown_085EB062[] = _("GREEN SHARD"); +const u8 gText_FreshWaterAndPrice[] = _("FRESH WATER{CLEAR_TO 0x48}¥200"); +const u8 gText_SodaPopAndPrice[] = _("SODA POP{CLEAR_TO 0x48}¥300"); +const u8 gText_LemonadeAndPrice[] = _("LEMONADE{CLEAR_TO 0x48}¥350"); +const u8 gText_HowToRide[] = _("HOW TO RIDE"); +const u8 gText_HowToTurn[] = _("HOW TO TURN"); +const u8 gText_SandySlopes[] = _("SANDY SLOPES"); +const u8 gText_Wheelies[] = _("WHEELIES"); +const u8 gText_BunnyHops[] = _("BUNNY-HOPS"); +const u8 gText_Jump[] = _("JUMP"); +const u8 gText_Satisfied[] = _("Satisfied"); +const u8 gText_Dissatisfied[] = _("Dissatisfied"); +const u8 gText_DeepSeaTooth[] = _("DEEPSEATOOTH"); +const u8 gText_DeepSeaScale[] = _("DEEPSEASCALE"); +const u8 gText_BlueFlute2[] = _("BLUE FLUTE"); +const u8 gText_YellowFlute2[] = _("YELLOW FLUTE"); +const u8 gText_RedFlute2[] = _("RED FLUTE"); +const u8 gText_WhiteFlute2[] = _("WHITE FLUTE"); +const u8 gText_BlackFlute2[] = _("BLACK FLUTE"); +const u8 gText_GlassChair[] = _("GLASS CHAIR"); +const u8 gText_GlassDesk[] = _("GLASS DESK"); +const u8 gText_TreeckoDollAndPrice[] = _("TREECKO DOLL 1,000 COINS"); +const u8 gText_TorchicDollAndPrice[] = _("TORCHIC DOLL 1,000 COINS"); +const u8 gText_MudkipDollAndPrice[] = _("MUDKIP DOLL 1,000 COINS"); +const u8 gText_50CoinsAndPrice[] = _(" 50 COINS ¥1,000"); +const u8 gText_500CoinsAndPrice[] = _("500 COINS ¥10,000"); +const u8 gText_Excellent2[] = _("Excellent"); +const u8 gText_NotSoGood[] = _("Not so good"); +const u8 gText_RedShard[] = _("RED SHARD"); +const u8 gText_YellowShard[] = _("YELLOW SHARD"); +const u8 gText_BlueShard[] = _("BLUE SHARD"); +const u8 gText_GreenShard[] = _("GREEN SHARD"); const u8 gText_BattleFrontier[] = _("BATTLE FRONTIER"); -const u8 gUnknown_085EB07E[] = _("Right"); -const u8 gUnknown_085EB084[] = _("Left"); -const u8 gUnknown_085EB089[] = _("TM32{CLEAR_TO 0x48}1,500 COINS"); -const u8 gUnknown_085EB09C[] = _("TM29{CLEAR_TO 0x48}3,500 COINS"); -const u8 gUnknown_085EB0AF[] = _("TM35{CLEAR_TO 0x48}4,000 COINS"); -const u8 gUnknown_085EB0C2[] = _("TM24{CLEAR_TO 0x48}4,000 COINS"); -const u8 gUnknown_085EB0D5[] = _("TM13{CLEAR_TO 0x48}4,000 COINS"); +const u8 gText_Right[] = _("Right"); +const u8 gText_Left[] = _("Left"); +const u8 gText_TM32AndPrice[] = _("TM32{CLEAR_TO 0x48}1,500 COINS"); +const u8 gText_TM29AndPrice[] = _("TM29{CLEAR_TO 0x48}3,500 COINS"); +const u8 gText_TM35AndPrice[] = _("TM35{CLEAR_TO 0x48}4,000 COINS"); +const u8 gText_TM24AndPrice[] = _("TM24{CLEAR_TO 0x48}4,000 COINS"); +const u8 gText_TM13AndPrice[] = _("TM13{CLEAR_TO 0x48}4,000 COINS"); const u8 gText_Cool[] = _("COOL"); const u8 gText_Beauty[] = _("BEAUTY"); const u8 gText_Cute[] = _("CUTE"); @@ -728,82 +728,82 @@ const u8 gText_MenuOptionPokedex[] = _("POKéDEX"); const u8 gText_MenuOptionPokemon[] = _("POKéMON"); const u8 gText_MenuOptionBag[] = _("BAG"); const u8 gText_MenuOptionPokenav[] = _("POKéNAV"); -const u8 gUnknown_085EB278[] = _(""); +const u8 gText_Blank[] = _(""); const u8 gText_MenuOptionSave[] = _("SAVE"); const u8 gText_MenuOptionOption[] = _("OPTION"); const u8 gText_MenuOptionExit[] = _("EXIT"); -const u8 gUnknown_085EB28A[] = __(" "); -const u8 gUnknown_085EB28C[] = _("5BP"); -const u8 gUnknown_085EB290[] = _("10BP"); -const u8 gUnknown_085EB295[] = _("15BP"); -const u8 gUnknown_085EB29A[] = _("RED TENT"); -const u8 gUnknown_085EB2A3[] = _("BLUE TENT"); +const u8 gText_TwoSpaces[] = __(" "); +const u8 gText_5BP[] = _("5BP"); //unused +const u8 gText_10BP[] = _("10BP"); +const u8 gText_15BP[] = _("15BP"); +const u8 gText_RedTent[] = _("RED TENT"); +const u8 gText_BlueTent[] = _("BLUE TENT"); const u8 gText_SouthernIsland[] = _("SOUTHERN ISLAND"); const u8 gText_BirthIsland[] = _("BIRTH ISLAND"); const u8 gText_FarawayIsland[] = _("FARAWAY ISLAND"); const u8 gText_NavelRock[] = _("NAVEL ROCK"); -const u8 gUnknown_085EB2E4[] = _("CLAW FOSSIL"); -const u8 gUnknown_085EB2F0[] = _("ROOT FOSSIL"); -const u8 gUnknown_085EB2FC[] = _("NO"); -const u8 gUnknown_085EB2FF[] = _("I'll battle now!"); -const u8 gUnknown_085EB310[] = _("I won!"); -const u8 gUnknown_085EB317[] = _("I lost!"); -const u8 gUnknown_085EB31F[] = _("I won't tell."); +const u8 gText_ClawFossil[] = _("CLAW FOSSIL"); +const u8 gText_RootFossil[] = _("ROOT FOSSIL"); +const u8 gText_No4[] = _("NO"); +const u8 gText_IllBattleNow[] = _("I'll battle now!"); +const u8 gText_IWon[] = _("I won!"); +const u8 gText_ILost[] = _("I lost!"); +const u8 gText_IWontTell[] = _("I won't tell."); const u8 gText_NormalTagMatch[] = _("NORMAL TAG MATCH"); const u8 gText_VarietyTagMatch[] = _("VARIETY TAG MATCH"); const u8 gText_UniqueTagMatch[] = _("UNIQUE TAG MATCH"); const u8 gText_ExpertTagMatch[] = _("EXPERT TAG MATCH"); -const u8 gUnknown_085EB372[] = _("TRADE CENTER"); -const u8 gUnknown_085EB37F[] = _("COLOSSEUM"); -const u8 gUnknown_085EB389[] = _("RECORD CORNER"); -const u8 gUnknown_085EB397[] = _("BERRY CRUSH"); +const u8 gText_TradeCenter[] = _("TRADE CENTER"); +const u8 gText_Colosseum[] = _("COLOSSEUM"); +const u8 gText_RecordCorner[] = _("RECORD CORNER"); +const u8 gText_BerryCrush3[] = _("BERRY CRUSH"); const u8 gUnknown_085EB3A3[] = _(""); -const u8 gUnknown_085EB3A4[] = _("POKéMON JUMP"); -const u8 gUnknown_085EB3B1[] = _("DODRIO BERRY-PICKING"); -const u8 gUnknown_085EB3C6[] = _("BECOME LEADER"); -const u8 gUnknown_085EB3D4[] = _("JOIN GROUP"); -const u8 gUnknown_085EB3DF[] = _("TWO STYLES"); -const u8 gUnknown_085EB3EA[] = _("LV. 50"); -const u8 gUnknown_085EB3F1[] = _("OPEN LEVEL"); -const u8 gUnknown_085EB3FC[] = _("{PKMN} TYPE & NO."); -const u8 gUnknown_085EB40A[] = _("HOLD ITEMS"); -const u8 gUnknown_085EB415[] = _("SYMBOLS"); -const u8 gUnknown_085EB41D[] = _("RECORD"); -const u8 gUnknown_085EB424[] = _("BATTLE PTS"); -const u8 gUnknown_085EB42F[] = _("TOWER INFO"); -const u8 gUnknown_085EB43A[] = _("BATTLE {PKMN}"); -const u8 gUnknown_085EB444[] = _("BATTLE SALON"); -const u8 gUnknown_085EB451[] = _("MULTI-LINK"); -const u8 gUnknown_085EB45C[] = _("BATTLE RULES"); -const u8 gUnknown_085EB469[] = _("JUDGE: MIND"); -const u8 gUnknown_085EB475[] = _("JUDGE: SKILL"); -const u8 gUnknown_085EB482[] = _("JUDGE: BODY"); -const u8 gUnknown_085EB48E[] = _("MATCHUP"); -const u8 gUnknown_085EB496[] = _("TOURNEY TREE"); -const u8 gUnknown_085EB4A3[] = _("DOUBLE KO"); -const u8 gUnknown_085EB4AD[] = _("BASIC RULES"); -const u8 gUnknown_085EB4B9[] = _("SWAP: PARTNER"); -const u8 gUnknown_085EB4C7[] = _("SWAP: NUMBER"); -const u8 gUnknown_085EB4D4[] = _("SWAP: NOTES"); -const u8 gUnknown_085EB4E0[] = _("OPEN LEVEL"); +const u8 gText_PokemonJump[] = _("POKéMON JUMP"); +const u8 gText_DodrioBerryPicking[] = _("DODRIO BERRY-PICKING"); +const u8 gText_BecomeLeader[] = _("BECOME LEADER"); +const u8 gText_JoinGroup[] = _("JOIN GROUP"); +const u8 gText_TwoStyles[] = _("TWO STYLES"); +const u8 gText_Lv50_3[] = _("LV. 50"); +const u8 gText_OpenLevel2[] = _("OPEN LEVEL"); +const u8 gText_MonTypeAndNo[] = _("{PKMN} TYPE & NO."); +const u8 gText_HoldItems[] = _("HOLD ITEMS"); +const u8 gText_Symbols2[] = _("SYMBOLS"); +const u8 gText_Record3[] = _("RECORD"); +const u8 gText_BattlePts[] = _("BATTLE PTS"); +const u8 gText_TowerInfo[] = _("TOWER INFO"); +const u8 gText_BattleMon[] = _("BATTLE {PKMN}"); +const u8 gText_BattleSalon[] = _("BATTLE SALON"); +const u8 gText_MultiLink2[] = _("MULTI-LINK"); +const u8 gText_BattleRules[] = _("BATTLE RULES"); +const u8 gText_JudgeMind[] = _("JUDGE: MIND"); +const u8 gText_JudgeSkill[] = _("JUDGE: SKILL"); +const u8 gText_JudgeBody[] = _("JUDGE: BODY"); +const u8 gText_Matchup[] = _("MATCHUP"); +const u8 gText_TourneyTree[] = _("TOURNEY TREE"); +const u8 gText_DoubleKO[] = _("DOUBLE KO"); +const u8 gText_BasicRules[] = _("BASIC RULES"); +const u8 gText_SwapPartners[] = _("SWAP: PARTNER"); +const u8 gText_SwapNumber[] = _("SWAP: NUMBER"); +const u8 gText_SwapNotes[] = _("SWAP: NOTES"); +const u8 gText_OpenLevel3[] = _("OPEN LEVEL"); const u8 gText_BattleBasics[] = _("BATTLE BASICS"); const u8 gText_PokemonNature[] = _("POKéMON NATURE"); const u8 gText_PokemonMoves[] = _("POKéMON MOVES"); const u8 gText_Underpowered[] = _("UNDERPOWERED"); const u8 gText_WhenInDanger[] = _("WHEN IN DANGER"); -const u8 gUnknown_085EB532[] = _("PYRAMID: POKéMON"); -const u8 gUnknown_085EB543[] = _("PYRAMID: TRAINERS"); -const u8 gUnknown_085EB555[] = _("PYRAMID: MAZE"); -const u8 gUnknown_085EB563[] = _("BATTLE BAG"); -const u8 gUnknown_085EB56E[] = _("POKéNAV AND BAG"); -const u8 gUnknown_085EB57E[] = _("HELD ITEMS"); -const u8 gUnknown_085EB589[] = _("POKéMON ORDER"); -const u8 gUnknown_085EB597[] = _("BATTLE POKéMON"); +const u8 gText_PyramidPokemon[] = _("PYRAMID: POKéMON"); +const u8 gText_PyramidTrainers[] = _("PYRAMID: TRAINERS"); +const u8 gText_PyramidMaze[] = _("PYRAMID: MAZE"); +const u8 gText_BattleBag2[] = _("BATTLE BAG"); +const u8 gText_PokenavAndBag[] = _("POKéNAV AND BAG"); +const u8 gText_HeldItems[] = _("HELD ITEMS"); +const u8 gText_PokemonOrder[] = _("POKéMON ORDER"); +const u8 gText_BattlePokemon[] = _("BATTLE POKéMON"); const u8 gText_BattleTrainers[] = _("BATTLE TRAINERS"); -const u8 gUnknown_085EB5B6[] = _("GO ON"); -const u8 gUnknown_085EB5BC[] = _("RECORD"); -const u8 gUnknown_085EB5C3[] = _("REST"); -const u8 gUnknown_085EB5C8[] = _("RETIRE"); +const u8 gText_GoOn[] = _("GO ON"); +const u8 gText_Record2[] = _("RECORD"); +const u8 gText_Rest[] = _("REST"); +const u8 gText_Retire[] = _("RETIRE"); const u8 gText_99TimesPlus[] = _("99 times +"); const u8 gText_1MinutePlus[] = _("1 minute +"); const u8 gText_SpaceSeconds[] = _(" seconds"); @@ -1419,8 +1419,8 @@ const u8 gUnknown_085EE0FA[] = _("つうしん しゅうりょう!"); const u8 gUnknown_085EE107[] = _("あらたな トレーナーが\nホウエンに やってきた!"); const u8 gUnknown_085EE120[] = _("しばらく おまちください"); const u8 gUnknown_085EE12D[] = _("かきこみ エラー です\nデータが ほぞん できませんでした"); -const u8 gUnknown_085EE14B[] = _("RED"); -const u8 gUnknown_085EE14F[] = _("BLUE"); +const u8 gText_Red[] = _("RED"); +const u8 gText_Blue[] = _("BLUE"); const u8 gUnknown_085EE154[] = _("---"); const u8 gText_SingleBattleRoomResults[] = _("{PLAYER}'s Single Battle Room Results"); const u8 gText_DoubleBattleRoomResults[] = _("{PLAYER}'s Double Battle Room Results"); diff --git a/src/tv.c b/src/tv.c index 0c389faa9..62d261a63 100644 --- a/src/tv.c +++ b/src/tv.c @@ -38,8 +38,10 @@ #include "secret_base.h" #include "tv.h" #include "data.h" +#include "constants/contest.h" #include "constants/layouts.h" #include "constants/metatile_behaviors.h" +#include "constants/script_menu.h" // Static type declarations @@ -2870,17 +2872,17 @@ void CopyContestRankToStringVar(u8 varIdx, u8 rank) { switch (rank) { - case 0: // NORMAL - StringCopy(gTVStringVarPtrs[varIdx], gUnknown_0858BAF0[5]); + case CONTEST_RANK_NORMAL: + StringCopy(gTVStringVarPtrs[varIdx], gStdStrings[STDSTRING_NORMAL]); break; - case 1: // SUPER - StringCopy(gTVStringVarPtrs[varIdx], gUnknown_0858BAF0[6]); + case CONTEST_RANK_SUPER: + StringCopy(gTVStringVarPtrs[varIdx], gStdStrings[STDSTRING_SUPER]); break; - case 2: // HYPER - StringCopy(gTVStringVarPtrs[varIdx], gUnknown_0858BAF0[7]); + case CONTEST_RANK_HYPER: + StringCopy(gTVStringVarPtrs[varIdx], gStdStrings[STDSTRING_HYPER]); break; - case 3: // MASTER - StringCopy(gTVStringVarPtrs[varIdx], gUnknown_0858BAF0[8]); + case CONTEST_RANK_MASTER: + StringCopy(gTVStringVarPtrs[varIdx], gStdStrings[STDSTRING_MASTER]); break; } } @@ -2889,20 +2891,20 @@ void CopyContestCategoryToStringVar(u8 varIdx, u8 category) { switch (category) { - case 0: // COOL - StringCopy(gTVStringVarPtrs[varIdx], gUnknown_0858BAF0[0]); + case CONTEST_CATEGORY_COOL: + StringCopy(gTVStringVarPtrs[varIdx], gStdStrings[STDSTRING_COOL]); break; - case 1: // BEAUTY - StringCopy(gTVStringVarPtrs[varIdx], gUnknown_0858BAF0[1]); + case CONTEST_CATEGORY_BEAUTY: + StringCopy(gTVStringVarPtrs[varIdx], gStdStrings[STDSTRING_BEAUTY]); break; - case 2: // CUTE - StringCopy(gTVStringVarPtrs[varIdx], gUnknown_0858BAF0[2]); + case CONTEST_CATEGORY_CUTE: + StringCopy(gTVStringVarPtrs[varIdx], gStdStrings[STDSTRING_CUTE]); break; - case 3: // SMART - StringCopy(gTVStringVarPtrs[varIdx], gUnknown_0858BAF0[3]); + case CONTEST_CATEGORY_SMART: + StringCopy(gTVStringVarPtrs[varIdx], gStdStrings[STDSTRING_SMART]); break; - case 4: // TOUGH - StringCopy(gTVStringVarPtrs[varIdx], gUnknown_0858BAF0[4]); + case CONTEST_CATEGORY_TOUGH: + StringCopy(gTVStringVarPtrs[varIdx], gStdStrings[STDSTRING_TOUGH]); break; } } -- cgit v1.2.3 From de0084ef7a932e27c0020c589f0e2916aef5aeb8 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Thu, 19 Sep 2019 00:56:51 -0400 Subject: Document multichoice ids --- src/data/script_menu.h | 364 +++++++++++++++++++++++++------------------------ src/script_menu.c | 32 ++--- src/strings.c | 3 +- 3 files changed, 203 insertions(+), 196 deletions(-) (limited to 'src') diff --git a/src/data/script_menu.h b/src/data/script_menu.h index e901b4fd3..9f634dc5b 100644 --- a/src/data/script_menu.h +++ b/src/data/script_menu.h @@ -1,5 +1,5 @@ // multichoice lists -const struct MenuAction MultichoiceList_000[] = +const struct MenuAction MultichoiceList_BrineyOnDewford[] = { {gText_Petalburg}, {gText_Slateport}, @@ -46,7 +46,7 @@ const struct MenuAction MultichoiceList_DecorNoRegistry[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_007[] = +const struct MenuAction MultichoiceList_RegisterMenu[] = { {gMenuText_Register}, {gText_Registry}, @@ -60,7 +60,7 @@ const struct MenuAction MultichoiceList_Bike[] = {gText_Acro}, }; -const struct MenuAction MultichoiceList_Status[] = +const struct MenuAction MultichoiceList_StatusInfo[] = { {gText_Psn}, {gText_Par}, @@ -70,13 +70,13 @@ const struct MenuAction MultichoiceList_Status[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_014[] = +const struct MenuAction MultichoiceList_BrineyOffDewford[] = { {gText_Dewford}, {gText_Exit}, }; -const struct MenuAction MultichoiceList_016[] = +const struct MenuAction MultichoiceList_ViewedPaintings[] = { {gText_SawIt}, {gText_NotYet}, @@ -89,119 +89,119 @@ const struct MenuAction MultichoiceList_YesNoInfo2[] = {gText_Info2}, }; -const struct MenuAction MultichoiceList_023[] = +const struct MenuAction MultichoiceList_ChallengeInfo[] = { {gText_Challenge}, {gText_Info3}, {gText_Exit}, }; -const struct MenuAction MultichoiceList_024[] = +const struct MenuAction MultichoiceList_LevelMode[] = { {gText_Lv50}, {gText_OpenLevel}, {gText_Exit}, }; -const struct MenuAction MultichoiceList_Mechadoll1Q1[] = +const struct MenuAction MultichoiceList_Mechadoll1_Q1[] = { {gTrickHouse_Mechadoll_Oddish}, {gTrickHouse_Mechadoll_Poochyena}, {gTrickHouse_Mechadoll_Taillow}, }; -const struct MenuAction MultichoiceList_Mechadoll1Q2[] = +const struct MenuAction MultichoiceList_Mechadoll1_Q2[] = { {gTrickHouse_Mechadoll_Azurill}, {gTrickHouse_Mechadoll_Lotad}, {gTrickHouse_Mechadoll_Wingull}, }; -const struct MenuAction MultichoiceList_Mechadoll1Q3[] = +const struct MenuAction MultichoiceList_Mechadoll1_Q3[] = { {gTrickHouse_Mechadoll_Dustox}, {gTrickHouse_Mechadoll_Zubat}, {gTrickHouse_Mechadoll_Nincada}, }; -const struct MenuAction MultichoiceList_Mechadoll2Q1[] = +const struct MenuAction MultichoiceList_Mechadoll2_Q1[] = { {gTrickHouse_Mechadoll_Ralts}, {gTrickHouse_Mechadoll_Zigzagoon}, {gTrickHouse_Mechadoll_Slakoth}, }; -const struct MenuAction MultichoiceList_Mechadoll2Q2[] = +const struct MenuAction MultichoiceList_Mechadoll2_Q2[] = { {gTrickHouse_Mechadoll_Poochyena2}, {gTrickHouse_Mechadoll_Shroomish}, {gTrickHouse_Mechadoll_Zigzagoon2}, }; -const struct MenuAction MultichoiceList_Mechadoll2Q3[] = +const struct MenuAction MultichoiceList_Mechadoll2_Q3[] = { {gTrickHouse_Mechadoll_Poochyena3}, {gTrickHouse_Mechadoll_Zubat2}, {gTrickHouse_Mechadoll_Carvanha}, }; -const struct MenuAction MultichoiceList_Mechadoll3Q1[] = +const struct MenuAction MultichoiceList_Mechadoll3_Q1[] = { {gTrickHouse_Mechadoll_BurnHeal}, {gTrickHouse_Mechadoll_HarborMail}, {gTrickHouse_Mechadoll_SamePrice}, }; -const struct MenuAction MultichoiceList_Mechadoll3Q2[] = +const struct MenuAction MultichoiceList_Mechadoll3_Q2[] = { {gTrickHouse_Mechadoll_60Yen}, {gTrickHouse_Mechadoll_55Yen}, {gTrickHouse_Mechadoll_Nothing}, }; -const struct MenuAction MultichoiceList_Mechadoll3Q3[] = +const struct MenuAction MultichoiceList_Mechadoll3_Q3[] = { {gTrickHouse_Mechadoll_CostMore}, {gTrickHouse_Mechadoll_CostLess}, {gTrickHouse_Mechadoll_SamePrice2}, }; -const struct MenuAction MultichoiceList_Mechadoll4Q1[] = +const struct MenuAction MultichoiceList_Mechadoll4_Q1[] = { {gTrickHouse_Mechadoll_Male}, {gTrickHouse_Mechadoll_Female}, {gTrickHouse_Mechadoll_Neither}, }; -const struct MenuAction MultichoiceList_Mechadoll4Q2[] = +const struct MenuAction MultichoiceList_Mechadoll4_Q2[] = { {gTrickHouse_Mechadoll_ElderlyMen}, {gTrickHouse_Mechadoll_ElderlyLadies}, {gTrickHouse_Mechadoll_SameNumber}, }; -const struct MenuAction MultichoiceList_Mechadoll4Q3[] = +const struct MenuAction MultichoiceList_Mechadoll4_Q3[] = { {gTrickHouse_Mechadoll_None}, {gTrickHouse_Mechadoll_One}, {gTrickHouse_Mechadoll_Two}, }; -const struct MenuAction MultichoiceList_Mechadoll5Q1[] = +const struct MenuAction MultichoiceList_Mechadoll5_Q1[] = { {gTrickHouse_Mechadoll_Two2}, {gTrickHouse_Mechadoll_Three}, {gTrickHouse_Mechadoll_Four}, }; -const struct MenuAction MultichoiceList_Mechadoll5Q2[] = +const struct MenuAction MultichoiceList_Mechadoll5_Q2[] = { {gTrickHouse_Mechadoll_Six}, {gTrickHouse_Mechadoll_Seven}, {gTrickHouse_Mechadoll_Eight}, }; -const struct MenuAction MultichoiceList_Mechadoll5Q3[] = +const struct MenuAction MultichoiceList_Mechadoll5_Q3[] = { {gTrickHouse_Mechadoll_Six2}, {gTrickHouse_Mechadoll_Seven2}, @@ -232,20 +232,20 @@ const struct MenuAction MultichoiceList_AcroBikeInfo[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_045[] = +const struct MenuAction MultichoiceList_Satisfaction[] = { {gText_Satisfied}, {gText_Dissatisfied}, }; -const struct MenuAction MultichoiceList_046[] = +const struct MenuAction MultichoiceList_SternDeepSea[] = { {gText_DeepSeaTooth}, {gText_DeepSeaScale}, {gText_Exit}, }; -const struct MenuAction MultichoiceList_047[] = +const struct MenuAction MultichoiceList_UnusedAshVendor[] = { {gText_BlueFlute2}, {gText_YellowFlute2}, @@ -282,20 +282,20 @@ const struct MenuAction MultichoiceList_GameCornerCoins[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_050[] = +const struct MenuAction MultichoiceList_HowsFishing[] = { {gText_Excellent2}, {gText_NotSoGood}, }; -const struct MenuAction MultichoiceList_052[] = +const struct MenuAction MultichoiceList_SSTidalSlateport1[] = { {gText_LilycoveCity}, {gText_BattleFrontier}, {gText_Exit}, }; -const struct MenuAction MultichoiceList_053[] = +const struct MenuAction MultichoiceList_SSTidalBattleFrontier[] = { {gText_SlateportCity}, {gText_LilycoveCity}, @@ -308,13 +308,13 @@ const struct MenuAction MultichoiceList_RightLeft[] = {gText_Left}, }; -const struct MenuAction MultichoiceList_056[] = +const struct MenuAction MultichoiceList_SSTidalSlateport2[] = { {gText_LilycoveCity}, {gText_Exit}, }; -const struct MenuAction MultichoiceList_Floor[] = +const struct MenuAction MultichoiceList_Floors[] = { {gText_5F}, {gText_4F}, @@ -431,7 +431,7 @@ const struct MenuAction MultichoiceList_ShardsRYBG[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_073[] = +const struct MenuAction MultichoiceList_TourneyWithRecord[] = { {gText_Opponent}, {gText_Tourney_Tree}, @@ -441,7 +441,7 @@ const struct MenuAction MultichoiceList_073[] = {gText_Retire}, }; -const struct MenuAction MultichoiceList_107[] = +const struct MenuAction MultichoiceList_TourneyNoRecord[] = { {gText_Opponent}, {gText_Tourney_Tree}, @@ -456,7 +456,7 @@ const struct MenuAction MultichoiceList_Tent[] = {gText_BlueTent}, }; -const struct MenuAction MultichoiceList_076[] = +const struct MenuAction MultichoiceList_LinkServicesB[] = { {gText_TradeCenter}, {gText_Colosseum}, @@ -471,7 +471,7 @@ const struct MenuAction MultichoiceList_YesNoInfo[] = {gText_Info2}, }; -const struct MenuAction MultichoiceList_018[] = +const struct MenuAction MultichoiceList_BattleMode[] = { {gText_SingleBattle}, {gText_DoubleBattle}, @@ -480,7 +480,7 @@ const struct MenuAction MultichoiceList_018[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_078[] = +const struct MenuAction MultichoiceList_LinkServicesC[] = { {gText_TradeCenter}, {gText_Colosseum}, @@ -488,7 +488,7 @@ const struct MenuAction MultichoiceList_078[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_079[] = +const struct MenuAction MultichoiceList_LinkServicesD[] = { {gText_TradeCenter}, {gText_Colosseum}, @@ -497,21 +497,21 @@ const struct MenuAction MultichoiceList_079[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_074[] = +const struct MenuAction MultichoiceList_LinkServicesA[] = { {gText_TradeCenter}, {gText_Colosseum}, {gText_Exit}, }; -const struct MenuAction MultichoiceList_080[] = +const struct MenuAction MultichoiceList_WirelessMinigame[] = { {gText_PokemonJump}, {gText_DodrioBerryPicking}, {gText_Exit}, }; -const struct MenuAction MultichoiceList_081[] = +const struct MenuAction MultichoiceList_LinkLeader[] = { {gText_JoinGroup}, {gText_BecomeLeader}, @@ -527,14 +527,14 @@ const struct MenuAction MultichoiceList_ContestRank[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_083[] = +const struct MenuAction MultichoiceList_FrontierItemChoose[] = { {gText_BattleBag}, {gText_HeldItem}, {gText_Exit}, }; -const struct MenuAction MultichoiceList_084[] = +const struct MenuAction MultichoiceList_LinkContestInfo[] = { {gText_LinkContest}, {gText_AboutE_Mode}, @@ -542,28 +542,28 @@ const struct MenuAction MultichoiceList_084[] = {gText_Cancel2}, }; -const struct MenuAction MultichoiceList_085[] = +const struct MenuAction MultichoiceList_LinkContestMode[] = { {gText_E_Mode}, {gText_G_Mode}, {gText_Exit}, }; -const struct MenuAction MultichoiceList_UnusedStartMenu[] = +const struct MenuAction MultichoiceList_ForcedStartMenu[] = { {gText_MenuOptionPokedex}, {gText_MenuOptionPokemon}, {gText_MenuOptionBag}, {gText_MenuOptionPokenav}, - {gText_Blank}, + {gText_Blank}, // blank because it's filled by the player's name {gText_MenuOptionSave}, {gText_MenuOptionOption}, {gText_MenuOptionExit}, }; -const struct MenuAction MultichoiceList_087[] = +const struct MenuAction MultichoiceList_FrontierGamblerBet[] = { - {gText_TwoSpaces}, + {gText_5BP}, {gText_10BP}, {gText_15BP}, {gText_Exit}, @@ -611,7 +611,7 @@ const struct MenuAction MultichoiceList_YesNo[] = {gText_No4}, }; -const struct MenuAction MultichoiceList_095[] = +const struct MenuAction MultichoiceList_FrontierRules[] = { {gText_TwoStyles}, {gText_Lv50_3}, @@ -621,7 +621,7 @@ const struct MenuAction MultichoiceList_095[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_011[] = +const struct MenuAction MultichoiceList_FrontierPassInfo[] = { {gText_Symbols2}, {gText_Record3}, @@ -629,7 +629,7 @@ const struct MenuAction MultichoiceList_011[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_096[] = +const struct MenuAction MultichoiceList_BattleArenaRules[] = { {gText_BattleRules}, {gText_JudgeMind}, @@ -638,7 +638,7 @@ const struct MenuAction MultichoiceList_096[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_097[] = +const struct MenuAction MultichoiceList_BattleTowerRules[] = { {gText_TowerInfo}, {gText_BattleMon}, @@ -647,7 +647,7 @@ const struct MenuAction MultichoiceList_097[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_098[] = +const struct MenuAction MultichoiceList_BattleDomeRules[] = { {gText_Matchup}, {gText_TourneyTree}, @@ -655,7 +655,7 @@ const struct MenuAction MultichoiceList_098[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_099[] = +const struct MenuAction MultichoiceList_BattleFactoryRules[] = { {gText_BasicRules}, {gText_SwapPartners}, @@ -665,7 +665,7 @@ const struct MenuAction MultichoiceList_099[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_100[] = +const struct MenuAction MultichoiceList_BattlePalaceRules[] = { {gText_BattleBasics}, {gText_PokemonNature}, @@ -675,7 +675,7 @@ const struct MenuAction MultichoiceList_100[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_101[] = +const struct MenuAction MultichoiceList_BattlePyramidRules[] = { {gText_PyramidPokemon}, {gText_PyramidTrainers}, @@ -684,7 +684,7 @@ const struct MenuAction MultichoiceList_101[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_102[] = +const struct MenuAction MultichoiceList_BattlePikeRules[] = { {gText_PokenavAndBag}, {gText_HeldItems}, @@ -692,7 +692,7 @@ const struct MenuAction MultichoiceList_102[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_103[] = +const struct MenuAction MultichoiceList_GoOnRecordRestRetire[] = { {gText_GoOn}, {gText_Record2}, @@ -700,21 +700,21 @@ const struct MenuAction MultichoiceList_103[] = {gText_Retire}, }; -const struct MenuAction MultichoiceList_104[] = +const struct MenuAction MultichoiceList_GoOnRestRetire[] = { {gText_GoOn}, {gText_Rest}, {gText_Retire}, }; -const struct MenuAction MultichoiceList_105[] = +const struct MenuAction MultichoiceList_GoOnRecordRetire[] = { {gText_GoOn}, {gText_Record2}, {gText_Retire}, }; -const struct MenuAction MultichoiceList_106[] = +const struct MenuAction MultichoiceList_GoOnRetire[] = { {gText_GoOn}, {gText_Retire}, @@ -726,7 +726,7 @@ const struct MenuAction MultichoiceList_TVLati[] = {gText_Blue}, }; -const struct MenuAction MultichoiceList_109[] = +const struct MenuAction MultichoiceList_BattleTowerFeelings[] = { {gText_IllBattleNow}, {gText_IWon}, @@ -734,7 +734,7 @@ const struct MenuAction MultichoiceList_109[] = {gText_IWontTell}, }; -const struct MenuAction MultichoiceList_110[] = +const struct MenuAction MultichoiceList_WheresRayquaza[] = { {gText_CaveOfOrigin}, {gText_MtPyre}, @@ -742,7 +742,7 @@ const struct MenuAction MultichoiceList_110[] = {gText_DontRemember}, }; -const struct MenuAction MultichoiceList_111[] = +const struct MenuAction MultichoiceList_SlateportTentRules[] = { {gText_BasicRules}, {gText_SwapPartners}, @@ -752,7 +752,7 @@ const struct MenuAction MultichoiceList_111[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_112[] = +const struct MenuAction MultichoiceList_FallarborTentRules[] = { {gText_BattleTrainers}, {gText_BattleRules}, @@ -784,120 +784,120 @@ struct MultichoiceListStruct const struct MultichoiceListStruct gMultichoiceLists[] = { - MULTICHOICE(MultichoiceList_000), - [MULTI_EXIT] = MULTICHOICE(MultichoiceList_Exit), - [MULTI_ENTERINFO] = MULTICHOICE(MultichoiceList_EnterInfo), - [MULTI_CONTEST_INFO] = MULTICHOICE(MultichoiceList_ContestInfo), - [MULTI_CONTEST_TYPE] = MULTICHOICE(MultichoiceList_ContestType), - [MULTI_DECOR_NO_REGISTRY] = MULTICHOICE(MultichoiceList_DecorNoRegistry), - [MULTI_DECOR_REGISTRY] = MULTICHOICE(MultichoiceList_DecorRegistry), - MULTICHOICE(MultichoiceList_007), - [MULTI_UNUSED_8] = MULTICHOICE(MultichoiceList_Exit), - [MULTI_UNUSED_9] = MULTICHOICE(MultichoiceList_Exit), - [MULTI_UNUSED_10] = MULTICHOICE(MultichoiceList_Exit), - MULTICHOICE(MultichoiceList_011), - [MULTI_BIKE] = MULTICHOICE(MultichoiceList_Bike), - [MULTI_STATUS] = MULTICHOICE(MultichoiceList_Status), - MULTICHOICE(MultichoiceList_014), - [MULTI_UNUSED_15] = MULTICHOICE(MultichoiceList_Exit), - MULTICHOICE(MultichoiceList_016), - [MULTI_YESNOINFO] = MULTICHOICE(MultichoiceList_YesNoInfo), - MULTICHOICE(MultichoiceList_018), - [MULTI_UNUSED_19] = MULTICHOICE(MultichoiceList_Exit), - [MULTI_YESNOINFO_2] = MULTICHOICE(MultichoiceList_YesNoInfo2), - [MULTI_UNUSED_21] = MULTICHOICE(MultichoiceList_Exit), - [MULTI_UNUSED_22] = MULTICHOICE(MultichoiceList_Exit), - MULTICHOICE(MultichoiceList_023), - MULTICHOICE(MultichoiceList_024), - [MULTI_MECHADOLL1_Q1] = MULTICHOICE(MultichoiceList_Mechadoll1Q1), - [MULTI_MECHADOLL1_Q2] = MULTICHOICE(MultichoiceList_Mechadoll1Q2), - [MULTI_MECHADOLL1_Q3] = MULTICHOICE(MultichoiceList_Mechadoll1Q3), - [MULTI_MECHADOLL2_Q1] = MULTICHOICE(MultichoiceList_Mechadoll2Q1), - [MULTI_MECHADOLL2_Q2] = MULTICHOICE(MultichoiceList_Mechadoll2Q2), - [MULTI_MECHADOLL2_Q3] = MULTICHOICE(MultichoiceList_Mechadoll2Q3), - [MULTI_MECHADOLL3_Q1] = MULTICHOICE(MultichoiceList_Mechadoll3Q1), - [MULTI_MECHADOLL3_Q2] = MULTICHOICE(MultichoiceList_Mechadoll3Q2), - [MULTI_MECHADOLL3_Q3] = MULTICHOICE(MultichoiceList_Mechadoll3Q3), - [MULTI_MECHADOLL4_Q1] = MULTICHOICE(MultichoiceList_Mechadoll4Q1), - [MULTI_MECHADOLL4_Q2] = MULTICHOICE(MultichoiceList_Mechadoll4Q2), - [MULTI_MECHADOLL4_Q3] = MULTICHOICE(MultichoiceList_Mechadoll4Q3), - [MULTI_MECHADOLL5_Q1] = MULTICHOICE(MultichoiceList_Mechadoll5Q1), - [MULTI_MECHADOLL5_Q2] = MULTICHOICE(MultichoiceList_Mechadoll5Q2), - [MULTI_MECHADOLL5_Q3] = MULTICHOICE(MultichoiceList_Mechadoll5Q3), - [MULTI_UNUSED_40] = MULTICHOICE(MultichoiceList_Exit), - [MULTI_UNUSED_41] = MULTICHOICE(MultichoiceList_Exit), - [MULTI_VENDING_MACHINE] = MULTICHOICE(MultichoiceList_VendingMachine), - [MULTI_MACH_BIKE_INFO] = MULTICHOICE(MultichoiceList_MachBikeInfo), - [MULTI_ACRO_BIKE_INFO] = MULTICHOICE(MultichoiceList_AcroBikeInfo), - MULTICHOICE(MultichoiceList_045), - MULTICHOICE(MultichoiceList_046), - MULTICHOICE(MultichoiceList_047), - [MULTI_GAME_CORNER_DOLLS] = MULTICHOICE(MultichoiceList_GameCornerDolls), - [MULTI_GAME_CORNER_COINS] = MULTICHOICE(MultichoiceList_GameCornerCoins), - MULTICHOICE(MultichoiceList_050), - [MULTI_UNUSED_51] = MULTICHOICE(MultichoiceList_Exit), - MULTICHOICE(MultichoiceList_052), - MULTICHOICE(MultichoiceList_053), - [MULTI_RIGHTLEFT] = MULTICHOICE(MultichoiceList_RightLeft), - [MULTI_GAME_CORNER_TMS] = MULTICHOICE(MultichoiceList_GameCornerTMs), - MULTICHOICE(MultichoiceList_056), - [MULTI_FLOOR] = MULTICHOICE(MultichoiceList_Floor), - [MULTI_SHARDS_R] = MULTICHOICE(MultichoiceList_ShardsR), - [MULTI_SHARDS_Y] = MULTICHOICE(MultichoiceList_ShardsY), - [MULTI_SHARDS_RY] = MULTICHOICE(MultichoiceList_ShardsRY), - [MULTI_SHARDS_B] = MULTICHOICE(MultichoiceList_ShardsB), - [MULTI_SHARDS_RB] = MULTICHOICE(MultichoiceList_ShardsRB), - [MULTI_SHARDS_YB] = MULTICHOICE(MultichoiceList_ShardsYB), - [MULTI_SHARDS_RYB] = MULTICHOICE(MultichoiceList_ShardsRYB), - [MULTI_SHARDS_G] = MULTICHOICE(MultichoiceList_ShardsG), - [MULTI_SHARDS_RG] = MULTICHOICE(MultichoiceList_ShardsRG), - [MULTI_SHARDS_YG] = MULTICHOICE(MultichoiceList_ShardsYG), - [MULTI_SHARDS_RYG] = MULTICHOICE(MultichoiceList_ShardsRYG), - [MULTI_SHARDS_BG] = MULTICHOICE(MultichoiceList_ShardsBG), - [MULTI_SHARDS_RBG] = MULTICHOICE(MultichoiceList_ShardsRBG), - [MULTI_SHARDS_YBG] = MULTICHOICE(MultichoiceList_ShardsYBG), - [MULTI_SHARDS_RYBG] = MULTICHOICE(MultichoiceList_ShardsRYBG), - MULTICHOICE(MultichoiceList_073), - MULTICHOICE(MultichoiceList_074), - MULTICHOICE(MultichoiceList_074), - MULTICHOICE(MultichoiceList_076), - MULTICHOICE(MultichoiceList_076), - MULTICHOICE(MultichoiceList_078), - MULTICHOICE(MultichoiceList_079), - MULTICHOICE(MultichoiceList_080), - MULTICHOICE(MultichoiceList_081), - [MULTI_CONTEST_RANK] = MULTICHOICE(MultichoiceList_ContestRank), - MULTICHOICE(MultichoiceList_083), - MULTICHOICE(MultichoiceList_084), - MULTICHOICE(MultichoiceList_085), - [MULTI_UNUSED_START_MENU] = MULTICHOICE(MultichoiceList_UnusedStartMenu), - MULTICHOICE(MultichoiceList_087), - [MULTI_TENT] = MULTICHOICE(MultichoiceList_Tent), - [MULTI_UNUSED_SSTIDAL_1] = MULTICHOICE(MultichoiceList_UnusedSSTidal1), - [MULTI_UNUSED_SSTIDAL_2] = MULTICHOICE(MultichoiceList_UnusedSSTidal2), - [MULTI_UNUSED_SSTIDAL_3] = MULTICHOICE(MultichoiceList_UnusedSSTidal3), - [MULTI_UNUSED_SSTIDAL_4] = MULTICHOICE(MultichoiceList_UnusedSSTidal4), - [MULTI_FOSSIL] = MULTICHOICE(MultichoiceList_Fossil), - [MULTI_YESNO] = MULTICHOICE(MultichoiceList_YesNo), - MULTICHOICE(MultichoiceList_095), - MULTICHOICE(MultichoiceList_096), - MULTICHOICE(MultichoiceList_097), - MULTICHOICE(MultichoiceList_098), - MULTICHOICE(MultichoiceList_099), - MULTICHOICE(MultichoiceList_100), - MULTICHOICE(MultichoiceList_101), - MULTICHOICE(MultichoiceList_102), - MULTICHOICE(MultichoiceList_103), - MULTICHOICE(MultichoiceList_104), - MULTICHOICE(MultichoiceList_105), - MULTICHOICE(MultichoiceList_106), - MULTICHOICE(MultichoiceList_107), - [MULTI_TV_LATI] = MULTICHOICE(MultichoiceList_TVLati), - MULTICHOICE(MultichoiceList_109), - MULTICHOICE(MultichoiceList_110), - MULTICHOICE(MultichoiceList_111), - MULTICHOICE(MultichoiceList_112), - [MULTI_TAG_MATCH_TYPE] = MULTICHOICE(MultichoiceList_TagMatchType), + [MULTI_BRINEY_ON_DEWFORD] = MULTICHOICE(MultichoiceList_BrineyOnDewford), + [MULTI_UNUSED_1] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_ENTERINFO] = MULTICHOICE(MultichoiceList_EnterInfo), + [MULTI_CONTEST_INFO] = MULTICHOICE(MultichoiceList_ContestInfo), + [MULTI_CONTEST_TYPE] = MULTICHOICE(MultichoiceList_ContestType), + [MULTI_DECOR_NOREGISTRY] = MULTICHOICE(MultichoiceList_DecorNoRegistry), + [MULTI_DECOR_REGISTRY] = MULTICHOICE(MultichoiceList_DecorRegistry), + [MULTI_REGISTER_MENU] = MULTICHOICE(MultichoiceList_RegisterMenu), + [MULTI_UNUSED_8] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_UNUSED_9] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_UNUSED_10] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_FRONTIER_PASS_INFO] = MULTICHOICE(MultichoiceList_FrontierPassInfo), + [MULTI_BIKE] = MULTICHOICE(MultichoiceList_Bike), + [MULTI_STATUS_INFO] = MULTICHOICE(MultichoiceList_StatusInfo), + [MULTI_BRINEY_OFF_DEWFORD] = MULTICHOICE(MultichoiceList_BrineyOffDewford), + [MULTI_UNUSED_15] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_VIEWED_PAINTINGS] = MULTICHOICE(MultichoiceList_ViewedPaintings), + [MULTI_YESNOINFO] = MULTICHOICE(MultichoiceList_YesNoInfo), + [MULTI_BATTLE_MODE] = MULTICHOICE(MultichoiceList_BattleMode), + [MULTI_UNUSED_19] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_YESNOINFO_2] = MULTICHOICE(MultichoiceList_YesNoInfo2), + [MULTI_UNUSED_21] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_UNUSED_22] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_CHALLENGEINFO] = MULTICHOICE(MultichoiceList_ChallengeInfo), + [MULTI_LEVEL_MODE] = MULTICHOICE(MultichoiceList_LevelMode), + [MULTI_MECHADOLL1_Q1] = MULTICHOICE(MultichoiceList_Mechadoll1_Q1), + [MULTI_MECHADOLL1_Q2] = MULTICHOICE(MultichoiceList_Mechadoll1_Q2), + [MULTI_MECHADOLL1_Q3] = MULTICHOICE(MultichoiceList_Mechadoll1_Q3), + [MULTI_MECHADOLL2_Q1] = MULTICHOICE(MultichoiceList_Mechadoll2_Q1), + [MULTI_MECHADOLL2_Q2] = MULTICHOICE(MultichoiceList_Mechadoll2_Q2), + [MULTI_MECHADOLL2_Q3] = MULTICHOICE(MultichoiceList_Mechadoll2_Q3), + [MULTI_MECHADOLL3_Q1] = MULTICHOICE(MultichoiceList_Mechadoll3_Q1), + [MULTI_MECHADOLL3_Q2] = MULTICHOICE(MultichoiceList_Mechadoll3_Q2), + [MULTI_MECHADOLL3_Q3] = MULTICHOICE(MultichoiceList_Mechadoll3_Q3), + [MULTI_MECHADOLL4_Q1] = MULTICHOICE(MultichoiceList_Mechadoll4_Q1), + [MULTI_MECHADOLL4_Q2] = MULTICHOICE(MultichoiceList_Mechadoll4_Q2), + [MULTI_MECHADOLL4_Q3] = MULTICHOICE(MultichoiceList_Mechadoll4_Q3), + [MULTI_MECHADOLL5_Q1] = MULTICHOICE(MultichoiceList_Mechadoll5_Q1), + [MULTI_MECHADOLL5_Q2] = MULTICHOICE(MultichoiceList_Mechadoll5_Q2), + [MULTI_MECHADOLL5_Q3] = MULTICHOICE(MultichoiceList_Mechadoll5_Q3), + [MULTI_UNUSED_40] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_UNUSED_41] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_VENDING_MACHINE] = MULTICHOICE(MultichoiceList_VendingMachine), + [MULTI_MACH_BIKE_INFO] = MULTICHOICE(MultichoiceList_MachBikeInfo), + [MULTI_ACRO_BIKE_INFO] = MULTICHOICE(MultichoiceList_AcroBikeInfo), + [MULTI_SATISFACTION] = MULTICHOICE(MultichoiceList_Satisfaction), + [MULTI_STERN_DEEPSEA] = MULTICHOICE(MultichoiceList_SternDeepSea), + [MULTI_UNUSED_ASH_VENDOR] = MULTICHOICE(MultichoiceList_UnusedAshVendor), + [MULTI_GAME_CORNER_DOLLS] = MULTICHOICE(MultichoiceList_GameCornerDolls), + [MULTI_GAME_CORNER_COINS] = MULTICHOICE(MultichoiceList_GameCornerCoins), + [MULTI_HOWS_FISHING] = MULTICHOICE(MultichoiceList_HowsFishing), + [MULTI_UNUSED_51] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_SSTIDAL_SLATEPORT_1] = MULTICHOICE(MultichoiceList_SSTidalSlateport1), + [MULTI_SSTIDAL_BATTLE_FRONTIER] = MULTICHOICE(MultichoiceList_SSTidalBattleFrontier), + [MULTI_RIGHTLEFT] = MULTICHOICE(MultichoiceList_RightLeft), + [MULTI_GAME_CORNER_TMS] = MULTICHOICE(MultichoiceList_GameCornerTMs), + [MULTI_SSTIDAL_SLATEPORT_2] = MULTICHOICE(MultichoiceList_SSTidalSlateport2), + [MULTI_FLOORS] = MULTICHOICE(MultichoiceList_Floors), + [MULTI_SHARDS_R] = MULTICHOICE(MultichoiceList_ShardsR), + [MULTI_SHARDS_Y] = MULTICHOICE(MultichoiceList_ShardsY), + [MULTI_SHARDS_RY] = MULTICHOICE(MultichoiceList_ShardsRY), + [MULTI_SHARDS_B] = MULTICHOICE(MultichoiceList_ShardsB), + [MULTI_SHARDS_RB] = MULTICHOICE(MultichoiceList_ShardsRB), + [MULTI_SHARDS_YB] = MULTICHOICE(MultichoiceList_ShardsYB), + [MULTI_SHARDS_RYB] = MULTICHOICE(MultichoiceList_ShardsRYB), + [MULTI_SHARDS_G] = MULTICHOICE(MultichoiceList_ShardsG), + [MULTI_SHARDS_RG] = MULTICHOICE(MultichoiceList_ShardsRG), + [MULTI_SHARDS_YG] = MULTICHOICE(MultichoiceList_ShardsYG), + [MULTI_SHARDS_RYG] = MULTICHOICE(MultichoiceList_ShardsRYG), + [MULTI_SHARDS_BG] = MULTICHOICE(MultichoiceList_ShardsBG), + [MULTI_SHARDS_RBG] = MULTICHOICE(MultichoiceList_ShardsRBG), + [MULTI_SHARDS_YBG] = MULTICHOICE(MultichoiceList_ShardsYBG), + [MULTI_SHARDS_RYBG] = MULTICHOICE(MultichoiceList_ShardsRYBG), + [MULTI_TOURNEY_WITH_RECORD] = MULTICHOICE(MultichoiceList_TourneyWithRecord), + [MULTI_LINK_SERVICES_A1] = MULTICHOICE(MultichoiceList_LinkServicesA), + [MULTI_LINK_SERVICES_A2] = MULTICHOICE(MultichoiceList_LinkServicesA), + [MULTI_LINK_SERVICES_B1] = MULTICHOICE(MultichoiceList_LinkServicesB), + [MULTI_LINK_SERVICES_B2] = MULTICHOICE(MultichoiceList_LinkServicesB), + [MULTI_LINK_SERVICES_C] = MULTICHOICE(MultichoiceList_LinkServicesC), + [MULTI_LINK_SERVICES_D] = MULTICHOICE(MultichoiceList_LinkServicesD), + [MULTI_WIRELESS_MINIGAME] = MULTICHOICE(MultichoiceList_WirelessMinigame), + [MULTI_LINK_LEADER] = MULTICHOICE(MultichoiceList_LinkLeader), + [MULTI_CONTEST_RANK] = MULTICHOICE(MultichoiceList_ContestRank), + [MULTI_FRONTIER_ITEM_CHOOSE] = MULTICHOICE(MultichoiceList_FrontierItemChoose), + [MULTI_LINK_CONTEST_INFO] = MULTICHOICE(MultichoiceList_LinkContestInfo), + [MULTI_LINK_CONTEST_MODE] = MULTICHOICE(MultichoiceList_LinkContestMode), + [MULTI_FORCED_START_MENU] = MULTICHOICE(MultichoiceList_ForcedStartMenu), + [MULTI_FRONTIER_GAMBLER_BET] = MULTICHOICE(MultichoiceList_FrontierGamblerBet), + [MULTI_TENT] = MULTICHOICE(MultichoiceList_Tent), + [MULTI_UNUSED_SSTIDAL_1] = MULTICHOICE(MultichoiceList_UnusedSSTidal1), + [MULTI_UNUSED_SSTIDAL_2] = MULTICHOICE(MultichoiceList_UnusedSSTidal2), + [MULTI_UNUSED_SSTIDAL_3] = MULTICHOICE(MultichoiceList_UnusedSSTidal3), + [MULTI_UNUSED_SSTIDAL_4] = MULTICHOICE(MultichoiceList_UnusedSSTidal4), + [MULTI_FOSSIL] = MULTICHOICE(MultichoiceList_Fossil), + [MULTI_YESNO] = MULTICHOICE(MultichoiceList_YesNo), + [MULTI_FRONTIER_RULES] = MULTICHOICE(MultichoiceList_FrontierRules), + [MULTI_BATTLE_ARENA_RULES] = MULTICHOICE(MultichoiceList_BattleArenaRules), + [MULTI_BATTLE_TOWER_RULES] = MULTICHOICE(MultichoiceList_BattleTowerRules), + [MULTI_BATTLE_DOME_RULES] = MULTICHOICE(MultichoiceList_BattleDomeRules), + [MULTI_BATTLE_FACTORY_RULES] = MULTICHOICE(MultichoiceList_BattleFactoryRules), + [MULTI_BATTLE_PALACE_RULES] = MULTICHOICE(MultichoiceList_BattlePalaceRules), + [MULTI_BATTLE_PYRAMID_RULES] = MULTICHOICE(MultichoiceList_BattlePyramidRules), + [MULTI_BATTLE_PIKE_RULES] = MULTICHOICE(MultichoiceList_BattlePikeRules), + [MULTI_GO_ON_RECORD_REST_RETIRE] = MULTICHOICE(MultichoiceList_GoOnRecordRestRetire), + [MULTI_GO_ON_REST_RETIRE] = MULTICHOICE(MultichoiceList_GoOnRestRetire), + [MULTI_GO_ON_RECORD_RETIRE] = MULTICHOICE(MultichoiceList_GoOnRecordRetire), + [MULTI_GO_ON_RETIRE] = MULTICHOICE(MultichoiceList_GoOnRetire), + [MULTI_TOURNEY_NO_RECORD] = MULTICHOICE(MultichoiceList_TourneyNoRecord), + [MULTI_TV_LATI] = MULTICHOICE(MultichoiceList_TVLati), + [MULTI_BATTLE_TOWER_FEELINGS] = MULTICHOICE(MultichoiceList_BattleTowerFeelings), + [MULTI_WHERES_RAYQUAZA] = MULTICHOICE(MultichoiceList_WheresRayquaza), + [MULTI_SLATEPORT_TENT_RULES] = MULTICHOICE(MultichoiceList_SlateportTentRules), + [MULTI_FALLARBOR_TENT_RULES] = MULTICHOICE(MultichoiceList_FallarborTentRules), + [MULTI_TAG_MATCH_TYPE] = MULTICHOICE(MultichoiceList_TagMatchType), }; const u8 *const gStdStrings[] = @@ -934,7 +934,15 @@ const u8 *const gStdStrings[] = [STDSTRING_BATTLE_PYRAMID] = gText_BattlePyramid, }; -const u8 gUnknown_0858BB68[] = { 74, 75, 76, 77, 78, 79 }; +const u8 gLinkServicesMultichoiceIds[] = +{ + MULTI_LINK_SERVICES_A1, + MULTI_LINK_SERVICES_A2, + MULTI_LINK_SERVICES_B1, + MULTI_LINK_SERVICES_B2, + MULTI_LINK_SERVICES_C, + MULTI_LINK_SERVICES_D +}; const u8 *const sPCNameStrings[] = { diff --git a/src/script_menu.c b/src/script_menu.c index 1939611e9..070a04932 100644 --- a/src/script_menu.c +++ b/src/script_menu.c @@ -34,7 +34,7 @@ static void sub_80E2A94(u8); static void CreatePCMenu(void); static void sub_80E2578(void); static bool8 IsPicboxClosed(void); -static void CreateStartMenu(void); +static void CreateMultichoiceStartMenu(void); static void sub_80E2CC4(u8, u8, u8, u8); bool8 ScriptMenu_Multichoice(u8 left, u8 top, u8 multichoiceId, u8 ignoreBPress) @@ -130,9 +130,9 @@ static void sub_80E1FBC(u8 ignoreBPress, u8 count, u8 windowId, u8 multichoiceId u8 taskId; gUnknown_02039F90 = 2; - for (i = 0; i < ARRAY_COUNT(gUnknown_0858BB68); i++) + for (i = 0; i < ARRAY_COUNT(gLinkServicesMultichoiceIds); i++) { - if (gUnknown_0858BB68[i] == multichoiceId) + if (gLinkServicesMultichoiceIds[i] == multichoiceId) { gUnknown_02039F90 = 12; } @@ -183,7 +183,7 @@ static void Task_HandleMultichoiceInput(u8 taskId) if (tIgnoreBPress) return; PlaySE(SE_SELECT); - gSpecialVar_Result = MULTICHOICE_B; + gSpecialVar_Result = MULTI_B_PRESSED; } else { @@ -299,7 +299,7 @@ static void Task_HandleMultichoiceGridInput(u8 taskId) if (tIgnoreBPress) return; PlaySE(SE_SELECT); - gSpecialVar_Result = MULTICHOICE_B; + gSpecialVar_Result = MULTI_B_PRESSED; break; default: gSpecialVar_Result = selection; @@ -536,7 +536,7 @@ static void sub_80E2578(void) void sub_80E2878(void) { - if (gSpecialVar_Result != MULTICHOICE_B) + if (gSpecialVar_Result != MULTI_B_PRESSED) { gSpecialVar_Result = gUnknown_03001124[gSpecialVar_Result]; } @@ -639,34 +639,34 @@ static void sub_80E2A94(u8 multichoiceId) { switch (multichoiceId) { - case 77: + case MULTI_LINK_SERVICES_B2: FillWindowPixelBuffer(0, PIXEL_FILL(1)); AddTextPrinterParameterized2(0, 1, gUnknown_0858BBAC[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); break; - case 76: + case MULTI_LINK_SERVICES_B1: FillWindowPixelBuffer(0, PIXEL_FILL(1)); AddTextPrinterParameterized2(0, 1, gUnknown_0858BB9C[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); break; - case 78: + case MULTI_LINK_SERVICES_C: FillWindowPixelBuffer(0, PIXEL_FILL(1)); AddTextPrinterParameterized2(0, 1, gUnknown_0858BBBC[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); break; - case 79: + case MULTI_LINK_SERVICES_D: FillWindowPixelBuffer(0, PIXEL_FILL(1)); AddTextPrinterParameterized2(0, 1, gUnknown_0858BBCC[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); break; - case 75: + case MULTI_LINK_SERVICES_A2: FillWindowPixelBuffer(0, PIXEL_FILL(1)); AddTextPrinterParameterized2(0, 1, gUnknown_0858BBEC[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); break; - case 74: + case MULTI_LINK_SERVICES_A1: FillWindowPixelBuffer(0, PIXEL_FILL(1)); AddTextPrinterParameterized2(0, 1, gUnknown_0858BBE0[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); break; } } -bool16 sp106_CreateStartMenu(void) +bool16 CreateStartMenuForPokenavTutorial(void) { if (FuncIsActiveTask(Task_HandleMultichoiceInput) == TRUE) { @@ -674,11 +674,11 @@ bool16 sp106_CreateStartMenu(void) } gSpecialVar_Result = 0xFF; - CreateStartMenu(); + CreateMultichoiceStartMenu(); return TRUE; } -static void CreateStartMenu(void) +static void CreateMultichoiceStartMenu(void) { u8 windowId = CreateWindowFromRect(21, 0, 7, 18); SetStandardWindowBorderStyle(windowId, 0); @@ -691,7 +691,7 @@ static void CreateStartMenu(void) AddTextPrinterParameterized(windowId, 1, gText_MenuOptionOption, 8, 105, TEXT_SPEED_FF, NULL); AddTextPrinterParameterized(windowId, 1, gText_MenuOptionExit, 8, 121, TEXT_SPEED_FF, NULL); sub_81983AC(windowId, 1, 0, 9, 16, 8, 0); - sub_80E2CC4(0, 8, windowId, 86); + sub_80E2CC4(FALSE, 8, windowId, MULTI_FORCED_START_MENU); CopyWindowToVram(windowId, 3); } diff --git a/src/strings.c b/src/strings.c index 257fb8099..d423dd5b4 100644 --- a/src/strings.c +++ b/src/strings.c @@ -732,8 +732,7 @@ const u8 gText_Blank[] = _(""); const u8 gText_MenuOptionSave[] = _("SAVE"); const u8 gText_MenuOptionOption[] = _("OPTION"); const u8 gText_MenuOptionExit[] = _("EXIT"); -const u8 gText_TwoSpaces[] = __(" "); -const u8 gText_5BP[] = _("5BP"); //unused +const u8 gText_5BP[] = _(" 5BP"); const u8 gText_10BP[] = _("10BP"); const u8 gText_15BP[] = _("15BP"); const u8 gText_RedTent[] = _("RED TENT"); -- cgit v1.2.3 From 275695c1896fb4b51669eab89febcbe0460765d1 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Thu, 19 Sep 2019 17:26:25 -0400 Subject: Document more script_menu, lilycove harbor --- src/apprentice.c | 4 +- src/data/script_menu.h | 6 +- src/field_specials.c | 354 ++++++++++++++++++++++------------------ src/hof_pc.c | 2 +- src/international_string_util.c | 4 +- src/mauville_old_man.c | 2 +- src/script_menu.c | 189 ++++++++++----------- src/strings.c | 4 +- src/trader.c | 2 +- 9 files changed, 302 insertions(+), 265 deletions(-) (limited to 'src') diff --git a/src/apprentice.c b/src/apprentice.c index 76962807e..113b22f6e 100644 --- a/src/apprentice.c +++ b/src/apprentice.c @@ -1559,8 +1559,8 @@ static void CreateMenuWithAnswers(u8 arg0) pixelWidth = width; } - width = convert_pixel_width_to_tile_width(pixelWidth); - left = sub_80E2D5C(left, width); + width = ConvertPixelWidthToTileWidth(pixelWidth); + left = ScriptMenu_AdjustLeftCoordFromWidth(left, width); windowId = CreateAndShowWindow(left, top, width, count * 2); SetStandardWindowBorderStyle(windowId, 0); diff --git a/src/data/script_menu.h b/src/data/script_menu.h index 9f634dc5b..382410652 100644 --- a/src/data/script_menu.h +++ b/src/data/script_menu.h @@ -785,14 +785,14 @@ struct MultichoiceListStruct const struct MultichoiceListStruct gMultichoiceLists[] = { [MULTI_BRINEY_ON_DEWFORD] = MULTICHOICE(MultichoiceList_BrineyOnDewford), - [MULTI_UNUSED_1] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_PC] = MULTICHOICE(MultichoiceList_Exit), [MULTI_ENTERINFO] = MULTICHOICE(MultichoiceList_EnterInfo), [MULTI_CONTEST_INFO] = MULTICHOICE(MultichoiceList_ContestInfo), [MULTI_CONTEST_TYPE] = MULTICHOICE(MultichoiceList_ContestType), [MULTI_DECOR_NOREGISTRY] = MULTICHOICE(MultichoiceList_DecorNoRegistry), [MULTI_DECOR_REGISTRY] = MULTICHOICE(MultichoiceList_DecorRegistry), [MULTI_REGISTER_MENU] = MULTICHOICE(MultichoiceList_RegisterMenu), - [MULTI_UNUSED_8] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_SSTIDAL_LILYCOVE] = MULTICHOICE(MultichoiceList_Exit), [MULTI_UNUSED_9] = MULTICHOICE(MultichoiceList_Exit), [MULTI_UNUSED_10] = MULTICHOICE(MultichoiceList_Exit), [MULTI_FRONTIER_PASS_INFO] = MULTICHOICE(MultichoiceList_FrontierPassInfo), @@ -952,7 +952,7 @@ const u8 *const sPCNameStrings[] = gText_LogOff, }; -const u8 *const gSSTidalDestinations[] = +const u8 *const gLilycoveSSTidalDestinations[] = { gText_SlateportCity, gText_BattleFrontier, diff --git a/src/field_specials.c b/src/field_specials.c index 95e9c2388..d1fb49610 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -55,6 +55,7 @@ #include "constants/heal_locations.h" #include "constants/map_types.h" #include "constants/maps.h" +#include "constants/script_menu.h" #include "constants/songs.h" #include "constants/species.h" #include "constants/moves.h" @@ -82,6 +83,7 @@ static EWRAM_DATA u8 sPCBoxToSendMon = 0; static EWRAM_DATA u32 sUnknown_0203AB70 = 0; struct ListMenuTemplate gScrollableMultichoice_ListMenuTemplate; +static const u8 *const sScrollableMultichoiceOptions[][MAX_SCROLL_MULTI_LENGTH]; extern const u16 gEventObjectPalette8[]; extern const u16 gEventObjectPalette17[]; @@ -2270,144 +2272,160 @@ void BufferBattleTowerElevatorFloors(void) gSpecialVar_0x8006 = 12; } -// data[1]: number of options in the multichoice +// Scrollable Multichoice task data defines +#define tMaxItemsOnScreen data[0] +#define tNumItems data[1] +#define tLeft data[2] +#define tTop data[3] +#define tWidth data[4] +#define tHeight data[5] +#define tKeepOpenAfterSelect data[6] +#define tScrollOffset data[7] +#define tSelectedRow data[8] +#define tScrollMultiId data[11] +#define tScrollArrowId data[12] +#define tWindowId data[13] +#define tListTaskId data[14] +#define tTaskId data[15] +// data[9] and [10] unused + void ShowScrollableMultichoice(void) { u8 taskId = CreateTask(Task_ShowScrollableMultichoice, 8); struct Task *task = &gTasks[taskId]; - task->data[11] = gSpecialVar_0x8004; + task->tScrollMultiId = gSpecialVar_0x8004; switch (gSpecialVar_0x8004) { case SCROLL_MULTI_NONE: - task->data[0] = 1; - task->data[1] = 1; - task->data[2] = 1; - task->data[3] = 1; - task->data[4] = 1; - task->data[5] = 1; - task->data[6] = 0; - task->data[15] = taskId; + task->tMaxItemsOnScreen = 1; + task->tNumItems = 1; + task->tLeft = 1; + task->tTop = 1; + task->tWidth = 1; + task->tHeight = 1; + task->tKeepOpenAfterSelect = FALSE; + task->tTaskId = taskId; break; case SCROLL_MULTI_GLASS_WORKSHOP_VENDOR: - task->data[0] = MAX_SCROLL_MULTI_ON_SCREEN - 1; - task->data[1] = 8; - task->data[2] = 1; - task->data[3] = 1; - task->data[4] = 9; - task->data[5] = 10; - task->data[6] = 0; - task->data[15] = taskId; + task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN - 1; + task->tNumItems = 8; + task->tLeft = 1; + task->tTop = 1; + task->tWidth = 9; + task->tHeight = 10; + task->tKeepOpenAfterSelect = FALSE; + task->tTaskId = taskId; break; case SCROLL_MULTI_POKEMON_FAN_CLUB_RATER: - task->data[0] = MAX_SCROLL_MULTI_ON_SCREEN; - task->data[1] = 12; - task->data[2] = 1; - task->data[3] = 1; - task->data[4] = 7; - task->data[5] = 12; - task->data[6] = 0; - task->data[15] = taskId; + task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN; + task->tNumItems = 12; + task->tLeft = 1; + task->tTop = 1; + task->tWidth = 7; + task->tHeight = 12; + task->tKeepOpenAfterSelect = FALSE; + task->tTaskId = taskId; break; case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_1: - task->data[0] = MAX_SCROLL_MULTI_ON_SCREEN; - task->data[1] = 11; - task->data[2] = 14; - task->data[3] = 1; - task->data[4] = 15; - task->data[5] = 12; - task->data[6] = 0; - task->data[15] = taskId; + task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN; + task->tNumItems = 11; + task->tLeft = 14; + task->tTop = 1; + task->tWidth = 15; + task->tHeight = 12; + task->tKeepOpenAfterSelect = FALSE; + task->tTaskId = taskId; break; case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_2: - task->data[0] = MAX_SCROLL_MULTI_ON_SCREEN; - task->data[1] = 6; - task->data[2] = 14; - task->data[3] = 1; - task->data[4] = 15; - task->data[5] = 12; - task->data[6] = 0; - task->data[15] = taskId; + task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN; + task->tNumItems = 6; + task->tLeft = 14; + task->tTop = 1; + task->tWidth = 15; + task->tHeight = 12; + task->tKeepOpenAfterSelect = FALSE; + task->tTaskId = taskId; break; case SCROLL_MULTI_BF_EXCHANGE_CORNER_VITAMIN_VENDOR: - task->data[0] = MAX_SCROLL_MULTI_ON_SCREEN; - task->data[1] = 7; - task->data[2] = 14; - task->data[3] = 1; - task->data[4] = 15; - task->data[5] = 12; - task->data[6] = 0; - task->data[15] = taskId; + task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN; + task->tNumItems = 7; + task->tLeft = 14; + task->tTop = 1; + task->tWidth = 15; + task->tHeight = 12; + task->tKeepOpenAfterSelect = FALSE; + task->tTaskId = taskId; break; case SCROLL_MULTI_BF_EXCHANGE_CORNER_HOLD_ITEM_VENDOR: - task->data[0] = MAX_SCROLL_MULTI_ON_SCREEN; - task->data[1] = 10; - task->data[2] = 14; - task->data[3] = 1; - task->data[4] = 15; - task->data[5] = 12; - task->data[6] = 0; - task->data[15] = taskId; + task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN; + task->tNumItems = 10; + task->tLeft = 14; + task->tTop = 1; + task->tWidth = 15; + task->tHeight = 12; + task->tKeepOpenAfterSelect = FALSE; + task->tTaskId = taskId; break; case SCROLL_MULTI_BERRY_POWDER_VENDOR: - task->data[0] = MAX_SCROLL_MULTI_ON_SCREEN; - task->data[1] = 12; - task->data[2] = 15; - task->data[3] = 1; - task->data[4] = 14; - task->data[5] = 12; - task->data[6] = 0; - task->data[15] = taskId; + task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN; + task->tNumItems = 12; + task->tLeft = 15; + task->tTop = 1; + task->tWidth = 14; + task->tHeight = 12; + task->tKeepOpenAfterSelect = FALSE; + task->tTaskId = taskId; break; case SCROLL_MULTI_BF_RECEPTIONIST: - task->data[0] = MAX_SCROLL_MULTI_ON_SCREEN; - task->data[1] = 10; - task->data[2] = 17; - task->data[3] = 1; - task->data[4] = 11; - task->data[5] = 12; - task->data[6] = 0; - task->data[15] = taskId; + task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN; + task->tNumItems = 10; + task->tLeft = 17; + task->tTop = 1; + task->tWidth = 11; + task->tHeight = 12; + task->tKeepOpenAfterSelect = FALSE; + task->tTaskId = taskId; break; case SCROLL_MULTI_BF_MOVE_TUTOR_1: case SCROLL_MULTI_BF_MOVE_TUTOR_2: - task->data[0] = MAX_SCROLL_MULTI_ON_SCREEN; - task->data[1] = 11; - task->data[2] = 15; - task->data[3] = 1; - task->data[4] = 14; - task->data[5] = 12; - task->data[6] = 0; - task->data[15] = taskId; + task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN; + task->tNumItems = 11; + task->tLeft = 15; + task->tTop = 1; + task->tWidth = 14; + task->tHeight = 12; + task->tKeepOpenAfterSelect = FALSE; + task->tTaskId = taskId; break; case SCROLL_MULTI_SS_TIDAL_DESTINATION: - task->data[0] = MAX_SCROLL_MULTI_ON_SCREEN; - task->data[1] = 7; - task->data[2] = 19; - task->data[3] = 1; - task->data[4] = 10; - task->data[5] = 12; - task->data[6] = 0; - task->data[15] = taskId; + task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN; + task->tNumItems = 7; + task->tLeft = 19; + task->tTop = 1; + task->tWidth = 10; + task->tHeight = 12; + task->tKeepOpenAfterSelect = FALSE; + task->tTaskId = taskId; break; case SCROLL_MULTI_BATTLE_TENT_RULES: - task->data[0] = MAX_SCROLL_MULTI_ON_SCREEN; - task->data[1] = 7; - task->data[2] = 17; - task->data[3] = 1; - task->data[4] = 12; - task->data[5] = 12; - task->data[6] = 0; - task->data[15] = taskId; + task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN; + task->tNumItems = 7; + task->tLeft = 17; + task->tTop = 1; + task->tWidth = 12; + task->tHeight = 12; + task->tKeepOpenAfterSelect = FALSE; + task->tTaskId = taskId; break; default: - gSpecialVar_Result = 0x7F; + gSpecialVar_Result = MULTI_B_PRESSED; DestroyTask(taskId); break; } } -static const u8 *const sScrollableMenuOptions[][MAX_SCROLL_MULTI_LENGTH] = +static const u8 *const sScrollableMultichoiceOptions[][MAX_SCROLL_MULTI_LENGTH] = { [SCROLL_MULTI_NONE] = { @@ -2565,7 +2583,7 @@ static const u8 *const sScrollableMenuOptions[][MAX_SCROLL_MULTI_LENGTH] = static void Task_ShowScrollableMultichoice(u8 taskId) { - u32 unk1; + u32 width; u8 i, windowId; struct WindowTemplate template; struct Task *task = &gTasks[taskId]; @@ -2573,46 +2591,46 @@ static void Task_ShowScrollableMultichoice(u8 taskId) ScriptContext2_Enable(); sScrollableMultichoice_ScrollOffset = 0; sScrollableMultichoice_ItemSpriteId = MAX_SPRITES; - FillFrontierExchangeCornerWindowAndItemIcon(task->data[11], 0); - ShowBattleFrontierTutorWindow(task->data[11], 0); - sScrollableMultichoice_ListMenuItem = AllocZeroed(task->data[1] * 8); + FillFrontierExchangeCornerWindowAndItemIcon(task->tScrollMultiId, 0); + ShowBattleFrontierTutorWindow(task->tScrollMultiId, 0); + sScrollableMultichoice_ListMenuItem = AllocZeroed(task->tNumItems * 8); sFrontierExchangeCorner_NeverRead = 0; InitScrollableMultichoice(); - for (unk1 = 0, i = 0; i < task->data[1]; i++) + for (width = 0, i = 0; i < task->tNumItems; i++) { - const u8 *text = sScrollableMenuOptions[gSpecialVar_0x8004][i]; + const u8 *text = sScrollableMultichoiceOptions[gSpecialVar_0x8004][i]; sScrollableMultichoice_ListMenuItem[i].name = text; sScrollableMultichoice_ListMenuItem[i].id = i; - unk1 = display_text_and_get_width(text, unk1); + width = DisplayTextAndGetWidth(text, width); } - task->data[4] = convert_pixel_width_to_tile_width(unk1); + task->tWidth = ConvertPixelWidthToTileWidth(width); - if (task->data[2] + task->data[4] > 0x1D) + if (task->tLeft + task->tWidth > MAX_MULTICHOICE_WIDTH + 1) { - int unk2 = 0x1D - task->data[4]; - if (unk2 < 0) + int adjustedLeft = MAX_MULTICHOICE_WIDTH + 1 - task->tWidth; + if (adjustedLeft < 0) { - task->data[2] = 0; + task->tLeft = 0; } else { - task->data[2] = unk2; + task->tLeft = adjustedLeft; } } - template = CreateWindowTemplate(0, task->data[2], task->data[3], task->data[4], task->data[5], 0xF, 0x64); + template = CreateWindowTemplate(0, task->tLeft, task->tTop, task->tWidth, task->tHeight, 0xF, 0x64); windowId = AddWindow(&template); - task->data[13] = windowId; + task->tWindowId = windowId; SetStandardWindowBorderStyle(windowId, 0); - gScrollableMultichoice_ListMenuTemplate.totalItems = task->data[1]; - gScrollableMultichoice_ListMenuTemplate.maxShowed = task->data[0]; - gScrollableMultichoice_ListMenuTemplate.windowId = task->data[13]; + gScrollableMultichoice_ListMenuTemplate.totalItems = task->tNumItems; + gScrollableMultichoice_ListMenuTemplate.maxShowed = task->tMaxItemsOnScreen; + gScrollableMultichoice_ListMenuTemplate.windowId = task->tWindowId; ScrollableMultichoice_UpdateScrollArrows(taskId); - task->data[14] = ListMenuInit(&gScrollableMultichoice_ListMenuTemplate, task->data[7], task->data[8]); + task->tListTaskId = ListMenuInit(&gScrollableMultichoice_ListMenuTemplate, task->tScrollOffset, task->tSelectedRow); schedule_bg_copy_tilemap_to_vram(0); gTasks[taskId].func = ScrollableMultichoice_ProcessInput; } @@ -2648,12 +2666,12 @@ static void ScrollableMultichoice_MoveCursor(s32 itemIndex, bool8 onInit, struct { u16 selection; struct Task *task = &gTasks[taskId]; - ListMenuGetScrollAndRow(task->data[14], &selection, NULL); + ListMenuGetScrollAndRow(task->tListTaskId, &selection, NULL); sScrollableMultichoice_ScrollOffset = selection; - ListMenuGetCurrentItemArrayId(task->data[14], &selection); - HideFrontierExchangeCornerItemIcon(task->data[11], sFrontierExchangeCorner_NeverRead); - FillFrontierExchangeCornerWindowAndItemIcon(task->data[11], selection); - ShowBattleFrontierTutorMoveDescription(task->data[11], selection); + ListMenuGetCurrentItemArrayId(task->tListTaskId, &selection); + HideFrontierExchangeCornerItemIcon(task->tScrollMultiId, sFrontierExchangeCorner_NeverRead); + FillFrontierExchangeCornerWindowAndItemIcon(task->tScrollMultiId, selection); + ShowBattleFrontierTutorMoveDescription(task->tScrollMultiId, selection); sFrontierExchangeCorner_NeverRead = selection; } } @@ -2661,25 +2679,26 @@ static void ScrollableMultichoice_MoveCursor(s32 itemIndex, bool8 onInit, struct static void ScrollableMultichoice_ProcessInput(u8 taskId) { struct Task *task = &gTasks[taskId]; - s32 input = ListMenu_ProcessInput(task->data[14]); + s32 input = ListMenu_ProcessInput(task->tListTaskId); switch (input) { case LIST_NOTHING_CHOSEN: break; case LIST_CANCEL: - gSpecialVar_Result = 0x7F; + gSpecialVar_Result = MULTI_B_PRESSED; PlaySE(SE_SELECT); CloseScrollableMultichoice(taskId); break; default: gSpecialVar_Result = input; PlaySE(SE_SELECT); - if (!task->data[6]) + if (!task->tKeepOpenAfterSelect) { CloseScrollableMultichoice(taskId); } - else if (input == task->data[1] - 1) + // if selected option was the last one (Exit) + else if (input == task->tNumItems - 1) { CloseScrollableMultichoice(taskId); } @@ -2697,28 +2716,29 @@ static void CloseScrollableMultichoice(u8 taskId) { u16 selection; struct Task *task = &gTasks[taskId]; - ListMenuGetCurrentItemArrayId(task->data[14], &selection); - HideFrontierExchangeCornerItemIcon(task->data[11], selection); + ListMenuGetCurrentItemArrayId(task->tListTaskId, &selection); + HideFrontierExchangeCornerItemIcon(task->tScrollMultiId, selection); ScrollableMultichoice_RemoveScrollArrows(taskId); - DestroyListMenuTask(task->data[14], NULL, NULL); + DestroyListMenuTask(task->tListTaskId, NULL, NULL); Free(sScrollableMultichoice_ListMenuItem); - ClearStdWindowAndFrameToTransparent(task->data[13], 1); - FillWindowPixelBuffer(task->data[13], PIXEL_FILL(0)); - CopyWindowToVram(task->data[13], 2); - RemoveWindow(task->data[13]); + ClearStdWindowAndFrameToTransparent(task->tWindowId, 1); + FillWindowPixelBuffer(task->tWindowId, PIXEL_FILL(0)); + CopyWindowToVram(task->tWindowId, 2); + RemoveWindow(task->tWindowId); DestroyTask(taskId); EnableBothScriptContexts(); } +// Functionally unused; tKeepOpenAfterSelect is only != 0 in unused functions static void sub_813A600(u8 taskId) { - switch (gTasks[taskId].data[6]) + switch (gTasks[taskId].tKeepOpenAfterSelect) { case 1: default: break; case 2: - gTasks[taskId].data[6] = 1; + gTasks[taskId].tKeepOpenAfterSelect = 1; gTasks[taskId].func = sub_813A664; break; } @@ -2734,7 +2754,7 @@ void sub_813A630(void) } else { - gTasks[taskId].data[6]++; + gTasks[taskId].tKeepOpenAfterSelect++; } } @@ -2763,24 +2783,24 @@ static void ScrollableMultichoice_UpdateScrollArrows(u8 taskId) struct Task *task = &gTasks[taskId]; struct ScrollArrowsTemplate template = sScrollableMultichoice_ScrollArrowsTemplate; - if (task->data[0] != task->data[1]) + if (task->tMaxItemsOnScreen != task->data[1]) { - template.firstX = (task->data[4] / 2) * 8 + 12 + (task->data[2] - 1) * 8; + template.firstX = (task->tWidth / 2) * 8 + 12 + (task->tLeft - 1) * 8; template.firstY = 8; - template.secondX = (task->data[4] / 2) * 8 + 12 + (task->data[2] - 1) * 8; - template.secondY = task->data[5] * 8 + 10; + template.secondX = (task->tWidth / 2) * 8 + 12 + (task->tLeft - 1) * 8; + template.secondY = task->tHeight * 8 + 10; template.fullyUpThreshold = 0; - template.fullyDownThreshold = task->data[1] - task->data[0]; - task->data[12] = AddScrollIndicatorArrowPair(&template, &sScrollableMultichoice_ScrollOffset); + template.fullyDownThreshold = task->data[1] - task->tMaxItemsOnScreen; + task->tScrollArrowId = AddScrollIndicatorArrowPair(&template, &sScrollableMultichoice_ScrollOffset); } } static void ScrollableMultichoice_RemoveScrollArrows(u8 taskId) { struct Task *task = &gTasks[taskId]; - if (task->data[0] != task->data[1]) + if (task->tMaxItemsOnScreen != task->data[1]) { - RemoveScrollIndicatorArrowPair(task->data[12]); + RemoveScrollIndicatorArrowPair(task->tScrollArrowId); } } @@ -3041,7 +3061,7 @@ static void FillFrontierExchangeCornerWindowAndItemIcon(u16 menu, u16 selection) { #include "data/battle_frontier/battle_frontier_exchange_corner.h" - if (menu > SCROLL_MULTI_POKEMON_FAN_CLUB_RATER && menu < SCROLL_MULTI_BERRY_POWDER_VENDOR) + if (menu >= SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_1 && menu <= SCROLL_MULTI_BF_EXCHANGE_CORNER_HOLD_ITEM_VENDOR) { FillWindowPixelRect(0, PIXEL_FILL(1), 0, 0, 216, 32); switch (menu) @@ -3240,17 +3260,17 @@ void sub_813ADD4(void) if (taskId != 0xFF) { struct Task *task = &gTasks[taskId]; - ListMenuGetScrollAndRow(task->data[14], &scrollOffset, &selectedRow); - SetStandardWindowBorderStyle(task->data[13], 0); + ListMenuGetScrollAndRow(task->tListTaskId, &scrollOffset, &selectedRow); + SetStandardWindowBorderStyle(task->tWindowId, 0); for (i = 0; i < MAX_SCROLL_MULTI_ON_SCREEN; i++) { - AddTextPrinterParameterized5(task->data[13], 1, sScrollableMenuOptions[gSpecialVar_0x8004][scrollOffset + i], 10, i * 16, TEXT_SPEED_FF, NULL, 0, 0); + AddTextPrinterParameterized5(task->tWindowId, 1, sScrollableMultichoiceOptions[gSpecialVar_0x8004][scrollOffset + i], 10, i * 16, TEXT_SPEED_FF, NULL, 0, 0); } - AddTextPrinterParameterized(task->data[13], 1, gText_SelectorArrow, 0, selectedRow * 16, TEXT_SPEED_FF, NULL); - PutWindowTilemap(task->data[13]); - CopyWindowToVram(task->data[13], 3); + AddTextPrinterParameterized(task->tWindowId, 1, gText_SelectorArrow, 0, selectedRow * 16, TEXT_SPEED_FF, NULL); + PutWindowTilemap(task->tWindowId); + CopyWindowToVram(task->tWindowId, 3); } } @@ -3299,17 +3319,33 @@ void sub_813AF48(void) if (taskId != 0xFF) { struct Task *task = &gTasks[taskId]; - DestroyListMenuTask(task->data[14], NULL, NULL); + DestroyListMenuTask(task->tListTaskId, NULL, NULL); Free(sScrollableMultichoice_ListMenuItem); - ClearStdWindowAndFrameToTransparent(task->data[13], TRUE); - FillWindowPixelBuffer(task->data[13], PIXEL_FILL(0)); - ClearWindowTilemap(task->data[13]); - CopyWindowToVram(task->data[13], 2); - RemoveWindow(task->data[13]); + ClearStdWindowAndFrameToTransparent(task->tWindowId, TRUE); + FillWindowPixelBuffer(task->tWindowId, PIXEL_FILL(0)); + ClearWindowTilemap(task->tWindowId); + CopyWindowToVram(task->tWindowId, 2); + RemoveWindow(task->tWindowId); DestroyTask(taskId); } } +// Undefine Scrollable Multichoice task data macros +#undef tMaxItemsOnScreen +#undef tNumItems +#undef tLeft +#undef tTop +#undef tWidth +#undef tHeight +#undef tKeepOpenAfterSelect +#undef tScrollOffset +#undef tSelectedRow +#undef tScrollMultiId +#undef tScrollArrowId +#undef tWindowId +#undef tListTaskId +#undef tTaskId + void DoDeoxysRockInteraction(void) { CreateTask(Task_DeoxysRockInteraction, 8); diff --git a/src/hof_pc.c b/src/hof_pc.c index 01015ee81..327749179 100644 --- a/src/hof_pc.c +++ b/src/hof_pc.c @@ -27,7 +27,7 @@ static void ReshowPCMenuAfterHallOfFamePC(void) { ScriptContext2_Enable(); Overworld_PlaySpecialMapMusic(); - ScrSpecial_CreatePCMenu(); + ScriptMenu_CreatePCMultichoice(); ScriptMenu_DisplayPCStartupPrompt(); BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); CreateTask(Task_WaitForPaletteFade, 10); diff --git a/src/international_string_util.c b/src/international_string_util.c index 9dc795dd0..ec5057359 100644 --- a/src/international_string_util.c +++ b/src/international_string_util.c @@ -45,7 +45,7 @@ int GetMaxWidthInMenuTable(const struct MenuAction *str, int arg1) var = stringWidth; } - return convert_pixel_width_to_tile_width(var); + return ConvertPixelWidthToTileWidth(var); } int sub_81DB3D8(const struct MenuAction *str, const u8* arg1, int arg2) @@ -59,7 +59,7 @@ int sub_81DB3D8(const struct MenuAction *str, const u8* arg1, int arg2) var = stringWidth; } - return convert_pixel_width_to_tile_width(var); + return ConvertPixelWidthToTileWidth(var); } int Intl_GetListMenuWidth(const struct ListMenuTemplate *listMenu) diff --git a/src/mauville_old_man.c b/src/mauville_old_man.c index 64f04f3bc..a4d70c062 100644 --- a/src/mauville_old_man.c +++ b/src/mauville_old_man.c @@ -1155,7 +1155,7 @@ static void PrintStoryList(void) if (curWidth > width) width = curWidth; } - sStorytellerWindowId = CreateWindowFromRect(0, 0, convert_pixel_width_to_tile_width(width), GetFreeStorySlot() * 2 + 2); + sStorytellerWindowId = CreateWindowFromRect(0, 0, ConvertPixelWidthToTileWidth(width), GetFreeStorySlot() * 2 + 2); SetStandardWindowBorderStyle(sStorytellerWindowId, 0); for (i = 0; i < 4; i++) { diff --git a/src/script_menu.c b/src/script_menu.c index 070a04932..3a01bcb66 100644 --- a/src/script_menu.c +++ b/src/script_menu.c @@ -20,21 +20,21 @@ #include "data/script_menu.h" -EWRAM_DATA u8 gUnknown_02039F90 = 0; +EWRAM_DATA u8 gProcessInputDelay = 0; -static u8 gUnknown_03001124[ARRAY_COUNT(gSSTidalDestinations)]; -static u32 filler_0300112c; +static u8 sLilycoveSSTidalSelections[ARRAY_COUNT(gLilycoveSSTidalDestinations)]; +//static u32 filler_0300112c; static void Task_HandleMultichoiceInput(u8); static void Task_HandleYesNoInput(u8); static void Task_HandleMultichoiceGridInput(u8); static void DrawMultichoiceMenu(u8, u8, u8, bool8, u8); static void sub_80E1FBC(u8, u8, u8, u8); -static void sub_80E2A94(u8); -static void CreatePCMenu(void); -static void sub_80E2578(void); +static void DrawLinkServicesMultichoiceMenu(u8); +static void CreatePCMultichoice(void); +static void CreateLilycoveSSTidalMultichoice(void); static bool8 IsPicboxClosed(void); -static void CreateMultichoiceStartMenu(void); +static void CreateStartMenuForPokenavTutorial(void); static void sub_80E2CC4(u8, u8, u8, u8); bool8 ScriptMenu_Multichoice(u8 left, u8 top, u8 multichoiceId, u8 ignoreBPress) @@ -102,11 +102,11 @@ static void DrawMultichoiceMenu(u8 left, u8 top, u8 multichoiceId, u8 ignoreBPre for (i = 0; i < count; i++) { - width = display_text_and_get_width(actions[i].text, width); + width = DisplayTextAndGetWidth(actions[i].text, width); } - newWidth = convert_pixel_width_to_tile_width(width); - left = sub_80E2D5C(left, newWidth); + newWidth = ConvertPixelWidthToTileWidth(width); + left = ScriptMenu_AdjustLeftCoordFromWidth(left, newWidth); windowId = CreateWindowFromRect(left, top, newWidth, count * 2); SetStandardWindowBorderStyle(windowId, 0); PrintMenuTable(windowId, count, actions); @@ -128,13 +128,13 @@ static void sub_80E1FBC(u8 ignoreBPress, u8 count, u8 windowId, u8 multichoiceId { u8 i; u8 taskId; - gUnknown_02039F90 = 2; + gProcessInputDelay = 2; for (i = 0; i < ARRAY_COUNT(gLinkServicesMultichoiceIds); i++) { if (gLinkServicesMultichoiceIds[i] == multichoiceId) { - gUnknown_02039F90 = 12; + gProcessInputDelay = 12; } } @@ -150,7 +150,7 @@ static void sub_80E1FBC(u8 ignoreBPress, u8 count, u8 windowId, u8 multichoiceId gTasks[taskId].tWindowId = windowId; gTasks[taskId].tMultichoiceId = multichoiceId; - sub_80E2A94(multichoiceId); + DrawLinkServicesMultichoiceMenu(multichoiceId); } static void Task_HandleMultichoiceInput(u8 taskId) @@ -160,9 +160,9 @@ static void Task_HandleMultichoiceInput(u8 taskId) if (!gPaletteFade.active) { - if (gUnknown_02039F90) + if (gProcessInputDelay) { - gUnknown_02039F90--; + gProcessInputDelay--; } else { @@ -173,7 +173,7 @@ static void Task_HandleMultichoiceInput(u8 taskId) if (gMain.newKeys & (DPAD_UP | DPAD_DOWN)) { - sub_80E2A94(tMultichoiceId); + DrawLinkServicesMultichoiceMenu(tMultichoiceId); } if (selection != MENU_NOTHING_CHOSEN) @@ -266,12 +266,12 @@ bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, u8 ignoreBPr for (i = 0; i < gMultichoiceLists[multichoiceId].count; i++) { - width = display_text_and_get_width(gMultichoiceLists[multichoiceId].list[i].text, width); + width = DisplayTextAndGetWidth(gMultichoiceLists[multichoiceId].list[i].text, width); } - newWidth = convert_pixel_width_to_tile_width(width); + newWidth = ConvertPixelWidthToTileWidth(width); - left = sub_80E2D5C(left, columnCount * newWidth); + left = ScriptMenu_AdjustLeftCoordFromWidth(left, columnCount * newWidth); rowCount = gMultichoiceLists[multichoiceId].count / columnCount; taskId = CreateTask(Task_HandleMultichoiceGridInput, 80); @@ -313,7 +313,7 @@ static void Task_HandleMultichoiceGridInput(u8 taskId) #undef tWindowId -bool16 ScrSpecial_CreatePCMenu(void) +bool16 ScriptMenu_CreatePCMultichoice(void) { if (FuncIsActiveTask(Task_HandleMultichoiceInput) == TRUE) { @@ -322,12 +322,12 @@ bool16 ScrSpecial_CreatePCMenu(void) else { gSpecialVar_Result = 0xFF; - CreatePCMenu(); + CreatePCMultichoice(); return TRUE; } } -static void CreatePCMenu(void) +static void CreatePCMultichoice(void) { u8 y = 8; u32 pixelWidth = 0; @@ -338,15 +338,15 @@ static void CreatePCMenu(void) for (i = 0; i < ARRAY_COUNT(sPCNameStrings); i++) { - pixelWidth = display_text_and_get_width(sPCNameStrings[i], pixelWidth); + pixelWidth = DisplayTextAndGetWidth(sPCNameStrings[i], pixelWidth); } if (FlagGet(FLAG_SYS_GAME_CLEAR)) { - pixelWidth = display_text_and_get_width(gText_HallOfFame, pixelWidth); + pixelWidth = DisplayTextAndGetWidth(gText_HallOfFame, pixelWidth); } - width = convert_pixel_width_to_tile_width(pixelWidth); + width = ConvertPixelWidthToTileWidth(pixelWidth); if (FlagGet(FLAG_SYS_GAME_CLEAR)) // player has cleared game? { @@ -373,7 +373,7 @@ static void CreatePCMenu(void) PrintPlayerNameOnWindow(windowId, gStringVar4, y, 17); InitMenuInUpperLeftCornerPlaySoundWhenAPressed(windowId, numChoices, 0); CopyWindowToVram(windowId, 3); - sub_80E1FBC(FALSE, numChoices, windowId, 1); + sub_80E1FBC(FALSE, numChoices, windowId, MULTI_PC); } void ScriptMenu_DisplayPCStartupPrompt(void) @@ -382,7 +382,7 @@ void ScriptMenu_DisplayPCStartupPrompt(void) AddTextPrinterParameterized2(0, 1, gText_WhichPCShouldBeAccessed, 0, NULL, 2, 1, 3); } -bool8 sub_80E2548(void) +bool8 ScriptMenu_CreateLilycoveSSTidalMultichoice(void) { if (FuncIsActiveTask(Task_HandleMultichoiceInput) == TRUE) { @@ -391,14 +391,16 @@ bool8 sub_80E2548(void) else { gSpecialVar_Result = 0xFF; - sub_80E2578(); + CreateLilycoveSSTidalMultichoice(); return TRUE; } } -static void sub_80E2578(void) +// gSpecialVar_0x8004 is 1 if the Sailor was shown multiple event tickets at the same time +// otherwise gSpecialVar_0x8004 is 0 +static void CreateLilycoveSSTidalMultichoice(void) { - u8 temp = 0; + u8 selectionCount = 0; u8 count; u32 pixelWidth; u8 width; @@ -406,21 +408,22 @@ static void sub_80E2578(void) u8 i; u32 j; - for (i = 0; i < ARRAY_COUNT(gUnknown_03001124); i++) + for (i = 0; i < ARRAY_COUNT(sLilycoveSSTidalSelections); i++) { - gUnknown_03001124[i] = 0xFF; + sLilycoveSSTidalSelections[i] = 0xFF; } GetFontAttribute(1, FONTATTR_MAX_LETTER_WIDTH); if (gSpecialVar_0x8004 == 0) { - gUnknown_03001124[temp] = 0; - temp++; + sLilycoveSSTidalSelections[selectionCount] = SSTIDAL_SELECTION_SLATEPORT; + selectionCount++; + if (FlagGet(FLAG_MET_SCOTT_ON_SS_TIDAL) == TRUE) { - gUnknown_03001124[temp] = 1; - temp++; + sLilycoveSSTidalSelections[selectionCount] = SSTIDAL_SELECTION_BATTLE_FRONTIER; + selectionCount++; } } @@ -428,14 +431,14 @@ static void sub_80E2578(void) { if (gSpecialVar_0x8004 == 0) { - gUnknown_03001124[temp] = 2; - temp++; + sLilycoveSSTidalSelections[selectionCount] = SSTIDAL_SELECTION_SOUTHERN_ISLAND; + selectionCount++; } if (gSpecialVar_0x8004 == 1 && FlagGet(FLAG_HAS_EON_TICKET) == FALSE) { - gUnknown_03001124[temp] = 2; - temp++; + sLilycoveSSTidalSelections[selectionCount] = SSTIDAL_SELECTION_SOUTHERN_ISLAND; + selectionCount++; FlagSet(FLAG_HAS_EON_TICKET); } } @@ -444,14 +447,14 @@ static void sub_80E2578(void) { if (gSpecialVar_0x8004 == 0) { - gUnknown_03001124[temp] = 3; - temp++; + sLilycoveSSTidalSelections[selectionCount] = SSTIDAL_SELECTION_NAVEL_ROCK; + selectionCount++; } if (gSpecialVar_0x8004 == 1 && FlagGet(FLAG_HAS_MYSTIC_TICKET) == FALSE) { - gUnknown_03001124[temp] = 3; - temp++; + sLilycoveSSTidalSelections[selectionCount] = SSTIDAL_SELECTION_NAVEL_ROCK; + selectionCount++; FlagSet(FLAG_HAS_MYSTIC_TICKET); } } @@ -460,14 +463,14 @@ static void sub_80E2578(void) { if (gSpecialVar_0x8004 == 0) { - gUnknown_03001124[temp] = 4; - temp++; + sLilycoveSSTidalSelections[selectionCount] = SSTIDAL_SELECTION_BIRTH_ISLAND; + selectionCount++; } if (gSpecialVar_0x8004 == 1 && FlagGet(FLAG_HAS_AURORA_TICKET) == FALSE) { - gUnknown_03001124[temp] = 4; - temp++; + sLilycoveSSTidalSelections[selectionCount] = SSTIDAL_SELECTION_BIRTH_ISLAND; + selectionCount++; FlagSet(FLAG_HAS_AURORA_TICKET); } } @@ -476,28 +479,28 @@ static void sub_80E2578(void) { if (gSpecialVar_0x8004 == 0) { - gUnknown_03001124[temp] = 5; - temp++; + sLilycoveSSTidalSelections[selectionCount] = SSTIDAL_SELECTION_FARAWAY_ISLAND; + selectionCount++; } if (gSpecialVar_0x8004 == 1 && FlagGet(FLAG_HAS_OLD_SEA_MAP) == FALSE) { - gUnknown_03001124[temp] = 5; - temp++; + sLilycoveSSTidalSelections[selectionCount] = SSTIDAL_SELECTION_FARAWAY_ISLAND; + selectionCount++; FlagSet(FLAG_HAS_OLD_SEA_MAP); } } - gUnknown_03001124[temp] = 6; - temp++; + sLilycoveSSTidalSelections[selectionCount] = SSTIDAL_SELECTION_EXIT; + selectionCount++; if (gSpecialVar_0x8004 == 0 && FlagGet(FLAG_MET_SCOTT_ON_SS_TIDAL) == TRUE) { - count = temp; + count = selectionCount; } - count = temp; - if (count == 7) + count = selectionCount; + if (count == SSTIDAL_SELECTION_COUNT) { gSpecialVar_0x8004 = SCROLL_MULTI_SS_TIDAL_DESTINATION; ShowScrollableMultichoice(); @@ -506,39 +509,39 @@ static void sub_80E2578(void) { pixelWidth = 0; - for (j = 0; j < ARRAY_COUNT(gSSTidalDestinations); j++) + for (j = 0; j < ARRAY_COUNT(gLilycoveSSTidalDestinations); j++) { - u8 test = gUnknown_03001124[j]; - if (test != 0xFF) + u8 selection = sLilycoveSSTidalSelections[j]; + if (selection != 0xFF) { - pixelWidth = display_text_and_get_width(gSSTidalDestinations[test], pixelWidth); + pixelWidth = DisplayTextAndGetWidth(gLilycoveSSTidalDestinations[selection], pixelWidth); } } - width = convert_pixel_width_to_tile_width(pixelWidth); - windowId = CreateWindowFromRect(28 - width, (6 - count) * 2, width, count * 2); + width = ConvertPixelWidthToTileWidth(pixelWidth); + windowId = CreateWindowFromRect(MAX_MULTICHOICE_WIDTH - width, (6 - count) * 2, width, count * 2); SetStandardWindowBorderStyle(windowId, 0); - for (temp = 0, i = 0; i < ARRAY_COUNT(gSSTidalDestinations); i++) + for (selectionCount = 0, i = 0; i < ARRAY_COUNT(gLilycoveSSTidalDestinations); i++) { - if (gUnknown_03001124[i] != 0xFF) + if (sLilycoveSSTidalSelections[i] != 0xFF) { - AddTextPrinterParameterized(windowId, 1, gSSTidalDestinations[gUnknown_03001124[i]], 8, temp * 16 + 1, TEXT_SPEED_FF, NULL); - temp++; + AddTextPrinterParameterized(windowId, 1, gLilycoveSSTidalDestinations[sLilycoveSSTidalSelections[i]], 8, selectionCount * 16 + 1, TEXT_SPEED_FF, NULL); + selectionCount++; } } InitMenuInUpperLeftCornerPlaySoundWhenAPressed(windowId, count, count - 1); CopyWindowToVram(windowId, 3); - sub_80E1FBC(FALSE, count, windowId, 8); + sub_80E1FBC(FALSE, count, windowId, MULTI_SSTIDAL_LILYCOVE); } } -void sub_80E2878(void) +void GetLilycoveSSTidalSelection(void) { if (gSpecialVar_Result != MULTI_B_PRESSED) { - gSpecialVar_Result = gUnknown_03001124[gSpecialVar_Result]; + gSpecialVar_Result = sLilycoveSSTidalSelections[gSpecialVar_Result]; } } @@ -635,7 +638,7 @@ void ClearToTransparentAndRemoveWindow(u8 windowId) RemoveWindow(windowId); } -static void sub_80E2A94(u8 multichoiceId) +static void DrawLinkServicesMultichoiceMenu(u8 multichoiceId) { switch (multichoiceId) { @@ -666,19 +669,21 @@ static void sub_80E2A94(u8 multichoiceId) } } -bool16 CreateStartMenuForPokenavTutorial(void) +bool16 ScriptMenu_CreateStartMenuForPokenavTutorial(void) { if (FuncIsActiveTask(Task_HandleMultichoiceInput) == TRUE) { return FALSE; } - - gSpecialVar_Result = 0xFF; - CreateMultichoiceStartMenu(); - return TRUE; + else + { + gSpecialVar_Result = 0xFF; + CreateStartMenuForPokenavTutorial(); + return TRUE; + } } -static void CreateMultichoiceStartMenu(void) +static void CreateStartMenuForPokenavTutorial(void) { u8 windowId = CreateWindowFromRect(21, 0, 7, 18); SetStandardWindowBorderStyle(windowId, 0); @@ -700,7 +705,7 @@ static void CreateMultichoiceStartMenu(void) static void sub_80E2CC4(bool8 ignoreBPress, u8 unused, u8 windowId, u8 multichoiceId) { u8 taskId; - gUnknown_02039F90 = 2; + gProcessInputDelay = 2; taskId = CreateTask(Task_HandleMultichoiceInput, 80); gTasks[taskId].tIgnoreBPress = ignoreBPress; gTasks[taskId].tDoWrap = 0; @@ -717,16 +722,16 @@ static void sub_80E2CC4(bool8 ignoreBPress, u8 unused, u8 windowId, u8 multichoi #undef tWindowId #undef tMultichoiceId -static int display_text_and_get_width_internal(const u8 *str) +static int DisplayTextAndGetWidthInternal(const u8 *str) { u8 temp[64]; StringExpandPlaceholders(temp, str); return GetStringWidth(1, temp, 0); } -int display_text_and_get_width(const u8 *str, int prevMaxWidth) +int DisplayTextAndGetWidth(const u8 *str, int prevMaxWidth) { - int len = display_text_and_get_width_internal(str); + int len = DisplayTextAndGetWidthInternal(str); if (len < prevMaxWidth) { len = prevMaxWidth; @@ -734,30 +739,26 @@ int display_text_and_get_width(const u8 *str, int prevMaxWidth) return len; } -int convert_pixel_width_to_tile_width(int width) +int ConvertPixelWidthToTileWidth(int width) { - return (((width + 9) / 8) + 1) > 28 ? 28 : (((width + 9) / 8) + 1); + return (((width + 9) / 8) + 1) > MAX_MULTICHOICE_WIDTH ? MAX_MULTICHOICE_WIDTH : (((width + 9) / 8) + 1); } -int sub_80E2D5C(int a0, int a1) +int ScriptMenu_AdjustLeftCoordFromWidth(int left, int width) { - int ret = a0; + int adjustedLeft = left; - if (a0 + a1 > 28) + if (left + width > MAX_MULTICHOICE_WIDTH) { - if (28 - a1 < 0) + if (MAX_MULTICHOICE_WIDTH - width < 0) { - ret = 0; + adjustedLeft = 0; } else { - ret = 28 - a1; + adjustedLeft = MAX_MULTICHOICE_WIDTH - width; } } - else - { - ret = a0; - } - return ret; + return adjustedLeft; } diff --git a/src/strings.c b/src/strings.c index d423dd5b4..36674e875 100644 --- a/src/strings.c +++ b/src/strings.c @@ -601,8 +601,8 @@ const u8 gText_Phoebe[] = _("PHOEBE"); const u8 gText_Glacia[] = _("GLACIA"); const u8 gText_Petalburg[] = _("PETALBURG"); const u8 gText_Slateport[] = _("SLATEPORT"); -const u8 gText_Littleroot[] = _("LITTLEROOT"); //unused -const u8 gText_Lilycove[] = _("LILYCOVE"); //unused +const u8 gText_Littleroot[] = _("LITTLEROOT"); // Unused. Given the context, Briney may at one point have been able to sail the player here +const u8 gText_Lilycove[] = _("LILYCOVE"); // Unused. Given the context, Briney may at one point have been able to sail the player here const u8 gText_Dewford[] = _("DEWFORD"); const u8 gText_Enter2[] = _("ENTER"); const u8 gText_Info2[] = _("INFO"); diff --git a/src/trader.c b/src/trader.c index dcf1fa076..a3794a539 100644 --- a/src/trader.c +++ b/src/trader.c @@ -71,7 +71,7 @@ void CreateAvailableDecorationsMenu(u8 taskId) if (curWidth > windowWidth) windowWidth = curWidth; } - windowTemplate.width = convert_pixel_width_to_tile_width(windowWidth); + windowTemplate.width = ConvertPixelWidthToTileWidth(windowWidth); data[3] = AddWindow(&windowTemplate); DrawStdFrameWithCustomTileAndPalette(data[3], FALSE, 0x214, 14); for (i = 0; i < 4; i++) -- cgit v1.2.3 From 9fb24bbbce150809430a8728d239a8b095e10120 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Thu, 19 Sep 2019 18:31:09 -0400 Subject: Remainder of script_menu documentation --- src/data/script_menu.h | 249 +++++++++++++++++++++++++------------------------ src/field_specials.c | 1 - src/script_menu.c | 75 +++++++-------- 3 files changed, 163 insertions(+), 162 deletions(-) (limited to 'src') diff --git a/src/data/script_menu.h b/src/data/script_menu.h index 382410652..8e3877b46 100644 --- a/src/data/script_menu.h +++ b/src/data/script_menu.h @@ -288,7 +288,7 @@ const struct MenuAction MultichoiceList_HowsFishing[] = {gText_NotSoGood}, }; -const struct MenuAction MultichoiceList_SSTidalSlateport1[] = +const struct MenuAction MultichoiceList_SSTidalSlateportWithBF[] = { {gText_LilycoveCity}, {gText_BattleFrontier}, @@ -308,7 +308,7 @@ const struct MenuAction MultichoiceList_RightLeft[] = {gText_Left}, }; -const struct MenuAction MultichoiceList_SSTidalSlateport2[] = +const struct MenuAction MultichoiceList_SSTidalSlateportNoBF[] = { {gText_LilycoveCity}, {gText_Exit}, @@ -784,120 +784,120 @@ struct MultichoiceListStruct const struct MultichoiceListStruct gMultichoiceLists[] = { - [MULTI_BRINEY_ON_DEWFORD] = MULTICHOICE(MultichoiceList_BrineyOnDewford), - [MULTI_PC] = MULTICHOICE(MultichoiceList_Exit), - [MULTI_ENTERINFO] = MULTICHOICE(MultichoiceList_EnterInfo), - [MULTI_CONTEST_INFO] = MULTICHOICE(MultichoiceList_ContestInfo), - [MULTI_CONTEST_TYPE] = MULTICHOICE(MultichoiceList_ContestType), - [MULTI_DECOR_NOREGISTRY] = MULTICHOICE(MultichoiceList_DecorNoRegistry), - [MULTI_DECOR_REGISTRY] = MULTICHOICE(MultichoiceList_DecorRegistry), - [MULTI_REGISTER_MENU] = MULTICHOICE(MultichoiceList_RegisterMenu), - [MULTI_SSTIDAL_LILYCOVE] = MULTICHOICE(MultichoiceList_Exit), - [MULTI_UNUSED_9] = MULTICHOICE(MultichoiceList_Exit), - [MULTI_UNUSED_10] = MULTICHOICE(MultichoiceList_Exit), - [MULTI_FRONTIER_PASS_INFO] = MULTICHOICE(MultichoiceList_FrontierPassInfo), - [MULTI_BIKE] = MULTICHOICE(MultichoiceList_Bike), - [MULTI_STATUS_INFO] = MULTICHOICE(MultichoiceList_StatusInfo), - [MULTI_BRINEY_OFF_DEWFORD] = MULTICHOICE(MultichoiceList_BrineyOffDewford), - [MULTI_UNUSED_15] = MULTICHOICE(MultichoiceList_Exit), - [MULTI_VIEWED_PAINTINGS] = MULTICHOICE(MultichoiceList_ViewedPaintings), - [MULTI_YESNOINFO] = MULTICHOICE(MultichoiceList_YesNoInfo), - [MULTI_BATTLE_MODE] = MULTICHOICE(MultichoiceList_BattleMode), - [MULTI_UNUSED_19] = MULTICHOICE(MultichoiceList_Exit), - [MULTI_YESNOINFO_2] = MULTICHOICE(MultichoiceList_YesNoInfo2), - [MULTI_UNUSED_21] = MULTICHOICE(MultichoiceList_Exit), - [MULTI_UNUSED_22] = MULTICHOICE(MultichoiceList_Exit), - [MULTI_CHALLENGEINFO] = MULTICHOICE(MultichoiceList_ChallengeInfo), - [MULTI_LEVEL_MODE] = MULTICHOICE(MultichoiceList_LevelMode), - [MULTI_MECHADOLL1_Q1] = MULTICHOICE(MultichoiceList_Mechadoll1_Q1), - [MULTI_MECHADOLL1_Q2] = MULTICHOICE(MultichoiceList_Mechadoll1_Q2), - [MULTI_MECHADOLL1_Q3] = MULTICHOICE(MultichoiceList_Mechadoll1_Q3), - [MULTI_MECHADOLL2_Q1] = MULTICHOICE(MultichoiceList_Mechadoll2_Q1), - [MULTI_MECHADOLL2_Q2] = MULTICHOICE(MultichoiceList_Mechadoll2_Q2), - [MULTI_MECHADOLL2_Q3] = MULTICHOICE(MultichoiceList_Mechadoll2_Q3), - [MULTI_MECHADOLL3_Q1] = MULTICHOICE(MultichoiceList_Mechadoll3_Q1), - [MULTI_MECHADOLL3_Q2] = MULTICHOICE(MultichoiceList_Mechadoll3_Q2), - [MULTI_MECHADOLL3_Q3] = MULTICHOICE(MultichoiceList_Mechadoll3_Q3), - [MULTI_MECHADOLL4_Q1] = MULTICHOICE(MultichoiceList_Mechadoll4_Q1), - [MULTI_MECHADOLL4_Q2] = MULTICHOICE(MultichoiceList_Mechadoll4_Q2), - [MULTI_MECHADOLL4_Q3] = MULTICHOICE(MultichoiceList_Mechadoll4_Q3), - [MULTI_MECHADOLL5_Q1] = MULTICHOICE(MultichoiceList_Mechadoll5_Q1), - [MULTI_MECHADOLL5_Q2] = MULTICHOICE(MultichoiceList_Mechadoll5_Q2), - [MULTI_MECHADOLL5_Q3] = MULTICHOICE(MultichoiceList_Mechadoll5_Q3), - [MULTI_UNUSED_40] = MULTICHOICE(MultichoiceList_Exit), - [MULTI_UNUSED_41] = MULTICHOICE(MultichoiceList_Exit), - [MULTI_VENDING_MACHINE] = MULTICHOICE(MultichoiceList_VendingMachine), - [MULTI_MACH_BIKE_INFO] = MULTICHOICE(MultichoiceList_MachBikeInfo), - [MULTI_ACRO_BIKE_INFO] = MULTICHOICE(MultichoiceList_AcroBikeInfo), - [MULTI_SATISFACTION] = MULTICHOICE(MultichoiceList_Satisfaction), - [MULTI_STERN_DEEPSEA] = MULTICHOICE(MultichoiceList_SternDeepSea), - [MULTI_UNUSED_ASH_VENDOR] = MULTICHOICE(MultichoiceList_UnusedAshVendor), - [MULTI_GAME_CORNER_DOLLS] = MULTICHOICE(MultichoiceList_GameCornerDolls), - [MULTI_GAME_CORNER_COINS] = MULTICHOICE(MultichoiceList_GameCornerCoins), - [MULTI_HOWS_FISHING] = MULTICHOICE(MultichoiceList_HowsFishing), - [MULTI_UNUSED_51] = MULTICHOICE(MultichoiceList_Exit), - [MULTI_SSTIDAL_SLATEPORT_1] = MULTICHOICE(MultichoiceList_SSTidalSlateport1), - [MULTI_SSTIDAL_BATTLE_FRONTIER] = MULTICHOICE(MultichoiceList_SSTidalBattleFrontier), - [MULTI_RIGHTLEFT] = MULTICHOICE(MultichoiceList_RightLeft), - [MULTI_GAME_CORNER_TMS] = MULTICHOICE(MultichoiceList_GameCornerTMs), - [MULTI_SSTIDAL_SLATEPORT_2] = MULTICHOICE(MultichoiceList_SSTidalSlateport2), - [MULTI_FLOORS] = MULTICHOICE(MultichoiceList_Floors), - [MULTI_SHARDS_R] = MULTICHOICE(MultichoiceList_ShardsR), - [MULTI_SHARDS_Y] = MULTICHOICE(MultichoiceList_ShardsY), - [MULTI_SHARDS_RY] = MULTICHOICE(MultichoiceList_ShardsRY), - [MULTI_SHARDS_B] = MULTICHOICE(MultichoiceList_ShardsB), - [MULTI_SHARDS_RB] = MULTICHOICE(MultichoiceList_ShardsRB), - [MULTI_SHARDS_YB] = MULTICHOICE(MultichoiceList_ShardsYB), - [MULTI_SHARDS_RYB] = MULTICHOICE(MultichoiceList_ShardsRYB), - [MULTI_SHARDS_G] = MULTICHOICE(MultichoiceList_ShardsG), - [MULTI_SHARDS_RG] = MULTICHOICE(MultichoiceList_ShardsRG), - [MULTI_SHARDS_YG] = MULTICHOICE(MultichoiceList_ShardsYG), - [MULTI_SHARDS_RYG] = MULTICHOICE(MultichoiceList_ShardsRYG), - [MULTI_SHARDS_BG] = MULTICHOICE(MultichoiceList_ShardsBG), - [MULTI_SHARDS_RBG] = MULTICHOICE(MultichoiceList_ShardsRBG), - [MULTI_SHARDS_YBG] = MULTICHOICE(MultichoiceList_ShardsYBG), - [MULTI_SHARDS_RYBG] = MULTICHOICE(MultichoiceList_ShardsRYBG), - [MULTI_TOURNEY_WITH_RECORD] = MULTICHOICE(MultichoiceList_TourneyWithRecord), - [MULTI_LINK_SERVICES_A1] = MULTICHOICE(MultichoiceList_LinkServicesA), - [MULTI_LINK_SERVICES_A2] = MULTICHOICE(MultichoiceList_LinkServicesA), - [MULTI_LINK_SERVICES_B1] = MULTICHOICE(MultichoiceList_LinkServicesB), - [MULTI_LINK_SERVICES_B2] = MULTICHOICE(MultichoiceList_LinkServicesB), - [MULTI_LINK_SERVICES_C] = MULTICHOICE(MultichoiceList_LinkServicesC), - [MULTI_LINK_SERVICES_D] = MULTICHOICE(MultichoiceList_LinkServicesD), - [MULTI_WIRELESS_MINIGAME] = MULTICHOICE(MultichoiceList_WirelessMinigame), - [MULTI_LINK_LEADER] = MULTICHOICE(MultichoiceList_LinkLeader), - [MULTI_CONTEST_RANK] = MULTICHOICE(MultichoiceList_ContestRank), - [MULTI_FRONTIER_ITEM_CHOOSE] = MULTICHOICE(MultichoiceList_FrontierItemChoose), - [MULTI_LINK_CONTEST_INFO] = MULTICHOICE(MultichoiceList_LinkContestInfo), - [MULTI_LINK_CONTEST_MODE] = MULTICHOICE(MultichoiceList_LinkContestMode), - [MULTI_FORCED_START_MENU] = MULTICHOICE(MultichoiceList_ForcedStartMenu), - [MULTI_FRONTIER_GAMBLER_BET] = MULTICHOICE(MultichoiceList_FrontierGamblerBet), - [MULTI_TENT] = MULTICHOICE(MultichoiceList_Tent), - [MULTI_UNUSED_SSTIDAL_1] = MULTICHOICE(MultichoiceList_UnusedSSTidal1), - [MULTI_UNUSED_SSTIDAL_2] = MULTICHOICE(MultichoiceList_UnusedSSTidal2), - [MULTI_UNUSED_SSTIDAL_3] = MULTICHOICE(MultichoiceList_UnusedSSTidal3), - [MULTI_UNUSED_SSTIDAL_4] = MULTICHOICE(MultichoiceList_UnusedSSTidal4), - [MULTI_FOSSIL] = MULTICHOICE(MultichoiceList_Fossil), - [MULTI_YESNO] = MULTICHOICE(MultichoiceList_YesNo), - [MULTI_FRONTIER_RULES] = MULTICHOICE(MultichoiceList_FrontierRules), - [MULTI_BATTLE_ARENA_RULES] = MULTICHOICE(MultichoiceList_BattleArenaRules), - [MULTI_BATTLE_TOWER_RULES] = MULTICHOICE(MultichoiceList_BattleTowerRules), - [MULTI_BATTLE_DOME_RULES] = MULTICHOICE(MultichoiceList_BattleDomeRules), - [MULTI_BATTLE_FACTORY_RULES] = MULTICHOICE(MultichoiceList_BattleFactoryRules), - [MULTI_BATTLE_PALACE_RULES] = MULTICHOICE(MultichoiceList_BattlePalaceRules), - [MULTI_BATTLE_PYRAMID_RULES] = MULTICHOICE(MultichoiceList_BattlePyramidRules), - [MULTI_BATTLE_PIKE_RULES] = MULTICHOICE(MultichoiceList_BattlePikeRules), - [MULTI_GO_ON_RECORD_REST_RETIRE] = MULTICHOICE(MultichoiceList_GoOnRecordRestRetire), - [MULTI_GO_ON_REST_RETIRE] = MULTICHOICE(MultichoiceList_GoOnRestRetire), - [MULTI_GO_ON_RECORD_RETIRE] = MULTICHOICE(MultichoiceList_GoOnRecordRetire), - [MULTI_GO_ON_RETIRE] = MULTICHOICE(MultichoiceList_GoOnRetire), - [MULTI_TOURNEY_NO_RECORD] = MULTICHOICE(MultichoiceList_TourneyNoRecord), - [MULTI_TV_LATI] = MULTICHOICE(MultichoiceList_TVLati), - [MULTI_BATTLE_TOWER_FEELINGS] = MULTICHOICE(MultichoiceList_BattleTowerFeelings), - [MULTI_WHERES_RAYQUAZA] = MULTICHOICE(MultichoiceList_WheresRayquaza), - [MULTI_SLATEPORT_TENT_RULES] = MULTICHOICE(MultichoiceList_SlateportTentRules), - [MULTI_FALLARBOR_TENT_RULES] = MULTICHOICE(MultichoiceList_FallarborTentRules), - [MULTI_TAG_MATCH_TYPE] = MULTICHOICE(MultichoiceList_TagMatchType), + [MULTI_BRINEY_ON_DEWFORD] = MULTICHOICE(MultichoiceList_BrineyOnDewford), + [MULTI_PC] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_ENTERINFO] = MULTICHOICE(MultichoiceList_EnterInfo), + [MULTI_CONTEST_INFO] = MULTICHOICE(MultichoiceList_ContestInfo), + [MULTI_CONTEST_TYPE] = MULTICHOICE(MultichoiceList_ContestType), + [MULTI_DECOR_NOREGISTRY] = MULTICHOICE(MultichoiceList_DecorNoRegistry), + [MULTI_DECOR_REGISTRY] = MULTICHOICE(MultichoiceList_DecorRegistry), + [MULTI_REGISTER_MENU] = MULTICHOICE(MultichoiceList_RegisterMenu), + [MULTI_SSTIDAL_LILYCOVE] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_UNUSED_9] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_UNUSED_10] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_FRONTIER_PASS_INFO] = MULTICHOICE(MultichoiceList_FrontierPassInfo), + [MULTI_BIKE] = MULTICHOICE(MultichoiceList_Bike), + [MULTI_STATUS_INFO] = MULTICHOICE(MultichoiceList_StatusInfo), + [MULTI_BRINEY_OFF_DEWFORD] = MULTICHOICE(MultichoiceList_BrineyOffDewford), + [MULTI_UNUSED_15] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_VIEWED_PAINTINGS] = MULTICHOICE(MultichoiceList_ViewedPaintings), + [MULTI_YESNOINFO] = MULTICHOICE(MultichoiceList_YesNoInfo), + [MULTI_BATTLE_MODE] = MULTICHOICE(MultichoiceList_BattleMode), + [MULTI_UNUSED_19] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_YESNOINFO_2] = MULTICHOICE(MultichoiceList_YesNoInfo2), + [MULTI_UNUSED_21] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_UNUSED_22] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_CHALLENGEINFO] = MULTICHOICE(MultichoiceList_ChallengeInfo), + [MULTI_LEVEL_MODE] = MULTICHOICE(MultichoiceList_LevelMode), + [MULTI_MECHADOLL1_Q1] = MULTICHOICE(MultichoiceList_Mechadoll1_Q1), + [MULTI_MECHADOLL1_Q2] = MULTICHOICE(MultichoiceList_Mechadoll1_Q2), + [MULTI_MECHADOLL1_Q3] = MULTICHOICE(MultichoiceList_Mechadoll1_Q3), + [MULTI_MECHADOLL2_Q1] = MULTICHOICE(MultichoiceList_Mechadoll2_Q1), + [MULTI_MECHADOLL2_Q2] = MULTICHOICE(MultichoiceList_Mechadoll2_Q2), + [MULTI_MECHADOLL2_Q3] = MULTICHOICE(MultichoiceList_Mechadoll2_Q3), + [MULTI_MECHADOLL3_Q1] = MULTICHOICE(MultichoiceList_Mechadoll3_Q1), + [MULTI_MECHADOLL3_Q2] = MULTICHOICE(MultichoiceList_Mechadoll3_Q2), + [MULTI_MECHADOLL3_Q3] = MULTICHOICE(MultichoiceList_Mechadoll3_Q3), + [MULTI_MECHADOLL4_Q1] = MULTICHOICE(MultichoiceList_Mechadoll4_Q1), + [MULTI_MECHADOLL4_Q2] = MULTICHOICE(MultichoiceList_Mechadoll4_Q2), + [MULTI_MECHADOLL4_Q3] = MULTICHOICE(MultichoiceList_Mechadoll4_Q3), + [MULTI_MECHADOLL5_Q1] = MULTICHOICE(MultichoiceList_Mechadoll5_Q1), + [MULTI_MECHADOLL5_Q2] = MULTICHOICE(MultichoiceList_Mechadoll5_Q2), + [MULTI_MECHADOLL5_Q3] = MULTICHOICE(MultichoiceList_Mechadoll5_Q3), + [MULTI_UNUSED_40] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_UNUSED_41] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_VENDING_MACHINE] = MULTICHOICE(MultichoiceList_VendingMachine), + [MULTI_MACH_BIKE_INFO] = MULTICHOICE(MultichoiceList_MachBikeInfo), + [MULTI_ACRO_BIKE_INFO] = MULTICHOICE(MultichoiceList_AcroBikeInfo), + [MULTI_SATISFACTION] = MULTICHOICE(MultichoiceList_Satisfaction), + [MULTI_STERN_DEEPSEA] = MULTICHOICE(MultichoiceList_SternDeepSea), + [MULTI_UNUSED_ASH_VENDOR] = MULTICHOICE(MultichoiceList_UnusedAshVendor), + [MULTI_GAME_CORNER_DOLLS] = MULTICHOICE(MultichoiceList_GameCornerDolls), + [MULTI_GAME_CORNER_COINS] = MULTICHOICE(MultichoiceList_GameCornerCoins), + [MULTI_HOWS_FISHING] = MULTICHOICE(MultichoiceList_HowsFishing), + [MULTI_UNUSED_51] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_SSTIDAL_SLATEPORT_WITH_BF] = MULTICHOICE(MultichoiceList_SSTidalSlateportWithBF), + [MULTI_SSTIDAL_BATTLE_FRONTIER] = MULTICHOICE(MultichoiceList_SSTidalBattleFrontier), + [MULTI_RIGHTLEFT] = MULTICHOICE(MultichoiceList_RightLeft), + [MULTI_GAME_CORNER_TMS] = MULTICHOICE(MultichoiceList_GameCornerTMs), + [MULTI_SSTIDAL_SLATEPORT_NO_BF] = MULTICHOICE(MultichoiceList_SSTidalSlateportNoBF), + [MULTI_FLOORS] = MULTICHOICE(MultichoiceList_Floors), + [MULTI_SHARDS_R] = MULTICHOICE(MultichoiceList_ShardsR), + [MULTI_SHARDS_Y] = MULTICHOICE(MultichoiceList_ShardsY), + [MULTI_SHARDS_RY] = MULTICHOICE(MultichoiceList_ShardsRY), + [MULTI_SHARDS_B] = MULTICHOICE(MultichoiceList_ShardsB), + [MULTI_SHARDS_RB] = MULTICHOICE(MultichoiceList_ShardsRB), + [MULTI_SHARDS_YB] = MULTICHOICE(MultichoiceList_ShardsYB), + [MULTI_SHARDS_RYB] = MULTICHOICE(MultichoiceList_ShardsRYB), + [MULTI_SHARDS_G] = MULTICHOICE(MultichoiceList_ShardsG), + [MULTI_SHARDS_RG] = MULTICHOICE(MultichoiceList_ShardsRG), + [MULTI_SHARDS_YG] = MULTICHOICE(MultichoiceList_ShardsYG), + [MULTI_SHARDS_RYG] = MULTICHOICE(MultichoiceList_ShardsRYG), + [MULTI_SHARDS_BG] = MULTICHOICE(MultichoiceList_ShardsBG), + [MULTI_SHARDS_RBG] = MULTICHOICE(MultichoiceList_ShardsRBG), + [MULTI_SHARDS_YBG] = MULTICHOICE(MultichoiceList_ShardsYBG), + [MULTI_SHARDS_RYBG] = MULTICHOICE(MultichoiceList_ShardsRYBG), + [MULTI_TOURNEY_WITH_RECORD] = MULTICHOICE(MultichoiceList_TourneyWithRecord), + [MULTI_LINK_SERVICES_A1] = MULTICHOICE(MultichoiceList_LinkServicesA), + [MULTI_LINK_SERVICES_A2] = MULTICHOICE(MultichoiceList_LinkServicesA), + [MULTI_LINK_SERVICES_B1] = MULTICHOICE(MultichoiceList_LinkServicesB), + [MULTI_LINK_SERVICES_B2] = MULTICHOICE(MultichoiceList_LinkServicesB), + [MULTI_LINK_SERVICES_C] = MULTICHOICE(MultichoiceList_LinkServicesC), + [MULTI_LINK_SERVICES_D] = MULTICHOICE(MultichoiceList_LinkServicesD), + [MULTI_WIRELESS_MINIGAME] = MULTICHOICE(MultichoiceList_WirelessMinigame), + [MULTI_LINK_LEADER] = MULTICHOICE(MultichoiceList_LinkLeader), + [MULTI_CONTEST_RANK] = MULTICHOICE(MultichoiceList_ContestRank), + [MULTI_FRONTIER_ITEM_CHOOSE] = MULTICHOICE(MultichoiceList_FrontierItemChoose), + [MULTI_LINK_CONTEST_INFO] = MULTICHOICE(MultichoiceList_LinkContestInfo), + [MULTI_LINK_CONTEST_MODE] = MULTICHOICE(MultichoiceList_LinkContestMode), + [MULTI_FORCED_START_MENU] = MULTICHOICE(MultichoiceList_ForcedStartMenu), + [MULTI_FRONTIER_GAMBLER_BET] = MULTICHOICE(MultichoiceList_FrontierGamblerBet), + [MULTI_TENT] = MULTICHOICE(MultichoiceList_Tent), + [MULTI_UNUSED_SSTIDAL_1] = MULTICHOICE(MultichoiceList_UnusedSSTidal1), + [MULTI_UNUSED_SSTIDAL_2] = MULTICHOICE(MultichoiceList_UnusedSSTidal2), + [MULTI_UNUSED_SSTIDAL_3] = MULTICHOICE(MultichoiceList_UnusedSSTidal3), + [MULTI_UNUSED_SSTIDAL_4] = MULTICHOICE(MultichoiceList_UnusedSSTidal4), + [MULTI_FOSSIL] = MULTICHOICE(MultichoiceList_Fossil), + [MULTI_YESNO] = MULTICHOICE(MultichoiceList_YesNo), + [MULTI_FRONTIER_RULES] = MULTICHOICE(MultichoiceList_FrontierRules), + [MULTI_BATTLE_ARENA_RULES] = MULTICHOICE(MultichoiceList_BattleArenaRules), + [MULTI_BATTLE_TOWER_RULES] = MULTICHOICE(MultichoiceList_BattleTowerRules), + [MULTI_BATTLE_DOME_RULES] = MULTICHOICE(MultichoiceList_BattleDomeRules), + [MULTI_BATTLE_FACTORY_RULES] = MULTICHOICE(MultichoiceList_BattleFactoryRules), + [MULTI_BATTLE_PALACE_RULES] = MULTICHOICE(MultichoiceList_BattlePalaceRules), + [MULTI_BATTLE_PYRAMID_RULES] = MULTICHOICE(MultichoiceList_BattlePyramidRules), + [MULTI_BATTLE_PIKE_RULES] = MULTICHOICE(MultichoiceList_BattlePikeRules), + [MULTI_GO_ON_RECORD_REST_RETIRE] = MULTICHOICE(MultichoiceList_GoOnRecordRestRetire), + [MULTI_GO_ON_REST_RETIRE] = MULTICHOICE(MultichoiceList_GoOnRestRetire), + [MULTI_GO_ON_RECORD_RETIRE] = MULTICHOICE(MultichoiceList_GoOnRecordRetire), + [MULTI_GO_ON_RETIRE] = MULTICHOICE(MultichoiceList_GoOnRetire), + [MULTI_TOURNEY_NO_RECORD] = MULTICHOICE(MultichoiceList_TourneyNoRecord), + [MULTI_TV_LATI] = MULTICHOICE(MultichoiceList_TVLati), + [MULTI_BATTLE_TOWER_FEELINGS] = MULTICHOICE(MultichoiceList_BattleTowerFeelings), + [MULTI_WHERES_RAYQUAZA] = MULTICHOICE(MultichoiceList_WheresRayquaza), + [MULTI_SLATEPORT_TENT_RULES] = MULTICHOICE(MultichoiceList_SlateportTentRules), + [MULTI_FALLARBOR_TENT_RULES] = MULTICHOICE(MultichoiceList_FallarborTentRules), + [MULTI_TAG_MATCH_TYPE] = MULTICHOICE(MultichoiceList_TagMatchType), }; const u8 *const gStdStrings[] = @@ -952,17 +952,18 @@ const u8 *const sPCNameStrings[] = gText_LogOff, }; -const u8 *const gLilycoveSSTidalDestinations[] = +const u8 *const gLilycoveSSTidalDestinations[SSTIDAL_SELECTION_COUNT] = { - gText_SlateportCity, - gText_BattleFrontier, - gText_SouthernIsland, - gText_NavelRock, - gText_BirthIsland, - gText_FarawayIsland, - gText_Exit, + [SSTIDAL_SELECTION_SLATEPORT] = gText_SlateportCity, + [SSTIDAL_SELECTION_BATTLE_FRONTIER] = gText_BattleFrontier, + [SSTIDAL_SELECTION_SOUTHERN_ISLAND] = gText_SouthernIsland, + [SSTIDAL_SELECTION_NAVEL_ROCK] = gText_NavelRock, + [SSTIDAL_SELECTION_BIRTH_ISLAND] = gText_BirthIsland, + [SSTIDAL_SELECTION_FARAWAY_ISLAND] = gText_FarawayIsland, + [SSTIDAL_SELECTION_EXIT] = gText_Exit, }; +// TODO: name const u8 *const gUnknown_0858BB9C[] = { CableClub_Text_TradeUsingLinkCable, diff --git a/src/field_specials.c b/src/field_specials.c index d1fb49610..f20e38c8b 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -83,7 +83,6 @@ static EWRAM_DATA u8 sPCBoxToSendMon = 0; static EWRAM_DATA u32 sUnknown_0203AB70 = 0; struct ListMenuTemplate gScrollableMultichoice_ListMenuTemplate; -static const u8 *const sScrollableMultichoiceOptions[][MAX_SCROLL_MULTI_LENGTH]; extern const u16 gEventObjectPalette8[]; extern const u16 gEventObjectPalette17[]; diff --git a/src/script_menu.c b/src/script_menu.c index 3a01bcb66..cc4d45df0 100644 --- a/src/script_menu.c +++ b/src/script_menu.c @@ -20,24 +20,23 @@ #include "data/script_menu.h" -EWRAM_DATA u8 gProcessInputDelay = 0; +static EWRAM_DATA u8 sProcessInputDelay = 0; -static u8 sLilycoveSSTidalSelections[ARRAY_COUNT(gLilycoveSSTidalDestinations)]; -//static u32 filler_0300112c; +static u8 sLilycoveSSTidalSelections[SSTIDAL_SELECTION_COUNT]; -static void Task_HandleMultichoiceInput(u8); -static void Task_HandleYesNoInput(u8); -static void Task_HandleMultichoiceGridInput(u8); -static void DrawMultichoiceMenu(u8, u8, u8, bool8, u8); -static void sub_80E1FBC(u8, u8, u8, u8); -static void DrawLinkServicesMultichoiceMenu(u8); +static void Task_HandleMultichoiceInput(u8 taskId); +static void Task_HandleYesNoInput(u8 taskId); +static void Task_HandleMultichoiceGridInput(u8 taskId); +static void DrawMultichoiceMenu(u8 left, u8 top, u8 multichoiceId, bool8 ignoreBPress, u8 cursorPos); +static void InitMultichoiceCheckWrap(bool8 ignoreBPress, u8 count, u8 windowId, u8 multichoiceId); +static void DrawLinkServicesMultichoiceMenu(u8 multichoiceId); static void CreatePCMultichoice(void); static void CreateLilycoveSSTidalMultichoice(void); static bool8 IsPicboxClosed(void); static void CreateStartMenuForPokenavTutorial(void); -static void sub_80E2CC4(u8, u8, u8, u8); +static void InitMultichoiceNoWrap(bool8 ignoreBPress, u8 unusedCount, u8 windowId, u8 multichoiceId); -bool8 ScriptMenu_Multichoice(u8 left, u8 top, u8 multichoiceId, u8 ignoreBPress) +bool8 ScriptMenu_Multichoice(u8 left, u8 top, u8 multichoiceId, bool8 ignoreBPress) { if (FuncIsActiveTask(Task_HandleMultichoiceInput) == TRUE) { @@ -66,7 +65,7 @@ bool8 ScriptMenu_MultichoiceWithDefault(u8 left, u8 top, u8 multichoiceId, bool8 } // Unused -static u16 sub_80E1EB8(const u8 *str) +static u16 GetLengthWithExpandedPlayerName(const u8 *str) { u16 length = 0; @@ -75,7 +74,7 @@ static u16 sub_80E1EB8(const u8 *str) if (*str == PLACEHOLDER_BEGIN) { str++; - if (*str == 1) + if (*str == 1) // 01 is the second byte of the {PLAYER} placeholder { length += StringLength(gSaveBlock2Ptr->playerName); str++; @@ -91,7 +90,7 @@ static u16 sub_80E1EB8(const u8 *str) return length; } -static void DrawMultichoiceMenu(u8 left, u8 top, u8 multichoiceId, u8 ignoreBPress, u8 cursorPos) +static void DrawMultichoiceMenu(u8 left, u8 top, u8 multichoiceId, bool8 ignoreBPress, u8 cursorPos) { int i; u8 windowId; @@ -112,7 +111,7 @@ static void DrawMultichoiceMenu(u8 left, u8 top, u8 multichoiceId, u8 ignoreBPre PrintMenuTable(windowId, count, actions); InitMenuInUpperLeftCornerPlaySoundWhenAPressed(windowId, count, cursorPos); schedule_bg_copy_tilemap_to_vram(0); - sub_80E1FBC(ignoreBPress, count, windowId, multichoiceId); + InitMultichoiceCheckWrap(ignoreBPress, count, windowId, multichoiceId); } #define tLeft data[0] @@ -124,17 +123,17 @@ static void DrawMultichoiceMenu(u8 left, u8 top, u8 multichoiceId, u8 ignoreBPre #define tWindowId data[6] #define tMultichoiceId data[7] -static void sub_80E1FBC(u8 ignoreBPress, u8 count, u8 windowId, u8 multichoiceId) +static void InitMultichoiceCheckWrap(bool8 ignoreBPress, u8 count, u8 windowId, u8 multichoiceId) { u8 i; u8 taskId; - gProcessInputDelay = 2; + sProcessInputDelay = 2; for (i = 0; i < ARRAY_COUNT(gLinkServicesMultichoiceIds); i++) { if (gLinkServicesMultichoiceIds[i] == multichoiceId) { - gProcessInputDelay = 12; + sProcessInputDelay = 12; } } @@ -160,9 +159,9 @@ static void Task_HandleMultichoiceInput(u8 taskId) if (!gPaletteFade.active) { - if (gProcessInputDelay) + if (sProcessInputDelay) { - gProcessInputDelay--; + sProcessInputDelay--; } else { @@ -249,7 +248,7 @@ static void Task_HandleYesNoInput(u8 taskId) EnableBothScriptContexts(); } -bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, u8 ignoreBPress, u8 columnCount) +bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, bool8 ignoreBPress, u8 columnCount) { if (FuncIsActiveTask(Task_HandleMultichoiceGridInput) == TRUE) { @@ -348,7 +347,8 @@ static void CreatePCMultichoice(void) width = ConvertPixelWidthToTileWidth(pixelWidth); - if (FlagGet(FLAG_SYS_GAME_CLEAR)) // player has cleared game? + // Include Hall of Fame option if player is champion + if (FlagGet(FLAG_SYS_GAME_CLEAR)) { numChoices = 4; windowId = CreateWindowFromRect(0, 0, width, 8); @@ -364,7 +364,8 @@ static void CreatePCMultichoice(void) AddTextPrinterParameterized(windowId, 1, gText_LogOff, y, 33, TEXT_SPEED_FF, NULL); } - if (FlagGet(FLAG_SYS_PC_LANETTE)) // player met lanette? + // Change PC name if player has met Lanette + if (FlagGet(FLAG_SYS_PC_LANETTE)) AddTextPrinterParameterized(windowId, 1, gText_LanettesPC, y, 1, TEXT_SPEED_FF, NULL); else AddTextPrinterParameterized(windowId, 1, gText_SomeonesPC, y, 1, TEXT_SPEED_FF, NULL); @@ -373,7 +374,7 @@ static void CreatePCMultichoice(void) PrintPlayerNameOnWindow(windowId, gStringVar4, y, 17); InitMenuInUpperLeftCornerPlaySoundWhenAPressed(windowId, numChoices, 0); CopyWindowToVram(windowId, 3); - sub_80E1FBC(FALSE, numChoices, windowId, MULTI_PC); + InitMultichoiceCheckWrap(FALSE, numChoices, windowId, MULTI_PC); } void ScriptMenu_DisplayPCStartupPrompt(void) @@ -408,7 +409,7 @@ static void CreateLilycoveSSTidalMultichoice(void) u8 i; u32 j; - for (i = 0; i < ARRAY_COUNT(sLilycoveSSTidalSelections); i++) + for (i = 0; i < SSTIDAL_SELECTION_COUNT; i++) { sLilycoveSSTidalSelections[i] = 0xFF; } @@ -509,7 +510,7 @@ static void CreateLilycoveSSTidalMultichoice(void) { pixelWidth = 0; - for (j = 0; j < ARRAY_COUNT(gLilycoveSSTidalDestinations); j++) + for (j = 0; j < SSTIDAL_SELECTION_COUNT; j++) { u8 selection = sLilycoveSSTidalSelections[j]; if (selection != 0xFF) @@ -522,7 +523,7 @@ static void CreateLilycoveSSTidalMultichoice(void) windowId = CreateWindowFromRect(MAX_MULTICHOICE_WIDTH - width, (6 - count) * 2, width, count * 2); SetStandardWindowBorderStyle(windowId, 0); - for (selectionCount = 0, i = 0; i < ARRAY_COUNT(gLilycoveSSTidalDestinations); i++) + for (selectionCount = 0, i = 0; i < SSTIDAL_SELECTION_COUNT; i++) { if (sLilycoveSSTidalSelections[i] != 0xFF) { @@ -533,7 +534,7 @@ static void CreateLilycoveSSTidalMultichoice(void) InitMenuInUpperLeftCornerPlaySoundWhenAPressed(windowId, count, count - 1); CopyWindowToVram(windowId, 3); - sub_80E1FBC(FALSE, count, windowId, MULTI_SSTIDAL_LILYCOVE); + InitMultichoiceCheckWrap(FALSE, count, windowId, MULTI_SSTIDAL_LILYCOVE); } } @@ -695,17 +696,17 @@ static void CreateStartMenuForPokenavTutorial(void) AddTextPrinterParameterized(windowId, 1, gText_MenuOptionSave, 8, 89, TEXT_SPEED_FF, NULL); AddTextPrinterParameterized(windowId, 1, gText_MenuOptionOption, 8, 105, TEXT_SPEED_FF, NULL); AddTextPrinterParameterized(windowId, 1, gText_MenuOptionExit, 8, 121, TEXT_SPEED_FF, NULL); - sub_81983AC(windowId, 1, 0, 9, 16, 8, 0); - sub_80E2CC4(FALSE, 8, windowId, MULTI_FORCED_START_MENU); + sub_81983AC(windowId, 1, 0, 9, 16, ARRAY_COUNT(MultichoiceList_ForcedStartMenu), 0); + InitMultichoiceNoWrap(FALSE, ARRAY_COUNT(MultichoiceList_ForcedStartMenu), windowId, MULTI_FORCED_START_MENU); CopyWindowToVram(windowId, 3); } #define tWindowId data[6] -static void sub_80E2CC4(bool8 ignoreBPress, u8 unused, u8 windowId, u8 multichoiceId) +static void InitMultichoiceNoWrap(bool8 ignoreBPress, u8 unusedCount, u8 windowId, u8 multichoiceId) { u8 taskId; - gProcessInputDelay = 2; + sProcessInputDelay = 2; taskId = CreateTask(Task_HandleMultichoiceInput, 80); gTasks[taskId].tIgnoreBPress = ignoreBPress; gTasks[taskId].tDoWrap = 0; @@ -729,14 +730,14 @@ static int DisplayTextAndGetWidthInternal(const u8 *str) return GetStringWidth(1, temp, 0); } -int DisplayTextAndGetWidth(const u8 *str, int prevMaxWidth) +int DisplayTextAndGetWidth(const u8 *str, int prevWidth) { - int len = DisplayTextAndGetWidthInternal(str); - if (len < prevMaxWidth) + int width = DisplayTextAndGetWidthInternal(str); + if (width < prevWidth) { - len = prevMaxWidth; + width = prevWidth; } - return len; + return width; } int ConvertPixelWidthToTileWidth(int width) -- cgit v1.2.3 From b6dffcf8b774ca06287dda30fa5a6323bd8835f6 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Thu, 19 Sep 2019 19:23:24 -0400 Subject: Clean up script_menu documentation --- src/data/script_menu.h | 467 ++++++++++++++++++++++++------------------------- src/script_menu.c | 46 ++--- src/string_util.c | 28 +-- 3 files changed, 270 insertions(+), 271 deletions(-) (limited to 'src') diff --git a/src/data/script_menu.h b/src/data/script_menu.h index 8e3877b46..b64146a5d 100644 --- a/src/data/script_menu.h +++ b/src/data/script_menu.h @@ -1,19 +1,19 @@ // multichoice lists -const struct MenuAction MultichoiceList_BrineyOnDewford[] = +static const struct MenuAction MultichoiceList_BrineyOnDewford[] = { {gText_Petalburg}, {gText_Slateport}, {gText_Exit}, }; -const struct MenuAction MultichoiceList_EnterInfo[] = +static const struct MenuAction MultichoiceList_EnterInfo[] = { {gText_Enter2}, {gText_Info2}, {gText_Exit}, }; -const struct MenuAction MultichoiceList_ContestInfo[] = +static const struct MenuAction MultichoiceList_ContestInfo[] = { {gText_WhatsAContest}, {gText_TypesOfContests}, @@ -21,7 +21,7 @@ const struct MenuAction MultichoiceList_ContestInfo[] = {gText_Cancel2}, }; -const struct MenuAction MultichoiceList_ContestType[] = +static const struct MenuAction MultichoiceList_ContestType[] = { {gText_CoolnessContest}, {gText_BeautyContest}, @@ -31,7 +31,7 @@ const struct MenuAction MultichoiceList_ContestType[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_DecorRegistry[] = +static const struct MenuAction MultichoiceList_DecorRegistry[] = { {gText_Decoration2}, {gText_PackUp}, @@ -39,14 +39,14 @@ const struct MenuAction MultichoiceList_DecorRegistry[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_DecorNoRegistry[] = +static const struct MenuAction MultichoiceList_DecorNoRegistry[] = { {gText_Decoration2}, {gText_PackUp}, {gText_Exit}, }; -const struct MenuAction MultichoiceList_RegisterMenu[] = +static const struct MenuAction MultichoiceList_RegisterMenu[] = { {gMenuText_Register}, {gText_Registry}, @@ -54,13 +54,13 @@ const struct MenuAction MultichoiceList_RegisterMenu[] = {gText_Cancel2}, }; -const struct MenuAction MultichoiceList_Bike[] = +static const struct MenuAction MultichoiceList_Bike[] = { {gText_Mach}, {gText_Acro}, }; -const struct MenuAction MultichoiceList_StatusInfo[] = +static const struct MenuAction MultichoiceList_StatusInfo[] = { {gText_Psn}, {gText_Par}, @@ -70,145 +70,145 @@ const struct MenuAction MultichoiceList_StatusInfo[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_BrineyOffDewford[] = +static const struct MenuAction MultichoiceList_BrineyOffDewford[] = { {gText_Dewford}, {gText_Exit}, }; -const struct MenuAction MultichoiceList_ViewedPaintings[] = +static const struct MenuAction MultichoiceList_ViewedPaintings[] = { {gText_SawIt}, {gText_NotYet}, }; -const struct MenuAction MultichoiceList_YesNoInfo2[] = +static const struct MenuAction MultichoiceList_YesNoInfo2[] = { {gText_Yes}, {gText_No}, {gText_Info2}, }; -const struct MenuAction MultichoiceList_ChallengeInfo[] = +static const struct MenuAction MultichoiceList_ChallengeInfo[] = { {gText_Challenge}, {gText_Info3}, {gText_Exit}, }; -const struct MenuAction MultichoiceList_LevelMode[] = +static const struct MenuAction MultichoiceList_LevelMode[] = { {gText_Lv50}, {gText_OpenLevel}, {gText_Exit}, }; -const struct MenuAction MultichoiceList_Mechadoll1_Q1[] = +static const struct MenuAction MultichoiceList_Mechadoll1_Q1[] = { {gTrickHouse_Mechadoll_Oddish}, {gTrickHouse_Mechadoll_Poochyena}, {gTrickHouse_Mechadoll_Taillow}, }; -const struct MenuAction MultichoiceList_Mechadoll1_Q2[] = +static const struct MenuAction MultichoiceList_Mechadoll1_Q2[] = { {gTrickHouse_Mechadoll_Azurill}, {gTrickHouse_Mechadoll_Lotad}, {gTrickHouse_Mechadoll_Wingull}, }; -const struct MenuAction MultichoiceList_Mechadoll1_Q3[] = +static const struct MenuAction MultichoiceList_Mechadoll1_Q3[] = { {gTrickHouse_Mechadoll_Dustox}, {gTrickHouse_Mechadoll_Zubat}, {gTrickHouse_Mechadoll_Nincada}, }; -const struct MenuAction MultichoiceList_Mechadoll2_Q1[] = +static const struct MenuAction MultichoiceList_Mechadoll2_Q1[] = { {gTrickHouse_Mechadoll_Ralts}, {gTrickHouse_Mechadoll_Zigzagoon}, {gTrickHouse_Mechadoll_Slakoth}, }; -const struct MenuAction MultichoiceList_Mechadoll2_Q2[] = +static const struct MenuAction MultichoiceList_Mechadoll2_Q2[] = { {gTrickHouse_Mechadoll_Poochyena2}, {gTrickHouse_Mechadoll_Shroomish}, {gTrickHouse_Mechadoll_Zigzagoon2}, }; -const struct MenuAction MultichoiceList_Mechadoll2_Q3[] = +static const struct MenuAction MultichoiceList_Mechadoll2_Q3[] = { {gTrickHouse_Mechadoll_Poochyena3}, {gTrickHouse_Mechadoll_Zubat2}, {gTrickHouse_Mechadoll_Carvanha}, }; -const struct MenuAction MultichoiceList_Mechadoll3_Q1[] = +static const struct MenuAction MultichoiceList_Mechadoll3_Q1[] = { {gTrickHouse_Mechadoll_BurnHeal}, {gTrickHouse_Mechadoll_HarborMail}, {gTrickHouse_Mechadoll_SamePrice}, }; -const struct MenuAction MultichoiceList_Mechadoll3_Q2[] = +static const struct MenuAction MultichoiceList_Mechadoll3_Q2[] = { {gTrickHouse_Mechadoll_60Yen}, {gTrickHouse_Mechadoll_55Yen}, {gTrickHouse_Mechadoll_Nothing}, }; -const struct MenuAction MultichoiceList_Mechadoll3_Q3[] = +static const struct MenuAction MultichoiceList_Mechadoll3_Q3[] = { {gTrickHouse_Mechadoll_CostMore}, {gTrickHouse_Mechadoll_CostLess}, {gTrickHouse_Mechadoll_SamePrice2}, }; -const struct MenuAction MultichoiceList_Mechadoll4_Q1[] = +static const struct MenuAction MultichoiceList_Mechadoll4_Q1[] = { {gTrickHouse_Mechadoll_Male}, {gTrickHouse_Mechadoll_Female}, {gTrickHouse_Mechadoll_Neither}, }; -const struct MenuAction MultichoiceList_Mechadoll4_Q2[] = +static const struct MenuAction MultichoiceList_Mechadoll4_Q2[] = { {gTrickHouse_Mechadoll_ElderlyMen}, {gTrickHouse_Mechadoll_ElderlyLadies}, {gTrickHouse_Mechadoll_SameNumber}, }; -const struct MenuAction MultichoiceList_Mechadoll4_Q3[] = +static const struct MenuAction MultichoiceList_Mechadoll4_Q3[] = { {gTrickHouse_Mechadoll_None}, {gTrickHouse_Mechadoll_One}, {gTrickHouse_Mechadoll_Two}, }; -const struct MenuAction MultichoiceList_Mechadoll5_Q1[] = +static const struct MenuAction MultichoiceList_Mechadoll5_Q1[] = { {gTrickHouse_Mechadoll_Two2}, {gTrickHouse_Mechadoll_Three}, {gTrickHouse_Mechadoll_Four}, }; -const struct MenuAction MultichoiceList_Mechadoll5_Q2[] = +static const struct MenuAction MultichoiceList_Mechadoll5_Q2[] = { {gTrickHouse_Mechadoll_Six}, {gTrickHouse_Mechadoll_Seven}, {gTrickHouse_Mechadoll_Eight}, }; -const struct MenuAction MultichoiceList_Mechadoll5_Q3[] = +static const struct MenuAction MultichoiceList_Mechadoll5_Q3[] = { {gTrickHouse_Mechadoll_Six2}, {gTrickHouse_Mechadoll_Seven2}, {gTrickHouse_Mechadoll_Eight2}, }; -const struct MenuAction MultichoiceList_VendingMachine[] = +static const struct MenuAction MultichoiceList_VendingMachine[] = { {gText_FreshWaterAndPrice}, {gText_SodaPopAndPrice}, @@ -216,7 +216,7 @@ const struct MenuAction MultichoiceList_VendingMachine[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_MachBikeInfo[] = +static const struct MenuAction MultichoiceList_MachBikeInfo[] = { {gText_HowToRide}, {gText_HowToTurn}, @@ -224,7 +224,7 @@ const struct MenuAction MultichoiceList_MachBikeInfo[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_AcroBikeInfo[] = +static const struct MenuAction MultichoiceList_AcroBikeInfo[] = { {gText_Wheelies}, {gText_BunnyHops}, @@ -232,20 +232,20 @@ const struct MenuAction MultichoiceList_AcroBikeInfo[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_Satisfaction[] = +static const struct MenuAction MultichoiceList_Satisfaction[] = { {gText_Satisfied}, {gText_Dissatisfied}, }; -const struct MenuAction MultichoiceList_SternDeepSea[] = +static const struct MenuAction MultichoiceList_SternDeepSea[] = { {gText_DeepSeaTooth}, {gText_DeepSeaScale}, {gText_Exit}, }; -const struct MenuAction MultichoiceList_UnusedAshVendor[] = +static const struct MenuAction MultichoiceList_UnusedAshVendor[] = { {gText_BlueFlute2}, {gText_YellowFlute2}, @@ -257,7 +257,7 @@ const struct MenuAction MultichoiceList_UnusedAshVendor[] = {gText_Cancel2}, }; -const struct MenuAction MultichoiceList_GameCornerDolls[] = +static const struct MenuAction MultichoiceList_GameCornerDolls[] = { {gText_TreeckoDollAndPrice}, {gText_TorchicDollAndPrice}, @@ -265,7 +265,7 @@ const struct MenuAction MultichoiceList_GameCornerDolls[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_GameCornerTMs[] = +static const struct MenuAction MultichoiceList_GameCornerTMs[] = { {gText_TM32AndPrice}, {gText_TM29AndPrice}, @@ -275,46 +275,46 @@ const struct MenuAction MultichoiceList_GameCornerTMs[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_GameCornerCoins[] = +static const struct MenuAction MultichoiceList_GameCornerCoins[] = { {gText_50CoinsAndPrice}, {gText_500CoinsAndPrice}, {gText_Exit}, }; -const struct MenuAction MultichoiceList_HowsFishing[] = +static const struct MenuAction MultichoiceList_HowsFishing[] = { {gText_Excellent2}, {gText_NotSoGood}, }; -const struct MenuAction MultichoiceList_SSTidalSlateportWithBF[] = +static const struct MenuAction MultichoiceList_SSTidalSlateportWithBF[] = { {gText_LilycoveCity}, {gText_BattleFrontier}, {gText_Exit}, }; -const struct MenuAction MultichoiceList_SSTidalBattleFrontier[] = +static const struct MenuAction MultichoiceList_SSTidalBattleFrontier[] = { {gText_SlateportCity}, {gText_LilycoveCity}, {gText_Exit}, }; -const struct MenuAction MultichoiceList_RightLeft[] = +static const struct MenuAction MultichoiceList_RightLeft[] = { {gText_Right}, {gText_Left}, }; -const struct MenuAction MultichoiceList_SSTidalSlateportNoBF[] = +static const struct MenuAction MultichoiceList_SSTidalSlateportNoBF[] = { {gText_LilycoveCity}, {gText_Exit}, }; -const struct MenuAction MultichoiceList_Floors[] = +static const struct MenuAction MultichoiceList_Floors[] = { {gText_5F}, {gText_4F}, @@ -324,46 +324,46 @@ const struct MenuAction MultichoiceList_Floors[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_ShardsR[] = +static const struct MenuAction MultichoiceList_ShardsR[] = { {gText_RedShard}, {gText_Exit}, }; -const struct MenuAction MultichoiceList_ShardsY[] = +static const struct MenuAction MultichoiceList_ShardsY[] = { {gText_YellowShard}, {gText_Exit}, }; -const struct MenuAction MultichoiceList_ShardsRY[] = +static const struct MenuAction MultichoiceList_ShardsRY[] = { {gText_RedShard}, {gText_YellowShard}, {gText_Exit}, }; -const struct MenuAction MultichoiceList_ShardsB[] = +static const struct MenuAction MultichoiceList_ShardsB[] = { {gText_BlueShard}, {gText_Exit}, }; -const struct MenuAction MultichoiceList_ShardsRB[] = +static const struct MenuAction MultichoiceList_ShardsRB[] = { {gText_RedShard}, {gText_BlueShard}, {gText_Exit}, }; -const struct MenuAction MultichoiceList_ShardsYB[] = +static const struct MenuAction MultichoiceList_ShardsYB[] = { {gText_YellowShard}, {gText_BlueShard}, {gText_Exit}, }; -const struct MenuAction MultichoiceList_ShardsRYB[] = +static const struct MenuAction MultichoiceList_ShardsRYB[] = { {gText_RedShard}, {gText_YellowShard}, @@ -371,27 +371,27 @@ const struct MenuAction MultichoiceList_ShardsRYB[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_ShardsG[] = +static const struct MenuAction MultichoiceList_ShardsG[] = { {gText_GreenShard}, {gText_Exit}, }; -const struct MenuAction MultichoiceList_ShardsRG[] = +static const struct MenuAction MultichoiceList_ShardsRG[] = { {gText_RedShard}, {gText_GreenShard}, {gText_Exit}, }; -const struct MenuAction MultichoiceList_ShardsYG[] = +static const struct MenuAction MultichoiceList_ShardsYG[] = { {gText_YellowShard}, {gText_GreenShard}, {gText_Exit}, }; -const struct MenuAction MultichoiceList_ShardsRYG[] = +static const struct MenuAction MultichoiceList_ShardsRYG[] = { {gText_RedShard}, {gText_YellowShard}, @@ -399,14 +399,14 @@ const struct MenuAction MultichoiceList_ShardsRYG[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_ShardsBG[] = +static const struct MenuAction MultichoiceList_ShardsBG[] = { {gText_BlueShard}, {gText_GreenShard}, {gText_Exit}, }; -const struct MenuAction MultichoiceList_ShardsRBG[] = +static const struct MenuAction MultichoiceList_ShardsRBG[] = { {gText_RedShard}, {gText_BlueShard}, @@ -414,7 +414,7 @@ const struct MenuAction MultichoiceList_ShardsRBG[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_ShardsYBG[] = +static const struct MenuAction MultichoiceList_ShardsYBG[] = { {gText_YellowShard}, {gText_BlueShard}, @@ -422,7 +422,7 @@ const struct MenuAction MultichoiceList_ShardsYBG[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_ShardsRYBG[] = +static const struct MenuAction MultichoiceList_ShardsRYBG[] = { {gText_RedShard}, {gText_YellowShard}, @@ -431,7 +431,7 @@ const struct MenuAction MultichoiceList_ShardsRYBG[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_TourneyWithRecord[] = +static const struct MenuAction MultichoiceList_TourneyWithRecord[] = { {gText_Opponent}, {gText_Tourney_Tree}, @@ -441,7 +441,7 @@ const struct MenuAction MultichoiceList_TourneyWithRecord[] = {gText_Retire}, }; -const struct MenuAction MultichoiceList_TourneyNoRecord[] = +static const struct MenuAction MultichoiceList_TourneyNoRecord[] = { {gText_Opponent}, {gText_Tourney_Tree}, @@ -450,13 +450,13 @@ const struct MenuAction MultichoiceList_TourneyNoRecord[] = {gText_Retire}, }; -const struct MenuAction MultichoiceList_Tent[] = +static const struct MenuAction MultichoiceList_Tent[] = { {gText_RedTent}, {gText_BlueTent}, }; -const struct MenuAction MultichoiceList_LinkServicesB[] = +static const struct MenuAction MultichoiceList_LinkServicesNoBerry[] = { {gText_TradeCenter}, {gText_Colosseum}, @@ -464,14 +464,14 @@ const struct MenuAction MultichoiceList_LinkServicesB[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_YesNoInfo[] = +static const struct MenuAction MultichoiceList_YesNoInfo[] = { {gText_Yes}, {gText_No}, {gText_Info2}, }; -const struct MenuAction MultichoiceList_BattleMode[] = +static const struct MenuAction MultichoiceList_BattleMode[] = { {gText_SingleBattle}, {gText_DoubleBattle}, @@ -480,7 +480,7 @@ const struct MenuAction MultichoiceList_BattleMode[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_LinkServicesC[] = +static const struct MenuAction MultichoiceList_LinkServicesNoRecord[] = { {gText_TradeCenter}, {gText_Colosseum}, @@ -488,7 +488,7 @@ const struct MenuAction MultichoiceList_LinkServicesC[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_LinkServicesD[] = +static const struct MenuAction MultichoiceList_LinkServicesAll[] = { {gText_TradeCenter}, {gText_Colosseum}, @@ -497,28 +497,28 @@ const struct MenuAction MultichoiceList_LinkServicesD[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_LinkServicesA[] = +static const struct MenuAction MultichoiceList_LinkServicesNoRecordBerry[] = { {gText_TradeCenter}, {gText_Colosseum}, {gText_Exit}, }; -const struct MenuAction MultichoiceList_WirelessMinigame[] = +static const struct MenuAction MultichoiceList_WirelessMinigame[] = { {gText_PokemonJump}, {gText_DodrioBerryPicking}, {gText_Exit}, }; -const struct MenuAction MultichoiceList_LinkLeader[] = +static const struct MenuAction MultichoiceList_LinkLeader[] = { {gText_JoinGroup}, {gText_BecomeLeader}, {gText_Exit}, }; -const struct MenuAction MultichoiceList_ContestRank[] = +static const struct MenuAction MultichoiceList_ContestRank[] = { {gText_NormalRank}, {gText_SuperRank}, @@ -527,14 +527,14 @@ const struct MenuAction MultichoiceList_ContestRank[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_FrontierItemChoose[] = +static const struct MenuAction MultichoiceList_FrontierItemChoose[] = { {gText_BattleBag}, {gText_HeldItem}, {gText_Exit}, }; -const struct MenuAction MultichoiceList_LinkContestInfo[] = +static const struct MenuAction MultichoiceList_LinkContestInfo[] = { {gText_LinkContest}, {gText_AboutE_Mode}, @@ -542,14 +542,14 @@ const struct MenuAction MultichoiceList_LinkContestInfo[] = {gText_Cancel2}, }; -const struct MenuAction MultichoiceList_LinkContestMode[] = +static const struct MenuAction MultichoiceList_LinkContestMode[] = { {gText_E_Mode}, {gText_G_Mode}, {gText_Exit}, }; -const struct MenuAction MultichoiceList_ForcedStartMenu[] = +static const struct MenuAction MultichoiceList_ForcedStartMenu[] = { {gText_MenuOptionPokedex}, {gText_MenuOptionPokemon}, @@ -561,7 +561,7 @@ const struct MenuAction MultichoiceList_ForcedStartMenu[] = {gText_MenuOptionExit}, }; -const struct MenuAction MultichoiceList_FrontierGamblerBet[] = +static const struct MenuAction MultichoiceList_FrontierGamblerBet[] = { {gText_5BP}, {gText_10BP}, @@ -569,28 +569,28 @@ const struct MenuAction MultichoiceList_FrontierGamblerBet[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_UnusedSSTidal1[] = +static const struct MenuAction MultichoiceList_UnusedSSTidal1[] = { {gText_SouthernIsland}, {gText_BirthIsland}, {gText_Exit}, }; -const struct MenuAction MultichoiceList_UnusedSSTidal2[] = +static const struct MenuAction MultichoiceList_UnusedSSTidal2[] = { {gText_SouthernIsland}, {gText_FarawayIsland}, {gText_Exit}, }; -const struct MenuAction MultichoiceList_UnusedSSTidal3[] = +static const struct MenuAction MultichoiceList_UnusedSSTidal3[] = { {gText_BirthIsland}, {gText_FarawayIsland}, {gText_Exit}, }; -const struct MenuAction MultichoiceList_UnusedSSTidal4[] = +static const struct MenuAction MultichoiceList_UnusedSSTidal4[] = { {gText_SouthernIsland}, {gText_BirthIsland}, @@ -598,20 +598,20 @@ const struct MenuAction MultichoiceList_UnusedSSTidal4[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_Fossil[] = +static const struct MenuAction MultichoiceList_Fossil[] = { {gText_ClawFossil}, {gText_RootFossil}, {gText_Exit}, }; -const struct MenuAction MultichoiceList_YesNo[] = +static const struct MenuAction MultichoiceList_YesNo[] = { {gText_Yes}, {gText_No4}, }; -const struct MenuAction MultichoiceList_FrontierRules[] = +static const struct MenuAction MultichoiceList_FrontierRules[] = { {gText_TwoStyles}, {gText_Lv50_3}, @@ -621,7 +621,7 @@ const struct MenuAction MultichoiceList_FrontierRules[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_FrontierPassInfo[] = +static const struct MenuAction MultichoiceList_FrontierPassInfo[] = { {gText_Symbols2}, {gText_Record3}, @@ -629,7 +629,7 @@ const struct MenuAction MultichoiceList_FrontierPassInfo[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_BattleArenaRules[] = +static const struct MenuAction MultichoiceList_BattleArenaRules[] = { {gText_BattleRules}, {gText_JudgeMind}, @@ -638,7 +638,7 @@ const struct MenuAction MultichoiceList_BattleArenaRules[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_BattleTowerRules[] = +static const struct MenuAction MultichoiceList_BattleTowerRules[] = { {gText_TowerInfo}, {gText_BattleMon}, @@ -647,7 +647,7 @@ const struct MenuAction MultichoiceList_BattleTowerRules[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_BattleDomeRules[] = +static const struct MenuAction MultichoiceList_BattleDomeRules[] = { {gText_Matchup}, {gText_TourneyTree}, @@ -655,7 +655,7 @@ const struct MenuAction MultichoiceList_BattleDomeRules[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_BattleFactoryRules[] = +static const struct MenuAction MultichoiceList_BattleFactoryRules[] = { {gText_BasicRules}, {gText_SwapPartners}, @@ -665,7 +665,7 @@ const struct MenuAction MultichoiceList_BattleFactoryRules[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_BattlePalaceRules[] = +static const struct MenuAction MultichoiceList_BattlePalaceRules[] = { {gText_BattleBasics}, {gText_PokemonNature}, @@ -675,7 +675,7 @@ const struct MenuAction MultichoiceList_BattlePalaceRules[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_BattlePyramidRules[] = +static const struct MenuAction MultichoiceList_BattlePyramidRules[] = { {gText_PyramidPokemon}, {gText_PyramidTrainers}, @@ -684,7 +684,7 @@ const struct MenuAction MultichoiceList_BattlePyramidRules[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_BattlePikeRules[] = +static const struct MenuAction MultichoiceList_BattlePikeRules[] = { {gText_PokenavAndBag}, {gText_HeldItems}, @@ -692,7 +692,7 @@ const struct MenuAction MultichoiceList_BattlePikeRules[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_GoOnRecordRestRetire[] = +static const struct MenuAction MultichoiceList_GoOnRecordRestRetire[] = { {gText_GoOn}, {gText_Record2}, @@ -700,33 +700,33 @@ const struct MenuAction MultichoiceList_GoOnRecordRestRetire[] = {gText_Retire}, }; -const struct MenuAction MultichoiceList_GoOnRestRetire[] = +static const struct MenuAction MultichoiceList_GoOnRestRetire[] = { {gText_GoOn}, {gText_Rest}, {gText_Retire}, }; -const struct MenuAction MultichoiceList_GoOnRecordRetire[] = +static const struct MenuAction MultichoiceList_GoOnRecordRetire[] = { {gText_GoOn}, {gText_Record2}, {gText_Retire}, }; -const struct MenuAction MultichoiceList_GoOnRetire[] = +static const struct MenuAction MultichoiceList_GoOnRetire[] = { {gText_GoOn}, {gText_Retire}, }; -const struct MenuAction MultichoiceList_TVLati[] = +static const struct MenuAction MultichoiceList_TVLati[] = { {gText_Red}, {gText_Blue}, }; -const struct MenuAction MultichoiceList_BattleTowerFeelings[] = +static const struct MenuAction MultichoiceList_BattleTowerFeelings[] = { {gText_IllBattleNow}, {gText_IWon}, @@ -734,7 +734,7 @@ const struct MenuAction MultichoiceList_BattleTowerFeelings[] = {gText_IWontTell}, }; -const struct MenuAction MultichoiceList_WheresRayquaza[] = +static const struct MenuAction MultichoiceList_WheresRayquaza[] = { {gText_CaveOfOrigin}, {gText_MtPyre}, @@ -742,7 +742,7 @@ const struct MenuAction MultichoiceList_WheresRayquaza[] = {gText_DontRemember}, }; -const struct MenuAction MultichoiceList_SlateportTentRules[] = +static const struct MenuAction MultichoiceList_SlateportTentRules[] = { {gText_BasicRules}, {gText_SwapPartners}, @@ -752,7 +752,7 @@ const struct MenuAction MultichoiceList_SlateportTentRules[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_FallarborTentRules[] = +static const struct MenuAction MultichoiceList_FallarborTentRules[] = { {gText_BattleTrainers}, {gText_BattleRules}, @@ -762,7 +762,7 @@ const struct MenuAction MultichoiceList_FallarborTentRules[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_TagMatchType[] = +static const struct MenuAction MultichoiceList_TagMatchType[] = { {gText_NormalTagMatch}, {gText_VarietyTagMatch}, @@ -771,7 +771,7 @@ const struct MenuAction MultichoiceList_TagMatchType[] = {gText_Exit}, }; -const struct MenuAction MultichoiceList_Exit[] = +static const struct MenuAction MultichoiceList_Exit[] = { {gText_Exit}, }; @@ -782,122 +782,122 @@ struct MultichoiceListStruct u8 count; }; -const struct MultichoiceListStruct gMultichoiceLists[] = -{ - [MULTI_BRINEY_ON_DEWFORD] = MULTICHOICE(MultichoiceList_BrineyOnDewford), - [MULTI_PC] = MULTICHOICE(MultichoiceList_Exit), - [MULTI_ENTERINFO] = MULTICHOICE(MultichoiceList_EnterInfo), - [MULTI_CONTEST_INFO] = MULTICHOICE(MultichoiceList_ContestInfo), - [MULTI_CONTEST_TYPE] = MULTICHOICE(MultichoiceList_ContestType), - [MULTI_DECOR_NOREGISTRY] = MULTICHOICE(MultichoiceList_DecorNoRegistry), - [MULTI_DECOR_REGISTRY] = MULTICHOICE(MultichoiceList_DecorRegistry), - [MULTI_REGISTER_MENU] = MULTICHOICE(MultichoiceList_RegisterMenu), - [MULTI_SSTIDAL_LILYCOVE] = MULTICHOICE(MultichoiceList_Exit), - [MULTI_UNUSED_9] = MULTICHOICE(MultichoiceList_Exit), - [MULTI_UNUSED_10] = MULTICHOICE(MultichoiceList_Exit), - [MULTI_FRONTIER_PASS_INFO] = MULTICHOICE(MultichoiceList_FrontierPassInfo), - [MULTI_BIKE] = MULTICHOICE(MultichoiceList_Bike), - [MULTI_STATUS_INFO] = MULTICHOICE(MultichoiceList_StatusInfo), - [MULTI_BRINEY_OFF_DEWFORD] = MULTICHOICE(MultichoiceList_BrineyOffDewford), - [MULTI_UNUSED_15] = MULTICHOICE(MultichoiceList_Exit), - [MULTI_VIEWED_PAINTINGS] = MULTICHOICE(MultichoiceList_ViewedPaintings), - [MULTI_YESNOINFO] = MULTICHOICE(MultichoiceList_YesNoInfo), - [MULTI_BATTLE_MODE] = MULTICHOICE(MultichoiceList_BattleMode), - [MULTI_UNUSED_19] = MULTICHOICE(MultichoiceList_Exit), - [MULTI_YESNOINFO_2] = MULTICHOICE(MultichoiceList_YesNoInfo2), - [MULTI_UNUSED_21] = MULTICHOICE(MultichoiceList_Exit), - [MULTI_UNUSED_22] = MULTICHOICE(MultichoiceList_Exit), - [MULTI_CHALLENGEINFO] = MULTICHOICE(MultichoiceList_ChallengeInfo), - [MULTI_LEVEL_MODE] = MULTICHOICE(MultichoiceList_LevelMode), - [MULTI_MECHADOLL1_Q1] = MULTICHOICE(MultichoiceList_Mechadoll1_Q1), - [MULTI_MECHADOLL1_Q2] = MULTICHOICE(MultichoiceList_Mechadoll1_Q2), - [MULTI_MECHADOLL1_Q3] = MULTICHOICE(MultichoiceList_Mechadoll1_Q3), - [MULTI_MECHADOLL2_Q1] = MULTICHOICE(MultichoiceList_Mechadoll2_Q1), - [MULTI_MECHADOLL2_Q2] = MULTICHOICE(MultichoiceList_Mechadoll2_Q2), - [MULTI_MECHADOLL2_Q3] = MULTICHOICE(MultichoiceList_Mechadoll2_Q3), - [MULTI_MECHADOLL3_Q1] = MULTICHOICE(MultichoiceList_Mechadoll3_Q1), - [MULTI_MECHADOLL3_Q2] = MULTICHOICE(MultichoiceList_Mechadoll3_Q2), - [MULTI_MECHADOLL3_Q3] = MULTICHOICE(MultichoiceList_Mechadoll3_Q3), - [MULTI_MECHADOLL4_Q1] = MULTICHOICE(MultichoiceList_Mechadoll4_Q1), - [MULTI_MECHADOLL4_Q2] = MULTICHOICE(MultichoiceList_Mechadoll4_Q2), - [MULTI_MECHADOLL4_Q3] = MULTICHOICE(MultichoiceList_Mechadoll4_Q3), - [MULTI_MECHADOLL5_Q1] = MULTICHOICE(MultichoiceList_Mechadoll5_Q1), - [MULTI_MECHADOLL5_Q2] = MULTICHOICE(MultichoiceList_Mechadoll5_Q2), - [MULTI_MECHADOLL5_Q3] = MULTICHOICE(MultichoiceList_Mechadoll5_Q3), - [MULTI_UNUSED_40] = MULTICHOICE(MultichoiceList_Exit), - [MULTI_UNUSED_41] = MULTICHOICE(MultichoiceList_Exit), - [MULTI_VENDING_MACHINE] = MULTICHOICE(MultichoiceList_VendingMachine), - [MULTI_MACH_BIKE_INFO] = MULTICHOICE(MultichoiceList_MachBikeInfo), - [MULTI_ACRO_BIKE_INFO] = MULTICHOICE(MultichoiceList_AcroBikeInfo), - [MULTI_SATISFACTION] = MULTICHOICE(MultichoiceList_Satisfaction), - [MULTI_STERN_DEEPSEA] = MULTICHOICE(MultichoiceList_SternDeepSea), - [MULTI_UNUSED_ASH_VENDOR] = MULTICHOICE(MultichoiceList_UnusedAshVendor), - [MULTI_GAME_CORNER_DOLLS] = MULTICHOICE(MultichoiceList_GameCornerDolls), - [MULTI_GAME_CORNER_COINS] = MULTICHOICE(MultichoiceList_GameCornerCoins), - [MULTI_HOWS_FISHING] = MULTICHOICE(MultichoiceList_HowsFishing), - [MULTI_UNUSED_51] = MULTICHOICE(MultichoiceList_Exit), - [MULTI_SSTIDAL_SLATEPORT_WITH_BF] = MULTICHOICE(MultichoiceList_SSTidalSlateportWithBF), - [MULTI_SSTIDAL_BATTLE_FRONTIER] = MULTICHOICE(MultichoiceList_SSTidalBattleFrontier), - [MULTI_RIGHTLEFT] = MULTICHOICE(MultichoiceList_RightLeft), - [MULTI_GAME_CORNER_TMS] = MULTICHOICE(MultichoiceList_GameCornerTMs), - [MULTI_SSTIDAL_SLATEPORT_NO_BF] = MULTICHOICE(MultichoiceList_SSTidalSlateportNoBF), - [MULTI_FLOORS] = MULTICHOICE(MultichoiceList_Floors), - [MULTI_SHARDS_R] = MULTICHOICE(MultichoiceList_ShardsR), - [MULTI_SHARDS_Y] = MULTICHOICE(MultichoiceList_ShardsY), - [MULTI_SHARDS_RY] = MULTICHOICE(MultichoiceList_ShardsRY), - [MULTI_SHARDS_B] = MULTICHOICE(MultichoiceList_ShardsB), - [MULTI_SHARDS_RB] = MULTICHOICE(MultichoiceList_ShardsRB), - [MULTI_SHARDS_YB] = MULTICHOICE(MultichoiceList_ShardsYB), - [MULTI_SHARDS_RYB] = MULTICHOICE(MultichoiceList_ShardsRYB), - [MULTI_SHARDS_G] = MULTICHOICE(MultichoiceList_ShardsG), - [MULTI_SHARDS_RG] = MULTICHOICE(MultichoiceList_ShardsRG), - [MULTI_SHARDS_YG] = MULTICHOICE(MultichoiceList_ShardsYG), - [MULTI_SHARDS_RYG] = MULTICHOICE(MultichoiceList_ShardsRYG), - [MULTI_SHARDS_BG] = MULTICHOICE(MultichoiceList_ShardsBG), - [MULTI_SHARDS_RBG] = MULTICHOICE(MultichoiceList_ShardsRBG), - [MULTI_SHARDS_YBG] = MULTICHOICE(MultichoiceList_ShardsYBG), - [MULTI_SHARDS_RYBG] = MULTICHOICE(MultichoiceList_ShardsRYBG), - [MULTI_TOURNEY_WITH_RECORD] = MULTICHOICE(MultichoiceList_TourneyWithRecord), - [MULTI_LINK_SERVICES_A1] = MULTICHOICE(MultichoiceList_LinkServicesA), - [MULTI_LINK_SERVICES_A2] = MULTICHOICE(MultichoiceList_LinkServicesA), - [MULTI_LINK_SERVICES_B1] = MULTICHOICE(MultichoiceList_LinkServicesB), - [MULTI_LINK_SERVICES_B2] = MULTICHOICE(MultichoiceList_LinkServicesB), - [MULTI_LINK_SERVICES_C] = MULTICHOICE(MultichoiceList_LinkServicesC), - [MULTI_LINK_SERVICES_D] = MULTICHOICE(MultichoiceList_LinkServicesD), - [MULTI_WIRELESS_MINIGAME] = MULTICHOICE(MultichoiceList_WirelessMinigame), - [MULTI_LINK_LEADER] = MULTICHOICE(MultichoiceList_LinkLeader), - [MULTI_CONTEST_RANK] = MULTICHOICE(MultichoiceList_ContestRank), - [MULTI_FRONTIER_ITEM_CHOOSE] = MULTICHOICE(MultichoiceList_FrontierItemChoose), - [MULTI_LINK_CONTEST_INFO] = MULTICHOICE(MultichoiceList_LinkContestInfo), - [MULTI_LINK_CONTEST_MODE] = MULTICHOICE(MultichoiceList_LinkContestMode), - [MULTI_FORCED_START_MENU] = MULTICHOICE(MultichoiceList_ForcedStartMenu), - [MULTI_FRONTIER_GAMBLER_BET] = MULTICHOICE(MultichoiceList_FrontierGamblerBet), - [MULTI_TENT] = MULTICHOICE(MultichoiceList_Tent), - [MULTI_UNUSED_SSTIDAL_1] = MULTICHOICE(MultichoiceList_UnusedSSTidal1), - [MULTI_UNUSED_SSTIDAL_2] = MULTICHOICE(MultichoiceList_UnusedSSTidal2), - [MULTI_UNUSED_SSTIDAL_3] = MULTICHOICE(MultichoiceList_UnusedSSTidal3), - [MULTI_UNUSED_SSTIDAL_4] = MULTICHOICE(MultichoiceList_UnusedSSTidal4), - [MULTI_FOSSIL] = MULTICHOICE(MultichoiceList_Fossil), - [MULTI_YESNO] = MULTICHOICE(MultichoiceList_YesNo), - [MULTI_FRONTIER_RULES] = MULTICHOICE(MultichoiceList_FrontierRules), - [MULTI_BATTLE_ARENA_RULES] = MULTICHOICE(MultichoiceList_BattleArenaRules), - [MULTI_BATTLE_TOWER_RULES] = MULTICHOICE(MultichoiceList_BattleTowerRules), - [MULTI_BATTLE_DOME_RULES] = MULTICHOICE(MultichoiceList_BattleDomeRules), - [MULTI_BATTLE_FACTORY_RULES] = MULTICHOICE(MultichoiceList_BattleFactoryRules), - [MULTI_BATTLE_PALACE_RULES] = MULTICHOICE(MultichoiceList_BattlePalaceRules), - [MULTI_BATTLE_PYRAMID_RULES] = MULTICHOICE(MultichoiceList_BattlePyramidRules), - [MULTI_BATTLE_PIKE_RULES] = MULTICHOICE(MultichoiceList_BattlePikeRules), - [MULTI_GO_ON_RECORD_REST_RETIRE] = MULTICHOICE(MultichoiceList_GoOnRecordRestRetire), - [MULTI_GO_ON_REST_RETIRE] = MULTICHOICE(MultichoiceList_GoOnRestRetire), - [MULTI_GO_ON_RECORD_RETIRE] = MULTICHOICE(MultichoiceList_GoOnRecordRetire), - [MULTI_GO_ON_RETIRE] = MULTICHOICE(MultichoiceList_GoOnRetire), - [MULTI_TOURNEY_NO_RECORD] = MULTICHOICE(MultichoiceList_TourneyNoRecord), - [MULTI_TV_LATI] = MULTICHOICE(MultichoiceList_TVLati), - [MULTI_BATTLE_TOWER_FEELINGS] = MULTICHOICE(MultichoiceList_BattleTowerFeelings), - [MULTI_WHERES_RAYQUAZA] = MULTICHOICE(MultichoiceList_WheresRayquaza), - [MULTI_SLATEPORT_TENT_RULES] = MULTICHOICE(MultichoiceList_SlateportTentRules), - [MULTI_FALLARBOR_TENT_RULES] = MULTICHOICE(MultichoiceList_FallarborTentRules), - [MULTI_TAG_MATCH_TYPE] = MULTICHOICE(MultichoiceList_TagMatchType), +static const struct MultichoiceListStruct sMultichoiceLists[] = +{ + [MULTI_BRINEY_ON_DEWFORD] = MULTICHOICE(MultichoiceList_BrineyOnDewford), + [MULTI_PC] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_ENTERINFO] = MULTICHOICE(MultichoiceList_EnterInfo), + [MULTI_CONTEST_INFO] = MULTICHOICE(MultichoiceList_ContestInfo), + [MULTI_CONTEST_TYPE] = MULTICHOICE(MultichoiceList_ContestType), + [MULTI_DECOR_NOREGISTRY] = MULTICHOICE(MultichoiceList_DecorNoRegistry), + [MULTI_DECOR_REGISTRY] = MULTICHOICE(MultichoiceList_DecorRegistry), + [MULTI_REGISTER_MENU] = MULTICHOICE(MultichoiceList_RegisterMenu), + [MULTI_SSTIDAL_LILYCOVE] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_UNUSED_9] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_UNUSED_10] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_FRONTIER_PASS_INFO] = MULTICHOICE(MultichoiceList_FrontierPassInfo), + [MULTI_BIKE] = MULTICHOICE(MultichoiceList_Bike), + [MULTI_STATUS_INFO] = MULTICHOICE(MultichoiceList_StatusInfo), + [MULTI_BRINEY_OFF_DEWFORD] = MULTICHOICE(MultichoiceList_BrineyOffDewford), + [MULTI_UNUSED_15] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_VIEWED_PAINTINGS] = MULTICHOICE(MultichoiceList_ViewedPaintings), + [MULTI_YESNOINFO] = MULTICHOICE(MultichoiceList_YesNoInfo), + [MULTI_BATTLE_MODE] = MULTICHOICE(MultichoiceList_BattleMode), + [MULTI_UNUSED_19] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_YESNOINFO_2] = MULTICHOICE(MultichoiceList_YesNoInfo2), + [MULTI_UNUSED_21] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_UNUSED_22] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_CHALLENGEINFO] = MULTICHOICE(MultichoiceList_ChallengeInfo), + [MULTI_LEVEL_MODE] = MULTICHOICE(MultichoiceList_LevelMode), + [MULTI_MECHADOLL1_Q1] = MULTICHOICE(MultichoiceList_Mechadoll1_Q1), + [MULTI_MECHADOLL1_Q2] = MULTICHOICE(MultichoiceList_Mechadoll1_Q2), + [MULTI_MECHADOLL1_Q3] = MULTICHOICE(MultichoiceList_Mechadoll1_Q3), + [MULTI_MECHADOLL2_Q1] = MULTICHOICE(MultichoiceList_Mechadoll2_Q1), + [MULTI_MECHADOLL2_Q2] = MULTICHOICE(MultichoiceList_Mechadoll2_Q2), + [MULTI_MECHADOLL2_Q3] = MULTICHOICE(MultichoiceList_Mechadoll2_Q3), + [MULTI_MECHADOLL3_Q1] = MULTICHOICE(MultichoiceList_Mechadoll3_Q1), + [MULTI_MECHADOLL3_Q2] = MULTICHOICE(MultichoiceList_Mechadoll3_Q2), + [MULTI_MECHADOLL3_Q3] = MULTICHOICE(MultichoiceList_Mechadoll3_Q3), + [MULTI_MECHADOLL4_Q1] = MULTICHOICE(MultichoiceList_Mechadoll4_Q1), + [MULTI_MECHADOLL4_Q2] = MULTICHOICE(MultichoiceList_Mechadoll4_Q2), + [MULTI_MECHADOLL4_Q3] = MULTICHOICE(MultichoiceList_Mechadoll4_Q3), + [MULTI_MECHADOLL5_Q1] = MULTICHOICE(MultichoiceList_Mechadoll5_Q1), + [MULTI_MECHADOLL5_Q2] = MULTICHOICE(MultichoiceList_Mechadoll5_Q2), + [MULTI_MECHADOLL5_Q3] = MULTICHOICE(MultichoiceList_Mechadoll5_Q3), + [MULTI_UNUSED_40] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_UNUSED_41] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_VENDING_MACHINE] = MULTICHOICE(MultichoiceList_VendingMachine), + [MULTI_MACH_BIKE_INFO] = MULTICHOICE(MultichoiceList_MachBikeInfo), + [MULTI_ACRO_BIKE_INFO] = MULTICHOICE(MultichoiceList_AcroBikeInfo), + [MULTI_SATISFACTION] = MULTICHOICE(MultichoiceList_Satisfaction), + [MULTI_STERN_DEEPSEA] = MULTICHOICE(MultichoiceList_SternDeepSea), + [MULTI_UNUSED_ASH_VENDOR] = MULTICHOICE(MultichoiceList_UnusedAshVendor), + [MULTI_GAME_CORNER_DOLLS] = MULTICHOICE(MultichoiceList_GameCornerDolls), + [MULTI_GAME_CORNER_COINS] = MULTICHOICE(MultichoiceList_GameCornerCoins), + [MULTI_HOWS_FISHING] = MULTICHOICE(MultichoiceList_HowsFishing), + [MULTI_UNUSED_51] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_SSTIDAL_SLATEPORT_WITH_BF] = MULTICHOICE(MultichoiceList_SSTidalSlateportWithBF), + [MULTI_SSTIDAL_BATTLE_FRONTIER] = MULTICHOICE(MultichoiceList_SSTidalBattleFrontier), + [MULTI_RIGHTLEFT] = MULTICHOICE(MultichoiceList_RightLeft), + [MULTI_GAME_CORNER_TMS] = MULTICHOICE(MultichoiceList_GameCornerTMs), + [MULTI_SSTIDAL_SLATEPORT_NO_BF] = MULTICHOICE(MultichoiceList_SSTidalSlateportNoBF), + [MULTI_FLOORS] = MULTICHOICE(MultichoiceList_Floors), + [MULTI_SHARDS_R] = MULTICHOICE(MultichoiceList_ShardsR), + [MULTI_SHARDS_Y] = MULTICHOICE(MultichoiceList_ShardsY), + [MULTI_SHARDS_RY] = MULTICHOICE(MultichoiceList_ShardsRY), + [MULTI_SHARDS_B] = MULTICHOICE(MultichoiceList_ShardsB), + [MULTI_SHARDS_RB] = MULTICHOICE(MultichoiceList_ShardsRB), + [MULTI_SHARDS_YB] = MULTICHOICE(MultichoiceList_ShardsYB), + [MULTI_SHARDS_RYB] = MULTICHOICE(MultichoiceList_ShardsRYB), + [MULTI_SHARDS_G] = MULTICHOICE(MultichoiceList_ShardsG), + [MULTI_SHARDS_RG] = MULTICHOICE(MultichoiceList_ShardsRG), + [MULTI_SHARDS_YG] = MULTICHOICE(MultichoiceList_ShardsYG), + [MULTI_SHARDS_RYG] = MULTICHOICE(MultichoiceList_ShardsRYG), + [MULTI_SHARDS_BG] = MULTICHOICE(MultichoiceList_ShardsBG), + [MULTI_SHARDS_RBG] = MULTICHOICE(MultichoiceList_ShardsRBG), + [MULTI_SHARDS_YBG] = MULTICHOICE(MultichoiceList_ShardsYBG), + [MULTI_SHARDS_RYBG] = MULTICHOICE(MultichoiceList_ShardsRYBG), + [MULTI_TOURNEY_WITH_RECORD] = MULTICHOICE(MultichoiceList_TourneyWithRecord), + [MULTI_CABLE_CLUB_NO_RECORD_MIX] = MULTICHOICE(MultichoiceList_LinkServicesNoRecordBerry), + [MULTI_WIRELESS_NO_RECORD_BERRY] = MULTICHOICE(MultichoiceList_LinkServicesNoRecordBerry), + [MULTI_CABLE_CLUB_WITH_RECORD_MIX] = MULTICHOICE(MultichoiceList_LinkServicesNoBerry), + [MULTI_WIRELESS_NO_BERRY] = MULTICHOICE(MultichoiceList_LinkServicesNoBerry), + [MULTI_WIRELESS_NO_RECORD] = MULTICHOICE(MultichoiceList_LinkServicesNoRecord), + [MULTI_WIRELESS_ALL_SERVICES] = MULTICHOICE(MultichoiceList_LinkServicesAll), + [MULTI_WIRELESS_MINIGAME] = MULTICHOICE(MultichoiceList_WirelessMinigame), + [MULTI_LINK_LEADER] = MULTICHOICE(MultichoiceList_LinkLeader), + [MULTI_CONTEST_RANK] = MULTICHOICE(MultichoiceList_ContestRank), + [MULTI_FRONTIER_ITEM_CHOOSE] = MULTICHOICE(MultichoiceList_FrontierItemChoose), + [MULTI_LINK_CONTEST_INFO] = MULTICHOICE(MultichoiceList_LinkContestInfo), + [MULTI_LINK_CONTEST_MODE] = MULTICHOICE(MultichoiceList_LinkContestMode), + [MULTI_FORCED_START_MENU] = MULTICHOICE(MultichoiceList_ForcedStartMenu), + [MULTI_FRONTIER_GAMBLER_BET] = MULTICHOICE(MultichoiceList_FrontierGamblerBet), + [MULTI_TENT] = MULTICHOICE(MultichoiceList_Tent), + [MULTI_UNUSED_SSTIDAL_1] = MULTICHOICE(MultichoiceList_UnusedSSTidal1), + [MULTI_UNUSED_SSTIDAL_2] = MULTICHOICE(MultichoiceList_UnusedSSTidal2), + [MULTI_UNUSED_SSTIDAL_3] = MULTICHOICE(MultichoiceList_UnusedSSTidal3), + [MULTI_UNUSED_SSTIDAL_4] = MULTICHOICE(MultichoiceList_UnusedSSTidal4), + [MULTI_FOSSIL] = MULTICHOICE(MultichoiceList_Fossil), + [MULTI_YESNO] = MULTICHOICE(MultichoiceList_YesNo), + [MULTI_FRONTIER_RULES] = MULTICHOICE(MultichoiceList_FrontierRules), + [MULTI_BATTLE_ARENA_RULES] = MULTICHOICE(MultichoiceList_BattleArenaRules), + [MULTI_BATTLE_TOWER_RULES] = MULTICHOICE(MultichoiceList_BattleTowerRules), + [MULTI_BATTLE_DOME_RULES] = MULTICHOICE(MultichoiceList_BattleDomeRules), + [MULTI_BATTLE_FACTORY_RULES] = MULTICHOICE(MultichoiceList_BattleFactoryRules), + [MULTI_BATTLE_PALACE_RULES] = MULTICHOICE(MultichoiceList_BattlePalaceRules), + [MULTI_BATTLE_PYRAMID_RULES] = MULTICHOICE(MultichoiceList_BattlePyramidRules), + [MULTI_BATTLE_PIKE_RULES] = MULTICHOICE(MultichoiceList_BattlePikeRules), + [MULTI_GO_ON_RECORD_REST_RETIRE] = MULTICHOICE(MultichoiceList_GoOnRecordRestRetire), + [MULTI_GO_ON_REST_RETIRE] = MULTICHOICE(MultichoiceList_GoOnRestRetire), + [MULTI_GO_ON_RECORD_RETIRE] = MULTICHOICE(MultichoiceList_GoOnRecordRetire), + [MULTI_GO_ON_RETIRE] = MULTICHOICE(MultichoiceList_GoOnRetire), + [MULTI_TOURNEY_NO_RECORD] = MULTICHOICE(MultichoiceList_TourneyNoRecord), + [MULTI_TV_LATI] = MULTICHOICE(MultichoiceList_TVLati), + [MULTI_BATTLE_TOWER_FEELINGS] = MULTICHOICE(MultichoiceList_BattleTowerFeelings), + [MULTI_WHERES_RAYQUAZA] = MULTICHOICE(MultichoiceList_WheresRayquaza), + [MULTI_SLATEPORT_TENT_RULES] = MULTICHOICE(MultichoiceList_SlateportTentRules), + [MULTI_FALLARBOR_TENT_RULES] = MULTICHOICE(MultichoiceList_FallarborTentRules), + [MULTI_TAG_MATCH_TYPE] = MULTICHOICE(MultichoiceList_TagMatchType), }; const u8 *const gStdStrings[] = @@ -934,17 +934,17 @@ const u8 *const gStdStrings[] = [STDSTRING_BATTLE_PYRAMID] = gText_BattlePyramid, }; -const u8 gLinkServicesMultichoiceIds[] = +static const u8 sLinkServicesMultichoiceIds[] = { - MULTI_LINK_SERVICES_A1, - MULTI_LINK_SERVICES_A2, - MULTI_LINK_SERVICES_B1, - MULTI_LINK_SERVICES_B2, - MULTI_LINK_SERVICES_C, - MULTI_LINK_SERVICES_D + MULTI_CABLE_CLUB_NO_RECORD_MIX, + MULTI_WIRELESS_NO_RECORD_BERRY, + MULTI_CABLE_CLUB_WITH_RECORD_MIX, + MULTI_WIRELESS_NO_BERRY, + MULTI_WIRELESS_NO_RECORD, + MULTI_WIRELESS_ALL_SERVICES }; -const u8 *const sPCNameStrings[] = +static const u8 *const sPCNameStrings[] = { gText_SomeonesPC, gText_LanettesPC, @@ -952,7 +952,7 @@ const u8 *const sPCNameStrings[] = gText_LogOff, }; -const u8 *const gLilycoveSSTidalDestinations[SSTIDAL_SELECTION_COUNT] = +static const u8 *const sLilycoveSSTidalDestinations[SSTIDAL_SELECTION_COUNT] = { [SSTIDAL_SELECTION_SLATEPORT] = gText_SlateportCity, [SSTIDAL_SELECTION_BATTLE_FRONTIER] = gText_BattleFrontier, @@ -963,29 +963,28 @@ const u8 *const gLilycoveSSTidalDestinations[SSTIDAL_SELECTION_COUNT] = [SSTIDAL_SELECTION_EXIT] = gText_Exit, }; -// TODO: name -const u8 *const gUnknown_0858BB9C[] = +static const u8 *const sCableClubOptions_WithRecordMix[] = { CableClub_Text_TradeUsingLinkCable, CableClub_Text_BattleUsingLinkCable, CableClub_Text_RecordCornerUsingLinkCable, CableClub_Text_CancelSelectedItem, }; -const u8 *const gUnknown_0858BBAC[] = +static const u8 *const sWirelessOptionsNoBerryCrush[] = { CableClub_Text_YouMayTradeHere, CableClub_Text_YouMayBattleHere, CableClub_Text_CanMixRecords, CableClub_Text_CancelSelectedItem, }; -const u8 *const gUnknown_0858BBBC[] = +static const u8 *const sWirelessOptions_NoRecordMix[] = { CableClub_Text_YouMayTradeHere, CableClub_Text_YouMayBattleHere, CableClub_Text_CanMakeBerryPowder, CableClub_Text_CancelSelectedItem, }; -const u8 *const gUnknown_0858BBCC[] = +static const u8 *const sWirelessOptions_AllServices[] = { CableClub_Text_YouMayTradeHere, CableClub_Text_YouMayBattleHere, @@ -993,13 +992,13 @@ const u8 *const gUnknown_0858BBCC[] = CableClub_Text_CanMakeBerryPowder, CableClub_Text_CancelSelectedItem, }; -const u8 *const gUnknown_0858BBE0[] = +static const u8 *const sCableClubOptions_NoRecordMix[] = { CableClub_Text_TradeUsingLinkCable, CableClub_Text_BattleUsingLinkCable, CableClub_Text_CancelSelectedItem, }; -const u8 *const gUnknown_0858BBEC[] = +static const u8 *const sWirelessOptions_NoRecordMixBerryCrush[] = { CableClub_Text_YouMayTradeHere, CableClub_Text_YouMayBattleHere, diff --git a/src/script_menu.c b/src/script_menu.c index cc4d45df0..7afe30080 100644 --- a/src/script_menu.c +++ b/src/script_menu.c @@ -74,7 +74,7 @@ static u16 GetLengthWithExpandedPlayerName(const u8 *str) if (*str == PLACEHOLDER_BEGIN) { str++; - if (*str == 1) // 01 is the second byte of the {PLAYER} placeholder + if (*str == PLACEHOLDER_ID_PLAYER) { length += StringLength(gSaveBlock2Ptr->playerName); str++; @@ -94,8 +94,8 @@ static void DrawMultichoiceMenu(u8 left, u8 top, u8 multichoiceId, bool8 ignoreB { int i; u8 windowId; - u8 count = gMultichoiceLists[multichoiceId].count; - const struct MenuAction *actions = gMultichoiceLists[multichoiceId].list; + u8 count = sMultichoiceLists[multichoiceId].count; + const struct MenuAction *actions = sMultichoiceLists[multichoiceId].list; int width = 0; u8 newWidth; @@ -129,9 +129,9 @@ static void InitMultichoiceCheckWrap(bool8 ignoreBPress, u8 count, u8 windowId, u8 taskId; sProcessInputDelay = 2; - for (i = 0; i < ARRAY_COUNT(gLinkServicesMultichoiceIds); i++) + for (i = 0; i < ARRAY_COUNT(sLinkServicesMultichoiceIds); i++) { - if (gLinkServicesMultichoiceIds[i] == multichoiceId) + if (sLinkServicesMultichoiceIds[i] == multichoiceId) { sProcessInputDelay = 12; } @@ -263,22 +263,22 @@ bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, bool8 ignore gSpecialVar_Result = 0xFF; width = 0; - for (i = 0; i < gMultichoiceLists[multichoiceId].count; i++) + for (i = 0; i < sMultichoiceLists[multichoiceId].count; i++) { - width = DisplayTextAndGetWidth(gMultichoiceLists[multichoiceId].list[i].text, width); + width = DisplayTextAndGetWidth(sMultichoiceLists[multichoiceId].list[i].text, width); } newWidth = ConvertPixelWidthToTileWidth(width); left = ScriptMenu_AdjustLeftCoordFromWidth(left, columnCount * newWidth); - rowCount = gMultichoiceLists[multichoiceId].count / columnCount; + rowCount = sMultichoiceLists[multichoiceId].count / columnCount; taskId = CreateTask(Task_HandleMultichoiceGridInput, 80); gTasks[taskId].tIgnoreBPress = ignoreBPress; gTasks[taskId].tWindowId = CreateWindowFromRect(left, top, columnCount * newWidth, rowCount * 2); SetStandardWindowBorderStyle(gTasks[taskId].tWindowId, 0); - PrintMenuGridTable(gTasks[taskId].tWindowId, newWidth * 8, columnCount, rowCount, gMultichoiceLists[multichoiceId].list); + PrintMenuGridTable(gTasks[taskId].tWindowId, newWidth * 8, columnCount, rowCount, sMultichoiceLists[multichoiceId].list); sub_8199944(gTasks[taskId].tWindowId, newWidth * 8, columnCount, rowCount, 0); CopyWindowToVram(gTasks[taskId].tWindowId, 3); return TRUE; @@ -515,7 +515,7 @@ static void CreateLilycoveSSTidalMultichoice(void) u8 selection = sLilycoveSSTidalSelections[j]; if (selection != 0xFF) { - pixelWidth = DisplayTextAndGetWidth(gLilycoveSSTidalDestinations[selection], pixelWidth); + pixelWidth = DisplayTextAndGetWidth(sLilycoveSSTidalDestinations[selection], pixelWidth); } } @@ -527,7 +527,7 @@ static void CreateLilycoveSSTidalMultichoice(void) { if (sLilycoveSSTidalSelections[i] != 0xFF) { - AddTextPrinterParameterized(windowId, 1, gLilycoveSSTidalDestinations[sLilycoveSSTidalSelections[i]], 8, selectionCount * 16 + 1, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(windowId, 1, sLilycoveSSTidalDestinations[sLilycoveSSTidalSelections[i]], 8, selectionCount * 16 + 1, TEXT_SPEED_FF, NULL); selectionCount++; } } @@ -643,29 +643,29 @@ static void DrawLinkServicesMultichoiceMenu(u8 multichoiceId) { switch (multichoiceId) { - case MULTI_LINK_SERVICES_B2: + case MULTI_WIRELESS_NO_BERRY: FillWindowPixelBuffer(0, PIXEL_FILL(1)); - AddTextPrinterParameterized2(0, 1, gUnknown_0858BBAC[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, 1, sWirelessOptionsNoBerryCrush[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); break; - case MULTI_LINK_SERVICES_B1: + case MULTI_CABLE_CLUB_WITH_RECORD_MIX: FillWindowPixelBuffer(0, PIXEL_FILL(1)); - AddTextPrinterParameterized2(0, 1, gUnknown_0858BB9C[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, 1, sCableClubOptions_WithRecordMix[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); break; - case MULTI_LINK_SERVICES_C: + case MULTI_WIRELESS_NO_RECORD: FillWindowPixelBuffer(0, PIXEL_FILL(1)); - AddTextPrinterParameterized2(0, 1, gUnknown_0858BBBC[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, 1, sWirelessOptions_NoRecordMix[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); break; - case MULTI_LINK_SERVICES_D: + case MULTI_WIRELESS_ALL_SERVICES: FillWindowPixelBuffer(0, PIXEL_FILL(1)); - AddTextPrinterParameterized2(0, 1, gUnknown_0858BBCC[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, 1, sWirelessOptions_AllServices[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); break; - case MULTI_LINK_SERVICES_A2: + case MULTI_WIRELESS_NO_RECORD_BERRY: FillWindowPixelBuffer(0, PIXEL_FILL(1)); - AddTextPrinterParameterized2(0, 1, gUnknown_0858BBEC[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, 1, sWirelessOptions_NoRecordMixBerryCrush[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); break; - case MULTI_LINK_SERVICES_A1: + case MULTI_CABLE_CLUB_NO_RECORD_MIX: FillWindowPixelBuffer(0, PIXEL_FILL(1)); - AddTextPrinterParameterized2(0, 1, gUnknown_0858BBE0[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, 1, sCableClubOptions_NoRecordMix[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); break; } } diff --git a/src/string_util.c b/src/string_util.c index 39d235ab8..bce299057 100644 --- a/src/string_util.c +++ b/src/string_util.c @@ -505,20 +505,20 @@ const u8 *GetExpandedPlaceholder(u32 id) static const ExpandPlaceholderFunc funcs[] = { - ExpandPlaceholder_UnknownStringVar, - ExpandPlaceholder_PlayerName, - ExpandPlaceholder_StringVar1, - ExpandPlaceholder_StringVar2, - ExpandPlaceholder_StringVar3, - ExpandPlaceholder_KunChan, - ExpandPlaceholder_RivalName, - ExpandPlaceholder_Version, - ExpandPlaceholder_Aqua, - ExpandPlaceholder_Magma, - ExpandPlaceholder_Archie, - ExpandPlaceholder_Maxie, - ExpandPlaceholder_Kyogre, - ExpandPlaceholder_Groudon, + [PLACEHOLDER_ID_UNKNOWN] = ExpandPlaceholder_UnknownStringVar, + [PLACEHOLDER_ID_PLAYER] = ExpandPlaceholder_PlayerName, + [PLACEHOLDER_ID_STRING_VAR_1] = ExpandPlaceholder_StringVar1, + [PLACEHOLDER_ID_STRING_VAR_2] = ExpandPlaceholder_StringVar2, + [PLACEHOLDER_ID_STRING_VAR_3] = ExpandPlaceholder_StringVar3, + [PLACEHOLDER_ID_KUN] = ExpandPlaceholder_KunChan, + [PLACEHOLDER_ID_RIVAL] = ExpandPlaceholder_RivalName, + [PLACEHOLDER_ID_VERSION] = ExpandPlaceholder_Version, + [PLACEHOLDER_ID_AQUA] = ExpandPlaceholder_Aqua, + [PLACEHOLDER_ID_MAGMA] = ExpandPlaceholder_Magma, + [PLACEHOLDER_ID_ARCHIE] = ExpandPlaceholder_Archie, + [PLACEHOLDER_ID_MAXIE] = ExpandPlaceholder_Maxie, + [PLACEHOLDER_ID_KYOGRE] = ExpandPlaceholder_Kyogre, + [PLACEHOLDER_ID_GROUDON] = ExpandPlaceholder_Groudon, }; if (id >= ARRAY_COUNT(funcs)) -- cgit v1.2.3 From 80f58f7b24058db4f6e6ab62b24875d0b78b084a Mon Sep 17 00:00:00 2001 From: GriffinR Date: Tue, 17 Sep 2019 15:24:44 -0400 Subject: Document PLAYER_HAS constants, consolidate poke constants --- src/pokemon.c | 12 ++++++------ src/script_pokemon_util_80F87D8.c | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) (limited to 'src') diff --git a/src/pokemon.c b/src/pokemon.c index 29358b22f..8812e5bc4 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -4817,11 +4817,11 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov { if (evCount >= MAX_TOTAL_EVS) return TRUE; - if (dataSigned >= 100) + if (dataSigned >= EV_ITEM_RAISE_LIMIT) break; - if (dataSigned + r2 > 100) - r5 = 100 - (dataSigned + r2) + r2; + if (dataSigned + r2 > EV_ITEM_RAISE_LIMIT) + r5 = EV_ITEM_RAISE_LIMIT - (dataSigned + r2) + r2; else r5 = r2; @@ -5021,11 +5021,11 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov { if (evCount >= MAX_TOTAL_EVS) return TRUE; - if (dataSigned >= 100) + if (dataSigned >= EV_ITEM_RAISE_LIMIT) break; - if (dataSigned + r2 > 100) - r5 = 100 - (dataSigned + r2) + r2; + if (dataSigned + r2 > EV_ITEM_RAISE_LIMIT) + r5 = EV_ITEM_RAISE_LIMIT - (dataSigned + r2) + r2; else r5 = r2; diff --git a/src/script_pokemon_util_80F87D8.c b/src/script_pokemon_util_80F87D8.c index 51bd73b1c..a80fe49ff 100755 --- a/src/script_pokemon_util_80F87D8.c +++ b/src/script_pokemon_util_80F87D8.c @@ -585,14 +585,14 @@ void HasEnoughMonsForDoubleBattle(void) { switch (GetMonsStateToDoubles()) { - case 0: - gSpecialVar_Result = 0; + case PLAYER_HAS_TWO_USABLE_MONS: + gSpecialVar_Result = PLAYER_HAS_TWO_USABLE_MONS; break; - case 1: - gSpecialVar_Result = 1; + case PLAYER_HAS_ONE_MON: + gSpecialVar_Result = PLAYER_HAS_ONE_MON; break; - case 2: - gSpecialVar_Result = 2; + case PLAYER_HAS_ONE_USABLE_MON: + gSpecialVar_Result = PLAYER_HAS_ONE_USABLE_MON; break; } } -- cgit v1.2.3 From 9aaf4984716b0576cbccc6a762448fd4dc269c22 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Wed, 28 Aug 2019 05:58:19 +0800 Subject: CopyTileMapEntry --- src/bg.c | 69 ++++++++++------------------------------------------------------ 1 file changed, 10 insertions(+), 59 deletions(-) (limited to 'src') diff --git a/src/bg.c b/src/bg.c index 1678f4023..ab4e8b60d 100644 --- a/src/bg.c +++ b/src/bg.c @@ -1174,78 +1174,29 @@ u32 GetTileMapIndexFromCoords(s32 x, s32 y, s32 screenSize, u32 screenWidth, u32 return (y * 0x20) + x; } -#ifdef NONMATCHING // This one has some weird switch statement cases that refuse to cooperate void CopyTileMapEntry(const u16 *src, u16 *dest, s32 palette1, s32 tileOffset, s32 palette2) { u16 var; + + if (palette1 == 16) + goto CASE_16; switch (palette1) { case 0 ... 16: - if (palette1 != 16) - var = ((*src + tileOffset) & 0xFFF) + ((palette1 + palette2) << 12); - else - var = ((*dest & 0xFC00) + (palette2 << 12)) | ((*src + tileOffset) & 0x3FF); + var = ((*src + tileOffset) & 0xFFF) + ((palette1 + palette2) << 12); + break; + CASE_16: + var = *dest; + var &= 0xFC00; + var += palette2 << 12; + var |= (*src + tileOffset) & 0x3FF; break; default: var = *src + tileOffset + (palette2 << 12); break; } - *dest = var; } -#else -NAKED -void CopyTileMapEntry(const u16 *src, u16 *dest, s32 palette1, s32 tileOffset, s32 palette2) -{ - asm("push {r4-r6,lr}\n\ - add r4, r0, #0\n\ - add r6, r1, #0\n\ - ldr r5, [sp, #0x10]\n\ - cmp r2, #0x10\n\ - beq _08002B14\n\ - cmp r2, #0x10\n\ - bgt _08002B34\n\ - cmp r2, #0\n\ - blt _08002B34\n\ - ldrh r0, [r4]\n\ - add r0, r3\n\ - ldr r3, =0x00000fff\n\ - add r1, r3, #0\n\ - and r0, r1\n\ - add r1, r2, r5\n\ - lsl r1, #12\n\ - b _08002B3A\n\ - .pool\n\ -_08002B14:\n\ - ldrh r1, [r6]\n\ - mov r0, #0xFC\n\ - lsl r0, #8\n\ - and r1, r0\n\ - lsl r2, r5, #12\n\ - add r2, r1, r2\n\ - ldrh r0, [r4]\n\ - add r0, r3\n\ - ldr r3, =0x000003ff\n\ - add r1, r3, #0\n\ - and r0, r1\n\ - orr r0, r2\n\ - b _08002B3C\n\ - .pool\n\ -_08002B34:\n\ - ldrh r0, [r4]\n\ - add r0, r3\n\ - lsl r1, r5, #12\n\ -_08002B3A:\n\ - add r0, r1\n\ -_08002B3C:\n\ - lsl r0, #16\n\ - lsr r1, r0, #16\n\ - strh r1, [r6]\n\ - pop {r4-r6}\n\ - pop {r0}\n\ - bx r0\n"); -} -#endif // NONMATCHING u32 GetBgType(u8 bg) { -- cgit v1.2.3 From 405384de8913c9fec97891986d0ee5f41e32c2b8 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Wed, 28 Aug 2019 06:00:34 +0800 Subject: Phase2_Ripple_Func2 --- src/battle_transition.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/battle_transition.c b/src/battle_transition.c index 3e86fcf51..e4201192f 100644 --- a/src/battle_transition.c +++ b/src/battle_transition.c @@ -1961,9 +1961,10 @@ static bool8 Phase2_Ripple_Func2(struct Task *task) for (i = 0; i < 160; i++, r4 += r8) { - // todo: fix the asm s16 var = r4 >> 8; - asm(""); + + ++var; + --var; gScanlineEffectRegBuffers[0][i] = sTransitionStructPtr->field_16 + Sin(var, r3); } -- cgit v1.2.3 From 1ae352bcb6307ae5aa6f64085dea217c0ca23eac Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Wed, 25 Sep 2019 16:39:09 -0500 Subject: Cleanup whitespace --- src/battle_transition.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/battle_transition.c b/src/battle_transition.c index e4201192f..fb7fd0c2f 100644 --- a/src/battle_transition.c +++ b/src/battle_transition.c @@ -1963,8 +1963,8 @@ static bool8 Phase2_Ripple_Func2(struct Task *task) { s16 var = r4 >> 8; - ++var; - --var; + var++; + var--; gScanlineEffectRegBuffers[0][i] = sTransitionStructPtr->field_16 + Sin(var, r3); } -- cgit v1.2.3 From 801ca37f0402083d7c0749cbf2ea473bf9dc4894 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Wed, 25 Sep 2019 14:48:22 -0400 Subject: Document day_care.inc and related --- src/daycare.c | 285 +++++++++++++++++++++++++++----------------------------- src/egg_hatch.c | 14 +-- 2 files changed, 146 insertions(+), 153 deletions(-) (limited to 'src') diff --git a/src/daycare.c b/src/daycare.c index dc44b4887..bd705e73f 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -3,14 +3,11 @@ #include "battle.h" #include "daycare.h" #include "string_util.h" -#include "constants/species.h" -#include "constants/items.h" #include "mail.h" #include "pokemon_storage_system.h" #include "event_data.h" #include "random.h" #include "main.h" -#include "constants/moves.h" #include "egg_hatch.h" #include "text.h" #include "menu.h" @@ -22,9 +19,10 @@ #include "party_menu.h" #include "list_menu.h" #include "overworld.h" - -#define EGG_MOVES_ARRAY_COUNT 10 -#define EGG_LVL_UP_MOVES_ARRAY_COUNT 50 +#include "constants/items.h" +#include "constants/moves.h" +#include "constants/region_map_sections.h" +#include "constants/species.h" // this file's functions static void ClearDaycareMonMail(struct DayCareMail *mail); @@ -52,11 +50,13 @@ static const struct WindowTemplate sDaycareLevelMenuWindowTemplate = .baseBlock = 8 }; +// Indices here are assigned by Task_HandleDaycareLevelMenuInput to VAR_RESULT, +// which is copied to VAR_0x8004 and used as an index for GetDaycareCost static const struct ListMenuItem sLevelMenuItems[] = { - {gExpandedPlaceholder_Empty, 0}, - {gExpandedPlaceholder_Empty, 1}, - {gText_Exit, 5} + {gExpandedPlaceholder_Empty, EGG_MOTHER}, + {gExpandedPlaceholder_Empty, EGG_FATHER}, + {gText_Exit, DAYCARE_LEVEL_MENU_EXIT} }; static const struct ListMenuTemplate sDaycareListMenuLevelTemplate = @@ -202,16 +202,16 @@ void StoreSelectedPokemonInDaycare(void) static void ShiftDaycareSlots(struct DayCare *daycare) { // This condition is only satisfied when the player takes out the first pokemon from the daycare. - if (GetBoxMonData(&daycare->mons[1].mon, MON_DATA_SPECIES) != 0 - && GetBoxMonData(&daycare->mons[0].mon, MON_DATA_SPECIES) == 0) + if (GetBoxMonData(&daycare->mons[EGG_FATHER].mon, MON_DATA_SPECIES) != SPECIES_NONE + && GetBoxMonData(&daycare->mons[EGG_MOTHER].mon, MON_DATA_SPECIES) == SPECIES_NONE) { - daycare->mons[0].mon = daycare->mons[1].mon; - ZeroBoxMonData(&daycare->mons[1].mon); + daycare->mons[EGG_MOTHER].mon = daycare->mons[EGG_FATHER].mon; + ZeroBoxMonData(&daycare->mons[EGG_FATHER].mon); - daycare->mons[0].mail = daycare->mons[1].mail; - daycare->mons[0].steps = daycare->mons[1].steps; - daycare->mons[1].steps = 0; - ClearDaycareMonMail(&daycare->mons[1].mail); + daycare->mons[EGG_MOTHER].mail = daycare->mons[EGG_FATHER].mail; + daycare->mons[EGG_MOTHER].steps = daycare->mons[EGG_FATHER].steps; + daycare->mons[EGG_FATHER].steps = 0; + ClearDaycareMonMail(&daycare->mons[EGG_FATHER].mail); } } @@ -341,8 +341,8 @@ void GetDaycareCost(void) static void Debug_AddDaycareSteps(u16 numSteps) { - gSaveBlock1Ptr->daycare.mons[0].steps += numSteps; - gSaveBlock1Ptr->daycare.mons[1].steps += numSteps; + gSaveBlock1Ptr->daycare.mons[EGG_MOTHER].steps += numSteps; + gSaveBlock1Ptr->daycare.mons[EGG_FATHER].steps += numSteps; } u8 GetNumLevelsGainedFromDaycare(void) @@ -419,18 +419,18 @@ static u16 GetEggSpecies(u16 species) return species; } -static s32 GetSlotToInheritNature(struct DayCare *daycare) +static s32 GetParentToInheritNature(struct DayCare *daycare) { u32 species[DAYCARE_MON_COUNT]; s32 i; s32 dittoCount; - s32 slot = -1; + s32 parent = NEITHER_PARENT; // search for female gender for (i = 0; i < DAYCARE_MON_COUNT; i++) { if (GetBoxMonGender(&daycare->mons[i].mon) == MON_FEMALE) - slot = i; + parent = i; } // search for ditto @@ -438,50 +438,52 @@ static s32 GetSlotToInheritNature(struct DayCare *daycare) { species[i] = GetBoxMonData(&daycare->mons[i].mon, MON_DATA_SPECIES); if (species[i] == SPECIES_DITTO) - dittoCount++, slot = i; + dittoCount++, parent = i; } // coin flip on ...two Dittos - if (dittoCount == 2) + if (dittoCount == DAYCARE_MON_COUNT) { if (Random() >= USHRT_MAX / 2) - slot = 0; + parent = EGG_MOTHER; else - slot = 1; + parent = EGG_FATHER; } - // nature inheritance only if holds everstone - if (GetBoxMonData(&daycare->mons[slot].mon, MON_DATA_HELD_ITEM) != ITEM_EVERSTONE + // Don't inherit nature if not holding Everstone + if (GetBoxMonData(&daycare->mons[parent].mon, MON_DATA_HELD_ITEM) != ITEM_EVERSTONE || Random() >= USHRT_MAX / 2) { - return -1; + return NEITHER_PARENT; } - return slot; + return parent; } static void _TriggerPendingDaycareEgg(struct DayCare *daycare) { - s32 natureSlot; + s32 parent; s32 natureTries = 0; SeedRng2(gMain.vblankCounter2); - natureSlot = GetSlotToInheritNature(daycare); + parent = GetParentToInheritNature(daycare); - if (natureSlot < 0) + // don't inherit nature + if (parent < 0) { - daycare->offspringPersonality = (Random2() << 0x10) | ((Random() % 0xfffe) + 1); + daycare->offspringPersonality = (Random2() << 16) | ((Random() % 0xfffe) + 1); } + // inherit nature else { - u8 wantedNature = GetNatureFromPersonality(GetBoxMonData(&daycare->mons[natureSlot].mon, MON_DATA_PERSONALITY, NULL)); + u8 wantedNature = GetNatureFromPersonality(GetBoxMonData(&daycare->mons[parent].mon, MON_DATA_PERSONALITY, NULL)); u32 personality; do { - personality = (Random2() << 0x10) | (Random()); + personality = (Random2() << 16) | (Random()); if (wantedNature == GetNatureFromPersonality(personality) && personality != 0) - break; // we found a personality with the same nature + break; // found a personality with the same nature natureTries++; } while (natureTries <= 2400); @@ -492,9 +494,10 @@ static void _TriggerPendingDaycareEgg(struct DayCare *daycare) FlagSet(FLAG_PENDING_DAYCARE_EGG); } +// Functionally unused static void _TriggerPendingDaycareMaleEgg(struct DayCare *daycare) { - daycare->offspringPersonality = (Random()) | (0x8000); + daycare->offspringPersonality = (Random()) | (EGG_GENDER_MALE); FlagSet(FLAG_PENDING_DAYCARE_EGG); } @@ -503,6 +506,7 @@ void TriggerPendingDaycareEgg(void) _TriggerPendingDaycareEgg(&gSaveBlock1Ptr->daycare); } +// Unused static void TriggerPendingDaycareMaleEgg(void) { _TriggerPendingDaycareMaleEgg(&gSaveBlock1Ptr->daycare); @@ -532,9 +536,9 @@ static void RemoveIVIndexFromList(u8 *ivs, u8 selectedIv) static void InheritIVs(struct Pokemon *egg, struct DayCare *daycare) { u8 i; - u8 selectedIvs[3]; + u8 selectedIvs[INHERITED_IV_COUNT]; u8 availableIVs[NUM_STATS]; - u8 whichParent[ARRAY_COUNT(selectedIvs)]; + u8 whichParent[INHERITED_IV_COUNT]; u8 iv; // Initialize a list of IV indices. @@ -544,23 +548,21 @@ static void InheritIVs(struct Pokemon *egg, struct DayCare *daycare) } // Select the 3 IVs that will be inherited. - for (i = 0; i < ARRAY_COUNT(selectedIvs); i++) + for (i = 0; i < INHERITED_IV_COUNT; i++) { - // Randomly pick an IV from the available list. + // Randomly pick an IV from the available list and stop from being chosen again. selectedIvs[i] = availableIVs[Random() % (NUM_STATS - i)]; - - // Remove the selected IV index from the available IV indices. RemoveIVIndexFromList(availableIVs, i); } // Determine which parent each of the selected IVs should inherit from. - for (i = 0; i < ARRAY_COUNT(selectedIvs); i++) + for (i = 0; i < INHERITED_IV_COUNT; i++) { - whichParent[i] = Random() % 2; + whichParent[i] = Random() % DAYCARE_MON_COUNT; } // Set each of inherited IVs on the egg mon. - for (i = 0; i < ARRAY_COUNT(selectedIvs); i++) + for (i = 0; i < INHERITED_IV_COUNT; i++) { switch (selectedIvs[i]) { @@ -638,14 +640,14 @@ static void BuildEggMoveset(struct Pokemon *egg, struct BoxPokemon *father, stru numSharedParentMoves = 0; for (i = 0; i < MAX_MON_MOVES; i++) { - sHatchedEggMotherMoves[i] = 0; - sHatchedEggFatherMoves[i] = 0; - sHatchedEggFinalMoves[i] = 0; + sHatchedEggMotherMoves[i] = MOVE_NONE; + sHatchedEggFatherMoves[i] = MOVE_NONE; + sHatchedEggFinalMoves[i] = MOVE_NONE; } for (i = 0; i < EGG_MOVES_ARRAY_COUNT; i++) - sHatchedEggEggMoves[i] = 0; + sHatchedEggEggMoves[i] = MOVE_NONE; for (i = 0; i < EGG_LVL_UP_MOVES_ARRAY_COUNT; i++) - sHatchedEggLevelUpMoves[i] = 0; + sHatchedEggLevelUpMoves[i] = MOVE_NONE; numLevelUpMoves = GetLevelUpMovesBySpecies(GetMonData(egg, MON_DATA_SPECIES), sHatchedEggLevelUpMoves); for (i = 0; i < MAX_MON_MOVES; i++) @@ -732,8 +734,8 @@ static void AlterEggSpeciesWithIncenseItem(u16 *species, struct DayCare *daycare u16 motherItem, fatherItem; if (*species == SPECIES_WYNAUT || *species == SPECIES_AZURILL) { - motherItem = GetBoxMonData(&daycare->mons[0].mon, MON_DATA_HELD_ITEM); - fatherItem = GetBoxMonData(&daycare->mons[1].mon, MON_DATA_HELD_ITEM); + motherItem = GetBoxMonData(&daycare->mons[EGG_MOTHER].mon, MON_DATA_HELD_ITEM); + fatherItem = GetBoxMonData(&daycare->mons[EGG_FATHER].mon, MON_DATA_HELD_ITEM); if (*species == SPECIES_WYNAUT && motherItem != ITEM_LAX_INCENSE && fatherItem != ITEM_LAX_INCENSE) { *species = SPECIES_WOBBUFFET; @@ -748,8 +750,8 @@ static void AlterEggSpeciesWithIncenseItem(u16 *species, struct DayCare *daycare static void GiveVoltTackleIfLightBall(struct Pokemon *mon, struct DayCare *daycare) { - u32 motherItem = GetBoxMonData(&daycare->mons[0].mon, MON_DATA_HELD_ITEM); - u32 fatherItem = GetBoxMonData(&daycare->mons[1].mon, MON_DATA_HELD_ITEM); + u32 motherItem = GetBoxMonData(&daycare->mons[EGG_MOTHER].mon, MON_DATA_HELD_ITEM); + u32 fatherItem = GetBoxMonData(&daycare->mons[EGG_FATHER].mon, MON_DATA_HELD_ITEM); if (motherItem == ITEM_LIGHT_BALL || fatherItem == ITEM_LIGHT_BALL) { @@ -761,60 +763,57 @@ static void GiveVoltTackleIfLightBall(struct Pokemon *mon, struct DayCare *dayca static u16 DetermineEggSpeciesAndParentSlots(struct DayCare *daycare, u8 *parentSlots) { u16 i; - u16 species[2]; + u16 species[DAYCARE_MON_COUNT]; u16 eggSpecies; - // 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, MON_DATA_SPECIES); if (species[i] == SPECIES_DITTO) { - parentSlots[0] = i ^ 1; - parentSlots[1] = i; + parentSlots[EGG_MOTHER] = i ^ 1; + parentSlots[EGG_FATHER] = i; } else if (GetBoxMonGender(&daycare->mons[i].mon) == MON_FEMALE) { - parentSlots[0] = i; - parentSlots[1] = i ^ 1; + parentSlots[EGG_MOTHER] = i; + parentSlots[EGG_FATHER] = i ^ 1; } } - eggSpecies = GetEggSpecies(species[parentSlots[0]]); - if (eggSpecies == SPECIES_NIDORAN_F && daycare->offspringPersonality & 0x8000) + eggSpecies = GetEggSpecies(species[parentSlots[EGG_MOTHER]]); + if (eggSpecies == SPECIES_NIDORAN_F && daycare->offspringPersonality & EGG_GENDER_MALE) { eggSpecies = SPECIES_NIDORAN_M; } - if (eggSpecies == SPECIES_ILLUMISE && daycare->offspringPersonality & 0x8000) + if (eggSpecies == SPECIES_ILLUMISE && daycare->offspringPersonality & EGG_GENDER_MALE) { eggSpecies = SPECIES_VOLBEAT; } // Make Ditto the "mother" slot if the other daycare mon is male. - if (species[parentSlots[1]] == SPECIES_DITTO && GetBoxMonGender(&daycare->mons[parentSlots[0]].mon) != MON_FEMALE) + if (species[parentSlots[EGG_FATHER]] == SPECIES_DITTO && GetBoxMonGender(&daycare->mons[parentSlots[EGG_MOTHER]].mon) != MON_FEMALE) { - u8 temp = parentSlots[1]; - parentSlots[1] = parentSlots[0]; - parentSlots[0] = temp; + u8 ditto = parentSlots[EGG_FATHER]; + parentSlots[EGG_FATHER] = parentSlots[EGG_MOTHER]; + parentSlots[EGG_MOTHER] = ditto; } return eggSpecies; } -static void _GiveEggFromDaycare(struct DayCare *daycare) // give_egg +static void _GiveEggFromDaycare(struct DayCare *daycare) { struct Pokemon egg; u16 species; - u8 parentSlots[2]; // 0th index is "mother" daycare slot, 1st is "father" + u8 parentSlots[DAYCARE_MON_COUNT]; bool8 isEgg; species = DetermineEggSpeciesAndParentSlots(daycare, parentSlots); AlterEggSpeciesWithIncenseItem(&species, daycare); SetInitialEggData(&egg, species, daycare); InheritIVs(&egg, daycare); - BuildEggMoveset(&egg, &daycare->mons[parentSlots[1]].mon, &daycare->mons[parentSlots[0]].mon); + BuildEggMoveset(&egg, &daycare->mons[parentSlots[EGG_FATHER]].mon, &daycare->mons[parentSlots[EGG_MOTHER]].mon); if (species == SPECIES_PICHU) GiveVoltTackleIfLightBall(&egg, daycare); @@ -835,7 +834,7 @@ void CreateEgg(struct Pokemon *mon, u16 species, bool8 setHotSpringsLocation) u8 metLocation; u8 isEgg; - CreateMon(mon, species, EGG_HATCH_LEVEL, 0x20, FALSE, 0, OT_ID_PLAYER_ID, 0); + CreateMon(mon, species, EGG_HATCH_LEVEL, 32, FALSE, 0, OT_ID_PLAYER_ID, 0); metLevel = 0; ball = ITEM_POKE_BALL; language = LANGUAGE_JAPANESE; @@ -846,7 +845,7 @@ void CreateEgg(struct Pokemon *mon, u16 species, bool8 setHotSpringsLocation) SetMonData(mon, MON_DATA_LANGUAGE, &language); if (setHotSpringsLocation) { - metLocation = 253; // hot springs; see PokemonSummaryScreen_PrintEggTrainerMemo + metLocation = METLOC_SPECIAL_EGG; SetMonData(mon, MON_DATA_MET_LOCATION, &metLocation); } @@ -862,7 +861,7 @@ static void SetInitialEggData(struct Pokemon *mon, u16 species, struct DayCare * u8 language; personality = daycare->offspringPersonality; - CreateMon(mon, species, EGG_HATCH_LEVEL, 0x20, TRUE, personality, OT_ID_PLAYER_ID, 0); + CreateMon(mon, species, EGG_HATCH_LEVEL, 32, TRUE, personality, OT_ID_PLAYER_ID, 0); metLevel = 0; ball = ITEM_POKE_BALL; language = LANGUAGE_JAPANESE; @@ -889,7 +888,7 @@ static bool8 _DoEggActions_CheckHatch(struct DayCare *daycare) } // try to trigger poke sex - if (daycare->offspringPersonality == 0 && validEggs == 2 && (daycare->mons[1].steps & 0xFF) == 0xFF) + if (daycare->offspringPersonality == 0 && validEggs == DAYCARE_MON_COUNT && (daycare->mons[EGG_FATHER].steps & 0xFF) == 0xFF) { u8 loveScore = GetDaycareCompatibilityScore(daycare); if (loveScore > (Random() * 100u) / USHRT_MAX) @@ -945,16 +944,16 @@ static bool8 IsEggPending(struct DayCare *daycare) static void _GetDaycareMonNicknames(struct DayCare *daycare) { u8 text[12]; - if (GetBoxMonData(&daycare->mons[0].mon, MON_DATA_SPECIES) != 0) + if (GetBoxMonData(&daycare->mons[EGG_MOTHER].mon, MON_DATA_SPECIES) != 0) { - GetBoxMonNick(&daycare->mons[0].mon, gStringVar1); - GetBoxMonData(&daycare->mons[0].mon, MON_DATA_OT_NAME, text); + GetBoxMonNick(&daycare->mons[EGG_MOTHER].mon, gStringVar1); + GetBoxMonData(&daycare->mons[EGG_MOTHER].mon, MON_DATA_OT_NAME, text); StringCopy(gStringVar3, text); } - if (GetBoxMonData(&daycare->mons[1].mon, MON_DATA_SPECIES) != 0) + if (GetBoxMonData(&daycare->mons[EGG_FATHER].mon, MON_DATA_SPECIES) != 0) { - GetBoxMonNick(&daycare->mons[1].mon, gStringVar2); + GetBoxMonNick(&daycare->mons[EGG_FATHER].mon, gStringVar2); } } @@ -971,26 +970,19 @@ void GetDaycareMonNicknames(void) u8 GetDaycareState(void) { - // The daycare can be in 4 possible states: - // 0: default state--no deposited mons, no egg - // 1: there is an egg waiting for the player to pick it up - // 2: there is a single pokemon in the daycare - // 3: there are two pokemon in the daycare, no egg - u8 numMons; if (IsEggPending(&gSaveBlock1Ptr->daycare)) { - // There is an Egg waiting for the player. - return 1; + return DAYCARE_EGG_WAITING; } numMons = CountPokemonInDaycare(&gSaveBlock1Ptr->daycare); if (numMons != 0) { - return numMons + 1; + return numMons + 1; // DAYCARE_ONE_MON or DAYCARE_TWO_MONS } - return 0; + return DAYCARE_NO_MONS; } static u8 GetDaycarePokemonCount(void) @@ -1002,15 +994,15 @@ static u8 GetDaycarePokemonCount(void) return 0; } +// Determine if the two given egg group lists contain any of the +// same egg groups. static bool8 EggGroupsOverlap(u16 *eggGroups1, u16 *eggGroups2) { - // Determine if the two given egg group lists contain any of the - // same egg groups. s32 i, j; - for (i = 0; i < 2; i++) + for (i = 0; i < EGG_GROUPS_PER_MON; i++) { - for (j = 0; j < 2; j++) + for (j = 0; j < EGG_GROUPS_PER_MON; j++) { if (eggGroups1[i] == eggGroups2[j]) return TRUE; @@ -1023,12 +1015,12 @@ static bool8 EggGroupsOverlap(u16 *eggGroups1, u16 *eggGroups2) static u8 GetDaycareCompatibilityScore(struct DayCare *daycare) { u32 i; - u16 eggGroups[2][2]; - u16 species[2]; - u32 trainerIds[2]; - u32 genders[2]; + u16 eggGroups[DAYCARE_MON_COUNT][EGG_GROUPS_PER_MON]; + u16 species[DAYCARE_MON_COUNT]; + u32 trainerIds[DAYCARE_MON_COUNT]; + u32 genders[DAYCARE_MON_COUNT]; - for (i = 0; i < 2; i++) + for (i = 0; i < DAYCARE_MON_COUNT; i++) { u32 personality; @@ -1041,42 +1033,43 @@ static u8 GetDaycareCompatibilityScore(struct DayCare *daycare) } // check unbreedable egg group - if (eggGroups[0][0] == EGG_GROUP_UNDISCOVERED || eggGroups[1][0] == EGG_GROUP_UNDISCOVERED) - return 0; + if (eggGroups[EGG_MOTHER][0] == EGG_GROUP_UNDISCOVERED || eggGroups[EGG_FATHER][0] == EGG_GROUP_UNDISCOVERED) + return PARENTS_INCOMPATIBLE; // two Ditto can't breed - if (eggGroups[0][0] == EGG_GROUP_DITTO && eggGroups[1][0] == EGG_GROUP_DITTO) - return 0; + if (eggGroups[EGG_MOTHER][0] == EGG_GROUP_DITTO && eggGroups[EGG_FATHER][0] == EGG_GROUP_DITTO) + return PARENTS_INCOMPATIBLE; - // now that we checked, one ditto can breed with any other mon - if (eggGroups[0][0] == EGG_GROUP_DITTO || eggGroups[1][0] == EGG_GROUP_DITTO) + // one parent is Ditto + if (eggGroups[EGG_MOTHER][0] == EGG_GROUP_DITTO || eggGroups[EGG_FATHER][0] == EGG_GROUP_DITTO) { - if (trainerIds[0] == trainerIds[1]) // same trainer - return 20; + if (trainerIds[EGG_MOTHER] == trainerIds[EGG_FATHER]) + return PARENTS_LOW_COMPATIBILITY; - return 50; // different trainers, more chance of poke sex + return PARENTS_MED_COMPATABILITY; } + // neither parent is Ditto else { - if (genders[0] == genders[1]) // no homo - return 0; - if (genders[0] == MON_GENDERLESS || genders[1] == MON_GENDERLESS) - return 0; - if (!EggGroupsOverlap(eggGroups[0], eggGroups[1])) // not compatible with each other - return 0; - - if (species[0] == species[1]) // same species + if (genders[EGG_MOTHER] == genders[EGG_FATHER]) + return PARENTS_INCOMPATIBLE; + if (genders[EGG_MOTHER] == MON_GENDERLESS || genders[EGG_FATHER] == MON_GENDERLESS) + return PARENTS_INCOMPATIBLE; + if (!EggGroupsOverlap(eggGroups[EGG_MOTHER], eggGroups[EGG_FATHER])) + return PARENTS_INCOMPATIBLE; + + if (species[EGG_MOTHER] == species[EGG_FATHER]) { - if (trainerIds[0] == trainerIds[1]) // same species and trainer - return 50; + if (trainerIds[EGG_MOTHER] == trainerIds[EGG_FATHER]) + return PARENTS_MED_COMPATABILITY; // same species, same trainer - return 70; // different trainers, same species + return PARENTS_MAX_COMPATABILITY; // same species, different trainers } else { - if (trainerIds[0] != trainerIds[1]) // different trainers, different species - return 50; + if (trainerIds[EGG_MOTHER] != trainerIds[EGG_FATHER]) + return PARENTS_MED_COMPATABILITY; // different species, different trainers - return 20; // different species, same trainer + return PARENTS_LOW_COMPATIBILITY; // different species, same trainer } } } @@ -1093,13 +1086,13 @@ void SetDaycareCompatibilityString(void) relationshipScore = GetDaycareCompatibilityScoreFromSave(); whichString = 0; - if (relationshipScore == 0) + if (relationshipScore == PARENTS_INCOMPATIBLE) whichString = 3; - if (relationshipScore == 20) + if (relationshipScore == PARENTS_LOW_COMPATIBILITY) whichString = 2; - if (relationshipScore == 50) + if (relationshipScore == PARENTS_MED_COMPATABILITY) whichString = 1; - if (relationshipScore == 70) + if (relationshipScore == PARENTS_MAX_COMPATABILITY) whichString = 0; StringCopy(gStringVar4, sCompatibilityMessages[whichString]); @@ -1108,20 +1101,20 @@ void SetDaycareCompatibilityString(void) bool8 NameHasGenderSymbol(const u8 *name, u8 genderRatio) { u8 i; - u8 symbolsCount[2]; // male, female - symbolsCount[0] = symbolsCount[1] = 0; + u8 symbolsCount[GENDER_COUNT]; + symbolsCount[MALE] = symbolsCount[FEMALE] = 0; for (i = 0; name[i] != EOS; i++) { if (name[i] == CHAR_MALE) - symbolsCount[0]++; + symbolsCount[MALE]++; if (name[i] == CHAR_FEMALE) - symbolsCount[1]++; + symbolsCount[FEMALE]++; } - if (genderRatio == MON_MALE && symbolsCount[0] != 0 && symbolsCount[1] == 0) + if (genderRatio == MON_MALE && symbolsCount[MALE] != 0 && symbolsCount[FEMALE] == 0) return TRUE; - if (genderRatio == MON_FEMALE && symbolsCount[1] != 0 && symbolsCount[0] == 0) + if (genderRatio == MON_FEMALE && symbolsCount[FEMALE] != 0 && symbolsCount[MALE] == 0) return TRUE; return FALSE; @@ -1150,19 +1143,19 @@ static u8 *AppendMonGenderSymbol(u8 *name, struct BoxPokemon *boxMon) static void GetDaycareLevelMenuText(struct DayCare *daycare, u8 *dest) { - u8 monNames[2][20]; + u8 monNames[DAYCARE_MON_COUNT][20]; u8 i; *dest = EOS; - for (i = 0; i < 2; i++) + for (i = 0; i < DAYCARE_MON_COUNT; i++) { GetBoxMonNick(&daycare->mons[i].mon, monNames[i]); AppendMonGenderSymbol(monNames[i], &daycare->mons[i].mon); } - StringCopy(dest, monNames[0]); + StringCopy(dest, monNames[EGG_MOTHER]); StringAppend(dest, gText_NewLine2); - StringAppend(dest, monNames[1]); + StringAppend(dest, monNames[EGG_FATHER]); StringAppend(dest, gText_NewLine2); StringAppend(dest, gText_Exit4); } @@ -1174,7 +1167,7 @@ static void GetDaycareLevelMenuLevelText(struct DayCare *daycare, u8 *dest) u8 text[20]; *dest = EOS; - for (i = 0; i < 2; i++) + for (i = 0; i < DAYCARE_MON_COUNT; i++) { StringAppend(dest, gText_Lv); level = GetLevelAfterDaycareSteps(&daycare->mons[i].mon, daycare->mons[i].steps); @@ -1250,12 +1243,12 @@ static void Task_HandleDaycareLevelMenuInput(u8 taskId) { switch (input) { - case 0: - case 1: + case EGG_MOTHER: + case EGG_FATHER: gSpecialVar_Result = input; break; - case 5: - gSpecialVar_Result = 2; + case DAYCARE_LEVEL_MENU_EXIT: + gSpecialVar_Result = DAYCARE_EXITED_LEVEL_MENU; break; } DestroyListMenuTask(gTasks[taskId].tMenuListTaskId, NULL, NULL); @@ -1266,7 +1259,7 @@ static void Task_HandleDaycareLevelMenuInput(u8 taskId) } else if (gMain.newKeys & B_BUTTON) { - gSpecialVar_Result = 2; + gSpecialVar_Result = DAYCARE_EXITED_LEVEL_MENU; DestroyListMenuTask(gTasks[taskId].tMenuListTaskId, NULL, NULL); ClearStdWindowAndFrame(gTasks[taskId].tWindowId, TRUE); RemoveWindow(gTasks[taskId].tWindowId); diff --git a/src/egg_hatch.c b/src/egg_hatch.c index 4fba8578c..5262c4af4 100644 --- a/src/egg_hatch.c +++ b/src/egg_hatch.c @@ -388,13 +388,13 @@ void ScriptHatchMon(void) AddHatchedMonToParty(gSpecialVar_0x8004); } -static bool8 sub_807158C(struct DayCare *daycare, u8 daycareId) +static bool8 _CheckDaycareMonReceivedMail(struct DayCare *daycare, u8 daycareId) { - u8 nick[0x20]; + u8 nick[32]; struct DaycareMon *daycareMon = &daycare->mons[daycareId]; GetBoxMonNick(&daycareMon->mon, nick); - if (daycareMon->mail.message.itemId != 0 + if (daycareMon->mail.message.itemId != ITEM_NONE && (StringCompareWithoutExtCtrlCodes(nick, daycareMon->mail.monName) != 0 || StringCompareWithoutExtCtrlCodes(gSaveBlock2Ptr->playerName, daycareMon->mail.OT_name) != 0)) { @@ -406,9 +406,9 @@ static bool8 sub_807158C(struct DayCare *daycare, u8 daycareId) return FALSE; } -bool8 sub_8071614(void) +bool8 CheckDaycareMonReceivedMail(void) { - return sub_807158C(&gSaveBlock1Ptr->daycare, gSpecialVar_0x8004); + return _CheckDaycareMonReceivedMail(&gSaveBlock1Ptr->daycare, gSpecialVar_0x8004); } static u8 EggHatchCreateMonSprite(u8 a0, u8 switchID, u8 pokeID, u16* speciesLoc) @@ -880,9 +880,9 @@ u8 GetEggStepsToSubtract(void) return 1; } -u16 sub_80722E0(void) +u16 CountPartyAliveNonEggMons(void) { u16 aliveNonEggMonsCount = CountStorageNonEggMons(); - aliveNonEggMonsCount += CountPartyAliveNonEggMonsExcept(6); + aliveNonEggMonsCount += CountPartyAliveNonEggMonsExcept(PARTY_SIZE); return aliveNonEggMonsCount; } -- cgit v1.2.3 From 4e98a0cc4b13b4b4f504025106c4c53e4ca0db2f Mon Sep 17 00:00:00 2001 From: GriffinR Date: Wed, 25 Sep 2019 18:05:12 -0400 Subject: Remove Egg parent constants --- src/daycare.c | 100 +++++++++++++++++++++++++++++----------------------------- 1 file changed, 50 insertions(+), 50 deletions(-) (limited to 'src') diff --git a/src/daycare.c b/src/daycare.c index bd705e73f..910deedf8 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -54,8 +54,8 @@ static const struct WindowTemplate sDaycareLevelMenuWindowTemplate = // which is copied to VAR_0x8004 and used as an index for GetDaycareCost static const struct ListMenuItem sLevelMenuItems[] = { - {gExpandedPlaceholder_Empty, EGG_MOTHER}, - {gExpandedPlaceholder_Empty, EGG_FATHER}, + {gExpandedPlaceholder_Empty, 0}, + {gExpandedPlaceholder_Empty, 1}, {gText_Exit, DAYCARE_LEVEL_MENU_EXIT} }; @@ -202,16 +202,16 @@ void StoreSelectedPokemonInDaycare(void) static void ShiftDaycareSlots(struct DayCare *daycare) { // This condition is only satisfied when the player takes out the first pokemon from the daycare. - if (GetBoxMonData(&daycare->mons[EGG_FATHER].mon, MON_DATA_SPECIES) != SPECIES_NONE - && GetBoxMonData(&daycare->mons[EGG_MOTHER].mon, MON_DATA_SPECIES) == SPECIES_NONE) + if (GetBoxMonData(&daycare->mons[1].mon, MON_DATA_SPECIES) != SPECIES_NONE + && GetBoxMonData(&daycare->mons[0].mon, MON_DATA_SPECIES) == SPECIES_NONE) { - daycare->mons[EGG_MOTHER].mon = daycare->mons[EGG_FATHER].mon; - ZeroBoxMonData(&daycare->mons[EGG_FATHER].mon); + daycare->mons[0].mon = daycare->mons[1].mon; + ZeroBoxMonData(&daycare->mons[1].mon); - daycare->mons[EGG_MOTHER].mail = daycare->mons[EGG_FATHER].mail; - daycare->mons[EGG_MOTHER].steps = daycare->mons[EGG_FATHER].steps; - daycare->mons[EGG_FATHER].steps = 0; - ClearDaycareMonMail(&daycare->mons[EGG_FATHER].mail); + daycare->mons[0].mail = daycare->mons[1].mail; + daycare->mons[0].steps = daycare->mons[1].steps; + daycare->mons[1].steps = 0; + ClearDaycareMonMail(&daycare->mons[1].mail); } } @@ -341,8 +341,8 @@ void GetDaycareCost(void) static void Debug_AddDaycareSteps(u16 numSteps) { - gSaveBlock1Ptr->daycare.mons[EGG_MOTHER].steps += numSteps; - gSaveBlock1Ptr->daycare.mons[EGG_FATHER].steps += numSteps; + gSaveBlock1Ptr->daycare.mons[0].steps += numSteps; + gSaveBlock1Ptr->daycare.mons[1].steps += numSteps; } u8 GetNumLevelsGainedFromDaycare(void) @@ -424,7 +424,7 @@ static s32 GetParentToInheritNature(struct DayCare *daycare) u32 species[DAYCARE_MON_COUNT]; s32 i; s32 dittoCount; - s32 parent = NEITHER_PARENT; + s32 parent = -1; // search for female gender for (i = 0; i < DAYCARE_MON_COUNT; i++) @@ -445,16 +445,16 @@ static s32 GetParentToInheritNature(struct DayCare *daycare) if (dittoCount == DAYCARE_MON_COUNT) { if (Random() >= USHRT_MAX / 2) - parent = EGG_MOTHER; + parent = 0; else - parent = EGG_FATHER; + parent = 1; } // Don't inherit nature if not holding Everstone if (GetBoxMonData(&daycare->mons[parent].mon, MON_DATA_HELD_ITEM) != ITEM_EVERSTONE || Random() >= USHRT_MAX / 2) { - return NEITHER_PARENT; + return -1; } return parent; @@ -734,8 +734,8 @@ static void AlterEggSpeciesWithIncenseItem(u16 *species, struct DayCare *daycare u16 motherItem, fatherItem; if (*species == SPECIES_WYNAUT || *species == SPECIES_AZURILL) { - motherItem = GetBoxMonData(&daycare->mons[EGG_MOTHER].mon, MON_DATA_HELD_ITEM); - fatherItem = GetBoxMonData(&daycare->mons[EGG_FATHER].mon, MON_DATA_HELD_ITEM); + motherItem = GetBoxMonData(&daycare->mons[0].mon, MON_DATA_HELD_ITEM); + fatherItem = GetBoxMonData(&daycare->mons[1].mon, MON_DATA_HELD_ITEM); if (*species == SPECIES_WYNAUT && motherItem != ITEM_LAX_INCENSE && fatherItem != ITEM_LAX_INCENSE) { *species = SPECIES_WOBBUFFET; @@ -750,8 +750,8 @@ static void AlterEggSpeciesWithIncenseItem(u16 *species, struct DayCare *daycare static void GiveVoltTackleIfLightBall(struct Pokemon *mon, struct DayCare *daycare) { - u32 motherItem = GetBoxMonData(&daycare->mons[EGG_MOTHER].mon, MON_DATA_HELD_ITEM); - u32 fatherItem = GetBoxMonData(&daycare->mons[EGG_FATHER].mon, MON_DATA_HELD_ITEM); + u32 motherItem = GetBoxMonData(&daycare->mons[0].mon, MON_DATA_HELD_ITEM); + u32 fatherItem = GetBoxMonData(&daycare->mons[1].mon, MON_DATA_HELD_ITEM); if (motherItem == ITEM_LIGHT_BALL || fatherItem == ITEM_LIGHT_BALL) { @@ -771,17 +771,17 @@ static u16 DetermineEggSpeciesAndParentSlots(struct DayCare *daycare, u8 *parent species[i] = GetBoxMonData(&daycare->mons[i].mon, MON_DATA_SPECIES); if (species[i] == SPECIES_DITTO) { - parentSlots[EGG_MOTHER] = i ^ 1; - parentSlots[EGG_FATHER] = i; + parentSlots[0] = i ^ 1; + parentSlots[1] = i; } else if (GetBoxMonGender(&daycare->mons[i].mon) == MON_FEMALE) { - parentSlots[EGG_MOTHER] = i; - parentSlots[EGG_FATHER] = i ^ 1; + parentSlots[0] = i; + parentSlots[1] = i ^ 1; } } - eggSpecies = GetEggSpecies(species[parentSlots[EGG_MOTHER]]); + eggSpecies = GetEggSpecies(species[parentSlots[0]]); if (eggSpecies == SPECIES_NIDORAN_F && daycare->offspringPersonality & EGG_GENDER_MALE) { eggSpecies = SPECIES_NIDORAN_M; @@ -792,11 +792,11 @@ static u16 DetermineEggSpeciesAndParentSlots(struct DayCare *daycare, u8 *parent } // Make Ditto the "mother" slot if the other daycare mon is male. - if (species[parentSlots[EGG_FATHER]] == SPECIES_DITTO && GetBoxMonGender(&daycare->mons[parentSlots[EGG_MOTHER]].mon) != MON_FEMALE) + if (species[parentSlots[1]] == SPECIES_DITTO && GetBoxMonGender(&daycare->mons[parentSlots[0]].mon) != MON_FEMALE) { - u8 ditto = parentSlots[EGG_FATHER]; - parentSlots[EGG_FATHER] = parentSlots[EGG_MOTHER]; - parentSlots[EGG_MOTHER] = ditto; + u8 ditto = parentSlots[1]; + parentSlots[1] = parentSlots[0]; + parentSlots[0] = ditto; } return eggSpecies; @@ -813,7 +813,7 @@ static void _GiveEggFromDaycare(struct DayCare *daycare) AlterEggSpeciesWithIncenseItem(&species, daycare); SetInitialEggData(&egg, species, daycare); InheritIVs(&egg, daycare); - BuildEggMoveset(&egg, &daycare->mons[parentSlots[EGG_FATHER]].mon, &daycare->mons[parentSlots[EGG_MOTHER]].mon); + BuildEggMoveset(&egg, &daycare->mons[parentSlots[1]].mon, &daycare->mons[parentSlots[0]].mon); if (species == SPECIES_PICHU) GiveVoltTackleIfLightBall(&egg, daycare); @@ -888,7 +888,7 @@ static bool8 _DoEggActions_CheckHatch(struct DayCare *daycare) } // try to trigger poke sex - if (daycare->offspringPersonality == 0 && validEggs == DAYCARE_MON_COUNT && (daycare->mons[EGG_FATHER].steps & 0xFF) == 0xFF) + if (daycare->offspringPersonality == 0 && validEggs == DAYCARE_MON_COUNT && (daycare->mons[1].steps & 0xFF) == 0xFF) { u8 loveScore = GetDaycareCompatibilityScore(daycare); if (loveScore > (Random() * 100u) / USHRT_MAX) @@ -944,16 +944,16 @@ static bool8 IsEggPending(struct DayCare *daycare) static void _GetDaycareMonNicknames(struct DayCare *daycare) { u8 text[12]; - if (GetBoxMonData(&daycare->mons[EGG_MOTHER].mon, MON_DATA_SPECIES) != 0) + if (GetBoxMonData(&daycare->mons[0].mon, MON_DATA_SPECIES) != 0) { - GetBoxMonNick(&daycare->mons[EGG_MOTHER].mon, gStringVar1); - GetBoxMonData(&daycare->mons[EGG_MOTHER].mon, MON_DATA_OT_NAME, text); + GetBoxMonNick(&daycare->mons[0].mon, gStringVar1); + GetBoxMonData(&daycare->mons[0].mon, MON_DATA_OT_NAME, text); StringCopy(gStringVar3, text); } - if (GetBoxMonData(&daycare->mons[EGG_FATHER].mon, MON_DATA_SPECIES) != 0) + if (GetBoxMonData(&daycare->mons[1].mon, MON_DATA_SPECIES) != 0) { - GetBoxMonNick(&daycare->mons[EGG_FATHER].mon, gStringVar2); + GetBoxMonNick(&daycare->mons[1].mon, gStringVar2); } } @@ -1033,16 +1033,16 @@ static u8 GetDaycareCompatibilityScore(struct DayCare *daycare) } // check unbreedable egg group - if (eggGroups[EGG_MOTHER][0] == EGG_GROUP_UNDISCOVERED || eggGroups[EGG_FATHER][0] == EGG_GROUP_UNDISCOVERED) + if (eggGroups[0][0] == EGG_GROUP_UNDISCOVERED || eggGroups[1][0] == EGG_GROUP_UNDISCOVERED) return PARENTS_INCOMPATIBLE; // two Ditto can't breed - if (eggGroups[EGG_MOTHER][0] == EGG_GROUP_DITTO && eggGroups[EGG_FATHER][0] == EGG_GROUP_DITTO) + if (eggGroups[0][0] == EGG_GROUP_DITTO && eggGroups[1][0] == EGG_GROUP_DITTO) return PARENTS_INCOMPATIBLE; // one parent is Ditto - if (eggGroups[EGG_MOTHER][0] == EGG_GROUP_DITTO || eggGroups[EGG_FATHER][0] == EGG_GROUP_DITTO) + if (eggGroups[0][0] == EGG_GROUP_DITTO || eggGroups[1][0] == EGG_GROUP_DITTO) { - if (trainerIds[EGG_MOTHER] == trainerIds[EGG_FATHER]) + if (trainerIds[0] == trainerIds[1]) return PARENTS_LOW_COMPATIBILITY; return PARENTS_MED_COMPATABILITY; @@ -1050,23 +1050,23 @@ static u8 GetDaycareCompatibilityScore(struct DayCare *daycare) // neither parent is Ditto else { - if (genders[EGG_MOTHER] == genders[EGG_FATHER]) + if (genders[0] == genders[1]) return PARENTS_INCOMPATIBLE; - if (genders[EGG_MOTHER] == MON_GENDERLESS || genders[EGG_FATHER] == MON_GENDERLESS) + if (genders[0] == MON_GENDERLESS || genders[1] == MON_GENDERLESS) return PARENTS_INCOMPATIBLE; - if (!EggGroupsOverlap(eggGroups[EGG_MOTHER], eggGroups[EGG_FATHER])) + if (!EggGroupsOverlap(eggGroups[0], eggGroups[1])) return PARENTS_INCOMPATIBLE; - if (species[EGG_MOTHER] == species[EGG_FATHER]) + if (species[0] == species[1]) { - if (trainerIds[EGG_MOTHER] == trainerIds[EGG_FATHER]) + if (trainerIds[0] == trainerIds[1]) return PARENTS_MED_COMPATABILITY; // same species, same trainer return PARENTS_MAX_COMPATABILITY; // same species, different trainers } else { - if (trainerIds[EGG_MOTHER] != trainerIds[EGG_FATHER]) + if (trainerIds[0] != trainerIds[1]) return PARENTS_MED_COMPATABILITY; // different species, different trainers return PARENTS_LOW_COMPATIBILITY; // different species, same trainer @@ -1153,9 +1153,9 @@ static void GetDaycareLevelMenuText(struct DayCare *daycare, u8 *dest) AppendMonGenderSymbol(monNames[i], &daycare->mons[i].mon); } - StringCopy(dest, monNames[EGG_MOTHER]); + StringCopy(dest, monNames[0]); StringAppend(dest, gText_NewLine2); - StringAppend(dest, monNames[EGG_FATHER]); + StringAppend(dest, monNames[1]); StringAppend(dest, gText_NewLine2); StringAppend(dest, gText_Exit4); } @@ -1243,8 +1243,8 @@ static void Task_HandleDaycareLevelMenuInput(u8 taskId) { switch (input) { - case EGG_MOTHER: - case EGG_FATHER: + case 0: + case 1: gSpecialVar_Result = input; break; case DAYCARE_LEVEL_MENU_EXIT: -- cgit v1.2.3 From 37373c1b21a415206a37cddb563fbb6912313587 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Wed, 25 Sep 2019 18:44:56 -0400 Subject: Review changes for #817 --- src/daycare.c | 69 +++++++++++++++++++++++++++++---------------------------- src/egg_hatch.c | 20 ++++++++--------- src/strings.c | 2 +- 3 files changed, 46 insertions(+), 45 deletions(-) (limited to 'src') diff --git a/src/daycare.c b/src/daycare.c index 910deedf8..e5445ee21 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -91,7 +91,7 @@ static const u8 *const sCompatibilityMessages[] = static const u8 sJapaneseEggNickname[] = _("タマゴ"); // "tamago" ("egg" in Japanese) -u8 *GetMonNick(struct Pokemon *mon, u8 *dest) +u8 *GetMonNickname2(struct Pokemon *mon, u8 *dest) { u8 nickname[POKEMON_NAME_LENGTH * 2]; @@ -99,7 +99,7 @@ u8 *GetMonNick(struct Pokemon *mon, u8 *dest) return StringCopy10(dest, nickname); } -u8 *GetBoxMonNick(struct BoxPokemon *mon, u8 *dest) +u8 *GetBoxMonNickname(struct BoxPokemon *mon, u8 *dest) { u8 nickname[POKEMON_NAME_LENGTH * 2]; @@ -169,7 +169,7 @@ static void StorePokemonInDaycare(struct Pokemon *mon, struct DaycareMon *daycar u8 mailId; StringCopy(daycareMon->mail.OT_name, gSaveBlock2Ptr->playerName); - GetMonNick(mon, daycareMon->mail.monName); + GetMonNickname2(mon, daycareMon->mail.monName); StripExtCtrlCodes(daycareMon->mail.monName); daycareMon->mail.gameLanguage = LANGUAGE_ENGLISH; daycareMon->mail.monLanguage = GetMonData(mon, MON_DATA_LANGUAGE); @@ -254,7 +254,7 @@ static u16 TakeSelectedPokemonFromDaycare(struct DaycareMon *daycareMon) u32 experience; struct Pokemon pokemon; - GetBoxMonNick(&daycareMon->mon, gStringVar1); + GetBoxMonNickname(&daycareMon->mon, gStringVar1); species = GetBoxMonData(&daycareMon->mon, MON_DATA_SPECIES); BoxMonToMon(&daycareMon->mon, &pokemon); @@ -314,7 +314,7 @@ static u8 GetNumLevelsGainedForDaycareMon(struct DaycareMon *daycareMon) { u8 numLevelsGained = GetNumLevelsGainedFromSteps(daycareMon); ConvertIntToDecimalStringN(gStringVar2, numLevelsGained, STR_CONV_MODE_LEFT_ALIGN, 2); - GetBoxMonNick(&daycareMon->mon, gStringVar1); + GetBoxMonNickname(&daycareMon->mon, gStringVar1); return numLevelsGained; } @@ -323,7 +323,7 @@ static u32 GetDaycareCostForSelectedMon(struct DaycareMon *daycareMon) u32 cost; u8 numLevelsGained = GetNumLevelsGainedFromSteps(daycareMon); - GetBoxMonNick(&daycareMon->mon, gStringVar1); + GetBoxMonNickname(&daycareMon->mon, gStringVar1); cost = 100 + 100 * numLevelsGained; ConvertIntToDecimalStringN(gStringVar2, cost, STR_CONV_MODE_LEFT_ALIGN, 5); return cost; @@ -538,7 +538,7 @@ static void InheritIVs(struct Pokemon *egg, struct DayCare *daycare) u8 i; u8 selectedIvs[INHERITED_IV_COUNT]; u8 availableIVs[NUM_STATS]; - u8 whichParent[INHERITED_IV_COUNT]; + u8 whichParents[INHERITED_IV_COUNT]; u8 iv; // Initialize a list of IV indices. @@ -558,7 +558,7 @@ static void InheritIVs(struct Pokemon *egg, struct DayCare *daycare) // Determine which parent each of the selected IVs should inherit from. for (i = 0; i < INHERITED_IV_COUNT; i++) { - whichParent[i] = Random() % DAYCARE_MON_COUNT; + whichParents[i] = Random() % DAYCARE_MON_COUNT; } // Set each of inherited IVs on the egg mon. @@ -567,27 +567,27 @@ static void InheritIVs(struct Pokemon *egg, struct DayCare *daycare) switch (selectedIvs[i]) { case 0: - iv = GetBoxMonData(&daycare->mons[whichParent[i]].mon, MON_DATA_HP_IV); + iv = GetBoxMonData(&daycare->mons[whichParents[i]].mon, MON_DATA_HP_IV); SetMonData(egg, MON_DATA_HP_IV, &iv); break; case 1: - iv = GetBoxMonData(&daycare->mons[whichParent[i]].mon, MON_DATA_ATK_IV); + iv = GetBoxMonData(&daycare->mons[whichParents[i]].mon, MON_DATA_ATK_IV); SetMonData(egg, MON_DATA_ATK_IV, &iv); break; case 2: - iv = GetBoxMonData(&daycare->mons[whichParent[i]].mon, MON_DATA_DEF_IV); + iv = GetBoxMonData(&daycare->mons[whichParents[i]].mon, MON_DATA_DEF_IV); SetMonData(egg, MON_DATA_DEF_IV, &iv); break; case 3: - iv = GetBoxMonData(&daycare->mons[whichParent[i]].mon, MON_DATA_SPEED_IV); + iv = GetBoxMonData(&daycare->mons[whichParents[i]].mon, MON_DATA_SPEED_IV); SetMonData(egg, MON_DATA_SPEED_IV, &iv); break; case 4: - iv = GetBoxMonData(&daycare->mons[whichParent[i]].mon, MON_DATA_SPATK_IV); + iv = GetBoxMonData(&daycare->mons[whichParents[i]].mon, MON_DATA_SPATK_IV); SetMonData(egg, MON_DATA_SPATK_IV, &iv); break; case 5: - iv = GetBoxMonData(&daycare->mons[whichParent[i]].mon, MON_DATA_SPDEF_IV); + iv = GetBoxMonData(&daycare->mons[whichParents[i]].mon, MON_DATA_SPDEF_IV); SetMonData(egg, MON_DATA_SPDEF_IV, &iv); break; } @@ -877,7 +877,7 @@ void GiveEggFromDaycare(void) _GiveEggFromDaycare(&gSaveBlock1Ptr->daycare); } -static bool8 _DoEggActions_CheckHatch(struct DayCare *daycare) +static bool8 TryProduceOrHatchEgg(struct DayCare *daycare) { u32 i, validEggs = 0; @@ -887,15 +887,16 @@ static bool8 _DoEggActions_CheckHatch(struct DayCare *daycare) daycare->mons[i].steps++, validEggs++; } - // try to trigger poke sex + // Check if an egg should be produced if (daycare->offspringPersonality == 0 && validEggs == DAYCARE_MON_COUNT && (daycare->mons[1].steps & 0xFF) == 0xFF) { - u8 loveScore = GetDaycareCompatibilityScore(daycare); - if (loveScore > (Random() * 100u) / USHRT_MAX) + u8 compatability = GetDaycareCompatibilityScore(daycare); + if (compatability > (Random() * 100u) / USHRT_MAX) TriggerPendingDaycareEgg(); } - if (++daycare->stepCounter == 255) // hatch an egg + // Hatch Egg + if (++daycare->stepCounter == 255) { u32 steps; u8 toSub = GetEggStepsToSubtract(); @@ -908,7 +909,7 @@ static bool8 _DoEggActions_CheckHatch(struct DayCare *daycare) continue; steps = GetMonData(&gPlayerParty[i], MON_DATA_FRIENDSHIP); - if (steps != 0) // subtract needed steps + if (steps != 0) { if (steps >= toSub) steps -= toSub; @@ -917,7 +918,7 @@ static bool8 _DoEggActions_CheckHatch(struct DayCare *daycare) SetMonData(&gPlayerParty[i], MON_DATA_FRIENDSHIP, &steps); } - else // hatch the egg + else { gSpecialVar_0x8004 = i; return TRUE; @@ -925,12 +926,12 @@ static bool8 _DoEggActions_CheckHatch(struct DayCare *daycare) } } - return FALSE; // no hatching + return FALSE; } bool8 ShouldEggHatch(void) { - return _DoEggActions_CheckHatch(&gSaveBlock1Ptr->daycare); + return TryProduceOrHatchEgg(&gSaveBlock1Ptr->daycare); } static bool8 IsEggPending(struct DayCare *daycare) @@ -946,20 +947,20 @@ static void _GetDaycareMonNicknames(struct DayCare *daycare) u8 text[12]; if (GetBoxMonData(&daycare->mons[0].mon, MON_DATA_SPECIES) != 0) { - GetBoxMonNick(&daycare->mons[0].mon, gStringVar1); + GetBoxMonNickname(&daycare->mons[0].mon, gStringVar1); GetBoxMonData(&daycare->mons[0].mon, MON_DATA_OT_NAME, text); StringCopy(gStringVar3, text); } if (GetBoxMonData(&daycare->mons[1].mon, MON_DATA_SPECIES) != 0) { - GetBoxMonNick(&daycare->mons[1].mon, gStringVar2); + GetBoxMonNickname(&daycare->mons[1].mon, gStringVar2); } } -u16 GetSelectedMonNickAndSpecies(void) +u16 GetSelectedMonNicknameAndSpecies(void) { - GetBoxMonNick(&gPlayerParty[GetCursorSelectionMonId()].box, gStringVar1); + GetBoxMonNickname(&gPlayerParty[GetCursorSelectionMonId()].box, gStringVar1); return GetBoxMonData(&gPlayerParty[GetCursorSelectionMonId()].box, MON_DATA_SPECIES); } @@ -1149,7 +1150,7 @@ static void GetDaycareLevelMenuText(struct DayCare *daycare, u8 *dest) *dest = EOS; for (i = 0; i < DAYCARE_MON_COUNT; i++) { - GetBoxMonNick(&daycare->mons[i].mon, monNames[i]); + GetBoxMonNickname(&daycare->mons[i].mon, monNames[i]); AppendMonGenderSymbol(monNames[i], &daycare->mons[i].mon); } @@ -1199,13 +1200,13 @@ static void DaycareAddTextPrinter(u8 windowId, const u8 *text, u32 x, u32 y) AddTextPrinter(&printer, 0xFF, NULL); } -static void DaycarePrintMonNick(struct DayCare *daycare, u8 windowId, u32 daycareSlotId, u32 y) +static void DaycarePrintMonNickname(struct DayCare *daycare, u8 windowId, u32 daycareSlotId, u32 y) { - u8 nick[POKEMON_NAME_LENGTH * 2]; + u8 nickname[POKEMON_NAME_LENGTH * 2]; - GetBoxMonNick(&daycare->mons[daycareSlotId].mon, nick); - AppendMonGenderSymbol(nick, &daycare->mons[daycareSlotId].mon); - DaycareAddTextPrinter(windowId, nick, 8, y); + GetBoxMonNickname(&daycare->mons[daycareSlotId].mon, nickname); + AppendMonGenderSymbol(nickname, &daycare->mons[daycareSlotId].mon); + DaycareAddTextPrinter(windowId, nickname, 8, y); } static void DaycarePrintMonLvl(struct DayCare *daycare, u8 windowId, u32 daycareSlotId, u32 y) @@ -1227,7 +1228,7 @@ static void DaycarePrintMonInfo(u8 windowId, s32 daycareSlotId, u8 y) { if (daycareSlotId < (unsigned) DAYCARE_MON_COUNT) { - DaycarePrintMonNick(&gSaveBlock1Ptr->daycare, windowId, daycareSlotId, y); + DaycarePrintMonNickname(&gSaveBlock1Ptr->daycare, windowId, daycareSlotId, y); DaycarePrintMonLvl(&gSaveBlock1Ptr->daycare, windowId, daycareSlotId, y); } } diff --git a/src/egg_hatch.c b/src/egg_hatch.c index 5262c4af4..1eaf4e4a1 100644 --- a/src/egg_hatch.c +++ b/src/egg_hatch.c @@ -56,7 +56,7 @@ struct EggHatchData extern const u32 gUnknown_08331F60[]; // tilemap gameboy circle extern const u8 gText_HatchedFromEgg[]; -extern const u8 gText_NickHatchPrompt[]; +extern const u8 gText_NicknameHatchPrompt[]; static void Task_EggHatch(u8 taskID); static void CB2_EggHatch_0(void); @@ -368,7 +368,7 @@ static void AddHatchedMonToParty(u8 id) GetSetPokedexFlag(pokeNum, FLAG_SET_SEEN); GetSetPokedexFlag(pokeNum, FLAG_SET_CAUGHT); - GetMonNick(mon, gStringVar1); + GetMonNickname2(mon, gStringVar1); ball = ITEM_POKE_BALL; SetMonData(mon, MON_DATA_POKEBALL, &ball); @@ -390,15 +390,15 @@ void ScriptHatchMon(void) static bool8 _CheckDaycareMonReceivedMail(struct DayCare *daycare, u8 daycareId) { - u8 nick[32]; + u8 nickname[32]; struct DaycareMon *daycareMon = &daycare->mons[daycareId]; - GetBoxMonNick(&daycareMon->mon, nick); + GetBoxMonNickname(&daycareMon->mon, nickname); if (daycareMon->mail.message.itemId != ITEM_NONE - && (StringCompareWithoutExtCtrlCodes(nick, daycareMon->mail.monName) != 0 + && (StringCompareWithoutExtCtrlCodes(nickname, daycareMon->mail.monName) != 0 || StringCompareWithoutExtCtrlCodes(gSaveBlock2Ptr->playerName, daycareMon->mail.OT_name) != 0)) { - StringCopy(gStringVar1, nick); + StringCopy(gStringVar1, nickname); TVShowConvertInternationalString(gStringVar2, daycareMon->mail.OT_name, daycareMon->mail.gameLanguage); TVShowConvertInternationalString(gStringVar3, daycareMon->mail.monName, daycareMon->mail.monLanguage); return TRUE; @@ -634,7 +634,7 @@ static void CB2_EggHatch_1(void) } break; case 5: - GetMonNick(&gPlayerParty[sEggHatchData->eggPartyID], gStringVar1); + GetMonNickname2(&gPlayerParty[sEggHatchData->eggPartyID], gStringVar1); StringExpandPlaceholders(gStringVar4, gText_HatchedFromEgg); EggHatchPrintMessage(sEggHatchData->windowId, gStringVar4, 0, 3, 0xFF); PlayFanfare(MUS_FANFA5); @@ -651,8 +651,8 @@ static void CB2_EggHatch_1(void) sEggHatchData->CB2_state++; break; case 8: - GetMonNick(&gPlayerParty[sEggHatchData->eggPartyID], gStringVar1); - StringExpandPlaceholders(gStringVar4, gText_NickHatchPrompt); + GetMonNickname2(&gPlayerParty[sEggHatchData->eggPartyID], gStringVar1); + StringExpandPlaceholders(gStringVar4, gText_NicknameHatchPrompt); EggHatchPrintMessage(sEggHatchData->windowId, gStringVar4, 0, 2, 1); sEggHatchData->CB2_state++; break; @@ -668,7 +668,7 @@ static void CB2_EggHatch_1(void) switch (Menu_ProcessInputNoWrapClearOnChoose()) { case 0: - GetMonNick(&gPlayerParty[sEggHatchData->eggPartyID], gStringVar3); + GetMonNickname2(&gPlayerParty[sEggHatchData->eggPartyID], gStringVar3); species = GetMonData(&gPlayerParty[sEggHatchData->eggPartyID], MON_DATA_SPECIES); gender = GetMonGender(&gPlayerParty[sEggHatchData->eggPartyID]); personality = GetMonData(&gPlayerParty[sEggHatchData->eggPartyID], MON_DATA_PERSONALITY, 0); diff --git a/src/strings.c b/src/strings.c index 36674e875..ed702958e 100644 --- a/src/strings.c +++ b/src/strings.c @@ -1291,7 +1291,7 @@ const u8 gMatchCall_MayTrainersPokemonText[] = _("I'll use any POKéMON!"); const u8 gMatchCall_MaySelfIntroductionText_Line1[] = _("My POKéMON and I help"); const u8 gMatchCall_MaySelfIntroductionText_Line2[] = _("my father's research."); const u8 gText_HatchedFromEgg[] = _("{STR_VAR_1} hatched from the EGG!"); -const u8 gText_NickHatchPrompt[] = _("Would you like to nickname the newly\nhatched {STR_VAR_1}?"); +const u8 gText_NicknameHatchPrompt[] = _("Would you like to nickname the newly\nhatched {STR_VAR_1}?"); ALIGNED(4) const u8 gText_ReadyToBerryCrush[] = _("Are you ready to BERRY-CRUSH?\nPlease pick a BERRY for use.\p"); ALIGNED(4) const u8 gText_WaitForAllChooseBerry[] = _("Please wait while each member\nchooses a BERRY."); ALIGNED(4) const u8 gText_EndedWithXUnitsPowder[] = _("{PAUSE_MUSIC}{PLAY_BGM MUS_FANFA1}You ended up with {STR_VAR_1} units of\nsilky-smooth BERRY POWDER.{RESUME_MUSIC}\pYour total amount of BERRY POWDER\nis {STR_VAR_2}.\p"); -- cgit v1.2.3 From 4b7f096bbdb52ee790a631145123d1d43200f3d1 Mon Sep 17 00:00:00 2001 From: Ariel Antonitis Date: Thu, 8 Aug 2019 01:21:07 -0400 Subject: Relabeled unknown functions in `pokemon_summary_screen.c` --- src/pokemon_summary_screen.c | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) (limited to 'src') diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 932ed5b08..1faac848e 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -224,10 +224,10 @@ static void DrawExperienceProgressBar(struct Pokemon* mon); static void DrawContestMoveHearts(u16 move); static void LimitEggSummaryPageDisplay(void); static void ResetWindows(void); -static void sub_81C25E8(void); -static void sub_81C2628(void); -static void sub_81C2794(void); -static void sub_81C27DC(struct Pokemon *mon, u16 a); +static void Summary_PrintMonInfo(void); +static void Summary_PrintNotEggInfo(void); +static void Summary_PrintEggInfo(void); +static void Summar_PrintGenderSymbol(struct Pokemon *mon, u16 a); static void PrintPageNamesAndStatsPageToWindows(void); static void CreatePageWindowTilemaps(u8 a); static void ClearPageWindowTilemaps(u8 a); @@ -1173,7 +1173,7 @@ static bool8 SummaryScreen_LoadGraphics(void) gMain.state++; break; case 11: - sub_81C25E8(); + Summary_PrintMonInfo(); gMain.state++; break; case 12: @@ -1449,7 +1449,7 @@ static void sub_81C0348(void) DrawPokerusCuredSymbol(&sMonSummaryScreen->currentMon); } -static void sub_81C0434(void) +static void FreeSummaryScreen(void) { FreeAllWindowBuffers(); Free(sMonSummaryScreen); @@ -1474,7 +1474,7 @@ static void CloseSummaryScreen(u8 taskId) m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x100); if (gMonSpritesGfxPtr == 0) sub_806F47C(0); - sub_81C0434(); + FreeSummaryScreen(); DestroyTask(taskId); } } @@ -1625,7 +1625,7 @@ static void sub_81C0704(u8 taskId) SetTypeIcons(); break; case 10: - sub_81C25E8(); + Summary_PrintMonInfo(); break; case 11: PrintPageSpecificText(sMonSummaryScreen->currPageIndex); @@ -2571,7 +2571,7 @@ static void DrawPokerusCuredSymbol(struct Pokemon *mon) // This checks if the mo schedule_bg_copy_tilemap_to_vram(3); } -static void sub_81C228C(bool8 isMonShiny) +static void Summary_SetDexNumberColor(bool8 isMonShiny) { if (!isMonShiny) sub_8199C30(3, 1, 4, 8, 8, 0); @@ -2695,19 +2695,19 @@ static void SummaryScreen_PrintTextOnWindow(u8 windowId, const u8 *string, u8 x, AddTextPrinterParameterized4(windowId, 1, x, y, 0, lineSpacing, sTextColors_861CD2C[colorId], 0, string); } -static void sub_81C25E8(void) +static void Summary_PrintMonInfo(void) { FillWindowPixelBuffer(PSS_LABEL_WINDOW_PORTRAIT_DEX_NUMBER, PIXEL_FILL(0)); FillWindowPixelBuffer(PSS_LABEL_WINDOW_PORTRAIT_NICKNAME, PIXEL_FILL(0)); FillWindowPixelBuffer(PSS_LABEL_WINDOW_PORTRAIT_SPECIES, PIXEL_FILL(0)); if (!sMonSummaryScreen->summary.isEgg) - sub_81C2628(); + Summary_PrintNotEggInfo(); else - sub_81C2794(); + Summary_PrintEggInfo(); schedule_bg_copy_tilemap_to_vram(0); } -static void sub_81C2628(void) +static void Summary_PrintNotEggInfo(void) { u8 strArray[16]; struct Pokemon *mon = &sMonSummaryScreen->currentMon; @@ -2721,12 +2721,12 @@ static void sub_81C2628(void) if (!IsMonShiny(mon)) { SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_PORTRAIT_DEX_NUMBER, gStringVar1, 0, 1, 0, 1); - sub_81C228C(FALSE); + Summary_SetDexNumberColor(FALSE); } else { SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_PORTRAIT_DEX_NUMBER, gStringVar1, 0, 1, 0, 7); - sub_81C228C(TRUE); + Summary_SetDexNumberColor(TRUE); } PutWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_DEX_NUMBER); } @@ -2734,9 +2734,9 @@ static void sub_81C2628(void) { ClearWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_DEX_NUMBER); if (!IsMonShiny(mon)) - sub_81C228C(FALSE); + Summary_SetDexNumberColor(FALSE); else - sub_81C228C(TRUE); + Summary_SetDexNumberColor(TRUE); } StringCopy(gStringVar1, &gText_LevelSymbol[0]); ConvertIntToDecimalStringN(gStringVar2, summary->level, 0, 3); @@ -2747,12 +2747,12 @@ static void sub_81C2628(void) strArray[0] = CHAR_SLASH; StringCopy(&strArray[1], &gSpeciesNames[summary->species2][0]); SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_PORTRAIT_SPECIES, &strArray[0], 0, 1, 0, 1); - sub_81C27DC(mon, summary->species2); + Summar_PrintGenderSymbol(mon, summary->species2); PutWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_NICKNAME); PutWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_SPECIES); } -static void sub_81C2794(void) +static void Summary_PrintEggInfo(void) { GetMonNickname(&sMonSummaryScreen->currentMon, gStringVar1); SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_PORTRAIT_NICKNAME, gStringVar1, 0, 1, 0, 1); @@ -2761,7 +2761,7 @@ static void sub_81C2794(void) ClearWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_SPECIES); } -static void sub_81C27DC(struct Pokemon *mon, u16 species) +static void Summar_PrintGenderSymbol(struct Pokemon *mon, u16 species) { if (species != SPECIES_NIDORAN_M && species != SPECIES_NIDORAN_F) { -- cgit v1.2.3 From ea638b82fa32b75acc07ce38b39a11bbdde4d298 Mon Sep 17 00:00:00 2001 From: Ariel Antonitis Date: Wed, 25 Sep 2019 15:12:19 -0400 Subject: Fixed typo. --- src/pokemon_summary_screen.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 1faac848e..09a4aad19 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -227,7 +227,7 @@ static void ResetWindows(void); static void Summary_PrintMonInfo(void); static void Summary_PrintNotEggInfo(void); static void Summary_PrintEggInfo(void); -static void Summar_PrintGenderSymbol(struct Pokemon *mon, u16 a); +static void Summary_PrintGenderSymbol(struct Pokemon *mon, u16 a); static void PrintPageNamesAndStatsPageToWindows(void); static void CreatePageWindowTilemaps(u8 a); static void ClearPageWindowTilemaps(u8 a); @@ -2747,7 +2747,7 @@ static void Summary_PrintNotEggInfo(void) strArray[0] = CHAR_SLASH; StringCopy(&strArray[1], &gSpeciesNames[summary->species2][0]); SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_PORTRAIT_SPECIES, &strArray[0], 0, 1, 0, 1); - Summar_PrintGenderSymbol(mon, summary->species2); + Summary_PrintGenderSymbol(mon, summary->species2); PutWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_NICKNAME); PutWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_SPECIES); } @@ -2761,7 +2761,7 @@ static void Summary_PrintEggInfo(void) ClearWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_SPECIES); } -static void Summar_PrintGenderSymbol(struct Pokemon *mon, u16 species) +static void Summary_PrintGenderSymbol(struct Pokemon *mon, u16 species) { if (species != SPECIES_NIDORAN_M && species != SPECIES_NIDORAN_F) { -- cgit v1.2.3 From 208e1c968959c781562f0b94c03368385ce7012c Mon Sep 17 00:00:00 2001 From: Ariel Antonitis Date: Wed, 25 Sep 2019 20:49:56 -0400 Subject: Removed 'Summary_' prefix. --- src/pokemon_summary_screen.c | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) (limited to 'src') diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 09a4aad19..8697c557f 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -224,10 +224,10 @@ static void DrawExperienceProgressBar(struct Pokemon* mon); static void DrawContestMoveHearts(u16 move); static void LimitEggSummaryPageDisplay(void); static void ResetWindows(void); -static void Summary_PrintMonInfo(void); -static void Summary_PrintNotEggInfo(void); -static void Summary_PrintEggInfo(void); -static void Summary_PrintGenderSymbol(struct Pokemon *mon, u16 a); +static void PrintMonInfo(void); +static void PrintNotEggInfo(void); +static void PrintEggInfo(void); +static void PrintGenderSymbol(struct Pokemon *mon, u16 a); static void PrintPageNamesAndStatsPageToWindows(void); static void CreatePageWindowTilemaps(u8 a); static void ClearPageWindowTilemaps(u8 a); @@ -1173,7 +1173,7 @@ static bool8 SummaryScreen_LoadGraphics(void) gMain.state++; break; case 11: - Summary_PrintMonInfo(); + PrintMonInfo(); gMain.state++; break; case 12: @@ -1625,7 +1625,7 @@ static void sub_81C0704(u8 taskId) SetTypeIcons(); break; case 10: - Summary_PrintMonInfo(); + PrintMonInfo(); break; case 11: PrintPageSpecificText(sMonSummaryScreen->currPageIndex); @@ -2571,7 +2571,7 @@ static void DrawPokerusCuredSymbol(struct Pokemon *mon) // This checks if the mo schedule_bg_copy_tilemap_to_vram(3); } -static void Summary_SetDexNumberColor(bool8 isMonShiny) +static void SetDexNumberColor(bool8 isMonShiny) { if (!isMonShiny) sub_8199C30(3, 1, 4, 8, 8, 0); @@ -2695,19 +2695,19 @@ static void SummaryScreen_PrintTextOnWindow(u8 windowId, const u8 *string, u8 x, AddTextPrinterParameterized4(windowId, 1, x, y, 0, lineSpacing, sTextColors_861CD2C[colorId], 0, string); } -static void Summary_PrintMonInfo(void) +static void PrintMonInfo(void) { FillWindowPixelBuffer(PSS_LABEL_WINDOW_PORTRAIT_DEX_NUMBER, PIXEL_FILL(0)); FillWindowPixelBuffer(PSS_LABEL_WINDOW_PORTRAIT_NICKNAME, PIXEL_FILL(0)); FillWindowPixelBuffer(PSS_LABEL_WINDOW_PORTRAIT_SPECIES, PIXEL_FILL(0)); if (!sMonSummaryScreen->summary.isEgg) - Summary_PrintNotEggInfo(); + PrintNotEggInfo(); else - Summary_PrintEggInfo(); + PrintEggInfo(); schedule_bg_copy_tilemap_to_vram(0); } -static void Summary_PrintNotEggInfo(void) +static void PrintNotEggInfo(void) { u8 strArray[16]; struct Pokemon *mon = &sMonSummaryScreen->currentMon; @@ -2721,12 +2721,12 @@ static void Summary_PrintNotEggInfo(void) if (!IsMonShiny(mon)) { SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_PORTRAIT_DEX_NUMBER, gStringVar1, 0, 1, 0, 1); - Summary_SetDexNumberColor(FALSE); + SetDexNumberColor(FALSE); } else { SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_PORTRAIT_DEX_NUMBER, gStringVar1, 0, 1, 0, 7); - Summary_SetDexNumberColor(TRUE); + SetDexNumberColor(TRUE); } PutWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_DEX_NUMBER); } @@ -2734,9 +2734,9 @@ static void Summary_PrintNotEggInfo(void) { ClearWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_DEX_NUMBER); if (!IsMonShiny(mon)) - Summary_SetDexNumberColor(FALSE); + SetDexNumberColor(FALSE); else - Summary_SetDexNumberColor(TRUE); + SetDexNumberColor(TRUE); } StringCopy(gStringVar1, &gText_LevelSymbol[0]); ConvertIntToDecimalStringN(gStringVar2, summary->level, 0, 3); @@ -2747,12 +2747,12 @@ static void Summary_PrintNotEggInfo(void) strArray[0] = CHAR_SLASH; StringCopy(&strArray[1], &gSpeciesNames[summary->species2][0]); SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_PORTRAIT_SPECIES, &strArray[0], 0, 1, 0, 1); - Summary_PrintGenderSymbol(mon, summary->species2); + PrintGenderSymbol(mon, summary->species2); PutWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_NICKNAME); PutWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_SPECIES); } -static void Summary_PrintEggInfo(void) +static void PrintEggInfo(void) { GetMonNickname(&sMonSummaryScreen->currentMon, gStringVar1); SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_PORTRAIT_NICKNAME, gStringVar1, 0, 1, 0, 1); @@ -2761,7 +2761,7 @@ static void Summary_PrintEggInfo(void) ClearWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_SPECIES); } -static void Summary_PrintGenderSymbol(struct Pokemon *mon, u16 species) +static void PrintGenderSymbol(struct Pokemon *mon, u16 species) { if (species != SPECIES_NIDORAN_M && species != SPECIES_NIDORAN_F) { -- cgit v1.2.3