Decomped IsMonster

This commit is contained in:
AnonymousRandomPerson
2024-12-01 18:04:12 -06:00
parent 9017a60009
commit 9bed55e61e
56 changed files with 16841 additions and 16573 deletions

View File

@@ -1,94 +1,47 @@
#pragma once
.public AbilityIsActiveVeneer
.public AdvanceFrame
.public AiMovement
.public AnimationDelayOrSomething
.public ApplyItemEffect
.public BAG_ITEMS_PTR_MIRROR
.public BELLY_DRAIN_IN_WALLS_INT
.public CASTFORM_WEATHER_ATTRIBUTE_TABLE
.public CanAttackInDirection
.public CanMonsterSpawn
.public CanMonsterUseItem
.public CanSeeTarget
.public CeilFixedPoint
.public ChangeMonsterAnimation
.public CheckTeamMemberIdx
.public CheckVariousStatuses
.public CheckVariousStatuses2
.public Conversion2IsActive
.public DIRECTIONS_XY
.public DUNGEON_PTR
.public DeleteWanTableEntryVeneer
.public DetermineMonsterShadow
.public DirectoryFileMngr_GetDirectoryFileSize
.public DiscoverMinimap
.public DisplayAnimatedNumbers
.public DisplayMessage
.public DisplayMessage2
.public DrawMinimapTile
.public DungeonRandInt
.public EnableAllLearnableIqSkills
.public EnableIqSkill
.public EndBurnClassStatus
.public EndCringeClassStatus
.public EndFrozenClassStatus
.public EndReflectClassStatus
.public EndSleepClassStatus
.public EntityIsValid__022F7364
.public ExclusiveItemEffectFlagTest
.public FreeOtherWrappedMonsters
.public GendersEqualNotGenderless
.public GetAbility
.public GetActiveTeamMember
.public GetApparentWeather
.public GetBodySize
.public GetChebyshevDistance
.public GetConversion2ConvertToType
.public GetDirectionTowardsPosition
.public GetExclusiveItemWithEffectFromBag
.public GetFloorType
.public GetForcedLossReason
.public GetIdleAnimationId
.public GetLeader
.public GetLearnableIqSkills
.public GetLvlUpEntry
.public GetMaxPp
.public GetMaxPpWrapper
.public GetMinimapDataE447
.public GetMobilityType
.public GetMonsterEvoStatus
.public GetMonsterGender
.public GetMonsterName
.public GetMoveBasePp
.public GetMoveType
.public GetMoveTypeForMonster
.public GetNbItemsInBag
.public GetNumberOfAttacks
.public GetScenarioBalance
.public GetScenarioBalanceVeneer
.public GetSpawnThreshold
.public GetSpriteFileSize
.public GetSpriteIndex__020526EC
.public GetStairsRoom
.public GetStairsSpawnPosition
.public GetStatBoostsForMonsterSummary
.public GetTile
.public GetTileAtEntity
.public GetTileSafe
.public GetTreatmentBetweenMonsters
.public GetType
.public GetTypeMatchupBothTypes
.public HasHeldItem
.public HasMaxGinsengBoost99
.public IQ_SKILLS
.public IqSkillIsEnabled
.public IsCurrentFixedRoomBossFight
.public IsFullFloorFixedRoom
.public IsLevelResetDungeon
.public IsMonsterIdInNormalRange
.public IsMonsterSleeping
.public IsOneHitKoMove
.public IsMonster__022F9720
.public IsOutlawOrChallengeRequestFloor
.public IsRecruitingAllowed
.public IsSecretBazaarNpcBehavior
@@ -100,7 +53,6 @@
.public LEADER_PTR
.public LoadWanTableEntryFromPack
.public LoadWanTableEntryFromPackUseProvidedMemory
.public LogMessageByIdWithPopup
.public LogMessageByIdWithPopupCheckUser
.public LogMessageByIdWithPopupCheckUserTarget
.public LowerSpeed
@@ -108,88 +60,52 @@
.public MemFree
.public MonsterIsType
.public OpenMessageLog
.public PointCameraToMonster
.public PopulateActiveMonsterPtrs
.public RandInt
.public RemoveEquivItem
.public RemoveHolderForItemInBag
.public ReplaceWanFromBinFile
.public RestoreAllMovePP
.public SECONDARY_TERRAIN_TYPES
.public SetActionPassTurnOrWalk
.public SetForcedLossReason
.public SetMissionTargetEnemyDefeated
.public ShouldDisplayEntityWrapper
.public ShouldMonsterRunAway
.public ShouldTryEatItem
.public ShowPpRestoreEffect
.public StoryRestrictionsEnabled
.public SubFixedPoint
.public SubstitutePlaceholderStringTags
.public TEAM_MEMBER_TABLE_PTR
.public TryIncreaseHp
.public TryInflictBurnStatus
.public TryInflictPausedStatus
.public UpdateCamera
.public TryEndStatusWithAbility
.public UpdateMapSurveyorFlag
.public UpdateMinimap
.public UpdateStatusIconFlags
.public WAN_TABLE
.public WEATHER_BALL_TYPE_TABLE
.public YesNoMenu
.public _020A1870
.public ov10_022C4C6E
.public ov10_022C4C70
.public ov29_022DDB68
.public ov29_022E0A04
.public ov29_022E1C0C
.public ov29_022E2470
.public ov29_022E2A78
.public ov29_022E4160
.public ov29_022E576C
.public ov29_022E6260
.public ov29_022E647C
.public ov29_022E68BC
.public ov29_022E68D8
.public ov29_022E6928
.public ov29_022E8104
.public ov29_022E81F8
.public ov29_022EA370
.public ov29_022ECDE4
.public ov29_022EF7C4
.public ov29_022EF938
.public ov29_022EFAE8
.public ov29_022F9B8C
.public ov29_022FE048
.public ov29_022FFB90
.public ov29_0230040C
.public ov29_023018AC
.public ov29_023021F0
.public ov29_02304A48
.public ov29_02307CE0
.public ov29_02307DD0
.public ov29_0230F9A4
.public ov29_023159D4
.public ov29_02337EC0
.public ov29_02338F24
.public ov29_02339F88
.public ov29_02344B44
.public ov29_02348100
.public ov29_02349688
.public ov29_0234B010
.public ov29_0234B034
.public ov29_0234B06C
.public ov29_0234B084
.public ov29_0234B09C
.public ov29_0234B0B4
.public ov29_0234B1A4
.public ov29_0234EF24
.public ov29_0235171E
.public ov29_0237C9B0
.public sub_0201405C
.public sub_02017C50
.public sub_0204AEF0
.public sub_02050FF8
.public sub_02052E2C
.public sub_02053250
.public sub_0205349C
.public sub_02056228

View File

@@ -0,0 +1,121 @@
#pragma once
.public AbilityIsActiveVeneer
.public AdvanceFrame
.public AiMovement
.public AnimationDelayOrSomething
.public ApplyItemEffect
.public BAG_ITEMS_PTR_MIRROR
.public BELLY_DRAIN_IN_WALLS_INT
.public CanMonsterSpawn
.public CanMonsterUseItem
.public CanSeeTarget
.public CeilFixedPoint
.public ChangeMonsterAnimation
.public CheckTeamMemberIdx
.public CheckVariousStatuses
.public CheckVariousStatuses2
.public Conversion2IsActive
.public DIRECTIONS_XY
.public DUNGEON_PTR
.public DefenderAbilityIsActive__022F96CC
.public DiscoverMinimap
.public DisplayAnimatedNumbers
.public DungeonRandInt
.public EnableIqSkill
.public EndBurnClassStatus
.public EndCringeClassStatus
.public EndFrozenClassStatus
.public EndReflectClassStatus
.public EndSleepClassStatus
.public EntityIsValid__022F7364
.public ExclusiveItemEffectFlagTest
.public GetActiveTeamMember
.public GetChebyshevDistance
.public GetConversion2ConvertToType
.public GetDirectionTowardsPosition
.public GetExclusiveItemWithEffectFromBag
.public GetFloorType
.public GetIdleAnimationId
.public GetLeader
.public GetLearnableIqSkills
.public GetMaxPp
.public GetMaxPpWrapper
.public GetMobilityType
.public GetMonsterEvoStatus
.public GetMoveBasePp
.public GetMoveType
.public GetMoveTypeForMonster
.public GetNbItemsInBag
.public GetScenarioBalance
.public GetScenarioBalanceVeneer
.public GetSpawnThreshold
.public GetStairsRoom
.public GetStairsSpawnPosition
.public GetTile
.public GetTileAtEntity
.public GetTileSafe
.public GetTreatmentBetweenMonsters
.public GetTypeMatchupBothTypes
.public HasHeldItem
.public HasMaxGinsengBoost99
.public IqSkillIsEnabled
.public IsCurrentFixedRoomBossFight
.public IsFullFloorFixedRoom
.public IsMonsterIdInNormalRange
.public IsMonsterSleeping
.public IsMonster__022F9720
.public IsOneHitKoMove
.public IsSecretBazaarNpcBehavior
.public ItemZInit
.public LogMessageByIdWithPopup
.public LogMessageByIdWithPopupCheckUser
.public LogMessageByIdWithPopupCheckUserTarget
.public PointCameraToMonster
.public RandInt
.public RemoveEquivItem
.public RestoreAllMovePP
.public SECONDARY_TERRAIN_TYPES
.public SetActionPassTurnOrWalk
.public ShouldDisplayEntityWrapper
.public ShouldTryEatItem
.public ShowPpRestoreEffect
.public SubFixedPoint
.public SubstitutePlaceholderStringTags
.public TryIncreaseHp
.public TryInflictBurnStatus
.public TryInflictPausedStatus
.public UpdateCamera
.public UpdateMapSurveyorFlag
.public UpdateMinimap
.public UpdateStatusIconFlags
.public _020A1870
.public ov29_022E0A04
.public ov29_022E4160
.public ov29_022E576C
.public ov29_022E68BC
.public ov29_022E68D8
.public ov29_022E6928
.public ov29_022E8104
.public ov29_022E81F8
.public ov29_022EA370
.public ov29_022EF938
.public ov29_022F87C0
.public ov29_0230040C
.public ov29_023018AC
.public ov29_023021F0
.public ov29_02304A48
.public ov29_02307CE0
.public ov29_02307DD0
.public ov29_0230F9A4
.public ov29_02344B44
.public ov29_02348100
.public ov29_0234B034
.public ov29_0234B084
.public ov29_0234B09C
.public ov29_0235171E
.public sub_0201405C
.public sub_02017C50
.public sub_0204AEF0
.public sub_02050FF8
.public sub_02052E2C
.public sub_02056228

View File

@@ -1,18 +1,12 @@
#pragma once
.public AbilityIsActive
.public CanSeeInvisibleMonsters
.public EXCL_ITEM_EFFECTS_WEATHER_NO_STATUS
.public ExclusiveItemEffectIsActive__022FFF28
.public GetApparentWeather
.public GetExclusiveItemWithEffectFromBag
.public IsExperienceLocked
.public IsMonster__02301A60
.public LogMessageByIdWithPopupCheckUserTarget
.public MistIsActive
.public ShouldMonsterRunAway
.public SubstitutePlaceholderStringTags
.public UpdateStateFlags
.public ov29_022E62A8
.public ov29_02314DC4
.public ov29_02324BE8
.public ov29_02344B44
.public ov29_023527A0

View File

@@ -0,0 +1,13 @@
#pragma once
.public DefenderAbilityIsActive__02301A0C
.public EXCL_ITEM_EFFECTS_WEATHER_NO_STATUS
.public ExclusiveItemEffectIsActive__022FFF28
.public GetApparentWeather
.public GetExclusiveItemWithEffectFromBag
.public IsMonster__02301A60
.public LogMessageByIdWithPopupCheckUserTarget
.public MistIsActive
.public SubstitutePlaceholderStringTags
.public ov29_02314DC4
.public ov29_02324BE8
.public ov29_02344B44

View File

@@ -1,171 +1,82 @@
#pragma once
.public _s32_div_f
.public AbilityIsActiveVeneer
.public abs
.public ActivateMotorDrive
.public AddExpSpecial
.public AddFixedPoint64
.public AdvanceFrame
.public AFTERMATH_CHANCE
.public AIR_BLADE_DAMAGE_MULTIPLIER
.public AllocateTemp1024ByteBufferFromPool
.public ApplyDamageAndEffects
.public AURA_BOW_STAT_BOOST
.public AuraBowIsActive
.public AftermathCheck
.public BAG_ITEMS_PTR_MIRROR
.public BURN_DAMAGE_MULTIPLIER
.public CanEnemyEvolve
.public CanSeeTarget
.public CeilFixedPoint
.public ChangeDungeonMusic
.public ChangeMonsterAnimation
.public ClampedLn
.public CLOUDY_DAMAGE_MULTIPLIER
.public DAMAGE_FORMULA_AT_PREFACTOR
.public DAMAGE_FORMULA_CONSTANT_SHIFT
.public DAMAGE_FORMULA_DEF_PREFACTOR
.public DAMAGE_FORMULA_FLV_DEFICIT_DIVISOR
.public DAMAGE_FORMULA_FLV_SHIFT
.public DAMAGE_FORMULA_LN_ARG_PREFACTOR
.public DAMAGE_FORMULA_LN_PREFACTOR
.public DAMAGE_FORMULA_MAX_BASE
.public DAMAGE_FORMULA_MIN_BASE
.public DAMAGE_FORMULA_NON_TEAM_MEMBER_MODIFIER
.public DAMAGE_MULTIPLIER_0_5
.public DAMAGE_MULTIPLIER_1_5
.public DAMAGE_MULTIPLIER_2
.public DAMAGE_STRING_IDS
.public Debug_Print0
.public DebugRecruitingEnabled
.public DEF_SCARF_STAT_BOOST
.public DEFENSIVE_STAT_STAGE_MULTIPLIERS
.public DisplayAnimatedNumbers
.public DivideFixedPoint64
.public DUNGEON_PTR
.public DungeonRandInt
.public DisplayAnimatedNumbers
.public DungeonRandOutcome__022EAB20
.public EnableAllLearnableIqSkills
.public EndCurseClassStatus
.public EndInvisibleClassStatus
.public EnsureCanStandCurrentTile
.public EntityIsValid__02308FBC
.public EntityIsValid__0230E8F0
.public ExclusiveItemDefenseBoost
.public ExclusiveItemEffectFlagTest
.public ExclusiveItemEffectIsActiveWithLogging
.public ExclusiveItemOffenseBoost
.public FixedPoint32To64
.public FixedPoint64CmpLt
.public FixedPoint64IsZero
.public FixedPoint64ToInt
.public FixedRoomIsSubstituteRoom
.public FlashFireShouldActivate
.public ExclusiveItemEffectIsActive__0230A9B8
.public FreeOtherWrappedMonsters
.public GendersEqualNotGenderless
.public GendersNotEqualNotGenderless
.public GenerateStandardItem
.public GetActiveTeamMember
.public GetApparentWeather
.public GetDirectionTowardsPosition
.public GetEquivItemIndex
.public GetExp
.public GetFirstEmptyMemberIdx
.public GetIdleAnimationId
.public GetItemAtIdx
.public GetKecleonIdToSpawnByFloor
.public GetMonsterGenderVeneer
.public GetMonsterIdToSpawn
.public GetMonsterLevelToSpawn
.public GetMoveCategory
.public GetNameString
.public GetRandomMovementChance
.public GetRecruitRate1
.public GetRecruitRate2
.public GetTile
.public GetTileAtEntity
.public GravityIsActive
.public HandleFaint
.public HasHeldItem
.public HasPlayedOldGame
.public InitTeamMember
.public IntToFixedPoint64
.public IqSkillIsEnabled
.public IsBlinded
.public IsCurrentMissionType
.public IsCurrentMissionTypeExact
.public IsExperienceLocked
.public IsFloating
.public IsFullFloorFixedRoom
.public IsLegendaryChallengeFloor
.public IsMonsterIdInNormalRangeVeneer
.public IsMonsterOnTeam
.public IsPunchMove
.public IsRecoilMove
.public IsRecruitingAllowed
.public IsRegularAttackOrProjectile
.public IsMonster__0230A994
.public IsSecretBazaarNpcBehavior
.public IsSpecialStoryAlly
.public ItemIsActive__0230A9DC
.public ItemZInit
.public JoinedAtRangeCheck2Veneer
.public LevitateIsActive
.public LogMessageByIdWithPopup
.public LogMessageByIdWithPopupCheckParticipants
.public LogMessageByIdWithPopupCheckUser
.public LogMessageByIdWithPopupCheckUserTarget
.public MATCHUP_IMMUNE_MULTIPLIER
.public MATCHUP_IMMUNE_MULTIPLIER_ERRATIC_PLAYER
.public MATCHUP_NEUTRAL_MULTIPLIER
.public MATCHUP_NEUTRAL_MULTIPLIER_ERRATIC_PLAYER
.public MATCHUP_NOT_VERY_EFFECTIVE_MULTIPLIER
.public MATCHUP_NOT_VERY_EFFECTIVE_MULTIPLIER_ERRATIC_PLAYER
.public MATCHUP_SUPER_EFFECTIVE_MULTIPLIER
.public MATCHUP_SUPER_EFFECTIVE_MULTIPLIER_ERRATIC_PLAYER
.public ME_FIRST_MULTIPLIER
.public MemZero
.public MewSpawnCheck
.public MonsterHasNegativeStatus
.public MonsterIsType
.public MoveIsNotPhysical
.public MoveMonsterToPos
.public MultiplyByFixedPoint
.public MultiplyFixedPoint64
.public MUNCH_BELT_STAT_BOOST
.public MusicTableIdxToMusicId
.public NearbyAllyIqSkillIsEnabled
.public OFFENSIVE_STAT_STAGE_MULTIPLIERS
.public OtherMonsterAbilityIsActive
.public PlayEffectAnimationEntity
.public RecruitCheck
.public RemoveHolderForItemInBag
.public RestorePpAllMovesSetFlags
.public RestoreRandomMovePP
.public SET_DAMAGE_STATUS_DAMAGE
.public SetMonsterFlag2
.public SetPokemonBattled
.public ShouldDisplayEntityWrapper
.public SpawnDroppedItemWrapper
.public SubInitMonster
.public SubstitutePlaceholderStringTags
.public TYPE_DAMAGE_NEGATING_EXCLUSIVE_ITEM_EFFECTS
.public TryIncreaseHp
.public TryRecruit
.public TrySpawnEnemyItemDrop
.public UpdateAiTargetPos
.public UpdateEntityPixelPos
.public UpdateShopkeeperModeAfterAttack
.public UpdateStatusIconFlags
.public UpdateTrapsVisibility
.public abs
.public ov10_022BDC68
.public ov10_022BDE50
.public ov10_022BF964
.public ov10_022C4410
.public ov10_022C441C
.public ov10_022C443C
.public ov10_022C447C
.public ov10_022C44FC
.public ov10_022C45B4
.public ov10_022C45C4
.public ov10_022C45FC
.public ov10_022C46FC
.public ov10_022C4700
.public ov10_022C4704
.public ov10_022C4708
.public ov10_022C470C
.public ov10_022C4834
.public ov10_022C593C
.public ov29_022E1B28
.public ov29_022E2470
.public ov29_022E5478
.public ov29_022E550C
.public ov29_022E576C
.public ov29_022E57A0
.public ov29_022E62F0
.public ov29_022E66D8
.public ov29_022E68BC
.public ov29_022E8104
.public ov29_022E81F8
.public ov29_022E9628
.public ov29_022EA370
.public ov29_022EACAC
.public ov29_022EAF20
.public ov29_022EAF34
.public ov29_022ECD84
@@ -179,43 +90,24 @@
.public ov29_022F9058
.public ov29_022F9AF4
.public ov29_022FB98C
.public ov29_022FBC94
.public ov29_022FBD24
.public ov29_022FBDE0
.public ov29_022FD318
.public ov29_0230040C
.public ov29_02303E0C
.public ov29_02304830
.public ov29_02304A48
.public ov29_02305F60
.public ov29_02307BDC
.public ov29_02307C48
.public ov29_02307DC0
.public ov29_0230D628
.public ov29_0230D688
.public ov29_0230D7D4
.public ov29_023159D4
.public ov29_02337EC0
.public ov29_0233847C
.public ov29_02344B9C
.public ov29_0234969C
.public ov29_0234B034
.public ov29_0234B084
.public ov29_0234B09C
.public ov29_0234B0B4
.public ov29_0234B1A4
.public ov29_0234BA54
.public ov29_0234BB50
.public ov29_0234D630
.public ov29_0234D6C8
.public ov29_0234D7C0
.public ov29_0234D838
.public ov29_0234D8A0
.public ov29_0234EE10
.public ov29_0234F008
.public ov29_02352838
.public ov29_02352884
.public ov29_02352894
.public ov29_02352984
.public ov29_02352990
.public ov29_0235299C
.public ov29_02353218
.public ov29_0235321C
.public ov29_02353220
@@ -226,68 +118,4 @@
.public ov29_02353234
.public ov29_023535D4
.public ov29_0237CA6C
.public PlayEffectAnimation0x171
.public PlayEffectAnimation0x171Full
.public PlayEffectAnimation0x18E
.public PlayEffectAnimation0x1A9__022E6130
.public PlayEffectAnimation0x1A9__022E617C
.public PlayEffectAnimation0x1A9__022E61C8
.public PlayEffectAnimation0x1A9__022E6214
.public PlayEffectAnimation0x1A9__022E64C4
.public PlayEffectAnimation0x1A9__022E6510
.public PlayEffectAnimationEntity
.public PointCameraToMonster
.public POWER_BAND_STAT_BOOST
.public POWER_PITCHER_DAMAGE_MULTIPLIER
.public PreprocessString
.public RECRUITMENT_LEVEL_BOOST_TABLE
.public RemoveHolderForItemInBag
.public ResetDamageData
.public RestorePpAllMovesSetFlags
.public RestoreRandomMovePP
.public RoundUpDiv256
.public SCOPE_LENS_CRIT_RATE_BOOST
.public SET_DAMAGE_STATUS_DAMAGE
.public SetItemAcquired
.public SetMonsterFlag2
.public SetPokemonBattled
.public SetPokemonJoined
.public ShouldDisplayEntityWrapper
.public SOLID_ROCK_MULTIPLIER
.public SPAWN_CAP_NO_MONSTER_HOUSE
.public SPAWN_CAP_WITH_MONSTER_HOUSE
.public SPAWN_COOLDOWN
.public SPAWN_COOLDOWN_THIEF_ALERT
.public SpawnDroppedItemWrapper
.public SpawnMonster
.public SPECIAL_BAND_STAT_BOOST
.public StrcpySimple
.public StringFromId
.public StrncpyName
.public StrncpySimpleNoPad
.public sub_0204AF00
.public sub_020534BC
.public sub_02055CCC
.public sub_02055D7C
.public sub_02056698
.public sub_02056830
.public sub_020584FC
.public sub_020585B4
.public SubInitMonster
.public SubstitutePlaceholderStringTags
.public SUPER_LUCK_CRIT_RATE_BOOST
.public TECHNICIAN_MOVE_POWER_THRESHOLD
.public TINTED_LENS_MULTIPLIER
.public TryAftermathExplosion
.public TryIncreaseHp
.public TrySpawnEnemyItemDrop
.public TYPE_ADVANTAGE_MASTER_CRIT_RATE
.public TYPE_DAMAGE_NEGATING_EXCLUSIVE_ITEM_EFFECTS
.public TYPE_MATCHUP_COMBINATOR_TABLE
.public TYPE_MATCHUP_TABLE
.public UpdateAiTargetPos
.public UpdateEntityPixelPos
.public UpdateStateFlags
.public UpdateStatusIconFlags
.public UpdateTrapsVisibility
.public ZINC_BAND_STAT_BOOST

