refactoring: removed gMoveNames and move gNatureNamePointers

This commit is contained in:
cawtds 2024-05-05 22:53:32 +02:00
parent 339a958caf
commit bd91a6eaa1
21 changed files with 116 additions and 2130 deletions

View File

@ -20,7 +20,7 @@ struct MonCoords
#define GET_MON_COORDS_HEIGHT(size)((size & 0xF) * 8)
// extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1];
extern const u8 gMoveNames[][MOVE_NAME_LENGTH + 1];
// extern const u8 gMoveNames[][MOVE_NAME_LENGTH + 1];
extern const u8 gTrainerClassNames[][13];

View File

@ -1312,7 +1312,7 @@ static void MoveSelectionDisplayMoveNames(u32 battler)
{
MoveSelectionDestroyCursorAt(i);
StringCopy(gDisplayedStringBattle, gText_MoveInterfaceDynamicColors);
StringAppend(gDisplayedStringBattle, gMoveNames[moveInfo->moves[i]]);
StringAppend(gDisplayedStringBattle, gMovesInfo[moveInfo->moves[i]].name);
BattlePutTextOnWindow(gDisplayedStringBattle, i + 3);
if (moveInfo->moves[i] != MOVE_NONE)
++gNumberOfMovesToChoose;

View File

@ -2564,7 +2564,7 @@ void BufferStringBattle(u32 battler, u16 stringId)
if (sBattleMsgDataPtr->currentMove >= MOVES_COUNT)
StringCopy(gBattleTextBuff3, sATypeMove_Table[*(&gBattleStruct->stringMoveType)]);
else
StringCopy(gBattleTextBuff3, gMoveNames[sBattleMsgDataPtr->currentMove]);
StringCopy(gBattleTextBuff3, gMovesInfo[sBattleMsgDataPtr->currentMove].name);
stringPtr = sText_AttackerUsedX;
break;
@ -2885,13 +2885,13 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst)
if (sBattleMsgDataPtr->currentMove >= MOVES_COUNT)
toCpy = (const u8 *)&sATypeMove_Table[gBattleStruct->stringMoveType];
else
toCpy = gMoveNames[sBattleMsgDataPtr->currentMove];
toCpy = gMovesInfo[sBattleMsgDataPtr->currentMove].name;
break;
case B_TXT_LAST_MOVE: // originally used move name
if (sBattleMsgDataPtr->originallyUsedMove >= MOVES_COUNT)
toCpy = (const u8 *)&sATypeMove_Table[gBattleStruct->stringMoveType];
else
toCpy = gMoveNames[sBattleMsgDataPtr->originallyUsedMove];
toCpy = gMovesInfo[sBattleMsgDataPtr->originallyUsedMove].name;
break;
case B_TXT_LAST_ITEM: // last used item
if (gBattleTypeFlags & BATTLE_TYPE_LINK)
@ -3211,7 +3211,7 @@ static void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst)
srcId += src[srcId + 1] + 3;
break;
case B_BUFF_MOVE: // move name
StringAppend(dst, gMoveNames[T1_READ_16(&src[srcId + 1])]);
StringAppend(dst, gMovesInfo[T1_READ_16(&src[srcId + 1])].name);
srcId += 3;
break;
case B_BUFF_TYPE: // type name

View File

@ -292,4 +292,3 @@ const union AnimCmd *const gAnims_MonPic[] =
#include "data/trainer_parties.h"
#include "data/text/trainer_class_names.h"
#include "data/trainers.h"
#include "data/text/move_names.h"

View File

