pokemon_3 externs

This commit is contained in:
DizzyEggg 2025-08-29 21:16:01 +02:00
parent ce0abfe00d
commit 00cb48e6d9
8 changed files with 29 additions and 75 deletions

View File

@ -81,8 +81,6 @@ u8 GetPokemonOverworldPalette(s16 index, bool32 recolorShopKecleon);
bool8 IsPokemonDialogueSpriteAvail(s16 index, s32 spriteId);
OpenedFile *OpenPokemonDialogueSpriteFile(s16 index);
OpenedFile *GetDialogueSpriteDataPtr(s32 index);
s32 GetUnownIndex(s16 index);
void GenerateHiddenPower(HiddenPower *);
s32 GetEvolutionSequence(Pokemon *pokemon, EvolveStage *);
s32 sub_808E400(s32 _species, s16* _a2, bool32 _bodySizeCheck, bool32 _shedinjaCheck);
void sub_808E490(Move* a1, s32 species);
@ -90,8 +88,6 @@ void RecruitedPokemonToDungeonMon(DungeonMon *dst, u32 recruitedPokemonId);
void PokemonToDungeonMon(DungeonMon *, Pokemon *, s32);
void DungeonMonToRecruitedPokemon(s32 id, DungeonMon* src);
void DungeonMonToPokemon(Pokemon* dst, DungeonMon* src);
void WritePoke1Bits(DataSerializer *, Pokemon *pokemon);
void ReadPoke1Bits(DataSerializer *, Pokemon *);
s32 sub_808E218(unkStruct_808E218_arg *, Pokemon *pokemon);
void CreateLevel1Pokemon(Pokemon *pokemon, s16 _species, u8* name, u32 _itemID, const DungeonLocation *location, u16 *moves);
void sub_808D0D8(Pokemon *pokemon);

View File

@ -4,26 +4,36 @@
#include "pokemon.h"
#include "structs/str_spawn_pokemon_data.h"
void GenerateHiddenPower(HiddenPower* a1);
bool8 HasRecruitedMon(s32 species_);
s16 GetBaseSpecies(s16 index);
s16 GetBaseSpeciesNoUnown(s16 index);
bool8 TacticsTargetLeader(u8 tactic);
void GetUnlockedTacticFlags(u8 *tacticsBuffer, s32 pokeLevel);
bool8 HasIQForSkill(s32 pokeIQ, u8 IQSkillIndex);
s32 GetNumAvailableIQSkills(u8 *iqSkillBuffer, s32 pokeIQ);
void CopyTacticsNameToBuffer(char *buffer, u8 tactic);
const u8 *GetIQSkillName(u8 skill);
const u8 *GetIQSkillDescription(u8 skill);
const u8 *GetTacticsDescription(u8 tactic);
void ToggleIQSkill(IqSkillFlags *iq, u32 skillIndex);
void SetIQSkill(IqSkillFlags *iq, u32 skillIndex);
bool8 IsIQSkillSet(IqSkillFlags *iq, u32 IQSkillBit);
void SetDefaultIQSkills(IqSkillFlags *iq, bool8 enableSelfCurer);
s32 GetUnownIndex(s16 index);
s16 ExtractSpeciesIndex(SpawnPokemonData *data);
void SetSpeciesToExtract(SpawnPokemonData *data, s32 species_);
void SetSpeciesLevelToExtract(SpawnPokemonData *data, s32 level, s32 species_);
s32 ExtractLevel(SpawnPokemonData *data);
const u8 *GetIQSkillName(u8 skill);
void CopyTacticsNameToBuffer(char *buffer, u8 tactic);
const u8 *GetIQSkillDescription(u8 skill);
const u8 *GetTacticsDescription(u8 tactic);
bool8 TacticsTargetLeader(u8 tactic);
void GetAvailTacticsforLvl(u8 *tacticsBuffer, s32 pokeLevel);
void GetUnlockedTacticFlags(u8 *tacticsBuffer, s32 pokeLevel);
bool8 HasIQForSkill(s32 pokeIQ, u8 IQSkillIndex);
s32 GetNumAvailableIQSkills(u8 *iqSkillBuffer, s32 pokeIQ);
void ToggleIQSkill(IqSkillFlags *iq, u32 skillIndex);
void SetIQSkill(IqSkillFlags *iq, u32 skillIndex);
void SetDefaultIQSkills(IqSkillFlags *iq, bool8 enableSelfCurer);
bool8 IsIQSkillSet(IqSkillFlags *iq, u32 IQSkillBit);
void sub_808ED00(void);
s32 SaveRecruitedPokemon(u8 *a1, s32 a2);
s32 RestoreRecruitedPokemon(u8 *a1, s32 a2);
void WritePoke1Bits(DataSerializer *, Pokemon *pokemon);
void ReadPoke1Bits(DataSerializer *, Pokemon *);
s32 SavePoke2s(u8* buffer, s32 size);
s32 RestorePoke2s(u8* a1, s32 size);
void ReadPoke1LevelBits(DataSerializer* a1, struct unkPokeSubStruct_C* unkC);
void WritePoke1LevelBits(DataSerializer* a1, struct unkPokeSubStruct_C* unkC);
#endif // GUARD_POKEMON_3_H

