Merge pull request #163 from Chesyon/main
Some checks failed
build / build (push) Has been cancelled

Decomped DexNumbersEqual
This commit is contained in:
AnonymousRandomPerson 2025-08-06 21:55:09 -04:00 committed by GitHub
commit 72f30f6f88
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 5270 additions and 5277 deletions

View File

@ -1,82 +1,6 @@
#pragma once
.public _020A190C
.public _020A333C
.public _020A3340
.public _020A3350
.public _020A336C
.public _020A3398
.public _020A33B8
.public _020A33D4
.public _020A340C
.public _020A343C
.public _020A344C
.public _020A3450
.public _020A3468
.public _020AFC28
.public _020AFC4C
.public _020B0A4C
.public _022B5788
.public _022B578C
.public AddMoneyCarried
.public CleanStickyItemsInBag
.public CopyAndInterleaveWrapper
.public CopyTacticString
.public Debug_Print0
.public DirectoryFileMngr_OpenDirectoryFile
.public FemaleToMaleForm
.public GetBaseDefensiveStat
.public GetBaseFormBurmyWormadamShellosGastrodonCherrim
.public GetBaseFormCastformCherrimDeoxys
.public GetBaseHp
.public GetBaseOffensiveStat
.public GetBodySize
.public GetDexNumber
.public GetGameMode
.public GetIqGroup
.public GetItemAtIdx
.public GetItemMoveId16
.public GetMaxMembersAllowed
.public GetMaxPp
.public GetMonsterGender
.public GetNameRaw
.public GetPerformanceFlagWithChecks
.public GetShadowSize
.public GroundToDungeonMoveset
.public HandleSir0Translation
.public IQ_GROUP_SKILLS
.public IQ_SKILL_RESTRICTIONS
.public IQ_SKILLS
.public IqSkillFlagTest
.public IsDeoxys
.public IsLevelResetDungeon
.public IsSkyExclusiveDungeon
.public IsUnown
.public ItemZInit
.public MemZero
.public RemoveHolderForItemInBag
.public RemovePokeItemsInBag
.public SetHolderForItemInBag
.public SetPokemonJoined
.public ShuffleHiddenPower
.public SprintfStatic__02054A60
.public StrcmpMonsterName
.public StrncpyName
.public StrncpySimple
.public StrncpySimpleNoPadSafe
.public sub_0200D8AC
.public sub_0200FA0C
.public sub_0201B43C
.public sub_0201B9F8
.public sub_0201F598
.public sub_0204E584
.public sub_02052CF4
.public sub_02052E2C
.public sub_020530D4
.public sub_02053174
.public sub_0205349C
.public sub_020534BC
.public sub_02053D1C
.public sub_02053F10
.public TACTICS_UNLOCK_LEVEL_TABLE
.public TEAM_MEMBER_TABLE_PTR
.public UnloadFile

View File

@ -0,0 +1,77 @@
#pragma once
.public AddMoneyCarried
.public CleanStickyItemsInBag
.public CopyAndInterleaveWrapper
.public CopyTacticString
.public Debug_Print0
.public DirectoryFileMngr_OpenDirectoryFile
.public GetBaseDefensiveStat
.public GetBaseFormCastformCherrimDeoxys
.public GetBaseHp
.public GetBaseOffensiveStat
.public GetBodySize
.public GetGameMode
.public GetIqGroup
.public GetItemAtIdx
.public GetItemMoveId16
.public GetMaxMembersAllowed
.public GetMaxPp
.public GetMonsterGender
.public GetNameRaw
.public GetPerformanceFlagWithChecks
.public GetShadowSize
.public GroundToDungeonMoveset
.public HandleSir0Translation
.public IQ_GROUP_SKILLS
.public IQ_SKILLS
.public IQ_SKILL_RESTRICTIONS
.public IqSkillFlagTest
.public IsLevelResetDungeon
.public IsSkyExclusiveDungeon
.public ItemZInit
.public MemZero
.public RemoveHolderForItemInBag
.public RemovePokeItemsInBag
.public SetHolderForItemInBag
.public SetPokemonJoined
.public ShuffleHiddenPower
.public SprintfStatic__02054A60
.public StrcmpMonsterName
.public StrncpyName
.public StrncpySimple
.public StrncpySimpleNoPadSafe
.public TACTICS_UNLOCK_LEVEL_TABLE
.public TEAM_MEMBER_TABLE_PTR
.public UnloadFile
.public _020A190C
.public _020A333C
.public _020A3340
.public _020A3350
.public _020A336C
.public _020A3398
.public _020A33B8
.public _020A33D4
.public _020A340C
.public _020A343C
.public _020A344C
.public _020A3450
.public _020A3468
.public _020AFC28
.public _020AFC4C
.public _020B0A4C
.public _022B5788
.public _022B578C
.public sub_0200D8AC
.public sub_0200FA0C
.public sub_0201B43C
.public sub_0201B9F8
.public sub_0201F598
.public sub_0204E584
.public sub_02052CF4
.public sub_02052E2C
.public sub_020530D4
.public sub_02053174
.public sub_0205349C
.public sub_020534BC
.public sub_02053D1C
.public sub_02053F10

File diff suppressed because it is too large Load Diff

5166
asm/main_02054E4C.s Normal file

File diff suppressed because it is too large Load Diff

8
include/main_02054DC4.h Normal file
View File

@ -0,0 +1,8 @@
#ifndef PMDSKY_MAIN_02054DC4_H
#define PMDSKY_MAIN_02054DC4_H
#include "util.h"
bool32 DexNumbersEqual(s16 monster1, s16 monster2);
#endif //PMDSKY_MAIN_02054DC4_H

View File

@ -73,6 +73,8 @@ Static main
Object asm/main_02054AD4.o
Object src/main_02054BE0.o
Object asm/main_02054C24.o
Object src/main_02054DC4.o
Object asm/main_02054E4C.o
Object src/pokemon.o
Object asm/main_02058F24.o
Object src/main_0206C98C.o

17
src/main_02054DC4.c Normal file
View File

@ -0,0 +1,17 @@
#include "main_02054DC4.h"
#include "util.h"
#include "main_02054AA4.h"
#include "main_02054BE0.h"
extern s16 GetBaseFormCastformDeoxysCherrim(s16 monster_id);
extern s16 GetDexNumber(s16 monster_id);
bool32 DexNumbersEqual(s16 monster1, s16 monster2) {
s16 base_form_1 = FemaleToMaleForm(monster1);
s16 base_form_2 = FemaleToMaleForm(monster2);
s16 true_base_1 = GetBaseFormCastformDeoxysCherrim(base_form_1);
s16 true_base_2 = GetBaseFormCastformDeoxysCherrim(base_form_2);
if (true_base_1 == true_base_2) return TRUE;
else if (IsUnown(true_base_1) && IsUnown(true_base_2)) return FALSE;
else return GetDexNumber(true_base_1) == GetDexNumber(true_base_2);
}