Skip to content

Sync pokemon.c with pokeheartgold and pokediamond#863

Closed
AsparagusEduardo wants to merge 77 commits intopret:mainfrom
AsparagusEduardo:pret/pr/sinjoh/pokemon.c
Closed

Sync pokemon.c with pokeheartgold and pokediamond#863
AsparagusEduardo wants to merge 77 commits intopret:mainfrom
AsparagusEduardo:pret/pr/sinjoh/pokemon.c

Conversation

@AsparagusEduardo
Copy link
Contributor

@AsparagusEduardo AsparagusEduardo commented Dec 22, 2025

Matching PRs

Notes:

  • Name changes compared to the left or right sides are signaled using an * for easier visibility.
  • In the right column, for names that are different in pokediamond compared to pokeheartgold, a "/" has been added to show the difference.
  • In the middle column, functions that have a "(DP)" don't have the suffix in pokediamond. Eg. FunctionDP in pokeplatinum and pokeheartgold is just called Function in pokediamond.

Lists of changes:

BoxPokemon functions
pokeplatinum                            | PR                                    | pokeheartgold / pokediamond
                                        |                                       |
 BoxPokemon_Init                        | BoxPokemon_Init                       | *ZeroBoxMonData
*sub_02073E18                           | BoxPokemon_InitWithParams             | *CreateBoxMon
*BoxPokemon_EnterDecryptionContext      | BoxPokemon_DecryptData                | *AcquireBoxMonLock
*BoxPokemon_ExitDecryptionContext       | BoxPokemon_EncryptData                | *ReleaseBoxMonLock
*BoxPokemon_SetValue                    | BoxPokemon_SetData                    | *SetBoxMonData
 BoxPokemon_SetDataInternal             | BoxPokemon_SetDataInternal            | *SetBoxMonDataInternal
*BoxPokemon_GetValue                    | BoxPokemon_GetData                    | *GetBoxMonData
 BoxPokemon_GetDataInternal             | BoxPokemon_GetDataInternal            | *GetBoxMonDataInternal
*BoxPokemon_IncreaseDataInternal        | BoxPokemon_AddDataInternal            | *AddBoxMonDataInternal
 BoxPokemon_GetGender                   | BoxPokemon_GetGender                  | *GetBoxMonGender
 BoxPokemon_GetNature                   | BoxPokemon_GetNature                  | *GetBoxMonNature
*BoxPokemon_GetLevel                    | BoxPokemon_CalcLevel                  | *CalcBoxMonLevel
*BoxPokemon_GetExpToNextLevel           | BoxPokemon_CalcExpToNextLevel         | *CalcBoxMonExpToNextLevel
 BoxPokemon_IsShiny                     | BoxPokemon_IsShiny                    | *BoxMonIsShiny
 N/A                                    | BoxPokemon_IsHoldingMail              | *BoxMonIsHoldingMail
 BoxPokemon_GetForm                     | BoxPokemon_GetForm                    | *GetBoxMonUnownLetter
*BoxPokemon_GetStructSize               | BoxPokemon_Size                       | *sub_02070D94 / sub_020690C8
*BoxPokemon_SetMoveSlot                 | BoxPokemon_SetMoveInSlot              | *BoxMonSetMoveInSlot
 BoxPokemon_SetDefaultMoves             | BoxPokemon_SetDefaultMoves            | *InitBoxMonMoveset
*BoxPokemon_AddMove                     | BoxPokemon_TryAppendMove              | *TryAppendBoxMonMove / sub_020696A8
*BoxPokemon_ReplaceMove                 | BoxPokemon_ForceAppendMove            | *DeleteBoxMonFirstMoveAndAppend / sub_02069718
 BoxPokemon_SwapMoveSlots               | BoxPokemon_SwapMoveSlots              | *BoxMonSwapMoves / sub_020698E8
*Pokemon_FromBoxPokemon                 | BoxPokemon_CopyToPokemon              | *CopyBoxPokemonToPokemon
 BoxPokemon_Copy                        | BoxPokemon_Copy                       | *CopyBoxPokemonToBoxPokemon
*CanBoxPokemonLearnTM                   | BoxPokemon_CanLearnTMHM               | *GetBoxMonTMHMCompat
*BoxPokemon_CalcAbility                 | BoxPokemon_UpdateAbility              | *UpdateBoxMonAbility / sub_0206A1CC
*sub_0207884C                           | BoxPokemon_BelongsToPlayer            | *BoxmonBelongsToPlayer / sub_0206A9AC
 BoxPokemon_GetDataBlock                | BoxPokemon_GetDataBlock               | *GetSubstruct
 BoxPokemon_RestorePP                   | BoxPokemon_RestorePP                  | *RestoreBoxMonPP
Pokemon functions
pokeplatinum                            | PR                                    | pokeheartgold / pokediamond
                                        |                                       |
 Pokemon_New                            | Pokemon_New                           | *AllocMonZeroed
 Pokemon_Init                           | Pokemon_Init                          | *ZeroMonData
 Pokemon_InitWith                       | Pokemon_InitWithParams                | *CreateMon
*sub_02074044                           | Pokemon_InitWithNature                | *CreateMonWithNature
*sub_02074088                           | Pokemon_InitWithGenderNatureLetter    | *CreateMonWithGenderNatureLetter
 Pokemon_InitAndCalcStats               | Pokemon_InitAndCalcStats              | *CreateMonWithFixedIVs
*Pokemon_EnterDecryptionContext         | Pokemon_DecryptData                   | *AcquireMonLock
*Pokemon_ExitDecryptionContext          | Pokemon_EncryptData                   | *ReleaseMonLock
*Pokemon_SetValue                       | Pokemon_SetData                       | *SetMonData
 Pokemon_SetDataInternal                | Pokemon_SetDataInternal               | *SetMonDataInternal
*Pokemon_IncreaseValue                  | Pokemon_IncreaseData                  | *AddMonData
 Pokemon_IncreaseDataInternal           | Pokemon_IncreaseDataInternal          | *AddMonDataInternal
*Pokemon_GetValue                       | Pokemon_GetData                       | *GetMonData
 Pokemon_GetDataInternal                | Pokemon_GetDataInternal               | *GetMonDataInternal
 Pokemon_GetGender                      | Pokemon_GetGender                     | *GetMonGender
 Pokemon_GetNature                      | Pokemon_GetNature                     | *GetMonNature
*Pokemon_GetLevel                       | Pokemon_CalcLevel                     | *CalcMonLevel
 Pokemon_CalcStats                      | Pokemon_CalcStats                     | *CalcMonStats
 Pokemon_CalcLevelAndStats              | Pokemon_CalcLevelAndStats             | *CalcMonLevelAndStats
*Pokemon_GetPercentToNextLevel          | Pokemon_CalcPercentToNextLevel        | *GetPercentProgressTowardsNextLevel
 Pokemon_GetExpToNextLevel              | Pokemon_CalcExpToNextLevel            | *CalcMonExpToNextLevel
 Pokemon_GetCurrentLevelBaseExp         | Pokemon_GetCurrentLevelBaseExp        | *GetMonBaseExperienceAtCurrentLevel
 Pokemon_IsShiny                        | Pokemon_IsShiny                       | *MonIsShiny
*Pokemon_GetBoxPokemon                  | Pokemon_GetBoxMon                     | *Mon_GetBoxMon / sub_020690E4
 Pokemon_GetForm                        | Pokemon_GetForm                       | *GetMonUnownLetter
*Pokemon_StructSize                     | Pokemon_Size                          | *SizeOfStructPokemon
*Pokemon_GetStructSize                  | Pokemon_Size2                         | *sub_02070D90 / sub_020690C4
 Pokemon_UpdateFriendship               | Pokemon_UpdateFriendship              | *MonApplyFriendshipMod