View File

@@ -0,0 +1,210 @@
#pragma once
.public AFTERMATH_CHANCE
.public AIR_BLADE_DAMAGE_MULTIPLIER
.public AURA_BOW_STAT_BOOST
.public AbilityIsActiveVeneer
.public AddFixedPoint64
.public AdvanceFrame
.public AllocateTemp1024ByteBufferFromPool
.public ApplyDamageAndEffects
.public AuraBowIsActive
.public BURN_DAMAGE_MULTIPLIER
.public CLOUDY_DAMAGE_MULTIPLIER
.public CanSeeTarget
.public CeilFixedPoint
.public ClampedLn
.public DAMAGE_FORMULA_AT_PREFACTOR
.public DAMAGE_FORMULA_CONSTANT_SHIFT
.public DAMAGE_FORMULA_DEF_PREFACTOR
.public DAMAGE_FORMULA_FLV_DEFICIT_DIVISOR
.public DAMAGE_FORMULA_FLV_SHIFT
.public DAMAGE_FORMULA_LN_ARG_PREFACTOR
.public DAMAGE_FORMULA_LN_PREFACTOR
.public DAMAGE_FORMULA_MAX_BASE
.public DAMAGE_FORMULA_MIN_BASE
.public DAMAGE_FORMULA_NON_TEAM_MEMBER_MODIFIER
.public DAMAGE_MULTIPLIER_0_5
.public DAMAGE_MULTIPLIER_1_5
.public DAMAGE_MULTIPLIER_2
.public DEFENSIVE_STAT_STAGE_MULTIPLIERS
.public DEF_SCARF_STAT_BOOST
.public DUNGEON_PTR
.public DebugRecruitingEnabled
.public Debug_Print0
.public DefenderAbilityIsActive__0230A940
.public DivideFixedPoint64
.public DungeonRandInt
.public DungeonRandOutcome__022EAB20
.public EnableAllLearnableIqSkills
.public EnsureCanStandCurrentTile
.public EntityIsValid__02308FBC
.public EntityIsValid__0230E8F0
.public ExclusiveItemDefenseBoost
.public ExclusiveItemEffectFlagTest
.public ExclusiveItemEffectIsActiveWithLogging
.public ExclusiveItemOffenseBoost
.public FixedPoint32To64
.public FixedPoint64CmpLt
.public FixedPoint64IsZero
.public FixedPoint64ToInt
.public FixedRoomIsSubstituteRoom
.public FlashFireShouldActivate
.public GendersEqualNotGenderless
.public GendersNotEqualNotGenderless
.public GenerateStandardItem
.public GetActiveTeamMember
.public GetApparentWeather
.public GetDirectionTowardsPosition
.public GetEquivItemIndex
.public GetFirstEmptyMemberIdx
.public GetItemAtIdx
.public GetKecleonIdToSpawnByFloor
.public GetMonsterGenderVeneer
.public GetMonsterIdToSpawn
.public GetMonsterLevelToSpawn
.public GetMoveCategory
.public GetNameString
.public GetRandomMovementChance
.public GetRecruitRate1
.public GetRecruitRate2
.public GetTile
.public GravityIsActive
.public HandleFaint
.public HasHeldItem
.public HasPlayedOldGame
.public InitTeamMember
.public IntToFixedPoint64
.public IqSkillIsEnabled
.public IsCurrentMissionTypeExact
.public IsFloating
.public IsFullFloorFixedRoom
.public IsLegendaryChallengeFloor
.public IsMonsterOnTeam
.public IsMonster__0230A994
.public IsPunchMove
.public IsRecoilMove
.public IsRecruitingAllowed
.public IsRegularAttackOrProjectile
.public LevitateIsActive
.public LogMessageByIdWithPopup
.public LogMessageByIdWithPopupCheckParticipants
.public LogMessageByIdWithPopupCheckUser
.public LogMessageByIdWithPopupCheckUserTarget
.public MATCHUP_IMMUNE_MULTIPLIER
.public MATCHUP_IMMUNE_MULTIPLIER_ERRATIC_PLAYER
.public MATCHUP_NEUTRAL_MULTIPLIER
.public MATCHUP_NEUTRAL_MULTIPLIER_ERRATIC_PLAYER
.public MATCHUP_NOT_VERY_EFFECTIVE_MULTIPLIER
.public MATCHUP_NOT_VERY_EFFECTIVE_MULTIPLIER_ERRATIC_PLAYER
.public MATCHUP_SUPER_EFFECTIVE_MULTIPLIER
.public MATCHUP_SUPER_EFFECTIVE_MULTIPLIER_ERRATIC_PLAYER
.public ME_FIRST_MULTIPLIER
.public MUNCH_BELT_STAT_BOOST
.public MemZero
.public MewSpawnCheck
.public MonsterHasNegativeStatus
.public MonsterIsType
.public MoveIsNotPhysical
.public MultiplyByFixedPoint
.public MultiplyFixedPoint64
.public NearbyAllyIqSkillIsEnabled
.public OFFENSIVE_STAT_STAGE_MULTIPLIERS
.public OtherMonsterAbilityIsActive
.public POWER_BAND_STAT_BOOST
.public POWER_PITCHER_DAMAGE_MULTIPLIER
.public PlayEffectAnimation0x171
.public PlayEffectAnimation0x171Full
.public PlayEffectAnimation0x18E
.public PlayEffectAnimation0x1A9__022E6130
.public PlayEffectAnimation0x1A9__022E617C
.public PlayEffectAnimation0x1A9__022E61C8
.public PlayEffectAnimation0x1A9__022E6214
.public PlayEffectAnimation0x1A9__022E64C4
.public PlayEffectAnimation0x1A9__022E6510
.public PlayEffectAnimationEntity
.public PointCameraToMonster
.public PreprocessString
.public RECRUITMENT_LEVEL_BOOST_TABLE
.public ResetDamageData
.public RoundUpDiv256
.public SCOPE_LENS_CRIT_RATE_BOOST
.public SOLID_ROCK_MULTIPLIER
.public SPAWN_CAP_NO_MONSTER_HOUSE
.public SPAWN_CAP_WITH_MONSTER_HOUSE
.public SPAWN_COOLDOWN
.public SPAWN_COOLDOWN_THIEF_ALERT
.public SPECIAL_BAND_STAT_BOOST
.public SUPER_LUCK_CRIT_RATE_BOOST
.public SetItemAcquired
.public SetPokemonJoined
.public SpawnMonster
.public StrcpySimple
.public StringFromId
.public StrncpyName
.public StrncpySimpleNoPad
.public SubstitutePlaceholderStringTags
.public TECHNICIAN_MOVE_POWER_THRESHOLD
.public TINTED_LENS_MULTIPLIER
.public TYPE_ADVANTAGE_MASTER_CRIT_RATE
.public TYPE_MATCHUP_COMBINATOR_TABLE
.public TYPE_MATCHUP_TABLE
.public TryAftermathExplosion
.public UpdateStateFlags
.public ZINC_BAND_STAT_BOOST
.public _s32_div_f
.public abs
.public ov10_022BDE50
.public ov10_022BF964
.public ov10_022C4410
.public ov10_022C441C
.public ov10_022C443C
.public ov10_022C447C
.public ov10_022C44FC
.public ov10_022C45B4
.public ov10_022C46FC
.public ov10_022C4700
.public ov10_022C4704
.public ov10_022C4708
.public ov10_022C470C
.public ov29_022E1B28
.public ov29_022E2470
.public ov29_022E62F0
.public ov29_022E68BC
.public ov29_022E8104
.public ov29_022E81F8
.public ov29_022E9628
.public ov29_022EACAC
.public ov29_022FBC94
.public ov29_022FBDE0
.public ov29_022FD318
.public ov29_0230040C
.public ov29_02304A48
.public ov29_02305F60
.public ov29_02337EC0
.public ov29_0234B034
.public ov29_0234B084
.public ov29_0234B0B4
.public ov29_0234B1A4
.public ov29_0234BA54
.public ov29_0234BB50
.public ov29_0234D630
.public ov29_0234D6C8
.public ov29_0234D7C0
.public ov29_0234D838
.public ov29_0234D8A0
.public ov29_0234EE10
.public ov29_0234F008
.public ov29_02352838
.public ov29_02352884
.public ov29_02352894
.public ov29_02352984
.public ov29_02352990
.public ov29_0235299C
.public ov29_023535D4
.public sub_020534BC
.public sub_02055CCC
.public sub_02055D7C
.public sub_02056698
.public sub_02056830
.public sub_020584FC
.public sub_020585B4

View File

@@ -1,38 +1,15 @@
#pragma once
.public AbilityIsActiveVeneer
.public abs
.public AddMoneyCarried
.public AI_THROWN_ITEM_ACTION_CHOICE_COUNT
.public ApplyDamageAndEffectsWrapper
.public BAD_POISON_DAMAGE_COOLDOWN
.public BAD_POISON_DAMAGE_TABLE
.public AbilityIsActiveVeneer
.public AddMoneyCarried
.public BAG_ITEMS_PTR_MIRROR
.public BinToDecFixedPoint
.public BoostSpeedOneStage
.public BURN_DAMAGE
.public BURN_DAMAGE_COOLDOWN
.public CanSeeTarget
.public CeilFixedPoint
.public CheckVariousStatuses
.public CheckVariousStatuses2
.public DIRECTIONS_XY
.public DisplayActions
.public DUNGEON_PTR
.public DungeonRandInt
.public DungeonRandOutcome__022EAB20
.public EndBurnClassStatus
.public EndMagnetRiseStatus
.public EndNegativeStatusCondition
.public EndNegativeStatusConditionWrapper
.public EnsureCanStandCurrentTile
.public EntityIsValid__0230F008
.public EntityIsValid__02311010
.public ExclusiveItemEffectFlagTest
.public ExclusiveItemEffectIsActive__02311064
.public ExclusiveItemEffectIsActiveWithLogging
.public GenerateStandardItem
.public GetAiUseItemProbability
.public GetApparentWeather
.public GetCurrentBagCapacity
.public GetExclusiveItemForMonsterFromBag
.public GetItemCategoryVeneer
@@ -40,83 +17,26 @@
.public GetTile
.public GetTileAtEntity
.public GetTreatmentBetweenMonsters
.public GravityIsActive
.public HasHeldItem
.public InitMove
.public IqSkillIsEnabled
.public IsAuraBow
.public IsExperienceLocked
.public IsFloating
.public IsFloorOver
.public ItemIsActive__02311034
.public LEECH_SEED_DAMAGE_COOLDOWN
.public LEECH_SEED_HP_DRAIN
.public IsMonster__0230F980
.public LogMessageByIdWithPopup
.public LogMessageByIdWithPopupCheckUser
.public MonsterHasNegativeStatus
.public MonsterIsType
.public MultiplyFixedPoint64
.public ov10_022C4454
.public ov10_022C446C
.public ov10_022C44BC
.public ov10_022C4590
.public ov10_022C45D0
.public ov10_022C45E8
.public ov10_022C45F0
.public ov10_022C464C
.public ov10_022C4650
.public ov10_022C4664
.public ov10_022C46A0
.public ov10_022C46EC
.public ov10_022C4A5C
.public ov10_022C4BBC
.public ov10_022C4BE4
.public ov10_022C4FC4
.public ov29_022E34A8_EU
.public ov29_022E42E8
.public ov29_022E53F0
.public ov29_022E543C
.public ov29_022EA370
.public RemoveGroundItem
.public ShouldMonsterRunAwayVariation
.public SubstitutePlaceholderStringTags
.public UseThrowableItem
.public abs
.public ov29_022EACCC
.public ov29_022EC62C
.public ov29_022F2FE4
.public ov29_022F42F8
.public ov29_022F52BC
.public ov29_022F9EA0
.public ov29_022FB718
.public ov29_02300DCC
.public ov29_02307BDC
.public ov29_02322374
.public ov29_02337E2C
.public ov29_02344B44
.public ov29_02344B9C
.public ov29_02345004
.public ov29_023460DC
.public ov29_02347040
.public ov29_02347184
.public ov29_02348D00
.public ov29_02348D3C
.public ov29_02348DD8
.public ov29_02348ECC
.public ov29_0234908C
.public ov29_0234B084
.public ov29_0234B294
.public ov29_023529A8
.public POISON_DAMAGE
.public POISON_DAMAGE_COOLDOWN
.public RemoveGroundItem
.public ShouldMonsterRunAwayVariation
.public SpawnDroppedItemWrapper
.public SPEED_BOOST_TURNS
.public sub_0200D8AC
.public sub_02050FF8
.public SubFixedPoint
.public SubstitutePlaceholderStringTags
.public TickStatusTurnCounter
.public TreasureBoxDropsEnabled
.public TryActivateBadDreams
.public TryGenerateUnownStoneDrop
.public TryIncreaseHp
.public TryWarp
.public TryWeatherFormChange
.public UseThrowableItem

View File

@@ -0,0 +1,93 @@
#pragma once
.public AbilityIsActiveVeneer
.public ApplyDamageAndEffectsWrapper
.public BAD_POISON_DAMAGE_COOLDOWN
.public BAD_POISON_DAMAGE_TABLE
.public BURN_DAMAGE
.public BURN_DAMAGE_COOLDOWN
.public BinToDecFixedPoint
.public BoostSpeedOneStage
.public CeilFixedPoint
.public CheckVariousStatuses
.public CheckVariousStatuses2
.public DUNGEON_PTR
.public DisplayActions
.public DungeonRandInt
.public DungeonRandOutcome__022EAB20
.public EndBurnClassStatus
.public EndMagnetRiseStatus
.public EndNegativeStatusCondition
.public EndNegativeStatusConditionWrapper
.public EnsureCanStandCurrentTile
.public EntityIsValid__02311010
.public ExclusiveItemEffectIsActiveWithLogging
.public ExclusiveItemEffectIsActive__0230F8AC
.public ExclusiveItemEffectIsActive__02311064
.public GenerateStandardItem
.public GetApparentWeather
.public GetTileAtEntity
.public GravityIsActive
.public HasHeldItem
.public InitMove
.public IqSkillIsEnabled
.public IsFloating
.public IsFloorOver
.public IsMonster__0230F980
.public ItemIsActive__02311034
.public LEECH_SEED_DAMAGE_COOLDOWN
.public LEECH_SEED_HP_DRAIN
.public LogMessageByIdWithPopupCheckUser
.public MonsterHasNegativeStatus
.public MonsterIsType
.public MultiplyFixedPoint64
.public POISON_DAMAGE
.public POISON_DAMAGE_COOLDOWN
.public SPEED_BOOST_TURNS
.public SpawnDroppedItemWrapper
.public SubFixedPoint
.public SubstitutePlaceholderStringTags
.public TickStatusTurnCounter
.public TreasureBoxDropsEnabled
.public TryActivateBadDreams
.public TryGenerateUnownStoneDrop
.public TryIncreaseHp
.public TryWarp
.public TryWeatherFormChange
.public ov10_022C4454
.public ov10_022C446C
.public ov10_022C44BC
.public ov10_022C4590
.public ov10_022C45D0
.public ov10_022C45E8
.public ov10_022C45F0
.public ov10_022C464C
.public ov10_022C4650
.public ov10_022C4664
.public ov10_022C46A0
.public ov10_022C46EC
.public ov10_022C4A5C
.public ov10_022C4BBC
.public ov10_022C4BE4
.public ov10_022C4FC4
.public ov29_022E34A8_EU
.public ov29_022E42E8
.public ov29_022E53F0
.public ov29_022E543C
.public ov29_022EA370
.public ov29_022EACCC
.public ov29_022EC62C
.public ov29_022F2FE4
.public ov29_022F42F8
.public ov29_022FB718
.public ov29_02300DCC
.public ov29_02307BDC
.public ov29_02322374
.public ov29_02337E2C
.public ov29_02344B9C
.public ov29_023460DC
.public ov29_02347184
.public ov29_0234908C
.public ov29_0234B084
.public ov29_0234B294
.public ov29_023529A8
.public sub_02050FF8

View File

@@ -1,23 +1,21 @@
#pragma once
.public _s32_div_f
.public ATK_STAT_IDX
.public AbilityIsActiveVeneer
.public AdvanceFrame
.public AiMovement
.public AnimationDelayOrSomething
.public ATK_STAT_IDX
.public BoostDefensiveStat
.public BoostOffensiveStat
.public CalcStatusDuration
.public CeilFixedPoint
.public DUNGEON_PTR
.public DetermineMonsterShadow
.public DisplayAnimatedNumbers
.public DUNGEON_PTR
.public DungeonGetSpriteIndex
.public DungeonRandInt
.public EndCurseClassStatus
.public EndInvisibleClassStatus
.public EntityIsValid__02315118
.public EntityIsValid__02318D34
.public ExclusiveItemEffectIsActiveWithLogging
.public GetFloorType
.public GetIdleAnimationId
@@ -32,21 +30,33 @@
.public HasTypeAffectedByGravity
.public HiddenStairsTrigger
.public IqSkillIsEnabled
.public IsMonster__02318AB0
.public IsProtectedFromNegativeStatus
.public LogMessageByIdWithPopupCheckUser
.public LogMessageByIdWithPopupCheckUserTarget
.public LogMessageWithPopupCheckUserTarget
.public LowerSpeed
.public MewSpawnCheck
.public MonsterIsType
.public MonsterSpawnListPartialCopy
.public MultiplyByFixedPoint
.public PERISH_SONG_TURN_RANGE
.public SafeguardIsActive
.public ShouldDisplayEntityWrapper
.public ShowPpRestoreEffect
.public SubFixedPoint
.public SubstitutePlaceholderStringTags
.public TryActivateQuickFeet
.public TryActivateSteadfast
.public TryRemoveSnatchedMonsterFromDungeonStruct
.public UpdateCamera
.public UpdateMinimap
.public UpdateStatusIconFlags
.public UpdateTrapsVisibility
.public _s32_div_f
.public ov10_022C4470
.public ov10_022C44B0
.public ov10_022C4620
.public ov10_022C4628
.public ov10_022C4754
.public ov10_022C475C
.public ov10_022C4764
.public ov10_022C4768
.public ov10_022C476C
@@ -73,7 +83,6 @@
.public ov10_022C4848
.public ov10_022C486C
.public ov10_022C487C
.public ov29_022E41B0
.public ov29_022E41DC
.public ov29_022E442C
.public ov29_022E4430
@@ -118,10 +127,6 @@
.public ov29_02304830
.public ov29_0234B09C
.public ov29_0234B0B4
.public PERISH_SONG_TURN_RANGE
.public SafeguardIsActive
.public ShouldDisplayEntityWrapper
.public ShowPpRestoreEffect
.public strcpy
.public sub_01FFB62C
.public sub_02001888
@@ -129,12 +134,3 @@
.public sub_02050EBC
.public sub_02050F78
.public sub_02050FF8
.public SubFixedPoint
.public SubstitutePlaceholderStringTags
.public TryActivateQuickFeet
.public TryActivateSteadfast
.public TryRemoveSnatchedMonsterFromDungeonStruct
.public UpdateCamera
.public UpdateMinimap
.public UpdateStatusIconFlags
.public UpdateTrapsVisibility

View File

@@ -0,0 +1,12 @@
#pragma once
.public AdvanceFrame
.public CalcStatusDuration
.public EntityIsValid__02318D34
.public IsMonster__02318AB0
.public LogMessageByIdWithPopupCheckUserTarget
.public LogMessageWithPopupCheckUserTarget
.public SubstitutePlaceholderStringTags
.public UpdateStatusIconFlags
.public ov10_022C4754
.public ov10_022C475C
.public ov29_022E41B0

View File

@@ -1,69 +1,42 @@
#pragma once
.public _s32_div_f
.public AbilityIsActiveVeneer
.public abs
.public AiConsiderMove
.public AreMovesEnabled
.public AreOrbsAllowed
.public BoostSpeedOneStage
.public CanAttackInDirection
.public DIRECTIONS_XY
.public DUNGEON_PTR
.public DungeonRandInt
.public DungeonRandOutcome__022EAB20
.public EnemyEvolution
.public EntityIsValid__02319F8C
.public EntityIsValid__0231B194
.public ExclusiveItemEffectFlagTest
.public GetApparentWeather
.public GetDirectionTowardsPosition
.public GetItemMoveId16
.public GetItemToUse
.public GetMoveAccuracyOrAiChance
.public GetMoveTargetAndRange
.public GetMoveTypeForMonster
.public GetNumberOfAttacks
.public GetTile
.public GetTreasureBoxChances
.public GetTreatmentBetweenMonsters
.public HasHeldItem
.public InitMove
.public IqSkillIsEnabled
.public IsBlinded
.public IsFloorOver
.public IsMonsterSleeping
.public IsMoveRangeString19
.public LogMessageByIdWithPopupCheckParticipants
.public IsMonster__0231A9D4
.public LogMessageByIdWithPopupCheckUser
.public LogMessageByIdWithPopupCheckUserTarget
.public MonsterHasNegativeStatus
.public MonsterIsType
.public NATURAL_GIFT_ITEM_TABLE
.public SubstitutePlaceholderStringTags
.public TryActivateTruant
.public UpdateMovePp
.public _s32_div_f
.public abs
.public ov10_022C459C
.public ov29_022E3ED0
.public ov29_022E4110
.public ov29_022EB4E8
.public ov29_022FA574
.public ov29_022FB9E0
.public ov29_022FBAB4
.public ov29_023007DC
.public ov29_0230B7D4
.public ov29_0230F8D0
.public ov29_02321274
.public ov29_0232145C
.public ov29_02322374
.public ov29_0232E80C
.public ov29_02333FD0
.public ov29_02344B44
.public ov29_0235171E
.public ov29_0237CA18
.public ov29_0237CA20
.public ov29_0237CA28
.public ov29_0237CA48
.public RemoveUsedItem
.public SetActionUseMoveAi
.public SubstitutePlaceholderStringTags
.public TryActivateTruant
.public UpdateAiTargetPos
.public UpdateMovePp
.public WEATHER_BALL_TYPE_TABLE

View File

@@ -0,0 +1,39 @@
#pragma once
.public AiConsiderMove
.public AreOrbsAllowed
.public BoostSpeedOneStage
.public DUNGEON_PTR
.public DungeonRandInt
.public EnemyEvolution
.public EntityIsValid__02319F8C
.public EntityIsValid__0231B194
.public ExclusiveItemEffectIsActive__0231A87C
.public GetApparentWeather
.public GetItemMoveId16
.public GetItemToUse
.public GetMoveTargetAndRange
.public GetTreasureBoxChances
.public InitMove
.public IsFloorOver
.public IsMonster__0231A9D4
.public IsMoveRangeString19
.public LogMessageByIdWithPopupCheckParticipants
.public LogMessageByIdWithPopupCheckUser
.public LogMessageByIdWithPopupCheckUserTarget
.public MonsterIsType
.public NATURAL_GIFT_ITEM_TABLE
.public RemoveUsedItem
.public SetActionUseMoveAi
.public SubstitutePlaceholderStringTags
.public TryActivateTruant
.public UpdateAiTargetPos
.public WEATHER_BALL_TYPE_TABLE
.public ov29_022E4110
.public ov29_022EB4E8
.public ov29_022FB9E0
.public ov29_022FBAB4
.public ov29_02321274
.public ov29_0232145C
.public ov29_02322374
.public ov29_0232E80C
.public ov29_02344B44

