Skip to content

Commit

Permalink
Decorate calls to SpeciesData accessors with proper constants
Browse files Browse the repository at this point in the history
  • Loading branch information
lhearachel committed Jan 22, 2025
1 parent 98fcc94 commit 1eff5a8
Show file tree
Hide file tree
Showing 18 changed files with 116 additions and 108 deletions.
2 changes: 1 addition & 1 deletion include/battle/ov16_0223DF00.h
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,7 @@ u32 BattleSystem_BattleStatus(BattleSystem *battleSys);
enum Time BattleSystem_Time(BattleSystem *battleSys);
int ov16_0223EC04(BattleSystem *battleSys);
u8 ov16_0223EC58(BattleSystem *battleSys, int param1, u8 param2);
u16 ov16_0223ECC4(FieldBattleDTO *param0, int *param1, int *param2);
u16 Battle_FindEvolvingPartyMember(FieldBattleDTO *param0, int *param1, int *param2);
u8 ov16_0223ED60(BattleSystem *battleSys);
u8 ov16_0223ED6C(BattleSystem *battleSys);
int BattleSystem_NumSafariBalls(BattleSystem *battleSys);
Expand Down
2 changes: 1 addition & 1 deletion src/battle/battle_display.c
Original file line number Diff line number Diff line change
Expand Up @@ -3172,7 +3172,7 @@ static void ov16_02260B04(SysTask *param0, void *param1)

v3 = ov16_0223ED6C(v0->unk_00);
v2 = BattleMon_Get(BattleSystem_Context(v0->unk_00), v0->unk_09, 0, NULL);
v1 = SpeciesData_GetSpeciesValue(v2, 26);
v1 = SpeciesData_GetSpeciesValue(v2, SPECIES_DATA_SAFARI_FLEE_RATE);
v1 = v1 * Unk_ov16_0226F194[v3][0] / Unk_ov16_0226F194[v3][1];