*Pokemon_ShouldLevelUp                  | Pokemon_TryLevelUp                    |  Pokemon_TryLevelUp / *sub_020690E8
*Pokemon_SetMoveSlot                    | Pokemon_SetMoveInSlot                 | *MonSetMoveInSlot
*Pokemon_ResetMoveSlot                  | Pokemon_SetMoveInSlot_ResetPPUp       | *MonSetMoveInSlot_ResetPpUp
*Pokemon_AddMove                        | Pokemon_TryAppendMove                 | *TryAppendMonMove / sub_02069698
*Pokemon_ReplaceMove                    | Pokemon_ForceAppendMove               | *DeleteMonFirstMoveAndAppend / sub_02069708
*Pokemon_LevelUpMove                    | Pokemon_TryLevelUpMove                | *MonTryLearnMoveOnLevelUp / sub_02069818
 Pokemon_SwapMoveSlots                  | Pokemon_SwapMoveSlots                 | *MonSwapMoves / sub_020698E0
 Pokemon_ClearMoveSlot                  | Pokemon_ClearMoveSlot                 | *MonDeleteMoveSlot / sub_020699A4
 Pokemon_HasMove                        | Pokemon_HasMove                       | *MonHasMove
 Pokemon_Copy                           | Pokemon_Copy                          | *CopyPokemonToPokemon
*BoxPokemon_FromPokemon                 | Pokemon_CopyToBoxPokemon              | *CopyPokemonToBoxPokemon
*Pokemon_CanLearnTM                     | Pokemon_CanLearnTMHM                  | *GetMonTMHMCompat / sub_0206A13C
*Pokemon_CalcAbility                    | Pokemon_UpdateAbility                 | *UpdateMonAbility / sub_0206A1C4
*Pokemon_GiveHeldItem                   | Pokemon_GiveWildHeldItem              | *WildMonSetRandomHeldItem / sub_0206A094
*sub_020780C4                           | Pokemon_SetPersonality                | *SetMonPersonality / sub_0206A23C
SpeciesData functions
pokeplatinum                            | PR                                    | pokeheartgold / pokediamond
                                        |                                       |
 struct SpeciesData                     | struct SpeciesData                    | *struct BASE_STATS
*SpeciesData_FromMonSpecies             | SpeciesData_NewFromSpecies            | *AllocAndLoadMonPersonal
*SpeciesData_FromMonForm                | SpeciesData_NewFromForm               | *AllocAndLoadMonPersonal_HandleAlternateForm
 SpeciesData_LoadSpecies                | SpeciesData_LoadSpecies               | *LoadMonPersonal
 SpeciesData_Free                       | SpeciesData_Free                      | *FreeMonPersonal
 SpeciesData_GetValue                   | SpeciesData_GetValue                  | *GetPersonalAttr
*SpeciesData_GetGenderOf                | SpeciesData_GetGenderFromPersonality  | *GetGenderBySpeciesAndPersonality_PreloadedPersonal
*SpeciesData_GetLevelAt                 | SpeciesData_CalcLevelByExp            | *CalcLevelBySpeciesAndExp_PreloadedPersonal
Species Data Params
pokeplatinum                            | PR                                    | pokeheartgold / pokediamond
                                        |                                       |
 SPECIES_DATA_BASE_HP                   | SPECIES_DATA_BASE_HP                  | *BASE_HP
 SPECIES_DATA_BASE_ATK                  | SPECIES_DATA_BASE_ATK                 | *BASE_ATK
 SPECIES_DATA_BASE_DEF                  | SPECIES_DATA_BASE_DEF                 | *BASE_DEF
 SPECIES_DATA_BASE_SPEED                | SPECIES_DATA_BASE_SPEED               | *BASE_SPEED
 SPECIES_DATA_BASE_SP_ATK               | SPECIES_DATA_BASE_SP_ATK              | *BASE_SPATK
 SPECIES_DATA_BASE_SP_DEF               | SPECIES_DATA_BASE_SP_DEF              | *BASE_SPDEF
 SPECIES_DATA_TYPE_1                    | SPECIES_DATA_TYPE_1                   | *BASE_TYPE1
 SPECIES_DATA_TYPE_2                    | SPECIES_DATA_TYPE_2                   | *BASE_TYPE2
 SPECIES_DATA_CATCH_RATE                | SPECIES_DATA_CATCH_RATE               | *BASE_CATCH_RATE
*SPECIES_DATA_BASE_EXP_REWARD           | SPECIES_DATA_EXP_YIELD                | *BASE_EXP_YIELD
 SPECIES_DATA_EV_HP_YIELD               | SPECIES_DATA_EV_HP_YIELD              | *BASE_HP_YIELD
 SPECIES_DATA_EV_ATK_YIELD              | SPECIES_DATA_EV_ATK_YIELD             | *BASE_ATK_YIELD
 SPECIES_DATA_EV_DEF_YIELD              | SPECIES_DATA_EV_DEF_YIELD             | *BASE_DEF_YIELD
 SPECIES_DATA_EV_SPEED_YIELD            | SPECIES_DATA_EV_SPEED_YIELD           | *BASE_SPEED_YIELD
 SPECIES_DATA_EV_SP_ATK_YIELD           | SPECIES_DATA_EV_SP_ATK_YIELD          | *BASE_SPATK_YIELD
 SPECIES_DATA_EV_SP_DEF_YIELD           | SPECIES_DATA_EV_SP_DEF_YIELD          | *BASE_SPDEF_YIELD
 SPECIES_DATA_HELD_ITEM_COMMON          | SPECIES_DATA_HELD_ITEM_COMMON         | *BASE_ITEM_1
 SPECIES_DATA_HELD_ITEM_RARE            | SPECIES_DATA_HELD_ITEM_RARE           | *BASE_ITEM_2
 SPECIES_DATA_GENDER_RATIO              | SPECIES_DATA_GENDER_RATIO             | *BASE_GENDER_RATIO
*SPECIES_DATA_HATCH_CYCLES              | SPECIES_DATA_EGG_CYCLES               | *BASE_EGG_CYCLES
 SPECIES_DATA_BASE_FRIENDSHIP           | SPECIES_DATA_BASE_FRIENDSHIP          | *BASE_FRIENDSHIP
 SPECIES_DATA_EXP_RATE                  | SPECIES_DATA_EXP_RATE                 | *BASE_GROWTH_RATE
 SPECIES_DATA_EGG_GROUP_1               | SPECIES_DATA_EGG_GROUP_1              | *BASE_EGG_GROUP_1
 SPECIES_DATA_EGG_GROUP_2               | SPECIES_DATA_EGG_GROUP_2              | *BASE_EGG_GROUP_2
 SPECIES_DATA_ABILITY_1                 | SPECIES_DATA_ABILITY_1                | *BASE_ABILITY_1
 SPECIES_DATA_ABILITY_2                 | SPECIES_DATA_ABILITY_2                | *BASE_ABILITY_2
 SPECIES_DATA_SAFARI_FLEE_RATE          | SPECIES_DATA_SAFARI_FLEE_RATE         | *BASE_GREAT_MARSH_RATE
 SPECIES_DATA_BODY_COLOR                | SPECIES_DATA_BODY_COLOR               | *BASE_COLOR
 SPECIES_DATA_FLIP_SPRITE               | SPECIES_DATA_FLIP_SPRITE              | *BASE_FLIP
 SPECIES_DATA_TM_LEARNSET_MASK_1        | SPECIES_DATA_TM_LEARNSET_MASK_1       | *BASE_TMHM_1
 SPECIES_DATA_TM_LEARNSET_MASK_2        | SPECIES_DATA_TM_LEARNSET_MASK_2       | *BASE_TMHM_2
 SPECIES_DATA_TM_LEARNSET_MASK_3        | SPECIES_DATA_TM_LEARNSET_MASK_3       | *BASE_TMHM_3
 SPECIES_DATA_TM_LEARNSET_MASK_4        | SPECIES_DATA_TM_LEARNSET_MASK_4       | *BASE_TMHM_4