@ -1058,36 +1058,24 @@ static struct
TaskFunc func;
} const sCursorOptions[] =
{
[CURSOR_OPTION_SUMMARY] = {gText_Summary5, CursorCB_Summary },
[CURSOR_OPTION_SWITCH] = {gText_Switch2, CursorCB_Switch },
[CURSOR_OPTION_CANCEL1] = {gFameCheckerText_Cancel, CursorCB_Cancel1 },
[CURSOR_OPTION_ITEM] = {gText_Item, CursorCB_Item },
[CURSOR_OPTION_GIVE] = {gOtherText_Give, CursorCB_Give },
[CURSOR_OPTION_TAKE_ITEM] = {gText_Take, CursorCB_TakeItem },
[CURSOR_OPTION_MAIL] = {gText_Mail, CursorCB_Mail },
[CURSOR_OPTION_TAKE_MAIL] = {gText_Take2, CursorCB_TakeMail },
[CURSOR_OPTION_READ] = {gText_Read2, CursorCB_Read },
[CURSOR_OPTION_CANCEL2] = {gFameCheckerText_Cancel, CursorCB_Cancel2 },
[CURSOR_OPTION_SHIFT] = {gText_Shift, CursorCB_SendMon },
[CURSOR_OPTION_SEND_OUT] = {gText_SendOut, CursorCB_SendMon },
[CURSOR_OPTION_ENTER] = {gText_Enter, CursorCB_Enter },
[CURSOR_OPTION_NO_ENTRY] = {gText_NoEntry, CursorCB_NoEntry },
[CURSOR_OPTION_STORE] = {gText_Store, CursorCB_Store },
[CURSOR_OPTION_REGISTER] = {gText_Register, CursorCB_Register },
[CURSOR_OPTION_TRADE1] = {gText_Trade4, CursorCB_Trade1 },
[CURSOR_OPTION_TRADE2] = {gText_Trade4, CursorCB_Trade2 },
[CURSOR_OPTION_FIELD_MOVES + FIELD_MOVE_FLASH] = {gMoveNames[MOVE_FLASH], CursorCB_FieldMove},
[CURSOR_OPTION_FIELD_MOVES + FIELD_MOVE_CUT] = {gMoveNames[MOVE_CUT], CursorCB_FieldMove},
[CURSOR_OPTION_FIELD_MOVES + FIELD_MOVE_FLY] = {gMoveNames[MOVE_FLY], CursorCB_FieldMove},
[CURSOR_OPTION_FIELD_MOVES + FIELD_MOVE_STRENGTH] = {gMoveNames[MOVE_STRENGTH], CursorCB_FieldMove},
[CURSOR_OPTION_FIELD_MOVES + FIELD_MOVE_SURF] = {gMoveNames[MOVE_SURF], CursorCB_FieldMove},
[CURSOR_OPTION_FIELD_MOVES + FIELD_MOVE_ROCK_SMASH] = {gMoveNames[MOVE_ROCK_SMASH], CursorCB_FieldMove},
[CURSOR_OPTION_FIELD_MOVES + FIELD_MOVE_WATERFALL] = {gMoveNames[MOVE_WATERFALL], CursorCB_FieldMove},
[CURSOR_OPTION_FIELD_MOVES + FIELD_MOVE_TELEPORT] = {gMoveNames[MOVE_TELEPORT], CursorCB_FieldMove},
[CURSOR_OPTION_FIELD_MOVES + FIELD_MOVE_DIG] = {gMoveNames[MOVE_DIG], CursorCB_FieldMove},
[CURSOR_OPTION_FIELD_MOVES + FIELD_MOVE_MILK_DRINK] = {gMoveNames[MOVE_MILK_DRINK], CursorCB_FieldMove},
[CURSOR_OPTION_FIELD_MOVES + FIELD_MOVE_SOFT_BOILED] = {gMoveNames[MOVE_SOFT_BOILED], CursorCB_FieldMove},
[CURSOR_OPTION_FIELD_MOVES + FIELD_MOVE_SWEET_SCENT] = {gMoveNames[MOVE_SWEET_SCENT], CursorCB_FieldMove},
[CURSOR_OPTION_SUMMARY] = {gText_Summary5, CursorCB_Summary },
[CURSOR_OPTION_SWITCH] = {gText_Switch2, CursorCB_Switch },
[CURSOR_OPTION_CANCEL1] = {gFameCheckerText_Cancel, CursorCB_Cancel1 },
[CURSOR_OPTION_ITEM] = {gText_Item, CursorCB_Item },
[CURSOR_OPTION_GIVE] = {gOtherText_Give, CursorCB_Give },
[CURSOR_OPTION_TAKE_ITEM] = {gText_Take, CursorCB_TakeItem },
[CURSOR_OPTION_MAIL] = {gText_Mail, CursorCB_Mail },
[CURSOR_OPTION_TAKE_MAIL] = {gText_Take2, CursorCB_TakeMail },
[CURSOR_OPTION_READ] = {gText_Read2, CursorCB_Read },
[CURSOR_OPTION_CANCEL2] = {gFameCheckerText_Cancel, CursorCB_Cancel2 },
[CURSOR_OPTION_SHIFT] = {gText_Shift, CursorCB_SendMon },
[CURSOR_OPTION_SEND_OUT] = {gText_SendOut, CursorCB_SendMon },
[CURSOR_OPTION_ENTER] = {gText_Enter, CursorCB_Enter },
[CURSOR_OPTION_NO_ENTRY] = {gText_NoEntry, CursorCB_NoEntry },
[CURSOR_OPTION_STORE] = {gText_Store, CursorCB_Store },
[CURSOR_OPTION_REGISTER] = {gText_Register, CursorCB_Register },
[CURSOR_OPTION_TRADE1] = {gText_Trade4, CursorCB_Trade1 },
[CURSOR_OPTION_TRADE2] = {gText_Trade4, CursorCB_Trade2 },
};
static const u8 sPartyMenuAction_SummarySwitchCancel[] = {CURSOR_OPTION_SUMMARY, CURSOR_OPTION_SWITCH, CURSOR_OPTION_CANCEL1};
@ -1155,10 +1143,21 @@ static const u8 sPartyMenuActionCounts[] =
[ACTIONS_SPIN_TRADE] = NELEMS(sPartyMenuAction_TradeSummaryCancel2),
};
static const u16 sFieldMoves[] =
static const u16 sFieldMoves[FIELD_MOVE_END + 1] =
{
MOVE_FLASH, MOVE_CUT, MOVE_FLY, MOVE_STRENGTH, MOVE_SURF, MOVE_ROCK_SMASH, MOVE_WATERFALL, MOVE_TELEPORT,
MOVE_DIG, MOVE_MILK_DRINK, MOVE_SOFT_BOILED, MOVE_SWEET_SCENT, FIELD_MOVE_END // this may be misuse of enum. same in emerald
[FIELD_MOVE_FLASH] = MOVE_FLASH,
[FIELD_MOVE_CUT] = MOVE_CUT,
[FIELD_MOVE_FLY] = MOVE_FLY,
[FIELD_MOVE_STRENGTH] = MOVE_STRENGTH,
[FIELD_MOVE_SURF] = MOVE_SURF,
[FIELD_MOVE_ROCK_SMASH] = MOVE_ROCK_SMASH,
[FIELD_MOVE_WATERFALL] = MOVE_WATERFALL,
[FIELD_MOVE_TELEPORT] = MOVE_TELEPORT,
[FIELD_MOVE_DIG] = MOVE_DIG,
[FIELD_MOVE_MILK_DRINK] = MOVE_MILK_DRINK,
[FIELD_MOVE_SOFT_BOILED] = MOVE_SOFT_BOILED,
[FIELD_MOVE_SWEET_SCENT] = MOVE_SWEET_SCENT,
[FIELD_MOVE_END] = FIELD_MOVE_END // this may be misuse of enum. same in emerald
};
static struct