View File

@@ -1,124 +1,10 @@
#pragma once
.public AbilityIsActiveVeneer
.public AddHeldItemToBag
.public AnimationDelayOrSomething
.public APPLES_AND_BERRIES_ITEM_IDS
.public ApplyBlastSeedEffect
.public ApplyCalciumEffect
.public ApplyCheriBerryEffect
.public ApplyDamageAndEffectsWrapper
.public ApplyDoughSeedEffect
.public ApplyGinsengEffect
.public ApplyGonePebbleEffect
.public ApplyGracideaEffect
.public ApplyGravelyrockEffect
.public ApplyGrimyFoodEffect
.public ApplyGummiBoostsDungeonMode
.public ApplyHungerSeedEffect
.public ApplyIronEffect
.public ApplyKeyEffect
.public ApplyMixElixirEffect
.public ApplyPechaBerryEffect
.public ApplyProteinEffect
.public ApplyRawstBerryEffect
.public ApplyViaSeedEffect
.public ApplyVileSeedEffect
.public ApplyViolentSeedEffect
.public ApplyZincEffect
.public BoostIQ
.public BoostSpeedOneStage
.public CACNEA_SPIKE_POWER
.public CalcDamageFixedNoCategory
.public CALCIUM_STAT_BOOST
.public CalcStatusDuration
.public CheckVariousConditions
.public CORSOLA_TWIG_POWER
.public DealDamageProjectile
.public DetermineMonsterShadow
.public DUNGEON_PTR
.public DungeonGetSpriteIndex
.public EndNegativeStatusConditionWrapper
.public EnemyEvolution
.public EntityIsValid__0231B194
.public EntityIsValid__0231CBC8
.public ExclusiveItemEffectFlagTest
.public FemaleToMaleForm
.public GEO_PEBBLE_DAMAGE
.public GetActiveTeamMember
.public GetIdleAnimationId
.public GetItemCategoryVeneer
.public GOLD_FANG_POWER
.public GOLD_THORN_POWER
.public GRAVELEROCK_DAMAGE
.public GUMMI_STAT_BOOST
.public InitMove
.public IqSkillIsEnabled
.public IRON_STAT_BOOST
.public IRON_THORN_POWER
.public IsBagFull
.public IsMonsterSleeping
.public IsShaymin
.public IsSkyExclusiveDungeon
.public LevelUpItemEffect
.public LIFE_SEED_HP_BOOST
.public LogMessageByIdWithPopupCheckUserTarget
.public ORAN_BERRY_FULL_HP_BOOST
.public ORAN_BERRY_HP_RESTORATION
.public OREN_BERRY_DAMAGE
.public ov10_022C44EC
.public IsMonster__0231B318
.public ov10_022C4530
.public ov10_022C4558
.public ov10_022C4574
.public ov10_022C457C
.public ov10_022C4864
.public ov29_022E28D4
.public ov29_022E3590
.public ov29_022E5A00
.public ov29_022E5AE4
.public ov29_022E60E4
.public ov29_022E81F8
.public ov29_022E9FD0
.public ov29_022EA370
.public ov29_022EACCC
.public ov29_022F04F0
.public ov29_022F0518
.public ov29_022F9EA0
.public ov29_022FB920
.public ov29_022FB9BC
.public ov29_02304830
.public ov29_02307BDC
.public ov29_0230F9A4
.public ov29_02344B44
.public ov29_0234B084
.public ov29_0234BA54
.public PROTEIN_STAT_BOOST
.public RARE_FOSSIL_DAMAGE
.public RestoreAllMovePP
.public SetMonsterTypeAndAbility
.public SILVER_SPIKE_POWER
.public SITRUS_BERRY_FULL_HP_BOOST
.public SITRUS_BERRY_HP_RESTORATION
.public SLEEP_TURN_RANGE
.public SpawnDroppedItemWrapper
.public STICK_POWER
.public sub_020017EC
.public sub_0201CF80
.public SubstitutePlaceholderStringTags
.public SwapMonsterWanFileIndex
.public TryDecreaseLevel
.public TryIncreaseBelly
.public TryIncreaseHp
.public TryInflictBlinkerStatus
.public TryInflictConfusedStatus
.public TryInflictCrossEyedStatus
.public TryInflictDropeyeStatus
.public TryInflictEyedropStatus
.public TryInflictInvisibleStatus
.public TryInflictPetrifiedStatus
.public TryInflictSleeplessStatus
.public TryInflictSleepStatus
.public TryInflictSlipStatus
.public TryWarp
.public UpdateShopkeeperModeAfterAttack
.public WONDER_GUMMI_STAT_BOOST
.public ZINC_STAT_BOOST

View File

@@ -0,0 +1,117 @@
#pragma once
.public APPLES_AND_BERRIES_ITEM_IDS
.public AbilityIsActiveVeneer
.public AddHeldItemToBag
.public AnimationDelayOrSomething
.public ApplyBlastSeedEffect
.public ApplyCalciumEffect
.public ApplyCheriBerryEffect
.public ApplyDoughSeedEffect
.public ApplyGinsengEffect
.public ApplyGonePebbleEffect
.public ApplyGracideaEffect
.public ApplyGravelyrockEffect
.public ApplyGrimyFoodEffect
.public ApplyGummiBoostsDungeonMode
.public ApplyHungerSeedEffect
.public ApplyIronEffect
.public ApplyKeyEffect
.public ApplyMixElixirEffect
.public ApplyPechaBerryEffect
.public ApplyProteinEffect
.public ApplyRawstBerryEffect
.public ApplyViaSeedEffect
.public ApplyVileSeedEffect
.public ApplyViolentSeedEffect
.public ApplyZincEffect
.public BoostIQ
.public BoostSpeedOneStage
.public CACNEA_SPIKE_POWER
.public CALCIUM_STAT_BOOST
.public CORSOLA_TWIG_POWER
.public CalcDamageFixedNoCategory
.public CalcStatusDuration
.public CheckVariousConditions
.public DUNGEON_PTR
.public DealDamageProjectile
.public DetermineMonsterShadow
.public DungeonGetSpriteIndex
.public EndNegativeStatusConditionWrapper
.public EnemyEvolution
.public EntityIsValid__0231CBC8
.public ExclusiveItemEffectFlagTest
.public FemaleToMaleForm
.public GEO_PEBBLE_DAMAGE
.public GOLD_FANG_POWER
.public GOLD_THORN_POWER
.public GRAVELEROCK_DAMAGE
.public GUMMI_STAT_BOOST
.public GetActiveTeamMember
.public GetIdleAnimationId
.public GetItemCategoryVeneer
.public IRON_STAT_BOOST
.public IRON_THORN_POWER
.public InitMove
.public IqSkillIsEnabled
.public IsBagFull
.public IsShaymin
.public IsSkyExclusiveDungeon
.public LIFE_SEED_HP_BOOST
.public LevelUpItemEffect
.public LogMessageByIdWithPopupCheckUserTarget
.public ORAN_BERRY_FULL_HP_BOOST
.public ORAN_BERRY_HP_RESTORATION
.public OREN_BERRY_DAMAGE
.public PROTEIN_STAT_BOOST
.public RARE_FOSSIL_DAMAGE
.public RestoreAllMovePP
.public SILVER_SPIKE_POWER
.public SITRUS_BERRY_FULL_HP_BOOST
.public SITRUS_BERRY_HP_RESTORATION
.public SLEEP_TURN_RANGE
.public STICK_POWER
.public SetMonsterTypeAndAbility
.public SpawnDroppedItemWrapper
.public SubstitutePlaceholderStringTags
.public SwapMonsterWanFileIndex
.public TryDecreaseLevel
.public TryIncreaseBelly
.public TryIncreaseHp
.public TryInflictBlinkerStatus
.public TryInflictConfusedStatus
.public TryInflictCrossEyedStatus
.public TryInflictDropeyeStatus
.public TryInflictEyedropStatus
.public TryInflictInvisibleStatus
.public TryInflictPetrifiedStatus
.public TryInflictSleepStatus
.public TryInflictSleeplessStatus
.public TryInflictSlipStatus
.public TryWarp
.public UpdateShopkeeperModeAfterAttack
.public WONDER_GUMMI_STAT_BOOST
.public ZINC_STAT_BOOST
.public ov10_022C44EC
.public ov10_022C4558
.public ov10_022C4574
.public ov10_022C457C
.public ov10_022C4864
.public ov29_022E3590
.public ov29_022E5A00
.public ov29_022E5AE4
.public ov29_022E60E4
.public ov29_022E81F8
.public ov29_022E9FD0
.public ov29_022EA370
.public ov29_022EACCC
.public ov29_022F04F0
.public ov29_022F0518
.public ov29_022F9EA0
.public ov29_022FB920
.public ov29_022FB9BC
.public ov29_02304830
.public ov29_0230F9A4
.public ov29_02344B44
.public ov29_0234BA54
.public sub_020017EC
.public sub_0201CF80

View File

@@ -1,148 +1,45 @@
#pragma once
.public _s32_div_f
.public AbilityIsActiveVeneer
.public ActivateStench
.public AdvanceFrame
.public AnimationDelayOrSomething
.public AnimationHasMoreFrames
.public AreEntitiesAdjacent
.public AreLateGameTrapsEnabledWrapper
.public BoostSpeedOneStage
.public CalcStatusDuration
.public ChangeMonsterAnimation
.public DETECT_BAND_MOVE_ACCURACY_DROP
.public DIRECTIONS_XY
.public DUNGEON_PTR
.public CanMonsterUseMove
.public DungeonRandInt
.public DungeonRandOutcome__022EAB50
.public DungeonRandRange
.public EndFrozenClassStatus
.public EndLeechSeedClassStatus
.public EnemyEvolution
.public EntityIsValid__02321438
.public EntityIsValid__02325620
.public EXCL_ITEM_EFFECTS_EVASION_BOOST
.public ExclusiveItemEffectFlagTest
.public ExecuteMoveEffect
.public FailsWhileMuzzled
.public FormatMoveStringMore
.public GetApparentWeather
.public GetBodySize
.public GetDamageSource
.public GetEntityMoveTargetAndRange
.public GetMonsterGenderVeneer
.public GetMoveAccuracyOrAiChance
.public GetMoveAnimation
.public GetMoveAnimationId
.public GetMoveAnimationSpeed
.public GetMoveMaxGinsengBoost
.public GetMoveMessageFromId
.public GetMoveNbStrikes
.public GetNaturePowerVariant
.public GetSpriteIndex__02052708
.public GetTile
.public GetTreatmentBetweenMonsters
.public GravityIsActive
.public HasHeldItem
.public INTIMIDATOR_ACTIVATION_CHANCE
.public InitMove
.public InitMoveCheckId
.public INTIMIDATOR_ACTIVATION_CHANCE
.public IqSkillIsEnabled
.public Is2TurnsMove
.public IsAffectedByTaunt
.public IsCopyingMove
.public IsChargingTwoTurnMove
.public IsFloorOver
.public IsMonsterSleeping
.public IsMonster__02322DB8
.public IsTrappingMove
.public LogMessageByIdWithPopupCheckUser
.public LogMessageQuiet
.public LogMessageWithPopup
.public LogMessageWithPopupCheckUser
.public LowerSpeed
.public MALE_ACCURACY_STAGE_MULTIPLIERS
.public MALE_EVASION_STAGE_MULTIPLIERS
.public METRONOME_TABLE
.public MoveIsNotPhysical
.public NATURE_POWER_TABLE
.public NIGHTMARE_TURN_RANGE
.public ov10_022BDE50
.public ov10_022BE9E8
.public ov10_022BEB2C
.public ov10_022BF01C
.public ov10_022BF0F4
.public ov10_022BF1FC
.public ov10_022BFA3C
.public ov10_022BFAA8
.public ov10_022BFD58
.public ov10_022BFD6C
.public ov10_022BFD8C
.public ov10_022BFDAC
.public ov10_022BFDCC
.public ov10_022BFDEC
.public ov10_022C4584
.public ov10_022C4714
.public ov29_022DE5D8
.public ov29_022DE5F0
.public ov29_022E28D4
.public ov29_022E2CA0
.public ov29_022E3560
.public ov29_022E56A0
.public ov29_022E5864
.public ov29_022E65A8
.public ov29_022E6D68
.public ov29_022EA370
.public ov29_022EACCC
.public ov29_022ED0C4
.public ov29_022ED0D4
.public ov29_022F87C0
.public ov29_022F8830
.public ov29_022F88C0
.public ov29_022F9840
.public ov29_022FAA04
.public ov29_022FAFD4
.public ov29_022FBAB4
.public ov29_0230040C
.public ov29_02300DCC
.public ov29_023024E0
.public ov29_02304A48
.public ov29_02304B14
.public ov29_02318D58
.public ov29_02321288
.public ov29_02325644
.public ov29_02325D20
.public ov29_02325D7C
.public ov29_023383A8
.public ov29_02344B9C
.public ov29_0234B034
.public ov29_0234B084
.public ov29_0234B09C
.public ov29_0234B4CC
.public ov29_0235171E
.public ov29_0235175C
.public ov29_02352A54
.public ov29_02352A60
.public ov29_02352A6C
.public ov29_02352A8C
.public ov29_02352AD8
.public ov29_02352B1C
.public ov29_0235370C
.public ov29_0237CA68
.public ov29_0237CA84
.public ov29_0237CA88
.public PlayMoveAnimation
.public PositionHasMonster
.public QUICK_DODGER_MOVE_ACCURACY_DROP
.public SetAndLoadCurrentAttackAnimation
.public ShouldDisplayEntityAdvanced
.public ShouldDisplayEntityWrapper
.public ShouldMovePlayAlternativeAnimation
.public SLEEP_TURN_RANGE
.public StringFromId
.public sub_020018D0
.public sub_02001980
.public sub_0201CF90
.public sub_0201D1B0
.public sub_0201D1D4
.public SubstitutePlaceholderStringTags
.public TryInflictBlinkerStatus
.public TryInflictBurnStatus
@@ -161,6 +58,32 @@
.public TryInflictSleepStatus
.public TrySealMove
.public TryWarp
.public TWO_TURN_MOVES_AND_STATUSES
.public UpdateAiTargetPos
.public WanTableSpriteHasAnimationGroup
.public ov10_022BFD6C
.public ov10_022C4584
.public ov10_022C4714
.public ov29_022E5864
.public ov29_022EA370
.public ov29_022F9840
.public ov29_022FAA04
.public ov29_022FBAB4
.public ov29_0230040C
.public ov29_02300DCC
.public ov29_02304B14
.public ov29_02318D58
.public ov29_02321288
.public ov29_02322DDC
.public ov29_023230FC
.public ov29_02324030
.public ov29_02324514
.public ov29_02324698
.public ov29_02324BE8
.public ov29_02324C9C
.public ov29_023383A8
.public ov29_02344B9C
.public ov29_0234B034
.public ov29_0234B084
.public ov29_0235370C
.public ov29_0237CA68
.public ov29_0237CA88
.public sub_0201D1B0

View File

@@ -0,0 +1,110 @@
#pragma once
.public AbilityIsActiveVeneer
.public AdvanceFrame
.public AnimationDelayOrSomething
.public AnimationHasMoreFrames
.public ChangeMonsterAnimation
.public DETECT_BAND_MOVE_ACCURACY_DROP
.public DIRECTIONS_XY
.public DUNGEON_PTR
.public DefenderAbilityIsActive__02322D64
.public DungeonRandInt
.public DungeonRandOutcome__022EAB50
.public DungeonRandRange
.public EXCL_ITEM_EFFECTS_EVASION_BOOST
.public EntityIsValid__02321438
.public EntityIsValid__02325620
.public ExclusiveItemEffectFlagTest
.public ExecuteMoveEffect
.public FormatMoveStringMore
.public GetApparentWeather
.public GetBodySize
.public GetDamageSource
.public GetEntityMoveTargetAndRange
.public GetMonsterGenderVeneer
.public GetMoveAccuracyOrAiChance
.public GetMoveAnimation
.public GetMoveAnimationId
.public GetMoveAnimationSpeed
.public GetMoveMaxGinsengBoost
.public GetMoveNbStrikes
.public GetNaturePowerVariant
.public GetSpriteIndex__02052708
.public GetTile
.public GetTreatmentBetweenMonsters
.public HasHeldItem
.public IqSkillIsEnabled
.public Is2TurnsMove
.public IsAffectedByTaunt
.public IsCopyingMove
.public IsFloorOver
.public LogMessageByIdWithPopupCheckUser
.public LogMessageQuiet
.public LogMessageWithPopup
.public MALE_ACCURACY_STAGE_MULTIPLIERS
.public MALE_EVASION_STAGE_MULTIPLIERS
.public MoveIsNotPhysical
.public NATURE_POWER_TABLE
.public PlayMoveAnimation
.public PositionHasMonster
.public QUICK_DODGER_MOVE_ACCURACY_DROP
.public SetAndLoadCurrentAttackAnimation
.public ShouldDisplayEntityAdvanced
.public ShouldDisplayEntityWrapper
.public ShouldMovePlayAlternativeAnimation
.public TWO_TURN_MOVES_AND_STATUSES
.public WanTableSpriteHasAnimationGroup
.public _s32_div_f
.public ov10_022BDE50
.public ov10_022BE9E8
.public ov10_022BEB2C
.public ov10_022BF01C
.public ov10_022BF0F4
.public ov10_022BF1FC
.public ov10_022BFA3C
.public ov10_022BFAA8
.public ov10_022BFD58
.public ov10_022BFD8C
.public ov10_022BFDAC
.public ov10_022BFDCC
.public ov10_022BFDEC
.public ov29_022DE5D8
.public ov29_022DE5F0
.public ov29_022E28D4
.public ov29_022E2CA0
.public ov29_022E3560
.public ov29_022E56A0
.public ov29_022E65A8
.public ov29_022E6D68
.public ov29_022EA370
.public ov29_022EACCC
.public ov29_022ED0C4
.public ov29_022ED0D4
.public ov29_022F87C0
.public ov29_022F8830
.public ov29_022F88C0
.public ov29_022FAFD4
.public ov29_0230040C
.public ov29_023024E0
.public ov29_02304A48
.public ov29_02325644
.public ov29_02325D20
.public ov29_02325D7C
.public ov29_0234B034
.public ov29_0234B084
.public ov29_0234B09C
.public ov29_0234B4CC
.public ov29_0235171E
.public ov29_0235175C
.public ov29_02352A54
.public ov29_02352A60
.public ov29_02352A6C
.public ov29_02352A8C
.public ov29_02352AD8
.public ov29_02352B1C
.public ov29_0235370C
.public ov29_0237CA84
.public sub_020018D0
.public sub_02001980
.public sub_0201CF90
.public sub_0201D1D4

View File

@@ -6,16 +6,11 @@
.public CanSeeTarget
.public ChangeDungeonMusic
.public CloseAlertBox
.public CloseDialogueBox
.public CloseParentMenu
.public ClosePortraitBox
.public CreateAlertBox
.public CreateDialogueBox
.public CreateParentMenuFromStringIds
.public CreatePortraitBox
.public Debug_Print0
.public DUNGEON_FADES_PTR
.public DUNGEON_PTR
.public Debug_Print0
.public DisplayMessageInternal
.public DungeonAlloc
.public DungeonFree
.public DungeonRandInt
@@ -47,7 +42,6 @@
.public GetSpecialTargetItem
.public GetTargetMonsterNotFoundFlag
.public HandleFaint
.public HidePortraitBox
.public InitPortraitParams
.public InitPreprocessorArgs
.public InitRender3dElement64
@@ -59,11 +53,11 @@
.public IsDestinationFloor
.public IsDestinationFloorWithFleeingOutlaw
.public IsDestinationFloorWithHiddenOutlaw
.public IsDialogueBoxActive
.public IsExperienceLocked
.public IsFullFloorFixedRoom
.public IsFutureDungeon
.public IsJirachiChallengeFloor
.public IsMonster__0234D460
.public IsSecretFloor
.public ItemZInit
.public LoadOverlay
@@ -72,6 +66,23 @@
.public MemFree
.public MemZero
.public MusicTableIdxToMusicId
.public OverlayIsLoaded
.public PositionIsOnStairs
.public PreprocessString
.public RemoveEmptyItemsInBagWrapper
.public RemoveGroundItem
.public RunDungeon
.public SetAdventureLogDungeonFloor
.public SetBothScreensWindowsColor
.public SetDungeonTipShown
.public SetPortraitLayout
.public ShouldDisplayEntityWrapper
.public ShouldMonsterHeadToStairs
.public StringFromId
.public SubstitutePlaceholderStringTags
.public UnloadOverlay
.public WriteQuicksaveData
.public YesNoMenu
.public ov10_022BF764
.public ov10_022BF7D4
.public ov10_022BFD20
@@ -97,7 +108,6 @@
.public ov29_022DEBB0
.public ov29_022E09E8
.public ov29_022E0A64
.public ov29_022E0B44
.public ov29_022E0B60
.public ov29_022E0CFC
.public ov29_022E0E8C
@@ -110,7 +120,6 @@
.public ov29_022E9F9C
.public ov29_022E9FC0
.public ov29_022EA008
.public ov29_022EA370
.public ov29_022EA428
.public ov29_022EAC8C
.public ov29_022EACBC
@@ -129,7 +138,6 @@
.public ov29_0231AF24
.public ov29_02337EE8
.public ov29_0233804C
.public ov29_02339148
.public ov29_0233992C
.public ov29_0233A248
.public ov29_02344B44
@@ -138,6 +146,12 @@
.public ov29_02348A18
.public ov29_023491B8
.public ov29_023496B0
.public ov29_0234D558
.public ov29_0234D5D0
.public ov29_0234D630
.public ov29_0234D70C
.public ov29_0234D838
.public ov29_0234D8A0
.public ov29_02353214
.public ov29_02353238
.public ov29_02353240
@@ -168,7 +182,6 @@
.public ov29_02353310
.public ov29_02353368
.public ov29_02353380
.public ov29_02353398
.public ov29_0235352C
.public ov29_02353563
.public ov29_023537C8
@@ -178,7 +191,6 @@
.public ov29_023537E8
.public ov29_0237C694
.public ov29_0237D000
.public ov29_02382800
.public ov30_02382820
.public ov30_02382874
.public ov30_0238298C
@@ -187,21 +199,6 @@
.public ov30_02382A34
.public ov30_02382C30
.public ov30_023842F4
.public OverlayIsLoaded
.public PositionIsOnStairs
.public PreprocessString
.public RemoveEmptyItemsInBagWrapper
.public RemoveGroundItem
.public RunDungeon
.public SetAdventureLogDungeonFloor
.public SetBothScreensWindowsColor
.public SetDungeonTipShown
.public SetPortraitLayout
.public ShouldDisplayEntityWrapper
.public ShouldMonsterHeadToStairs
.public ShowPortraitInPortraitBox
.public ShowStringInDialogueBox
.public StringFromId
.public strlen
.public strncmp
.public strncpy
@@ -212,7 +209,6 @@
.public sub_02003990
.public sub_020039E4
.public sub_02003A40
.public sub_02006B70
.public sub_02006EC4
.public sub_02008ED0
.public sub_02008F3C
@@ -247,17 +243,12 @@
.public sub_02025784
.public sub_02027148
.public sub_0202715C
.public sub_020282F4
.public sub_0202836C
.public sub_02028848
.public sub_02028A64
.public sub_02028E2C
.public sub_02028E40
.public sub_02028E88
.public sub_0202AB94
.public sub_0202ABB0
.public sub_0202F334
.public sub_0202F474
.public sub_0203010C
.public sub_02030214
.public sub_02034710
@@ -276,6 +267,3 @@
.public sub_02051DD0
.public sub_02051E60
.public sub_0205BAB0
.public SubstitutePlaceholderStringTags
.public UnloadOverlay
.public WriteQuicksaveData