Species functions
pokeplatinum                            | PR                                    | pokeheartgold / pokediamond
                                        |                                       |
*SpeciesData_GetSpeciesValue            | Species_GetValue                      | *GetMonBaseStat
*SpeciesData_GetFormValue               | Species_GetFormValue                  | *GetMonBaseStat_HandleAlternateForm
*Pokemon_SanitizeFormId                 | Species_SanitizeFormId                | *sub_02070438 / (n/a)
*Pokemon_GetSpeciesBaseExpAt            | Species_GetExpAtLevel                 | *GetMonExpBySpeciesAndLevel
*Pokemon_GetGenderOf                    | Species_GetGenderFromPersonality      | *GetGenderBySpeciesAndPersonality
*Pokemon_GetSpeciesLevelAt              | Species_CalcLevelByExp                | *CalcLevelBySpeciesAndExp
*Pokemon_LoadLevelUpMovesOf             | Species_LoadLevelUpLearnset           | *LoadLevelUpLearnset_HandleAlternateForm
*CanPokemonFormLearnTM                  | Species_CanLearnTMHM                  | *GetTMHMCompatBySpeciesAndForm
*Pokemon_GetFormNarcIndex               | Species_GetFormNarcIndex              | *ResolveMonForm
ExpRate functions
pokeplatinum                            | PR                                    | pokeheartgold / pokediamond
                                        |                                       |
*Pokemon_GetExpRateBaseExpAt            | ExpRate_GetExpAtLevel                 | *GetExpByGrowthRateAndLevel
*Pokemon_LoadExperienceTableOf          | ExpRate_LoadTable                     | *LoadGrowthTable
Personality functions
pokeplatinum                            | PR                                    | pokeheartgold / pokediamond
                                        |                                       |
*Pokemon_IsPersonalityShiny             | Personality_IsShiny                   | *CalcShininessByOtIdAndPersonality
*Pokemon_GetNatureOf                    | Personality_GetNature                 | *GetNatureFromPersonality
*sub_02074128                           | Personality_CreateFromGenderAndNature | *GenPersonalityByGenderAndNature
*Pokemon_FindShinyPersonality           | Personality_GenerateShiny             | *GenerateShinyPersonality
 (n/a)                                  | Personality_ChangeNatureGenderAbility | *ChangePersonalityToNatureGenderAndAbility
Nature/Flavor labels
pokeplatinum                            | PR                                    | pokeheartgold / pokediamond
                                        |                                       |
*sNatureStatAffinities                  | s/gNatureStatModifiers                | *gNatureStatMods
*Pokemon_GetNatureStatValue             | Nature_ModifyStatValue                | *ModifyStatByNature
*Pokemon_GetStatAffinityOf              | Nature_GetStatModifier                |  N/A
 sNatureFlavorAffinities                | sNatureFlavorAffinities               | *sFlavorPreferencesByNature
 NATURE_COUNT                           | NATURE_COUNT                          |  NATURE_NUM / (new)
*FLAVOR_MAX                             | FLAVOR_COUNT                          | *FLAVOR_MAX / (new)
 Pokemon_GetFlavorAffinity              | Pokemon_GetFlavorAffinity             | *MonGetFlavorPreference
 BoxPokemon_GetFlavorAffinity           | BoxPokemon_GetFlavorAffinity          | *BoxMonGetFlavorPreference
*Pokemon_GetFlavorAffinityOf            | Personality_GetFlavorAffinity         | *GetFlavorPreferenceFromPID
Pokemon Sprite Template labels
pokeplatinum                            | PR                                    | pokeheartgold / pokediamond
                                        |                                       |
 struct PokemonSpriteTemplate           | struct PokemonSpriteTemplate          | *struct PokepicTemplate / SomeDrawPokemonStruct
 PokemonSpriteTemplate->narcID          | PokemonSpriteTemplate->narcID         | PokepicTemplate->narcID / SomeDrawPokemonStruct->unk0
 PokemonSpriteTemplate->spindaSpots     | PokemonSpriteTemplate->species        | PokepicTemplate->species / SomeDrawPokemonStruct->unk6
 PokemonSpriteTemplate->spindaSpots     | PokemonSpriteTemplate->personality    | PokepicTemplate->personality / SomeDrawPokemonStruct->unkC
Pokemon Sprite Template functions
pokeplatinum                            | PR                                    | pokeheartgold / pokediamond
                                        |                                       |
 Pokemon_BuildSpriteTemplate            | Pokemon_BuildSpriteTemplate           | *GetPokemonSpriteCharAndPlttNarcIds / sub_02068B68
 BoxPokemon_BuildSpriteTemplate         | BoxPokemon_BuildSpriteTemplate        | *GetBoxmonSpriteCharAndPlttNarcIds / sub_02068B70
 Pokemon_BuildSpriteTemplateDP          | Pokemon_BuildSpriteTemplateDP         | N/A
 N/A                                    | BoxPokemon_BuildSpriteTemplateDP      | *sub_02070130 / (n/a)
*BuildPokemonSpriteTemplate             | Species_BuildSpriteTemplate           | *GetMonSpriteCharAndPlttNarcIdsEx / (n/a)
*BuildPokemonSpriteTemplateDP           | Species_BuildSpriteTemplate(DP)       | *DP_GetMonSpriteCharAndPlttNarcIdsEx / sub_02068C00
Y Offset functions
pokeplatinum                            | PR                                    | pokeheartgold / pokediamond
                                        |                                       |
 Pokemon_SpriteYOffset                  | Pokemon_SpriteYOffset                 | *N/A / sub_02068E14
 BoxPokemon_SpriteYOffset               | BoxPokemon_SpriteYOffset              | *sub_02070854 / sub_02068E1C
*LoadPokemonSpriteYOffset               | Species_LoadSpriteYOffset             | *GetMonPicHeightBySpeciesGenderForm / (n/a)
*LoadPokemonDPSpriteHeight              | Species_LoadSpriteYOffset(DP)         | *GetMonPicHeightBySpeciesGenderForm_PBR / sub_02068E88
Pokérus functions
pokeplatinum                            | PR                                    | pokeheartgold / pokediamond
                                        |                                       |
*Pokemon_ApplyPokerus                   | Party_GivePokerusAtRandom             |  Party_GivePokerusAtRandom
*Pokemon_HasPokerus                     | Party_MaskHasPokerus                  | *Party_MaskMonsWithPokerus
*Party_UpdatePokerusStatus              | Party_UpdatePokerus                   |  Party_UpdatePokerus
*Pokemon_ValidatePokerus                | Party_SpreadPokerus                   |  Party_SpreadPokerus
*Pokemon_InfectedWithPokerus            | Pokemon_HasPokerus                    |  Pokemon_HasPokerus
*IsBoxPokemonInfectedWithPokerus        | BoxPokemon_HasPokerus                 | *BoxMon_HasPokerus
*Pokemon_HasCuredPokerus                | Pokemon_IsImmuneToPokerus             |  Pokemon_IsImmuneToPokerus
*BoxPokemonHasCuredPokerus              | BoxPokemon_IsImmuneToPokerus          | *BoxMon_IsImmuneToPokerus
Form change functions
pokeplatinum                            | PR                                    | pokeheartgold / pokediamond
                                        |                                       |