File diff suppressed because it is too large Load Diff

View File

@ -1,53 +0,0 @@
static const u8 sHardyNatureName[] = _("HARDY");
static const u8 sLonelyNatureName[] = _("LONELY");
static const u8 sBraveNatureName[] = _("BRAVE");
static const u8 sAdamantNatureName[] = _("ADAMANT");
static const u8 sNaughtyNatureName[] = _("NAUGHTY");
static const u8 sBoldNatureName[] = _("BOLD");
static const u8 sDocileNatureName[] = _("DOCILE");
static const u8 sRelaxedNatureName[] = _("RELAXED");
static const u8 sImpishNatureName[] = _("IMPISH");
static const u8 sLaxNatureName[] = _("LAX");
static const u8 sTimidNatureName[] = _("TIMID");
static const u8 sHastyNatureName[] = _("HASTY");
static const u8 sSeriousNatureName[] = _("SERIOUS");
static const u8 sJollyNatureName[] = _("JOLLY");
static const u8 sNaiveNatureName[] = _("NAIVE");
static const u8 sModestNatureName[] = _("MODEST");
static const u8 sMildNatureName[] = _("MILD");
static const u8 sQuietNatureName[] = _("QUIET");
static const u8 sBashfulNatureName[] = _("BASHFUL");
static const u8 sRashNatureName[] = _("RASH");
static const u8 sCalmNatureName[] = _("CALM");
static const u8 sGentleNatureName[] = _("GENTLE");
static const u8 sSassyNatureName[] = _("SASSY");
static const u8 sCarefulNatureName[] = _("CAREFUL");
static const u8 sQuirkyNatureName[] = _("QUIRKY");
const u8 *const gNatureNamePointers[NUM_NATURES] = {
[NATURE_HARDY] = sHardyNatureName,
[NATURE_LONELY] = sLonelyNatureName,
[NATURE_BRAVE] = sBraveNatureName,
[NATURE_ADAMANT] = sAdamantNatureName,
[NATURE_NAUGHTY] = sNaughtyNatureName,
[NATURE_BOLD] = sBoldNatureName,
[NATURE_DOCILE] = sDocileNatureName,
[NATURE_RELAXED] = sRelaxedNatureName,
[NATURE_IMPISH] = sImpishNatureName,
[NATURE_LAX] = sLaxNatureName,
[NATURE_TIMID] = sTimidNatureName,
[NATURE_HASTY] = sHastyNatureName,
[NATURE_SERIOUS] = sSeriousNatureName,
[NATURE_JOLLY] = sJollyNatureName,
[NATURE_NAIVE] = sNaiveNatureName,
[NATURE_MODEST] = sModestNatureName,
[NATURE_MILD] = sMildNatureName,
[NATURE_QUIET] = sQuietNatureName,
[NATURE_BASHFUL] = sBashfulNatureName,
[NATURE_RASH] = sRashNatureName,
[NATURE_CALM] = sCalmNatureName,
[NATURE_GENTLE] = sGentleNatureName,
[NATURE_SASSY] = sSassyNatureName,
[NATURE_CAREFUL] = sCarefulNatureName,
[NATURE_QUIRKY] = sQuirkyNatureName,
};

