Use MAX_MON_MOVES constants

This commit is contained in:
GriffinR
2019-09-08 11:53:48 -04:00
committed by huderlem
parent 258784f263
commit 85d97542cd
24 changed files with 81 additions and 81 deletions
+4 -5
View File
@@ -37,7 +37,6 @@
#define B_ACTION_NONE 0xFF #define B_ACTION_NONE 0xFF
#define MAX_TRAINER_ITEMS 4 #define MAX_TRAINER_ITEMS 4
#define MAX_MON_MOVES 4
// array entries for battle communication // array entries for battle communication
#define MULTIUSE_STATE 0x0 #define MULTIUSE_STATE 0x0
@@ -180,19 +179,19 @@ struct AI_ThinkingStruct
u8 aiState; u8 aiState;
u8 movesetIndex; u8 movesetIndex;
u16 moveConsidered; u16 moveConsidered;
s8 score[4]; s8 score[MAX_MON_MOVES];
u32 funcResult; u32 funcResult;
u32 aiFlags; u32 aiFlags;
u8 aiAction; u8 aiAction;
u8 aiLogicId; u8 aiLogicId;
u8 filler12[6]; u8 filler12[6];
u8 simulatedRNG[4]; u8 simulatedRNG[MAX_MON_MOVES];
}; };
struct UsedMoves struct UsedMoves
{ {
u16 moves[MAX_BATTLERS_COUNT]; u16 moves[MAX_MON_MOVES];
u16 unknown[MAX_BATTLERS_COUNT]; u16 unknown[MAX_MON_MOVES];
}; };
struct BattleHistory struct BattleHistory
+5 -5
View File
@@ -97,16 +97,16 @@ struct HpAndStatus
struct MovePpInfo struct MovePpInfo
{ {
u16 moves[4]; u16 moves[MAX_MON_MOVES];
u8 pp[4]; u8 pp[MAX_MON_MOVES];
u8 ppBonuses; u8 ppBonuses;
}; };
struct ChooseMoveStruct struct ChooseMoveStruct
{ {
u16 moves[4]; u16 moves[MAX_MON_MOVES];
u8 currentPp[4]; u8 currentPp[MAX_MON_MOVES];
u8 maxPp[4]; u8 maxPp[MAX_MON_MOVES];
u16 species; u16 species;
u8 monType1; u8 monType1;
u8 monType2; u8 monType2;
+2 -2
View File
@@ -7,7 +7,7 @@ struct RSBattleTowerRecord
/*0x01*/ u8 facilityClass; /*0x01*/ u8 facilityClass;
/*0x02*/ u16 winStreak; /*0x02*/ u16 winStreak;
/*0x04*/ u8 name[PLAYER_NAME_LENGTH + 1]; /*0x04*/ u8 name[PLAYER_NAME_LENGTH + 1];
/*0x0C*/ u8 trainerId[4]; /*0x0C*/ u8 trainerId[TRAINER_ID_LENGTH];
/*0x10*/ u16 greeting[6]; /*0x10*/ u16 greeting[6];
/*0x1C*/ struct BattleTowerPokemon party[3]; /*0x1C*/ struct BattleTowerPokemon party[3];
/*0xA0*/ u32 checksum; /*0xA0*/ u32 checksum;
@@ -27,7 +27,7 @@ struct BattleFrontierTrainer
struct FacilityMon struct FacilityMon
{ {
u16 species; u16 species;
u16 moves[4]; u16 moves[MAX_MON_MOVES];
u8 itemTableId; u8 itemTableId;
u8 evSpread; u8 evSpread;
u8 nature; u8 nature;
+1
View File
@@ -51,6 +51,7 @@
#define HALL_FACILITIES_COUNT 9 // 7 facilities for single mode + tower double mode + tower multi mode. #define HALL_FACILITIES_COUNT 9 // 7 facilities for single mode + tower double mode + tower multi mode.
#define TRAINER_ID_LENGTH 4 #define TRAINER_ID_LENGTH 4
#define MAX_MON_MOVES 4
// string lengths // string lengths
#define ITEM_NAME_LENGTH 14 #define ITEM_NAME_LENGTH 14
+1 -1
View File
@@ -227,7 +227,7 @@ struct ContestPokemon
u8 aiPool_Cute:1; // 0x10 u8 aiPool_Cute:1; // 0x10
u8 aiPool_Smart:1; // 0x20 u8 aiPool_Smart:1; // 0x20
u8 aiPool_Tough:1; // 0x40 u8 aiPool_Tough:1; // 0x40
/*0x1E*/ u16 moves[4]; // moves /*0x1E*/ u16 moves[MAX_MON_MOVES]; // moves
/*0x26*/ u8 cool; // cool /*0x26*/ u8 cool; // cool
/*0x27*/ u8 beauty; // beauty /*0x27*/ u8 beauty; // beauty
/*0x28*/ u8 cute; // cute /*0x28*/ u8 cute; // cute
+2 -2
View File
@@ -34,7 +34,7 @@ struct TrainerMonNoItemCustomMoves
u16 iv; u16 iv;
u8 lvl; u8 lvl;
u16 species; u16 species;
u16 moves[4]; u16 moves[MAX_MON_MOVES];
}; };
struct TrainerMonItemCustomMoves struct TrainerMonItemCustomMoves
@@ -43,7 +43,7 @@ struct TrainerMonItemCustomMoves
u8 lvl; u8 lvl;
u16 species; u16 species;
u16 heldItem; u16 heldItem;
u16 moves[4]; u16 moves[MAX_MON_MOVES];
}; };
union TrainerMonPtr union TrainerMonPtr
+4 -4
View File
@@ -212,7 +212,7 @@ struct BerryCrush
struct ApprenticeMon struct ApprenticeMon
{ {
u16 species; u16 species;
u16 moves[4]; u16 moves[MAX_MON_MOVES];
u16 item; u16 item;
}; };
@@ -234,7 +234,7 @@ struct BattleTowerPokemon
{ {
u16 species; u16 species;
u16 heldItem; u16 heldItem;
u16 moves[4]; u16 moves[MAX_MON_MOVES];
u8 level; u8 level;
u8 ppBonuses; u8 ppBonuses;
u8 hpEV; u8 hpEV;
@@ -290,7 +290,7 @@ struct BattleTowerEReaderTrainer
struct FrontierMonData struct FrontierMonData
{ {
u16 moves[4]; u16 moves[MAX_MON_MOVES];
u8 evs[6]; u8 evs[6];
u8 nature; u8 nature;
}; };
@@ -946,7 +946,7 @@ struct SaveBlock1
/*0x2B94*/ u8 outbreakPokemonLevel; /*0x2B94*/ u8 outbreakPokemonLevel;
/*0x2B95*/ u8 outbreakUnk1; /*0x2B95*/ u8 outbreakUnk1;
/*0x2B96*/ u16 outbreakUnk2; /*0x2B96*/ u16 outbreakUnk2;
/*0x2B98*/ u16 outbreakPokemonMoves[4]; /*0x2B98*/ u16 outbreakPokemonMoves[MAX_MON_MOVES];
/*0x2BA0*/ u8 outbreakUnk4; /*0x2BA0*/ u8 outbreakUnk4;
/*0x2BA1*/ u8 outbreakPokemonProbability; /*0x2BA1*/ u8 outbreakPokemonProbability;
/*0x2BA2*/ u16 outbreakDaysLeft; /*0x2BA2*/ u16 outbreakDaysLeft;
+1 -1
View File
@@ -482,7 +482,7 @@ typedef union // size = 0x24
/*0x01*/ bool8 active; /*0x01*/ bool8 active;
/*0x02*/ u8 var02; /*0x02*/ u8 var02;
/*0x03*/ u8 var03; /*0x03*/ u8 var03;
/*0x04*/ u16 moves[4]; /*0x04*/ u16 moves[MAX_MON_MOVES];
/*0x0C*/ u16 species; /*0x0C*/ u16 species;
/*0x0E*/ u16 var0E; /*0x0E*/ u16 var0E;
/*0x10*/ u8 locationMapNum; /*0x10*/ u8 locationMapNum;
+4 -4
View File
@@ -145,8 +145,8 @@ struct PokemonSubstruct0
struct PokemonSubstruct1 struct PokemonSubstruct1
{ {
u16 moves[4]; u16 moves[MAX_MON_MOVES];
u8 pp[4]; u8 pp[MAX_MON_MOVES];
}; };
struct PokemonSubstruct2 struct PokemonSubstruct2
@@ -273,7 +273,7 @@ struct BattlePokemon
/*0x06*/ u16 speed; /*0x06*/ u16 speed;
/*0x08*/ u16 spAttack; /*0x08*/ u16 spAttack;
/*0x0A*/ u16 spDefense; /*0x0A*/ u16 spDefense;
/*0x0C*/ u16 moves[4]; /*0x0C*/ u16 moves[MAX_MON_MOVES];
/*0x14*/ u32 hpIV:5; /*0x14*/ u32 hpIV:5;
/*0x14*/ u32 attackIV:5; /*0x14*/ u32 attackIV:5;
/*0x15*/ u32 defenseIV:5; /*0x15*/ u32 defenseIV:5;
@@ -287,7 +287,7 @@ struct BattlePokemon
/*0x21*/ u8 type1; /*0x21*/ u8 type1;
/*0x22*/ u8 type2; /*0x22*/ u8 type2;
/*0x23*/ u8 unknown; /*0x23*/ u8 unknown;
/*0x24*/ u8 pp[4]; /*0x24*/ u8 pp[MAX_MON_MOVES];
/*0x28*/ u16 hp; /*0x28*/ u16 hp;
/*0x2A*/ u8 level; /*0x2A*/ u8 level;
/*0x2B*/ u8 friendship; /*0x2B*/ u8 friendship;
+4 -4
View File
@@ -1100,7 +1100,7 @@ void ResetAllApprenticeData(void)
gSaveBlock2Ptr->apprentices[i].lvlMode = 0; gSaveBlock2Ptr->apprentices[i].lvlMode = 0;
gSaveBlock2Ptr->apprentices[i].number = 0; gSaveBlock2Ptr->apprentices[i].number = 0;
gSaveBlock2Ptr->apprentices[i].field_1 = 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].playerId[j] = 0;
gSaveBlock2Ptr->apprentices[i].language = gGameLanguage; gSaveBlock2Ptr->apprentices[i].language = gGameLanguage;
gSaveBlock2Ptr->apprentices[i].checksum = 0; 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) static u16 sub_81A0284(u8 arg0, u8 speciesTableId, u8 arg2)
{ {
u16 moves[4]; u16 moves[MAX_MON_MOVES];
u8 i, count; u8 i, count;
if (PLAYER_APPRENTICE.field_B1_1 < 3) if (PLAYER_APPRENTICE.field_B1_1 < 3)
@@ -2063,7 +2063,7 @@ static void sub_81A1370(void)
r10 = 0xFFFF; r10 = 0xFFFF;
r9 = -1; 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) if (GetTrainerId(gSaveBlock2Ptr->apprentices[i].playerId) == GetTrainerId(gSaveBlock2Ptr->playerTrainerId)
&& gSaveBlock2Ptr->apprentices[i].number < r10) && gSaveBlock2Ptr->apprentices[i].number < r10)
@@ -2092,7 +2092,7 @@ static void sub_81A1438(void)
gSaveBlock2Ptr->apprentices[0].number++; gSaveBlock2Ptr->apprentices[0].number++;
sub_81A0390(gSaveBlock2Ptr->apprentices[0].field_1); 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]; gSaveBlock2Ptr->apprentices[0].playerId[i] = gSaveBlock2Ptr->playerTrainerId[i];
StringCopy(gSaveBlock2Ptr->apprentices[0].playerName, gSaveBlock2Ptr->playerName); StringCopy(gSaveBlock2Ptr->apprentices[0].playerName, gSaveBlock2Ptr->playerName);
+9 -9
View File
@@ -397,8 +397,8 @@ u8 BattleAI_ChooseMoveOrAction(void)
static u8 ChooseMoveOrAction_Singles(void) static u8 ChooseMoveOrAction_Singles(void)
{ {
u8 currentMoveArray[4]; u8 currentMoveArray[MAX_MON_MOVES];
u8 consideredMoveArray[4]; u8 consideredMoveArray[MAX_MON_MOVES];
u8 numOfBestMoves; u8 numOfBestMoves;
s32 i; s32 i;
@@ -452,11 +452,11 @@ static u8 ChooseMoveOrAction_Doubles(void)
s32 i; s32 i;
s32 j; s32 j;
s32 scriptsToRun; s32 scriptsToRun;
s16 bestMovePointsForTarget[4]; s16 bestMovePointsForTarget[MAX_BATTLERS_COUNT];
s8 mostViableTargetsArray[4]; s8 mostViableTargetsArray[MAX_BATTLERS_COUNT];
u8 actionOrMoveIndex[4]; u8 actionOrMoveIndex[MAX_BATTLERS_COUNT];
u8 mostViableMovesScores[4]; u8 mostViableMovesScores[MAX_MON_MOVES];
u8 mostViableMovesIndices[4]; u8 mostViableMovesIndices[MAX_MON_MOVES];
s32 mostViableTargetsNo; s32 mostViableTargetsNo;
s32 mostViableMovesNo; s32 mostViableMovesNo;
s16 mostMovePoints; s16 mostMovePoints;
@@ -543,7 +543,7 @@ static u8 ChooseMoveOrAction_Doubles(void)
mostViableTargetsArray[0] = 0; mostViableTargetsArray[0] = 0;
mostViableTargetsNo = 1; mostViableTargetsNo = 1;
for (i = 1; i < MAX_MON_MOVES; i++) for (i = 1; i < MAX_BATTLERS_COUNT; i++)
{ {
if (mostMovePoints == bestMovePointsForTarget[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) static void BattleAICmd_get_how_powerful_move_is(void)
{ {
s32 i, checkedMove; s32 i, checkedMove;
s32 moveDmgs[4]; s32 moveDmgs[MAX_MON_MOVES];
for (i = 0; sDiscouragedPowerfulMoveEffects[i] != 0xFFFF; i++) for (i = 0; sDiscouragedPowerfulMoveEffects[i] != 0xFFFF; i++)
{ {
+1 -1
View File
@@ -664,7 +664,7 @@ u32 sub_8057FBC(void) // unused
static void HandleMoveSwitching(void) static void HandleMoveSwitching(void)
{ {
u8 perMovePPBonuses[4]; u8 perMovePPBonuses[MAX_MON_MOVES];
struct ChooseMoveStruct moveStruct; struct ChooseMoveStruct moveStruct;
u8 totalPPBonuses; u8 totalPPBonuses;
+1 -1
View File
@@ -49,7 +49,7 @@ struct PikeWildMon
{ {
u16 species; u16 species;
u8 levelDelta; u8 levelDelta;
u16 moves[4]; u16 moves[MAX_MON_MOVES];
}; };
// IWRAM bss // IWRAM bss
+1 -1
View File
@@ -77,7 +77,7 @@ struct PyramidWildMon
u16 species; u16 species;
u8 lvl; u8 lvl;
u8 abilityNum; u8 abilityNum;
u16 moves[4]; u16 moves[MAX_MON_MOVES];
}; };
struct PyramidFloorTemplate struct PyramidFloorTemplate
+4 -4
View File
@@ -1019,7 +1019,7 @@ struct
u8 level; u8 level;
u8 nature; u8 nature;
u8 evs[6]; u8 evs[6];
u16 moves[4]; u16 moves[MAX_MON_MOVES];
} const sStevenMons[3] = } const sStevenMons[3] =
{ {
{ {
@@ -1561,7 +1561,7 @@ void PutNewBattleTowerRecord(struct EmeraldBattleTowerRecord *newRecordEm)
for (i = 0; i < 5; i++) for (i = 0; i < 5; i++)
{ {
k = 0; 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]) if (gSaveBlock2Ptr->frontier.towerRecords[i].trainerId[j] != newRecord->trainerId[j])
break; break;
@@ -3308,7 +3308,7 @@ bool32 RubyBattleTowerRecordToEmerald(struct RSBattleTowerRecord *src, struct Em
for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++) for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++)
dst->name[i] = src->name[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]; dst->trainerId[i] = src->trainerId[i];
for (i = 0; i < 6; i++) for (i = 0; i < 6; i++)
dst->greeting[i] = src->greeting[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++) for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++)
dst->name[i] = src->name[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]; dst->trainerId[i] = src->trainerId[i];
for (i = 0; i < 6; i++) for (i = 0; i < 6; i++)
dst->greeting[i] = src->greeting[i]; dst->greeting[i] = src->greeting[i];
+3 -3
View File
@@ -34,10 +34,10 @@ static void DaycarePrintMonInfo(u8 windowId, s32 daycareSlotId, u8 y);
// RAM buffers used to assist with BuildEggMoveset() // RAM buffers used to assist with BuildEggMoveset()
EWRAM_DATA static u16 sHatchedEggLevelUpMoves[EGG_LVL_UP_MOVES_ARRAY_COUNT] = {0}; EWRAM_DATA static u16 sHatchedEggLevelUpMoves[EGG_LVL_UP_MOVES_ARRAY_COUNT] = {0};
EWRAM_DATA static u16 sHatchedEggFatherMoves[4] = {0}; EWRAM_DATA static u16 sHatchedEggFatherMoves[MAX_MON_MOVES] = {0};
EWRAM_DATA static u16 sHatchedEggFinalMoves[4] = {0}; EWRAM_DATA static u16 sHatchedEggFinalMoves[MAX_MON_MOVES] = {0};
EWRAM_DATA static u16 sHatchedEggEggMoves[EGG_MOVES_ARRAY_COUNT] = {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" #include "data/pokemon/egg_moves.h"
+3 -3
View File
@@ -298,13 +298,13 @@ static void CreatedHatchedMon(struct Pokemon *egg, struct Pokemon *temp)
u16 species; u16 species;
u32 personality, pokerus; u32 personality, pokerus;
u8 i, friendship, language, gameMet, markings, obedience; u8 i, friendship, language, gameMet, markings, obedience;
u16 moves[4]; u16 moves[MAX_MON_MOVES];
u32 ivs[NUM_STATS]; u32 ivs[NUM_STATS];
species = GetMonData(egg, MON_DATA_SPECIES); 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); 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); 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]); SetMonData(temp, MON_DATA_MOVE1 + i, &moves[i]);
} }
+1 -1
View File
@@ -154,7 +154,7 @@ static EWRAM_DATA struct
{ {
u8 state; u8 state;
u8 heartSpriteIds[16]; /*0x001*/ u8 heartSpriteIds[16]; /*0x001*/
u16 movesToLearn[4]; /*0x012*/ u16 movesToLearn[MAX_MON_MOVES]; /*0x012*/
u8 filler1A[0x44 - 0x1A]; /*0x01A*/ u8 filler1A[0x44 - 0x1A]; /*0x01A*/
u8 partyMon; /*0x044*/ u8 partyMon; /*0x044*/
u8 moveSlot; /*0x045*/ u8 moveSlot; /*0x045*/
+11 -11
View File
@@ -2989,11 +2989,11 @@ u16 MonTryLearningNewMove(struct Pokemon *mon, bool8 firstMove)
void DeleteFirstMoveAndGiveMoveToMon(struct Pokemon *mon, u16 move) void DeleteFirstMoveAndGiveMoveToMon(struct Pokemon *mon, u16 move)
{ {
s32 i; s32 i;
u16 moves[4]; u16 moves[MAX_MON_MOVES];
u8 pp[4]; u8 pp[MAX_MON_MOVES];
u8 ppBonuses; 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); moves[i] = GetMonData(mon, MON_DATA_MOVE2 + i, NULL);
pp[i] = GetMonData(mon, MON_DATA_PP2 + 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) void DeleteFirstMoveAndGiveMoveToBoxMon(struct BoxPokemon *boxMon, u16 move)
{ {
s32 i; s32 i;
u16 moves[4]; u16 moves[MAX_MON_MOVES];
u8 pp[4]; u8 pp[MAX_MON_MOVES];
u8 ppBonuses; 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); moves[i] = GetBoxMonData(boxMon, MON_DATA_MOVE2 + i, NULL);
pp[i] = GetBoxMonData(boxMon, MON_DATA_PP2 + i, NULL); pp[i] = GetBoxMonData(boxMon, MON_DATA_PP2 + i, NULL);
@@ -3304,21 +3304,21 @@ u8 CountAliveMonsInBattle(u8 caseId)
switch (caseId) switch (caseId)
{ {
case BATTLE_ALIVE_EXCEPT_ACTIVE: 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])) if (i != gActiveBattler && !(gAbsentBattlerFlags & gBitTable[i]))
retVal++; retVal++;
} }
break; break;
case BATTLE_ALIVE_ATK_SIDE: 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])) if (GetBattlerSide(i) == GetBattlerSide(gBattlerAttacker) && !(gAbsentBattlerFlags & gBitTable[i]))
retVal++; retVal++;
} }
break; break;
case BATTLE_ALIVE_DEF_SIDE: 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])) if (GetBattlerSide(i) == GetBattlerSide(gBattlerTarget) && !(gAbsentBattlerFlags & gBitTable[i]))
retVal++; retVal++;
@@ -6096,7 +6096,7 @@ u32 CanSpeciesLearnTMHM(u16 species, u8 tm)
u8 GetMoveRelearnerMoves(struct Pokemon *mon, u16 *moves) u8 GetMoveRelearnerMoves(struct Pokemon *mon, u16 *moves)
{ {
u16 learnedMoves[4]; u16 learnedMoves[MAX_MON_MOVES];
u8 numMoves = 0; u8 numMoves = 0;
u16 species = GetMonData(mon, MON_DATA_SPECIES, 0); u16 species = GetMonData(mon, MON_DATA_SPECIES, 0);
u8 level = GetMonData(mon, MON_DATA_LEVEL, 0); u8 level = GetMonData(mon, MON_DATA_LEVEL, 0);
@@ -6146,7 +6146,7 @@ u8 GetLevelUpMovesBySpecies(u16 species, u16 *moves)
u8 GetNumberOfRelearnableMoves(struct Pokemon *mon) u8 GetNumberOfRelearnableMoves(struct Pokemon *mon)
{ {
u16 learnedMoves[4]; u16 learnedMoves[MAX_MON_MOVES];
u16 moves[20]; u16 moves[20];
u8 numMoves = 0; u8 numMoves = 0;
u16 species = GetMonData(mon, MON_DATA_SPECIES2, 0); u16 species = GetMonData(mon, MON_DATA_SPECIES2, 0);
+2 -2
View File
@@ -121,8 +121,8 @@ static EWRAM_DATA struct PokemonSummaryScreenData
u8 metGame; // 0xB u8 metGame; // 0xB
u32 pid; // 0xC u32 pid; // 0xC
u32 exp; // 0x10 u32 exp; // 0x10
u16 moves[4]; // 0x14 u16 moves[MAX_MON_MOVES]; // 0x14
u8 pp[4]; // 0x1C u8 pp[MAX_MON_MOVES]; // 0x1C
u16 currentHP; // 0x20 u16 currentHP; // 0x20
u16 maxHP; // 0x22 u16 maxHP; // 0x22
u16 atk; // 0x24 u16 atk; // 0x24
+7 -7
View File
@@ -37,8 +37,8 @@ struct PlayerInfo
struct MovePp struct MovePp
{ {
u16 moves[4]; u16 moves[MAX_MON_MOVES];
u8 pp[4]; u8 pp[MAX_MON_MOVES];
}; };
struct RecordedBattleSave struct RecordedBattleSave
@@ -91,7 +91,7 @@ EWRAM_DATA static u32 sBattleFlags = 0;
EWRAM_DATA static u32 sAI_Scripts = 0; EWRAM_DATA static u32 sAI_Scripts = 0;
EWRAM_DATA static struct Pokemon sSavedPlayerParty[PARTY_SIZE] = {0}; EWRAM_DATA static struct Pokemon sSavedPlayerParty[PARTY_SIZE] = {0};
EWRAM_DATA static struct Pokemon sSavedOpponentParty[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 struct PlayerInfo sPlayers[MAX_BATTLERS_COUNT] = {0};
EWRAM_DATA static u8 sUnknown_0203CCD0 = 0; EWRAM_DATA static u8 sUnknown_0203CCD0 = 0;
EWRAM_DATA static u8 sRecordMixFriendName[PLAYER_NAME_LENGTH + 1] = {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) if (sBattleRecords[battlerId][sRecordedBytesNo[battlerId]] == ACTION_MOVE_CHANGE)
{ {
u8 ppBonuses[4]; u8 ppBonuses[MAX_MON_MOVES];
u8 array1[4]; u8 array1[MAX_MON_MOVES];
u8 array2[4]; u8 array2[MAX_MON_MOVES];
struct MovePp movePp; struct MovePp movePp;
u8 array3[8]; u8 array3[(MAX_MON_MOVES * 2)];
u8 var; u8 var;
RecordedBattle_GetBattlerAction(battlerId); RecordedBattle_GetBattlerAction(battlerId);
+3 -3
View File
@@ -349,7 +349,7 @@ void SetPlayerSecretBase(void)
u16 i; u16 i;
gSaveBlock1Ptr->secretBases[0].secretBaseId = sCurSecretBaseId; 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]; gSaveBlock1Ptr->secretBases[0].trainerId[i] = gSaveBlock2Ptr->playerTrainerId[i];
VarSet(VAR_CURRENT_SECRET_BASE, 0); 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) static bool8 SecretBasesHaveSameTrainerId(struct SecretBase *secretBase1, struct SecretBase *secretBase2)
{ {
u8 i; u8 i;
for (i = 0; i < 4; i++) for (i = 0; i < TRAINER_ID_LENGTH; i++)
{ {
if (secretBase1->trainerId[i] != secretBase2->trainerId[i]) if (secretBase1->trainerId[i] != secretBase2->trainerId[i])
return FALSE; return FALSE;
@@ -1445,7 +1445,7 @@ bool8 SecretBaseBelongsToPlayer(struct SecretBase *secretBase)
return FALSE; return FALSE;
// Check if the player's trainer Id matches the secret base's id. // 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]) if (secretBase->trainerId[i] != gSaveBlock2Ptr->playerTrainerId[i])
return FALSE; return FALSE;
+5 -5
View File
@@ -3032,7 +3032,7 @@ static u8 sub_8079A3C(u8 *str, u8 whichParty, u8 monIdx)
static void sub_8079AA4(u8 *a0, u8 a1, u8 a2) static void sub_8079AA4(u8 *a0, u8 a1, u8 a2)
{ {
u16 arr[4]; u16 moves[MAX_MON_MOVES];
u16 i; u16 i;
if (!gUnknown_0203229C->unk_51[a1][a2]) if (!gUnknown_0203229C->unk_51[a1][a2])
@@ -3041,11 +3041,11 @@ static void sub_8079AA4(u8 *a0, u8 a1, u8 a2)
{ {
if (!a1) if (!a1)
{ {
arr[i] = GetMonData(&gPlayerParty[a2], i + MON_DATA_MOVE1, NULL); moves[i] = GetMonData(&gPlayerParty[a2], i + MON_DATA_MOVE1, NULL);
} }
else 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++) 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); StringAppend(a0, gText_NewLine3);
+2 -2
View File
@@ -182,7 +182,7 @@ static void DoTVShowPokemonContestLiveUpdates2(void);
static const struct { static const struct {
u16 species; u16 species;
u16 moves[4]; u16 moves[MAX_MON_MOVES];
u8 level; u8 level;
u8 location; u8 location;
} sPokeOutbreakSpeciesList[] = { } sPokeOutbreakSpeciesList[] = {
@@ -2329,7 +2329,7 @@ void sub_80EE35C(u16 foeSpecies, u16 species, u8 moveIdx, const u16 *movePtr, u1
show->battleSeminar.foeSpecies = foeSpecies; show->battleSeminar.foeSpecies = foeSpecies;
show->battleSeminar.species = species; show->battleSeminar.species = species;
show->battleSeminar.move = movePtr[moveIdx]; 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]) if (i != moveIdx && movePtr[i])
{ {