*Pokemon_GetArceusTypeOf                | HoldEffect_GetArceusType              | *GetArceusTypeByHeldItemEffect
*Pokemon_SetArceusForm                  | Pokemon_UpdateArceusForm              |  Pokemon_UpdateArceusForm
*BoxPokemon_SetArceusForm               | BoxPokemon_UpdateArceusForm           | *BoxMon_UpdateArceusForm / (n/a)
*Pokemon_SetGiratinaFormByHeldItem      | Pokemon_UpdateGiratinaForm            | *Mon_UpdateGiratinaForm / (n/a)
*BoxPokemon_SetGiratinaForm             | BoxPokemon_UpdateGiratinaForm         | *BoxMon_UpdateGiratinaForm / (n/a)
*Pokemon_SetGiratinaOriginForm          | Pokemon_ForceSetGiratinaOriginForm    | *Mon_ForceSetGiratinaOriginForm / (n/a)
*Party_SetGiratinaForm                  | Party_UpdateGiratinaForms             | *Party_UpdateAllGiratina_DistortionWorld / (n/a)
*Pokemon_SetShayminForm                 | Pokemon_UpdateShayminForm             | *Mon_UpdateShayminForm / (n/a)
*BoxPokemon_SetShayminForm              | BoxPokemon_UpdateShayminForm          | *BoxMon_UpdateShayminForm / (n/a)
 Pokemon_CanShayminSkyForm              | Pokemon_CanShayminSkyForm             | *Mon_CanUseGracidea / (n/a)
*Party_SetShayminLandForm               | Party_SetShayminLandForms             | *Party_ResetAllShayminToLandForm / (n/a)
*Party_SetShayminForm                   | Party_UpdateShayminForms              | *Party_TryResetShaymin / 
*Pokemon_SetRotomForm                   | Pokemon_UpdateRotomForm               | *Mon_UpdateRotomForm
Battle Frontier/Tower(DP) labels
pokeplatinum                            | PR                                    | pokeheartgold / pokediamond
                                        |                                       |
 sBattleFrontierBanlist                 | sBattle(Facility/Tower)Banlist        |  sBattleFrontierBanlist / *sLegendaryMonsList
*Pokemon_IsOnBattleFrontierBanlist      | Species_IsBattle(Facility/Tower)Banned| *IsPokemonBannedFromBattleFrontier / *IsPokemonLegendaryOrMythical
*Pokemon_IsBannedFromBattleFrontier     | Pokemon_IsBattle(Facility/Tower)Banned| *MonCheckFrontierIneligibility / *sub_0206A998
*Pokemon_GetBattleFrontierBanlistEntry  | Battle(Facility/Tower)_GetBanlistEntry| *GetBannedBattleFrontierPokemon / *GetLegendaryMon
*BATTLE_FRONTIER_BANLIST_SIZE           | BATTLE_(FACILITY/TOWER)_BANLIST_SIZE  | *NUM_BANNED_BATTLE_FRONTIER / (new)
Evolution labels
pokeplatinum                            | PR                                    | pokeheartgold / pokediamond
                                        |                                       |
*Pokemon_GetEvolutionTargetSpecies      | Pokemon_GetEvolutionTarget            | *GetMonEvolution
*LoadSpeciesEvolutions                  | Species_LoadEvolutions                | *LoadMonEvolutionTable
*MAX_EVOLUTIONS                         | MAX_MON_EVOLUTIONS                    | *MAX_EVOS_PER_POKE / (new)
*EVO_TRADE_WITH_HELD_ITEM               | EVO_TRADE_HELD_ITEM                   | *EVO_TRADE_ITEM
 EVO_USE_ITEM                           | EVO_USE_ITEM                          | *EVO_STONE
 EVO_USE_ITEM_MALE                      | EVO_USE_ITEM_MALE                     | *EVO_STONE_MALE
 EVO_USE_ITEM_FEMALE                    | EVO_USE_ITEM_FEMALE                   | *EVO_STONE_FEMALE
*EVO_LEVEL_HAPPINESS                    | EVO_LEVEL_FRIENDSHIP                  | *EVO_FRIENDSHIP
*EVO_LEVEL_HAPPINESS_DAY                | EVO_LEVEL_FRIENDSHIP_DAY              | *EVO_FRIENDSHIP_DAY
*EVO_LEVEL_HAPPINESS_NIGHT              | EVO_LEVEL_FRIENDSHIP_NIGHT            | *EVO_FRIENDSHIP_NIGHT
 EVO_LEVEL_BEAUTY                       | EVO_LEVEL_BEAUTY                      | *EVO_BEAUTY
 EVO_LEVEL_PID_LOW                      | EVO_LEVEL_PID_LOW                     | *EVO_LEVEL_PID_LO
 EVO_LEVEL_PID_HIGH                     | EVO_LEVEL_PID_HIGH                    | *EVO_LEVEL_PID_HI
*EVO_LEVEL_WITH_HELD_ITEM_DAY           | EVO_LEVEL_HELD_ITEM_DAY               | *EVO_ITEM_DAY
*EVO_LEVEL_WITH_HELD_ITEM_NIGHT         | EVO_LEVEL_HELD_ITEM_NIGHT             | *EVO_ITEM_NIGHT
 EVO_LEVEL_KNOW_MOVE                    | EVO_LEVEL_KNOW_MOVE                   | *EVO_HAS_MOVE
 EVO_LEVEL_SPECIES_IN_PARTY             | EVO_LEVEL_SPECIES_IN_PARTY            | *EVO_OTHER_PARTY_MON
 EVO_LEVEL_MAGNETIC_FIELD               | EVO_LEVEL_MAGNETIC_FIELD              | *EVO_CORONET
 EVO_LEVEL_MOSS_ROCK                    | EVO_LEVEL_MOSS_ROCK                   | *EVO_ETERNA
 EVO_LEVEL_ICE_ROCK                     | EVO_LEVEL_ICE_ROCK                    | *EVO_ROUTE217
                                        |                                       |
*EVO_CLASS_BY_LEVEL                     | EVO_CONTEXT_LEVEL_UP                  | *EVOCTX_LEVELUP / (new)
*EVO_CLASS_BY_TRADE                     | EVO_CONTEXT_TRADE                     | *EVOCTX_TRADE / (new)
*EVO_CLASS_UNUSED_02                    | EVO_CONTEXT_ITEM_CHECK                | *EVOCTX_ITEM_CHECK / (new)
*EVO_CLASS_BY_ITEM                      | EVO_CONTEXT_ITEM_USE                  | *EVOCTX_ITEM_USE / (new)
General define/enum renames
pokeplatinum                            | PR                                    | pokeheartgold / pokediamond
                                        |                                       |
 SPECIES_BAD_EGG                        | SPECIES_BAD_EGG                       | *SPECIES_MANAPHY_EGG
                                        |                                       |