if ((BattleSystem_RandNext(v0->unk_00) % 255) <= v1) {
Expand Down
2 changes: 1 addition & 1 deletion src/battle/ov16_0223B140.c
Original file line number Diff line number Diff line change
Expand Up @@ -263,7 +263,7 @@ BOOL Battle_Main(OverlayManager *param0, int *param1)
int v3;
Pokemon *v4;

v2 = ov16_0223ECC4(v0, &v1, &v3);
v2 = Battle_FindEvolvingPartyMember(v0, &v1, &v3);

if (v2) {
Heap_Create(3, 73, 0x30000);
Expand Down
36 changes: 18 additions & 18 deletions src/battle/ov16_0223DF00.c
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ u32 ov16_0223EBEC(BattleSystem *battleSystem);
enum Time BattleSystem_Time(BattleSystem *battleSys);
int ov16_0223EC04(BattleSystem *battleSystem);
u8 ov16_0223EC58(BattleSystem *battleSystem, int param1, u8 param2);
u16 ov16_0223ECC4(FieldBattleDTO *param0, int *param1, int *param2);
u16 Battle_FindEvolvingPartyMember(FieldBattleDTO *param0, int *param1, int *param2);
u8 ov16_0223ED60(BattleSystem *battleSystem);
u8 ov16_0223ED6C(BattleSystem *battleSystem);
int BattleSystem_NumSafariBalls(BattleSystem *battleSystem);
Expand Down Expand Up @@ -957,35 +957,35 @@ u8 ov16_0223EC58(BattleSystem *battleSystem, int param1, u8 param2)
return 0;
}

u16 ov16_0223ECC4(FieldBattleDTO *param0, int *param1, int *param2)
u16 Battle_FindEvolvingPartyMember(FieldBattleDTO *dto, int *outPartySlot, int *outEvoType)
{
Pokemon *v0;
u16 v1;

v1 = 0;
Pokemon *mon;
u16 species = SPECIES_NONE;

if ((param0->resultMask != BATTLE_RESULT_WIN) && (param0->resultMask != BATTLE_RESULT_CAPTURED_MON) && (param0->resultMask != BATTLE_RESULT_PLAYER_FLED)) {
return 0;
if (dto->resultMask != BATTLE_RESULT_WIN
&& dto->resultMask != BATTLE_RESULT_CAPTURED_MON
&& dto->resultMask != BATTLE_RESULT_PLAYER_FLED) {
return SPECIES_NONE;
}

while (param0->leveledUpMonsMask) {
for (param1[0] = 0; param1[0] < 6; param1[0]++) {
if (param0->leveledUpMonsMask & FlagIndex(param1[0])) {
param0->leveledUpMonsMask &= (FlagIndex(param1[0]) ^ 0xffffffff);
while (dto->leveledUpMonsMask) {
for (*outPartySlot = 0; *outPartySlot < 6; (*outPartySlot)++) {
if (dto->leveledUpMonsMask & FlagIndex(*outPartySlot)) {
dto->leveledUpMonsMask &= (FlagIndex(*outPartySlot) ^ 0xFFFFFFFF);
break;
}
}

if (param1[0] < 6) {
v0 = Party_GetPokemonBySlotIndex(param0->parties[0], param1[0]);

if ((v1 = Pokemon_GetEvolutionTargetSpecies(param0->parties[0], v0, EVO_CLASS_BY_LEVEL, param0->mapEvolutionMethod, param2))) {
return v1;
if (*outPartySlot < 6) {
mon = Party_GetPokemonBySlotIndex(dto->parties[BATTLE_SIDE_PLAYER], *outPartySlot);
species = Pokemon_GetEvolutionTargetSpecies(dto->parties[BATTLE_SIDE_PLAYER], mon, EVO_CLASS_BY_LEVEL, dto->mapEvolutionMethod, outEvoType);
if (species) {
return species;
}
}
}

return v1;
return species;
}

u8 ov16_0223ED60(BattleSystem *battleSystem)
Expand Down
12 changes: 6 additions & 6 deletions src/overlay005/ov5_021E622C.c
Original file line number Diff line number Diff line change
Expand Up @@ -2601,7 +2601,7 @@ void ov5_021E6CF0(Pokemon *param0, u16 param1, u8 param2, TrainerInfo *param3, i
{
u8 v0, v1, v2;
u16 v3;
u8 v4 = SpeciesData_GetSpeciesValue(param1, SPECIES_DATA_HATCH_CYCLES);
u8 hatchCycles = SpeciesData_GetSpeciesValue(param1, SPECIES_DATA_HATCH_CYCLES);
Strbuf *v5;

Pokemon_InitWith(param0, param1, 1, 32, FALSE, 0, OTID_NOT_SET, 0);
Expand All @@ -2610,7 +2610,7 @@ void ov5_021E6CF0(Pokemon *param0, u16 param1, u8 param2, TrainerInfo *param3, i
v3 = ITEM_POKE_BALL;

Pokemon_SetValue(param0, MON_DATA_POKEBALL, &v3);
Pokemon_SetValue(param0, MON_DATA_FRIENDSHIP, &v4);
Pokemon_SetValue(param0, MON_DATA_FRIENDSHIP, &hatchCycles);
Pokemon_SetValue(param0, MON_DATA_MET_LEVEL, &v0);

if (param2) {
Expand Down Expand Up @@ -2644,7 +2644,7 @@ void ov5_021E6DE8(Pokemon *param0, u16 param1, UnkStruct_02026310 *param2, u32 p
u16 v1;
u32 v2;
Strbuf *v3;
u8 v4 = SpeciesData_GetSpeciesValue(param1, SPECIES_DATA_HATCH_CYCLES);
u8 hatchCycles = SpeciesData_GetSpeciesValue(param1, SPECIES_DATA_HATCH_CYCLES);

v2 = sub_02026248(param2);

Expand All @@ -2670,7 +2670,7 @@ void ov5_021E6DE8(Pokemon *param0, u16 param1, UnkStruct_02026310 *param2, u32 p
v1 = ITEM_POKE_BALL;

Pokemon_SetValue(param0, MON_DATA_POKEBALL, &v1);
Pokemon_SetValue(param0, MON_DATA_FRIENDSHIP, &v4);
Pokemon_SetValue(param0, MON_DATA_FRIENDSHIP, &hatchCycles);
Pokemon_SetValue(param0, MON_DATA_MET_LEVEL, &v0);
Pokemon_SetValue(param0, MON_DATA_FORM, &param4);

Expand Down Expand Up @@ -2760,8 +2760,8 @@ static u8 ov5_021E6FF0(BoxPokemon **param0)
v2[v5] = BoxPokemon_GetValue(param0[v5], MON_DATA_OT_ID, NULL);
v4 = BoxPokemon_GetValue(param0[v5], MON_DATA_PERSONALITY, NULL);
v3[v5] = Pokemon_GetGenderOf(v1[v5], v4);
v0[v5][0] = SpeciesData_GetSpeciesValue(v1[v5], 22);
v0[v5][1] = SpeciesData_GetSpeciesValue(v1[v5], 23);
v0[v5][0] = SpeciesData_GetSpeciesValue(v1[v5], SPECIES_DATA_EGG_GROUP_1);
v0[v5][1] = SpeciesData_GetSpeciesValue(v1[v5], SPECIES_DATA_EGG_GROUP_2);
}

if ((v0[0][0] == 15) || (v0[1][0] == 15)) {
Expand Down
6 changes: 3 additions & 3 deletions src/overlay006/ov6_02240C9C.c
Original file line number Diff line number Diff line change
Expand Up @@ -1280,10 +1280,10 @@ static BOOL ov6_0224219C(const UnkStruct_ov6_0224222C *param0, const u8 maxEncou
u8 v1 = 0;

for (v2 = 0; v2 < maxEncounters; v2++) {
u8 v3 = SpeciesData_GetSpeciesValue(param0[v2].species, SPECIES_DATA_TYPE_1);
u8 v4 = SpeciesData_GetSpeciesValue(param0[v2].species, SPECIES_DATA_TYPE_2);
u8 type1 = SpeciesData_GetSpeciesValue(param0[v2].species, SPECIES_DATA_TYPE_1);
u8 type2 = SpeciesData_GetSpeciesValue(param0[v2].species, SPECIES_DATA_TYPE_2);

if (v3 == type || v4 == type) {
if (type1 == type || type2 == type) {
v0[v1++] = v2;
}
}
Expand Down
25 changes: 13 additions & 12 deletions src/overlay006/ov6_022426AC.c
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
#include <nitro.h>
#include <string.h>

#include "consts/gender.h"
#include "generated/gender_ratios.h"

#include "struct_defs/archived_sprite.h"
#include "struct_defs/struct_0200C738.h"

Expand Down Expand Up @@ -64,25 +67,23 @@ void ov6_022426C0(UnkStruct_ov6_022426B8 *param0, const int param1)

{
int v2;
u8 v3;

v3 = SpeciesData_GetSpeciesValue(param1, 18);
u8 genderRatio = SpeciesData_GetSpeciesValue(param1, SPECIES_DATA_GENDER_RATIO);

switch (v3) {
case 0:
v2 = 0;
switch (genderRatio) {
case GENDER_RATIO_MALE_ONLY:
v2 = GENDER_MALE;
break;
case 254:
v2 = 1;
case GENDER_RATIO_FEMALE_ONLY:
v2 = GENDER_FEMALE;
break;
case 255:
v2 = 2;
case GENDER_RATIO_NO_GENDER:
v2 = GENDER_NONE;
break;
default:
if (LCRNG_Next() % 2) {
v2 = 0;
v2 = GENDER_MALE;
} else {
v2 = 1;
v2 = GENDER_FEMALE;
}
}

Expand Down
10 changes: 5 additions & 5 deletions src/overlay019/ov19_021D0D80.c
Original file line number Diff line number Diff line change
Expand Up @@ -3954,21 +3954,21 @@ static void ov19_021D58AC(UnkStruct_ov19_021D4DF0 *param0, BoxPokemon *param1, U
{
UnkStruct_ov19_021D5BAC *v0 = &(param0->unk_4C);
BOOL v1 = BoxPokemon_EnterDecryptionContext(param1);
SpeciesData *v2;
SpeciesData *speciesData;

v0->unk_00 = param1;
v0->unk_04 = BoxPokemon_GetValue(param1, MON_DATA_SPECIES, NULL);
v0->unk_06 = BoxPokemon_GetValue(param1, MON_DATA_HELD_ITEM, NULL);
v0->unk_08 = sub_0207A294(sub_0207A274(param2->unk_11C), v0->unk_04);
v0->unk_0F = BoxPokemon_GetValue(param1, MON_DATA_EGG_EXISTS, NULL);
v2 = SpeciesData_FromMonSpecies(v0->unk_04, 9);
v0->unk_0A = SpeciesData_GetLevelAt(v2, v0->unk_04, BoxPokemon_GetValue(param1, MON_DATA_EXP, NULL));
speciesData = SpeciesData_FromMonSpecies(v0->unk_04, 9);
v0->unk_0A = SpeciesData_GetLevelAt(speciesData, v0->unk_04, BoxPokemon_GetValue(param1, MON_DATA_EXP, NULL));
v0->unk_0B = BoxPokemon_GetValue(param1, MON_DATA_MARKS, NULL);
v0->unk_0C = BoxPokemon_GetValue(param1, MON_DATA_TYPE_1, NULL);
v0->unk_0D = BoxPokemon_GetValue(param1, MON_DATA_TYPE_2, NULL);

if ((v0->unk_0F == 0) && BoxPokemon_GetValue(param1, MON_DATA_NIDORAN_HAS_NICKNAME, NULL)) {
v0->unk_0E = SpeciesData_GetGenderOf(v2, v0->unk_04, BoxPokemon_GetValue(param1, MON_DATA_PERSONALITY, NULL));
v0->unk_0E = SpeciesData_GetGenderOf(speciesData, v0->unk_04, BoxPokemon_GetValue(param1, MON_DATA_PERSONALITY, NULL));
} else {
v0->unk_0E = 255;
}
Expand Down Expand Up @@ -3996,7 +3996,7 @@ static void ov19_021D58AC(UnkStruct_ov19_021D4DF0 *param0, BoxPokemon *param1, U
MessageLoader_GetStrbuf(param2->unk_198, v3, v0->unk_24);
}

SpeciesData_Free(v2);
SpeciesData_Free(speciesData);
BoxPokemon_ExitDecryptionContext(param1, v1);
}

Expand Down
39 changes: 20 additions & 19 deletions src/overlay019/ov19_021DB8E4.c
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
#include <nitro.h>
#include <string.h>

#include "generated/pokemon_colors.h"
#include "generated/species.h"

#include "struct_decls/struct_020797DC_decl.h"
Expand Down Expand Up @@ -227,35 +228,35 @@ BOOL ov19_021DBBA0(UnkStruct_ov19_021DBA9C *param0)

void ov19_021DBBA8(UnkStruct_ov19_021DBA9C *param0, u32 param1, u32 param2, NNS_G2D_VRAM_TYPE param3, NNSG2dImageProxy *param4)
{
const PCBoxes *v0;
BoxPokemon *v1;
u32 v2, v3, v4, v5;
u8 v6, v7;
const PCBoxes *pcBoxes;
BoxPokemon *boxMon;
u32 v2, v3, v4, species;
u8 color, v7;
int v8;

v0 = ov19_021D5E90(param0->unk_0C);
v8 = sub_02079AA8(v0, param1);
pcBoxes = ov19_021D5E90(param0->unk_0C);
v8 = sub_02079AA8(pcBoxes, param1);

if (v8 >= (16 + 8)) {
v8 -= 8;
}

v6 = 13 * 0x10 + v8;
Bitmap_FillRect8bpp(&(param0->unk_3C), 9, 10, 14, 12, v6);
color = 13 * 0x10 + v8;
Bitmap_FillRect8bpp(&(param0->unk_3C), 9, 10, 14, 12, color);

for (v3 = 0, v4 = 0; v3 < 5; v3++) {
for (v2 = 0; v2 < 6; v2++) {
v1 = sub_02079C9C(v0, param1, v4++);
v7 = BoxPokemon_EnterDecryptionContext(v1);
v5 = BoxPokemon_GetValue(v1, MON_DATA_SPECIES, NULL);
boxMon = sub_02079C9C(pcBoxes, param1, v4++);
v7 = BoxPokemon_EnterDecryptionContext(boxMon);
species = BoxPokemon_GetValue(boxMon, MON_DATA_SPECIES, NULL);

if (v5) {
if (BoxPokemon_GetValue(v1, MON_DATA_IS_EGG, NULL) == 0) {
u16 v9 = BoxPokemon_GetValue(v1, MON_DATA_FORM, NULL);
if (species) {
if (BoxPokemon_GetValue(boxMon, MON_DATA_IS_EGG, NULL) == FALSE) {
u16 form = BoxPokemon_GetValue(boxMon, MON_DATA_FORM, NULL);

v6 = SpeciesData_GetFormValue(v5, v9, SPECIES_DATA_BODY_COLOR);
color = SpeciesData_GetFormValue(species, form, SPECIES_DATA_BODY_COLOR);
} else {
v6 = (v5 != SPECIES_MANAPHY) ? 8 : 1;
color = (species != SPECIES_MANAPHY) ? MON_COLOR_WHITE : MON_COLOR_BLUE;
}

{
Expand All @@ -272,13 +273,13 @@ void ov19_021DBBA8(UnkStruct_ov19_021DBA9C *param0, u32 param1, u32 param2, NNS_
0x9,
};

v6 = 14 * 0x10 + v10[v6];
color = 14 * 0x10 + v10[color];
}

Bitmap_FillRect8bpp(&(param0->unk_3C), 10 + v2 * 2, 11 + v3 * 2, 2, 2, v6);
Bitmap_FillRect8bpp(&(param0->unk_3C), 10 + v2 * 2, 11 + v3 * 2, 2, 2, color);
}

BoxPokemon_ExitDecryptionContext(v1, v7);
BoxPokemon_ExitDecryptionContext(boxMon, v7);
}
}

Expand Down
16 changes: 8 additions & 8 deletions src/overlay021/ov21_021DE668.c
Original file line number Diff line number Diff line change
Expand Up @@ -629,13 +629,13 @@ static void ov21_021DF098(UnkStruct_ov21_021DF374 *param0, UnkStruct_ov21_021DE7
CellActorInitParams v1;
UnkStruct_ov21_021D13FC *v2 = param1->unk_00;
int species = PokedexSort_CurrentSpecies(param2->unk_04);
int v4, v5;
int type1, type2;
int v6 = PokedexSort_DefaultForm(param2->unk_04, species);

v4 = SpeciesData_GetFormValue(species, v6, 6);
v5 = SpeciesData_GetFormValue(species, v6, 7);
v4 = ov21_021DF180(v4);
v5 = ov21_021DF180(v5);
type1 = SpeciesData_GetFormValue(species, v6, SPECIES_DATA_TYPE_1);
type2 = SpeciesData_GetFormValue(species, v6, SPECIES_DATA_TYPE_2);
type1 = ov21_021DF180(type1);
type2 = ov21_021DF180(type2);

sub_020093B4(&v0, 90 + 4000, 13 + 4000, 88 + 4000, 89 + 4000, 0xffffffff, 0xffffffff, 0, 0, v2->unk_13C[0], v2->unk_13C[1], v2->unk_13C[2], v2->unk_13C[3], NULL, NULL);

Expand All @@ -649,13 +649,13 @@ static void ov21_021DF098(UnkStruct_ov21_021DF374 *param0, UnkStruct_ov21_021DE7

param0->unk_00[1] = CellActorCollection_Add(&v1);

CellActor_SetAnim(param0->unk_00[1], 0 + v4);
CellActor_SetAnim(param0->unk_00[1], 0 + type1);

if (v4 != v5) {
if (type1 != type2) {
v1.position.x = (220 * FX32_ONE);
v1.position.y = (72 * FX32_ONE);
param0->unk_00[2] = CellActorCollection_Add(&v1);
CellActor_SetAnim(param0->unk_00[2], 0 + v5);
CellActor_SetAnim(param0->unk_00[2], 0 + type2);
} else {
param0->unk_00[2] = NULL;
}
Expand Down
2 changes: 1 addition & 1 deletion src/overlay021/ov21_021DF734.c
Original file line number Diff line number Diff line change
Expand Up @@ -798,7 +798,7 @@ static int ov21_021E02F0(int param0, const UnkStruct_ov21_021DF844 *param1)
int v0;
int v1;

v0 = SpeciesData_GetSpeciesValue(param0, 18);
v0 = SpeciesData_GetSpeciesValue(param0, SPECIES_DATA_GENDER_RATIO);

if (v0 == 0) {
return 1;
Expand Down
16 changes: 8 additions & 8 deletions src/overlay021/ov21_021E8D48.c
Original file line number Diff line number Diff line change
Expand Up @@ -590,12 +590,12 @@ static void ov21_021E95F8(UnkStruct_ov21_021E968C *param0, CellActorCollection *
{
CellActorInitParams v0;
CellActorResourceData v1;
int v2, v3;
int type1, type2;

v2 = SpeciesData_GetSpeciesValue(param4, 6);
v3 = SpeciesData_GetSpeciesValue(param4, 7);
v2 = ov21_021DF180(v2);
v3 = ov21_021DF180(v3);
type1 = SpeciesData_GetSpeciesValue(param4, SPECIES_DATA_TYPE_1);
type2 = SpeciesData_GetSpeciesValue(param4, SPECIES_DATA_TYPE_2);
type1 = ov21_021DF180(type1);
type2 = ov21_021DF180(type2);

ov21_021E93F8(param0->unk_08, param2, &v1, 2);

Expand All @@ -609,13 +609,13 @@ static void ov21_021E95F8(UnkStruct_ov21_021E968C *param0, CellActorCollection *

param0->unk_00[0] = CellActorCollection_Add(&v0);

CellActor_SetAnim(param0->unk_00[0], 0 + v2);
CellActor_SetAnim(param0->unk_00[0], 0 + type1);

if (v2 != v3) {
if (type1 != type2) {
v0.position.x = (220 * FX32_ONE);
v0.position.y = (72 * FX32_ONE);
param0->unk_00[1] = CellActorCollection_Add(&v0);
CellActor_SetAnim(param0->unk_00[1], 0 + v3);
CellActor_SetAnim(param0->unk_00[1], 0 + type2);
} else {
param0->unk_00[1] = NULL;
}
Expand Down
Loading

0 comments on commit 1eff5a8

Please sign in to comment.