View File

@ -157,7 +157,7 @@ static const u8 *GetEasyChatWord(u8 groupId, u16 index)
return gSpeciesInfo[index].speciesName;
case EC_GROUP_MOVE_1:
case EC_GROUP_MOVE_2:
return gMoveNames[index];
return gMovesInfo[index].name;
default:
return sEasyChatGroups[groupId].wordData.words[index].text;
}

View File

@ -2077,7 +2077,7 @@ bool8 BufferTMHMMoveName(void)
// 8004 = item ID
if (gSpecialVar_0x8004 >= ITEM_TM01 && gSpecialVar_0x8004 <= ITEM_HM08)
{
StringCopy(gStringVar1, gMoveNames[ItemIdToBattleMoveId(gSpecialVar_0x8004)]);
StringCopy(gStringVar1, gMovesInfo[ItemIdToBattleMoveId(gSpecialVar_0x8004)].name);
return TRUE;
}
else
@ -2259,21 +2259,21 @@ bool8 CapeBrinkGetMoveToTeachLeadPokemon(void)
return FALSE;
if (tutorMonId == 0)
{
StringCopy(gStringVar2, gMoveNames[MOVE_FRENZY_PLANT]);
StringCopy(gStringVar2, gMovesInfo[MOVE_FRENZY_PLANT].name);
gSpecialVar_0x8005 = MOVETUTOR_FRENZY_PLANT;
if (FlagGet(FLAG_TUTOR_FRENZY_PLANT) == TRUE)
return FALSE;
}
else if (tutorMonId == 1)
{
StringCopy(gStringVar2, gMoveNames[MOVE_BLAST_BURN]);
StringCopy(gStringVar2, gMovesInfo[MOVE_BLAST_BURN].name);
gSpecialVar_0x8005 = MOVETUTOR_BLAST_BURN;
if (FlagGet(FLAG_TUTOR_BLAST_BURN) == TRUE)
return FALSE;
}
else
{
StringCopy(gStringVar2, gMoveNames[MOVE_HYDRO_CANNON]);
StringCopy(gStringVar2, gMovesInfo[MOVE_HYDRO_CANNON].name);
gSpecialVar_0x8005 = MOVETUTOR_HYDRO_CANNON;
if (FlagGet(FLAG_TUTOR_HYDRO_CANNON) == TRUE)
return FALSE;

View File

@ -523,7 +523,7 @@ static void ItemPc_MoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu *
itemId = ItemPc_GetItemIdBySlotId(itemIndex);
CreateItemMenuIcon(itemId, sStateDataPtr->itemMenuIconSlot);
if (ItemId_GetPocket(itemId) == POCKET_TM_CASE)
desc = gMoveNames[ItemIdToBattleMoveId(itemId)];
desc = gMovesInfo[ItemIdToBattleMoveId(itemId)].name;
else
desc = ItemId_GetDescription(itemId);
}

View File