*MAX_FRIENDSHIP_VALUE                   | MAX_FRIENDSHIP                        | *FRIENDSHIP_MAX / (new)
*MAX_POKEMON_LEVEL                      | MAX_MON_LEVEL                         | *MAX_LEVEL
*LEARNED_MOVES_MAX                      | MAX_MON_MOVES                         |  MAX_MON_MOVES
*EVOLVE_FRIENDSHIP_THRESHOLD            | FRIENDSHIP_EVO_THRESHOLD              |  (new)
                                        |                                       |
 HOLD_EFFECT_ARCEUS_FIGHTING            | HOLD_EFFECT_ARCEUS_FIGHTING           |  HOLD_EFFECT_ARCEUS_FIGHTING / *HOLD_EFFECT_ARCEUS_FIGHT
                                        |                                       |
 MON_DATA_NICKNAME_AND_FLAG             | MON_DATA_NICKNAME_AND_FLAG            | *MON_DATA_NICKNAME_FLAT_COMPARE
                                        |                                       |
 GENDER_RATIO_MALE_ONLY                 | GENDER_RATIO_MALE_ONLY                | *MON_RATIO_MALE
 GENDER_RATIO_FEMALE_12_5               | GENDER_RATIO_FEMALE_12_5              | *MON_RATIO_EIGHTH
 GENDER_RATIO_FEMALE_25                 | GENDER_RATIO_FEMALE_25                | *MON_RATIO_QUARTER
 GENDER_RATIO_FEMALE_50                 | GENDER_RATIO_FEMALE_50                | *MON_RATIO_HALF
 GENDER_RATIO_FEMALE_75                 | GENDER_RATIO_FEMALE_75                | *MON_RATIO_THREEQUARTER
 GENDER_RATIO_FEMALE_87_5               | GENDER_RATIO_FEMALE_87_5              |  (new)
 GENDER_RATIO_FEMALE_ONLY               | GENDER_RATIO_FEMALE_ONLY              | *MON_RATIO_FEMALE
*GENDER_RATIO_NO_GENDER                 | GENDER_RATIO_UNKNOWN                  | *MON_RATIO_UNKNOWN
                                        |                                       |
 GENDER_MALE                            | GENDER_MALE                           | *MON_MALE
 GENDER_FEMALE                          | GENDER_FEMALE                         | *MON_FEMALE
 GENDER_NONE                            | GENDER_NONE                           | *MON_GENDERLESS

*OTID_NOT_SET                           | OT_ID_PLAYER_ID                       | OT_ID_PLAYER_ID
*OTID_SET                               | OT_ID_PRESET                          | OT_ID_PRESET
*OTID_NOT_SHINY                         | OT_ID_RANDOM_NO_SHINY                 | OT_ID_RANDOM_NO_SHINY
Species Form defines/enums
pokeplatinum                            | PR                                    | pokeheartgold / pokediamond
                                        |                                       |
 ARCEUS_FORM_NORMAL                     | ARCEUS_FORM_NORMAL                    | *ARCEUS_NORMAL
 ARCEUS_FORM_FIST                       | ARCEUS_FORM_FIST                      | *ARCEUS_FIST
 ARCEUS_FORM_SKY                        | ARCEUS_FORM_SKY                       | *ARCEUS_SKY
 ARCEUS_FORM_TOXIC                      | ARCEUS_FORM_TOXIC                     | *ARCEUS_TOXIC
 ARCEUS_FORM_EARTH                      | ARCEUS_FORM_EARTH                     | *ARCEUS_EARTH
 ARCEUS_FORM_STONE                      | ARCEUS_FORM_STONE                     | *ARCEUS_STONE
 ARCEUS_FORM_INSECT                     | ARCEUS_FORM_INSECT                    | *ARCEUS_INSECT
 ARCEUS_FORM_SPOOKY                     | ARCEUS_FORM_SPOOKY                    | *ARCEUS_SPOOKY
 ARCEUS_FORM_IRON                       | ARCEUS_FORM_IRON                      | *ARCEUS_IRON
 ARCEUS_FORM_MYSTERY                    | ARCEUS_FORM_MYSTERY                   | *ARCEUS_MYSTERY
 ARCEUS_FORM_FLAME                      | ARCEUS_FORM_FLAME                     | *ARCEUS_FLAME
 ARCEUS_FORM_SPLASH                     | ARCEUS_FORM_SPLASH                    | *ARCEUS_SPLASH
 ARCEUS_FORM_MEADOW                     | ARCEUS_FORM_MEADOW                    | *ARCEUS_MEADOW
 ARCEUS_FORM_ZAP                        | ARCEUS_FORM_ZAP                       | *ARCEUS_ZAP
 ARCEUS_FORM_MIND                       | ARCEUS_FORM_MIND                      | *ARCEUS_MIND
 ARCEUS_FORM_ICICLE                     | ARCEUS_FORM_ICICLE                    | *ARCEUS_ICICLE
 ARCEUS_FORM_DRACO                      | ARCEUS_FORM_DRACO                     | *ARCEUS_DRACO
 ARCEUS_FORM_DREAD                      | ARCEUS_FORM_DREAD                     | *ARCEUS_DREAD
 ARCEUS_FORM_COUNT                      | ARCEUS_FORM_COUNT                     | *ARCEUS_FORM_MAX
 BURMY_FORM_PLANT                       | BURMY_FORM_PLANT                      | *BURMY_PLANT
 BURMY_FORM_SANDY                       | BURMY_FORM_SANDY                      | *BURMY_SANDY
 BURMY_FORM_TRASH                       | BURMY_FORM_TRASH                      | *BURMY_TRASH
 BURMY_FORM_COUNT                       | BURMY_FORM_COUNT                      | *BURMY_FORM_MAX
 WORMADAM_FORM_PLANT                    | WORMADAM_FORM_PLANT                   | *WORMADAM_PLANT
 WORMADAM_FORM_SANDY                    | WORMADAM_FORM_SANDY                   | *WORMADAM_SANDY
 WORMADAM_FORM_TRASH                    | WORMADAM_FORM_TRASH                   | *WORMADAM_TRASH
 WORMADAM_FORM_COUNT                    | WORMADAM_FORM_COUNT                   | *WORMADAM_FORM_MAX
 DEOXYS_FORM_NORMAL                     | DEOXYS_FORM_NORMAL                    | *DEOXYS_NORMAL
 DEOXYS_FORM_ATTACK                     | DEOXYS_FORM_ATTACK                    | *DEOXYS_ATTACK
 DEOXYS_FORM_DEFENSE                    | DEOXYS_FORM_DEFENSE                   | *DEOXYS_DEFENSE
 DEOXYS_FORM_SPEED                      | DEOXYS_FORM_SPEED                     | *DEOXYS_SPEED
 DEOXYS_FORM_COUNT                      | DEOXYS_FORM_COUNT                     | *DEOXYS_FORM_MAX
 GIRATINA_FORM_ALTERED                  | GIRATINA_FORM_ALTERED                 | *GIRATINA_ALTERED
 GIRATINA_FORM_ORIGIN                   | GIRATINA_FORM_ORIGIN                  | *GIRATINA_ORIGIN
 GIRATINA_FORM_COUNT                    | GIRATINA_FORM_COUNT                   | *GIRATINA_FORM_MAX
 ROTOM_FORM_BASE                        | ROTOM_FORM_BASE                       | *ROTOM_NORMAL
 ROTOM_FORM_HEAT                        | ROTOM_FORM_HEAT                       | *ROTOM_HEAT
 ROTOM_FORM_WASH                        | ROTOM_FORM_WASH                       | *ROTOM_WASH
 ROTOM_FORM_FROST                       | ROTOM_FORM_FROST                      | *ROTOM_FROST
 ROTOM_FORM_FAN                         | ROTOM_FORM_FAN                        | *ROTOM_FAN
 ROTOM_FORM_MOW                         | ROTOM_FORM_MOW                        | *ROTOM_MOW
 ROTOM_FORM_COUNT                       | ROTOM_FORM_COUNT                      | *ROTOM_FORM_MAX
 SHAYMIN_FORM_LAND                      | SHAYMIN_FORM_LAND                     | *SHAYMIN_LAND
 SHAYMIN_FORM_SKY                       | SHAYMIN_FORM_SKY                      | *SHAYMIN_SKY
 SHAYMIN_FORM_COUNT                     | SHAYMIN_FORM_COUNT                    | *SHAYMIN_FORM_MAX
 SHELLOS_FORM_WEST                      | SHELLOS_FORM_WEST                     | *SHELLOS_WEST
 SHELLOS_FORM_EAST                      | SHELLOS_FORM_EAST                     | *SHELLOS_EAST
 SHELLOS_FORM_COUNT                     | SHELLOS_FORM_COUNT                    | *SHELLOS_FORM_MAX
 GASTRODON_FORM_WEST                    | GASTRODON_FORM_WEST                   | *GASTRODON_WEST
 GASTRODON_FORM_EAST                    | GASTRODON_FORM_EAST                   | *GASTRODON_EAST
 GASTRODON_FORM_COUNT                   | GASTRODON_FORM_COUNT                  | *GASTRODON_FORM_MAX
 CASTFORM_FORM_NORMAL                   | CASTFORM_FORM_NORMAL                  | *CASTFORM_NORMAL
 CASTFORM_FORM_SUNNY                    | CASTFORM_FORM_SUNNY                   | *CASTFORM_SUNNY
 CASTFORM_FORM_RAINY                    | CASTFORM_FORM_RAINY                   | *CASTFORM_RAINY
 CASTFORM_FORM_SNOWY                    | CASTFORM_FORM_SNOWY                   | *CASTFORM_SNOWY
 CASTFORM_FORM_COUNT                    | CASTFORM_FORM_COUNT                   | *CASTFORM_FORM_MAX
 CHERRIM_FORM_OVERCAST                  | CHERRIM_FORM_OVERCAST                 | *CHERRIM_CLOUDY
 CHERRIM_FORM_SUNSHINE                  | CHERRIM_FORM_SUNSHINE                 | *CHERRIM_SUNNY
 CHERRIM_FORM_COUNT                     | CHERRIM_FORM_COUNT                    | *CHERRIM_FORM_MAX
 UNOWN_FORM_A                           | UNOWN_FORM_A                          | *UNOWN_A
 UNOWN_FORM_B                           | UNOWN_FORM_B                          | *UNOWN_B
 UNOWN_FORM_C                           | UNOWN_FORM_C                          | *UNOWN_C
 UNOWN_FORM_D                           | UNOWN_FORM_D                          | *UNOWN_D
 UNOWN_FORM_E                           | UNOWN_FORM_E                          | *UNOWN_E
 UNOWN_FORM_F                           | UNOWN_FORM_F                          | *UNOWN_F
 UNOWN_FORM_G                           | UNOWN_FORM_G                          | *UNOWN_G
 UNOWN_FORM_H                           | UNOWN_FORM_H                          | *UNOWN_H
 UNOWN_FORM_I                           | UNOWN_FORM_I                          | *UNOWN_I
 UNOWN_FORM_J                           | UNOWN_FORM_J                          | *UNOWN_J
 UNOWN_FORM_K                           | UNOWN_FORM_K                          | *UNOWN_K
 UNOWN_FORM_L                           | UNOWN_FORM_L                          | *UNOWN_L
 UNOWN_FORM_M                           | UNOWN_FORM_M                          | *UNOWN_M
 UNOWN_FORM_N                           | UNOWN_FORM_N                          | *UNOWN_N
 UNOWN_FORM_O                           | UNOWN_FORM_O                          | *UNOWN_O
 UNOWN_FORM_P                           | UNOWN_FORM_P                          | *UNOWN_P
 UNOWN_FORM_Q                           | UNOWN_FORM_Q                          | *UNOWN_Q
 UNOWN_FORM_R                           | UNOWN_FORM_R                          | *UNOWN_R
 UNOWN_FORM_S                           | UNOWN_FORM_S                          | *UNOWN_S
 UNOWN_FORM_T                           | UNOWN_FORM_T                          | *UNOWN_T
 UNOWN_FORM_U                           | UNOWN_FORM_U                          | *UNOWN_U
 UNOWN_FORM_V                           | UNOWN_FORM_V                          | *UNOWN_V
 UNOWN_FORM_W                           | UNOWN_FORM_W                          | *UNOWN_W
 UNOWN_FORM_X                           | UNOWN_FORM_X                          | *UNOWN_X
 UNOWN_FORM_Y                           | UNOWN_FORM_Y                          | *UNOWN_Y
 UNOWN_FORM_Z                           | UNOWN_FORM_Z                          | *UNOWN_Z
 UNOWN_FORM_EXCLAMATION_MARK            | UNOWN_FORM_EXCLAMATION_MARK           | *UNOWN_EXCLAMATION_MARK
 UNOWN_FORM_QUESTION_MARK               | UNOWN_FORM_QUESTION_MARK              | *UNOWN_QUESTION_MARK
 UNOWN_FORM_COUNT                       | UNOWN_FORM_COUNT                      | *UNOWN_FORM_MAX
 (n/a)                                  | PICHU_FORM_NORMAL                     | *PICHU_NORMAL
 (n/a)                                  | PICHU_FORM_SPIKY_EAR                  | *PICHU_SPIKY_EAR
 (n/a)                                  | PICHU_FORM_COUNT                      | *PICHU_FORM_MAX
 EGG_FORM_BASE                          | EGG_FORM_BASE                         | *EGG_STANDARD
 EGG_FORM_MANAPHY                       | EGG_FORM_MANAPHY                      | *EGG_MANAPHY
 EGG_FORM_COUNT                         | EGG_FORM_COUNT                        | *EGG_FORM_MAX
