mirror of
https://github.com/pret/pmd-sky.git
synced 2026-08-28 05:38:04 -05:00
Decomped IsMonster
This commit is contained in:
@@ -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
|
||||
|
||||
121
asm/include/overlay_29_022F9744.inc
Normal file
121
asm/include/overlay_29_022F9744.inc
Normal 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
|
||||
@@ -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
|
||||
|
||||
13
asm/include/overlay_29_02301A84.inc
Normal file
13
asm/include/overlay_29_02301A84.inc
Normal 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
|
||||
@@ -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
|
||||
|
||||
210
asm/include/overlay_29_0230A9B8.inc
Normal file
210
asm/include/overlay_29_0230A9B8.inc
Normal 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
|
||||
@@ -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
|
||||
|
||||
93
asm/include/overlay_29_0230F9A4.inc
Normal file
93
asm/include/overlay_29_0230F9A4.inc
Normal 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
|
||||
@@ -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
|
||||
|
||||
12
asm/include/overlay_29_02318AD4.inc
Normal file
12
asm/include/overlay_29_02318AD4.inc
Normal 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
|
||||
@@ -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
|
||||
|
||||
39
asm/include/overlay_29_0231A9F8.inc
Normal file
39
asm/include/overlay_29_0231A9F8.inc
Normal 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
|
||||
@@ -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
|
||||
|
||||
117
asm/include/overlay_29_0231B33C.inc
Normal file
117
asm/include/overlay_29_0231B33C.inc
Normal 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
|
||||
@@ -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
|
||||
|
||||
110
asm/include/overlay_29_02322DDC.inc
Normal file
110
asm/include/overlay_29_02322DDC.inc
Normal 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
|
||||
@@ -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
|
||||
|
||||
39
asm/include/overlay_29_0234D484.inc
Normal file
39
asm/include/overlay_29_0234D484.inc
Normal 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
3019
asm/overlay_29_022F9744.s
Normal file
File diff suppressed because it is too large
Load Diff
@@ -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
215
asm/overlay_29_02301A84.s
Normal 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
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
1553
asm/overlay_29_0230F9A4.s
Normal file
File diff suppressed because it is too large
Load Diff
@@ -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
216
asm/overlay_29_02318AD4.s
Normal 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
|
||||
@@ -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
628
asm/overlay_29_0231A9F8.s
Normal 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
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
2991
asm/overlay_29_02322DDC.s
Normal file
File diff suppressed because it is too large
Load Diff
@@ -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
746
asm/overlay_29_0234D484.s
Normal 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
|
||||
8
include/overlay_29_022F9720.h
Normal file
8
include/overlay_29_022F9720.h
Normal 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
|
||||
8
include/overlay_29_02301A60.h
Normal file
8
include/overlay_29_02301A60.h
Normal 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
|
||||
8
include/overlay_29_0230A994.h
Normal file
8
include/overlay_29_0230A994.h
Normal 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
|
||||
8
include/overlay_29_0230F980.h
Normal file
8
include/overlay_29_0230F980.h
Normal 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
|
||||
8
include/overlay_29_02318AB0.h
Normal file
8
include/overlay_29_02318AB0.h
Normal 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
|
||||
8
include/overlay_29_0231A9D4.h
Normal file
8
include/overlay_29_0231A9D4.h
Normal 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
|
||||
8
include/overlay_29_0231B318.h
Normal file
8
include/overlay_29_0231B318.h
Normal 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
|
||||
8
include/overlay_29_02322DB8.h
Normal file
8
include/overlay_29_02322DB8.h
Normal 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
|
||||
8
include/overlay_29_0234D460.h
Normal file
8
include/overlay_29_0234D460.h
Normal 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
|
||||
18
main.lsf
18
main.lsf
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
9
src/overlay_29_022F9720.c
Normal file
9
src/overlay_29_022F9720.c
Normal 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;
|
||||
}
|
||||
9
src/overlay_29_02301A60.c
Normal file
9
src/overlay_29_02301A60.c
Normal 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;
|
||||
}
|
||||
9
src/overlay_29_0230A994.c
Normal file
9
src/overlay_29_0230A994.c
Normal 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;
|
||||
}
|
||||
9
src/overlay_29_0230F980.c
Normal file
9
src/overlay_29_0230F980.c
Normal 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;
|
||||
}
|
||||
9
src/overlay_29_02318AB0.c
Normal file
9
src/overlay_29_02318AB0.c
Normal 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;
|
||||
}
|
||||
9
src/overlay_29_0231A9D4.c
Normal file
9
src/overlay_29_0231A9D4.c
Normal 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;
|
||||
}
|
||||
9
src/overlay_29_0231B318.c
Normal file
9
src/overlay_29_0231B318.c
Normal 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;
|
||||
}
|
||||
9
src/overlay_29_02322DB8.c
Normal file
9
src/overlay_29_02322DB8.c
Normal 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;
|
||||
}
|
||||
9
src/overlay_29_0234D460.c
Normal file
9
src/overlay_29_0234D460.c
Normal 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;
|
||||
}
|
||||
Reference in New Issue
Block a user