mirror of
https://github.com/pret/pokestadium.git
synced 2026-08-28 05:44:22 -05:00
rename: 4 stat calculation helpers in src/22630.{c,h}
func_80022338 → CalculateAllStats computes level + all 5
battle stats (HP, Atk, Def,
Spd, Spc) for a runtime mon.
Uses CalculateStatValue and
func_800226C0 (level-from-exp).
func_8002240C → FindStatDVThreshold iterates DVs (i += 2) to
find the level at which the stat
reaches a target value. Used to
estimate a level from stats.
func_800224B8 → ComputeExpToLevel switch on
gSpeciesBaseStats[species].unk_13
(growth rate 0..5: medium fast,
slow, medium slow, fast, erratic,
fluctuating) and computes the exp
needed to reach the given level.
func_800220C4 → InitStatCalc empty stub. Previously
unnamed 'func_800220C4 (void) {}'.
Renamed for consistency; body
remains empty.
Touches src/232C0.c, src/2C1C0.c, src/26820.c, src/fragments/
{24,41}/* (callers) and src/22630.{c,h}.
Still matching: md5 ed1378bc… (verified by `make`)
This commit is contained in:
@@ -201,7 +201,7 @@ u16 Isqrt(u16 arg0) {
|
||||
return i;
|
||||
}
|
||||
|
||||
void func_800220C4(void) {
|
||||
void InitStatCalc(void) {
|
||||
}
|
||||
|
||||
u16 GetPokemonDV(s32 statId, u16 dvBits) { //GetPokemonDV
|
||||
@@ -279,7 +279,7 @@ u32 CalculateStatValue(s32 statId, s32 speciesId, u16 statModifier, u16 level, u
|
||||
return statValue;
|
||||
}
|
||||
|
||||
void func_80022338(unk_func_80026268_arg0* arg0) {
|
||||
void CalculateAllStats(unk_func_80026268_arg0* arg0) {
|
||||
arg0->unk_24 = func_800226C0(arg0->unk_00.unk_00, arg0->unk_10);
|
||||
arg0->unk_26 = CalculateStatValue(1, arg0->unk_00.unk_00, arg0->unk_14, arg0->unk_24, arg0->unk_1E);
|
||||
arg0->unk_28 = CalculateStatValue(2, arg0->unk_00.unk_00, arg0->unk_16, arg0->unk_24, arg0->unk_1E);
|
||||
@@ -288,7 +288,7 @@ void func_80022338(unk_func_80026268_arg0* arg0) {
|
||||
arg0->unk_2E = CalculateStatValue(5, arg0->unk_00.unk_00, arg0->unk_1C, arg0->unk_24, arg0->unk_1E);
|
||||
}
|
||||
|
||||
u16 func_8002240C(s32 arg0, s32 arg1, u16 arg2, u16 arg3, u16 arg4) {
|
||||
u16 FindStatDVThreshold(s32 arg0, s32 arg1, u16 arg2, u16 arg3, u16 arg4) {
|
||||
s32 i;
|
||||
s32 tmp;
|
||||
|
||||
@@ -302,7 +302,7 @@ u16 func_8002240C(s32 arg0, s32 arg1, u16 arg2, u16 arg3, u16 arg4) {
|
||||
return i;
|
||||
}
|
||||
|
||||
u32 func_800224B8(s32 arg0, u16 arg1) {
|
||||
u32 ComputeExpToLevel(s32 arg0, u16 arg1) {
|
||||
u32 sp4;
|
||||
|
||||
switch (gSpeciesBaseStats[arg0].unk_13) {
|
||||
|
||||
@@ -227,11 +227,11 @@ void DecodeFullMonRecord(unk_func_80026268_arg0* arg0, unk_D_800AC910_050_9AC_00
|
||||
void EncodeMonRecord(unk_func_80026268_arg0* arg0, unk_D_800AE4E8_004_1_000_010_000* arg1);
|
||||
void EncodeFullMonRecord(unk_func_88205880_00D0* arg0, unk_D_800AC910_050_9AC_008* arg1);
|
||||
u16 Isqrt(u16 arg0);
|
||||
void func_800220C4(void);
|
||||
void InitStatCalc(void);
|
||||
u16 func_800220CC(s32 arg0, u16 arg1);
|
||||
u32 CalculateStatValue(s32 statId, s32 speciesId, u16 statModifier, u16 level, u16 dvBits);
|
||||
void func_80022338(unk_func_80026268_arg0* arg0);
|
||||
u16 func_8002240C(s32 arg0, s32 arg1, u16 arg2, u16 arg3, u16 arg4);
|
||||
u32 func_800224B8(s32 arg0, u16 arg1);
|
||||
void CalculateAllStats(unk_func_80026268_arg0* arg0);
|
||||
u16 FindStatDVThreshold(s32 arg0, s32 arg1, u16 arg2, u16 arg3, u16 arg4);
|
||||
u32 ComputeExpToLevel(s32 arg0, u16 arg1);
|
||||
|
||||
#endif // _6BC0_H_
|
||||
|
||||
@@ -30,7 +30,7 @@ u16 func_800226C0(s32 arg0, u32 arg1) {
|
||||
s32 i;
|
||||
|
||||
for (i = 1; i < 100; i++) {
|
||||
if (arg1 < func_800224B8(arg0, i + 1)) {
|
||||
if (arg1 < ComputeExpToLevel(arg0, i + 1)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -44,7 +44,7 @@ void func_80022734(unk_func_80026268_arg0* arg0) {
|
||||
s32 var_v0;
|
||||
s32 idx;
|
||||
|
||||
func_80022338(arg0);
|
||||
CalculateAllStats(arg0);
|
||||
arg0->unk_05 = 0;
|
||||
arg0->unk_02 = arg0->unk_26;
|
||||
|
||||
@@ -929,7 +929,7 @@ void func_80024624(unk_func_80026268_arg0* arg0, s32 arg1, s32 arg2) {
|
||||
unk_D_800AC910_050_9AC* ptr2 = &D_800AC910[arg1].unk_50->unk_9AC;
|
||||
|
||||
DecodeFullMonRecord(arg0, &ptr2->unk_008[arg2]);
|
||||
func_80022338(arg0);
|
||||
CalculateAllStats(arg0);
|
||||
|
||||
arg0->unk_52 = 0;
|
||||
arg0->unk_53 = 0;
|
||||
@@ -954,7 +954,7 @@ void func_800247C4(unk_func_80026268_arg0* arg0, s32 arg1, s32 arg2, s32 arg3) {
|
||||
|
||||
if (sp2C != NULL) {
|
||||
DecodeMonRecord(arg0, &sp2C->unk_016[arg3]);
|
||||
func_80022338(arg0);
|
||||
CalculateAllStats(arg0);
|
||||
|
||||
arg0->unk_52 = 0;
|
||||
arg0->unk_53 = 0;
|
||||
|
||||
@@ -183,7 +183,7 @@ void func_80025F50(s32 arg0, s32 arg1) {
|
||||
|
||||
void func_80026268(unk_func_80026268_arg0* arg0, unk_D_800AE4E8_004_1_000_010* arg1) {
|
||||
DecodeMonRecord(arg0, arg1);
|
||||
func_80022338(arg0);
|
||||
CalculateAllStats(arg0);
|
||||
|
||||
arg0->unk_52 = 0;
|
||||
arg0->unk_53 = 0;
|
||||
|
||||
@@ -166,9 +166,9 @@ unk_func_80026268_arg0* func_8002B924(unk_func_80026268_arg0* arg0, u8 arg1, s16
|
||||
|
||||
arg0->unk_52 = 0;
|
||||
arg0->unk_53 = 0;
|
||||
arg0->unk_10 = func_800224B8(arg1, arg2);
|
||||
arg0->unk_10 = ComputeExpToLevel(arg1, arg2);
|
||||
|
||||
func_80022338(arg0);
|
||||
CalculateAllStats(arg0);
|
||||
|
||||
arg0->unk_02 = arg0->unk_26;
|
||||
|
||||
@@ -352,8 +352,8 @@ void func_8002BEC8(s16 arg0) {
|
||||
|
||||
for (i = 0; i < D_800AE540.unk_1194[1].unk_08[0]->unk_002; i++, var_s1++, var_s0++) {
|
||||
var_s0->unk_24 = arg0;
|
||||
var_s0->unk_10 = func_800224B8(var_s0->unk_00.unk_00, arg0);
|
||||
func_80022338(var_s0);
|
||||
var_s0->unk_10 = ComputeExpToLevel(var_s0->unk_00.unk_00, arg0);
|
||||
CalculateAllStats(var_s0);
|
||||
var_s0->unk_02 = var_s0->unk_26;
|
||||
|
||||
*var_s1 = *var_s0;
|
||||
|
||||
@@ -1752,8 +1752,8 @@ s32 func_883058C4(unk_func_8830867C_02C_0CC_000* arg0, unk_func_8830867C_04C_030
|
||||
sp34 = 0;
|
||||
*arg2 = temp_s0->unk_24;
|
||||
sp3A = temp_s0->unk_26;
|
||||
*(s32*)&temp_s0->unk_10 = func_800224B8(temp_s0->unk_00, (temp_s0->unk_24 + 1) & 0xFFFF);
|
||||
func_80022338(&arg0->unk_08);
|
||||
*(s32*)&temp_s0->unk_10 = ComputeExpToLevel(temp_s0->unk_00, (temp_s0->unk_24 + 1) & 0xFFFF);
|
||||
CalculateAllStats(&arg0->unk_08);
|
||||
temp_s0->unk_02 = (temp_s0->unk_02 + temp_s0->unk_26) - sp3A;
|
||||
*arg3 = temp_s0->unk_24;
|
||||
break;
|
||||
|
||||
@@ -435,7 +435,7 @@ void func_82F0D6D0(s16 arg0, unk_func_80026268_arg0* arg1) {
|
||||
if (func_82F0D64C(sp2E, arg1->unk_30) != 0) {
|
||||
CopyMonName(arg1->unk_30, func_82F00020(arg1->unk_00.unk_00));
|
||||
}
|
||||
func_80022338(arg1);
|
||||
CalculateAllStats(arg1);
|
||||
func_800256F4(arg0, arg1->unk_00.unk_00, 3);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user