Friendship event constants
pokeplatinum                                    | PR                                                | pokeheartgold / pokediamond
                                                |                                                   |
FRIENDSHIP_EVENT_LEVEL_UP                       | FRIENDSHIP_EVENT_LEVEL_UP                         | *FRIENDSHIP_EVENT_GROW_LEVEL
FRIENDSHIP_EVENT_VITAMIN                        | FRIENDSHIP_EVENT_VITAMIN                          | *FRIENDSHIP_EVENT_VITAMIN
FRIENDSHIP_EVENT_BATTLE_ITEM                    | FRIENDSHIP_EVENT_BATTLE_ITEM                      | *FRIENDSHIP_EVENT_BATTLE_ITEM
FRIENDSHIP_EVENT_BEAT_GYM_LEADER_E4_OR_CHAMPION | FRIENDSHIP_EVENT_BEAT_GYM_LEADER_E4_OR_CHAMPION   | *FRIENDSHIP_EVENT_LEAGUE_BATTLE
FRIENDSHIP_EVENT_LEARN_TMHM                     | FRIENDSHIP_EVENT_LEARN_TMHM                       | *FRIENDSHIP_EVENT_LEARN_TMHM
FRIENDSHIP_EVENT_WALK_CYCLE                     | FRIENDSHIP_EVENT_WALK_CYCLE                       | *FRIENDSHIP_EVENT_WALKING
FRIENDSHIP_EVENT_BATTLE_FAINT                   | FRIENDSHIP_EVENT_BATTLE_FAINT                     | *FRIENDSHIP_EVENT_FAINT_SMALL
FRIENDSHIP_EVENT_POISON_SURVIVE                 | FRIENDSHIP_EVENT_POISON_SURVIVE                   | *FRIENDSHIP_EVENT_HEAL_FIELD_PSN
FRIENDSHIP_EVENT_BATTLE_FAINT_HIGH_LVL_DIFF     | FRIENDSHIP_EVENT_BATTLE_FAINT_HIGH_LVL_DIFF       | *FRIENDSHIP_EVENT_FAINT_LARGE
FRIENDSHIP_EVENT_CONTEST_WIN                    | FRIENDSHIP_EVENT_CONTEST_WIN                      | *FRIENDHSIP_EVENT_CONTEST_WIN
FRIENDSHIP_EVENT_COUNT                          | FRIENDSHIP_EVENT_COUNT                            | *FRIENDSHIP_EVENT_NUM

