diff options
author | jiangzhengwenjz <jiangzhengwenjzw@qq.com> | 2019-07-12 09:59:49 +0800 |
---|---|---|
committer | jiangzhengwenjz <jiangzhengwenjzw@qq.com> | 2019-07-12 09:59:49 +0800 |
commit | 43ba65ef8b733912cbbf73478b722787c528dab6 (patch) | |
tree | c876a8cb195269f1f373e13fe43192933da7035a /src | |
parent | 39d68ebd445be5657a916dec1b4872717e9c40d3 (diff) |
document pokemon function symbols
Diffstat (limited to 'src')
-rw-r--r-- | src/oak_speech.c | 6 | ||||
-rw-r--r-- | src/pokemon.c | 42 | ||||
-rw-r--r-- | src/trainer_tower.c | 8 |
3 files changed, 27 insertions, 29 deletions
diff --git a/src/oak_speech.c b/src/oak_speech.c index 14e7c87d0..491ac463c 100644 --- a/src/oak_speech.c +++ b/src/oak_speech.c @@ -500,7 +500,7 @@ static void Task_OaksSpeech1(u8 taskId) break; case 1: sOakSpeechResources = AllocZeroed(sizeof(*sOakSpeechResources)); - SetUpMonSpriteManagerMaybe(1, 1); + OakSpeechNidoranFSetup(1, 1); break; case 2: SetGpuReg(REG_OFFSET_WIN0H, 0); @@ -1513,7 +1513,7 @@ static void Task_OakSpeech41(u8 taskId) static void Task_OakSpeech42(u8 taskId) { FreeAllWindowBuffers(); - sub_8044D80(); + OakSpeechNidoranFFreeResources(); Free(sOakSpeechResources); sOakSpeechResources = NULL; gTextFlags.canABSpeedUpPrint = FALSE; @@ -1612,7 +1612,7 @@ static void CreateNidoranFSprite(u8 taskId) { u8 spriteId; - DecompressPicFromTable(gUnknown_8235194, sub_8044E00(0), SPECIES_NIDORAN_F); + DecompressPicFromTable(gUnknown_8235194, OakSpeechNidoranFGetBuffer(0), SPECIES_NIDORAN_F); LoadCompressedSpritePaletteUsingHeap(&gUnknown_82373F4); SetMultiuseSpriteTemplateToPokemon(SPECIES_NIDORAN_F, 0); spriteId = CreateSprite(&gMultiuseSpriteTemplate, 0x60, 0x60, 1); diff --git a/src/pokemon.c b/src/pokemon.c index b9b5e6d76..1482984f4 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -44,11 +44,10 @@ struct UnkStruct20244F4 }; // External symbols -extern struct UnkStruct20244F4 *gUnknown_20244F4; +extern struct UnkStruct20244F4 *sOakTutNidoranResources; extern struct SpriteTemplate gUnknown_825DEF0[]; extern struct SpriteTemplate gUnknown_825DF50[]; extern const union AnimCmd *const *const gTrainerBackAnimsPtrTable[]; -extern struct SpriteTemplate gUnknown_825DEF0[]; extern const union AnimCmd *const *const gTrainerFrontAnimsPtrTable[]; extern const union AnimCmd *const gUnknown_82349BC[]; extern const u8 gUnknown_825DEA1[]; @@ -90,7 +89,6 @@ extern u8 StorageGetCurrentBox(void); // pokemon_storage_system extern void sub_80174B8(u8 battlerId); union PokemonSubstruct *GetSubstruct(struct BoxPokemon *boxMon, u32 personality, u8 substructType); -s32 GetDeoxysStat(struct Pokemon *mon, s32 statId); // code void ZeroBoxMonData(struct BoxPokemon *boxMon) @@ -351,7 +349,7 @@ void CreateMonWithEVSpread(struct Pokemon *mon, u16 species, u8 level, u8 fixedI CalculateMonStats(mon); } -void sub_803E0A4(struct Pokemon *mon, struct BattleTowerPokemon *src) +void CreateBattleTowerMon(struct Pokemon *mon, struct BattleTowerPokemon *src) { s32 i; u8 value; @@ -476,7 +474,7 @@ u16 CalculateBoxMonChecksum(struct BoxPokemon *boxMon) u8 baseStat = gBaseStats[species].base; \ s32 n = (((2 * baseStat + iv + ev / 4) * level) / 100) + 5; \ u8 nature = GetNature(mon); \ - n = nature_stat_mod(nature, n, statIndex); \ + n = ModifyStatByNature(nature, n, statIndex); \ SetMonData(mon, field, &n); \ } @@ -1122,7 +1120,7 @@ u8 GetGenderFromSpeciesAndPersonality(u16 species, u32 personality) return MON_MALE; } -void SetMultiuseSpriteTemplateToPokemon(u16 trainerSpriteId, u8 battlerPosition) +void SetMultiuseSpriteTemplateToPokemon(u16 speciesTag, u8 battlerPosition) { if(gMonSpritesGfxPtr != NULL) { @@ -1133,12 +1131,12 @@ void SetMultiuseSpriteTemplateToPokemon(u16 trainerSpriteId, u8 battlerPosition) } else { - if(gUnknown_20244F4) + if(sOakTutNidoranResources) { - if(battlerPosition >= (s8)gUnknown_20244F4->unk0_2) // why a cast?!? changing the unk0_2 type to s8 causes extra shifts, but a cast is the correct fix. why, compiler? + if(battlerPosition >= (s8)sOakTutNidoranResources->unk0_2) // why a cast?!? changing the unk0_2 type to s8 causes extra shifts, but a cast is the correct fix. why, compiler? battlerPosition = 0; - gMultiuseSpriteTemplate = gUnknown_20244F4->unk10[battlerPosition]; + gMultiuseSpriteTemplate = sOakTutNidoranResources->unk10[battlerPosition]; } else { @@ -1148,7 +1146,7 @@ void SetMultiuseSpriteTemplateToPokemon(u16 trainerSpriteId, u8 battlerPosition) gMultiuseSpriteTemplate = gUnknown_825DEF0[battlerPosition]; } } - gMultiuseSpriteTemplate.paletteTag = trainerSpriteId; + gMultiuseSpriteTemplate.paletteTag = speciesTag; gMultiuseSpriteTemplate.anims = gUnknown_82349BC; } @@ -1290,27 +1288,27 @@ u32 GetMonData(struct Pokemon *mon, s32 field, u8* data) ret = mon->maxHP; break; case MON_DATA_ATK: - ret = (u16)GetDeoxysStat(mon, STAT_ATK); + ret = GetDeoxysStat(mon, STAT_ATK); if (!ret) ret = mon->attack; break; case MON_DATA_DEF: - ret = (u16)GetDeoxysStat(mon, STAT_DEF); + ret = GetDeoxysStat(mon, STAT_DEF); if (!ret) ret = mon->defense; break; case MON_DATA_SPEED: - ret = (u16)GetDeoxysStat(mon, STAT_SPEED); + ret = GetDeoxysStat(mon, STAT_SPEED); if (!ret) ret = mon->speed; break; case MON_DATA_SPATK: - ret = (u16)GetDeoxysStat(mon, STAT_SPATK); + ret = GetDeoxysStat(mon, STAT_SPATK); if (!ret) ret = mon->spAttack; break; case MON_DATA_SPDEF: - ret = (u16)GetDeoxysStat(mon, STAT_SPDEF); + ret = GetDeoxysStat(mon, STAT_SPDEF); if (!ret) ret = mon->spDefense; break; @@ -4928,7 +4926,7 @@ bool8 sub_80435E0(void) return retVal; } -bool8 sub_8043620(u8 id) +bool8 GetLinkTrainerFlankId(u8 id) { bool8 retVal = FALSE; switch (gLinkPlayers[id].id) @@ -4954,12 +4952,12 @@ s32 GetBankMultiplayerId(u16 a1) return id; } -u8 sub_804367C(u16 trainer) +u8 GetTrainerEncounterMusicId(u16 trainer) { return gTrainers[trainer].encounterMusic_gender & 0x7F; } -u16 nature_stat_mod(u8 nature, u16 n, u8 statIndex) +u16 ModifyStatByNature(u8 nature, u16 n, u8 statIndex) { if (statIndex < 1 || statIndex > 5) { @@ -5214,7 +5212,7 @@ void sub_8043B40(void) u8 foo[4]; // huh? } -void sub_8043B48(struct Pokemon *mon, int species, u8 unused, u32 data) +void SetMonExpWithMaxLevelCheck(struct Pokemon *mon, int species, u8 unused, u32 data) { if (data > gExperienceTables[gBaseStats[species].growthRate][100]) { @@ -5235,7 +5233,7 @@ bool8 TryIncrementMonLevel(struct Pokemon *mon) if(exp > gExperienceTables[gBaseStats[species].growthRate][newLevel]) { SetMonData(mon, MON_DATA_LEVEL, &newLevel); - sub_8043B48(mon, species, newLevel, exp); + SetMonExpWithMaxLevelCheck(mon, species, newLevel, exp); return TRUE; } else @@ -5243,7 +5241,7 @@ bool8 TryIncrementMonLevel(struct Pokemon *mon) } else { - sub_8043B48(mon, species, level, exp); + SetMonExpWithMaxLevelCheck(mon, species, level, exp); return FALSE; } } @@ -5604,7 +5602,7 @@ bool8 IsShinyOtIdPersonality(u32 otId, u32 personality) return retVal; } -u8 *sub_80444C4(void) +u8 *GetTrainerPartnerName(void) { u8 id = GetMultiplayerId(); return gLinkPlayers[GetBankMultiplayerId(gLinkPlayers[id].id ^ 2)].name; diff --git a/src/trainer_tower.c b/src/trainer_tower.c index 65d825dfe..8f82e67d4 100644 --- a/src/trainer_tower.c +++ b/src/trainer_tower.c @@ -1378,21 +1378,21 @@ void sub_815E9FC(void) { r2 = gUnknown_847A2EE[r5][r6]; gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r4].unk_040[r2].level = r9; - sub_803E0A4(&gEnemyParty[r6], &gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r4].unk_040[r2]); + CreateBattleTowerMon(&gEnemyParty[r6], &gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r4].unk_040[r2]); } break; case 1: r2 = gUnknown_847A2FE[r5][0]; gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[0].unk_040[r2].level = r9; - sub_803E0A4(&gEnemyParty[0], &gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[0].unk_040[r2]); + CreateBattleTowerMon(&gEnemyParty[0], &gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[0].unk_040[r2]); r2 = gUnknown_847A2FE[r5][1]; gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[1].unk_040[r2].level = r9; - sub_803E0A4(&gEnemyParty[1], &gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[1].unk_040[r2]); + CreateBattleTowerMon(&gEnemyParty[1], &gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[1].unk_040[r2]); break; case 2: r2 = gUnknown_847A30E[r5][r4]; gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r4].unk_040[r2].level = r9; - sub_803E0A4(&gEnemyParty[0], &gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r4].unk_040[r2]); + CreateBattleTowerMon(&gEnemyParty[0], &gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r4].unk_040[r2]); break; } } |