View File

@@ -0,0 +1,39 @@
#pragma once
.public AdvanceFrame
.public CloseDialogueBox
.public CloseParentMenu
.public ClosePortraitBox
.public CreateDialogueBox
.public CreateParentMenuFromStringIds
.public CreatePortraitBox
.public HidePortraitBox
.public InitPreprocessorArgs
.public IsDialogueBoxActive
.public LoadOverlay
.public LogMessageQuiet
.public MemAlloc
.public MemFree
.public MemZero
.public OverlayIsLoaded
.public ShowPortraitInPortraitBox
.public ShowStringInDialogueBox
.public StringFromId
.public UnloadOverlay
.public ov29_022E0B44
.public ov29_022EA370
.public ov29_022EA428
.public ov29_022F2FE4
.public ov29_02339148
.public ov29_0234B034
.public ov29_0234B1A4
.public ov29_0234B4CC
.public ov29_0234B73C
.public ov29_0234D304
.public ov29_02353398
.public ov29_02382800
.public sub_02006B70
.public sub_020282F4
.public sub_0202AB94
.public sub_0202ABB0
.public sub_0202F334
.public sub_0202F474

File diff suppressed because it is too large Load Diff

3019
asm/overlay_29_022F9744.s Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -328,227 +328,3 @@ _02301A50:
ldmia sp!, {r3, r4, r5, r6, r7, pc}
#endif
arm_func_end DefenderAbilityIsActive__02301A0C
arm_func_start IsMonster__02301A60
IsMonster__02301A60: ; 0x02301A60
cmp r0, #0
moveq r0, #0
bxeq lr
ldr r0, [r0]
cmp r0, #1
moveq r0, #1
movne r0, #0
and r0, r0, #0xff
bx lr
arm_func_end IsMonster__02301A60
arm_func_start ov29_02301A84
ov29_02301A84: ; 0x02301A84
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
sub sp, sp, #8
mov r4, r1
mov r5, r0
mov r0, r4
mov sb, r2
bl GetApparentWeather
ldr r6, _02301B24 ; =EXCL_ITEM_EFFECTS_WEATHER_NO_STATUS
mov r7, r0
ldrb r0, [r6, r7]
mov r8, #0
cmp r0, #0
beq _02301B18
ldrb r1, [r6, r7]
mov r0, r4
bl ExclusiveItemEffectIsActive__022FFF28
cmp r0, #0
beq _02301B18
cmp sb, #0
ldrb r6, [r6, r7]
beq _02301B14
mov r0, r8
mov r1, r4
mov r2, r0
bl SubstitutePlaceholderStringTags
add r2, sp, #0
mov r0, r4
mov r1, r6
bl GetExclusiveItemWithEffectFromBag
add r1, sp, #0
mov r0, #1
bl ov29_02344B44
ldr r2, _02301B28 ; =0x00000C39
mov r0, r5
mov r1, r4
bl LogMessageByIdWithPopupCheckUserTarget
_02301B14:
mov r8, #1
_02301B18:
mov r0, r8
add sp, sp, #8
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
.align 2, 0
_02301B24: .word EXCL_ITEM_EFFECTS_WEATHER_NO_STATUS
#ifdef JAPAN
_02301B28: .word 0x00000978
#else
_02301B28: .word 0x00000C39
#endif
arm_func_end ov29_02301A84
arm_func_start IsProtectedFromStatDrops
IsProtectedFromStatDrops: ; 0x02301B2C
stmdb sp!, {r3, r4, r5, r6, r7, lr}
mov r7, r0
mov r0, #0
mov r5, r2
mov r6, r1
mov r2, r0
bl SubstitutePlaceholderStringTags
mov r0, r6
bl MistIsActive
movs r4, r0
beq _02301BB0
cmp r5, #0
beq _02301BA8
mov r0, #0
mov r1, r6
mov r2, r0
bl SubstitutePlaceholderStringTags
cmp r4, #1
bne _02301B8C
ldr r2, _02301C20 ; =0x00000C38
mov r0, r7
mov r1, r6
bl LogMessageByIdWithPopupCheckUserTarget
b _02301BA8
_02301B8C:
cmp r4, #2
bne _02301BA8
ldr r2, _02301C24 ; =0x00000C39
mov r0, r7
mov r1, r6
mov r3, #0x26
bl ov29_02314DC4
_02301BA8:
mov r0, #1
ldmia sp!, {r3, r4, r5, r6, r7, pc}
_02301BB0:
mov r0, r7
mov r1, r6
mov r2, #0xf
#ifndef JAPAN
mov r3, #1
#endif
bl DefenderAbilityIsActive__02301A0C
cmp r0, #0
bne _02301BE8
mov r0, r7
mov r1, r6
mov r2, #0x18
#ifndef JAPAN
mov r3, #1
#endif
bl DefenderAbilityIsActive__02301A0C
cmp r0, #0
beq _02301C18
_02301BE8:
cmp r5, #0
beq _02301C10
mov r0, #0
mov r1, r6
mov r2, r0
bl SubstitutePlaceholderStringTags
ldr r2, _02301C28 ; =0x00000C3A
mov r0, r7
mov r1, r6
bl LogMessageByIdWithPopupCheckUserTarget
_02301C10:
mov r0, #1
ldmia sp!, {r3, r4, r5, r6, r7, pc}
_02301C18:
mov r0, #0
ldmia sp!, {r3, r4, r5, r6, r7, pc}
.align 2, 0
#ifdef JAPAN
_02301C20: .word 0x00000977
_02301C24: .word 0x00000978
_02301C28: .word 0x00000979
#else
_02301C20: .word 0x00000C38
_02301C24: .word 0x00000C39
_02301C28: .word 0x00000C3A
#endif
arm_func_end IsProtectedFromStatDrops
arm_func_start ov29_02301C2C
ov29_02301C2C: ; 0x02301C2C
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
mov sl, r0
ldr r8, [sl, #0xb4]
mov sb, r1
ldrb r0, [r8, #0xbd]
cmp r0, #1
cmpne r0, #5
cmpne r0, #3
movne r0, #0
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
mov r6, #0
#ifdef JAPAN
add r5, r8, #0x120
#else
add r5, r8, #0x124
#endif
mov fp, r6
mov r4, #1
b _02301CCC
_02301C68:
ldrb r1, [r5, r6, lsl #3]
add r7, r5, r6, lsl #3
tst r1, #1
movne r0, r4
moveq r0, fp
tst r0, #0xff
beq _02301CC8
ldrb r0, [r8, #7]
cmp r0, #0
bne _02301C98
tst r1, #4
beq _02301CC8
_02301C98:
mov r0, sl
mov r1, r7
mov r2, #1
bl ov29_02324BE8
cmp r0, #0
ldrneb r0, [r7, #6]
cmpne r0, #0
beq _02301CC8
ldrh r0, [r7, #4]
cmp r0, sb
moveq r0, #1
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
_02301CC8:
add r6, r6, #1
_02301CCC:
cmp r6, #4
blt _02301C68
mov r0, #0
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
arm_func_end ov29_02301C2C
arm_func_start NoGastroAcidStatus
NoGastroAcidStatus: ; 0x02301CDC
stmdb sp!, {r4, lr}
mov r4, r0
bl IsMonster__02301A60
cmp r0, #0
moveq r0, #0
ldmeqia sp!, {r4, pc}
ldr r0, [r4, #0xb4]
ldrb r0, [r0, #0xd8]
cmp r0, #4
movne r0, #1
moveq r0, #0
and r0, r0, #0xff
ldmia sp!, {r4, pc}
arm_func_end NoGastroAcidStatus

215
asm/overlay_29_02301A84.s Normal file
View File

@@ -0,0 +1,215 @@
.include "asm/macros.inc"
.include "overlay_29_02301A84.inc"
.text
arm_func_start ov29_02301A84
ov29_02301A84: ; 0x02301A84
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
sub sp, sp, #8
mov r4, r1
mov r5, r0
mov r0, r4
mov sb, r2
bl GetApparentWeather
ldr r6, _02301B24 ; =EXCL_ITEM_EFFECTS_WEATHER_NO_STATUS
mov r7, r0
ldrb r0, [r6, r7]
mov r8, #0
cmp r0, #0
beq _02301B18
ldrb r1, [r6, r7]
mov r0, r4
bl ExclusiveItemEffectIsActive__022FFF28
cmp r0, #0
beq _02301B18
cmp sb, #0
ldrb r6, [r6, r7]
beq _02301B14
mov r0, r8
mov r1, r4
mov r2, r0
bl SubstitutePlaceholderStringTags
add r2, sp, #0
mov r0, r4
mov r1, r6
bl GetExclusiveItemWithEffectFromBag
add r1, sp, #0
mov r0, #1
bl ov29_02344B44
ldr r2, _02301B28 ; =0x00000C39
mov r0, r5
mov r1, r4
bl LogMessageByIdWithPopupCheckUserTarget
_02301B14:
mov r8, #1
_02301B18:
mov r0, r8
add sp, sp, #8
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
.align 2, 0
_02301B24: .word EXCL_ITEM_EFFECTS_WEATHER_NO_STATUS
#ifdef JAPAN
_02301B28: .word 0x00000978
#else
_02301B28: .word 0x00000C39
#endif
arm_func_end ov29_02301A84
arm_func_start IsProtectedFromStatDrops
IsProtectedFromStatDrops: ; 0x02301B2C
stmdb sp!, {r3, r4, r5, r6, r7, lr}
mov r7, r0
mov r0, #0
mov r5, r2
mov r6, r1
mov r2, r0
bl SubstitutePlaceholderStringTags
mov r0, r6
bl MistIsActive
movs r4, r0
beq _02301BB0
cmp r5, #0
beq _02301BA8
mov r0, #0
mov r1, r6
mov r2, r0
bl SubstitutePlaceholderStringTags
cmp r4, #1
bne _02301B8C
ldr r2, _02301C20 ; =0x00000C38
mov r0, r7
mov r1, r6
bl LogMessageByIdWithPopupCheckUserTarget
b _02301BA8
_02301B8C:
cmp r4, #2
bne _02301BA8
ldr r2, _02301C24 ; =0x00000C39
mov r0, r7
mov r1, r6
mov r3, #0x26
bl ov29_02314DC4
_02301BA8:
mov r0, #1
ldmia sp!, {r3, r4, r5, r6, r7, pc}
_02301BB0:
mov r0, r7
mov r1, r6
mov r2, #0xf
#ifndef JAPAN
mov r3, #1
#endif
bl DefenderAbilityIsActive__02301A0C
cmp r0, #0
bne _02301BE8
mov r0, r7
mov r1, r6
mov r2, #0x18
#ifndef JAPAN
mov r3, #1
#endif
bl DefenderAbilityIsActive__02301A0C
cmp r0, #0
beq _02301C18
_02301BE8:
cmp r5, #0
beq _02301C10
mov r0, #0
mov r1, r6
mov r2, r0
bl SubstitutePlaceholderStringTags
ldr r2, _02301C28 ; =0x00000C3A
mov r0, r7
mov r1, r6
bl LogMessageByIdWithPopupCheckUserTarget
_02301C10:
mov r0, #1
ldmia sp!, {r3, r4, r5, r6, r7, pc}
_02301C18:
mov r0, #0
ldmia sp!, {r3, r4, r5, r6, r7, pc}
.align 2, 0
#ifdef JAPAN
_02301C20: .word 0x00000977
_02301C24: .word 0x00000978
_02301C28: .word 0x00000979
#else
_02301C20: .word 0x00000C38
_02301C24: .word 0x00000C39
_02301C28: .word 0x00000C3A
#endif
arm_func_end IsProtectedFromStatDrops
arm_func_start ov29_02301C2C
ov29_02301C2C: ; 0x02301C2C
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
mov sl, r0
ldr r8, [sl, #0xb4]
mov sb, r1
ldrb r0, [r8, #0xbd]
cmp r0, #1
cmpne r0, #5
cmpne r0, #3
movne r0, #0
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
mov r6, #0
#ifdef JAPAN
add r5, r8, #0x120
#else
add r5, r8, #0x124
#endif
mov fp, r6
mov r4, #1
b _02301CCC
_02301C68:
ldrb r1, [r5, r6, lsl #3]
add r7, r5, r6, lsl #3
tst r1, #1
movne r0, r4
moveq r0, fp
tst r0, #0xff
beq _02301CC8
ldrb r0, [r8, #7]
cmp r0, #0
bne _02301C98
tst r1, #4
beq _02301CC8
_02301C98:
mov r0, sl
mov r1, r7
mov r2, #1
bl ov29_02324BE8
cmp r0, #0
ldrneb r0, [r7, #6]
cmpne r0, #0
beq _02301CC8
ldrh r0, [r7, #4]
cmp r0, sb
moveq r0, #1
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
_02301CC8:
add r6, r6, #1
_02301CCC:
cmp r6, #4
blt _02301C68
mov r0, #0
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
arm_func_end ov29_02301C2C
arm_func_start NoGastroAcidStatus
NoGastroAcidStatus: ; 0x02301CDC
stmdb sp!, {r4, lr}
mov r4, r0
bl IsMonster__02301A60
cmp r0, #0
moveq r0, #0
ldmeqia sp!, {r4, pc}
ldr r0, [r4, #0xb4]
ldrb r0, [r0, #0xd8]
cmp r0, #4
movne r0, #1
moveq r0, #0
and r0, r0, #0xff
ldmia sp!, {r4, pc}
arm_func_end NoGastroAcidStatus

File diff suppressed because it is too large Load Diff

4625
asm/overlay_29_0230A9B8.s Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1553
asm/overlay_29_0230F9A4.s Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -4476,228 +4476,3 @@ ov29_02318A90: ; 0x02318A90
#endif
ldmia sp!, {r3, r4, r5, pc}
arm_func_end ov29_02318A90
arm_func_start IsMonster__02318AB0
IsMonster__02318AB0: ; 0x02318AB0
cmp r0, #0
moveq r0, #0
bxeq lr
ldr r0, [r0]
cmp r0, #1
moveq r0, #1
movne r0, #0
and r0, r0, #0xff
bx lr
arm_func_end IsMonster__02318AB0
arm_func_start ov29_02318AD4
ov29_02318AD4: ; 0x02318AD4
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
mov r4, r0
mov r8, #1
bl IsMonster__02318AB0
cmp r0, #0
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
mov sb, #0
ldr r7, [r4, #0xb4]
mov r5, sb
mov r6, r8
mov r4, #0x53
b _02318B3C
_02318B04:
#ifdef JAPAN
ldrb r0, [r7, #0x10a]
cmp r0, #1
bne _02318B20
ldr r0, [r7, #0x184]
#else
ldrb r0, [r7, #0x10b]
cmp r0, #1
bne _02318B20
ldr r0, [r7, #0x188]
#endif
cmp r0, #0xc800
movge r8, r6
movlt r8, r5
_02318B20:
cmp r8, #0
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
mov r0, r4
bl AdvanceFrame
add r0, sb, #1
mov r0, r0, lsl #0x10
mov sb, r0, asr #0x10
_02318B3C:
cmp sb, #0x190
blt _02318B04
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
arm_func_end ov29_02318AD4
arm_func_start ov29_02318B48
ov29_02318B48: ; 0x02318B48
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
mov r4, r0
mov r8, #1
bl IsMonster__02318AB0
cmp r0, #0
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
mov sb, #0
ldr r7, [r4, #0xb4]
mov r5, sb
mov r6, r8
mov r4, #0x53
b _02318BB0
_02318B78:
#ifdef JAPAN
ldrb r0, [r7, #0x10a]
cmp r0, #0
bne _02318B94
ldr r0, [r7, #0x184]
#else
ldrb r0, [r7, #0x10b]
cmp r0, #0
bne _02318B94
ldr r0, [r7, #0x188]
#endif
cmp r0, #0
movle r8, r6
movgt r8, r5
_02318B94:
cmp r8, #0
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
mov r0, r4
bl AdvanceFrame
add r0, sb, #1
mov r0, r0, lsl #0x10
mov sb, r0, asr #0x10
_02318BB0:
cmp sb, #0x190
blt _02318B78
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
arm_func_end ov29_02318B48
arm_func_start ov29_02318BBC
ov29_02318BBC: ; 0x02318BBC
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
mov r8, r1
mov sb, r0
mov r0, r8
mov r7, r2
mov r6, r3
bl EntityIsValid__02318D34
cmp r0, #0
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
mov r0, #0
ldr r5, [r8, #0xb4]
mov r1, r8
mov r2, r0
bl SubstitutePlaceholderStringTags
ldrb r0, [r5, #0xd2]
cmp r0, r7
cmpeq r7, #0xc
bne _02318C18
ldr r2, _02318D20 ; =0x00000D7A
mov r0, sb
mov r1, r8
bl LogMessageByIdWithPopupCheckUserTarget
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
_02318C18:
strb r7, [r5, #0xd2]
mov r2, #0
#ifdef JAPAN
add r0, r5, #0x120
#else
add r0, r5, #0x124
#endif
b _02318C3C
_02318C28:
add r1, r0, r2, lsl #3
cmp r1, r6
streqb r2, [r5, #0xd4]
beq _02318C44
add r2, r2, #1
_02318C3C:
cmp r2, #4
blt _02318C28
_02318C44:
add r0, r7, #0xf9
mov r1, #1
and r0, r0, #0xff
#ifdef JAPAN
strb r1, [r5, #0x150]
#else
strb r1, [r5, #0x154]
#endif
cmp r0, #1
mov r4, #0
movls r4, r1
#ifdef JAPAN
strlsb r1, [r5, #0x10a]
#else
strlsb r1, [r5, #0x10b]
#endif
bls _02318C7C
cmp r7, #9
cmpne r7, #0xa
cmpne r7, #0xd
moveq r0, #2
#ifdef JAPAN
streqb r0, [r5, #0x10a]
#else
streqb r0, [r5, #0x10b]
#endif
_02318C7C:
cmp r7, #1
bne _02318CD0
ldr r1, _02318D24 ; =ov10_022C4754
mov r0, r8
mov r2, #0
bl CalcStatusDuration
add r0, r0, #1
strb r0, [r5, #0xd3]
mov r0, #0
str r0, [r5, #0xb8]
ldrh r1, [r6, #4]
cmp r1, #0x154
ldreq r0, _02318D28 ; =0x00000166
streqh r0, [r5, #0xac]
beq _02318CD0
ldr r0, _02318D2C ; =0x00000217
cmp r1, r0
subeq r0, r0, #0xb0
streqh r0, [r5, #0xac]
subne r0, r0, #0xb2
strneh r0, [r5, #0xac]
_02318CD0:
cmp r7, #0xc
bne _02318CF0
ldr r1, _02318D30 ; =ov10_022C475C
mov r0, r8
mov r2, #0
bl CalcStatusDuration
add r0, r0, #1
strb r0, [r5, #0xd3]
_02318CF0:
mov r0, r8
mov r1, r4
bl ov29_022E41B0
ldr r2, [sp, #0x20]
mov r0, sb
mov r1, r8
bl LogMessageWithPopupCheckUserTarget
mov r0, r8
bl UpdateStatusIconFlags
mov r0, r8
bl ov29_02318AD4
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
.align 2, 0
#ifdef JAPAN
_02318D20: .word 0x00000ABA
#else
_02318D20: .word 0x00000D7A
#endif
_02318D24: .word ov10_022C4754
_02318D28: .word 0x00000166
_02318D2C: .word 0x00000217
_02318D30: .word ov10_022C475C
arm_func_end ov29_02318BBC

216
asm/overlay_29_02318AD4.s Normal file
View File

@@ -0,0 +1,216 @@
.include "asm/macros.inc"
.include "overlay_29_02318AD4.inc"
.text
arm_func_start ov29_02318AD4
ov29_02318AD4: ; 0x02318AD4
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
mov r4, r0
mov r8, #1
bl IsMonster__02318AB0
cmp r0, #0
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
mov sb, #0
ldr r7, [r4, #0xb4]
mov r5, sb
mov r6, r8
mov r4, #0x53
b _02318B3C
_02318B04:
#ifdef JAPAN
ldrb r0, [r7, #0x10a]
cmp r0, #1
bne _02318B20
ldr r0, [r7, #0x184]
#else
ldrb r0, [r7, #0x10b]
cmp r0, #1
bne _02318B20
ldr r0, [r7, #0x188]
#endif
cmp r0, #0xc800
movge r8, r6
movlt r8, r5
_02318B20:
cmp r8, #0
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
mov r0, r4
bl AdvanceFrame
add r0, sb, #1
mov r0, r0, lsl #0x10
mov sb, r0, asr #0x10
_02318B3C:
cmp sb, #0x190
blt _02318B04
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
arm_func_end ov29_02318AD4
arm_func_start ov29_02318B48
ov29_02318B48: ; 0x02318B48
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
mov r4, r0
mov r8, #1
bl IsMonster__02318AB0
cmp r0, #0
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
mov sb, #0
ldr r7, [r4, #0xb4]
mov r5, sb
mov r6, r8
mov r4, #0x53
b _02318BB0
_02318B78:
#ifdef JAPAN
ldrb r0, [r7, #0x10a]
cmp r0, #0
bne _02318B94
ldr r0, [r7, #0x184]
#else
ldrb r0, [r7, #0x10b]
cmp r0, #0
bne _02318B94
ldr r0, [r7, #0x188]
#endif
cmp r0, #0
movle r8, r6
movgt r8, r5
_02318B94:
cmp r8, #0
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
mov r0, r4
bl AdvanceFrame
add r0, sb, #1
mov r0, r0, lsl #0x10
mov sb, r0, asr #0x10
_02318BB0:
cmp sb, #0x190
blt _02318B78
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
arm_func_end ov29_02318B48
arm_func_start ov29_02318BBC
ov29_02318BBC: ; 0x02318BBC
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
mov r8, r1
mov sb, r0
mov r0, r8
mov r7, r2
mov r6, r3
bl EntityIsValid__02318D34
cmp r0, #0
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
mov r0, #0
ldr r5, [r8, #0xb4]
mov r1, r8
mov r2, r0
bl SubstitutePlaceholderStringTags
ldrb r0, [r5, #0xd2]
cmp r0, r7
cmpeq r7, #0xc
bne _02318C18
ldr r2, _02318D20 ; =0x00000D7A
mov r0, sb
mov r1, r8
bl LogMessageByIdWithPopupCheckUserTarget
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
_02318C18:
strb r7, [r5, #0xd2]
mov r2, #0
#ifdef JAPAN
add r0, r5, #0x120
#else
add r0, r5, #0x124
#endif
b _02318C3C
_02318C28:
add r1, r0, r2, lsl #3
cmp r1, r6
streqb r2, [r5, #0xd4]
beq _02318C44
add r2, r2, #1
_02318C3C:
cmp r2, #4
blt _02318C28
_02318C44:
add r0, r7, #0xf9
mov r1, #1
and r0, r0, #0xff
#ifdef JAPAN
strb r1, [r5, #0x150]
#else
strb r1, [r5, #0x154]
#endif
cmp r0, #1
mov r4, #0
movls r4, r1
#ifdef JAPAN
strlsb r1, [r5, #0x10a]
#else
strlsb r1, [r5, #0x10b]
#endif
bls _02318C7C
cmp r7, #9
cmpne r7, #0xa
cmpne r7, #0xd
moveq r0, #2
#ifdef JAPAN
streqb r0, [r5, #0x10a]
#else
streqb r0, [r5, #0x10b]
#endif
_02318C7C:
cmp r7, #1
bne _02318CD0
ldr r1, _02318D24 ; =ov10_022C4754
mov r0, r8
mov r2, #0
bl CalcStatusDuration
add r0, r0, #1
strb r0, [r5, #0xd3]
mov r0, #0
str r0, [r5, #0xb8]
ldrh r1, [r6, #4]
cmp r1, #0x154
ldreq r0, _02318D28 ; =0x00000166
streqh r0, [r5, #0xac]
beq _02318CD0
ldr r0, _02318D2C ; =0x00000217
cmp r1, r0
subeq r0, r0, #0xb0
streqh r0, [r5, #0xac]
subne r0, r0, #0xb2
strneh r0, [r5, #0xac]
_02318CD0:
cmp r7, #0xc
bne _02318CF0
ldr r1, _02318D30 ; =ov10_022C475C
mov r0, r8
mov r2, #0
bl CalcStatusDuration
add r0, r0, #1
strb r0, [r5, #0xd3]
_02318CF0:
mov r0, r8
mov r1, r4
bl ov29_022E41B0
ldr r2, [sp, #0x20]
mov r0, sb
mov r1, r8
bl LogMessageWithPopupCheckUserTarget
mov r0, r8
bl UpdateStatusIconFlags
mov r0, r8
bl ov29_02318AD4
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
.align 2, 0
#ifdef JAPAN
_02318D20: .word 0x00000ABA
#else
_02318D20: .word 0x00000D7A
#endif
_02318D24: .word ov10_022C4754
_02318D28: .word 0x00000166
_02318D2C: .word 0x00000217
_02318D30: .word ov10_022C475C
arm_func_end ov29_02318BBC

View File

@@ -767,640 +767,3 @@ _0231A9D0: .word 0x00000B3D
_0231A9D0: .word 0x00000DFD
#endif
arm_func_end ov29_0231A8A0
arm_func_start IsMonster__0231A9D4
IsMonster__0231A9D4: ; 0x0231A9D4
cmp r0, #0
moveq r0, #0
bxeq lr
ldr r0, [r0]
cmp r0, #1
moveq r0, #1
movne r0, #0
and r0, r0, #0xff
bx lr
arm_func_end IsMonster__0231A9D4
arm_func_start ov29_0231A9F8
ov29_0231A9F8: ; 0x0231A9F8
stmdb sp!, {r4, r5, r6, r7, lr}
sub sp, sp, #0x34
mov r7, r0
mov r1, #0
mov r2, #0x15
ldr r5, [r7, #0xb4]
bl GetItemToUse
mov r1, r0
ldrb r0, [r1]
ldrh r4, [r1]
ldrh r3, [r1, #2]
ldrh r2, [r1, #4]
tst r0, #8
movne r0, #1
moveq r0, #0
strh r4, [sp, #0x18]
strh r3, [sp, #0x1a]
strh r2, [sp, #0x1c]
tst r0, #0xff
beq _0231AA60
mov r0, #0
bl ov29_02344B44
ldr r1, _0231AC90 ; =0x00000DF8
mov r0, r7
bl LogMessageByIdWithPopupCheckUser
b _0231AC88
_0231AA60:
mov r0, r7
bl ov29_022FBAB4
add r2, sp, #0x1e
add r3, r5, #0x4a
mov r1, #0xa
_0231AA74:
ldrh r0, [r3], #2
subs r1, r1, #1
strh r0, [r2], #2
bne _0231AA74
ldr r0, _0231AC94 ; =DUNGEON_PTR
ldr r0, [r0]
add r0, r0, #0x4000
#ifdef JAPAN
ldrb r0, [r0, #0x36]
#else
ldrb r0, [r0, #0xda]
#endif
bl AreOrbsAllowed
cmp r0, #0
mov r4, #1
bne _0231AAB4
ldr r1, _0231AC98 ; =0x00000DF9
mov r0, r7
bl LogMessageByIdWithPopupCheckUser
b _0231AC24
_0231AAB4:
ldrsh r6, [sp, #0x1c]
mov r0, r6
bl GetItemMoveId16
mov r1, r0
add r0, sp, #0x10
bl InitMove
ldrb r0, [r5, #7]
cmp r0, #0
bne _0231AB18
mov r2, r4
mov r3, #0xa
strb r2, [sp, #8]
add r0, sp, #8
mov r1, r7
#ifdef JAPAN
add r2, r5, #0x120
#else
add r2, r5, #0x124
#endif
str r3, [sp, #0xc]
bl AiConsiderMove
ldrb r0, [sp, #8]
cmp r0, #0
beq _0231AB18
ldrb r1, [sp, #9]
mov r0, r7
and r1, r1, #7
strb r1, [r5, #0x4c]
bl UpdateAiTargetPos
_0231AB18:
ldrb r0, [r5, #0xd0]
cmp r0, #1
bne _0231AB48
mov r0, #0
mov r1, r7
mov r2, r0
bl SubstitutePlaceholderStringTags
ldr r1, _0231AC9C ; =0x00000DFA
mov r0, r7
bl LogMessageByIdWithPopupCheckUser
mov r4, #0
b _0231ABA0
_0231AB48:
cmp r0, #7
bne _0231AB74
mov r0, #0
mov r1, r7
mov r2, r0
bl SubstitutePlaceholderStringTags
ldr r1, _0231ACA0 ; =0x00000DFB
mov r0, r7
bl LogMessageByIdWithPopupCheckUser
mov r4, #0
b _0231ABA0
_0231AB74:
ldrb r0, [r5, #0xbf]
cmp r0, #4
bne _0231ABA0
mov r0, #0
mov r1, r7
mov r2, r0
bl SubstitutePlaceholderStringTags
ldr r1, _0231ACA4 ; =0x00000DFC
mov r0, r7
bl LogMessageByIdWithPopupCheckUser
mov r4, #0
_0231ABA0:
cmp r4, #0
beq _0231AC20
cmp r6, #0x138
ldrne r0, _0231ACA8 ; =0x00000141
mov r1, #0
cmpne r6, r0
bne _0231AC00
mov r0, r7
mov r2, #0x7a
bl RemoveUsedItem
ldrb r2, [sp, #0x10]
mov r0, #0xa
mov r1, #0
orr r2, r2, #0xc
strb r2, [sp, #0x10]
strb r0, [sp, #0x16]
add r4, sp, #0x10
mov r0, r7
mov r2, r6
mov r3, r1
stmia sp, {r1, r4}
bl ov29_02322374
mov r4, #0
b _0231AC24
_0231AC00:
add r4, sp, #0x10
mov r0, r7
mov r2, r6
mov r3, r1
stmia sp, {r1, r4}
bl ov29_02322374
mov r4, r0
b _0231AC24
_0231AC20:
mov r4, #0
_0231AC24:
mov r0, r7
bl EntityIsValid__02319F8C
cmp r0, #0
beq _0231AC60
cmp r4, #0
beq _0231AC4C
mov r0, r7
mov r1, #0
mov r2, #0x7a
bl RemoveUsedItem
_0231AC4C:
mov r0, r7
bl EnemyEvolution
mov r0, r7
bl ov29_02321274
b _0231AC74
_0231AC60:
cmp r4, #0
beq _0231AC74
add r0, sp, #0x1e
mov r1, #0
bl ov29_022EB4E8
_0231AC74:
bl IsFloorOver
cmp r0, #0
bne _0231AC88
mov r0, r7
bl TryActivateTruant
_0231AC88:
add sp, sp, #0x34
ldmia sp!, {r4, r5, r6, r7, pc}
.align 2, 0
#ifdef JAPAN
#define OV29_0231A9F8_OFFSET -0x2C0
#else
#define OV29_0231A9F8_OFFSET 0
#endif
_0231AC90: .word 0x00000DF8 + OV29_0231A9F8_OFFSET
_0231AC94: .word DUNGEON_PTR
_0231AC98: .word 0x00000DF9 + OV29_0231A9F8_OFFSET
_0231AC9C: .word 0x00000DFA + OV29_0231A9F8_OFFSET
_0231ACA0: .word 0x00000DFB + OV29_0231A9F8_OFFSET
_0231ACA4: .word 0x00000DFC + OV29_0231A9F8_OFFSET
_0231ACA8: .word 0x00000141
arm_func_end ov29_0231A9F8
arm_func_start GetEntityMoveTargetAndRange
GetEntityMoveTargetAndRange: ; 0x0231ACAC
stmdb sp!, {r4, r5, r6, lr}
mov r5, r1
ldrh r1, [r5, #4]
mov r4, r2
mov r6, r0
cmp r1, #0xed
cmpeq r4, #0
bne _0231ACE0
mov r1, #0xe
bl MonsterIsType
cmp r0, #0
moveq r0, #0x73
ldmeqia sp!, {r4, r5, r6, pc}
_0231ACE0:
mov r0, r5
mov r1, r4
bl GetMoveTargetAndRange
mov r4, r0
mov r0, r5
bl IsMoveRangeString19
cmp r0, #0
beq _0231AD2C
mov r0, r6
mov r1, #0x55
bl ExclusiveItemEffectIsActive__0231A87C
cmp r0, #0
beq _0231AD2C
ldr r0, _0231AD34 ; =0x00000273
cmp r4, r0
subeq r4, r0, #0x12
beq _0231AD2C
cmp r4, #0x73
moveq r4, #0x61
_0231AD2C:
mov r0, r4
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
_0231AD34: .word 0x00000273
arm_func_end GetEntityMoveTargetAndRange
arm_func_start ov29_0231AD38
ov29_0231AD38: ; 0x0231AD38
stmdb sp!, {r4, r5, r6, lr}
mov r6, r0
mov r5, r1
mov r2, #1
bl GetEntityMoveTargetAndRange
and r4, r0, #0xf
mov r0, r6
mov r1, r5
mov r2, #0
bl GetEntityMoveTargetAndRange
cmp r4, #3
and r0, r0, #0xf
cmpne r4, #1
cmpne r0, #4
cmpne r0, #3
cmpne r0, #1
cmpne r0, #6
beq _0231ADA0
mov r0, r6
mov r1, r5
mov r2, #0
bl GetEntityMoveTargetAndRange
and r0, r0, #0xf0
cmp r0, #0x70
movne r0, #0
ldmneia sp!, {r4, r5, r6, pc}
_0231ADA0:
mov r0, #1
ldmia sp!, {r4, r5, r6, pc}
arm_func_end ov29_0231AD38
arm_func_start ov29_0231ADA8
ov29_0231ADA8: ; 0x0231ADA8
stmdb sp!, {r3, r4, r5, lr}
sub sp, sp, #8
ldr r1, [r0, #0xb4]
mov r0, #0
mov r5, r0
#ifdef JAPAN
add r4, r1, #0x120
#else
add r4, r1, #0x124
#endif
mov ip, r0
mov lr, #1
add r2, sp, #0
_0231ADCC:
ldrb r1, [r4, r5, lsl #3]
add r3, r4, r5, lsl #3
tst r1, #1
movne r1, lr
moveq r1, ip
tst r1, #0xff
beq _0231AE00
ldrh r3, [r3, #4]
add r1, r0, #1
mov r0, r0, lsl #1
mov r1, r1, lsl #0x10
strh r3, [r2, r0]
mov r0, r1, lsr #0x10
_0231AE00:
add r1, r5, #1
mov r1, r1, lsl #0x10
mov r5, r1, lsr #0x10
cmp r5, #4
blo _0231ADCC
cmp r0, #0
moveq r0, #0
beq _0231AE34
bl DungeonRandInt
mov r0, r0, lsl #0x10
add r1, sp, #0
mov r0, r0, lsr #0xf
ldrh r0, [r1, r0]
_0231AE34:
add sp, sp, #8
ldmia sp!, {r3, r4, r5, pc}
arm_func_end ov29_0231ADA8
arm_func_start ov29_0231AE3C
ov29_0231AE3C: ; 0x0231AE3C
stmdb sp!, {r3, lr}
ldr ip, [r0, #0xb4]
mov r0, #0
mov lr, r0
mov r2, r0
mov r3, #1
_0231AE54:
add r1, ip, lr, lsl #3
#ifdef JAPAN
ldrb r1, [r1, #0x120]
#else
ldrb r1, [r1, #0x124]
#endif
tst r1, #1
movne r1, r3
moveq r1, r2
tst r1, #0xff
add r1, lr, #1
addne r0, r0, #1
mov r1, r1, lsl #0x10
movne r0, r0, lsl #0x10
mov lr, r1, lsr #0x10
movne r0, r0, lsr #0x10
cmp lr, #4
blo _0231AE54
ldmia sp!, {r3, pc}
arm_func_end ov29_0231AE3C
arm_func_start GetEntityNaturalGiftInfo
GetEntityNaturalGiftInfo: ; 0x0231AE90
stmdb sp!, {r3, r4, r5, lr}
mov r4, r0
bl IsMonster__0231A9D4
cmp r0, #0
ldrne r4, [r4, #0xb4]
ldrnesh r0, [r4, #0x66]
cmpne r0, #0
beq _0231AF00
mov ip, #0
ldr r3, _0231AF08 ; =NATURAL_GIFT_ITEM_TABLE
mov lr, ip
mov r1, #6
_0231AEC0:
smulbb r5, lr, r1
ldrsh r2, [r3, r5]
cmp r2, #0
beq _0231AEF0
ldrsh r0, [r4, #0x66]
cmp r0, r2
moveq ip, #1
beq _0231AEF0
add r0, lr, #1
mov r0, r0, lsl #0x10
mov lr, r0, asr #0x10
b _0231AEC0
_0231AEF0:
cmp ip, #0
ldrne r0, _0231AF08 ; =NATURAL_GIFT_ITEM_TABLE
addne r0, r0, r5
ldmneia sp!, {r3, r4, r5, pc}
_0231AF00:
mov r0, #0
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
_0231AF08: .word NATURAL_GIFT_ITEM_TABLE
arm_func_end GetEntityNaturalGiftInfo
arm_func_start GetEntityWeatherBallType
GetEntityWeatherBallType: ; 0x0231AF0C
stmdb sp!, {r3, lr}
bl GetApparentWeather
ldr r1, _0231AF20 ; =WEATHER_BALL_TYPE_TABLE
ldrb r0, [r1, r0]
ldmia sp!, {r3, pc}
.align 2, 0
_0231AF20: .word WEATHER_BALL_TYPE_TABLE
arm_func_end GetEntityWeatherBallType
arm_func_start ov29_0231AF24
ov29_0231AF24: ; 0x0231AF24
#ifdef JAPAN
#define OV29_0231AF24_OFFSET -4
#else
#define OV29_0231AF24_OFFSET 0
#endif
stmdb sp!, {r3, r4, r5, r6, lr}
sub sp, sp, #4
mov r6, r0
mov r5, r1
mov r4, r2
bl IsMonster__0231A9D4
cmp r0, #0
beq _0231AFAC
mov r0, r6
mov r1, r5
bl ov29_022FB9E0
mov r1, r0
cmp r4, #0
beq _0231AF98
cmp r1, #0
bge _0231AF98
ldr r4, [r6, #0xb4]
mov r1, #0
mov r2, r1
add r0, r4, #0x4a
bl SetActionUseMoveAi
mov r2, #1
strb r2, [r4, #0x124 + OV29_0231AF24_OFFSET]
add r0, r4, #0x100
mov r1, #0
strh r1, [r0, #0x26 + OV29_0231AF24_OFFSET]
strh r5, [r0, #0x28 + OV29_0231AF24_OFFSET]
strb r2, [r4, #0x12a + OV29_0231AF24_OFFSET]
strb r1, [r4, #0x12b + OV29_0231AF24_OFFSET]
_0231AF98:
mov r3, #0
mov r0, r6
mov r2, #1
str r3, [sp]
bl ov29_0232145C
_0231AFAC:
add sp, sp, #4
ldmia sp!, {r3, r4, r5, r6, pc}
arm_func_end ov29_0231AF24
arm_func_start ov29_0231AFB4
ov29_0231AFB4: ; 0x0231AFB4
stmdb sp!, {r4, lr}
mov ip, #0
ldr r1, _0231B004 ; =DUNGEON_PTR
mov r2, ip
mov r3, ip
_0231AFC8:
ldr r0, [r1]
mov r4, r3
#ifdef JAPAN
add r0, r0, #0x1840
add r0, r0, #0x18000
#else
add r0, r0, #0xe4
add r0, r0, #0x19800
#endif
add lr, r0, ip, lsl #4
_0231AFDC:
str r2, [lr, r4, lsl #3]
add r0, lr, r4, lsl #3
add r4, r4, #1
str r2, [r0, #4]
cmp r4, #2
blt _0231AFDC
add ip, ip, #1
cmp ip, #2
blt _0231AFC8
ldmia sp!, {r4, pc}
.align 2, 0
_0231B004: .word DUNGEON_PTR
arm_func_end ov29_0231AFB4
arm_func_start ov29_0231B008
ov29_0231B008: ; 0x0231B008
stmdb sp!, {r3, r4, r5, lr}
mov lr, #0
ldr r1, _0231B05C ; =DUNGEON_PTR
mov r3, lr
mov r2, #2
mov ip, lr
_0231B020:
ldr r0, [r1]
mov r5, ip
#ifdef JAPAN
add r0, r0, #0x1840
add r0, r0, #0x18000
#else
add r0, r0, #0xe4
add r0, r0, #0x19800
#endif
add r4, r0, lr, lsl #4
_0231B034:
str r3, [r4, r5, lsl #3]
add r0, r4, r5, lsl #3
add r5, r5, #1
str r2, [r0, #4]
cmp r5, #2
blt _0231B034
add lr, lr, #1
cmp lr, #2
blt _0231B020
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
_0231B05C: .word DUNGEON_PTR
arm_func_end ov29_0231B008
arm_func_start ActivateMotorDrive
ActivateMotorDrive: ; 0x0231B060
stmdb sp!, {r3, r4, lr}
sub sp, sp, #4
#ifdef JAPAN
mov ip, #0x66
mov r4, r0
rsb r2, ip, #0x9e0
#else
ldr r2, _0231B0A0 ; =0x00000C3B
mov ip, #0x66
mov r4, r0
#endif
mov r1, #0
mov r3, #2
str ip, [sp]
bl LogMessageByIdWithPopupCheckParticipants
mov r0, r4
mov r1, r4
mov r2, #0
mov r3, #1
bl BoostSpeedOneStage
add sp, sp, #4
ldmia sp!, {r3, r4, pc}
.align 2, 0
#ifndef JAPAN
_0231B0A0: .word 0x00000C3B
#endif
arm_func_end ActivateMotorDrive
arm_func_start TryActivateFrisk
TryActivateFrisk: ; 0x0231B0A4
stmdb sp!, {r4, r5, r6, lr}
sub sp, sp, #8
mov r5, r0
mov r4, r1
bl EntityIsValid__0231B194
cmp r0, #0
beq _0231B184
mov r0, r4
bl EntityIsValid__0231B194
cmp r0, #0
beq _0231B184
ldr r0, [r5, #0xb4]
ldr r6, [r4, #0xb4]
ldrb r0, [r0, #6]
cmp r0, #0
bne _0231B184
bl ov29_0232E80C
cmp r4, r0
ldrneb r0, [r6, #6]
cmpne r0, #0
beq _0231B184
ldrsh r0, [r6, #0x66]
cmp r0, #0
bne _0231B150
ldrsh r0, [r6, #2]
add r1, sp, #0
bl GetTreasureBoxChances
ldrsh r0, [sp, #4]
cmp r0, #0
ldrlesh r0, [sp, #6]
cmple r0, #0
ble _0231B184
mov r0, r5
bl ov29_022E4110
mov r1, r4
mov r0, #1
mov r2, #0
bl SubstitutePlaceholderStringTags
ldr r2, _0231B18C ; =0x00000C3D
mov r0, r5
mov r1, r4
bl LogMessageByIdWithPopupCheckUserTarget
b _0231B184
_0231B150:
mov r0, r5
bl ov29_022E4110
mov r1, r4
mov r0, #1
mov r2, #0
bl SubstitutePlaceholderStringTags
add r1, r6, #0x62
mov r0, #2
bl ov29_02344B44
ldr r2, _0231B190 ; =0x00000C3C
mov r0, r5
mov r1, r4
bl LogMessageByIdWithPopupCheckUserTarget
_0231B184:
add sp, sp, #8
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
#ifdef JAPAN
_0231B18C: .word 0x0000097C
_0231B190: .word 0x0000097B
#else
_0231B18C: .word 0x00000C3D
_0231B190: .word 0x00000C3C
#endif
arm_func_end TryActivateFrisk

628
asm/overlay_29_0231A9F8.s Normal file
View File

@@ -0,0 +1,628 @@
.include "asm/macros.inc"
.include "overlay_29_0231A9F8.inc"
.text
arm_func_start ov29_0231A9F8
ov29_0231A9F8: ; 0x0231A9F8
stmdb sp!, {r4, r5, r6, r7, lr}
sub sp, sp, #0x34
mov r7, r0
mov r1, #0
mov r2, #0x15
ldr r5, [r7, #0xb4]
bl GetItemToUse
mov r1, r0
ldrb r0, [r1]
ldrh r4, [r1]
ldrh r3, [r1, #2]
ldrh r2, [r1, #4]
tst r0, #8
movne r0, #1
moveq r0, #0
strh r4, [sp, #0x18]
strh r3, [sp, #0x1a]
strh r2, [sp, #0x1c]
tst r0, #0xff
beq _0231AA60
mov r0, #0
bl ov29_02344B44
ldr r1, _0231AC90 ; =0x00000DF8
mov r0, r7
bl LogMessageByIdWithPopupCheckUser
b _0231AC88
_0231AA60:
mov r0, r7
bl ov29_022FBAB4
add r2, sp, #0x1e
add r3, r5, #0x4a
mov r1, #0xa
_0231AA74:
ldrh r0, [r3], #2
subs r1, r1, #1
strh r0, [r2], #2
bne _0231AA74
ldr r0, _0231AC94 ; =DUNGEON_PTR
ldr r0, [r0]
add r0, r0, #0x4000
#ifdef JAPAN
ldrb r0, [r0, #0x36]
#else
ldrb r0, [r0, #0xda]
#endif
bl AreOrbsAllowed
cmp r0, #0
mov r4, #1
bne _0231AAB4
ldr r1, _0231AC98 ; =0x00000DF9
mov r0, r7
bl LogMessageByIdWithPopupCheckUser
b _0231AC24
_0231AAB4:
ldrsh r6, [sp, #0x1c]
mov r0, r6
bl GetItemMoveId16
mov r1, r0
add r0, sp, #0x10
bl InitMove
ldrb r0, [r5, #7]
cmp r0, #0
bne _0231AB18
mov r2, r4
mov r3, #0xa
strb r2, [sp, #8]
add r0, sp, #8
mov r1, r7
#ifdef JAPAN
add r2, r5, #0x120
#else
add r2, r5, #0x124
#endif
str r3, [sp, #0xc]
bl AiConsiderMove
ldrb r0, [sp, #8]
cmp r0, #0
beq _0231AB18
ldrb r1, [sp, #9]
mov r0, r7
and r1, r1, #7
strb r1, [r5, #0x4c]
bl UpdateAiTargetPos
_0231AB18:
ldrb r0, [r5, #0xd0]
cmp r0, #1
bne _0231AB48
mov r0, #0
mov r1, r7
mov r2, r0
bl SubstitutePlaceholderStringTags
ldr r1, _0231AC9C ; =0x00000DFA
mov r0, r7
bl LogMessageByIdWithPopupCheckUser
mov r4, #0
b _0231ABA0
_0231AB48:
cmp r0, #7
bne _0231AB74
mov r0, #0
mov r1, r7
mov r2, r0
bl SubstitutePlaceholderStringTags
ldr r1, _0231ACA0 ; =0x00000DFB
mov r0, r7
bl LogMessageByIdWithPopupCheckUser
mov r4, #0
b _0231ABA0
_0231AB74:
ldrb r0, [r5, #0xbf]
cmp r0, #4
bne _0231ABA0
mov r0, #0
mov r1, r7
mov r2, r0
bl SubstitutePlaceholderStringTags
ldr r1, _0231ACA4 ; =0x00000DFC
mov r0, r7
bl LogMessageByIdWithPopupCheckUser
mov r4, #0
_0231ABA0:
cmp r4, #0
beq _0231AC20
cmp r6, #0x138
ldrne r0, _0231ACA8 ; =0x00000141
mov r1, #0
cmpne r6, r0
bne _0231AC00
mov r0, r7
mov r2, #0x7a
bl RemoveUsedItem
ldrb r2, [sp, #0x10]
mov r0, #0xa
mov r1, #0
orr r2, r2, #0xc
strb r2, [sp, #0x10]
strb r0, [sp, #0x16]
add r4, sp, #0x10
mov r0, r7
mov r2, r6
mov r3, r1
stmia sp, {r1, r4}
bl ov29_02322374
mov r4, #0
b _0231AC24
_0231AC00:
add r4, sp, #0x10
mov r0, r7
mov r2, r6
mov r3, r1
stmia sp, {r1, r4}
bl ov29_02322374
mov r4, r0
b _0231AC24
_0231AC20:
mov r4, #0
_0231AC24:
mov r0, r7
bl EntityIsValid__02319F8C
cmp r0, #0
beq _0231AC60
cmp r4, #0
beq _0231AC4C
mov r0, r7
mov r1, #0
mov r2, #0x7a
bl RemoveUsedItem
_0231AC4C:
mov r0, r7
bl EnemyEvolution
mov r0, r7
bl ov29_02321274
b _0231AC74
_0231AC60:
cmp r4, #0
beq _0231AC74
add r0, sp, #0x1e
mov r1, #0
bl ov29_022EB4E8
_0231AC74:
bl IsFloorOver
cmp r0, #0
bne _0231AC88
mov r0, r7
bl TryActivateTruant
_0231AC88:
add sp, sp, #0x34
ldmia sp!, {r4, r5, r6, r7, pc}
.align 2, 0
#ifdef JAPAN
#define OV29_0231A9F8_OFFSET -0x2C0
#else
#define OV29_0231A9F8_OFFSET 0
#endif
_0231AC90: .word 0x00000DF8 + OV29_0231A9F8_OFFSET
_0231AC94: .word DUNGEON_PTR
_0231AC98: .word 0x00000DF9 + OV29_0231A9F8_OFFSET
_0231AC9C: .word 0x00000DFA + OV29_0231A9F8_OFFSET
_0231ACA0: .word 0x00000DFB + OV29_0231A9F8_OFFSET
_0231ACA4: .word 0x00000DFC + OV29_0231A9F8_OFFSET
_0231ACA8: .word 0x00000141
arm_func_end ov29_0231A9F8
arm_func_start GetEntityMoveTargetAndRange
GetEntityMoveTargetAndRange: ; 0x0231ACAC
stmdb sp!, {r4, r5, r6, lr}
mov r5, r1
ldrh r1, [r5, #4]
mov r4, r2
mov r6, r0
cmp r1, #0xed
cmpeq r4, #0
bne _0231ACE0
mov r1, #0xe
bl MonsterIsType
cmp r0, #0
moveq r0, #0x73
ldmeqia sp!, {r4, r5, r6, pc}
_0231ACE0:
mov r0, r5
mov r1, r4
bl GetMoveTargetAndRange
mov r4, r0
mov r0, r5
bl IsMoveRangeString19
cmp r0, #0
beq _0231AD2C
mov r0, r6
mov r1, #0x55
bl ExclusiveItemEffectIsActive__0231A87C
cmp r0, #0
beq _0231AD2C
ldr r0, _0231AD34 ; =0x00000273
cmp r4, r0
subeq r4, r0, #0x12
beq _0231AD2C
cmp r4, #0x73
moveq r4, #0x61
_0231AD2C:
mov r0, r4
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
_0231AD34: .word 0x00000273
arm_func_end GetEntityMoveTargetAndRange
arm_func_start ov29_0231AD38
ov29_0231AD38: ; 0x0231AD38
stmdb sp!, {r4, r5, r6, lr}
mov r6, r0
mov r5, r1
mov r2, #1
bl GetEntityMoveTargetAndRange
and r4, r0, #0xf
mov r0, r6
mov r1, r5
mov r2, #0
bl GetEntityMoveTargetAndRange
cmp r4, #3
and r0, r0, #0xf
cmpne r4, #1
cmpne r0, #4
cmpne r0, #3
cmpne r0, #1
cmpne r0, #6
beq _0231ADA0
mov r0, r6
mov r1, r5
mov r2, #0
bl GetEntityMoveTargetAndRange
and r0, r0, #0xf0
cmp r0, #0x70
movne r0, #0
ldmneia sp!, {r4, r5, r6, pc}
_0231ADA0:
mov r0, #1
ldmia sp!, {r4, r5, r6, pc}
arm_func_end ov29_0231AD38
arm_func_start ov29_0231ADA8
ov29_0231ADA8: ; 0x0231ADA8
stmdb sp!, {r3, r4, r5, lr}
sub sp, sp, #8
ldr r1, [r0, #0xb4]
mov r0, #0
mov r5, r0
#ifdef JAPAN
add r4, r1, #0x120
#else
add r4, r1, #0x124
#endif
mov ip, r0
mov lr, #1
add r2, sp, #0
_0231ADCC:
ldrb r1, [r4, r5, lsl #3]
add r3, r4, r5, lsl #3
tst r1, #1
movne r1, lr
moveq r1, ip
tst r1, #0xff
beq _0231AE00
ldrh r3, [r3, #4]
add r1, r0, #1
mov r0, r0, lsl #1
mov r1, r1, lsl #0x10
strh r3, [r2, r0]
mov r0, r1, lsr #0x10
_0231AE00:
add r1, r5, #1
mov r1, r1, lsl #0x10
mov r5, r1, lsr #0x10
cmp r5, #4
blo _0231ADCC
cmp r0, #0
moveq r0, #0
beq _0231AE34
bl DungeonRandInt
mov r0, r0, lsl #0x10
add r1, sp, #0
mov r0, r0, lsr #0xf
ldrh r0, [r1, r0]
_0231AE34:
add sp, sp, #8
ldmia sp!, {r3, r4, r5, pc}
arm_func_end ov29_0231ADA8
arm_func_start ov29_0231AE3C
ov29_0231AE3C: ; 0x0231AE3C
stmdb sp!, {r3, lr}
ldr ip, [r0, #0xb4]
mov r0, #0
mov lr, r0
mov r2, r0
mov r3, #1
_0231AE54:
add r1, ip, lr, lsl #3
#ifdef JAPAN
ldrb r1, [r1, #0x120]
#else
ldrb r1, [r1, #0x124]
#endif
tst r1, #1
movne r1, r3
moveq r1, r2
tst r1, #0xff
add r1, lr, #1
addne r0, r0, #1
mov r1, r1, lsl #0x10
movne r0, r0, lsl #0x10
mov lr, r1, lsr #0x10
movne r0, r0, lsr #0x10
cmp lr, #4
blo _0231AE54
ldmia sp!, {r3, pc}
arm_func_end ov29_0231AE3C
arm_func_start GetEntityNaturalGiftInfo
GetEntityNaturalGiftInfo: ; 0x0231AE90
stmdb sp!, {r3, r4, r5, lr}
mov r4, r0
bl IsMonster__0231A9D4
cmp r0, #0
ldrne r4, [r4, #0xb4]
ldrnesh r0, [r4, #0x66]
cmpne r0, #0
beq _0231AF00
mov ip, #0
ldr r3, _0231AF08 ; =NATURAL_GIFT_ITEM_TABLE
mov lr, ip
mov r1, #6
_0231AEC0:
smulbb r5, lr, r1
ldrsh r2, [r3, r5]
cmp r2, #0
beq _0231AEF0
ldrsh r0, [r4, #0x66]
cmp r0, r2
moveq ip, #1
beq _0231AEF0
add r0, lr, #1
mov r0, r0, lsl #0x10
mov lr, r0, asr #0x10
b _0231AEC0
_0231AEF0:
cmp ip, #0
ldrne r0, _0231AF08 ; =NATURAL_GIFT_ITEM_TABLE
addne r0, r0, r5
ldmneia sp!, {r3, r4, r5, pc}
_0231AF00:
mov r0, #0
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
_0231AF08: .word NATURAL_GIFT_ITEM_TABLE
arm_func_end GetEntityNaturalGiftInfo
arm_func_start GetEntityWeatherBallType
GetEntityWeatherBallType: ; 0x0231AF0C
stmdb sp!, {r3, lr}
bl GetApparentWeather
ldr r1, _0231AF20 ; =WEATHER_BALL_TYPE_TABLE
ldrb r0, [r1, r0]
ldmia sp!, {r3, pc}
.align 2, 0
_0231AF20: .word WEATHER_BALL_TYPE_TABLE
arm_func_end GetEntityWeatherBallType
arm_func_start ov29_0231AF24
ov29_0231AF24: ; 0x0231AF24
#ifdef JAPAN
#define OV29_0231AF24_OFFSET -4
#else
#define OV29_0231AF24_OFFSET 0
#endif
stmdb sp!, {r3, r4, r5, r6, lr}
sub sp, sp, #4
mov r6, r0
mov r5, r1
mov r4, r2
bl IsMonster__0231A9D4
cmp r0, #0
beq _0231AFAC
mov r0, r6
mov r1, r5
bl ov29_022FB9E0
mov r1, r0
cmp r4, #0
beq _0231AF98
cmp r1, #0
bge _0231AF98
ldr r4, [r6, #0xb4]
mov r1, #0
mov r2, r1
add r0, r4, #0x4a
bl SetActionUseMoveAi
mov r2, #1
strb r2, [r4, #0x124 + OV29_0231AF24_OFFSET]
add r0, r4, #0x100
mov r1, #0
strh r1, [r0, #0x26 + OV29_0231AF24_OFFSET]
strh r5, [r0, #0x28 + OV29_0231AF24_OFFSET]
strb r2, [r4, #0x12a + OV29_0231AF24_OFFSET]
strb r1, [r4, #0x12b + OV29_0231AF24_OFFSET]
_0231AF98:
mov r3, #0
mov r0, r6
mov r2, #1
str r3, [sp]
bl ov29_0232145C
_0231AFAC:
add sp, sp, #4
ldmia sp!, {r3, r4, r5, r6, pc}
arm_func_end ov29_0231AF24
arm_func_start ov29_0231AFB4
ov29_0231AFB4: ; 0x0231AFB4
stmdb sp!, {r4, lr}
mov ip, #0
ldr r1, _0231B004 ; =DUNGEON_PTR
mov r2, ip
mov r3, ip
_0231AFC8:
ldr r0, [r1]
mov r4, r3
#ifdef JAPAN
add r0, r0, #0x1840
add r0, r0, #0x18000
#else
add r0, r0, #0xe4
add r0, r0, #0x19800
#endif
add lr, r0, ip, lsl #4
_0231AFDC:
str r2, [lr, r4, lsl #3]
add r0, lr, r4, lsl #3
add r4, r4, #1
str r2, [r0, #4]
cmp r4, #2
blt _0231AFDC
add ip, ip, #1
cmp ip, #2
blt _0231AFC8
ldmia sp!, {r4, pc}
.align 2, 0
_0231B004: .word DUNGEON_PTR
arm_func_end ov29_0231AFB4
arm_func_start ov29_0231B008
ov29_0231B008: ; 0x0231B008
stmdb sp!, {r3, r4, r5, lr}
mov lr, #0
ldr r1, _0231B05C ; =DUNGEON_PTR
mov r3, lr
mov r2, #2
mov ip, lr
_0231B020:
ldr r0, [r1]
mov r5, ip
#ifdef JAPAN
add r0, r0, #0x1840
add r0, r0, #0x18000
#else
add r0, r0, #0xe4
add r0, r0, #0x19800
#endif
add r4, r0, lr, lsl #4
_0231B034:
str r3, [r4, r5, lsl #3]
add r0, r4, r5, lsl #3
add r5, r5, #1
str r2, [r0, #4]
cmp r5, #2
blt _0231B034
add lr, lr, #1
cmp lr, #2
blt _0231B020
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
_0231B05C: .word DUNGEON_PTR
arm_func_end ov29_0231B008
arm_func_start ActivateMotorDrive
ActivateMotorDrive: ; 0x0231B060
stmdb sp!, {r3, r4, lr}
sub sp, sp, #4
#ifdef JAPAN
mov ip, #0x66
mov r4, r0
rsb r2, ip, #0x9e0
#else
ldr r2, _0231B0A0 ; =0x00000C3B
mov ip, #0x66
mov r4, r0
#endif
mov r1, #0
mov r3, #2
str ip, [sp]
bl LogMessageByIdWithPopupCheckParticipants
mov r0, r4
mov r1, r4
mov r2, #0
mov r3, #1
bl BoostSpeedOneStage
add sp, sp, #4
ldmia sp!, {r3, r4, pc}
.align 2, 0
#ifndef JAPAN
_0231B0A0: .word 0x00000C3B
#endif
arm_func_end ActivateMotorDrive
arm_func_start TryActivateFrisk
TryActivateFrisk: ; 0x0231B0A4
stmdb sp!, {r4, r5, r6, lr}
sub sp, sp, #8
mov r5, r0
mov r4, r1
bl EntityIsValid__0231B194
cmp r0, #0
beq _0231B184
mov r0, r4
bl EntityIsValid__0231B194
cmp r0, #0
beq _0231B184
ldr r0, [r5, #0xb4]
ldr r6, [r4, #0xb4]
ldrb r0, [r0, #6]
cmp r0, #0
bne _0231B184
bl ov29_0232E80C
cmp r4, r0
ldrneb r0, [r6, #6]
cmpne r0, #0
beq _0231B184
ldrsh r0, [r6, #0x66]
cmp r0, #0
bne _0231B150
ldrsh r0, [r6, #2]
add r1, sp, #0
bl GetTreasureBoxChances
ldrsh r0, [sp, #4]
cmp r0, #0
ldrlesh r0, [sp, #6]
cmple r0, #0
ble _0231B184
mov r0, r5
bl ov29_022E4110
mov r1, r4
mov r0, #1
mov r2, #0
bl SubstitutePlaceholderStringTags
ldr r2, _0231B18C ; =0x00000C3D
mov r0, r5
mov r1, r4
bl LogMessageByIdWithPopupCheckUserTarget
b _0231B184
_0231B150:
mov r0, r5
bl ov29_022E4110
mov r1, r4
mov r0, #1
mov r2, #0
bl SubstitutePlaceholderStringTags
add r1, r6, #0x62
mov r0, #2
bl ov29_02344B44
ldr r2, _0231B190 ; =0x00000C3C
mov r0, r5
mov r1, r4
bl LogMessageByIdWithPopupCheckUserTarget
_0231B184:
add sp, sp, #8
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
#ifdef JAPAN
_0231B18C: .word 0x0000097C
_0231B190: .word 0x0000097B
#else
_0231B18C: .word 0x00000C3D
_0231B190: .word 0x00000C3C
#endif
arm_func_end TryActivateFrisk

File diff suppressed because it is too large Load Diff

1798
asm/overlay_29_0231B33C.s Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

2991
asm/overlay_29_02322DDC.s Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -4766,758 +4766,3 @@ _0234D454: .word ov29_02353563
_0234D458: .word ov29_02353368
_0234D45C: .word ov29_02353380
arm_func_end ov29_0234D304
arm_func_start IsMonster__0234D460
IsMonster__0234D460: ; 0x0234D460
cmp r0, #0
moveq r0, #0
bxeq lr
ldr r0, [r0]
cmp r0, #1
moveq r0, #1
movne r0, #0
and r0, r0, #0xff
bx lr
arm_func_end IsMonster__0234D460
arm_func_start ov29_0234D484
ov29_0234D484: ; 0x0234D484
stmdb sp!, {r3, r4, r5, lr}
mov r5, r0
mov r0, r1
bl StringFromId
mov r4, r0
mov r0, #0
mov r1, r0
mov r2, r4
mov r3, #1
bl ov29_0234D304
mov r0, r5
mov r1, r4
bl LogMessageQuiet
ldmia sp!, {r3, r4, r5, pc}
arm_func_end ov29_0234D484
arm_func_start ov29_0234D4BC
ov29_0234D4BC: ; 0x0234D4BC
stmdb sp!, {r3, r4, r5, r6, r7, lr}
mov r7, r0
mov r6, r1
mov r5, r2
mov r4, r3
bl ov29_0234D558
bl ov29_0234D630
bl ov29_0234B034
mov r1, r0
mov r2, r7
mov r3, r5
mov r0, r6
str r4, [sp]
bl ov29_0234D750
mov r4, r0
ldrb r0, [sp, #0x18]
cmp r0, #0
moveq r0, #1
movne r0, #0
and r0, r0, #0xff
bl ov29_0234D8A0
mov r0, r4
ldmia sp!, {r3, r4, r5, r6, r7, pc}
arm_func_end ov29_0234D4BC
arm_func_start YesNoMenu
YesNoMenu: ; 0x0234D518
stmdb sp!, {r3, r4, r5, r6, lr}
sub sp, sp, #4
mov r6, r0
mov r0, r1
mov r5, r2
mov r4, r3
bl StringFromId
ldrb ip, [sp, #0x18]
mov r1, r0
mov r0, r6
mov r2, r5
mov r3, r4
str ip, [sp]
bl ov29_0234D4BC
add sp, sp, #4
ldmia sp!, {r3, r4, r5, r6, pc}
arm_func_end YesNoMenu
arm_func_start ov29_0234D558
ov29_0234D558: ; 0x0234D558
stmdb sp!, {r4, lr}
bl ov29_0234B73C
mov r4, r0
mov r0, #2
mov r1, #0
bl ov29_022EA428
cmp r4, #0
ldmeqia sp!, {r4, pc}
mov r0, #0
bl ov29_0234B1A4
mov r0, #0xa
mov r1, r0
bl ov29_022EA370
ldmia sp!, {r4, pc}
arm_func_end ov29_0234D558
arm_func_start DisplayMessageInternal
DisplayMessageInternal: ; 0x0234D590
stmdb sp!, {r4, r5, r6, lr}
sub sp, sp, #8
mov r6, r1
mov r5, r2
mov r4, r3
bl StringFromId
ldr r1, [sp, #0x18]
ldrb ip, [sp, #0x1c]
str r1, [sp]
mov r1, r6
mov r2, r5
mov r3, r4
str ip, [sp, #4]
bl ov29_0234D5D0
add sp, sp, #8
ldmia sp!, {r4, r5, r6, pc}
arm_func_end DisplayMessageInternal
arm_func_start ov29_0234D5D0
ov29_0234D5D0: ; 0x0234D5D0
stmdb sp!, {r3, r4, r5, r6, r7, lr}
mov r7, r0
mov r6, r1
mov r0, #2
mov r1, #0
mov r5, r2
mov r4, r3
bl ov29_022EA428
mov r0, #1
bl ov29_0234B4CC
bl ov29_0234DB58
mov r0, r5
bl ov29_0234DBE0
mov r0, r7
mov r3, r4
str r6, [sp]
ldr r1, [sp, #0x18]
mov r2, #0
bl ov29_0234DC3C
bl ov29_0234D9C0
mov r0, r6
ldrb r1, [sp, #0x1c]
bl ov29_0234D8B4
ldmia sp!, {r3, r4, r5, r6, r7, pc}
arm_func_end ov29_0234D5D0
arm_func_start ov29_0234D630
ov29_0234D630: ; 0x0234D630
stmdb sp!, {r3, lr}
mov r0, #2
mov r1, #0
bl ov29_022EA428
mov r0, #1
bl ov29_0234B4CC
bl ov29_0234DB58
ldmia sp!, {r3, pc}
arm_func_end ov29_0234D630
arm_func_start ov29_0234D650
ov29_0234D650: ; 0x0234D650
ldr ip, _0234D658 ; =ov29_0234D9C0
bx ip
.align 2, 0
_0234D658: .word ov29_0234D9C0
arm_func_end ov29_0234D650
arm_func_start ov29_0234D65C
ov29_0234D65C: ; 0x0234D65C
ldr ip, _0234D664 ; =ov29_0234DBE0
bx ip
.align 2, 0
_0234D664: .word ov29_0234DBE0
arm_func_end ov29_0234D65C
arm_func_start ov29_0234D668
ov29_0234D668: ; 0x0234D668
stmdb sp!, {r3, lr}
ldr r0, _0234D68C ; =ov29_02382800
mvn r1, #1
ldr r0, [r0]
ldrsb r0, [r0, #0x12]
cmp r0, r1
ldmeqia sp!, {r3, pc}
bl HidePortraitBox
ldmia sp!, {r3, pc}
.align 2, 0
_0234D68C: .word ov29_02382800
arm_func_end ov29_0234D668
arm_func_start ov29_0234D690
ov29_0234D690: ; 0x0234D690
stmdb sp!, {r3, r4, r5, r6, lr}
sub sp, sp, #4
mov r6, r1
mov r5, r2
mov r4, r3
bl StringFromId
ldrb ip, [sp, #0x18]
mov r1, r6
mov r2, r5
mov r3, r4
str ip, [sp]
bl ov29_0234DC3C
add sp, sp, #4
ldmia sp!, {r3, r4, r5, r6, pc}
arm_func_end ov29_0234D690
arm_func_start ov29_0234D6C8
ov29_0234D6C8: ; 0x0234D6C8
stmdb sp!, {r3, r4, r5, r6, lr}
sub sp, sp, #4
mov r6, r0
mov r0, r2
mov r5, r1
mov r4, r3
bl ov29_0234DBE0
ldrb ip, [sp, #0x18]
mov r0, r6
mov r1, r5
mov r3, r4
mov r2, #0
str ip, [sp]
bl ov29_0234DC3C
bl ov29_0234D9C0
add sp, sp, #4
ldmia sp!, {r3, r4, r5, r6, pc}
arm_func_end ov29_0234D6C8
arm_func_start ov29_0234D70C
ov29_0234D70C: ; 0x0234D70C
stmdb sp!, {r3, r4, r5, r6, r7, lr}
mov r6, r2
mov r7, r1
mov r5, r3
bl StringFromId
mov r4, r0
mov r0, r6
bl ov29_0234DBE0
mov r0, r4
mov r1, r7
mov r3, r5
ldrb ip, [sp, #0x18]
mov r2, #0
str ip, [sp]
bl ov29_0234DC3C
bl ov29_0234D9C0
ldmia sp!, {r3, r4, r5, r6, r7, pc}
arm_func_end ov29_0234D70C
arm_func_start ov29_0234D750
ov29_0234D750: ; 0x0234D750
stmdb sp!, {r3, r4, r5, r6, lr}
sub sp, sp, #0xc
ldrb ip, [sp, #0x20]
mov r4, r2
mov r6, r0
mov r5, r1
mov r2, #0
mov r1, r3
add r0, sp, #4
mov r3, r2
str ip, [sp]
bl ov29_0234D860
mov r0, r4
bl ov29_0234DBE0
mov r2, #1
str r2, [sp]
mov r0, r6
mov r1, r5
add r2, sp, #4
mov r3, #0
bl ov29_0234DC3C
bl ov29_0234D9C0
ldr r0, _0234D7BC ; =ov29_02382800
ldr r0, [r0]
ldr r0, [r0, #0x46c]
add sp, sp, #0xc
ldmia sp!, {r3, r4, r5, r6, pc}
.align 2, 0
_0234D7BC: .word ov29_02382800
arm_func_end ov29_0234D750
arm_func_start ov29_0234D7C0
ov29_0234D7C0: ; 0x0234D7C0
stmdb sp!, {r4, r5, r6, r7, lr}
sub sp, sp, #0xc
mov r7, r1
mov r6, r2
mov r5, r3
bl StringFromId
ldrb r1, [sp, #0x20]
mov r2, #0
mov r4, r0
str r1, [sp]
add r0, sp, #4
mov r1, r5
mov r3, r2
bl ov29_0234D860
mov r0, r6
bl ov29_0234DBE0
mov r2, #1
str r2, [sp]
mov r0, r4
mov r1, r7
add r2, sp, #4
mov r3, #0
bl ov29_0234DC3C
bl ov29_0234D9C0
ldr r0, _0234D834 ; =ov29_02382800
ldr r0, [r0]
ldr r0, [r0, #0x46c]
add sp, sp, #0xc
ldmia sp!, {r4, r5, r6, r7, pc}
.align 2, 0
_0234D834: .word ov29_02382800
arm_func_end ov29_0234D7C0
arm_func_start ov29_0234D838
ov29_0234D838: ; 0x0234D838
stmdb sp!, {r3, lr}
ldr r0, _0234D85C ; =ov29_02382800
mvn r1, #1
ldr r0, [r0]
ldrsb r0, [r0, #0x10]
cmp r0, r1
ldmeqia sp!, {r3, pc}
bl sub_0202F334
ldmia sp!, {r3, pc}
.align 2, 0
_0234D85C: .word ov29_02382800
arm_func_end ov29_0234D838
arm_func_start ov29_0234D860
ov29_0234D860: ; 0x0234D860
ldrb ip, [sp]
strb r3, [r0]
strb ip, [r0, #1]
strh r1, [r0, #2]
str r2, [r0, #4]
bx lr
arm_func_end ov29_0234D860
arm_func_start ov29_0234D878
ov29_0234D878: ; 0x0234D878
ldr r1, _0234D888 ; =ov29_02382800
ldr r1, [r1]
str r0, [r1, #0x474]
bx lr
.align 2, 0
_0234D888: .word ov29_02382800
arm_func_end ov29_0234D878
arm_func_start ov29_0234D88C
ov29_0234D88C: ; 0x0234D88C
ldr r0, _0234D89C ; =ov29_02382800
ldr r0, [r0]
ldr r0, [r0, #0x46c]
bx lr
.align 2, 0
_0234D89C: .word ov29_02382800
arm_func_end ov29_0234D88C
arm_func_start ov29_0234D8A0
ov29_0234D8A0: ; 0x0234D8A0
ldr ip, _0234D8B0 ; =ov29_0234D8B4
mov r1, r0
mov r0, #0
bx ip
.align 2, 0
_0234D8B0: .word ov29_0234D8B4
arm_func_end ov29_0234D8A0
arm_func_start ov29_0234D8B4
ov29_0234D8B4: ; 0x0234D8B4
stmdb sp!, {r3, r4, r5, lr}
ldr r2, _0234D9BC ; =ov29_02382800
mov r5, r0
ldr r0, [r2]
mov r4, r1
cmp r0, #0
beq _0234D970
ldrsb r0, [r0, #0x12]
mvn r1, #1
cmp r0, r1
beq _0234D8E4
bl HidePortraitBox
_0234D8E4:
ldr r0, _0234D9BC ; =ov29_02382800
ldr r0, [r0]
ldrsb r0, [r0, #0x10]
bl sub_0202F334
mov r0, #8
mov r1, #0x62
bl ov29_022EA370
ldr r0, _0234D9BC ; =ov29_02382800
mvn r1, #1
ldr r0, [r0]
ldrsb r0, [r0, #0x11]
cmp r0, r1
beq _0234D91C
bl CloseParentMenu
_0234D91C:
ldr r0, _0234D9BC ; =ov29_02382800
mvn r1, #1
ldr r0, [r0]
ldrsb r0, [r0, #0x12]
cmp r0, r1
beq _0234D948
bl ClosePortraitBox
ldr r0, _0234D9BC ; =ov29_02382800
mvn r1, #1
ldr r0, [r0]
strb r1, [r0, #0x12]
_0234D948:
ldr r0, _0234D9BC ; =ov29_02382800
ldr r0, [r0]
ldrsb r0, [r0, #0x10]
bl CloseDialogueBox
ldr r0, _0234D9BC ; =ov29_02382800
ldr r0, [r0]
bl MemFree
ldr r0, _0234D9BC ; =ov29_02382800
mov r1, #0
str r1, [r0]
_0234D970:
mov r0, #0x62
bl AdvanceFrame
cmp r5, #0
beq _0234D994
bl ov29_022F2FE4
bl ov29_02339148
mov r0, #8
mov r1, #9
bl ov29_022EA370
_0234D994:
cmp r4, #0
beq _0234D9A8
mov r0, #0
mov r1, r0
bl ov29_022EA428
_0234D9A8:
bl sub_02006B70
bl ov29_022E0B44
mov r0, #0
bl ov29_0234B4CC
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
_0234D9BC: .word ov29_02382800
arm_func_end ov29_0234D8B4
arm_func_start ov29_0234D9C0
ov29_0234D9C0: ; 0x0234D9C0
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
mvn r8, #1
mov r7, #0
ldr r6, _0234DB50 ; =ov29_02382800
sub r5, r8, #3
sub r4, r8, #2
mov sb, #1
mov fp, r7
_0234D9E0:
mov r0, #0x62
bl AdvanceFrame
ldr r1, [r6]
ldrb r0, [r1, #0x466]
cmp r0, #0
beq _0234DB2C
add r0, r1, #0x400
ldrsh r0, [r0, #0x6a]
mov sl, #0
cmp r0, #0
bne _0234DA90
ldrsb r0, [r1, #0x10]
bl IsDialogueBoxActive
cmp r0, #0
bne _0234DB44
ldr r0, [r6]
add r0, r0, #0x400
strh sb, [r0, #0x6a]
ldr r0, [r6]
ldr r3, [r0, #0x470]
ldrb r0, [r0, #0x467]
cmp r3, #0
ldreq r3, _0234DB54 ; =ov29_02353398
cmp r0, #0
movne r1, #0x11
mov r0, #0
moveq r1, #0x13
mov r2, r0
bl CreateParentMenuFromStringIds
ldr r1, [r6]
strb r0, [r1, #0x11]
ldr r1, [r6]
ldrsb r0, [r1, #0x11]
add r1, r1, #0x400
ldrsh r1, [r1, #0x68]
bl sub_0202AB94
ldr r0, [r6]
ldr r0, [r0, #0x474]
cmp r0, #0
beq _0234DB44
blx r0
ldr r0, [r6]
str fp, [r0, #0x474]
b _0234DB44
_0234DA90:
ldrsb r0, [r1, #0x11]
bl sub_020282F4
ldr r2, [r6]
ldrb r1, [r2, #0x467]
cmp r1, #0
cmpeq r0, r5
moveq r0, #2
streq r0, [r2, #0x46c]
moveq sl, #1
beq _0234DAD4
cmp r0, r4
bne _0234DAD4
ldrsb r0, [r2, #0x11]
bl sub_0202ABB0
ldr r1, [r6]
mov sl, #1
str r0, [r1, #0x46c]
_0234DAD4:
cmp sl, #0
beq _0234DB44
ldr r0, [r6]
ldrsb r0, [r0, #0x11]
cmp r0, r8
beq _0234DAF8
bl CloseParentMenu
ldr r0, [r6]
strb r8, [r0, #0x11]
_0234DAF8:
ldr r0, [r6]
add r0, r0, #0x400
strh r7, [r0, #0x6a]
ldr r0, [r6]
strb r7, [r0, #0x466]
ldr r0, [r6]
strb r7, [r0, #0x467]
ldr r0, [r6]
add r0, r0, #0x400
strh r7, [r0, #0x68]
ldr r0, [r6]
str r7, [r0, #0x470]
b _0234DB44
_0234DB2C:
ldrsb r0, [r1, #0x10]
bl IsDialogueBoxActive
cmp r0, #0
moveq r0, #1
movne r0, #0
and sl, r0, #0xff
_0234DB44:
cmp sl, #0
beq _0234D9E0
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
_0234DB50: .word ov29_02382800
_0234DB54: .word ov29_02353398
arm_func_end ov29_0234D9C0
arm_func_start ov29_0234DB58
ov29_0234DB58: ; 0x0234DB58
stmdb sp!, {r3, lr}
ldr r0, _0234DBD8 ; =0x00000478
mov r1, #8
bl MemAlloc
ldr r2, _0234DBDC ; =ov29_02382800
ldr r1, _0234DBD8 ; =0x00000478
str r0, [r2]
bl MemZero
ldr r0, _0234DBDC ; =ov29_02382800
mvn r2, #0
ldr r1, [r0]
str r2, [r1, #0x46c]
ldr r0, [r0]
add r0, r0, #0x14
bl InitPreprocessorArgs
ldr r1, _0234DBDC ; =ov29_02382800
mov r3, #0
ldr r0, [r1]
sub r2, r3, #2
strb r3, [r0, #0x466]
ldr r0, [r1]
add r0, r0, #0x400
strh r3, [r0, #0x6a]
ldr r0, [r1]
strb r2, [r0, #0x12]
ldr r0, [r1]
strb r2, [r0, #0x11]
ldr r0, [r1]
strb r2, [r0, #0x10]
ldr r0, [r1]
str r3, [r0, #0x474]
ldmia sp!, {r3, pc}
.align 2, 0
_0234DBD8: .word 0x00000478
_0234DBDC: .word ov29_02382800
arm_func_end ov29_0234DB58
arm_func_start ov29_0234DBE0
ov29_0234DBE0: ; 0x0234DBE0
stmdb sp!, {r4, lr}
movs r4, r0
ldmeqia sp!, {r4, pc}
ldr r1, _0234DC38 ; =ov29_02382800
mvn r0, #1
ldr r1, [r1]
ldrsb r1, [r1, #0x12]
cmp r1, r0
bne _0234DC20
mov r0, #0
mov r1, #3
mov r2, #1
bl CreatePortraitBox
ldr r1, _0234DC38 ; =ov29_02382800
ldr r1, [r1]
strb r0, [r1, #0x12]
_0234DC20:
ldr r0, _0234DC38 ; =ov29_02382800
mov r1, r4
ldr r0, [r0]
ldrsb r0, [r0, #0x12]
bl ShowPortraitInPortraitBox
ldmia sp!, {r4, pc}
.align 2, 0
_0234DC38: .word ov29_02382800
arm_func_end ov29_0234DBE0
arm_func_start ov29_0234DC3C
ov29_0234DC3C: ; 0x0234DC3C
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
ldr r4, _0234DD88 ; =ov29_02382800
mvn ip, #1
ldr r4, [r4]
mov r7, r0
ldrsb r0, [r4, #0x10]
mov r6, r1
mov r5, r2
mov r4, r3
cmp r0, ip
bne _0234DC8C
mov r0, #0
bl CreateDialogueBox
ldr r2, _0234DD88 ; =ov29_02382800
mov r1, #0
ldr r3, [r2]
strb r0, [r3, #0x10]
ldr r0, [r2]
ldrsb r0, [r0, #0x10]
bl sub_0202F474
_0234DC8C:
ldr r0, _0234DD88 ; =ov29_02382800
mov r8, r6
ldr sb, [r0]
mov ip, #5
add lr, sb, #0x14
_0234DCA0:
ldmia r8!, {r0, r1, r2, r3}
stmia lr!, {r0, r1, r2, r3}
subs ip, ip, #1
bne _0234DCA0
ldr r1, _0234DD8C ; =0x00001004
add r0, sb, #0x400
strh r1, [r0, #0x64]
cmp r4, #0
beq _0234DCDC
ldr r0, _0234DD88 ; =ov29_02382800
ldr r0, [r0]
add r0, r0, #0x400
ldrh r1, [r0, #0x64]
orr r1, r1, #0x2000
strh r1, [r0, #0x64]
_0234DCDC:
ldrb r0, [sp, #0x20]
cmp r0, #0
beq _0234DD24
cmp r5, #0
beq _0234DD0C
ldr r0, _0234DD88 ; =ov29_02382800
ldr r0, [r0]
add r0, r0, #0x400
ldrh r1, [r0, #0x64]
orr r1, r1, #8
strh r1, [r0, #0x64]
b _0234DD24
_0234DD0C:
ldr r0, _0234DD88 ; =ov29_02382800
ldr r0, [r0]
add r0, r0, #0x400
ldrh r1, [r0, #0x64]
orr r1, r1, #0x18
strh r1, [r0, #0x64]
_0234DD24:
cmp r5, #0
beq _0234DD64
ldr r1, _0234DD88 ; =ov29_02382800
mov r2, #1
ldr r0, [r1]
strb r2, [r0, #0x466]
ldrb r2, [r5, #1]
ldr r0, [r1]
strb r2, [r0, #0x467]
ldr r0, [r1]
ldrsh r2, [r5, #2]
add r0, r0, #0x400
strh r2, [r0, #0x68]
ldr r2, [r5, #4]
ldr r0, [r1]
str r2, [r0, #0x470]
_0234DD64:
ldr r0, _0234DD88 ; =ov29_02382800
mov r2, r7
ldr r0, [r0]
mov r3, r6
add r1, r0, #0x400
ldrsb r0, [r0, #0x10]
ldrh r1, [r1, #0x64]
bl ShowStringInDialogueBox
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
.align 2, 0
_0234DD88: .word ov29_02382800
_0234DD8C: .word 0x00001004
arm_func_end ov29_0234DC3C
arm_func_start ov29_0234DD90
ov29_0234DD90: ; 0x0234DD90
ldr ip, _0234DD9C ; =LoadOverlay
mov r0, #0x22
bx ip
.align 2, 0
_0234DD9C: .word LoadOverlay
arm_func_end ov29_0234DD90
arm_func_start ov29_0234DDA0
ov29_0234DDA0: ; 0x0234DDA0
ldr ip, _0234DDAC ; =OverlayIsLoaded
mov r0, #0x22
bx ip
.align 2, 0
_0234DDAC: .word OverlayIsLoaded
arm_func_end ov29_0234DDA0
arm_func_start ov29_0234DDB0
ov29_0234DDB0: ; 0x0234DDB0
stmdb sp!, {r3, lr}
mov r0, #0x22
bl OverlayIsLoaded
cmp r0, #0
ldmeqia sp!, {r3, pc}
mov r0, #0x22
bl UnloadOverlay
ldmia sp!, {r3, pc}
arm_func_end ov29_0234DDB0

746
asm/overlay_29_0234D484.s Normal file
View File

@@ -0,0 +1,746 @@
.include "asm/macros.inc"
.include "overlay_29_0234D484.inc"
.text
arm_func_start ov29_0234D484
ov29_0234D484: ; 0x0234D484
stmdb sp!, {r3, r4, r5, lr}
mov r5, r0
mov r0, r1
bl StringFromId
mov r4, r0
mov r0, #0
mov r1, r0
mov r2, r4
mov r3, #1
bl ov29_0234D304
mov r0, r5
mov r1, r4
bl LogMessageQuiet
ldmia sp!, {r3, r4, r5, pc}
arm_func_end ov29_0234D484
arm_func_start ov29_0234D4BC
ov29_0234D4BC: ; 0x0234D4BC
stmdb sp!, {r3, r4, r5, r6, r7, lr}
mov r7, r0
mov r6, r1
mov r5, r2
mov r4, r3
bl ov29_0234D558
bl ov29_0234D630
bl ov29_0234B034
mov r1, r0
mov r2, r7
mov r3, r5
mov r0, r6
str r4, [sp]
bl ov29_0234D750
mov r4, r0
ldrb r0, [sp, #0x18]
cmp r0, #0
moveq r0, #1
movne r0, #0
and r0, r0, #0xff
bl ov29_0234D8A0
mov r0, r4
ldmia sp!, {r3, r4, r5, r6, r7, pc}
arm_func_end ov29_0234D4BC
arm_func_start YesNoMenu
YesNoMenu: ; 0x0234D518
stmdb sp!, {r3, r4, r5, r6, lr}
sub sp, sp, #4
mov r6, r0
mov r0, r1
mov r5, r2
mov r4, r3
bl StringFromId
ldrb ip, [sp, #0x18]
mov r1, r0
mov r0, r6
mov r2, r5
mov r3, r4
str ip, [sp]
bl ov29_0234D4BC
add sp, sp, #4
ldmia sp!, {r3, r4, r5, r6, pc}
arm_func_end YesNoMenu
arm_func_start ov29_0234D558
ov29_0234D558: ; 0x0234D558
stmdb sp!, {r4, lr}
bl ov29_0234B73C
mov r4, r0
mov r0, #2
mov r1, #0
bl ov29_022EA428
cmp r4, #0
ldmeqia sp!, {r4, pc}
mov r0, #0
bl ov29_0234B1A4
mov r0, #0xa
mov r1, r0
bl ov29_022EA370
ldmia sp!, {r4, pc}
arm_func_end ov29_0234D558
arm_func_start DisplayMessageInternal
DisplayMessageInternal: ; 0x0234D590
stmdb sp!, {r4, r5, r6, lr}
sub sp, sp, #8
mov r6, r1
mov r5, r2
mov r4, r3
bl StringFromId
ldr r1, [sp, #0x18]
ldrb ip, [sp, #0x1c]
str r1, [sp]
mov r1, r6
mov r2, r5
mov r3, r4
str ip, [sp, #4]
bl ov29_0234D5D0
add sp, sp, #8
ldmia sp!, {r4, r5, r6, pc}
arm_func_end DisplayMessageInternal
arm_func_start ov29_0234D5D0
ov29_0234D5D0: ; 0x0234D5D0
stmdb sp!, {r3, r4, r5, r6, r7, lr}
mov r7, r0
mov r6, r1
mov r0, #2
mov r1, #0
mov r5, r2
mov r4, r3
bl ov29_022EA428
mov r0, #1
bl ov29_0234B4CC
bl ov29_0234DB58
mov r0, r5
bl ov29_0234DBE0
mov r0, r7
mov r3, r4
str r6, [sp]
ldr r1, [sp, #0x18]
mov r2, #0
bl ov29_0234DC3C
bl ov29_0234D9C0
mov r0, r6
ldrb r1, [sp, #0x1c]
bl ov29_0234D8B4
ldmia sp!, {r3, r4, r5, r6, r7, pc}
arm_func_end ov29_0234D5D0
arm_func_start ov29_0234D630
ov29_0234D630: ; 0x0234D630
stmdb sp!, {r3, lr}
mov r0, #2
mov r1, #0
bl ov29_022EA428
mov r0, #1
bl ov29_0234B4CC
bl ov29_0234DB58
ldmia sp!, {r3, pc}
arm_func_end ov29_0234D630
arm_func_start ov29_0234D650
ov29_0234D650: ; 0x0234D650
ldr ip, _0234D658 ; =ov29_0234D9C0
bx ip
.align 2, 0
_0234D658: .word ov29_0234D9C0
arm_func_end ov29_0234D650
arm_func_start ov29_0234D65C
ov29_0234D65C: ; 0x0234D65C
ldr ip, _0234D664 ; =ov29_0234DBE0
bx ip
.align 2, 0
_0234D664: .word ov29_0234DBE0
arm_func_end ov29_0234D65C
arm_func_start ov29_0234D668
ov29_0234D668: ; 0x0234D668
stmdb sp!, {r3, lr}
ldr r0, _0234D68C ; =ov29_02382800
mvn r1, #1
ldr r0, [r0]
ldrsb r0, [r0, #0x12]
cmp r0, r1
ldmeqia sp!, {r3, pc}
bl HidePortraitBox
ldmia sp!, {r3, pc}
.align 2, 0
_0234D68C: .word ov29_02382800
arm_func_end ov29_0234D668
arm_func_start ov29_0234D690
ov29_0234D690: ; 0x0234D690
stmdb sp!, {r3, r4, r5, r6, lr}
sub sp, sp, #4
mov r6, r1
mov r5, r2
mov r4, r3
bl StringFromId
ldrb ip, [sp, #0x18]
mov r1, r6
mov r2, r5
mov r3, r4
str ip, [sp]
bl ov29_0234DC3C
add sp, sp, #4
ldmia sp!, {r3, r4, r5, r6, pc}
arm_func_end ov29_0234D690
arm_func_start ov29_0234D6C8
ov29_0234D6C8: ; 0x0234D6C8
stmdb sp!, {r3, r4, r5, r6, lr}
sub sp, sp, #4
mov r6, r0
mov r0, r2
mov r5, r1
mov r4, r3
bl ov29_0234DBE0
ldrb ip, [sp, #0x18]
mov r0, r6
mov r1, r5
mov r3, r4
mov r2, #0
str ip, [sp]
bl ov29_0234DC3C
bl ov29_0234D9C0
add sp, sp, #4
ldmia sp!, {r3, r4, r5, r6, pc}
arm_func_end ov29_0234D6C8
arm_func_start ov29_0234D70C
ov29_0234D70C: ; 0x0234D70C
stmdb sp!, {r3, r4, r5, r6, r7, lr}
mov r6, r2
mov r7, r1
mov r5, r3
bl StringFromId
mov r4, r0
mov r0, r6
bl ov29_0234DBE0
mov r0, r4
mov r1, r7
mov r3, r5
ldrb ip, [sp, #0x18]
mov r2, #0
str ip, [sp]
bl ov29_0234DC3C
bl ov29_0234D9C0
ldmia sp!, {r3, r4, r5, r6, r7, pc}
arm_func_end ov29_0234D70C
arm_func_start ov29_0234D750
ov29_0234D750: ; 0x0234D750
stmdb sp!, {r3, r4, r5, r6, lr}
sub sp, sp, #0xc
ldrb ip, [sp, #0x20]
mov r4, r2
mov r6, r0
mov r5, r1
mov r2, #0
mov r1, r3
add r0, sp, #4
mov r3, r2
str ip, [sp]
bl ov29_0234D860
mov r0, r4
bl ov29_0234DBE0
mov r2, #1
str r2, [sp]
mov r0, r6
mov r1, r5
add r2, sp, #4
mov r3, #0
bl ov29_0234DC3C
bl ov29_0234D9C0
ldr r0, _0234D7BC ; =ov29_02382800
ldr r0, [r0]
ldr r0, [r0, #0x46c]
add sp, sp, #0xc
ldmia sp!, {r3, r4, r5, r6, pc}
.align 2, 0
_0234D7BC: .word ov29_02382800
arm_func_end ov29_0234D750
arm_func_start ov29_0234D7C0
ov29_0234D7C0: ; 0x0234D7C0
stmdb sp!, {r4, r5, r6, r7, lr}
sub sp, sp, #0xc
mov r7, r1
mov r6, r2
mov r5, r3
bl StringFromId
ldrb r1, [sp, #0x20]
mov r2, #0
mov r4, r0
str r1, [sp]
add r0, sp, #4
mov r1, r5
mov r3, r2
bl ov29_0234D860
mov r0, r6
bl ov29_0234DBE0
mov r2, #1
str r2, [sp]
mov r0, r4
mov r1, r7
add r2, sp, #4
mov r3, #0
bl ov29_0234DC3C
bl ov29_0234D9C0
ldr r0, _0234D834 ; =ov29_02382800
ldr r0, [r0]
ldr r0, [r0, #0x46c]
add sp, sp, #0xc
ldmia sp!, {r4, r5, r6, r7, pc}
.align 2, 0
_0234D834: .word ov29_02382800
arm_func_end ov29_0234D7C0
arm_func_start ov29_0234D838
ov29_0234D838: ; 0x0234D838
stmdb sp!, {r3, lr}
ldr r0, _0234D85C ; =ov29_02382800
mvn r1, #1
ldr r0, [r0]
ldrsb r0, [r0, #0x10]
cmp r0, r1
ldmeqia sp!, {r3, pc}
bl sub_0202F334
ldmia sp!, {r3, pc}
.align 2, 0
_0234D85C: .word ov29_02382800
arm_func_end ov29_0234D838
arm_func_start ov29_0234D860
ov29_0234D860: ; 0x0234D860
ldrb ip, [sp]
strb r3, [r0]
strb ip, [r0, #1]
strh r1, [r0, #2]
str r2, [r0, #4]
bx lr
arm_func_end ov29_0234D860
arm_func_start ov29_0234D878
ov29_0234D878: ; 0x0234D878
ldr r1, _0234D888 ; =ov29_02382800
ldr r1, [r1]
str r0, [r1, #0x474]
bx lr
.align 2, 0
_0234D888: .word ov29_02382800
arm_func_end ov29_0234D878
arm_func_start ov29_0234D88C
ov29_0234D88C: ; 0x0234D88C
ldr r0, _0234D89C ; =ov29_02382800
ldr r0, [r0]
ldr r0, [r0, #0x46c]
bx lr
.align 2, 0
_0234D89C: .word ov29_02382800
arm_func_end ov29_0234D88C
arm_func_start ov29_0234D8A0
ov29_0234D8A0: ; 0x0234D8A0
ldr ip, _0234D8B0 ; =ov29_0234D8B4
mov r1, r0
mov r0, #0
bx ip
.align 2, 0
_0234D8B0: .word ov29_0234D8B4
arm_func_end ov29_0234D8A0
arm_func_start ov29_0234D8B4
ov29_0234D8B4: ; 0x0234D8B4
stmdb sp!, {r3, r4, r5, lr}
ldr r2, _0234D9BC ; =ov29_02382800
mov r5, r0
ldr r0, [r2]
mov r4, r1
cmp r0, #0
beq _0234D970
ldrsb r0, [r0, #0x12]
mvn r1, #1
cmp r0, r1
beq _0234D8E4
bl HidePortraitBox
_0234D8E4:
ldr r0, _0234D9BC ; =ov29_02382800
ldr r0, [r0]
ldrsb r0, [r0, #0x10]
bl sub_0202F334
mov r0, #8
mov r1, #0x62
bl ov29_022EA370
ldr r0, _0234D9BC ; =ov29_02382800
mvn r1, #1
ldr r0, [r0]
ldrsb r0, [r0, #0x11]
cmp r0, r1
beq _0234D91C
bl CloseParentMenu
_0234D91C:
ldr r0, _0234D9BC ; =ov29_02382800
mvn r1, #1
ldr r0, [r0]
ldrsb r0, [r0, #0x12]
cmp r0, r1
beq _0234D948
bl ClosePortraitBox
ldr r0, _0234D9BC ; =ov29_02382800
mvn r1, #1
ldr r0, [r0]
strb r1, [r0, #0x12]
_0234D948:
ldr r0, _0234D9BC ; =ov29_02382800
ldr r0, [r0]
ldrsb r0, [r0, #0x10]
bl CloseDialogueBox
ldr r0, _0234D9BC ; =ov29_02382800
ldr r0, [r0]
bl MemFree
ldr r0, _0234D9BC ; =ov29_02382800
mov r1, #0
str r1, [r0]
_0234D970:
mov r0, #0x62
bl AdvanceFrame
cmp r5, #0
beq _0234D994
bl ov29_022F2FE4
bl ov29_02339148
mov r0, #8
mov r1, #9
bl ov29_022EA370
_0234D994:
cmp r4, #0
beq _0234D9A8
mov r0, #0
mov r1, r0
bl ov29_022EA428
_0234D9A8:
bl sub_02006B70
bl ov29_022E0B44
mov r0, #0
bl ov29_0234B4CC
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
_0234D9BC: .word ov29_02382800
arm_func_end ov29_0234D8B4
arm_func_start ov29_0234D9C0
ov29_0234D9C0: ; 0x0234D9C0
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
mvn r8, #1
mov r7, #0
ldr r6, _0234DB50 ; =ov29_02382800
sub r5, r8, #3
sub r4, r8, #2
mov sb, #1
mov fp, r7
_0234D9E0:
mov r0, #0x62
bl AdvanceFrame
ldr r1, [r6]
ldrb r0, [r1, #0x466]
cmp r0, #0
beq _0234DB2C
add r0, r1, #0x400
ldrsh r0, [r0, #0x6a]
mov sl, #0
cmp r0, #0
bne _0234DA90
ldrsb r0, [r1, #0x10]
bl IsDialogueBoxActive
cmp r0, #0
bne _0234DB44
ldr r0, [r6]
add r0, r0, #0x400
strh sb, [r0, #0x6a]
ldr r0, [r6]
ldr r3, [r0, #0x470]
ldrb r0, [r0, #0x467]
cmp r3, #0
ldreq r3, _0234DB54 ; =ov29_02353398
cmp r0, #0
movne r1, #0x11
mov r0, #0
moveq r1, #0x13
mov r2, r0
bl CreateParentMenuFromStringIds
ldr r1, [r6]
strb r0, [r1, #0x11]
ldr r1, [r6]
ldrsb r0, [r1, #0x11]
add r1, r1, #0x400
ldrsh r1, [r1, #0x68]
bl sub_0202AB94
ldr r0, [r6]
ldr r0, [r0, #0x474]
cmp r0, #0
beq _0234DB44
blx r0
ldr r0, [r6]
str fp, [r0, #0x474]
b _0234DB44
_0234DA90:
ldrsb r0, [r1, #0x11]
bl sub_020282F4
ldr r2, [r6]
ldrb r1, [r2, #0x467]
cmp r1, #0
cmpeq r0, r5
moveq r0, #2
streq r0, [r2, #0x46c]
moveq sl, #1
beq _0234DAD4
cmp r0, r4
bne _0234DAD4
ldrsb r0, [r2, #0x11]
bl sub_0202ABB0
ldr r1, [r6]
mov sl, #1
str r0, [r1, #0x46c]
_0234DAD4:
cmp sl, #0
beq _0234DB44
ldr r0, [r6]
ldrsb r0, [r0, #0x11]
cmp r0, r8
beq _0234DAF8
bl CloseParentMenu
ldr r0, [r6]
strb r8, [r0, #0x11]
_0234DAF8:
ldr r0, [r6]
add r0, r0, #0x400
strh r7, [r0, #0x6a]
ldr r0, [r6]
strb r7, [r0, #0x466]
ldr r0, [r6]
strb r7, [r0, #0x467]
ldr r0, [r6]
add r0, r0, #0x400
strh r7, [r0, #0x68]
ldr r0, [r6]
str r7, [r0, #0x470]
b _0234DB44
_0234DB2C:
ldrsb r0, [r1, #0x10]
bl IsDialogueBoxActive
cmp r0, #0
moveq r0, #1
movne r0, #0
and sl, r0, #0xff
_0234DB44:
cmp sl, #0
beq _0234D9E0
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
_0234DB50: .word ov29_02382800
_0234DB54: .word ov29_02353398
arm_func_end ov29_0234D9C0
arm_func_start ov29_0234DB58
ov29_0234DB58: ; 0x0234DB58
stmdb sp!, {r3, lr}
ldr r0, _0234DBD8 ; =0x00000478
mov r1, #8
bl MemAlloc
ldr r2, _0234DBDC ; =ov29_02382800
ldr r1, _0234DBD8 ; =0x00000478
str r0, [r2]
bl MemZero
ldr r0, _0234DBDC ; =ov29_02382800
mvn r2, #0
ldr r1, [r0]
str r2, [r1, #0x46c]
ldr r0, [r0]
add r0, r0, #0x14
bl InitPreprocessorArgs
ldr r1, _0234DBDC ; =ov29_02382800
mov r3, #0
ldr r0, [r1]
sub r2, r3, #2
strb r3, [r0, #0x466]
ldr r0, [r1]
add r0, r0, #0x400
strh r3, [r0, #0x6a]
ldr r0, [r1]
strb r2, [r0, #0x12]
ldr r0, [r1]
strb r2, [r0, #0x11]
ldr r0, [r1]
strb r2, [r0, #0x10]
ldr r0, [r1]
str r3, [r0, #0x474]
ldmia sp!, {r3, pc}
.align 2, 0
_0234DBD8: .word 0x00000478
_0234DBDC: .word ov29_02382800
arm_func_end ov29_0234DB58
arm_func_start ov29_0234DBE0
ov29_0234DBE0: ; 0x0234DBE0
stmdb sp!, {r4, lr}
movs r4, r0
ldmeqia sp!, {r4, pc}
ldr r1, _0234DC38 ; =ov29_02382800
mvn r0, #1
ldr r1, [r1]
ldrsb r1, [r1, #0x12]
cmp r1, r0
bne _0234DC20
mov r0, #0
mov r1, #3
mov r2, #1
bl CreatePortraitBox
ldr r1, _0234DC38 ; =ov29_02382800
ldr r1, [r1]
strb r0, [r1, #0x12]
_0234DC20:
ldr r0, _0234DC38 ; =ov29_02382800
mov r1, r4
ldr r0, [r0]
ldrsb r0, [r0, #0x12]
bl ShowPortraitInPortraitBox
ldmia sp!, {r4, pc}
.align 2, 0
_0234DC38: .word ov29_02382800
arm_func_end ov29_0234DBE0
arm_func_start ov29_0234DC3C
ov29_0234DC3C: ; 0x0234DC3C
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
ldr r4, _0234DD88 ; =ov29_02382800
mvn ip, #1
ldr r4, [r4]
mov r7, r0
ldrsb r0, [r4, #0x10]
mov r6, r1
mov r5, r2
mov r4, r3
cmp r0, ip
bne _0234DC8C
mov r0, #0
bl CreateDialogueBox
ldr r2, _0234DD88 ; =ov29_02382800
mov r1, #0
ldr r3, [r2]
strb r0, [r3, #0x10]
ldr r0, [r2]
ldrsb r0, [r0, #0x10]
bl sub_0202F474
_0234DC8C:
ldr r0, _0234DD88 ; =ov29_02382800
mov r8, r6
ldr sb, [r0]
mov ip, #5
add lr, sb, #0x14
_0234DCA0:
ldmia r8!, {r0, r1, r2, r3}
stmia lr!, {r0, r1, r2, r3}
subs ip, ip, #1
bne _0234DCA0
ldr r1, _0234DD8C ; =0x00001004
add r0, sb, #0x400
strh r1, [r0, #0x64]
cmp r4, #0
beq _0234DCDC
ldr r0, _0234DD88 ; =ov29_02382800
ldr r0, [r0]
add r0, r0, #0x400
ldrh r1, [r0, #0x64]
orr r1, r1, #0x2000
strh r1, [r0, #0x64]
_0234DCDC:
ldrb r0, [sp, #0x20]
cmp r0, #0
beq _0234DD24
cmp r5, #0
beq _0234DD0C
ldr r0, _0234DD88 ; =ov29_02382800
ldr r0, [r0]
add r0, r0, #0x400
ldrh r1, [r0, #0x64]
orr r1, r1, #8
strh r1, [r0, #0x64]
b _0234DD24
_0234DD0C:
ldr r0, _0234DD88 ; =ov29_02382800
ldr r0, [r0]
add r0, r0, #0x400
ldrh r1, [r0, #0x64]
orr r1, r1, #0x18
strh r1, [r0, #0x64]
_0234DD24:
cmp r5, #0
beq _0234DD64
ldr r1, _0234DD88 ; =ov29_02382800
mov r2, #1
ldr r0, [r1]
strb r2, [r0, #0x466]
ldrb r2, [r5, #1]
ldr r0, [r1]
strb r2, [r0, #0x467]
ldr r0, [r1]
ldrsh r2, [r5, #2]
add r0, r0, #0x400
strh r2, [r0, #0x68]
ldr r2, [r5, #4]
ldr r0, [r1]
str r2, [r0, #0x470]
_0234DD64:
ldr r0, _0234DD88 ; =ov29_02382800
mov r2, r7
ldr r0, [r0]
mov r3, r6
add r1, r0, #0x400
ldrsb r0, [r0, #0x10]
ldrh r1, [r1, #0x64]
bl ShowStringInDialogueBox
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
.align 2, 0
_0234DD88: .word ov29_02382800
_0234DD8C: .word 0x00001004
arm_func_end ov29_0234DC3C
arm_func_start ov29_0234DD90
ov29_0234DD90: ; 0x0234DD90
ldr ip, _0234DD9C ; =LoadOverlay
mov r0, #0x22
bx ip
.align 2, 0
_0234DD9C: .word LoadOverlay
arm_func_end ov29_0234DD90
arm_func_start ov29_0234DDA0
ov29_0234DDA0: ; 0x0234DDA0
ldr ip, _0234DDAC ; =OverlayIsLoaded
mov r0, #0x22
bx ip
.align 2, 0
_0234DDAC: .word OverlayIsLoaded
arm_func_end ov29_0234DDA0
arm_func_start ov29_0234DDB0
ov29_0234DDB0: ; 0x0234DDB0
stmdb sp!, {r3, lr}
mov r0, #0x22
bl OverlayIsLoaded
cmp r0, #0
ldmeqia sp!, {r3, pc}
mov r0, #0x22
bl UnloadOverlay
ldmia sp!, {r3, pc}
arm_func_end ov29_0234DDB0

View File

@@ -0,0 +1,8 @@
#ifndef PMDSKY_OVERLAY_29_022F9720_H
#define PMDSKY_OVERLAY_29_022F9720_H
#include "dungeon_mode.h"
bool8 IsMonster__022F9720(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_022F9720_H

View File

@@ -0,0 +1,8 @@
#ifndef PMDSKY_OVERLAY_29_02301A60_H
#define PMDSKY_OVERLAY_29_02301A60_H
#include "dungeon_mode.h"
bool8 IsMonster__02301A60(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_02301A60_H

View File

@@ -0,0 +1,8 @@
#ifndef PMDSKY_OVERLAY_29_0230A994_H
#define PMDSKY_OVERLAY_29_0230A994_H
#include "dungeon_mode.h"
bool8 IsMonster__0230A994(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_0230A994_H

View File

@@ -0,0 +1,8 @@
#ifndef PMDSKY_OVERLAY_29_0230F980_H
#define PMDSKY_OVERLAY_29_0230F980_H
#include "dungeon_mode.h"
bool8 IsMonster__0230F980(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_0230F980_H

View File

@@ -0,0 +1,8 @@
#ifndef PMDSKY_OVERLAY_29_02318AB0_H
#define PMDSKY_OVERLAY_29_02318AB0_H
#include "dungeon_mode.h"
bool8 IsMonster__02318AB0(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_02318AB0_H

View File

@@ -0,0 +1,8 @@
#ifndef PMDSKY_OVERLAY_29_0231A9D4_H
#define PMDSKY_OVERLAY_29_0231A9D4_H
#include "dungeon_mode.h"
bool8 IsMonster__0231A9D4(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_0231A9D4_H

View File

@@ -0,0 +1,8 @@
#ifndef PMDSKY_OVERLAY_29_0231B318_H
#define PMDSKY_OVERLAY_29_0231B318_H
#include "dungeon_mode.h"
bool8 IsMonster__0231B318(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_0231B318_H

View File

@@ -0,0 +1,8 @@
#ifndef PMDSKY_OVERLAY_29_02322DB8_H
#define PMDSKY_OVERLAY_29_02322DB8_H
#include "dungeon_mode.h"
bool8 IsMonster__02322DB8(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_02322DB8_H

View File

@@ -0,0 +1,8 @@
#ifndef PMDSKY_OVERLAY_29_0234D460_H
#define PMDSKY_OVERLAY_29_0234D460_H
#include "dungeon_mode.h"
bool8 IsMonster__0234D460(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_0234D460_H

View File

@@ -256,6 +256,8 @@ Overlay OVY_29
Object asm/overlay_29_022F62CC.o
Object src/overlay_29_022F7364.o
Object asm/overlay_29_022F7388.o
Object src/overlay_29_022F9720.o
Object asm/overlay_29_022F9744.o
Object src/joined_at_checks.o
Object asm/overlay_29_022FBB1C.o
Object src/overlay_29_022FC99C.o
@@ -270,6 +272,8 @@ Overlay OVY_29
Object asm/overlay_29_02300BF8.o
Object src/dungeon_ai_targeting.o
Object asm/overlay_29_023016A8.o
Object src/overlay_29_02301A60.o
Object asm/overlay_29_02301A84.o
Object src/dungeon_pokemon_attributes.o
Object asm/overlay_29_02301D78.o
Object src/overlay_29_02302A38.o
@@ -288,24 +292,34 @@ Overlay OVY_29
Object asm/overlay_29_023085DC.o
Object src/overlay_29_02308FBC.o
Object asm/overlay_29_02308FE0.o
Object src/overlay_29_0230A994.o
Object asm/overlay_29_0230A9B8.o
Object src/overlay_29_0230E8F0.o
Object asm/overlay_29_0230E914.o
Object src/overlay_29_0230F008.o
Object asm/overlay_29_0230F02C.o
Object src/overlay_29_0230F980.o
Object asm/overlay_29_0230F9A4.o
Object src/overlay_29_02311010.o
Object asm/overlay_29_02311034.o
Object src/overlay_29_023118B4.o
Object asm/overlay_29_023118D8.o
Object src/overlay_29_02315118.o
Object asm/overlay_29_0231513C.o
Object src/overlay_29_02318AB0.o
Object asm/overlay_29_02318AD4.o
Object src/overlay_29_02318D34.o
Object asm/overlay_29_02318D58.o
Object src/overlay_29_02318E4C.o
Object asm/overlay_29_02318E70.o
Object src/overlay_29_02319F8C.o
Object asm/overlay_29_02319FB0.o
Object src/overlay_29_0231A9D4.o
Object asm/overlay_29_0231A9F8.o
Object src/overlay_29_0231B194.o
Object asm/overlay_29_0231B1B8.o
Object src/overlay_29_0231B318.o
Object asm/overlay_29_0231B33C.o
Object src/overlay_29_0231CBC8.o
Object asm/overlay_29_0231CBEC.o
Object src/overlay_29_0231EDD8.o
@@ -320,6 +334,8 @@ Overlay OVY_29
Object asm/overlay_29_02320788.o
Object src/overlay_29_02321438.o
Object asm/overlay_29_0232145C.o
Object src/overlay_29_02322DB8.o
Object asm/overlay_29_02322DDC.o
Object src/overlay_29_02325620.o
Object asm/overlay_29_02325644.o
Object src/overlay_29_0232800C.o
@@ -350,6 +366,8 @@ Overlay OVY_29
Object asm/overlay_29_02347BC8.o
Object src/overlay_29_0234987C.o
Object asm/overlay_29_023498A0.o
Object src/overlay_29_0234D460.o
Object asm/overlay_29_0234D484.o
Object src/overlay_29_0234DDD0.o
Object asm/overlay_29_0234DDF4.o
Object src/overlay_29_0234EC14.o

View File

@@ -1,7 +1,7 @@
#include "dungeon_pokemon_attributes.h"
#include "dungeon_util.h"
#include "overlay_29_02301A60.h"
extern bool8 IsMonster__02301A60(struct entity *pokemon);
extern bool8 NoGastroAcidStatus(struct entity *pokemon, enum ability_id ability);
bool8 AbilityIsActive(struct entity *pokemon, enum ability_id ability)

View File

@@ -0,0 +1,9 @@
#include "overlay_29_022F9720.h"
bool8 IsMonster__022F9720(struct entity *entity)
{
if (entity == NULL)
return FALSE;
return entity->type == ENTITY_MONSTER;
}

View File

@@ -0,0 +1,9 @@
#include "overlay_29_02301A60.h"
bool8 IsMonster__02301A60(struct entity *entity)
{
if (entity == NULL)
return FALSE;
return entity->type == ENTITY_MONSTER;
}

View File

@@ -0,0 +1,9 @@
#include "overlay_29_0230A994.h"
bool8 IsMonster__0230A994(struct entity *entity)
{
if (entity == NULL)
return FALSE;
return entity->type == ENTITY_MONSTER;
}

View File

@@ -0,0 +1,9 @@
#include "overlay_29_0230F980.h"
bool8 IsMonster__0230F980(struct entity *entity)
{
if (entity == NULL)
return FALSE;
return entity->type == ENTITY_MONSTER;
}

View File

@@ -0,0 +1,9 @@
#include "overlay_29_02318AB0.h"
bool8 IsMonster__02318AB0(struct entity *entity)
{
if (entity == NULL)
return FALSE;
return entity->type == ENTITY_MONSTER;
}

View File

@@ -0,0 +1,9 @@
#include "overlay_29_0231A9D4.h"
bool8 IsMonster__0231A9D4(struct entity *entity)
{
if (entity == NULL)
return FALSE;
return entity->type == ENTITY_MONSTER;
}

View File

@@ -0,0 +1,9 @@
#include "overlay_29_0231B318.h"
bool8 IsMonster__0231B318(struct entity *entity)
{
if (entity == NULL)
return FALSE;
return entity->type == ENTITY_MONSTER;
}

View File

@@ -0,0 +1,9 @@
#include "overlay_29_02322DB8.h"
bool8 IsMonster__02322DB8(struct entity *entity)
{
if (entity == NULL)
return FALSE;
return entity->type == ENTITY_MONSTER;
}

View File

@@ -0,0 +1,9 @@
#include "overlay_29_0234D460.h"
bool8 IsMonster__0234D460(struct entity *entity)
{
if (entity == NULL)
return FALSE;
return entity->type == ENTITY_MONSTER;
}