@AsparagusEduardo
Copy link
Contributor Author

AsparagusEduardo commented Dec 27, 2025

New set of changes. As always, the description was updated as well:

CHANGES
*BoxPokemon_CalcAbility                 | BoxPokemon_UpdateAbility              | *UpdateBoxMonAbility / sub_0206A1CC
*sub_0207884C                           | BoxPokemon_BelongsToPlayer            | *BoxmonBelongsToPlayer / sub_0206A9AC
 BoxPokemon_GetDataBlock                | BoxPokemon_GetDataBlock               | *GetSubstruct
*Pokemon_StructSize                     | Pokemon_Size                          | *SizeOfStructPokemon
*Pokemon_GetStructSize                  | Pokemon_Size2                         | *sub_02070D90 / sub_020690C4
*Pokemon_CalcAbility                    | Pokemon_UpdateAbility                 | *UpdateMonAbility / sub_0206A1C4
*Pokemon_GiveHeldItem                   | Pokemon_GiveWildHeldItem              | *WildMonSetRandomHeldItem / sub_0206A094
*sub_020780C4                           | Pokemon_SetPersonality                | *SetMonPersonality / sub_0206A23C
*Pokemon_GetFormNarcIndex               | Species_GetFormNarcIndex              | *ResolveMonForm
 (n/a)                                  | Personality_ChangeNatureGenderAbility | *ChangePersonalityToNatureGenderAndAbility
 sNatureFlavorAffinities                | sNatureFlavorAffinities               | *sFlavorPreferencesByNature
 NATURE_COUNT                           | NATURE_COUNT                          |  NATURE_NUM / (new)
*FLAVOR_MAX                             | FLAVOR_COUNT                          | *FLAVOR_MAX / (new)
 Pokemon_GetFlavorAffinity              | Pokemon_GetFlavorAffinity             | *MonGetFlavorPreference
 BoxPokemon_GetFlavorAffinity           | BoxPokemon_GetFlavorAffinity          | *BoxMonGetFlavorPreference
*Pokemon_GetFlavorAffinityOf            | Personality_GetFlavorAffinity         | *GetFlavorPreferenceFromPID
*Pokemon_ApplyPokerus                   | Party_GivePokerusAtRandom             |  Party_GivePokerusAtRandom
*Pokemon_HasPokerus                     | Party_MaskHasPokerus                  | *Party_MaskMonsWithPokerus
*Party_UpdatePokerusStatus              | Party_UpdatePokerus                   |  Party_UpdatePokerus
*Pokemon_ValidatePokerus                | Party_SpreadPokerus                   |  Party_SpreadPokerus
*Pokemon_InfectedWithPokerus            | Pokemon_HasPokerus                    |  Pokemon_HasPokerus
*IsBoxPokemonInfectedWithPokerus        | BoxPokemon_HasPokerus                 | *BoxMon_HasPokerus
*Pokemon_HasCuredPokerus                | Pokemon_IsImmuneToPokerus             |  Pokemon_IsImmuneToPokerus
*BoxPokemonHasCuredPokerus              | BoxPokemon_IsImmuneToPokerus          | *BoxMon_IsImmuneToPokerus
                                        |                                       |
*Pokemon_GetArceusTypeOf                | HoldEffect_GetArceusType              | *GetArceusTypeByHeldItemEffect
*Pokemon_SetArceusForm                  | Pokemon_UpdateArceusForm              |  Pokemon_UpdateArceusForm
*BoxPokemon_SetArceusForm               | BoxPokemon_UpdateArceusForm           | *BoxMon_UpdateArceusForm / (n/a)
*Pokemon_SetGiratinaFormByHeldItem      | Pokemon_UpdateGiratinaForm            | *Mon_UpdateGiratinaForm / (n/a)
*BoxPokemon_SetGiratinaForm             | BoxPokemon_UpdateGiratinaForm         | *BoxMon_UpdateGiratinaForm / (n/a)
*Pokemon_SetGiratinaOriginForm          | Pokemon_ForceSetGiratinaOriginForm    | *Mon_ForceSetGiratinaOriginForm / (n/a)
*Party_SetGiratinaForm                  | Party_UpdateGiratinaForms             | *Party_UpdateAllGiratina_DistortionWorld / (n/a)
*Pokemon_SetShayminForm                 | Pokemon_UpdateShayminForm             | *Mon_UpdateShayminForm / (n/a)
*BoxPokemon_SetShayminForm              | BoxPokemon_UpdateShayminForm          | *BoxMon_UpdateShayminForm / (n/a)
 Pokemon_CanShayminSkyForm              | Pokemon_CanShayminSkyForm             | *Mon_CanUseGracidea / (n/a)
*Party_SetShayminLandForm               | Party_SetShayminLandForms             | *Party_ResetAllShayminToLandForm / (n/a)
*Party_SetShayminForm                   | Party_UpdateShayminForms              | *Party_TryResetShaymin / 
*Pokemon_SetRotomForm                   | Pokemon_UpdateRotomForm               | *Mon_UpdateRotomForm
                                        |                                       |
*sBattleFrontierBanlist                 | sBattleFacilityBanlist                | *sBattleFrontierBanlist / sLegendaryMonsList
*Pokemon_IsOnBattleFrontierBanlist      | Species_IsBattleFacilityBanned        | *IsPokemonBannedFromBattleFrontier / IsPokemonLegendaryOrMythical
*Pokemon_IsBannedFromBattleFrontier     | Pokemon_IsBattleFacilityBanned        | *MonCheckFrontierIneligibility / sub_0206A998
*Pokemon_GetBattleFrontierBanlistEntry  | BattleFacility_GetBanlistEntry        | GetBannedBattleFrontierPokemon / GetLegendaryMon
*BATTLE_FRONTIER_BANLIST_SIZE           | BATTLE_FACILITY_BANLIST_SIZE          | *NUM_BANNED_BATTLE_FRONTIER / (new)
                                        |                                       |
*Pokemon_GetEvolutionTargetSpecies      | Pokemon_GetEvolutionTarget            | *GetMonEvolution
*LoadSpeciesEvolutions                  | Species_LoadEvolutions                | *LoadMonEvolutionTable
*MAX_EVOLUTIONS                         | MAX_MON_EVOLUTIONS                    | *MAX_EVOS_PER_POKE / (new)
*EVO_TRADE_WITH_HELD_ITEM               | EVO_TRADE_HELD_ITEM                   | *EVO_TRADE_ITEM
 EVO_USE_ITEM                           | EVO_USE_ITEM                          | *EVO_STONE
 EVO_USE_ITEM_MALE                      | EVO_USE_ITEM_MALE                     | *EVO_STONE_MALE
 EVO_USE_ITEM_FEMALE                    | EVO_USE_ITEM_FEMALE                   | *EVO_STONE_FEMALE
*EVO_LEVEL_HAPPINESS                    | EVO_LEVEL_FRIENDSHIP                  | *EVO_FRIENDSHIP
*EVO_LEVEL_HAPPINESS_DAY                | EVO_LEVEL_FRIENDSHIP_DAY              | *EVO_FRIENDSHIP_DAY
*EVO_LEVEL_HAPPINESS_NIGHT              | EVO_LEVEL_FRIENDSHIP_NIGHT            | *EVO_FRIENDSHIP_NIGHT
 EVO_LEVEL_BEAUTY                       | EVO_LEVEL_BEAUTY                      | *EVO_BEAUTY
 EVO_LEVEL_PID_LOW                      | EVO_LEVEL_PID_LOW                     | *EVO_LEVEL_PID_LO
 EVO_LEVEL_PID_HIGH                     | EVO_LEVEL_PID_HIGH                    | *EVO_LEVEL_PID_HI