@ -643,10 +643,10 @@ static void MoveRelearnerStateMachine(void)
else
{
move = GetMonData(&gPlayerParty[sMoveRelearner->selectedPartyMember], MON_DATA_MOVE1 + sMoveRelearner->selectedMoveSlot);
StringCopy(gStringVar3, gMoveNames[move]);
StringCopy(gStringVar3, gMovesInfo[move].name);
RemoveMonPPBonus(&gPlayerParty[sMoveRelearner->selectedPartyMember], sMoveRelearner->selectedMoveSlot);
SetMonMoveSlot(&gPlayerParty[sMoveRelearner->selectedPartyMember], sMoveRelearner->learnableMoves[sMoveRelearner->selectedIndex], sMoveRelearner->selectedMoveSlot);
StringCopy(gStringVar2, gMoveNames[sMoveRelearner->learnableMoves[sMoveRelearner->selectedIndex]]);
StringCopy(gStringVar2, gMovesInfo[sMoveRelearner->learnableMoves[sMoveRelearner->selectedIndex]].name);
StringExpandPlaceholdersAndPrintTextOnWindow7Color2(gText_1_2_and_Poof);
sMoveRelearner->state = 30;
gSpecialVar_0x8004 = TRUE;
@ -755,7 +755,7 @@ static void MoveRelearnerInitListMenuBuffersEtc(void)
sMoveRelearner->numLearnableMoves = GetMoveRelearnerMoves(&gPlayerParty[sMoveRelearner->selectedPartyMember], sMoveRelearner->learnableMoves);
count = GetMoveRelearnerMoves(&gPlayerParty[sMoveRelearner->selectedPartyMember], sMoveRelearner->learnableMoves);
for (i = 0; i < sMoveRelearner->numLearnableMoves; i++)
StringCopy(sMoveRelearner->listMenuStrbufs[i], gMoveNames[sMoveRelearner->learnableMoves[i]]);
StringCopy(sMoveRelearner->listMenuStrbufs[i], gMovesInfo[sMoveRelearner->learnableMoves[i]].name);
GetMonData(&gPlayerParty[sMoveRelearner->selectedPartyMember], MON_DATA_NICKNAME, nickname);
StringCopy_Nickname(gStringVar1, nickname);
StringCopy(sMoveRelearner->listMenuStrbufs[sMoveRelearner->numLearnableMoves], gFameCheckerText_Cancel);

View File

@ -2055,7 +2055,10 @@ static void Task_PartyMenu_PokedudeStep(u8 taskId)
break;
case 240:
PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[2]);
sCursorOptions[sPartyMenuInternal->actions[0]].func(taskId);
if (sPartyMenuInternal->actions[0] >= CURSOR_OPTION_FIELD_MOVES)
CursorCB_FieldMove(taskId);
else
sCursorOptions[sPartyMenuInternal->actions[0]].func(taskId);
break;
}
++data[0];
@ -2571,9 +2574,14 @@ static u8 DisplaySelectionWindow(u8 windowType)
fontAttribute = GetFontAttribute(FONT_NORMAL, FONTATTR_LETTER_SPACING);
for (i = 0; i < sPartyMenuInternal->numActions; ++i)
{
const u8 *text;
u8 fontColorsId = (sPartyMenuInternal->actions[i] >= CURSOR_OPTION_FIELD_MOVES) ? 4 : 3;
if (sPartyMenuInternal->actions[i] >= CURSOR_OPTION_FIELD_MOVES)
text = gMovesInfo[sFieldMoves[sPartyMenuInternal->actions[i] - CURSOR_OPTION_FIELD_MOVES]].name;
else
text = sCursorOptions[sPartyMenuInternal->actions[i]].text;
AddTextPrinterParameterized4(sPartyMenuInternal->windowId[0], FONT_NORMAL, cursorDimension, (i * 16) + 2, fontAttribute, 0, sFontColorTable[fontColorsId], 0, sCursorOptions[sPartyMenuInternal->actions[i]].text);
AddTextPrinterParameterized4(sPartyMenuInternal->windowId[0], FONT_NORMAL, cursorDimension, (i * 16) + 2, fontAttribute, 0, sFontColorTable[fontColorsId], 0, text);
}
Menu_InitCursorInternal(sPartyMenuInternal->windowId[0], FONT_NORMAL, 0, 2, 16, sPartyMenuInternal->numActions, 0, 1);
ScheduleBgCopyTilemapToVram(2);
@ -3095,11 +3103,17 @@ static void Task_HandleSelectionMenuInput(u8 taskId)
case MENU_B_PRESSED:
PlaySE(SE_SELECT);
PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[2]);
sCursorOptions[sPartyMenuInternal->actions[sPartyMenuInternal->numActions - 1]].func(taskId);
if (sPartyMenuInternal->actions[sPartyMenuInternal->numActions - 1] >= CURSOR_OPTION_FIELD_MOVES)
CursorCB_FieldMove(taskId);
else
sCursorOptions[sPartyMenuInternal->actions[sPartyMenuInternal->numActions - 1]].func(taskId);
break;
default:
PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[2]);
sCursorOptions[sPartyMenuInternal->actions[input]].func(taskId);
if (sPartyMenuInternal->actions[input] >= CURSOR_OPTION_FIELD_MOVES)
CursorCB_FieldMove(taskId);
else
sCursorOptions[sPartyMenuInternal->actions[input]].func(taskId);
break;
}
}
@ -4931,7 +4945,7 @@ static void ShowMoveSelectWindow(u8 slot)
move = GetMonData(&gPlayerParty[slot], MON_DATA_MOVE1 + i);
AddTextPrinterParameterized(windowId,
fontId,
gMoveNames[move],
gMovesInfo[move].name,
GetFontAttribute(fontId, FONTATTR_MAX_LETTER_WIDTH) + GetFontAttribute(fontId, FONTATTR_LETTER_SPACING),
(i * 16) + 2,
TEXT_SKIP_DRAW,
@ -5065,7 +5079,7 @@ static void ItemUseCB_RestorePP(u8 taskId, TaskFunc func)
PlaySE(SE_USE_ITEM);
RemoveBagItem(gSpecialVar_ItemId, 1);
move = GetMonData(mon, gPartyMenu.ppMoveSlot + MON_DATA_MOVE1);
StringCopy(gStringVar1, gMoveNames[move]);
StringCopy(gStringVar1, gMovesInfo[move].name);
GetMedicineItemEffectMessage(gSpecialVar_ItemId);
DisplayPartyMenuMessage(gStringVar4, TRUE);
ScheduleBgCopyTilemapToVram(2);
@ -5167,7 +5181,7 @@ void ItemUseCB_TMHM(u8 taskId, TaskFunc func)
item = gSpecialVar_ItemId;
GetMonNickname(mon, gStringVar1);
learnMoveId = ItemIdToBattleMoveId(item);
StringCopy(gStringVar2, gMoveNames[learnMoveId]);
StringCopy(gStringVar2, gMovesInfo[learnMoveId].name);
learnMoveMethod = LEARN_VIA_TMHM;
switch (CanMonLearnTMTutor(mon, item, 0))
{
@ -5209,7 +5223,7 @@ static void Task_LearnedMove(u8 taskId)
RemoveBagItem(item, 1);
}
GetMonNickname(mon, gStringVar1);
StringCopy(gStringVar2, gMoveNames[learnMoveId]);
StringCopy(gStringVar2, gMovesInfo[learnMoveId].name);
StringExpandPlaceholders(gStringVar4, gText_PkmnLearnedMove3);
DisplayPartyMenuMessage(gStringVar4, TRUE);
ScheduleBgCopyTilemapToVram(2);
@ -5321,7 +5335,7 @@ static void Task_ReplaceMoveWithTMHM(u8 taskId)
ItemUse_SetQuestLogEvent(QL_EVENT_USED_ITEM, mon, gSpecialVar_ItemId, move);
GetMonNickname(mon, gStringVar1);
StringCopy(gStringVar2, gMoveNames[move]);
StringCopy(gStringVar2, gMovesInfo[move].name);
RemoveMonPPBonus(mon, moveIdx);
SetMonMoveSlot(mon, gPartyMenu.learnMoveId, moveIdx);
Task_LearnedMove(taskId);
@ -5333,7 +5347,7 @@ static void DisplayPartyMenuForgotMoveMessage(u8 taskId)
u16 move = GetMonData(mon, MON_DATA_MOVE1 + GetMoveSlotToReplace());
GetMonNickname(mon, gStringVar1);
StringCopy(gStringVar2, gMoveNames[move]);
StringCopy(gStringVar2, gMovesInfo[move].name);
DisplayLearnMoveMessage(gText_12PoofForgotMove);
gTasks[taskId].func = Task_PartyMenuReplaceMove;
}
@ -5355,7 +5369,7 @@ static void Task_PartyMenuReplaceMove(u8 taskId)
static void StopLearningMovePrompt(u8 taskId)
{
StringCopy(gStringVar2, gMoveNames[gPartyMenu.learnMoveId]);
StringCopy(gStringVar2, gMovesInfo[gPartyMenu.learnMoveId].name);
StringExpandPlaceholders(gStringVar4, gText_StopLearningMove2);
DisplayPartyMenuMessage(gStringVar4, TRUE);
ScheduleBgCopyTilemapToVram(2);
@ -5379,7 +5393,7 @@ static void Task_HandleStopLearningMoveYesNoInput(u8 taskId)
{
case 0: // Yes
GetMonNickname(mon, gStringVar1);
StringCopy(gStringVar2, gMoveNames[gPartyMenu.learnMoveId]);
StringCopy(gStringVar2, gMovesInfo[gPartyMenu.learnMoveId].name);
StringExpandPlaceholders(gStringVar4, gText_MoveNotLearned);
DisplayPartyMenuMessage(gStringVar4, TRUE);
if (gPartyMenu.learnMoveMethod == LEARN_VIA_LEVEL_UP)
@ -5398,7 +5412,7 @@ static void Task_HandleStopLearningMoveYesNoInput(u8 taskId)
// fallthrough
case 1: // No
GetMonNickname(mon, gStringVar1);
StringCopy(gStringVar2, gMoveNames[gPartyMenu.learnMoveId]);
StringCopy(gStringVar2, gMovesInfo[gPartyMenu.learnMoveId].name);
DisplayLearnMoveMessage(gText_PkmnNeedsToReplaceMove);
gTasks[taskId].func = Task_ReplaceMoveYesNo;
break;
@ -5651,7 +5665,7 @@ static void PartyMenuTryEvolution(u8 taskId)
static void DisplayMonNeedsToReplaceMove(u8 taskId)
{
GetMonNickname(&gPlayerParty[gPartyMenu.slotId], gStringVar1);
StringCopy(gStringVar2, gMoveNames[gMoveToLearn]);
StringCopy(gStringVar2, gMovesInfo[gMoveToLearn].name);
StringExpandPlaceholders(gStringVar4, gText_PkmnNeedsToReplaceMove);
DisplayPartyMenuMessage(gStringVar4, TRUE);
ScheduleBgCopyTilemapToVram(2);
@ -5662,7 +5676,7 @@ static void DisplayMonNeedsToReplaceMove(u8 taskId)
static void DisplayMonLearnedMove(u8 taskId, u16 move)
{
GetMonNickname(&gPlayerParty[gPartyMenu.slotId], gStringVar1);
StringCopy(gStringVar2, gMoveNames[move]);
StringCopy(gStringVar2, gMovesInfo[move].name);
StringExpandPlaceholders(gStringVar4, gText_PkmnLearnedMove3);
DisplayPartyMenuMessage(gStringVar4, TRUE);
ScheduleBgCopyTilemapToVram(2);
@ -5870,7 +5884,7 @@ static void TryTutorSelectedMon(u8 taskId)
data = gPartyMenu.data;
GetMonNickname(mon, gStringVar1);
gPartyMenu.learnMoveId = GetTutorMove(gSpecialVar_0x8005);
StringCopy(gStringVar2, gMoveNames[gPartyMenu.learnMoveId]);
StringCopy(gStringVar2, gMovesInfo[gPartyMenu.learnMoveId].name);
learnMoveMethod = LEARN_VIA_TUTOR;
switch (CanMonLearnTMTutor(mon, 0, gSpecialVar_0x8005))
{

View File

@ -64,7 +64,7 @@ void BufferMoveDeleterNicknameAndMove(void)
u16 move = GetMonData(mon, MON_DATA_MOVE1 + gSpecialVar_0x8005);
GetMonNickname(mon, gStringVar1);
StringCopy(gStringVar2, gMoveNames[move]);
StringCopy(gStringVar2, gMovesInfo[move].name);
}
static void ShiftMoveSlot(struct Pokemon *mon, u8 slotTo, u8 slotFrom)

View File

@ -605,6 +605,35 @@ static const struct SpindaSpot sSpindaSpotGraphics[] =
{.x = 34, .y = 26, .image = INCBIN_U16("graphics/spinda_spots/spot_3.bin")}
};
const u8 *const gNatureNamePointers[NUM_NATURES] =
{
[NATURE_HARDY] = COMPOUND_STRING("Hardy"),
[NATURE_LONELY] = COMPOUND_STRING("Lonely"),
[NATURE_BRAVE] = COMPOUND_STRING("Brave"),
[NATURE_ADAMANT] = COMPOUND_STRING("Adamant"),
[NATURE_NAUGHTY] = COMPOUND_STRING("Naughty"),
[NATURE_BOLD] = COMPOUND_STRING("Bold"),
[NATURE_DOCILE] = COMPOUND_STRING("Docile"),
[NATURE_RELAXED] = COMPOUND_STRING("Relaxed"),
[NATURE_IMPISH] = COMPOUND_STRING("Impish"),
[NATURE_LAX] = COMPOUND_STRING("Lax"),
[NATURE_TIMID] = COMPOUND_STRING("Timid"),
[NATURE_HASTY] = COMPOUND_STRING("Hasty"),
[NATURE_SERIOUS] = COMPOUND_STRING("Serious"),
[NATURE_JOLLY] = COMPOUND_STRING("Jolly"),
[NATURE_NAIVE] = COMPOUND_STRING("Naive"),
[NATURE_MODEST] = COMPOUND_STRING("Modest"),
[NATURE_MILD] = COMPOUND_STRING("Mild"),
[NATURE_QUIET] = COMPOUND_STRING("Quiet"),
[NATURE_BASHFUL] = COMPOUND_STRING("Bashful"),
[NATURE_RASH] = COMPOUND_STRING("Rash"),
[NATURE_CALM] = COMPOUND_STRING("Calm"),
[NATURE_GENTLE] = COMPOUND_STRING("Gentle"),
[NATURE_SASSY] = COMPOUND_STRING("Sassy"),
[NATURE_CAREFUL] = COMPOUND_STRING("Careful"),
[NATURE_QUIRKY] = COMPOUND_STRING("Quirky"),
};
const s8 gNatureStatTable[NUM_NATURES][NUM_NATURE_STATS] =
{ // Attack Defense Speed Sp.Atk Sp. Def
[NATURE_HARDY] = { 0, 0, 0, 0, 0 },

View File

@ -44,7 +44,7 @@ void StartUseItemAnim_ForgetMoveAndLearnTMorHM(u8 slotId, u16 itemId, u16 moveId
SetMainCallback2(callback);
else
{
StringCopy(ptr->nameOfMoveForgotten, gMoveNames[moveId]);
StringCopy(ptr->nameOfMoveForgotten, gMovesInfo[moveId].name);
SetUpUseItemAnim_ForgetMoveAndLearnTMorHM(ptr);
}
}
@ -89,7 +89,7 @@ static struct PokemonSpecialAnim * AllocPSA(u8 slotId, u16 itemId, MainCallback
if (ptr->animType == 4)
{
moveId = ItemIdToBattleMoveId(itemId);
StringCopy(ptr->nameOfMoveToTeach, gMoveNames[moveId]);
StringCopy(ptr->nameOfMoveToTeach, gMovesInfo[moveId].name);
}
return ptr;
}

View File

@ -623,8 +623,6 @@ static const u32 sStarObjTiles[] = INCBIN_U32( "graphics/summary_screen/shiny_st
static const u32 sBgTilemap_MovesInfoPage[] = INCBIN_U32( "graphics/summary_screen/moves_info_page.bin.lz");
static const u32 sBgTilemap_MovesPage[] = INCBIN_U32( "graphics/summary_screen/moves_page.bin.lz");
#include "data/text/nature_names.h"
static const u8 *const sEggHatchTimeTexts[] = {
gText_PokeSum_EggHatch_LongTime,
gText_PokeSum_EggHatch_SomeTime,
@ -2270,7 +2268,7 @@ static void BufferMonMoveI(u8 i)
sMonSummaryScreen->numMoves++;
sMonSummaryScreen->moveTypes[i] = gMovesInfo[sMonSummaryScreen->moveIds[i]].type;
StringCopy(sMonSummaryScreen->summary.moveNameStrBufs[i], gMoveNames[sMonSummaryScreen->moveIds[i]]);
StringCopy(sMonSummaryScreen->summary.moveNameStrBufs[i], gMovesInfo[sMonSummaryScreen->moveIds[i]].name);
if (i >= 4 && sMonSummaryScreen->mode == PSS_MODE_SELECT_MOVE)
{

View File

@ -1104,10 +1104,10 @@ static const u16 *LoadEvent_UsedItem(const u16 *eventData)
break;
case POCKET_TM_CASE:
QuestLog_GetSpeciesName(rSpecies, gStringVar1, 0);
StringCopy(gStringVar2, gMoveNames[ItemIdToBattleMoveId(rItemId)]);
StringCopy(gStringVar2, gMovesInfo[ItemIdToBattleMoveId(rItemId)].name);
if (rItemParam != 0xFFFF)
{
StringCopy(gStringVar3, gMoveNames[rItemParam]);
StringCopy(gStringVar3, gMovesInfo[rItemParam].name);
if (rItemId >= ITEM_HM01)
StringExpandPlaceholders(gStringVar4, gText_QuestLog_MonReplacedMoveWithHM);
else

View File

@ -1669,7 +1669,7 @@ bool8 ScrCmd_buffermovename(struct ScriptContext * ctx)
u8 stringVarIndex = ScriptReadByte(ctx);
u16 moveId = VarGet(ScriptReadHalfword(ctx));
StringCopy(sScriptStringVars[stringVarIndex], gMoveNames[moveId]);
StringCopy(sScriptStringVars[stringVarIndex], gMovesInfo[moveId].name);
return FALSE;
}

View File

@ -621,7 +621,7 @@ static void LoadTmHmNameInMart(s32 item)
StringCopy(gStringVar4, gText_NumberClear01);
StringAppend(gStringVar4, gStringVar1);
BuyMenuPrint(6, FONT_SMALL, gStringVar4, 0, 0, 0, 0, TEXT_SKIP_DRAW, 1);
StringCopy(gStringVar4, gMoveNames[ItemIdToBattleMoveId(item)]);
StringCopy(gStringVar4, gMovesInfo[ItemIdToBattleMoveId(item)].name);
BuyMenuPrint(6, FONT_NORMAL, gStringVar4, 0, 0x10, 0, 0, 0, 1);
}
else

View File

@ -694,7 +694,7 @@ static void GetTMNumberAndMoveString(u8 * dest, u16 itemId)
}
StringAppend(gStringVar4, sText_SingleSpace);
StringAppend(gStringVar4, gText_FontNormal);
StringAppend(gStringVar4, gMoveNames[ItemIdToBattleMoveId(itemId)]);
StringAppend(gStringVar4, gMovesInfo[ItemIdToBattleMoveId(itemId)].name);
StringCopy(dest, gStringVar4);
}

View File

@ -2352,7 +2352,7 @@ static void BufferMovesString(u8 *movesString, u8 whichParty, u8 partyIdx)
for (i = 0; i < MAX_MON_MOVES; i++)
{
if (moves[i] != MOVE_NONE)
StringAppend(movesString, gMoveNames[moves[i]]);
StringAppend(movesString, gMovesInfo[moves[i]].name);
StringAppend(movesString, sText_Newline);
}