View File

@ -10,6 +10,7 @@
#include "random.h"
#include "save.h"
#include "text_util.h"
#include "pokemon_3.h"
EWRAM_INIT unkStruct_203B480 *gUnknown_203B480 = {NULL};
EWRAM_INIT unkStruct_203B484 *gUnknown_203B484 = {NULL};
@ -22,9 +23,6 @@ EWRAM_DATA UNUSED static u32 fill0 = {0}; // 203B484 is size 0x5C and I need to
EWRAM_DATA u32 gUnknown_20392E8[0x36] = {0};
EWRAM_DATA unkStruct_203B48C gUnknown_20393C0 = {0};
extern void WritePoke1LevelBits(DataSerializer* a1, struct unkPokeSubStruct_C* unkC);
extern void ReadPoke1LevelBits(DataSerializer*, struct unkPokeSubStruct_C*);
void sub_80950BC(void)
{
gUnknown_203B480 = gUnknown_2038C88;

View File

@ -75,7 +75,6 @@ bool8 sub_8070F80(Entity * pokemon, s32 direction);
void sub_806752C(ActionContainer *a0);
void sub_8067768(ActionContainer *a0);
extern bool8 sub_8071A8C(Entity *pokemon);
extern bool8 sub_8070F14(Entity * pokemon, s32 direction);
extern void sub_8041AD0(Entity *pokemon);
extern void sub_8041AE0(Entity *pokemon);

View File

@ -30,12 +30,8 @@
#include "dungeon_engine.h"
#include "dungeon_strings.h"
extern bool8 sub_8070F14(Entity * pokemon, s32 direction);
bool8 sub_805EC2C(Entity *a0, s32 x, s32 y);
extern void sub_8041AD0(Entity *pokemon);
extern void sub_8041AE0(Entity *pokemon);
extern bool8 sub_8046F00(Item *item);
static EWRAM_DATA ActionParameter sUnknownActionUnk4 = {0};
static EWRAM_DATA s32 sUnknown_202F240 = 0;

View File

@ -46,43 +46,8 @@
#include "text_2.h"
#include "weather.h"
bool8 sub_805E874(void);
bool8 sub_80701A4(Entity *a0);
void sub_805E738(Entity *a0);
void sub_8040A78(void);
void sub_805E804(void);
void sub_8075680(u32);
void sub_8040A84(void);
void sub_806A914(u8 a0, u8 a1, u8 a2);
u16 GetLeaderActionId(void);
void sub_80978C8(s16 a0);
bool8 sub_805EC4C(Entity *a0, u8 a1);
void HandleTalkFieldAction(Entity *);
void ShowMainMenu(bool8 fromBPress, bool8 a1);
bool8 sub_805EF60(Entity *a0, EntityInfo *a1);
bool8 sub_8070F80(Entity * pokemon, s32 direction);
void PrintOnMainMenu(bool8 printAll);
bool8 ShowDungeonItemsMenu(Entity * a0, struct UnkMenuBitsStruct *a1);
void DungeonShowItemDescription(UNUSED ActionContainer *a0);
bool8 ShowDungeonTeamMenu(Entity *a0);
void ActionShowMoveInfo(ActionContainer *a0);
void ActionToggleMoveUsableForAi(ActionContainer *a0);
void ActionLinkMoves(ActionContainer *a0);
void sub_806752C(ActionContainer *a0);
void ActionSetOrUnsetMove(ActionContainer *a0, bool8 a1);
void ActionDelinkMoves(ActionContainer *a0, bool8 a1);
void sub_8067768(ActionContainer *a0);
extern void sub_80643AC(Entity *pokemon);
extern bool8 sub_8070F14(Entity * pokemon, s32 direction);
bool8 sub_805EC2C(Entity *a0, s32 x, s32 y);
extern void sub_8041AD0(Entity *pokemon);
extern void sub_8041AE0(Entity *pokemon);
extern bool8 sub_8046F00(Item *item);
extern void sub_8070968(u8 *buffer, EntityInfo *entityInfo, s32 colorNum);
extern void GetAvailTacticsforLvl(u8 *tacticsBuffer, s32 pokeLevel);
extern char* sub_808E4FC(s32 a1);
extern char* sub_808E51C(s32 a1);
extern void sub_8045C18(u8 *buffer, Item *item);
EWRAM_DATA s32 gTeamMenuChosenId = 0;
static UNUSED EWRAM_DATA u8 sUnused[4] = {0};

View File

@ -31,14 +31,8 @@ struct UnusedOffenseStruct
u8 spDefBoost;
};
extern SpriteOAM gShadowSprites[3]; // Shadow sprites of some kind
extern void WritePoke1LevelBits(DataSerializer*, struct unkPokeSubStruct_C*);
void ReadPoke1LevelBits(DataSerializer*, struct unkPokeSubStruct_C*);
extern void WriteHiddenPowerBits(DataSerializer*, HiddenPower*);
extern void ReadHiddenPowerBits(DataSerializer*, HiddenPower*);
s16 GetPokemonEvolveConditions(s16 index, unkEvolve *r1);
static void ReadHiddenPowerBits(DataSerializer* a1, HiddenPower* a2);
static void WriteHiddenPowerBits(DataSerializer* a1, HiddenPower* a2);
// arm9.bin::02059FDC
void GenerateHiddenPower(HiddenPower* a1)
@ -780,14 +774,14 @@ void WritePoke1LevelBits(DataSerializer* a1, struct unkPokeSubStruct_C* unkC)
}
// arm9.bin::0205C414
void ReadHiddenPowerBits(DataSerializer* a1, HiddenPower* a2)
static void ReadHiddenPowerBits(DataSerializer* a1, HiddenPower* a2)
{
ReadBits(a1, &a2->hiddenPowerBasePower, 10);
ReadBits(a1, &a2->hiddenPowerType, 5);
}
// arm9.bin::0205C3E4
void WriteHiddenPowerBits(DataSerializer* a1, HiddenPower* a2)
static void WriteHiddenPowerBits(DataSerializer* a1, HiddenPower* a2)
{
WriteBits(a1, &a2->hiddenPowerBasePower, 10);
WriteBits(a1, &a2->hiddenPowerType, 5);

View File

@ -9,7 +9,7 @@
#include "friend_area.h"
#include "game_options.h"
#include "memory.h"
#include "pokemon.h"
#include "pokemon_3.h"
#include "random.h"
#include "save.h"
@ -38,10 +38,6 @@ ALIGNED(4) static const char fill_save2[] = _("pksdir0");
extern bool8 sub_800DAB0(u16, u8*, s32);
extern bool8 sub_800DAB4(u16, u8*, s32);
extern bool8 sub_800DAB8(void);
extern u32 SaveRecruitedPokemon(u8 *, u32);
extern u32 RestoreRecruitedPokemon(void* a, s32 b);
extern u32 SavePoke2s(u8 *, u32);
extern u32 RestorePoke2s(void* a, s32 b);
extern u32 sub_80954CC(void* a, s32 b);
extern u32 sub_8095624(u8 *, u32);
extern u32 RestoreMailInfo(void* a, s32 b);