*EVO_LEVEL_WITH_HELD_ITEM_DAY           | EVO_LEVEL_HELD_ITEM_DAY               | *EVO_ITEM_DAY
*EVO_LEVEL_WITH_HELD_ITEM_NIGHT         | EVO_LEVEL_HELD_ITEM_NIGHT             | *EVO_ITEM_NIGHT
 EVO_LEVEL_KNOW_MOVE                    | EVO_LEVEL_KNOW_MOVE                   | *EVO_HAS_MOVE
 EVO_LEVEL_SPECIES_IN_PARTY             | EVO_LEVEL_SPECIES_IN_PARTY            | *EVO_OTHER_PARTY_MON
 EVO_LEVEL_MAGNETIC_FIELD               | EVO_LEVEL_MAGNETIC_FIELD              | *EVO_CORONET
 EVO_LEVEL_MOSS_ROCK                    | EVO_LEVEL_MOSS_ROCK                   | *EVO_ETERNA
 EVO_LEVEL_ICE_ROCK                     | EVO_LEVEL_ICE_ROCK                    | *EVO_ROUTE217
                                        |                                       |
*EVO_CLASS_BY_LEVEL                     | EVO_CONTEXT_LEVEL_UP                  | *EVOCTX_LEVELUP / (new)
*EVO_CLASS_BY_TRADE                     | EVO_CONTEXT_TRADE                     | *EVOCTX_TRADE / (new)
*EVO_CLASS_UNUSED_02                    | EVO_CONTEXT_ITEM_CHECK                | *EVOCTX_ITEM_CHECK / (new)
*EVO_CLASS_BY_ITEM                      | EVO_CONTEXT_ITEM_USE                  | *EVOCTX_ITEM_USE / (new)
                                        |                                       |
*LEARNED_MOVES_MAX                      | MAX_MON_MOVES                         |  MAX_MON_MOVES
*EVOLVE_FRIENDSHIP_THRESHOLD            | FRIENDSHIP_EVO_THRESHOLD              |  (new)
 EGG_FORM_COUNT                         | EGG_FORM_COUNT                        | *EGG_FORM_MAX
                                        |                                       |
 GENDER_MALE                            | GENDER_MALE                           | *MON_MALE
 GENDER_FEMALE                          | GENDER_FEMALE                         | *MON_FEMALE
 GENDER_NONE                            | GENDER_NONE                           | *MON_GENDERLESS

@AsparagusEduardo AsparagusEduardo changed the title WIP: Sync pokemon.c with pokeheartgold and pokediamond Sync pokemon.c with pokeheartgold and pokediamond Dec 28, 2025
@AsparagusEduardo AsparagusEduardo marked this pull request as ready for review December 28, 2025 03:51
@AsparagusEduardo
Copy link
Contributor Author

While there's still some work to do, I believe I've reached the point to stop and leave this ready for discussion and review.
I recommend to post any suggestions in the #gen-4-alignment, so mantainers of the other Gen 4 repos can also chip in.
I've split the changes in groups, for ease of reading.

@AsparagusEduardo
Copy link
Contributor Author

Updated PR and description with latest suggestions on the Discord thread.

Note: In the middle column, functions that have "BattleFrontier" in pokeplatinum and pokeheartgold are refered as "BattleTower" in pokediamond.

pokeplatinum                            | PR                                    | pokeheartgold / pokediamond
                                        |                                       |
*BoxPokemon_EnterDecryptionContext      | BoxPokemon_DecryptData                | *AcquireBoxMonLock
*BoxPokemon_ExitDecryptionContext       | BoxPokemon_EncryptData                | *ReleaseBoxMonLock
                                        |                                       |
*Pokemon_EnterDecryptionContext         | Pokemon_DecryptData                   | *AcquireMonLock
*Pokemon_ExitDecryptionContext          | Pokemon_EncryptData                   | *ReleaseMonLock
                                        |                                       |
 sBattleFrontierBanlist                 | sBattle(Facility/Tower)Banlist        |  sBattleFrontierBanlist / *sLegendaryMonsList
*Pokemon_IsOnBattleFrontierBanlist      | Species_IsBattle(Facility/Tower)Banned| *IsPokemonBannedFromBattleFrontier / *IsPokemonLegendaryOrMythical
*Pokemon_IsBannedFromBattleFrontier     | Pokemon_IsBattle(Facility/Tower)Banned| *MonCheckFrontierIneligibility / *sub_0206A998
*Pokemon_GetBattleFrontierBanlistEntry  | Battle(Facility/Tower)_GetBanlistEntry| *GetBannedBattleFrontierPokemon / *GetLegendaryMon
*BATTLE_FRONTIER_BANLIST_SIZE           | BATTLE_(FACILITY/TOWER)_BANLIST_SIZE  | *NUM_BANNED_BATTLE_FRONTIER / (new)

@lhearachel lhearachel added the pokeheartgold sync PRs to synchronize symbols with pokeheartgold; requires additional sign-off label Jan 2, 2026
@AsparagusEduardo
Copy link
Contributor Author

Added incoming pokeplatinum name changes (description updated)

CHANGES
pokeplatinum                                    | PR                                                | pokeheartgold / pokediamond
                                                |                                                   |
FRIENDSHIP_EVENT_LEVEL_UP                       | FRIENDSHIP_EVENT_LEVEL_UP                         | *FRIENDSHIP_EVENT_GROW_LEVEL
FRIENDSHIP_EVENT_VITAMIN                        | FRIENDSHIP_EVENT_VITAMIN                          | *FRIENDSHIP_EVENT_VITAMIN
FRIENDSHIP_EVENT_BATTLE_ITEM                    | FRIENDSHIP_EVENT_BATTLE_ITEM                      | *FRIENDSHIP_EVENT_BATTLE_ITEM
FRIENDSHIP_EVENT_BEAT_GYM_LEADER_E4_OR_CHAMPION | FRIENDSHIP_EVENT_BEAT_GYM_LEADER_E4_OR_CHAMPION   | *FRIENDSHIP_EVENT_LEAGUE_BATTLE
FRIENDSHIP_EVENT_LEARN_TMHM                     | FRIENDSHIP_EVENT_LEARN_TMHM                       | *FRIENDSHIP_EVENT_LEARN_TMHM
FRIENDSHIP_EVENT_WALK_CYCLE                     | FRIENDSHIP_EVENT_WALK_CYCLE                       | *FRIENDSHIP_EVENT_WALKING
FRIENDSHIP_EVENT_BATTLE_FAINT                   | FRIENDSHIP_EVENT_BATTLE_FAINT                     | *FRIENDSHIP_EVENT_FAINT_SMALL
FRIENDSHIP_EVENT_POISON_SURVIVE                 | FRIENDSHIP_EVENT_POISON_SURVIVE                   | *FRIENDSHIP_EVENT_HEAL_FIELD_PSN
FRIENDSHIP_EVENT_BATTLE_FAINT_HIGH_LVL_DIFF     | FRIENDSHIP_EVENT_BATTLE_FAINT_HIGH_LVL_DIFF       | *FRIENDSHIP_EVENT_FAINT_LARGE
FRIENDSHIP_EVENT_CONTEST_WIN                    | FRIENDSHIP_EVENT_CONTEST_WIN                      | *FRIENDHSIP_EVENT_CONTEST_WIN
FRIENDSHIP_EVENT_COUNT                          | FRIENDSHIP_EVENT_COUNT                            | *FRIENDSHIP_EVENT_NUM

@AsparagusEduardo
Copy link
Contributor Author

Closing until pokeheartgold is beyond 70% decomped.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pokeheartgold sync PRs to synchronize symbols with pokeheartgold; requires additional sign-off

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants