mirror of
https://github.com/pret/pmd-sky.git
synced 2026-08-28 13:50:45 -05:00
Merge pull request #207 from AnonymousRandomPerson/main
Some checks are pending
build / build (push) Waiting to run
Some checks are pending
build / build (push) Waiting to run
Decomped more AI symbols
This commit is contained in:
@@ -1,22 +1,4 @@
|
||||
#pragma once
|
||||
.public DTCM_BSS
|
||||
.public EnableIrqFlag
|
||||
.public G3_MultMtx43
|
||||
.public GeomSetTexImageParam
|
||||
.public GeomSetVertexCoord16
|
||||
.public GetAllBaseForms
|
||||
.public GetWindow
|
||||
.public MONSTER_DATA_TABLE_PTR
|
||||
.public MemcpyFast
|
||||
.public MemsetFast
|
||||
.public OS_IRQTable
|
||||
.public RENDER_3D
|
||||
.public RENDER_3D_FUNCTIONS
|
||||
.public Rgb8ToRgb5
|
||||
.public SetIrqFlag
|
||||
.public TRIG_TABLE
|
||||
.public UpdateWindow
|
||||
.public WINDOW_LIST
|
||||
.public _02099724
|
||||
.public _02099734
|
||||
.public _02099744
|
||||
@@ -28,7 +10,22 @@
|
||||
.public _022A88FC
|
||||
.public _022B966C
|
||||
.public _022B99D0
|
||||
.public DTCM_BSS
|
||||
.public EnableIrqFlag
|
||||
.public G3_MultMtx43
|
||||
.public GeomSetTexImageParam
|
||||
.public GeomSetVertexCoord16
|
||||
.public GetAllBaseForms
|
||||
.public GetWindow
|
||||
.public MemcpyFast
|
||||
.public MemsetFast
|
||||
.public MONSTER_DATA_TABLE_PTR
|
||||
.public OS_IRQTable
|
||||
.public ov29_02353530
|
||||
.public RENDER_3D
|
||||
.public RENDER_3D_FUNCTIONS
|
||||
.public Rgb8ToRgb5
|
||||
.public SetIrqFlag
|
||||
.public sub_0201BD50
|
||||
.public sub_0201BD80
|
||||
.public sub_0202760C
|
||||
@@ -39,3 +36,6 @@
|
||||
.public sub_0207A324
|
||||
.public sub_02080EF0
|
||||
.public sub_02080F30
|
||||
.public TRIG_TABLE
|
||||
.public UpdateWindow
|
||||
.public WINDOW_LIST
|
||||
|
||||
@@ -357,6 +357,7 @@
|
||||
.public LoadFileFromRom
|
||||
.public LoadScriptVariableValue
|
||||
.public LoadScriptVariableValueAtIndex
|
||||
.public LoadScriptVariableValueString
|
||||
.public LoadStringFile
|
||||
.public MemAlloc
|
||||
.public MemArenaAlloc
|
||||
@@ -439,7 +440,6 @@
|
||||
.public sub_0200D310
|
||||
.public sub_02025480
|
||||
.public sub_020257FC
|
||||
.public LoadScriptVariableValueString
|
||||
.public sub_0204E530
|
||||
.public sub_0204F6F8
|
||||
.public sub_0204F77C
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
#pragma once
|
||||
.public DEBUG_SPECIAL_EPISODE_NUMBER
|
||||
.public _0209CF48
|
||||
.public _0209CF64
|
||||
.public _0209CF84
|
||||
.public _0209DFA0
|
||||
.public Debug_FatalError
|
||||
.public Debug_Print
|
||||
.public Debug_Print0
|
||||
.public DEBUG_SPECIAL_EPISODE_NUMBER
|
||||
.public EVENT_FLAG_PROG_POS_INFO
|
||||
.public CalcScriptVariables
|
||||
.public GetGameMode
|
||||
.public LoadScriptVariableRaw
|
||||
.public LoadScriptVariableValue
|
||||
.public LoadScriptVariableValueAtIndex
|
||||
.public MemcpySimple
|
||||
.public SCRIPT_VARS_VALUES
|
||||
.public SaveScriptVariableValue
|
||||
.public SaveScriptVariableValueAtIndex
|
||||
.public ScenarioFlagBackup
|
||||
.public ZinitScriptVariable
|
||||
.public EVENT_FLAG_PROG_POS_INFO
|
||||
.public _0209CF48
|
||||
.public _0209CF64
|
||||
.public _0209CF84
|
||||
.public _0209DFA0
|
||||
.public FlagCalc
|
||||
.public SCRIPT_VARS_VALUES
|
||||
.public sub_0204CBE8
|
||||
.public ZinitScriptVariable
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
#pragma once
|
||||
.public _0209DFC8
|
||||
.public _0209DFE8
|
||||
.public _0209E008
|
||||
.public _0209E010
|
||||
.public _0209E011
|
||||
.public ARM9_UNKNOWN_TABLE__NA_209E164
|
||||
.public CopyBitsFrom
|
||||
.public CopyBitsTo
|
||||
@@ -11,9 +16,9 @@
|
||||
.public FileRom_InitDataTransfer
|
||||
.public FileRom_StopDataTransfer
|
||||
.public FileRom_Veneer_FileInit
|
||||
.public GLOBAL_PROGRESS_PTR
|
||||
.public GetDexNumber
|
||||
.public GetGameMode
|
||||
.public GLOBAL_PROGRESS_PTR
|
||||
.public KAOMADO_FILEPATH
|
||||
.public KAOMADO_STREAM
|
||||
.public LoadScriptVariableValue
|
||||
@@ -24,13 +29,8 @@
|
||||
.public SaveScriptVariableValue
|
||||
.public SaveScriptVariableValueAtIndex
|
||||
.public SetAdventureLogCompleted
|
||||
.public VERSION_EXCLUSIVE_MONSTERS
|
||||
.public ZinitScriptVariable
|
||||
.public _0209DFC8
|
||||
.public _0209DFE8
|
||||
.public _0209E008
|
||||
.public _0209E010
|
||||
.public _0209E011
|
||||
.public sub_02050974
|
||||
.public sub_02050990
|
||||
.public sub_020509BC
|
||||
.public VERSION_EXCLUSIVE_MONSTERS
|
||||
.public ZinitScriptVariable
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
#pragma once
|
||||
.public ARM9_UNKNOWN_TABLE__NA_20A20B0
|
||||
.public _020A20B1
|
||||
.public ARM9_UNKNOWN_TABLE__NA_20A20B0
|
||||
|
||||
@@ -1,20 +1,4 @@
|
||||
#pragma once
|
||||
.public ARM9_UNKNOWN_PTR__NA_20A2C84
|
||||
.public ArrayCopy32
|
||||
.public ArrayFill32
|
||||
.public DecompressAtNormalVeneer
|
||||
.public GetAtSize
|
||||
.public GetBaseForm
|
||||
.public LoadFileFromRom
|
||||
.public LoadM2nAndN2m
|
||||
.public MONSTER_DATA_TABLE_PTR
|
||||
.public MemAlloc
|
||||
.public MemFree
|
||||
.public MemZero
|
||||
.public RANK_UP_TABLE
|
||||
.public StringFromId
|
||||
.public UNOWN_SPECIES_ADDITIONAL_CHAR_PTR_TABLE
|
||||
.public UnloadFile
|
||||
.public _020A31B8
|
||||
.public _020A31D4
|
||||
.public _020A31E4
|
||||
@@ -24,6 +8,20 @@
|
||||
.public _020B09B0
|
||||
.public _020B09C0
|
||||
.public _s32_div_f
|
||||
.public ARM9_UNKNOWN_PTR__NA_20A2C84
|
||||
.public ArrayCopy32
|
||||
.public ArrayFill32
|
||||
.public DecompressAtNormalVeneer
|
||||
.public GetAtSize
|
||||
.public GetBaseForm
|
||||
.public LoadFileFromRom
|
||||
.public LoadM2nAndN2m
|
||||
.public MemAlloc
|
||||
.public MemFree
|
||||
.public MemZero
|
||||
.public MONSTER_DATA_TABLE_PTR
|
||||
.public RANK_UP_TABLE
|
||||
.public StringFromId
|
||||
.public strncpy
|
||||
.public sub_0200302C
|
||||
.public sub_020030FC
|
||||
@@ -42,4 +40,6 @@
|
||||
.public sub_0200B3C0
|
||||
.public sub_0200B3D4
|
||||
.public sub_0200B3FC
|
||||
.public UnloadFile
|
||||
.public UNOWN_SPECIES_ADDITIONAL_CHAR_PTR_TABLE
|
||||
.public vsprintf
|
||||
|
||||
@@ -1,4 +1,21 @@
|
||||
#pragma once
|
||||
.public _020A333C
|
||||
.public _020A3340
|
||||
.public _020A3350
|
||||
.public _020A336C
|
||||
.public _020A3398
|
||||
.public _020A33B8
|
||||
.public _020A33D4
|
||||
.public _020A340C
|
||||
.public _020A343C
|
||||
.public _020A344C
|
||||
.public _020A3450
|
||||
.public _020A3468
|
||||
.public _020AFC28
|
||||
.public _020AFC4C
|
||||
.public _020B0A4C
|
||||
.public _022B5788
|
||||
.public _022B578C
|
||||
.public AddMoneyCarried
|
||||
.public CleanStickyItemsInBag
|
||||
.public CopyAndInterleaveWrapper
|
||||
@@ -35,25 +52,6 @@
|
||||
.public StrncpyName
|
||||
.public StrncpySimple
|
||||
.public StrncpySimpleNoPadSafe
|
||||
.public TEAM_MEMBER_TABLE_PTR
|
||||
.public UnloadFile
|
||||
.public _020A333C
|
||||
.public _020A3340
|
||||
.public _020A3350
|
||||
.public _020A336C
|
||||
.public _020A3398
|
||||
.public _020A33B8
|
||||
.public _020A33D4
|
||||
.public _020A340C
|
||||
.public _020A343C
|
||||
.public _020A344C
|
||||
.public _020A3450
|
||||
.public _020A3468
|
||||
.public _020AFC28
|
||||
.public _020AFC4C
|
||||
.public _020B0A4C
|
||||
.public _022B5788
|
||||
.public _022B578C
|
||||
.public sub_0200D8AC
|
||||
.public sub_0200FA0C
|
||||
.public sub_0201B43C
|
||||
@@ -68,3 +66,5 @@
|
||||
.public sub_020534BC
|
||||
.public sub_02053D1C
|
||||
.public sub_02053F10
|
||||
.public TEAM_MEMBER_TABLE_PTR
|
||||
.public UnloadFile
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
.public GetIqGroup
|
||||
.public GetPerformanceFlagWithChecks
|
||||
.public IQ_GROUP_SKILLS
|
||||
.public IQ_SKILLS
|
||||
.public IQ_SKILL_RESTRICTIONS
|
||||
.public IQ_SKILLS
|
||||
.public IqSkillFlagTest
|
||||
.public TACTICS_UNLOCK_LEVEL_TABLE
|
||||
|
||||
@@ -1,25 +1,4 @@
|
||||
#pragma once
|
||||
.public ARM9_UNKNOWN_DATA__NA_209EAAC
|
||||
.public GetCharWidth
|
||||
.public IsAOrBPressed
|
||||
.public MISSION_FLOOR_RANKS_AND_ITEM_LISTS_1
|
||||
.public TryAppendToSlice
|
||||
.public TryAssignByteWrapper
|
||||
.public UpdateAdvancedMenu
|
||||
.public UpdateAdvancedTextBox
|
||||
.public UpdateAlertBox
|
||||
.public UpdateAreaNameBox
|
||||
.public UpdateCollectionMenu
|
||||
.public UpdateControlsChart
|
||||
.public UpdateDebugMenu
|
||||
.public UpdateDialogueBox
|
||||
.public UpdateOptionsMenu
|
||||
.public UpdateParentMenu
|
||||
.public UpdatePortraitBox
|
||||
.public UpdateScrollBox
|
||||
.public UpdateSimpleMenu
|
||||
.public UpdateTeamSelectionMenu
|
||||
.public UpdateTextBox
|
||||
.public _020908D4
|
||||
.public _020908DC
|
||||
.public _020908E4
|
||||
@@ -279,7 +258,11 @@
|
||||
.public _0209F3F8
|
||||
.public __vsprintf_internal
|
||||
.public __vsprintf_internal_slice
|
||||
.public ARM9_UNKNOWN_DATA__NA_209EAAC
|
||||
.public GetCharWidth
|
||||
.public IsAOrBPressed
|
||||
.public memset
|
||||
.public MISSION_FLOOR_RANKS_AND_ITEM_LISTS_1
|
||||
.public snprintf
|
||||
.public sprintf
|
||||
.public sub_02005D14
|
||||
@@ -429,5 +412,22 @@
|
||||
.public sub_0209081C
|
||||
.public sub_0209086C
|
||||
.public sub_020908A8
|
||||
.public TryAppendToSlice
|
||||
.public TryAssignByteWrapper
|
||||
.public UpdateAdvancedMenu
|
||||
.public UpdateAdvancedTextBox
|
||||
.public UpdateAlertBox
|
||||
.public UpdateAreaNameBox
|
||||
.public UpdateCollectionMenu
|
||||
.public UpdateControlsChart
|
||||
.public UpdateDebugMenu
|
||||
.public UpdateDialogueBox
|
||||
.public UpdateOptionsMenu
|
||||
.public UpdateParentMenu
|
||||
.public UpdatePortraitBox
|
||||
.public UpdateScrollBox
|
||||
.public UpdateSimpleMenu
|
||||
.public UpdateTeamSelectionMenu
|
||||
.public UpdateTextBox
|
||||
.public vsprintf
|
||||
.public wcstombs
|
||||
|
||||
@@ -1 +1,2 @@
|
||||
#pragma once
|
||||
|
||||
|
||||
@@ -1 +1,2 @@
|
||||
#pragma once
|
||||
|
||||
|
||||
@@ -1,110 +1,4 @@
|
||||
#pragma once
|
||||
.public ACTOR_LIST
|
||||
.public BaseFormsEqual
|
||||
.public DseTrackEvent_Dummy1Byte
|
||||
.public DseTrackEvent_Dummy2Bytes
|
||||
.public DseTrackEvent_Dummy2Bytes2
|
||||
.public DseTrackEvent_EndTrack
|
||||
.public DseTrackEvent_ForceLfoEnvelopeLevel
|
||||
.public DseTrackEvent_Invalid
|
||||
.public DseTrackEvent_MainLoopBegin
|
||||
.public DseTrackEvent_OctaveDelta
|
||||
.public DseTrackEvent_PanDelta
|
||||
.public DseTrackEvent_PanFade
|
||||
.public DseTrackEvent_RestoreEnvelopeDefaults
|
||||
.public DseTrackEvent_SetBank
|
||||
.public DseTrackEvent_SetBankLsb
|
||||
.public DseTrackEvent_SetBankMsb
|
||||
.public DseTrackEvent_SetBpm
|
||||
.public DseTrackEvent_SetBpm2
|
||||
.public DseTrackEvent_SetEnvelopeAttackBegin
|
||||
.public DseTrackEvent_SetEnvelopeAttackTime
|
||||
.public DseTrackEvent_SetEnvelopeDecayTimeAndSustainLevel
|
||||
.public DseTrackEvent_SetEnvelopeHoldTime
|
||||
.public DseTrackEvent_SetEnvelopeReleaseTime
|
||||
.public DseTrackEvent_SetEnvelopeSustainTime
|
||||
.public DseTrackEvent_SetExpression
|
||||
.public DseTrackEvent_SetFlagBit1Unknown
|
||||
.public DseTrackEvent_SetHoldNotes
|
||||
.public DseTrackEvent_SetInstrument
|
||||
.public DseTrackEvent_SetKeyBend
|
||||
.public DseTrackEvent_SetKeyBendRange
|
||||
.public DseTrackEvent_SetLfoParameter
|
||||
.public DseTrackEvent_SetNoteDurationMultiplier
|
||||
.public DseTrackEvent_SetNoteRandomRegion
|
||||
.public DseTrackEvent_SetOctave
|
||||
.public DseTrackEvent_SetOptionalVolume
|
||||
.public DseTrackEvent_SetPan
|
||||
.public DseTrackEvent_SetTuning
|
||||
.public DseTrackEvent_SetTuningJitterAmplitude
|
||||
.public DseTrackEvent_SetUnknown2
|
||||
.public DseTrackEvent_SetVolume
|
||||
.public DseTrackEvent_SetupKeyBendLfo
|
||||
.public DseTrackEvent_SetupKeyBendLfoEnvelope
|
||||
.public DseTrackEvent_SetupLfo
|
||||
.public DseTrackEvent_SetupLfoEnvelope
|
||||
.public DseTrackEvent_SetupPanLfo
|
||||
.public DseTrackEvent_SetupPanLfoEnvelope
|
||||
.public DseTrackEvent_SetupVolumeLfo
|
||||
.public DseTrackEvent_SetupVolumeLfoEnvelope
|
||||
.public DseTrackEvent_Signal
|
||||
.public DseTrackEvent_SongVolumeFade
|
||||
.public DseTrackEvent_SubLoopBegin
|
||||
.public DseTrackEvent_SubLoopBreakOnLastIteration
|
||||
.public DseTrackEvent_SubLoopEnd
|
||||
.public DseTrackEvent_TuningDeltaCoarse
|
||||
.public DseTrackEvent_TuningDeltaFine
|
||||
.public DseTrackEvent_TuningDeltaFull
|
||||
.public DseTrackEvent_TuningFade
|
||||
.public DseTrackEvent_UseKeyBendLfo
|
||||
.public DseTrackEvent_UseLfo
|
||||
.public DseTrackEvent_UsePanLfo
|
||||
.public DseTrackEvent_UseVolumeLfo
|
||||
.public DseTrackEvent_VolumeDelta
|
||||
.public DseTrackEvent_VolumeFade
|
||||
.public DseTrackEvent_Wait16
|
||||
.public DseTrackEvent_Wait24
|
||||
.public DseTrackEvent_Wait8
|
||||
.public DseTrackEvent_WaitDelta
|
||||
.public DseTrackEvent_WaitSame
|
||||
.public DseTrackEvent_WaitUntilFadeout
|
||||
.public GetKeyM2N
|
||||
.public GetKeyM2NBaseForm
|
||||
.public GetKeyN2M
|
||||
.public GetKeyN2MBaseForm
|
||||
.public LEVEL_LIST
|
||||
.public MISSION_FLOOR_RANKS_AND_ITEM_LISTS_2
|
||||
.public RANK_STRINGS_1
|
||||
.public RANK_STRINGS_2
|
||||
.public RANK_STRINGS_3
|
||||
.public REMOTE_STRINGS
|
||||
.public Render3d64Nothing
|
||||
.public Render3d64Quadrilateral
|
||||
.public Render3d64Rectangle
|
||||
.public Render3d64RectangleMulticolor
|
||||
.public Render3d64Texture
|
||||
.public Render3d64Texture0x7
|
||||
.public Render3d64Tiling
|
||||
.public Render3d64WindowFrame
|
||||
.public STRING_BALANCE_M_LEVEL_BIN
|
||||
.public STRING_DUNGEON_DUNGEON_BIN
|
||||
.public STRING_EFFECT_EFFECT_BIN
|
||||
.public STRING_MONSTER_MONSTER_BIN
|
||||
.public STRING_MONSTER_M_ATTACK_BIN
|
||||
.public STRING_MONSTER_M_GROUND_BIN
|
||||
.public SoundLfoWave_FullNoiseFunc
|
||||
.public SoundLfoWave_FullSquareFunc
|
||||
.public SoundLfoWave_FullTriangleFunc
|
||||
.public SoundLfoWave_HalfNoiseFunc
|
||||
.public SoundLfoWave_HalfSquareFunc
|
||||
.public SoundLfoWave_HalfTriangleFunc
|
||||
.public SoundLfoWave_InvalidFunc
|
||||
.public SoundLfoWave_ReverseSawFunc
|
||||
.public SoundLfoWave_SawFunc
|
||||
.public TryAssignByte
|
||||
.public UNOWN_SPECIES_ADDITIONAL_CHARS
|
||||
.public ValidateLegendaryChallengeMission
|
||||
.public ValidateNormalChallengeMission
|
||||
.public _02092474
|
||||
.public _0209247C
|
||||
.public _02092484
|
||||
@@ -1693,7 +1587,109 @@
|
||||
.public _022BC770
|
||||
.public _022BC870
|
||||
.public _022BC970
|
||||
.public ACTOR_LIST
|
||||
.public BaseFormsEqual
|
||||
.public DseTrackEvent_Dummy1Byte
|
||||
.public DseTrackEvent_Dummy2Bytes
|
||||
.public DseTrackEvent_Dummy2Bytes2
|
||||
.public DseTrackEvent_EndTrack
|
||||
.public DseTrackEvent_ForceLfoEnvelopeLevel
|
||||
.public DseTrackEvent_Invalid
|
||||
.public DseTrackEvent_MainLoopBegin
|
||||
.public DseTrackEvent_OctaveDelta
|
||||
.public DseTrackEvent_PanDelta
|
||||
.public DseTrackEvent_PanFade
|
||||
.public DseTrackEvent_RestoreEnvelopeDefaults
|
||||
.public DseTrackEvent_SetBank
|
||||
.public DseTrackEvent_SetBankLsb
|
||||
.public DseTrackEvent_SetBankMsb
|
||||
.public DseTrackEvent_SetBpm
|
||||
.public DseTrackEvent_SetBpm2
|
||||
.public DseTrackEvent_SetEnvelopeAttackBegin
|
||||
.public DseTrackEvent_SetEnvelopeAttackTime
|
||||
.public DseTrackEvent_SetEnvelopeDecayTimeAndSustainLevel
|
||||
.public DseTrackEvent_SetEnvelopeHoldTime
|
||||
.public DseTrackEvent_SetEnvelopeReleaseTime
|
||||
.public DseTrackEvent_SetEnvelopeSustainTime
|
||||
.public DseTrackEvent_SetExpression
|
||||
.public DseTrackEvent_SetFlagBit1Unknown
|
||||
.public DseTrackEvent_SetHoldNotes
|
||||
.public DseTrackEvent_SetInstrument
|
||||
.public DseTrackEvent_SetKeyBend
|
||||
.public DseTrackEvent_SetKeyBendRange
|
||||
.public DseTrackEvent_SetLfoParameter
|
||||
.public DseTrackEvent_SetNoteDurationMultiplier
|
||||
.public DseTrackEvent_SetNoteRandomRegion
|
||||
.public DseTrackEvent_SetOctave
|
||||
.public DseTrackEvent_SetOptionalVolume
|
||||
.public DseTrackEvent_SetPan
|
||||
.public DseTrackEvent_SetTuning
|
||||
.public DseTrackEvent_SetTuningJitterAmplitude
|
||||
.public DseTrackEvent_SetUnknown2
|
||||
.public DseTrackEvent_SetupKeyBendLfo
|
||||
.public DseTrackEvent_SetupKeyBendLfoEnvelope
|
||||
.public DseTrackEvent_SetupLfo
|
||||
.public DseTrackEvent_SetupLfoEnvelope
|
||||
.public DseTrackEvent_SetupPanLfo
|
||||
.public DseTrackEvent_SetupPanLfoEnvelope
|
||||
.public DseTrackEvent_SetupVolumeLfo
|
||||
.public DseTrackEvent_SetupVolumeLfoEnvelope
|
||||
.public DseTrackEvent_SetVolume
|
||||
.public DseTrackEvent_Signal
|
||||
.public DseTrackEvent_SongVolumeFade
|
||||
.public DseTrackEvent_SubLoopBegin
|
||||
.public DseTrackEvent_SubLoopBreakOnLastIteration
|
||||
.public DseTrackEvent_SubLoopEnd
|
||||
.public DseTrackEvent_TuningDeltaCoarse
|
||||
.public DseTrackEvent_TuningDeltaFine
|
||||
.public DseTrackEvent_TuningDeltaFull
|
||||
.public DseTrackEvent_TuningFade
|
||||
.public DseTrackEvent_UseKeyBendLfo
|
||||
.public DseTrackEvent_UseLfo
|
||||
.public DseTrackEvent_UsePanLfo
|
||||
.public DseTrackEvent_UseVolumeLfo
|
||||
.public DseTrackEvent_VolumeDelta
|
||||
.public DseTrackEvent_VolumeFade
|
||||
.public DseTrackEvent_Wait16
|
||||
.public DseTrackEvent_Wait24
|
||||
.public DseTrackEvent_Wait8
|
||||
.public DseTrackEvent_WaitDelta
|
||||
.public DseTrackEvent_WaitSame
|
||||
.public DseTrackEvent_WaitUntilFadeout
|
||||
.public GetKeyM2N
|
||||
.public GetKeyM2NBaseForm
|
||||
.public GetKeyN2M
|
||||
.public GetKeyN2MBaseForm
|
||||
.public LEVEL_LIST
|
||||
.public mbtowc
|
||||
.public MISSION_FLOOR_RANKS_AND_ITEM_LISTS_2
|
||||
.public RANK_STRINGS_1
|
||||
.public RANK_STRINGS_2
|
||||
.public RANK_STRINGS_3
|
||||
.public REMOTE_STRINGS
|
||||
.public Render3d64Nothing
|
||||
.public Render3d64Quadrilateral
|
||||
.public Render3d64Rectangle
|
||||
.public Render3d64RectangleMulticolor
|
||||
.public Render3d64Texture
|
||||
.public Render3d64Texture0x7
|
||||
.public Render3d64Tiling
|
||||
.public Render3d64WindowFrame
|
||||
.public SoundLfoWave_FullNoiseFunc
|
||||
.public SoundLfoWave_FullSquareFunc
|
||||
.public SoundLfoWave_FullTriangleFunc
|
||||
.public SoundLfoWave_HalfNoiseFunc
|
||||
.public SoundLfoWave_HalfSquareFunc
|
||||
.public SoundLfoWave_HalfTriangleFunc
|
||||
.public SoundLfoWave_InvalidFunc
|
||||
.public SoundLfoWave_ReverseSawFunc
|
||||
.public SoundLfoWave_SawFunc
|
||||
.public STRING_BALANCE_M_LEVEL_BIN
|
||||
.public STRING_DUNGEON_DUNGEON_BIN
|
||||
.public STRING_EFFECT_EFFECT_BIN
|
||||
.public STRING_MONSTER_M_ATTACK_BIN
|
||||
.public STRING_MONSTER_M_GROUND_BIN
|
||||
.public STRING_MONSTER_MONSTER_BIN
|
||||
.public sub_02003620
|
||||
.public sub_02003780
|
||||
.public sub_02007EC0
|
||||
@@ -1766,3 +1762,7 @@
|
||||
.public sub_0209081C
|
||||
.public sub_0209086C
|
||||
.public sub_020908A0
|
||||
.public TryAssignByte
|
||||
.public UNOWN_SPECIES_ADDITIONAL_CHARS
|
||||
.public ValidateLegendaryChallengeMission
|
||||
.public ValidateNormalChallengeMission
|
||||
|
||||
@@ -74,7 +74,6 @@
|
||||
.public sub_0204F1B4
|
||||
.public sub_0204F1F0
|
||||
.public sub_0204F244
|
||||
.public sub_0204F55C
|
||||
.public sub_02057CE8
|
||||
.public sub_020582E0
|
||||
.public sub_020587C8
|
||||
@@ -85,6 +84,7 @@
|
||||
.public sub_0205BC94
|
||||
.public sub_0205F504
|
||||
.public TEAM_MEMBER_TABLE_PTR
|
||||
.public TilesetSecondaryTerrainIsChasm
|
||||
.public UnloadFile
|
||||
.public UnloadOverlay
|
||||
.public UnloadWte
|
||||
|
||||
@@ -1,34 +1,4 @@
|
||||
#pragma once
|
||||
.public CanSeeInvisibleMonsters
|
||||
.public DUNGEON_PTR
|
||||
.public DrawMinimapTile
|
||||
.public EntityIsValid__022E1A1C
|
||||
.public EntityIsValid__022E32E8
|
||||
.public GetForcedLossReason
|
||||
.public GetMessageLogPreprocessorArgs
|
||||
.public GetMonsterName
|
||||
.public HasDropeyeStatus
|
||||
.public IsBlinded
|
||||
.public IsPositionActuallyInSight
|
||||
.public IsPositionInSight
|
||||
.public ItemIsActive__022E330C
|
||||
.public PrepareItemForPrinting2
|
||||
.public SetPreprocessorArgsStringToName
|
||||
.public StringFromId
|
||||
.public SubstitutePlaceholderTrapTags
|
||||
.public TeamMemberHasEnabledIqSkill
|
||||
.public UpdateMinimap
|
||||
.public UpdateTrapsVisibility
|
||||
.public abs
|
||||
.public ov29_022E34C8
|
||||
.public ov29_022E3534
|
||||
.public ov29_022E3A58
|
||||
.public ov29_022ED82C
|
||||
.public ov29_023047DC
|
||||
.public ov29_02304954
|
||||
.public ov29_0233711C
|
||||
.public ov29_023372A4
|
||||
.public ov29_0237C84C
|
||||
.public strcpy
|
||||
.public sub_02009194
|
||||
.public sub_020091B0
|
||||
|
||||
33
asm/include/overlay_29_022E2978.inc
Normal file
33
asm/include/overlay_29_022E2978.inc
Normal file
@@ -0,0 +1,33 @@
|
||||
#pragma once
|
||||
.public abs
|
||||
.public CanSeeInvisibleMonsters
|
||||
.public DrawMinimapTile
|
||||
.public DUNGEON_PTR
|
||||
.public EntityIsValid__022E1A1C
|
||||
.public EntityIsValid__022E32E8
|
||||
.public GetForcedLossReason
|
||||
.public GetMessageLogPreprocessorArgs
|
||||
.public GetMonsterName
|
||||
.public HasDropeyeStatus
|
||||
.public IsBlinded
|
||||
.public IsPositionActuallyInSight
|
||||
.public ItemIsActive__022E330C
|
||||
.public ov29_022E34C8
|
||||
.public ov29_022E3534
|
||||
.public ov29_022E3A58
|
||||
.public ov29_022ED82C
|
||||
.public ov29_023047DC
|
||||
.public ov29_02304954
|
||||
.public ov29_0233711C
|
||||
.public ov29_023372A4
|
||||
.public ov29_0237C84C
|
||||
.public PrepareItemForPrinting2
|
||||
.public SetPreprocessorArgsStringToName
|
||||
.public strcpy
|
||||
.public StringFromId
|
||||
.public sub_02009194
|
||||
.public sub_020091B0
|
||||
.public SubstitutePlaceholderTrapTags
|
||||
.public TeamMemberHasEnabledIqSkill
|
||||
.public UpdateMinimap
|
||||
.public UpdateTrapsVisibility
|
||||
@@ -1,8 +1,8 @@
|
||||
#pragma once
|
||||
.public _020AFC4C
|
||||
.public DUNGEON_PTR
|
||||
.public EntityIsValid__022E95F4
|
||||
.public LEADER_PTR
|
||||
.public _020AFC4C
|
||||
.public ov29_0237C888
|
||||
.public ov29_0237C88A
|
||||
.public ov29_0237C88E
|
||||
|
||||
@@ -28,8 +28,8 @@
|
||||
.public GetTileAtEntity
|
||||
.public GetTileSafe
|
||||
.public IQ_SKILLS
|
||||
.public IsLevelResetDungeon
|
||||
.public IsBehaviorLoneOutlaw
|
||||
.public IsLevelResetDungeon
|
||||
.public IsMonsterIdInNormalRange
|
||||
.public IsOutlawOrChallengeRequestFloor
|
||||
.public IsRecruitingAllowed
|
||||
|
||||
@@ -11,8 +11,8 @@
|
||||
.public CheckVariousStatuses__023016DC
|
||||
.public Conversion2IsActive
|
||||
.public DIRECTIONS_XY
|
||||
.public DUNGEON_PTR
|
||||
.public DiscoverMinimap
|
||||
.public DUNGEON_PTR
|
||||
.public DungeonRandInt
|
||||
.public EnableIqSkill
|
||||
.public EndBurnClassStatus
|
||||
@@ -36,19 +36,6 @@
|
||||
.public LogMessageByIdWithPopup
|
||||
.public LogMessageByIdWithPopupCheckUser
|
||||
.public LogMessageByIdWithPopupCheckUserTarget
|
||||
.public PointCameraToMonster
|
||||
.public SECONDARY_TERRAIN_TYPES
|
||||
.public SetActionPassTurnOrWalk
|
||||
.public SetPreprocessorArgsIdVal
|
||||
.public SetPreprocessorArgsStringToName
|
||||
.public ShouldDisplayEntityWrapper
|
||||
.public SubFixedPoint
|
||||
.public SubstitutePlaceholderStringTags
|
||||
.public TryInflictBurnStatus
|
||||
.public TryInflictPausedStatus
|
||||
.public UpdateCamera
|
||||
.public UpdateMinimap
|
||||
.public UpdateStatusIconFlags
|
||||
.public ov29_022E4160
|
||||
.public ov29_022E81F8
|
||||
.public ov29_022EA370
|
||||
@@ -58,8 +45,21 @@
|
||||
.public ov29_02304A48
|
||||
.public ov29_02307CE0
|
||||
.public ov29_02307DD0
|
||||
.public PointCameraToMonster
|
||||
.public SECONDARY_TERRAIN_TYPES
|
||||
.public SetActionPassTurnOrWalk
|
||||
.public SetPreprocessorArgsIdVal
|
||||
.public SetPreprocessorArgsStringToName
|
||||
.public ShouldDisplayEntityWrapper
|
||||
.public sub_02017C50
|
||||
.public sub_0204AEF0
|
||||
.public sub_02050FF8
|
||||
.public sub_02052E2C
|
||||
.public sub_02056228
|
||||
.public SubFixedPoint
|
||||
.public SubstitutePlaceholderStringTags
|
||||
.public TryInflictBurnStatus
|
||||
.public TryInflictPausedStatus
|
||||
.public UpdateCamera
|
||||
.public UpdateMinimap
|
||||
.public UpdateStatusIconFlags
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
.public AbilityIsActiveVeneer
|
||||
.public CanMonsterSpawn
|
||||
.public CheckTeamMemberIdx
|
||||
.public DUNGEON_PTR
|
||||
.public DefenderAbilityIsActive__022F96CC
|
||||
.public DUNGEON_PTR
|
||||
.public DungeonRandInt
|
||||
.public EndBurnClassStatus
|
||||
.public EndCringeClassStatus
|
||||
@@ -16,20 +16,20 @@
|
||||
.public GetExclusiveItemWithEffectFromBag
|
||||
.public GetMaxPp
|
||||
.public GetMaxPpWrapper
|
||||
.public GetSuccessfulExitTracker
|
||||
.public IqSkillIsEnabled
|
||||
.public IsMonsterIdInNormalRange
|
||||
.public IsMonsterSleeping
|
||||
.public LogMessageByIdWithPopupCheckUser
|
||||
.public PrepareItemForPrinting__02345728
|
||||
.public RestoreAllMovePP
|
||||
.public SetPreprocessorArgsIdVal
|
||||
.public ShowPpRestoreEffect
|
||||
.public SubstitutePlaceholderStringTags
|
||||
.public ov29_022E0A04
|
||||
.public ov29_022E68BC
|
||||
.public ov29_022E68D8
|
||||
.public ov29_022E8104
|
||||
.public ov29_022E81F8
|
||||
.public ov29_022EA370
|
||||
.public ov29_02304A48
|
||||
.public PrepareItemForPrinting__02345728
|
||||
.public RestoreAllMovePP
|
||||
.public SetPreprocessorArgsIdVal
|
||||
.public ShowPpRestoreEffect
|
||||
.public sub_0201405C
|
||||
.public SubstitutePlaceholderStringTags
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
#pragma once
|
||||
.public _s32_div_f
|
||||
.public CopySpawnEntriesMaster
|
||||
.public DUNGEON_PTR
|
||||
.public DungeonRngSetPrimary
|
||||
@@ -18,22 +17,21 @@
|
||||
.public GetOffensiveStatAtLevel
|
||||
.public GetOutlawSpawnData
|
||||
.public GetTile
|
||||
.public GetTurnLimit
|
||||
.public GroundToDungeonMoveset
|
||||
.public IQ_SKILLS
|
||||
.public InitMoveCheckId
|
||||
.public InitTeamMember
|
||||
.public IQ_SKILLS
|
||||
.public IsCurrentMissionType
|
||||
.public IsDestinationFloorWithFixedRoom
|
||||
.public IsDestinationFloorWithMonster
|
||||
.public IsFullFloorFixedRoom
|
||||
.public IsInvalidSpawnTile
|
||||
.public JoinedAtRangeCheck2Veneer
|
||||
.public LoadWazaP2
|
||||
.public SetMonsterLevelAndId
|
||||
.public UnloadCurrentWazaP
|
||||
.public _s32_div_f
|
||||
.public ov29_022FB83C
|
||||
.public ov29_022FCD04
|
||||
.public ov29_023021F0
|
||||
.public ov29_02351E28
|
||||
.public SetMonsterLevelAndId
|
||||
.public sub_0200F9B4
|
||||
.public UnloadCurrentWazaP
|
||||
@@ -41,6 +41,7 @@
|
||||
.public InitEnemyStatsAndMoves
|
||||
.public InitStandardItem
|
||||
.public IsBagFull
|
||||
.public IsBehaviorLoneOutlaw
|
||||
.public IsCurrentFixedRoomBossFight
|
||||
.public IsCurrentMissionType
|
||||
.public IsDestinationFloorWithFixedRoom
|
||||
@@ -48,7 +49,6 @@
|
||||
.public IsDestinationFloorWithHiddenOutlaw
|
||||
.public IsDestinationFloorWithMonster
|
||||
.public IsInvalidSpawnTile
|
||||
.public IsBehaviorLoneOutlaw
|
||||
.public IsOutlawMonsterHouseFloor
|
||||
.public IsSecretBazaarNpcBehavior
|
||||
.public IsSpecialStoryAllyOrClient
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
.public GetTalkLine
|
||||
.public GetTile
|
||||
.public GetUnlockedTacticFlags
|
||||
.public InitMoveWrapper
|
||||
.public InitPortraitDungeon
|
||||
.public IsExperienceLocked
|
||||
.public IsHero
|
||||
@@ -50,7 +51,6 @@
|
||||
.public ov29_023021F0
|
||||
.public ov29_02304830
|
||||
.public ov29_02318D58
|
||||
.public ov29_0231EA04
|
||||
.public ov29_02338988
|
||||
.public ov29_0234B4E0
|
||||
.public ov29_0234CFA0
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
.public ov29_022E3A58
|
||||
.public ov29_022E543C
|
||||
.public ov29_022EA370
|
||||
.public ov29_022FBE04
|
||||
.public IsTeamMemberOnFirstTurnInFixedRoom
|
||||
.public ov29_02337D68
|
||||
.public ov29_02353318
|
||||
.public SubstitutePlaceholderStringTags
|
||||
|
||||
@@ -40,9 +40,9 @@
|
||||
.public ov29_02300D50
|
||||
.public ov29_0230D654
|
||||
.public ov29_0230F728
|
||||
.public ov29_0231EDFC
|
||||
.public ov29_023380FC
|
||||
.public ov29_023535DC
|
||||
.public RAPID_SPIN_BINDING_REMOVAL
|
||||
.public ResetDamageData
|
||||
.public TryHurl
|
||||
.public UpdateAiTargetPos
|
||||
|
||||
@@ -31,8 +31,8 @@
|
||||
.public IsBlinded
|
||||
.public IsCurrentMissionType
|
||||
.public IsExperienceLocked
|
||||
.public IsMonsterLoneOutlaw
|
||||
.public IsMonsterIdInNormalRangeVeneer
|
||||
.public IsMonsterLoneOutlaw
|
||||
.public IsSecretBazaarNpcBehavior
|
||||
.public IsSpecialStoryAlly
|
||||
.public ItemIsActive__0230A9DC
|
||||
|
||||
@@ -20,13 +20,13 @@
|
||||
.public IsAuraBow
|
||||
.public IsExperienceLocked
|
||||
.public IsFloorOver
|
||||
.public IsItemUnkMissionItem2
|
||||
.public ItemIsActive__0230F810
|
||||
.public LogMessageByIdWithPopup
|
||||
.public ov29_022F52BC
|
||||
.public ov29_022F9EA0
|
||||
.public ov29_02345004
|
||||
.public ov29_02347040
|
||||
.public IsItemUnkMissionItem2
|
||||
.public ov29_02348D3C
|
||||
.public ov29_02348DD8
|
||||
.public ov29_02348ECC
|
||||
|
||||
@@ -2,9 +2,10 @@
|
||||
.public AbilityIsActiveVeneer
|
||||
.public CalcStatusDuration
|
||||
.public ChangeShayminForme
|
||||
.public CopyStringFromId
|
||||
.public DefenderAbilityIsActive__02311B94
|
||||
.public DIRECTIONS_XY
|
||||
.public DUNGEON_PTR
|
||||
.public DefenderAbilityIsActive__02311B94
|
||||
.public EntityIsValid__023118B4
|
||||
.public ExclusiveItemEffectIsActiveWithLogging
|
||||
.public GetMessageLogPreprocessorArgs
|
||||
@@ -16,14 +17,6 @@
|
||||
.public ItemIsActive__02311BF8
|
||||
.public LogMessageByIdWithPopupCheckUserTarget
|
||||
.public MonsterIsType
|
||||
.public SECONDARY_TERRAIN_TYPES
|
||||
.public SafeguardIsActive
|
||||
.public SetPreprocessorArgsIdVal
|
||||
.public SetPreprocessorArgsStringToName
|
||||
.public SubstitutePlaceholderStringTags
|
||||
.public TryActivateQuickFeet
|
||||
.public UpdateStatusIconFlags
|
||||
.public ov10_022C4728
|
||||
.public ov10_022C479C
|
||||
.public ov10_022C47A0
|
||||
.public ov10_022C4804
|
||||
@@ -52,3 +45,12 @@
|
||||
.public ov29_022E53EC
|
||||
.public ov29_02304A48
|
||||
.public ov29_02304A84
|
||||
.public SafeguardIsActive
|
||||
.public SECONDARY_TERRAIN_TYPES
|
||||
.public SetMessageLogPreprocessorArgsString
|
||||
.public SetPreprocessorArgsIdVal
|
||||
.public SetPreprocessorArgsStringToName
|
||||
.public SLEEPLESSNESS_TURN_RANGE
|
||||
.public SubstitutePlaceholderStringTags
|
||||
.public TryActivateQuickFeet
|
||||
.public UpdateStatusIconFlags
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
.public GetExclusiveItemWithEffectFromBag
|
||||
.public GetMessageLogPreprocessorArgs
|
||||
.public GetTile
|
||||
.public GetTreatmentBetweenMonstersIgnoreStatus
|
||||
.public IsProtectedFromNegativeStatus
|
||||
.public IsProtectedFromStatDrops
|
||||
.public ItemIsActive__02311BF8
|
||||
@@ -26,8 +27,7 @@
|
||||
.public PlayDefensiveStatMultiplierDownEffect
|
||||
.public PlayHitChanceUpEffect
|
||||
.public PlayHitChanceDownEffect
|
||||
.public GetTreatmentBetweenMonstersIgnoreStatus
|
||||
.public PlayCringeExclamationPointEffect
|
||||
.public PlayExclamationPointEffect__022E5D4C
|
||||
.public PrepareItemForPrinting__02345728
|
||||
.public SafeguardIsActive
|
||||
.public SetMessageLogPreprocessorArgsString
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
.public BoostOffensiveStat
|
||||
.public CalcStatusDuration
|
||||
.public CeilFixedPoint
|
||||
.public DECOY_TURN_RANGE
|
||||
.public DetermineMonsterShadow
|
||||
.public DisplayAnimatedNumbers
|
||||
.public DUNGEON_PTR
|
||||
@@ -42,7 +43,6 @@
|
||||
.public ov10_022C47A4
|
||||
.public ov10_022C47AC
|
||||
.public ov10_022C47B0
|
||||
.public ov10_022C47B4
|
||||
.public ov10_022C47BC
|
||||
.public ov10_022C47C8
|
||||
.public ov10_022C47D4
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
.public EntityIsValid__02318D34
|
||||
.public EntityIsValid__02318E4C
|
||||
.public LogMessageByIdWithPopupCheckUserTarget
|
||||
.public ov10_022C4750
|
||||
.public ov29_022E3F20
|
||||
.public SET_REFLECT_STATUS_TURN_RANGE
|
||||
.public SubstitutePlaceholderStringTags
|
||||
.public UpdateStatusIconFlags
|
||||
|
||||
@@ -2,16 +2,15 @@
|
||||
.public AbilityIsActiveVeneer
|
||||
.public CalcStatusDuration
|
||||
.public EntityIsValid__02318E4C
|
||||
.public LIGHT_SCREEN_TURN_RANGE
|
||||
.public LogMessageByIdWithPopupCheckUserTarget
|
||||
.public ov10_022C4730
|
||||
.public ov10_022C4734
|
||||
.public ov10_022C4738
|
||||
.public ov10_022C4740
|
||||
.public MAGIC_COAT_TURN_RANGE
|
||||
.public MIRROR_MOVE_TURN_RANGE
|
||||
.public MIST_TURN_RANGE
|
||||
.public ov10_022C4794
|
||||
.public ov10_022C47B8
|
||||
.public ov10_022C47CC
|
||||
.public ov10_022C47F4
|
||||
.public ov10_022C4840
|
||||
.public ov10_022C4854
|
||||
.public ov10_022C485C
|
||||
.public ov29_022E3F74
|
||||
@@ -28,5 +27,6 @@
|
||||
.public ov29_022E41AC
|
||||
.public ov29_022E543C
|
||||
.public REFLECT_LIGHT_SCREEN_TURN_RANGE
|
||||
.public SAFEGUARD_TURN_RANGE
|
||||
.public SubstitutePlaceholderStringTags
|
||||
.public UpdateStatusIconFlags
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
.public DUNGEON_PTR
|
||||
.public DungeonRandInt
|
||||
.public DungeonRandOutcome__022EAB20
|
||||
.public DungeonTmLearnMove
|
||||
.public EndBurnClassStatus
|
||||
.public EndFrozenClassStatus
|
||||
.public EntityIsValid__0231CBC8
|
||||
@@ -79,7 +80,6 @@
|
||||
.public ov29_022FBA54
|
||||
.public ov29_023009A0
|
||||
.public ov29_023021F0
|
||||
.public ov29_023038D4
|
||||
.public ov29_02339FF4
|
||||
.public ov29_0234BA54
|
||||
.public ov29_023529AC
|
||||
|
||||
@@ -4,13 +4,13 @@
|
||||
.public DUNGEON_PTR
|
||||
.public EnsureCanStandCurrentTile
|
||||
.public EntityIsValid__0231EDD8
|
||||
.public FloorSecondaryTerrainIsChasm
|
||||
.public GetMoveCategory
|
||||
.public GetTile
|
||||
.public GetTileSafe
|
||||
.public InitMove
|
||||
.public IsFullFloorFixedRoom
|
||||
.public LogMessageByIdWithPopupCheckUser
|
||||
.public ov29_022E0378
|
||||
.public ov29_022EA370
|
||||
.public ov29_022F9C74
|
||||
.public ov29_02305814
|
||||
|
||||
@@ -14,10 +14,10 @@
|
||||
.public GetTile
|
||||
.public GetTreatmentBetweenMonsters
|
||||
.public HasDropeyeStatus
|
||||
.public HURL_DAMAGE
|
||||
.public InitMove
|
||||
.public LogMessageByIdWithPopupCheckUserTarget
|
||||
.public MoveMonsterToPos
|
||||
.public ov10_022C4458
|
||||
.public ov29_022E9298
|
||||
.public ov29_022EA370
|
||||
.public ov29_022FF764
|
||||
|
||||
@@ -68,7 +68,6 @@
|
||||
.public MistIsActive
|
||||
.public ov10_022C456C
|
||||
.public ov10_022C45BC
|
||||
.public ov29_022E09E8
|
||||
.public ov29_022E1AAC
|
||||
.public ov29_022E1AD4
|
||||
.public ov29_022E1EF8
|
||||
@@ -86,8 +85,6 @@
|
||||
.public ov29_0230DAB8
|
||||
.public ov29_02318BBC
|
||||
.public ov29_02318D58
|
||||
.public ov29_0231EDFC
|
||||
.public ov29_0231F6E4
|
||||
.public ov29_02332F18
|
||||
.public ov29_02336694
|
||||
.public ov29_0234BA54
|
||||
@@ -99,6 +96,7 @@
|
||||
.public RevealStairs
|
||||
.public RevealWholeFloor
|
||||
.public ROOST_HP_RESTORATION_TABLE
|
||||
.public SetDungeonEscapeFields
|
||||
.public SetMessageLogPreprocessorArgsString
|
||||
.public SetPreprocessorArgsIdVal
|
||||
.public SetReflectStatus
|
||||
@@ -117,6 +115,7 @@
|
||||
.public TryDecreaseBelly
|
||||
.public TryDrought
|
||||
.public TryEatItem
|
||||
.public TryHurl
|
||||
.public TryIncreaseHp
|
||||
.public TryInflictAquaRingStatus
|
||||
.public TryInflictBurnStatus
|
||||
@@ -141,6 +140,7 @@
|
||||
.public TryRemoveTrap
|
||||
.public TrySpawnTrap
|
||||
.public TrySwitchPlace
|
||||
.public TryTrawl
|
||||
.public TryWarp
|
||||
.public UpdateMinimap
|
||||
.public UpdateTrapsVisibility
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#pragma once
|
||||
.public DUNGEON_PTR
|
||||
.public IsGoldenChamber
|
||||
.public PositionHasItem
|
||||
.public ov29_023369F8
|
||||
.public PositionHasItem
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
#pragma once
|
||||
.public DEFAULT_TILE
|
||||
.public DIRECTIONS_XY
|
||||
.public DUNGEON_PTR
|
||||
.public Debug_Print0
|
||||
.public DEFAULT_TILE
|
||||
.public DetermineMonsterShadow
|
||||
.public DIRECTIONS_XY
|
||||
.public DrawMinimapTile
|
||||
.public DUNGEON_PTR
|
||||
.public EntityIsValid__02337CA8
|
||||
.public FloorSecondaryTerrainIsChasm
|
||||
.public GetBgRegionArea
|
||||
.public GetLeader
|
||||
.public GetTile
|
||||
@@ -15,8 +16,6 @@
|
||||
.public IsCurrentFixedRoomBossFight
|
||||
.public IsSecretBazaar
|
||||
.public MOBILITY_TYPE_TO_DUNGEON_MOBILITY_TYPE
|
||||
.public RandIntSafe
|
||||
.public SECONDARY_TERRAIN_TYPES
|
||||
.public ov10_022C2588
|
||||
.public ov10_022C25EC
|
||||
.public ov10_022C2638
|
||||
@@ -24,7 +23,6 @@
|
||||
.public ov10_022C26A0
|
||||
.public ov10_022C2720
|
||||
.public ov29_022DE0EC
|
||||
.public ov29_022E0378
|
||||
.public ov29_022E2930
|
||||
.public ov29_022E66C4
|
||||
.public ov29_022E9F80
|
||||
@@ -37,6 +35,8 @@
|
||||
.public ov29_02352F14
|
||||
.public ov29_0237CAA0
|
||||
.public ov29_0237CAAC
|
||||
.public RandIntSafe
|
||||
.public SECONDARY_TERRAIN_TYPES
|
||||
.public sub_0204AED0
|
||||
.public sub_02051D8C
|
||||
.public sub_02051E60
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
.public HandleSir0Translation
|
||||
.public HIDDEN_STAIRS_SPAWN_BLOCKED
|
||||
.public InitRender3dElement64
|
||||
.public IsBehaviorLoneOutlaw
|
||||
.public IsCurrentMissionType
|
||||
.public IsCurrentMissionTypeExact
|
||||
.public IsCurrentTilesetBackground
|
||||
@@ -32,7 +33,6 @@
|
||||
.public IsExperienceLocked
|
||||
.public IsGoldenChamber
|
||||
.public IsHiddenStairsFloor
|
||||
.public IsBehaviorLoneOutlaw
|
||||
.public IsOutlawMonsterHouseFloor
|
||||
.public IsSecretBazaar
|
||||
.public LoadFixedRoomData
|
||||
|
||||
@@ -43,7 +43,6 @@
|
||||
.public MONEY_QUANTITY_TABLE
|
||||
.public MonsterHasEmbargoStatus
|
||||
.public ov10_022C4CD8
|
||||
.public ov29_022E09E8
|
||||
.public ov29_022E9488
|
||||
.public ov29_022EBB8C
|
||||
.public ov29_022EBB98
|
||||
@@ -58,6 +57,7 @@
|
||||
.public PrepareItemForPrinting__02345728
|
||||
.public PrepareItemForPrinting__02345754
|
||||
.public RemoveEmptyItemsInBag
|
||||
.public SetDungeonEscapeFields
|
||||
.public SetEntityPixelPosXY
|
||||
.public SetItemAcquired
|
||||
.public SinAbs4096
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
#pragma once
|
||||
.public _020A1878
|
||||
.public AdvanceFrame
|
||||
.public CanSeeTarget
|
||||
.public DUNGEON_PTR
|
||||
.public DisplayMessage
|
||||
.public DisplayMessage2
|
||||
.public DUNGEON_PTR
|
||||
.public DungeonRandInt
|
||||
.public ExclusiveItemEffectFlagTest
|
||||
.public ExclusiveItemEffectIsActive__02347B80
|
||||
@@ -26,17 +27,7 @@
|
||||
.public MemAlloc
|
||||
.public MemFree
|
||||
.public MemZero
|
||||
.public PrepareItemForPrinting__02345728
|
||||
.public SetMessageLogPreprocessorArgsFlagVal
|
||||
.public SetMessageLogPreprocessorArgsString
|
||||
.public StartFadeDungeonWrapper
|
||||
.public SubstitutePlaceholderStringTags
|
||||
.public THROWN_ITEM_HIT_CHANCE
|
||||
.public TrySpawnGoldenChamber
|
||||
.public YesNoMenu
|
||||
.public _020A1878
|
||||
.public ov10_022C48E4
|
||||
.public ov29_022E09E8
|
||||
.public ov29_022E0DD8
|
||||
.public ov29_022E0DE4
|
||||
.public ov29_022E0DFC
|
||||
@@ -52,6 +43,11 @@
|
||||
.public ov29_0234C738
|
||||
.public ov29_023537C4
|
||||
.public ov29_0237C694
|
||||
.public PrepareItemForPrinting__02345728
|
||||
.public SetDungeonEscapeFields
|
||||
.public SetMessageLogPreprocessorArgsFlagVal
|
||||
.public SetMessageLogPreprocessorArgsString
|
||||
.public StartFadeDungeonWrapper
|
||||
.public strcpy
|
||||
.public sub_02011220
|
||||
.public sub_02015328
|
||||
@@ -62,3 +58,7 @@
|
||||
.public sub_02017A20
|
||||
.public sub_02051DFC
|
||||
.public sub_02051EB8
|
||||
.public SubstitutePlaceholderStringTags
|
||||
.public THROWN_ITEM_HIT_CHANCE
|
||||
.public TrySpawnGoldenChamber
|
||||
.public YesNoMenu
|
||||
|
||||
@@ -8,8 +8,6 @@
|
||||
.public IsItemWithFlagsInBag
|
||||
.public LoadMonsterSprite
|
||||
.public LogMessageByIdWithPopupCheckUser
|
||||
.public PrepareItemForPrinting__02345728
|
||||
.public SubstitutePlaceholderStringTags
|
||||
.public ov29_02348ABC
|
||||
.public ov29_02348B28
|
||||
.public ov29_02348BA0
|
||||
@@ -21,3 +19,5 @@
|
||||
.public ov29_0234AA98
|
||||
.public ov29_0234ABB0
|
||||
.public ov29_0234AC8C
|
||||
.public PrepareItemForPrinting__02345728
|
||||
.public SubstitutePlaceholderStringTags
|
||||
|
||||
@@ -51,7 +51,6 @@
|
||||
.public MESSAGE_LOG_INFO
|
||||
.public MusicTableIdxToMusicId
|
||||
.public ov10_022BFD20
|
||||
.public ov29_022E09E8
|
||||
.public ov29_022E0B60
|
||||
.public ov29_022E2CA0
|
||||
.public ov29_022E550C
|
||||
@@ -88,6 +87,7 @@
|
||||
.public PreprocessString
|
||||
.public RemoveEmptyItemsInBagWrapper
|
||||
.public RemoveGroundItem
|
||||
.public SetDungeonEscapeFields
|
||||
.public SetPortraitLayout
|
||||
.public ShouldDisplayEntityWrapper
|
||||
.public ShouldMonsterHeadToStairs
|
||||
|
||||
@@ -112,6 +112,7 @@
|
||||
.public IsExperienceLocked
|
||||
.public IsHeldItemInBag
|
||||
.public IsInventoryMenuActive
|
||||
.public IsItemUnkMissionItem2
|
||||
.public IsItemUsableNow
|
||||
.public IsMonsterOnTeam
|
||||
.public IsNot2TurnsMoveOrSketch
|
||||
@@ -168,7 +169,6 @@
|
||||
.public ov29_023468FC
|
||||
.public ov29_02346E5C
|
||||
.public ov29_02347100
|
||||
.public IsItemUnkMissionItem2
|
||||
.public ov29_0234E988
|
||||
.public ov29_0234EA18
|
||||
.public ov29_0234EBCC
|
||||
|
||||
@@ -101,10 +101,10 @@ _0204BEC8: .word _0209CF48
|
||||
|
||||
arm_func_start sub_0204BECC
|
||||
sub_0204BECC: ; 0x0204BECC
|
||||
ldr ip, _0204BED4 ; =FlagCalc
|
||||
ldr ip, _0204BED4 ; =CalcScriptVariables
|
||||
bx ip
|
||||
.align 2, 0
|
||||
_0204BED4: .word FlagCalc
|
||||
_0204BED4: .word CalcScriptVariables
|
||||
arm_func_end sub_0204BECC
|
||||
|
||||
arm_func_start sub_0204BED8
|
||||
@@ -117,7 +117,7 @@ sub_0204BED8: ; 0x0204BED8
|
||||
bl LoadScriptVariableValue
|
||||
mov r1, r5
|
||||
mov r2, r4
|
||||
bl FlagCalc
|
||||
bl CalcScriptVariables
|
||||
mov r2, r0
|
||||
mov r0, r7
|
||||
mov r1, r6
|
||||
@@ -140,7 +140,7 @@ sub_0204BF10: ; 0x0204BF10
|
||||
mov r1, r0
|
||||
mov r0, r4
|
||||
mov r2, r5
|
||||
bl FlagCalc
|
||||
bl CalcScriptVariables
|
||||
mov r2, r0
|
||||
mov r0, r8
|
||||
mov r1, r7
|
||||
|
||||
@@ -1807,8 +1807,8 @@ _0204F4EC:
|
||||
_0204F558: .word 0x00004001
|
||||
arm_func_end sub_0204F488
|
||||
|
||||
arm_func_start sub_0204F55C
|
||||
sub_0204F55C: ; 0x0204F55C
|
||||
arm_func_start TilesetSecondaryTerrainIsChasm
|
||||
TilesetSecondaryTerrainIsChasm: ; 0x0204F55C
|
||||
ldr r1, _0204F578 ; =SECONDARY_TERRAIN_TYPES
|
||||
ldrb r0, [r1, r0]
|
||||
cmp r0, #2
|
||||
@@ -1818,7 +1818,7 @@ sub_0204F55C: ; 0x0204F55C
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0204F578: .word SECONDARY_TERRAIN_TYPES
|
||||
arm_func_end sub_0204F55C
|
||||
arm_func_end TilesetSecondaryTerrainIsChasm
|
||||
|
||||
arm_func_start GetNbFloors
|
||||
GetNbFloors: ; 0x0204F57C
|
||||
|
||||
@@ -1542,7 +1542,7 @@ _022C3A64:
|
||||
b _022C3E54
|
||||
_022C3AD4:
|
||||
mov r0, r5
|
||||
bl sub_0204F55C
|
||||
bl TilesetSecondaryTerrainIsChasm
|
||||
cmp r0, #0
|
||||
sub r0, r6, #1
|
||||
str r0, [sp, #0x20]
|
||||
|
||||
@@ -95,8 +95,8 @@ CRUNCH_LOWER_DEFENSE_CHANCE:
|
||||
.global ov10_022C4454
|
||||
ov10_022C4454:
|
||||
.byte 0x02, 0x00, 0x00, 0x00
|
||||
.global ov10_022C4458
|
||||
ov10_022C4458:
|
||||
.global HURL_DAMAGE
|
||||
HURL_DAMAGE:
|
||||
.byte 0x0A, 0x00, 0x00, 0x00
|
||||
.global TRAP_BUSTER_ACTIVATION_CHANCE
|
||||
TRAP_BUSTER_ACTIVATION_CHANCE:
|
||||
|
||||
@@ -167,26 +167,26 @@ SLEEP_TURN_RANGE:
|
||||
.global NIGHTMARE_TURN_RANGE
|
||||
NIGHTMARE_TURN_RANGE:
|
||||
.byte 0x04, 0x00, 0x08, 0x00
|
||||
.global ov10_022C4728
|
||||
ov10_022C4728:
|
||||
.global SLEEPLESSNESS_TURN_RANGE
|
||||
SLEEPLESSNESS_TURN_RANGE:
|
||||
.byte 0x7F, 0x00, 0x7F, 0x00
|
||||
.global REFLECT_LIGHT_SCREEN_TURN_RANGE
|
||||
REFLECT_LIGHT_SCREEN_TURN_RANGE:
|
||||
.byte 0x0A, 0x00, 0x0C, 0x00
|
||||
.global ov10_022C4730
|
||||
ov10_022C4730:
|
||||
.global LIGHT_SCREEN_TURN_RANGE
|
||||
LIGHT_SCREEN_TURN_RANGE:
|
||||
.byte 0x0A, 0x00, 0x0C, 0x00
|
||||
.global ov10_022C4734
|
||||
ov10_022C4734:
|
||||
.global SAFEGUARD_TURN_RANGE
|
||||
SAFEGUARD_TURN_RANGE:
|
||||
.byte 0x0F, 0x00, 0x14, 0x00
|
||||
.global ov10_022C4738
|
||||
ov10_022C4738:
|
||||
.global MIST_TURN_RANGE
|
||||
MIST_TURN_RANGE:
|
||||
.byte 0x0A, 0x00, 0x0E, 0x00
|
||||
.global ov10_022C473C
|
||||
ov10_022C473C:
|
||||
.byte 0x50, 0x00, 0x00, 0x00
|
||||
.global ov10_022C4740
|
||||
ov10_022C4740:
|
||||
.global MAGIC_COAT_TURN_RANGE
|
||||
MAGIC_COAT_TURN_RANGE:
|
||||
.byte 0x0A, 0x00, 0x0C, 0x00
|
||||
.global BURN_DAMAGE_MULTIPLIER
|
||||
BURN_DAMAGE_MULTIPLIER:
|
||||
@@ -197,8 +197,8 @@ REST_TURN_RANGE:
|
||||
.global MATCHUP_SUPER_EFFECTIVE_MULTIPLIER_ERRATIC_PLAYER
|
||||
MATCHUP_SUPER_EFFECTIVE_MULTIPLIER_ERRATIC_PLAYER:
|
||||
.byte 0xB3, 0x01, 0x00, 0x00
|
||||
.global ov10_022C4750
|
||||
ov10_022C4750:
|
||||
.global SET_REFLECT_STATUS_TURN_RANGE
|
||||
SET_REFLECT_STATUS_TURN_RANGE:
|
||||
.byte 0x06, 0x00, 0x0C, 0x00
|
||||
.global ov10_022C4754
|
||||
ov10_022C4754:
|
||||
@@ -272,8 +272,8 @@ ov10_022C47AC:
|
||||
.global ov10_022C47B0
|
||||
ov10_022C47B0:
|
||||
.byte 0x0A, 0x00, 0x0C, 0x00
|
||||
.global ov10_022C47B4
|
||||
ov10_022C47B4:
|
||||
.global DECOY_TURN_RANGE
|
||||
DECOY_TURN_RANGE:
|
||||
.byte 0x14, 0x00, 0x32, 0x00
|
||||
.global ov10_022C47B8
|
||||
ov10_022C47B8:
|
||||
@@ -377,8 +377,8 @@ ov10_022C4838:
|
||||
.global ov10_022C483C
|
||||
ov10_022C483C:
|
||||
.byte 0x3C, 0x00, 0x00, 0x00
|
||||
.global ov10_022C4840
|
||||
ov10_022C4840:
|
||||
.global MIRROR_MOVE_TURN_RANGE
|
||||
MIRROR_MOVE_TURN_RANGE:
|
||||
.byte 0x01, 0x00, 0x03, 0x00
|
||||
.global AIR_BLADE_DAMAGE_MULTIPLIER
|
||||
AIR_BLADE_DAMAGE_MULTIPLIER:
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
.text
|
||||
|
||||
; https://decomp.me/scratch/Cgi9a
|
||||
arm_func_start ov29_022E0378
|
||||
ov29_022E0378: ; 0x022E0378
|
||||
arm_func_start FloorSecondaryTerrainIsChasm
|
||||
FloorSecondaryTerrainIsChasm: ; 0x022E0378
|
||||
ldr r1, _022E03A8 ; =ov29_0237CFC0
|
||||
ldrb r1, [r1]
|
||||
cmp r1, #0
|
||||
@@ -21,7 +21,7 @@ ov29_022E0378: ; 0x022E0378
|
||||
.align 2, 0
|
||||
_022E03A8: .word ov29_0237CFC0
|
||||
_022E03AC: .word SECONDARY_TERRAIN_TYPES
|
||||
arm_func_end ov29_022E0378
|
||||
arm_func_end FloorSecondaryTerrainIsChasm
|
||||
|
||||
arm_func_start GetFloorType
|
||||
GetFloorType: ; 0x022E03B0
|
||||
|
||||
@@ -126,8 +126,8 @@ FadeToBlack: ; 0x022E0968
|
||||
_022E09E4: .word DUNGEON_PTR
|
||||
arm_func_end FadeToBlack
|
||||
|
||||
arm_func_start ov29_022E09E8
|
||||
ov29_022E09E8: ; 0x022E09E8
|
||||
arm_func_start SetDungeonEscapeFields
|
||||
SetDungeonEscapeFields: ; 0x022E09E8
|
||||
ldr r2, _022E0A00 ; =DUNGEON_PTR
|
||||
ldr r3, [r2]
|
||||
str r0, [r3, #0x18]
|
||||
@@ -136,17 +136,17 @@ ov29_022E09E8: ; 0x022E09E8
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_022E0A00: .word DUNGEON_PTR
|
||||
arm_func_end ov29_022E09E8
|
||||
arm_func_end SetDungeonEscapeFields
|
||||
|
||||
arm_func_start ov29_022E0A04
|
||||
ov29_022E0A04: ; 0x022E0A04
|
||||
arm_func_start GetSuccessfulExitTracker
|
||||
GetSuccessfulExitTracker: ; 0x022E0A04
|
||||
ldr r0, _022E0A14 ; =DUNGEON_PTR
|
||||
ldr r0, [r0]
|
||||
ldr r0, [r0, #0x18]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_022E0A14: .word DUNGEON_PTR
|
||||
arm_func_end ov29_022E0A04
|
||||
arm_func_end GetSuccessfulExitTracker
|
||||
|
||||
arm_func_start ov29_022E0A18
|
||||
ov29_022E0A18: ; 0x022E0A18
|
||||
|
||||
@@ -42,822 +42,3 @@ ov29_022E2930: ; 0x022E2930
|
||||
bl IsPositionActuallyInSight
|
||||
ldmia sp!, {r3, r4, r5, pc}
|
||||
arm_func_end ov29_022E2930
|
||||
|
||||
arm_func_start CanTargetPosition
|
||||
CanTargetPosition: ; 0x022E2954
|
||||
stmdb sp!, {r3, r4, r5, lr}
|
||||
mov r5, r0
|
||||
mov r4, r1
|
||||
bl HasDropeyeStatus
|
||||
mov r2, r0
|
||||
mov r1, r4
|
||||
add r0, r5, #4
|
||||
bl IsPositionInSight
|
||||
ldmia sp!, {r3, r4, r5, pc}
|
||||
arm_func_end CanTargetPosition
|
||||
|
||||
arm_func_start PopulateActiveMonsterPtrs
|
||||
PopulateActiveMonsterPtrs: ; 0x022E2978
|
||||
#ifdef JAPAN
|
||||
#define OV29_022E2978_OFFSET -0xA4
|
||||
#else
|
||||
#define OV29_022E2978_OFFSET 0
|
||||
#endif
|
||||
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
||||
mov r5, #0
|
||||
ldr r6, _022E2A34 ; =DUNGEON_PTR
|
||||
mov r4, r5
|
||||
_022E2988:
|
||||
ldr r0, [r6]
|
||||
add r0, r0, r4, lsl #2
|
||||
add r0, r0, #0x12000
|
||||
ldr r7, [r0, #0xb28 + OV29_022E2978_OFFSET]
|
||||
mov r0, r7
|
||||
bl EntityIsValid__022E1A1C
|
||||
cmp r0, #0
|
||||
ldrne r0, [r6]
|
||||
add r4, r4, #1
|
||||
addne r0, r0, r5, lsl #2
|
||||
addne r0, r0, #0x12000
|
||||
strne r7, [r0, #0xb78 + OV29_022E2978_OFFSET]
|
||||
addne r5, r5, #1
|
||||
cmp r4, #4
|
||||
blt _022E2988
|
||||
ldr r6, _022E2A34 ; =DUNGEON_PTR
|
||||
mov r4, #0
|
||||
_022E29CC:
|
||||
ldr r0, [r6]
|
||||
add r0, r0, r4, lsl #2
|
||||
add r0, r0, #0x12000
|
||||
ldr r7, [r0, #0xb38 + OV29_022E2978_OFFSET]
|
||||
mov r0, r7
|
||||
bl EntityIsValid__022E1A1C
|
||||
cmp r0, #0
|
||||
ldrne r0, [r6]
|
||||
add r4, r4, #1
|
||||
addne r0, r0, r5, lsl #2
|
||||
addne r0, r0, #0x12000
|
||||
strne r7, [r0, #0xb78 + OV29_022E2978_OFFSET]
|
||||
addne r5, r5, #1
|
||||
cmp r4, #0x10
|
||||
blt _022E29CC
|
||||
mov r2, #0
|
||||
ldr r1, _022E2A34 ; =DUNGEON_PTR
|
||||
b _022E2A28
|
||||
_022E2A14:
|
||||
ldr r0, [r1]
|
||||
add r0, r0, r5, lsl #2
|
||||
add r0, r0, #0x12000
|
||||
str r2, [r0, #0xb78 + OV29_022E2978_OFFSET]
|
||||
add r5, r5, #1
|
||||
_022E2A28:
|
||||
cmp r5, #0x14
|
||||
blt _022E2A14
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_022E2A34: .word DUNGEON_PTR
|
||||
arm_func_end PopulateActiveMonsterPtrs
|
||||
|
||||
arm_func_start GetTeamMemberIndex
|
||||
GetTeamMemberIndex: ; 0x022E2A38
|
||||
ldr r1, _022E2A74 ; =DUNGEON_PTR
|
||||
mov r2, #0
|
||||
ldr r3, [r1]
|
||||
b _022E2A64
|
||||
_022E2A48:
|
||||
add r1, r3, r2, lsl #2
|
||||
add r1, r1, #0x12000
|
||||
#ifdef JAPAN
|
||||
ldr r1, [r1, #0xa84]
|
||||
#else
|
||||
ldr r1, [r1, #0xb28]
|
||||
#endif
|
||||
cmp r0, r1
|
||||
moveq r0, r2
|
||||
bxeq lr
|
||||
add r2, r2, #1
|
||||
_022E2A64:
|
||||
cmp r2, #4
|
||||
blt _022E2A48
|
||||
mvn r0, #0
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_022E2A74: .word DUNGEON_PTR
|
||||
arm_func_end GetTeamMemberIndex
|
||||
|
||||
arm_func_start ov29_022E2A78
|
||||
ov29_022E2A78: ; 0x022E2A78
|
||||
stmdb sp!, {r4, lr}
|
||||
ldr r2, [r1]
|
||||
mov r4, r0
|
||||
cmp r2, #1
|
||||
beq _022E2AA0
|
||||
cmp r2, #2
|
||||
beq _022E2AAC
|
||||
cmp r2, #3
|
||||
ldmeqia sp!, {r4, pc}
|
||||
b _022E2ABC
|
||||
_022E2AA0:
|
||||
ldr r1, [r1, #0xb4]
|
||||
bl GetMonsterName
|
||||
ldmia sp!, {r4, pc}
|
||||
_022E2AAC:
|
||||
ldr r1, [r1, #0xb4]
|
||||
ldrb r1, [r1]
|
||||
bl ov29_022ED82C
|
||||
ldmia sp!, {r4, pc}
|
||||
_022E2ABC:
|
||||
ldr r0, _022E2AD4 ; =0x00000A42
|
||||
bl StringFromId
|
||||
mov r1, r0
|
||||
mov r0, r4
|
||||
bl strcpy
|
||||
ldmia sp!, {r4, pc}
|
||||
.align 2, 0
|
||||
#ifdef JAPAN
|
||||
_022E2AD4: .word 0x00000B42
|
||||
#else
|
||||
_022E2AD4: .word 0x00000A42
|
||||
#endif
|
||||
arm_func_end ov29_022E2A78
|
||||
|
||||
arm_func_start SubstitutePlaceholderStringTags
|
||||
SubstitutePlaceholderStringTags: ; 0x022E2AD8
|
||||
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
||||
mov r6, r1
|
||||
mov r7, r0
|
||||
mov r5, r2
|
||||
bl GetMessageLogPreprocessorArgs
|
||||
ldr r1, [r6]
|
||||
mov r4, r0
|
||||
cmp r1, #1
|
||||
beq _022E2B10
|
||||
cmp r1, #2
|
||||
beq _022E2B3C
|
||||
cmp r1, #3
|
||||
beq _022E2B2C
|
||||
b _022E2B50
|
||||
_022E2B10:
|
||||
mov r1, #0
|
||||
str r1, [sp]
|
||||
ldr r2, [r6, #0xb4]
|
||||
mov r1, r7
|
||||
mov r3, r5
|
||||
bl SetPreprocessorArgsStringToName
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
||||
_022E2B2C:
|
||||
ldr r2, [r6, #0xb4]
|
||||
mov r1, r7
|
||||
bl PrepareItemForPrinting2
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
||||
_022E2B3C:
|
||||
ldr r2, [r6, #0xb4]
|
||||
mov r1, r7
|
||||
ldrb r2, [r2]
|
||||
bl SubstitutePlaceholderTrapTags
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
||||
_022E2B50:
|
||||
ldr r0, _022E2B64 ; =0x00000A42
|
||||
bl StringFromId
|
||||
add r1, r4, r7, lsl #2
|
||||
str r0, [r1, #0x38]
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
#ifdef JAPAN
|
||||
_022E2B64: .word 0x00000B42
|
||||
#else
|
||||
_022E2B64: .word 0x00000A42
|
||||
#endif
|
||||
arm_func_end SubstitutePlaceholderStringTags
|
||||
|
||||
#ifdef EUROPE
|
||||
arm_func_start ov29_022E34A8_EU
|
||||
ov29_022E34A8_EU: ; 0x022E34A8
|
||||
stmdb sp!, {r3, lr}
|
||||
bl EntityIsValid__022E1A1C
|
||||
cmp r0, #0
|
||||
beq _022E34DC
|
||||
ldr r0, _022E34E8 ; =0x02354138
|
||||
ldr r0, [r0]
|
||||
ldrb r0, [r0, #8]
|
||||
cmp r0, #0
|
||||
bne _022E34DC
|
||||
bl GetForcedLossReason
|
||||
cmp r0, #1
|
||||
movne r0, #1
|
||||
bne _022E34E0
|
||||
_022E34DC:
|
||||
mov r0, #0
|
||||
_022E34E0:
|
||||
and r0, r0, #0xff
|
||||
ldmia sp!, {r3, pc}
|
||||
.align 2, 0
|
||||
_022E34E8: .word 0x02354138
|
||||
arm_func_end ov29_022E34A8_EU
|
||||
#endif
|
||||
|
||||
arm_func_start ov29_022E2B68
|
||||
ov29_022E2B68: ; 0x022E2B68
|
||||
#ifdef JAPAN
|
||||
#define OV29_022E2B68_OFFSET -0xA4
|
||||
#else
|
||||
#define OV29_022E2B68_OFFSET 0
|
||||
#endif
|
||||
stmdb sp!, {r3, r4, r5, lr}
|
||||
ldr r1, _022E2C5C ; =DUNGEON_PTR
|
||||
movs r5, r0
|
||||
ldr r2, [r1]
|
||||
mov r1, #0
|
||||
add r0, r2, #0x21c + OV29_022E2B68_OFFSET
|
||||
add r4, r0, #0x1a000
|
||||
strh r1, [r4, #8]
|
||||
ldr r0, _022E2C60 ; =0x0001A21C
|
||||
strh r1, [r4, #0xa]
|
||||
strh r1, [r2, r0]
|
||||
strh r1, [r4, #2]
|
||||
strh r1, [r4, #0xc]
|
||||
strh r1, [r4, #0xe]
|
||||
strh r1, [r4, #4]
|
||||
strh r1, [r4, #6]
|
||||
str r1, [r4, #0x14]
|
||||
strb r1, [r4, #0x2f]
|
||||
mov r0, #1
|
||||
strb r0, [r4, #0x30]
|
||||
strb r0, [r4, #0x31]
|
||||
str r1, [r4, #0x18]
|
||||
str r1, [r4, #0x1c]
|
||||
bne _022E2BF4
|
||||
strb r1, [r4, #0x22]
|
||||
strb r1, [r4, #0x29]
|
||||
strb r1, [r4, #0x28]
|
||||
strb r1, [r4, #0x26]
|
||||
strb r1, [r4, #0x2a]
|
||||
strb r1, [r4, #0x27]
|
||||
strb r1, [r4, #0x23]
|
||||
strb r1, [r4, #0x24]
|
||||
strb r1, [r4, #0x32]
|
||||
strb r1, [r4, #0x33]
|
||||
strb r1, [r4, #0x34]
|
||||
_022E2BF4:
|
||||
mov r1, #0
|
||||
str r1, [r4, #0x10]
|
||||
mov r0, #3
|
||||
strb r0, [r4, #0x20]
|
||||
strb r1, [r4, #0x35]
|
||||
strb r1, [r4, #0x2b]
|
||||
strb r1, [r4, #0x36]
|
||||
strb r1, [r4, #0x37]
|
||||
strb r1, [r4, #0x2d]
|
||||
mov r0, #1
|
||||
strb r0, [r4, #0x2e]
|
||||
bl ov29_022E2C6C
|
||||
ldr r1, _022E2C64 ; =0x0000FFFF
|
||||
ldr r0, _022E2C68 ; =ov29_0237C84C
|
||||
cmp r5, #0
|
||||
str r1, [r0]
|
||||
ldmneia sp!, {r3, r4, r5, pc}
|
||||
ldr r0, _022E2C5C ; =DUNGEON_PTR
|
||||
ldr r0, [r0]
|
||||
add r0, r0, #0x28000
|
||||
ldrb r0, [r0, #0x6c8 + OV29_022E2B68_OFFSET]
|
||||
ands r0, r0, #3
|
||||
strb r0, [r4, #0x21]
|
||||
moveq r0, #1
|
||||
streqb r0, [r4, #0x24]
|
||||
ldmia sp!, {r3, r4, r5, pc}
|
||||
.align 2, 0
|
||||
_022E2C5C: .word DUNGEON_PTR
|
||||
_022E2C60: .word 0x0001A21C + OV29_022E2B68_OFFSET
|
||||
_022E2C64: .word 0x0000FFFF
|
||||
_022E2C68: .word ov29_0237C84C
|
||||
arm_func_end ov29_022E2B68
|
||||
|
||||
arm_func_start ov29_022E2C6C
|
||||
ov29_022E2C6C: ; 0x022E2C6C
|
||||
ldr r0, _022E2C9C ; =DUNGEON_PTR
|
||||
mvn r1, #0
|
||||
ldr r0, [r0]
|
||||
#ifdef JAPAN
|
||||
add r0, r0, #0x178
|
||||
#else
|
||||
add r0, r0, #0x21c
|
||||
#endif
|
||||
add r0, r0, #0x1a000
|
||||
strh r1, [r0, #0x3c]
|
||||
strh r1, [r0, #0x3e]
|
||||
strh r1, [r0, #0x40]
|
||||
strh r1, [r0, #0x42]
|
||||
strh r1, [r0, #0x38]
|
||||
strh r1, [r0, #0x3a]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_022E2C9C: .word DUNGEON_PTR
|
||||
arm_func_end ov29_022E2C6C
|
||||
|
||||
arm_func_start ov29_022E2CA0
|
||||
ov29_022E2CA0: ; 0x022E2CA0
|
||||
stmdb sp!, {r4, r5, r6, lr}
|
||||
ldr r1, _022E2D34 ; =DUNGEON_PTR
|
||||
mov r4, r0
|
||||
ldr r3, [r1]
|
||||
ldr r0, _022E2D38 ; =0x0001A21C
|
||||
ldrsh r1, [r4]
|
||||
ldrsh r2, [r3, r0]
|
||||
#ifdef JAPAN
|
||||
add r0, r3, #0x178
|
||||
#else
|
||||
add r0, r3, #0x21c
|
||||
#endif
|
||||
add r5, r0, #0x1a000
|
||||
sub r0, r2, r1
|
||||
ldr r6, [r5, #0x10]
|
||||
bl abs
|
||||
cmp r0, #6
|
||||
bgt _022E2D2C
|
||||
ldrsh r1, [r5, #2]
|
||||
ldrsh r0, [r4, #2]
|
||||
sub r0, r1, r0
|
||||
bl abs
|
||||
cmp r0, #5
|
||||
bgt _022E2D2C
|
||||
mov r0, r5
|
||||
bl ov29_022E3534
|
||||
cmp r0, #0
|
||||
movne r0, #1
|
||||
ldmneia sp!, {r4, r5, r6, pc}
|
||||
cmp r6, #0
|
||||
moveq r0, #1
|
||||
ldmeqia sp!, {r4, r5, r6, pc}
|
||||
mov r0, r6
|
||||
bl HasDropeyeStatus
|
||||
mov r2, r0
|
||||
mov r0, r5
|
||||
mov r1, r4
|
||||
bl IsPositionActuallyInSight
|
||||
ldmia sp!, {r4, r5, r6, pc}
|
||||
_022E2D2C:
|
||||
mov r0, #0
|
||||
ldmia sp!, {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_022E2D34: .word DUNGEON_PTR
|
||||
#ifdef JAPAN
|
||||
_022E2D38: .word 0x0001A178
|
||||
#else
|
||||
_022E2D38: .word 0x0001A21C
|
||||
#endif
|
||||
arm_func_end ov29_022E2CA0
|
||||
|
||||
arm_func_start ov29_022E2D3C
|
||||
ov29_022E2D3C: ; 0x022E2D3C
|
||||
stmdb sp!, {r4, r5, r6, lr}
|
||||
ldr r1, _022E2DD0 ; =DUNGEON_PTR
|
||||
mov r4, r0
|
||||
ldr r3, [r1]
|
||||
ldr r0, _022E2DD4 ; =0x0001A21C
|
||||
ldrsh r1, [r4]
|
||||
ldrsh r2, [r3, r0]
|
||||
#ifdef JAPAN
|
||||
add r0, r3, #0x178
|
||||
#else
|
||||
add r0, r3, #0x21c
|
||||
#endif
|
||||
add r5, r0, #0x1a000
|
||||
sub r0, r2, r1
|
||||
ldr r6, [r5, #0x10]
|
||||
bl abs
|
||||
cmp r0, #6
|
||||
bgt _022E2DC8
|
||||
ldrsh r1, [r5, #2]
|
||||
ldrsh r0, [r4, #2]
|
||||
sub r0, r1, r0
|
||||
bl abs
|
||||
cmp r0, #6
|
||||
bgt _022E2DC8
|
||||
mov r0, r5
|
||||
bl ov29_022E3534
|
||||
cmp r0, #0
|
||||
movne r0, #1
|
||||
ldmneia sp!, {r4, r5, r6, pc}
|
||||
cmp r6, #0
|
||||
moveq r0, #1
|
||||
ldmeqia sp!, {r4, r5, r6, pc}
|
||||
mov r0, r6
|
||||
bl HasDropeyeStatus
|
||||
mov r2, r0
|
||||
mov r0, r5
|
||||
mov r1, r4
|
||||
bl IsPositionActuallyInSight
|
||||
ldmia sp!, {r4, r5, r6, pc}
|
||||
_022E2DC8:
|
||||
mov r0, #0
|
||||
ldmia sp!, {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_022E2DD0: .word DUNGEON_PTR
|
||||
#ifdef JAPAN
|
||||
_022E2DD4: .word 0x0001A178
|
||||
#else
|
||||
_022E2DD4: .word 0x0001A21C
|
||||
#endif
|
||||
arm_func_end ov29_022E2D3C
|
||||
|
||||
#ifndef JAPAN
|
||||
arm_func_start UpdateMapSurveyorFlag
|
||||
UpdateMapSurveyorFlag: ; 0x022E2DD8
|
||||
#ifdef EUROPE
|
||||
stmdb sp!, {r4, lr}
|
||||
ldr r1, _022E2DF8 ; =DUNGEON_PTR
|
||||
mov r0, #0x41
|
||||
ldr r1, [r1]
|
||||
add r1, r1, #0x1a000
|
||||
ldrb r4, [r1, #0x241]
|
||||
bl TeamMemberHasEnabledIqSkill
|
||||
ldr r2, _022E2DF8 ; =DUNGEON_PTR
|
||||
ldr r1, [r2]
|
||||
add r1, r1, #0x1a000
|
||||
strb r0, [r1, #0x241]
|
||||
ldr r0, [r2]
|
||||
add r0, r0, #0x1a000
|
||||
ldrb r0, [r0, #0x241]
|
||||
cmp r4, r0
|
||||
movne r0, #1
|
||||
moveq r0, #0
|
||||
and r0, r0, #0xff
|
||||
ldmia sp!, {r4, pc}
|
||||
#else
|
||||
stmdb sp!, {r3, lr}
|
||||
mov r0, #0x41
|
||||
bl TeamMemberHasEnabledIqSkill
|
||||
ldr r1, _022E2DF8 ; =DUNGEON_PTR
|
||||
ldr r1, [r1]
|
||||
add r1, r1, #0x1a000
|
||||
strb r0, [r1, #0x241]
|
||||
ldmia sp!, {r3, pc}
|
||||
#endif
|
||||
.align 2, 0
|
||||
_022E2DF8: .word DUNGEON_PTR
|
||||
arm_func_end UpdateMapSurveyorFlag
|
||||
#endif
|
||||
|
||||
arm_func_start ov29_022E2DFC
|
||||
ov29_022E2DFC: ; 0x022E2DFC
|
||||
stmdb sp!, {r3, lr}
|
||||
ldr r1, _022E2E50 ; =DUNGEON_PTR
|
||||
cmp r0, #0
|
||||
ldr r1, [r1]
|
||||
#ifdef JAPAN
|
||||
add r1, r1, #0x178
|
||||
#else
|
||||
add r1, r1, #0x21c
|
||||
#endif
|
||||
add r1, r1, #0x1a000
|
||||
str r0, [r1, #0x10]
|
||||
moveq r0, #0
|
||||
streqb r0, [r1, #0x2f]
|
||||
beq _022E2E40
|
||||
ldr r0, [r0, #0xb4]
|
||||
ldrb r0, [r0, #7]
|
||||
cmp r0, #0
|
||||
moveq r0, #0
|
||||
streqb r0, [r1, #0x2f]
|
||||
movne r0, #1
|
||||
strneb r0, [r1, #0x2f]
|
||||
_022E2E40:
|
||||
mov r0, #0
|
||||
bl UpdateCamera
|
||||
bl ov29_022E2C6C
|
||||
ldmia sp!, {r3, pc}
|
||||
.align 2, 0
|
||||
_022E2E50: .word DUNGEON_PTR
|
||||
arm_func_end ov29_022E2DFC
|
||||
|
||||
arm_func_start PointCameraToMonster
|
||||
PointCameraToMonster: ; 0x022E2E54
|
||||
stmdb sp!, {r4, lr}
|
||||
ldr r2, _022E2EC0 ; =DUNGEON_PTR
|
||||
mov r4, r1
|
||||
ldr r1, [r2]
|
||||
cmp r0, #0
|
||||
#ifdef JAPAN
|
||||
add r1, r1, #0x178
|
||||
#else
|
||||
add r1, r1, #0x21c
|
||||
#endif
|
||||
add r2, r1, #0x1a000
|
||||
moveq r1, #0
|
||||
streqb r1, [r2, #0x2f]
|
||||
beq _022E2E98
|
||||
ldr r1, [r0, #0xb4]
|
||||
ldrb r1, [r1, #7]
|
||||
cmp r1, #0
|
||||
moveq r1, #0
|
||||
streqb r1, [r2, #0x2f]
|
||||
movne r1, #1
|
||||
strneb r1, [r2, #0x2f]
|
||||
_022E2E98:
|
||||
str r0, [r2, #0x10]
|
||||
mov r0, #0
|
||||
bl UpdateCamera
|
||||
bl ov29_022E2C6C
|
||||
bl ov29_02304954
|
||||
cmp r4, #0
|
||||
ldmeqia sp!, {r4, pc}
|
||||
bl UpdateTrapsVisibility
|
||||
bl UpdateMinimap
|
||||
ldmia sp!, {r4, pc}
|
||||
.align 2, 0
|
||||
_022E2EC0: .word DUNGEON_PTR
|
||||
arm_func_end PointCameraToMonster
|
||||
|
||||
arm_func_start UpdateCamera
|
||||
UpdateCamera: ; 0x022E2EC4
|
||||
#ifdef JAPAN
|
||||
#define UPDATE_CAMERA_OFFSET -0xA4
|
||||
#else
|
||||
#define UPDATE_CAMERA_OFFSET 0
|
||||
#endif
|
||||
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
||||
sub sp, sp, #0x10
|
||||
ldr r1, _022E32DC ; =DUNGEON_PTR
|
||||
str r0, [sp]
|
||||
ldr r0, [r1]
|
||||
cmp r0, #0
|
||||
beq _022E32D4
|
||||
add r0, r0, #0x21c + UPDATE_CAMERA_OFFSET
|
||||
add r4, r0, #0x1a000
|
||||
ldr r5, [r4, #0x10]
|
||||
cmp r5, #0
|
||||
beq _022E32D0
|
||||
mov r0, r5
|
||||
bl EntityIsValid__022E32E8
|
||||
cmp r0, #0
|
||||
beq _022E32D0
|
||||
ldrb r8, [r4, #0x32]
|
||||
ldrb sb, [r4, #0x33]
|
||||
ldrh r0, [r4, #8]
|
||||
ldr sl, [r5, #0xb4]
|
||||
mov r6, #0
|
||||
strh r0, [r4, #0xc]
|
||||
ldrh r2, [r4, #0xa]
|
||||
mov r0, r5
|
||||
mov r1, #0x18
|
||||
strh r2, [r4, #0xe]
|
||||
ldrh r2, [r4]
|
||||
mov fp, r6
|
||||
mov r7, r6
|
||||
strh r2, [r4, #4]
|
||||
ldrh r2, [r4, #2]
|
||||
str r6, [sp, #4]
|
||||
strh r2, [r4, #6]
|
||||
ldrsh r2, [r5, #4]
|
||||
strh r2, [r4]
|
||||
ldrsh r2, [r5, #6]
|
||||
strh r2, [r4, #2]
|
||||
ldr r2, [r5, #0xc]
|
||||
mov r2, r2, asr #8
|
||||
sub r2, r2, #0x80
|
||||
strh r2, [r4, #8]
|
||||
ldr r2, [r5, #0x10]
|
||||
mov r2, r2, asr #8
|
||||
sub r2, r2, #0x6c
|
||||
strh r2, [r4, #0xa]
|
||||
ldrb r2, [r4, #0x27]
|
||||
str r2, [sp, #0xc]
|
||||
ldrb r2, [r4, #0x26]
|
||||
str r2, [sp, #8]
|
||||
bl ItemIsActive__022E330C
|
||||
cmp r0, #0
|
||||
ldrneb r0, [sl, #7]
|
||||
mov r1, #0
|
||||
cmpne r0, #0
|
||||
movne r0, #1
|
||||
strneb r0, [r4, #0x26]
|
||||
strneb r0, [r4, #0x27]
|
||||
ldreqb r0, [sl, #0xf9]
|
||||
streqb r0, [r4, #0x26]
|
||||
ldreqb r0, [sl, #0xfa]
|
||||
streqb r0, [r4, #0x27]
|
||||
strb r1, [r4, #0x32]
|
||||
strb r1, [r4, #0x33]
|
||||
mov r0, r5
|
||||
mov r1, #0xe
|
||||
bl ItemIsActive__022E330C
|
||||
cmp r0, #0
|
||||
ldrneb r0, [sl, #7]
|
||||
cmpne r0, #0
|
||||
movne r0, #1
|
||||
strneb r0, [r4, #0x32]
|
||||
strneb r0, [r4, #0x33]
|
||||
ldrb r1, [r4, #0x27]
|
||||
ldr r0, [sp, #0xc]
|
||||
cmp r0, r1
|
||||
ldreqb r0, [r4, #0x32]
|
||||
ldrb r1, [r4, #0x26]
|
||||
cmpeq r8, r0
|
||||
ldr r0, [sp, #8]
|
||||
movne r6, #1
|
||||
cmp r0, r1
|
||||
ldreqb r0, [r4, #0x33]
|
||||
cmpeq sb, r0
|
||||
ldrb r0, [sl, #0xfb]
|
||||
movne fp, #1
|
||||
strb r0, [r4, #0x2a]
|
||||
ldrb r0, [r4, #0x2d]
|
||||
ldrb r8, [r4, #0x22]
|
||||
cmp r0, #0
|
||||
bne _022E309C
|
||||
mov r0, r5
|
||||
mov r1, #1
|
||||
bl IsBlinded
|
||||
cmp r0, #0
|
||||
movne r0, #1
|
||||
movne r2, #0xe
|
||||
strneb r0, [r4, #0x22]
|
||||
moveq r2, #0
|
||||
ldr r0, _022E32E0 ; =ov29_0237C84C
|
||||
streqb r2, [r4, #0x22]
|
||||
ldr r1, [r0]
|
||||
cmp r1, r2
|
||||
beq _022E30A8
|
||||
str r2, [r0]
|
||||
cmp r2, #0xe
|
||||
mov r0, #2
|
||||
mov r1, #0
|
||||
bne _022E3088
|
||||
bl sub_02009194
|
||||
mov r0, #3
|
||||
mov r1, #0
|
||||
bl sub_02009194
|
||||
b _022E30A8
|
||||
_022E3088:
|
||||
bl sub_020091B0
|
||||
mov r0, #3
|
||||
mov r1, #0
|
||||
bl sub_020091B0
|
||||
b _022E30A8
|
||||
_022E309C:
|
||||
ldr r1, _022E32E4 ; =0x0000FFFF
|
||||
ldr r0, _022E32E0 ; =ov29_0237C84C
|
||||
str r1, [r0]
|
||||
_022E30A8:
|
||||
ldrb r0, [r4, #0x22]
|
||||
ldrb r1, [r4, #0x29]
|
||||
cmp r8, r0
|
||||
ldrb r0, [sl, #0xf1]
|
||||
movne r7, #1
|
||||
cmp r0, #2
|
||||
moveq r0, #1
|
||||
movne r0, #0
|
||||
strb r0, [r4, #0x29]
|
||||
ldrb r0, [r4, #0x29]
|
||||
cmp r1, r0
|
||||
ldreq r0, _022E32DC ; =DUNGEON_PTR
|
||||
ldreq r0, [r0]
|
||||
addeq r0, r0, #0x2c000
|
||||
ldreqb r0, [r0, #0xb10 + UPDATE_CAMERA_OFFSET]
|
||||
cmpeq r0, #0
|
||||
beq _022E3108
|
||||
bl ov29_023047DC
|
||||
ldr r0, _022E32DC ; =DUNGEON_PTR
|
||||
mov r1, #0
|
||||
ldr r0, [r0]
|
||||
mov r7, #1
|
||||
add r0, r0, #0x2c000
|
||||
strb r1, [r0, #0xb10 + UPDATE_CAMERA_OFFSET]
|
||||
_022E3108:
|
||||
mov r0, r5
|
||||
ldrb r8, [r4, #0x28]
|
||||
bl CanSeeInvisibleMonsters
|
||||
cmp r0, #0
|
||||
movne r0, #1
|
||||
moveq r0, #0
|
||||
strb r0, [r4, #0x28]
|
||||
ldrb r0, [r4, #0x28]
|
||||
cmp r8, r0
|
||||
movne r7, #1
|
||||
strne r7, [sp, #4]
|
||||
ldrb r8, [r4, #0x34]
|
||||
mov r0, r5
|
||||
bl HasDropeyeStatus
|
||||
and r1, r0, #0xff
|
||||
cmp r8, r1
|
||||
strb r0, [r4, #0x34]
|
||||
movne r7, #1
|
||||
strne r7, [sp, #4]
|
||||
ldr r0, [sp, #4]
|
||||
cmp r0, #0
|
||||
beq _022E3168
|
||||
bl UpdateTrapsVisibility
|
||||
bl UpdateMinimap
|
||||
_022E3168:
|
||||
cmp r7, #0
|
||||
beq _022E3178
|
||||
mov r0, #0
|
||||
bl ov29_022E3A58
|
||||
_022E3178:
|
||||
ldr r0, [sp]
|
||||
cmp r0, #0
|
||||
beq _022E3228
|
||||
ldrb r0, [r4, #0x2c]
|
||||
cmp r0, #0
|
||||
bne _022E3228
|
||||
ldrsh r5, [r4, #8]
|
||||
ldrsh r7, [r4, #0xc]
|
||||
sub r0, r7, r5
|
||||
bl abs
|
||||
cmp r0, #8
|
||||
bge _022E31C0
|
||||
ldrsh r1, [r4, #0xe]
|
||||
ldrsh r0, [r4, #0xa]
|
||||
sub r0, r1, r0
|
||||
bl abs
|
||||
cmp r0, #8
|
||||
blt _022E31D0
|
||||
_022E31C0:
|
||||
bl UpdateTrapsVisibility
|
||||
mov r0, #1
|
||||
strb r0, [r4, #0x2c]
|
||||
b _022E3228
|
||||
_022E31D0:
|
||||
cmp r7, r5
|
||||
bge _022E31E8
|
||||
mov r0, #0xff
|
||||
mov r1, #0
|
||||
bl ov29_0233711C
|
||||
b _022E31F8
|
||||
_022E31E8:
|
||||
ble _022E31F8
|
||||
mov r0, #0
|
||||
mov r1, r0
|
||||
bl ov29_0233711C
|
||||
_022E31F8:
|
||||
ldrsh r1, [r4, #0xa]
|
||||
ldrsh r0, [r4, #0xe]
|
||||
cmp r0, r1
|
||||
bge _022E3218
|
||||
mov r0, #0
|
||||
mov r1, #0xc0
|
||||
bl ov29_023372A4
|
||||
b _022E3228
|
||||
_022E3218:
|
||||
ble _022E3228
|
||||
mov r0, #0
|
||||
mov r1, r0
|
||||
bl ov29_023372A4
|
||||
_022E3228:
|
||||
cmp fp, #0
|
||||
ldreqsh r1, [r4]
|
||||
ldreqsh r0, [r4, #4]
|
||||
cmpeq r1, r0
|
||||
ldreqsh r1, [r4, #2]
|
||||
ldreqsh r0, [r4, #6]
|
||||
cmpeq r1, r0
|
||||
beq _022E3288
|
||||
ldr r4, _022E32DC ; =DUNGEON_PTR
|
||||
mov r5, #0
|
||||
_022E3250:
|
||||
ldr r0, [r4]
|
||||
add r0, r0, r5, lsl #2
|
||||
add r0, r0, #0x12000
|
||||
ldr r7, [r0, #0xb78 + UPDATE_CAMERA_OFFSET]
|
||||
mov r0, r7
|
||||
bl EntityIsValid__022E32E8
|
||||
cmp r0, #0
|
||||
beq _022E327C
|
||||
ldrsh r0, [r7, #4]
|
||||
ldrsh r1, [r7, #6]
|
||||
bl DrawMinimapTile
|
||||
_022E327C:
|
||||
add r5, r5, #1
|
||||
cmp r5, #0x14
|
||||
blt _022E3250
|
||||
_022E3288:
|
||||
cmp r6, #0
|
||||
beq _022E32D0
|
||||
ldr r4, _022E32DC ; =DUNGEON_PTR
|
||||
mov r5, #0
|
||||
_022E3298:
|
||||
ldr r0, [r4]
|
||||
add r0, r0, r5, lsl #2
|
||||
add r0, r0, #0x12000
|
||||
ldr r6, [r0, #0xbc8 + UPDATE_CAMERA_OFFSET]
|
||||
mov r0, r6
|
||||
bl EntityIsValid__022E32E8
|
||||
cmp r0, #0
|
||||
beq _022E32C4
|
||||
ldrsh r0, [r6, #4]
|
||||
ldrsh r1, [r6, #6]
|
||||
bl DrawMinimapTile
|
||||
_022E32C4:
|
||||
add r5, r5, #1
|
||||
cmp r5, #0x40
|
||||
blt _022E3298
|
||||
_022E32D0:
|
||||
bl ov29_022E34C8
|
||||
_022E32D4:
|
||||
add sp, sp, #0x10
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
||||
.align 2, 0
|
||||
_022E32DC: .word DUNGEON_PTR
|
||||
_022E32E0: .word ov29_0237C84C
|
||||
_022E32E4: .word 0x0000FFFF
|
||||
arm_func_end UpdateCamera
|
||||
|
||||
810
asm/overlay_29_022E2978.s
Normal file
810
asm/overlay_29_022E2978.s
Normal file
@@ -0,0 +1,810 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "overlay_29_022E2978.inc"
|
||||
|
||||
.text
|
||||
|
||||
arm_func_start PopulateActiveMonsterPtrs
|
||||
PopulateActiveMonsterPtrs: ; 0x022E2978
|
||||
#ifdef JAPAN
|
||||
#define OV29_022E2978_OFFSET -0xA4
|
||||
#else
|
||||
#define OV29_022E2978_OFFSET 0
|
||||
#endif
|
||||
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
||||
mov r5, #0
|
||||
ldr r6, _022E2A34 ; =DUNGEON_PTR
|
||||
mov r4, r5
|
||||
_022E2988:
|
||||
ldr r0, [r6]
|
||||
add r0, r0, r4, lsl #2
|
||||
add r0, r0, #0x12000
|
||||
ldr r7, [r0, #0xb28 + OV29_022E2978_OFFSET]
|
||||
mov r0, r7
|
||||
bl EntityIsValid__022E1A1C
|
||||
cmp r0, #0
|
||||
ldrne r0, [r6]
|
||||
add r4, r4, #1
|
||||
addne r0, r0, r5, lsl #2
|
||||
addne r0, r0, #0x12000
|
||||
strne r7, [r0, #0xb78 + OV29_022E2978_OFFSET]
|
||||
addne r5, r5, #1
|
||||
cmp r4, #4
|
||||
blt _022E2988
|
||||
ldr r6, _022E2A34 ; =DUNGEON_PTR
|
||||
mov r4, #0
|
||||
_022E29CC:
|
||||
ldr r0, [r6]
|
||||
add r0, r0, r4, lsl #2
|
||||
add r0, r0, #0x12000
|
||||
ldr r7, [r0, #0xb38 + OV29_022E2978_OFFSET]
|
||||
mov r0, r7
|
||||
bl EntityIsValid__022E1A1C
|
||||
cmp r0, #0
|
||||
ldrne r0, [r6]
|
||||
add r4, r4, #1
|
||||
addne r0, r0, r5, lsl #2
|
||||
addne r0, r0, #0x12000
|
||||
strne r7, [r0, #0xb78 + OV29_022E2978_OFFSET]
|
||||
addne r5, r5, #1
|
||||
cmp r4, #0x10
|
||||
blt _022E29CC
|
||||
mov r2, #0
|
||||
ldr r1, _022E2A34 ; =DUNGEON_PTR
|
||||
b _022E2A28
|
||||
_022E2A14:
|
||||
ldr r0, [r1]
|
||||
add r0, r0, r5, lsl #2
|
||||
add r0, r0, #0x12000
|
||||
str r2, [r0, #0xb78 + OV29_022E2978_OFFSET]
|
||||
add r5, r5, #1
|
||||
_022E2A28:
|
||||
cmp r5, #0x14
|
||||
blt _022E2A14
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_022E2A34: .word DUNGEON_PTR
|
||||
arm_func_end PopulateActiveMonsterPtrs
|
||||
|
||||
arm_func_start GetTeamMemberIndex
|
||||
GetTeamMemberIndex: ; 0x022E2A38
|
||||
ldr r1, _022E2A74 ; =DUNGEON_PTR
|
||||
mov r2, #0
|
||||
ldr r3, [r1]
|
||||
b _022E2A64
|
||||
_022E2A48:
|
||||
add r1, r3, r2, lsl #2
|
||||
add r1, r1, #0x12000
|
||||
#ifdef JAPAN
|
||||
ldr r1, [r1, #0xa84]
|
||||
#else
|
||||
ldr r1, [r1, #0xb28]
|
||||
#endif
|
||||
cmp r0, r1
|
||||
moveq r0, r2
|
||||
bxeq lr
|
||||
add r2, r2, #1
|
||||
_022E2A64:
|
||||
cmp r2, #4
|
||||
blt _022E2A48
|
||||
mvn r0, #0
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_022E2A74: .word DUNGEON_PTR
|
||||
arm_func_end GetTeamMemberIndex
|
||||
|
||||
arm_func_start ov29_022E2A78
|
||||
ov29_022E2A78: ; 0x022E2A78
|
||||
stmdb sp!, {r4, lr}
|
||||
ldr r2, [r1]
|
||||
mov r4, r0
|
||||
cmp r2, #1
|
||||
beq _022E2AA0
|
||||
cmp r2, #2
|
||||
beq _022E2AAC
|
||||
cmp r2, #3
|
||||
ldmeqia sp!, {r4, pc}
|
||||
b _022E2ABC
|
||||
_022E2AA0:
|
||||
ldr r1, [r1, #0xb4]
|
||||
bl GetMonsterName
|
||||
ldmia sp!, {r4, pc}
|
||||
_022E2AAC:
|
||||
ldr r1, [r1, #0xb4]
|
||||
ldrb r1, [r1]
|
||||
bl ov29_022ED82C
|
||||
ldmia sp!, {r4, pc}
|
||||
_022E2ABC:
|
||||
ldr r0, _022E2AD4 ; =0x00000A42
|
||||
bl StringFromId
|
||||
mov r1, r0
|
||||
mov r0, r4
|
||||
bl strcpy
|
||||
ldmia sp!, {r4, pc}
|
||||
.align 2, 0
|
||||
#ifdef JAPAN
|
||||
_022E2AD4: .word 0x00000B42
|
||||
#else
|
||||
_022E2AD4: .word 0x00000A42
|
||||
#endif
|
||||
arm_func_end ov29_022E2A78
|
||||
|
||||
arm_func_start SubstitutePlaceholderStringTags
|
||||
SubstitutePlaceholderStringTags: ; 0x022E2AD8
|
||||
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
||||
mov r6, r1
|
||||
mov r7, r0
|
||||
mov r5, r2
|
||||
bl GetMessageLogPreprocessorArgs
|
||||
ldr r1, [r6]
|
||||
mov r4, r0
|
||||
cmp r1, #1
|
||||
beq _022E2B10
|
||||
cmp r1, #2
|
||||
beq _022E2B3C
|
||||
cmp r1, #3
|
||||
beq _022E2B2C
|
||||
b _022E2B50
|
||||
_022E2B10:
|
||||
mov r1, #0
|
||||
str r1, [sp]
|
||||
ldr r2, [r6, #0xb4]
|
||||
mov r1, r7
|
||||
mov r3, r5
|
||||
bl SetPreprocessorArgsStringToName
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
||||
_022E2B2C:
|
||||
ldr r2, [r6, #0xb4]
|
||||
mov r1, r7
|
||||
bl PrepareItemForPrinting2
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
||||
_022E2B3C:
|
||||
ldr r2, [r6, #0xb4]
|
||||
mov r1, r7
|
||||
ldrb r2, [r2]
|
||||
bl SubstitutePlaceholderTrapTags
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
||||
_022E2B50:
|
||||
ldr r0, _022E2B64 ; =0x00000A42
|
||||
bl StringFromId
|
||||
add r1, r4, r7, lsl #2
|
||||
str r0, [r1, #0x38]
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
#ifdef JAPAN
|
||||
_022E2B64: .word 0x00000B42
|
||||
#else
|
||||
_022E2B64: .word 0x00000A42
|
||||
#endif
|
||||
arm_func_end SubstitutePlaceholderStringTags
|
||||
|
||||
#ifdef EUROPE
|
||||
arm_func_start ov29_022E34A8_EU
|
||||
ov29_022E34A8_EU: ; 0x022E34A8
|
||||
stmdb sp!, {r3, lr}
|
||||
bl EntityIsValid__022E1A1C
|
||||
cmp r0, #0
|
||||
beq _022E34DC
|
||||
ldr r0, _022E34E8 ; =0x02354138
|
||||
ldr r0, [r0]
|
||||
ldrb r0, [r0, #8]
|
||||
cmp r0, #0
|
||||
bne _022E34DC
|
||||
bl GetForcedLossReason
|
||||
cmp r0, #1
|
||||
movne r0, #1
|
||||
bne _022E34E0
|
||||
_022E34DC:
|
||||
mov r0, #0
|
||||
_022E34E0:
|
||||
and r0, r0, #0xff
|
||||
ldmia sp!, {r3, pc}
|
||||
.align 2, 0
|
||||
_022E34E8: .word 0x02354138
|
||||
arm_func_end ov29_022E34A8_EU
|
||||
#endif
|
||||
|
||||
arm_func_start ov29_022E2B68
|
||||
ov29_022E2B68: ; 0x022E2B68
|
||||
#ifdef JAPAN
|
||||
#define OV29_022E2B68_OFFSET -0xA4
|
||||
#else
|
||||
#define OV29_022E2B68_OFFSET 0
|
||||
#endif
|
||||
stmdb sp!, {r3, r4, r5, lr}
|
||||
ldr r1, _022E2C5C ; =DUNGEON_PTR
|
||||
movs r5, r0
|
||||
ldr r2, [r1]
|
||||
mov r1, #0
|
||||
add r0, r2, #0x21c + OV29_022E2B68_OFFSET
|
||||
add r4, r0, #0x1a000
|
||||
strh r1, [r4, #8]
|
||||
ldr r0, _022E2C60 ; =0x0001A21C
|
||||
strh r1, [r4, #0xa]
|
||||
strh r1, [r2, r0]
|
||||
strh r1, [r4, #2]
|
||||
strh r1, [r4, #0xc]
|
||||
strh r1, [r4, #0xe]
|
||||
strh r1, [r4, #4]
|
||||
strh r1, [r4, #6]
|
||||
str r1, [r4, #0x14]
|
||||
strb r1, [r4, #0x2f]
|
||||
mov r0, #1
|
||||
strb r0, [r4, #0x30]
|
||||
strb r0, [r4, #0x31]
|
||||
str r1, [r4, #0x18]
|
||||
str r1, [r4, #0x1c]
|
||||
bne _022E2BF4
|
||||
strb r1, [r4, #0x22]
|
||||
strb r1, [r4, #0x29]
|
||||
strb r1, [r4, #0x28]
|
||||
strb r1, [r4, #0x26]
|
||||
strb r1, [r4, #0x2a]
|
||||
strb r1, [r4, #0x27]
|
||||
strb r1, [r4, #0x23]
|
||||
strb r1, [r4, #0x24]
|
||||
strb r1, [r4, #0x32]
|
||||
strb r1, [r4, #0x33]
|
||||
strb r1, [r4, #0x34]
|
||||
_022E2BF4:
|
||||
mov r1, #0
|
||||
str r1, [r4, #0x10]
|
||||
mov r0, #3
|
||||
strb r0, [r4, #0x20]
|
||||
strb r1, [r4, #0x35]
|
||||
strb r1, [r4, #0x2b]
|
||||
strb r1, [r4, #0x36]
|
||||
strb r1, [r4, #0x37]
|
||||
strb r1, [r4, #0x2d]
|
||||
mov r0, #1
|
||||
strb r0, [r4, #0x2e]
|
||||
bl ov29_022E2C6C
|
||||
ldr r1, _022E2C64 ; =0x0000FFFF
|
||||
ldr r0, _022E2C68 ; =ov29_0237C84C
|
||||
cmp r5, #0
|
||||
str r1, [r0]
|
||||
ldmneia sp!, {r3, r4, r5, pc}
|
||||
ldr r0, _022E2C5C ; =DUNGEON_PTR
|
||||
ldr r0, [r0]
|
||||
add r0, r0, #0x28000
|
||||
ldrb r0, [r0, #0x6c8 + OV29_022E2B68_OFFSET]
|
||||
ands r0, r0, #3
|
||||
strb r0, [r4, #0x21]
|
||||
moveq r0, #1
|
||||
streqb r0, [r4, #0x24]
|
||||
ldmia sp!, {r3, r4, r5, pc}
|
||||
.align 2, 0
|
||||
_022E2C5C: .word DUNGEON_PTR
|
||||
_022E2C60: .word 0x0001A21C + OV29_022E2B68_OFFSET
|
||||
_022E2C64: .word 0x0000FFFF
|
||||
_022E2C68: .word ov29_0237C84C
|
||||
arm_func_end ov29_022E2B68
|
||||
|
||||
arm_func_start ov29_022E2C6C
|
||||
ov29_022E2C6C: ; 0x022E2C6C
|
||||
ldr r0, _022E2C9C ; =DUNGEON_PTR
|
||||
mvn r1, #0
|
||||
ldr r0, [r0]
|
||||
#ifdef JAPAN
|
||||
add r0, r0, #0x178
|
||||
#else
|
||||
add r0, r0, #0x21c
|
||||
#endif
|
||||
add r0, r0, #0x1a000
|
||||
strh r1, [r0, #0x3c]
|
||||
strh r1, [r0, #0x3e]
|
||||
strh r1, [r0, #0x40]
|
||||
strh r1, [r0, #0x42]
|
||||
strh r1, [r0, #0x38]
|
||||
strh r1, [r0, #0x3a]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_022E2C9C: .word DUNGEON_PTR
|
||||
arm_func_end ov29_022E2C6C
|
||||
|
||||
arm_func_start ov29_022E2CA0
|
||||
ov29_022E2CA0: ; 0x022E2CA0
|
||||
stmdb sp!, {r4, r5, r6, lr}
|
||||
ldr r1, _022E2D34 ; =DUNGEON_PTR
|
||||
mov r4, r0
|
||||
ldr r3, [r1]
|
||||
ldr r0, _022E2D38 ; =0x0001A21C
|
||||
ldrsh r1, [r4]
|
||||
ldrsh r2, [r3, r0]
|
||||
#ifdef JAPAN
|
||||
add r0, r3, #0x178
|
||||
#else
|
||||
add r0, r3, #0x21c
|
||||
#endif
|
||||
add r5, r0, #0x1a000
|
||||
sub r0, r2, r1
|
||||
ldr r6, [r5, #0x10]
|
||||
bl abs
|
||||
cmp r0, #6
|
||||
bgt _022E2D2C
|
||||
ldrsh r1, [r5, #2]
|
||||
ldrsh r0, [r4, #2]
|
||||
sub r0, r1, r0
|
||||
bl abs
|
||||
cmp r0, #5
|
||||
bgt _022E2D2C
|
||||
mov r0, r5
|
||||
bl ov29_022E3534
|
||||
cmp r0, #0
|
||||
movne r0, #1
|
||||
ldmneia sp!, {r4, r5, r6, pc}
|
||||
cmp r6, #0
|
||||
moveq r0, #1
|
||||
ldmeqia sp!, {r4, r5, r6, pc}
|
||||
mov r0, r6
|
||||
bl HasDropeyeStatus
|
||||
mov r2, r0
|
||||
mov r0, r5
|
||||
mov r1, r4
|
||||
bl IsPositionActuallyInSight
|
||||
ldmia sp!, {r4, r5, r6, pc}
|
||||
_022E2D2C:
|
||||
mov r0, #0
|
||||
ldmia sp!, {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_022E2D34: .word DUNGEON_PTR
|
||||
#ifdef JAPAN
|
||||
_022E2D38: .word 0x0001A178
|
||||
#else
|
||||
_022E2D38: .word 0x0001A21C
|
||||
#endif
|
||||
arm_func_end ov29_022E2CA0
|
||||
|
||||
arm_func_start ov29_022E2D3C
|
||||
ov29_022E2D3C: ; 0x022E2D3C
|
||||
stmdb sp!, {r4, r5, r6, lr}
|
||||
ldr r1, _022E2DD0 ; =DUNGEON_PTR
|
||||
mov r4, r0
|
||||
ldr r3, [r1]
|
||||
ldr r0, _022E2DD4 ; =0x0001A21C
|
||||
ldrsh r1, [r4]
|
||||
ldrsh r2, [r3, r0]
|
||||
#ifdef JAPAN
|
||||
add r0, r3, #0x178
|
||||
#else
|
||||
add r0, r3, #0x21c
|
||||
#endif
|
||||
add r5, r0, #0x1a000
|
||||
sub r0, r2, r1
|
||||
ldr r6, [r5, #0x10]
|
||||
bl abs
|
||||
cmp r0, #6
|
||||
bgt _022E2DC8
|
||||
ldrsh r1, [r5, #2]
|
||||
ldrsh r0, [r4, #2]
|
||||
sub r0, r1, r0
|
||||
bl abs
|
||||
cmp r0, #6
|
||||
bgt _022E2DC8
|
||||
mov r0, r5
|
||||
bl ov29_022E3534
|
||||
cmp r0, #0
|
||||
movne r0, #1
|
||||
ldmneia sp!, {r4, r5, r6, pc}
|
||||
cmp r6, #0
|
||||
moveq r0, #1
|
||||
ldmeqia sp!, {r4, r5, r6, pc}
|
||||
mov r0, r6
|
||||
bl HasDropeyeStatus
|
||||
mov r2, r0
|
||||
mov r0, r5
|
||||
mov r1, r4
|
||||
bl IsPositionActuallyInSight
|
||||
ldmia sp!, {r4, r5, r6, pc}
|
||||
_022E2DC8:
|
||||
mov r0, #0
|
||||
ldmia sp!, {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_022E2DD0: .word DUNGEON_PTR
|
||||
#ifdef JAPAN
|
||||
_022E2DD4: .word 0x0001A178
|
||||
#else
|
||||
_022E2DD4: .word 0x0001A21C
|
||||
#endif
|
||||
arm_func_end ov29_022E2D3C
|
||||
|
||||
#ifndef JAPAN
|
||||
arm_func_start UpdateMapSurveyorFlag
|
||||
UpdateMapSurveyorFlag: ; 0x022E2DD8
|
||||
#ifdef EUROPE
|
||||
stmdb sp!, {r4, lr}
|
||||
ldr r1, _022E2DF8 ; =DUNGEON_PTR
|
||||
mov r0, #0x41
|
||||
ldr r1, [r1]
|
||||
add r1, r1, #0x1a000
|
||||
ldrb r4, [r1, #0x241]
|
||||
bl TeamMemberHasEnabledIqSkill
|
||||
ldr r2, _022E2DF8 ; =DUNGEON_PTR
|
||||
ldr r1, [r2]
|
||||
add r1, r1, #0x1a000
|
||||
strb r0, [r1, #0x241]
|
||||
ldr r0, [r2]
|
||||
add r0, r0, #0x1a000
|
||||
ldrb r0, [r0, #0x241]
|
||||
cmp r4, r0
|
||||
movne r0, #1
|
||||
moveq r0, #0
|
||||
and r0, r0, #0xff
|
||||
ldmia sp!, {r4, pc}
|
||||
#else
|
||||
stmdb sp!, {r3, lr}
|
||||
mov r0, #0x41
|
||||
bl TeamMemberHasEnabledIqSkill
|
||||
ldr r1, _022E2DF8 ; =DUNGEON_PTR
|
||||
ldr r1, [r1]
|
||||
add r1, r1, #0x1a000
|
||||
strb r0, [r1, #0x241]
|
||||
ldmia sp!, {r3, pc}
|
||||
#endif
|
||||
.align 2, 0
|
||||
_022E2DF8: .word DUNGEON_PTR
|
||||
arm_func_end UpdateMapSurveyorFlag
|
||||
#endif
|
||||
|
||||
arm_func_start ov29_022E2DFC
|
||||
ov29_022E2DFC: ; 0x022E2DFC
|
||||
stmdb sp!, {r3, lr}
|
||||
ldr r1, _022E2E50 ; =DUNGEON_PTR
|
||||
cmp r0, #0
|
||||
ldr r1, [r1]
|
||||
#ifdef JAPAN
|
||||
add r1, r1, #0x178
|
||||
#else
|
||||
add r1, r1, #0x21c
|
||||
#endif
|
||||
add r1, r1, #0x1a000
|
||||
str r0, [r1, #0x10]
|
||||
moveq r0, #0
|
||||
streqb r0, [r1, #0x2f]
|
||||
beq _022E2E40
|
||||
ldr r0, [r0, #0xb4]
|
||||
ldrb r0, [r0, #7]
|
||||
cmp r0, #0
|
||||
moveq r0, #0
|
||||
streqb r0, [r1, #0x2f]
|
||||
movne r0, #1
|
||||
strneb r0, [r1, #0x2f]
|
||||
_022E2E40:
|
||||
mov r0, #0
|
||||
bl UpdateCamera
|
||||
bl ov29_022E2C6C
|
||||
ldmia sp!, {r3, pc}
|
||||
.align 2, 0
|
||||
_022E2E50: .word DUNGEON_PTR
|
||||
arm_func_end ov29_022E2DFC
|
||||
|
||||
arm_func_start PointCameraToMonster
|
||||
PointCameraToMonster: ; 0x022E2E54
|
||||
stmdb sp!, {r4, lr}
|
||||
ldr r2, _022E2EC0 ; =DUNGEON_PTR
|
||||
mov r4, r1
|
||||
ldr r1, [r2]
|
||||
cmp r0, #0
|
||||
#ifdef JAPAN
|
||||
add r1, r1, #0x178
|
||||
#else
|
||||
add r1, r1, #0x21c
|
||||
#endif
|
||||
add r2, r1, #0x1a000
|
||||
moveq r1, #0
|
||||
streqb r1, [r2, #0x2f]
|
||||
beq _022E2E98
|
||||
ldr r1, [r0, #0xb4]
|
||||
ldrb r1, [r1, #7]
|
||||
cmp r1, #0
|
||||
moveq r1, #0
|
||||
streqb r1, [r2, #0x2f]
|
||||
movne r1, #1
|
||||
strneb r1, [r2, #0x2f]
|
||||
_022E2E98:
|
||||
str r0, [r2, #0x10]
|
||||
mov r0, #0
|
||||
bl UpdateCamera
|
||||
bl ov29_022E2C6C
|
||||
bl ov29_02304954
|
||||
cmp r4, #0
|
||||
ldmeqia sp!, {r4, pc}
|
||||
bl UpdateTrapsVisibility
|
||||
bl UpdateMinimap
|
||||
ldmia sp!, {r4, pc}
|
||||
.align 2, 0
|
||||
_022E2EC0: .word DUNGEON_PTR
|
||||
arm_func_end PointCameraToMonster
|
||||
|
||||
arm_func_start UpdateCamera
|
||||
UpdateCamera: ; 0x022E2EC4
|
||||
#ifdef JAPAN
|
||||
#define UPDATE_CAMERA_OFFSET -0xA4
|
||||
#else
|
||||
#define UPDATE_CAMERA_OFFSET 0
|
||||
#endif
|
||||
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
||||
sub sp, sp, #0x10
|
||||
ldr r1, _022E32DC ; =DUNGEON_PTR
|
||||
str r0, [sp]
|
||||
ldr r0, [r1]
|
||||
cmp r0, #0
|
||||
beq _022E32D4
|
||||
add r0, r0, #0x21c + UPDATE_CAMERA_OFFSET
|
||||
add r4, r0, #0x1a000
|
||||
ldr r5, [r4, #0x10]
|
||||
cmp r5, #0
|
||||
beq _022E32D0
|
||||
mov r0, r5
|
||||
bl EntityIsValid__022E32E8
|
||||
cmp r0, #0
|
||||
beq _022E32D0
|
||||
ldrb r8, [r4, #0x32]
|
||||
ldrb sb, [r4, #0x33]
|
||||
ldrh r0, [r4, #8]
|
||||
ldr sl, [r5, #0xb4]
|
||||
mov r6, #0
|
||||
strh r0, [r4, #0xc]
|
||||
ldrh r2, [r4, #0xa]
|
||||
mov r0, r5
|
||||
mov r1, #0x18
|
||||
strh r2, [r4, #0xe]
|
||||
ldrh r2, [r4]
|
||||
mov fp, r6
|
||||
mov r7, r6
|
||||
strh r2, [r4, #4]
|
||||
ldrh r2, [r4, #2]
|
||||
str r6, [sp, #4]
|
||||
strh r2, [r4, #6]
|
||||
ldrsh r2, [r5, #4]
|
||||
strh r2, [r4]
|
||||
ldrsh r2, [r5, #6]
|
||||
strh r2, [r4, #2]
|
||||
ldr r2, [r5, #0xc]
|
||||
mov r2, r2, asr #8
|
||||
sub r2, r2, #0x80
|
||||
strh r2, [r4, #8]
|
||||
ldr r2, [r5, #0x10]
|
||||
mov r2, r2, asr #8
|
||||
sub r2, r2, #0x6c
|
||||
strh r2, [r4, #0xa]
|
||||
ldrb r2, [r4, #0x27]
|
||||
str r2, [sp, #0xc]
|
||||
ldrb r2, [r4, #0x26]
|
||||
str r2, [sp, #8]
|
||||
bl ItemIsActive__022E330C
|
||||
cmp r0, #0
|
||||
ldrneb r0, [sl, #7]
|
||||
mov r1, #0
|
||||
cmpne r0, #0
|
||||
movne r0, #1
|
||||
strneb r0, [r4, #0x26]
|
||||
strneb r0, [r4, #0x27]
|
||||
ldreqb r0, [sl, #0xf9]
|
||||
streqb r0, [r4, #0x26]
|
||||
ldreqb r0, [sl, #0xfa]
|
||||
streqb r0, [r4, #0x27]
|
||||
strb r1, [r4, #0x32]
|
||||
strb r1, [r4, #0x33]
|
||||
mov r0, r5
|
||||
mov r1, #0xe
|
||||
bl ItemIsActive__022E330C
|
||||
cmp r0, #0
|
||||
ldrneb r0, [sl, #7]
|
||||
cmpne r0, #0
|
||||
movne r0, #1
|
||||
strneb r0, [r4, #0x32]
|
||||
strneb r0, [r4, #0x33]
|
||||
ldrb r1, [r4, #0x27]
|
||||
ldr r0, [sp, #0xc]
|
||||
cmp r0, r1
|
||||
ldreqb r0, [r4, #0x32]
|
||||
ldrb r1, [r4, #0x26]
|
||||
cmpeq r8, r0
|
||||
ldr r0, [sp, #8]
|
||||
movne r6, #1
|
||||
cmp r0, r1
|
||||
ldreqb r0, [r4, #0x33]
|
||||
cmpeq sb, r0
|
||||
ldrb r0, [sl, #0xfb]
|
||||
movne fp, #1
|
||||
strb r0, [r4, #0x2a]
|
||||
ldrb r0, [r4, #0x2d]
|
||||
ldrb r8, [r4, #0x22]
|
||||
cmp r0, #0
|
||||
bne _022E309C
|
||||
mov r0, r5
|
||||
mov r1, #1
|
||||
bl IsBlinded
|
||||
cmp r0, #0
|
||||
movne r0, #1
|
||||
movne r2, #0xe
|
||||
strneb r0, [r4, #0x22]
|
||||
moveq r2, #0
|
||||
ldr r0, _022E32E0 ; =ov29_0237C84C
|
||||
streqb r2, [r4, #0x22]
|
||||
ldr r1, [r0]
|
||||
cmp r1, r2
|
||||
beq _022E30A8
|
||||
str r2, [r0]
|
||||
cmp r2, #0xe
|
||||
mov r0, #2
|
||||
mov r1, #0
|
||||
bne _022E3088
|
||||
bl sub_02009194
|
||||
mov r0, #3
|
||||
mov r1, #0
|
||||
bl sub_02009194
|
||||
b _022E30A8
|
||||
_022E3088:
|
||||
bl sub_020091B0
|
||||
mov r0, #3
|
||||
mov r1, #0
|
||||
bl sub_020091B0
|
||||
b _022E30A8
|
||||
_022E309C:
|
||||
ldr r1, _022E32E4 ; =0x0000FFFF
|
||||
ldr r0, _022E32E0 ; =ov29_0237C84C
|
||||
str r1, [r0]
|
||||
_022E30A8:
|
||||
ldrb r0, [r4, #0x22]
|
||||
ldrb r1, [r4, #0x29]
|
||||
cmp r8, r0
|
||||
ldrb r0, [sl, #0xf1]
|
||||
movne r7, #1
|
||||
cmp r0, #2
|
||||
moveq r0, #1
|
||||
movne r0, #0
|
||||
strb r0, [r4, #0x29]
|
||||
ldrb r0, [r4, #0x29]
|
||||
cmp r1, r0
|
||||
ldreq r0, _022E32DC ; =DUNGEON_PTR
|
||||
ldreq r0, [r0]
|
||||
addeq r0, r0, #0x2c000
|
||||
ldreqb r0, [r0, #0xb10 + UPDATE_CAMERA_OFFSET]
|
||||
cmpeq r0, #0
|
||||
beq _022E3108
|
||||
bl ov29_023047DC
|
||||
ldr r0, _022E32DC ; =DUNGEON_PTR
|
||||
mov r1, #0
|
||||
ldr r0, [r0]
|
||||
mov r7, #1
|
||||
add r0, r0, #0x2c000
|
||||
strb r1, [r0, #0xb10 + UPDATE_CAMERA_OFFSET]
|
||||
_022E3108:
|
||||
mov r0, r5
|
||||
ldrb r8, [r4, #0x28]
|
||||
bl CanSeeInvisibleMonsters
|
||||
cmp r0, #0
|
||||
movne r0, #1
|
||||
moveq r0, #0
|
||||
strb r0, [r4, #0x28]
|
||||
ldrb r0, [r4, #0x28]
|
||||
cmp r8, r0
|
||||
movne r7, #1
|
||||
strne r7, [sp, #4]
|
||||
ldrb r8, [r4, #0x34]
|
||||
mov r0, r5
|
||||
bl HasDropeyeStatus
|
||||
and r1, r0, #0xff
|
||||
cmp r8, r1
|
||||
strb r0, [r4, #0x34]
|
||||
movne r7, #1
|
||||
strne r7, [sp, #4]
|
||||
ldr r0, [sp, #4]
|
||||
cmp r0, #0
|
||||
beq _022E3168
|
||||
bl UpdateTrapsVisibility
|
||||
bl UpdateMinimap
|
||||
_022E3168:
|
||||
cmp r7, #0
|
||||
beq _022E3178
|
||||
mov r0, #0
|
||||
bl ov29_022E3A58
|
||||
_022E3178:
|
||||
ldr r0, [sp]
|
||||
cmp r0, #0
|
||||
beq _022E3228
|
||||
ldrb r0, [r4, #0x2c]
|
||||
cmp r0, #0
|
||||
bne _022E3228
|
||||
ldrsh r5, [r4, #8]
|
||||
ldrsh r7, [r4, #0xc]
|
||||
sub r0, r7, r5
|
||||
bl abs
|
||||
cmp r0, #8
|
||||
bge _022E31C0
|
||||
ldrsh r1, [r4, #0xe]
|
||||
ldrsh r0, [r4, #0xa]
|
||||
sub r0, r1, r0
|
||||
bl abs
|
||||
cmp r0, #8
|
||||
blt _022E31D0
|
||||
_022E31C0:
|
||||
bl UpdateTrapsVisibility
|
||||
mov r0, #1
|
||||
strb r0, [r4, #0x2c]
|
||||
b _022E3228
|
||||
_022E31D0:
|
||||
cmp r7, r5
|
||||
bge _022E31E8
|
||||
mov r0, #0xff
|
||||
mov r1, #0
|
||||
bl ov29_0233711C
|
||||
b _022E31F8
|
||||
_022E31E8:
|
||||
ble _022E31F8
|
||||
mov r0, #0
|
||||
mov r1, r0
|
||||
bl ov29_0233711C
|
||||
_022E31F8:
|
||||
ldrsh r1, [r4, #0xa]
|
||||
ldrsh r0, [r4, #0xe]
|
||||
cmp r0, r1
|
||||
bge _022E3218
|
||||
mov r0, #0
|
||||
mov r1, #0xc0
|
||||
bl ov29_023372A4
|
||||
b _022E3228
|
||||
_022E3218:
|
||||
ble _022E3228
|
||||
mov r0, #0
|
||||
mov r1, r0
|
||||
bl ov29_023372A4
|
||||
_022E3228:
|
||||
cmp fp, #0
|
||||
ldreqsh r1, [r4]
|
||||
ldreqsh r0, [r4, #4]
|
||||
cmpeq r1, r0
|
||||
ldreqsh r1, [r4, #2]
|
||||
ldreqsh r0, [r4, #6]
|
||||
cmpeq r1, r0
|
||||
beq _022E3288
|
||||
ldr r4, _022E32DC ; =DUNGEON_PTR
|
||||
mov r5, #0
|
||||
_022E3250:
|
||||
ldr r0, [r4]
|
||||
add r0, r0, r5, lsl #2
|
||||
add r0, r0, #0x12000
|
||||
ldr r7, [r0, #0xb78 + UPDATE_CAMERA_OFFSET]
|
||||
mov r0, r7
|
||||
bl EntityIsValid__022E32E8
|
||||
cmp r0, #0
|
||||
beq _022E327C
|
||||
ldrsh r0, [r7, #4]
|
||||
ldrsh r1, [r7, #6]
|
||||
bl DrawMinimapTile
|
||||
_022E327C:
|
||||
add r5, r5, #1
|
||||
cmp r5, #0x14
|
||||
blt _022E3250
|
||||
_022E3288:
|
||||
cmp r6, #0
|
||||
beq _022E32D0
|
||||
ldr r4, _022E32DC ; =DUNGEON_PTR
|
||||
mov r5, #0
|
||||
_022E3298:
|
||||
ldr r0, [r4]
|
||||
add r0, r0, r5, lsl #2
|
||||
add r0, r0, #0x12000
|
||||
ldr r6, [r0, #0xbc8 + UPDATE_CAMERA_OFFSET]
|
||||
mov r0, r6
|
||||
bl EntityIsValid__022E32E8
|
||||
cmp r0, #0
|
||||
beq _022E32C4
|
||||
ldrsh r0, [r6, #4]
|
||||
ldrsh r1, [r6, #6]
|
||||
bl DrawMinimapTile
|
||||
_022E32C4:
|
||||
add r5, r5, #1
|
||||
cmp r5, #0x40
|
||||
blt _022E3298
|
||||
_022E32D0:
|
||||
bl ov29_022E34C8
|
||||
_022E32D4:
|
||||
add sp, sp, #0x10
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
||||
.align 2, 0
|
||||
_022E32DC: .word DUNGEON_PTR
|
||||
_022E32E0: .word ov29_0237C84C
|
||||
_022E32E4: .word 0x0000FFFF
|
||||
arm_func_end UpdateCamera
|
||||
@@ -2307,8 +2307,8 @@ _022E5388:
|
||||
_022E5398: .word 0x0000018D
|
||||
arm_func_end PlayHitChanceDownEffect
|
||||
|
||||
arm_func_start PlayCringeExclamationPointEffect
|
||||
PlayCringeExclamationPointEffect: ; 0x022E539C
|
||||
arm_func_start PlayExclamationPointEffect__022E5D4C
|
||||
PlayExclamationPointEffect__022E5D4C: ; 0x022E539C
|
||||
stmdb sp!, {r4, lr}
|
||||
sub sp, sp, #0x10
|
||||
mov r4, r0
|
||||
@@ -2330,7 +2330,7 @@ PlayCringeExclamationPointEffect: ; 0x022E539C
|
||||
ldmia sp!, {r4, pc}
|
||||
.align 2, 0
|
||||
_022E53E8: .word 0x00000143
|
||||
arm_func_end PlayCringeExclamationPointEffect
|
||||
arm_func_end PlayExclamationPointEffect__022E5D4C
|
||||
|
||||
arm_func_start ov29_022E53EC
|
||||
ov29_022E53EC: ; 0x022E53EC
|
||||
|
||||
@@ -600,7 +600,7 @@ _022EE9D8:
|
||||
mov r0, r6
|
||||
mov r1, r5
|
||||
add r2, r4, #2
|
||||
bl ov29_022EF4B4
|
||||
bl SpawnMonstersAroundPos
|
||||
mov r4, r0
|
||||
ldr r1, _022EEA28 ; =0x0000030F
|
||||
mov r0, r5
|
||||
@@ -1179,7 +1179,7 @@ ApplyGrudgeTrapEffect: ; 0x022EF074
|
||||
#endif
|
||||
mov r1, r4
|
||||
add r2, r2, #2
|
||||
bl ov29_022EF4B4
|
||||
bl SpawnMonstersAroundPos
|
||||
cmp r0, #0
|
||||
ble _022EF0B0
|
||||
ldr r1, _022EF148 ; =0x0000030F
|
||||
@@ -1546,8 +1546,8 @@ _022EF4AC:
|
||||
ldmia sp!, {r3, r4, r5, pc}
|
||||
arm_func_end ov29_022EF478
|
||||
|
||||
arm_func_start ov29_022EF4B4
|
||||
ov29_022EF4B4: ; 0x022EF4B4
|
||||
arm_func_start SpawnMonstersAroundPos
|
||||
SpawnMonstersAroundPos: ; 0x022EF4B4
|
||||
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
||||
sub sp, sp, #0x10
|
||||
mov r0, #8
|
||||
@@ -1629,7 +1629,7 @@ _022EF5BC:
|
||||
.align 2, 0
|
||||
_022EF5D0: .word 0x0000017B
|
||||
_022EF5D4: .word DIRECTIONS_XY
|
||||
arm_func_end ov29_022EF4B4
|
||||
arm_func_end SpawnMonstersAroundPos
|
||||
|
||||
arm_func_start RevealTrapsNearby
|
||||
RevealTrapsNearby: ; 0x022EF5D8
|
||||
|
||||
@@ -147,7 +147,7 @@ _022FA65C:
|
||||
#endif
|
||||
bl ov29_022E8104
|
||||
bl ov29_022E81F8
|
||||
bl ov29_022E0A04
|
||||
bl GetSuccessfulExitTracker
|
||||
cmp r0, #1
|
||||
mov r0, r8
|
||||
bne _022FA6B8
|
||||
@@ -164,7 +164,7 @@ _022FA6C4:
|
||||
mov sb, #0
|
||||
bl GetActiveTeamMember
|
||||
mov r4, r0
|
||||
bl ov29_022E0A04
|
||||
bl GetSuccessfulExitTracker
|
||||
cmp r0, #0
|
||||
movne sb, #1
|
||||
bne _022FA70C
|
||||
|
||||
@@ -1,35 +1,8 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "overlay_29_022FBE04.inc"
|
||||
.include "overlay_29_022FBE58.inc"
|
||||
|
||||
.text
|
||||
|
||||
arm_func_start ov29_022FBE04
|
||||
ov29_022FBE04: ; 0x022FBE04
|
||||
stmdb sp!, {r3, lr}
|
||||
ldrb r0, [r0, #6]
|
||||
cmp r0, #0
|
||||
bne _022FBE4C
|
||||
ldr r0, _022FBE54 ; =DUNGEON_PTR
|
||||
ldr r0, [r0]
|
||||
ldrb r0, [r0, #0x748]
|
||||
bl GetTurnLimit
|
||||
ldr r1, _022FBE54 ; =DUNGEON_PTR
|
||||
ldr r1, [r1]
|
||||
add r1, r1, #0x700
|
||||
ldrsh r1, [r1, #0x84]
|
||||
cmp r1, r0
|
||||
bne _022FBE4C
|
||||
bl IsFullFloorFixedRoom
|
||||
cmp r0, #0
|
||||
movne r0, #1
|
||||
ldmneia sp!, {r3, pc}
|
||||
_022FBE4C:
|
||||
mov r0, #0
|
||||
ldmia sp!, {r3, pc}
|
||||
.align 2, 0
|
||||
_022FBE54: .word DUNGEON_PTR
|
||||
arm_func_end ov29_022FBE04
|
||||
|
||||
arm_func_start InitOtherMonsterData
|
||||
InitOtherMonsterData: ; 0x022FBE58
|
||||
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
||||
@@ -900,7 +900,7 @@ _02303618:
|
||||
add r3, sp, #0x18
|
||||
mov r0, sb
|
||||
add r1, r3, sl, lsl #3
|
||||
bl ov29_0231EA04
|
||||
bl InitMoveWrapper
|
||||
add r2, sp, #0x1a
|
||||
mov r1, sl, lsl #3
|
||||
ldrh r0, [r2, r1]
|
||||
@@ -1093,8 +1093,8 @@ _023038D0: .word 0x00000F25
|
||||
#endif
|
||||
arm_func_end ov29_023034E0
|
||||
|
||||
arm_func_start ov29_023038D4
|
||||
ov29_023038D4: ; 0x023038D4
|
||||
arm_func_start DungeonTmLearnMove
|
||||
DungeonTmLearnMove: ; 0x023038D4
|
||||
#ifdef JAPAN
|
||||
#define OV29_023038D4_OFFSET -4
|
||||
#else
|
||||
@@ -1126,7 +1126,7 @@ _02303910:
|
||||
mov r0, sl
|
||||
mov r2, r6
|
||||
add r1, r1, r4, lsl #3
|
||||
bl ov29_0231EA04
|
||||
bl InitMoveWrapper
|
||||
add r2, sp, #2
|
||||
mov r1, r4, lsl #3
|
||||
ldrh r0, [r2, r1]
|
||||
@@ -1270,7 +1270,7 @@ _02303B0C: .word 0x00000F23
|
||||
_02303B10: .word 0x00000F28
|
||||
_02303B14: .word 0x00000F24
|
||||
#endif
|
||||
arm_func_end ov29_023038D4
|
||||
arm_func_end DungeonTmLearnMove
|
||||
|
||||
arm_func_start GetMonsterMoves
|
||||
GetMonsterMoves: ; 0x02303B18
|
||||
|
||||
@@ -33,7 +33,7 @@ _023055C4:
|
||||
cmp r0, #0
|
||||
bne _02305680
|
||||
mov r0, r8
|
||||
bl ov29_022FBE04
|
||||
bl IsTeamMemberOnFirstTurnInFixedRoom
|
||||
cmp r0, #0
|
||||
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
||||
add r0, r8, #0x100
|
||||
|
||||
@@ -133,7 +133,7 @@ _02308780:
|
||||
bl ov29_022E5E84
|
||||
mov r0, sb
|
||||
mov r1, sl
|
||||
bl ov29_0231EDFC
|
||||
bl TryHurl
|
||||
_023087A8:
|
||||
mov r0, sl
|
||||
mov r1, sb
|
||||
|
||||
@@ -303,7 +303,7 @@ TryInflictSleeplessStatus: ; 0x02311F80
|
||||
ldrb r0, [r5, #0xbd]
|
||||
cmp r0, #2
|
||||
beq _02312040
|
||||
ldr r1, _0231205C ; =ov10_022C4728
|
||||
ldr r1, _0231205C ; =SLEEPLESSNESS_TURN_RANGE
|
||||
mov r3, #2
|
||||
mov r0, r6
|
||||
mov r2, #0
|
||||
@@ -347,7 +347,7 @@ _02312050:
|
||||
bl UpdateStatusIconFlags
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_0231205C: .word ov10_022C4728
|
||||
_0231205C: .word SLEEPLESSNESS_TURN_RANGE
|
||||
#ifdef JAPAN
|
||||
_02312060: .word 0x00000A53
|
||||
_02312064: .word 0x00000A55
|
||||
|
||||
@@ -1105,7 +1105,7 @@ _02315F78:
|
||||
mov r0, #2
|
||||
strb r0, [r6, #0xd8]
|
||||
ldr r0, [sl, #0xb4]
|
||||
ldr r1, _023160D4 ; =ov10_022C47B4
|
||||
ldr r1, _023160D4 ; =DECOY_TURN_RANGE
|
||||
ldrb r3, [r0, #6]
|
||||
mov r0, sb
|
||||
mov r2, #1
|
||||
@@ -1198,7 +1198,7 @@ _023160CC: .word 0x00000A86
|
||||
_023160CC: .word 0x00000D46
|
||||
#endif
|
||||
_023160D0: .word DUNGEON_PTR
|
||||
_023160D4: .word ov10_022C47B4
|
||||
_023160D4: .word DECOY_TURN_RANGE
|
||||
#ifdef JAPAN
|
||||
_023160D8: .word 0x00000A85
|
||||
#else
|
||||
|
||||
@@ -59,7 +59,7 @@ _02318DEC:
|
||||
cmpne r0, #0xa
|
||||
cmpne r0, #0xf
|
||||
beq _02318E20
|
||||
ldr r1, _02318E44 ; =ov10_022C4750
|
||||
ldr r1, _02318E44 ; =SET_REFLECT_STATUS_TURN_RANGE
|
||||
mov r0, r6
|
||||
mov r2, #0
|
||||
bl CalcStatusDuration
|
||||
@@ -77,11 +77,11 @@ _02318E20:
|
||||
.align 2, 0
|
||||
#ifdef JAPAN
|
||||
_02318E40: .word 0x00000A33
|
||||
_02318E44: .word ov10_022C4750
|
||||
_02318E44: .word SET_REFLECT_STATUS_TURN_RANGE
|
||||
_02318E48: .word 0x00000A32
|
||||
#else
|
||||
_02318E40: .word 0x00000CF3
|
||||
_02318E44: .word ov10_022C4750
|
||||
_02318E44: .word SET_REFLECT_STATUS_TURN_RANGE
|
||||
_02318E48: .word 0x00000CF2
|
||||
#endif
|
||||
arm_func_end SetReflectStatus
|
||||
|
||||
@@ -20,7 +20,7 @@ TryInflictSafeguardStatus: ; 0x02318E70
|
||||
ldrb r0, [r4, #0xd5]
|
||||
cmp r0, #2
|
||||
beq _02318EE8
|
||||
ldr r1, _02318F04 ; =ov10_022C4734
|
||||
ldr r1, _02318F04 ; =SAFEGUARD_TURN_RANGE
|
||||
mov r3, #2
|
||||
mov r0, r5
|
||||
mov r2, #0
|
||||
@@ -45,7 +45,7 @@ _02318EF8:
|
||||
bl UpdateStatusIconFlags
|
||||
ldmia sp!, {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_02318F04: .word ov10_022C4734
|
||||
_02318F04: .word SAFEGUARD_TURN_RANGE
|
||||
#ifdef JAPAN
|
||||
_02318F08: .word 0x00000A2E
|
||||
_02318F0C: .word 0x00000A2F
|
||||
@@ -72,7 +72,7 @@ TryInflictMistStatus: ; 0x02318F10
|
||||
ldrb r0, [r4, #0xd5]
|
||||
cmp r0, #0xe
|
||||
beq _02318F88
|
||||
ldr r1, _02318FA4 ; =ov10_022C4738
|
||||
ldr r1, _02318FA4 ; =MIST_TURN_RANGE
|
||||
mov r3, #0xe
|
||||
mov r0, r5
|
||||
mov r2, #0
|
||||
@@ -101,7 +101,7 @@ _02318F98:
|
||||
bl UpdateStatusIconFlags
|
||||
ldmia sp!, {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_02318FA4: .word ov10_022C4738
|
||||
_02318FA4: .word MIST_TURN_RANGE
|
||||
#ifdef JAPAN
|
||||
_02318FA8: .word 0x00000A31
|
||||
#else
|
||||
@@ -178,7 +178,7 @@ TryInflictMagicCoatStatus: ; 0x0231904C
|
||||
ldrb r0, [r4, #0xd5]
|
||||
cmp r0, #5
|
||||
beq _023190C4
|
||||
ldr r1, _023190E0 ; =ov10_022C4740
|
||||
ldr r1, _023190E0 ; =MAGIC_COAT_TURN_RANGE
|
||||
mov r3, #5
|
||||
mov r0, r5
|
||||
mov r2, #0
|
||||
@@ -203,7 +203,7 @@ _023190D4:
|
||||
bl UpdateStatusIconFlags
|
||||
ldmia sp!, {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_023190E0: .word ov10_022C4740
|
||||
_023190E0: .word MAGIC_COAT_TURN_RANGE
|
||||
#ifdef JAPAN
|
||||
_023190E4: .word 0x00000A27
|
||||
_023190E8: .word 0x00000A28
|
||||
@@ -230,7 +230,7 @@ TryInflictLightScreenStatus: ; 0x023190EC
|
||||
ldrb r0, [r4, #0xd5]
|
||||
cmp r0, #3
|
||||
beq _02319164
|
||||
ldr r1, _02319180 ; =ov10_022C4730
|
||||
ldr r1, _02319180 ; =LIGHT_SCREEN_TURN_RANGE
|
||||
mov r3, #3
|
||||
mov r0, r5
|
||||
mov r2, #0
|
||||
@@ -255,7 +255,7 @@ _02319174:
|
||||
bl UpdateStatusIconFlags
|
||||
ldmia sp!, {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_02319180: .word ov10_022C4730
|
||||
_02319180: .word LIGHT_SCREEN_TURN_RANGE
|
||||
#ifdef JAPAN
|
||||
_02319184: .word 0x00000A34
|
||||
_02319188: .word 0x00000A35
|
||||
@@ -496,7 +496,7 @@ TryInflictMirrorMoveStatus: ; 0x02319418
|
||||
ldrb r0, [r4, #0xd5]
|
||||
cmp r0, #0xb
|
||||
beq _02319490
|
||||
ldr r1, _023194AC ; =ov10_022C4840
|
||||
ldr r1, _023194AC ; =MIRROR_MOVE_TURN_RANGE
|
||||
mov r3, #0xb
|
||||
mov r0, r5
|
||||
mov r2, #0
|
||||
@@ -521,7 +521,7 @@ _023194A0:
|
||||
bl UpdateStatusIconFlags
|
||||
ldmia sp!, {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_023194AC: .word ov10_022C4840
|
||||
_023194AC: .word MIRROR_MOVE_TURN_RANGE
|
||||
#ifdef JAPAN
|
||||
_023194B0: .word 0x00000A9A
|
||||
_023194B4: .word 0x00000A9B
|
||||
|
||||
@@ -1275,7 +1275,7 @@ _0231DB70:
|
||||
bl ov29_022E5AE4
|
||||
mov r0, r4
|
||||
mov r1, r5
|
||||
bl ov29_023038D4
|
||||
bl DungeonTmLearnMove
|
||||
cmp r0, #0
|
||||
moveq r0, #0
|
||||
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
||||
|
||||
@@ -3,15 +3,15 @@
|
||||
|
||||
.text
|
||||
|
||||
arm_func_start ov29_0231EA04
|
||||
ov29_0231EA04: ; 0x0231EA04
|
||||
arm_func_start InitMoveWrapper
|
||||
InitMoveWrapper: ; 0x0231EA04
|
||||
ldr ip, _0231EA14 ; =InitMove
|
||||
mov r0, r1
|
||||
mov r1, r2
|
||||
bx ip
|
||||
.align 2, 0
|
||||
_0231EA14: .word InitMove
|
||||
arm_func_end ov29_0231EA04
|
||||
arm_func_end InitMoveWrapper
|
||||
|
||||
arm_func_start MoveIsNotPhysical
|
||||
MoveIsNotPhysical: ; 0x0231EA18
|
||||
@@ -80,7 +80,7 @@ _0231EAAC:
|
||||
bl LogMessageByIdWithPopupCheckUser
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
||||
_0231EAC8:
|
||||
bl ov29_022E0378
|
||||
bl FloorSecondaryTerrainIsChasm
|
||||
cmp r0, #0
|
||||
movne r7, #3
|
||||
moveq r7, #2
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
|
||||
.text
|
||||
|
||||
arm_func_start ov29_0231EDFC
|
||||
ov29_0231EDFC: ; 0x0231EDFC
|
||||
arm_func_start TryHurl
|
||||
TryHurl: ; 0x0231EDFC
|
||||
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
||||
sub sp, sp, #0xf4
|
||||
mov r5, r0
|
||||
@@ -463,7 +463,7 @@ _0231F454:
|
||||
bne _0231F4B4
|
||||
mov r3, #0
|
||||
str r3, [sp]
|
||||
ldr r0, _0231F568 ; =ov10_022C4458
|
||||
ldr r0, _0231F568 ; =HURL_DAMAGE
|
||||
ldr r1, _0231F56C ; =0x00000259
|
||||
str r3, [sp, #4]
|
||||
str r1, [sp, #8]
|
||||
@@ -486,7 +486,7 @@ _0231F4B4:
|
||||
_0231F4D4:
|
||||
mov r3, #0
|
||||
str r3, [sp]
|
||||
ldr r0, _0231F568 ; =ov10_022C4458
|
||||
ldr r0, _0231F568 ; =HURL_DAMAGE
|
||||
str r3, [sp, #4]
|
||||
mov r1, #0x258
|
||||
str r1, [sp, #8]
|
||||
@@ -529,6 +529,6 @@ _0231F558: .word 0x00000E47 + OV29_0231EDFC_OFFSET
|
||||
_0231F55C: .word 0x00000212
|
||||
_0231F560: .word DIRECTIONS_XY + 2
|
||||
_0231F564: .word 0x00000163
|
||||
_0231F568: .word ov10_022C4458
|
||||
_0231F568: .word HURL_DAMAGE
|
||||
_0231F56C: .word 0x00000259
|
||||
arm_func_end ov29_0231EDFC
|
||||
arm_func_end TryHurl
|
||||
|
||||
@@ -111,8 +111,8 @@ _0231F6E0: .word 0x00000C07
|
||||
#endif
|
||||
arm_func_end TryDrought
|
||||
|
||||
arm_func_start ov29_0231F6E4
|
||||
ov29_0231F6E4: ; 0x0231F6E4
|
||||
arm_func_start TryTrawl
|
||||
TryTrawl: ; 0x0231F6E4
|
||||
#ifdef JAPAN
|
||||
#define OV29_0231F6E4_OFFSET -0xA4
|
||||
#else
|
||||
@@ -503,4 +503,4 @@ _0231FBF4: .word 0x00000222
|
||||
#ifndef JAPAN
|
||||
_0231FBF8: .word 0x00000BD1
|
||||
#endif
|
||||
arm_func_end ov29_0231F6E4
|
||||
arm_func_end TryTrawl
|
||||
|
||||
@@ -446,7 +446,7 @@ DoMovePounce: ; 0x0232CA4C
|
||||
arm_func_start DoMoveTrawl
|
||||
DoMoveTrawl: ; 0x0232CA60
|
||||
stmdb sp!, {r3, lr}
|
||||
bl ov29_0231F6E4
|
||||
bl TryTrawl
|
||||
mov r0, #1
|
||||
ldmia sp!, {r3, pc}
|
||||
arm_func_end DoMoveTrawl
|
||||
@@ -487,7 +487,7 @@ _0232CAB4:
|
||||
_0232CAE8:
|
||||
mov r0, #1
|
||||
mov r1, r0
|
||||
bl ov29_022E09E8
|
||||
bl SetDungeonEscapeFields
|
||||
_0232CAF4:
|
||||
mov r0, #0
|
||||
ldmia sp!, {r3, r4, r5, pc}
|
||||
@@ -1081,7 +1081,7 @@ _0232D1D8: .word 0x00000257
|
||||
arm_func_start DoMoveHurl
|
||||
DoMoveHurl: ; 0x0232D1DC
|
||||
stmdb sp!, {r3, lr}
|
||||
bl ov29_0231EDFC
|
||||
bl TryHurl
|
||||
mov r0, #1
|
||||
ldmia sp!, {r3, pc}
|
||||
arm_func_end DoMoveHurl
|
||||
|
||||
@@ -157,7 +157,7 @@ ov29_023365E8: ; 0x023365E8
|
||||
ldrls r0, _02336650 ; =DEFAULT_TILE
|
||||
strls r1, [r0]
|
||||
ldmlsia sp!, {r3, pc}
|
||||
bl ov29_022E0378
|
||||
bl FloorSecondaryTerrainIsChasm
|
||||
cmp r0, #0
|
||||
ldrne r1, _02336654 ; =ov29_02352B88
|
||||
ldrne r0, _02336650 ; =DEFAULT_TILE
|
||||
|
||||
@@ -64,7 +64,7 @@ ov29_02346888: ; 0x02346888
|
||||
bne _023468F0
|
||||
mov r0, #2
|
||||
mov r1, #1
|
||||
bl ov29_022E09E8
|
||||
bl SetDungeonEscapeFields
|
||||
_023468F0:
|
||||
add sp, sp, #4
|
||||
ldmia sp!, {r3, r4, pc}
|
||||
|
||||
@@ -817,7 +817,7 @@ _02348A3C:
|
||||
bne _02348A3C
|
||||
mov r0, #2
|
||||
mov r1, #1
|
||||
bl ov29_022E09E8
|
||||
bl SetDungeonEscapeFields
|
||||
mov r0, #1
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
||||
_02348A90:
|
||||
|
||||
@@ -1549,7 +1549,7 @@ _0234AC40:
|
||||
beq _0234AC68
|
||||
mov r0, #2
|
||||
mov r1, #1
|
||||
bl ov29_022E09E8
|
||||
bl SetDungeonEscapeFields
|
||||
b _0234AC70
|
||||
_0234AC68:
|
||||
ldr r0, _0234AC88 ; =0x00000E43
|
||||
|
||||
@@ -6,5 +6,6 @@
|
||||
|
||||
bool8 IsMonsterLoneOutlaw(struct monster* monster_info);
|
||||
bool8 IsSecretBazaarNpc(struct entity *entity);
|
||||
bool8 IsTeamMemberOnFirstTurnInFixedRoom(struct monster *monster);
|
||||
|
||||
#endif //PMDSKY_DUNGEON_LOGIC_7_H
|
||||
|
||||
9
include/dungeon_util_2.h
Normal file
9
include/dungeon_util_2.h
Normal file
@@ -0,0 +1,9 @@
|
||||
#ifndef PMDSKY_DUNGEON_UTIL_2_H
|
||||
#define PMDSKY_DUNGEON_UTIL_2_H
|
||||
|
||||
#include "dungeon_mode.h"
|
||||
|
||||
// Checks if a monster can target a position. This function just calls IsPositionInSight using the position of the user as the origin.
|
||||
bool8 CanTargetPosition(struct entity *monster, struct position *position);
|
||||
|
||||
#endif //PMDSKY_DUNGEON_UTIL_2_H
|
||||
@@ -3441,7 +3441,7 @@ enum game_mode
|
||||
// Possibly more?
|
||||
};
|
||||
|
||||
enum FlagCalcOperation {
|
||||
enum script_calc_operation {
|
||||
CALC_SET = 0,
|
||||
CALC_SUB = 1,
|
||||
CALC_ADD = 2,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#ifndef PMDSKY_MOVE_ORB_EFFECTS_1_H
|
||||
#define PMDSKY_MOVE_ORB_EFFECTS_1_H
|
||||
#ifndef PMDSKY_MOVE_ORB_EFFECTS_H
|
||||
#define PMDSKY_MOVE_ORB_EFFECTS_H
|
||||
|
||||
#include "util.h"
|
||||
#include "dungeon_mode.h"
|
||||
@@ -40,4 +40,4 @@ void BoostSpeed(struct entity *user, struct entity *target, s32 nStages, s32 tur
|
||||
void BoostSpeedOneStage(struct entity *user, struct entity *target, s32 turns, bool8 displayMessage);
|
||||
void LowerSpeed(struct entity *user, struct entity *target, s32 nStages, bool8 displayMessage);
|
||||
|
||||
#endif //PMDSKY_MOVE_ORB_EFFECTS_1_H
|
||||
#endif //PMDSKY_MOVE_ORB_EFFECTS_H
|
||||
@@ -41,6 +41,6 @@ void LoadScriptVariableValueBytes(const enum script_var_id sv_id, u8* result, s3
|
||||
void LoadScriptVariableValueString(const enum script_var_id sv_id, u8* result, u8 num_bytes);
|
||||
void SaveScriptVariableValueBytes(const enum script_var_id sv_id, u8* result, s32 num_bytes);
|
||||
s32 ScriptVariablesEqual(union script_var_value sv_val_ptr_local[], enum script_var_id sv_id_1, enum script_var_id sv_id_2);
|
||||
s32 FlagCalc(s32 param_1, s32 param_2, enum FlagCalcOperation operation);
|
||||
s32 CalcScriptVariables(s32 param_1, s32 param_2, enum script_calc_operation operation);
|
||||
|
||||
#endif //PMDSKY_SCRIPTING_H
|
||||
|
||||
6
main.lsf
6
main.lsf
@@ -380,6 +380,8 @@ Overlay OVY_29
|
||||
Object asm/overlay_29_022E1AD4.o
|
||||
Object src/dungeon_visibility.o
|
||||
Object asm/overlay_29_022E28D4.o
|
||||
Object src/dungeon_util_2.o
|
||||
Object asm/overlay_29_022E2978.o
|
||||
Object src/dg_camera.o
|
||||
Object asm/overlay_29_022E335C.o
|
||||
Object src/dg_effect.o
|
||||
@@ -447,7 +449,7 @@ Overlay OVY_29
|
||||
Object src/joined_at_checks.o
|
||||
Object asm/overlay_29_022FBB1C.o
|
||||
Object src/dungeon_logic_7.o
|
||||
Object asm/overlay_29_022FBE04.o
|
||||
Object asm/overlay_29_022FBE58.o
|
||||
Object src/overlay_29_022FC99C.o
|
||||
Object asm/overlay_29_022FC9C0.o
|
||||
Object src/overlay_29_022FEEB8_eu.o
|
||||
@@ -541,7 +543,7 @@ Overlay OVY_29
|
||||
Object asm/overlay_29_023118D8.o
|
||||
Object src/overlay_29_02311BF8.o
|
||||
Object asm/overlay_29_02311C28.o
|
||||
Object src/move_orb_effects_1.o
|
||||
Object src/move_orb_effects.o
|
||||
Object asm/overlay_29_02314810.o
|
||||
Object src/overlay_29_02315118.o
|
||||
Object asm/overlay_29_0231516C.o
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
#include "dungeon_range_2.h"
|
||||
#include "dungeon_util.h"
|
||||
#include "dungeon_util_1.h"
|
||||
#include "dungeon_util_2.h"
|
||||
#include "dungeon_util_static.h"
|
||||
#include "dungeon_visibility.h"
|
||||
#include "main_0200EDC0.h"
|
||||
@@ -48,8 +49,6 @@ struct can_move_in_direction_info
|
||||
|
||||
const s32 FACING_DIRECTION_INCREMENTS[] = {0, 1, -1, 2, -2, 3, -3, 4};
|
||||
|
||||
extern bool8 CanTargetPosition(struct entity *monster, struct position *position);
|
||||
extern s32 ov29_022FBE04(struct monster*);
|
||||
extern bool8 ShouldAvoidFirstHit(struct entity *monster, bool8 force_avoid);
|
||||
extern bool8 CanSeeTeammate(struct entity *monster);
|
||||
extern struct entity* GetLeaderIfVisible(struct entity *monster);
|
||||
@@ -525,7 +524,7 @@ void AiMovement(struct entity *monster, bool8 show_run_away_effect)
|
||||
return;
|
||||
}
|
||||
|
||||
if (ov29_022FBE04(pokemon_info))
|
||||
if (IsTeamMemberOnFirstTurnInFixedRoom(pokemon_info))
|
||||
return;
|
||||
|
||||
s32 direction = GetDirectionTowardsPosition(&monster->pos, &pokemon_info_2->ai_target.ai_target_pos);
|
||||
@@ -1478,7 +1477,7 @@ _01FFAF28:
|
||||
b _01FFB2A4
|
||||
_01FFAF7C:
|
||||
mov r0, r9
|
||||
bl ov29_022FBE04
|
||||
bl IsTeamMemberOnFirstTurnInFixedRoom
|
||||
cmp r0, #0
|
||||
bne _01FFB2A4
|
||||
add r0, r4, #4
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#include "dungeon_logic_3.h"
|
||||
#include "dungeon_pokemon_attributes.h"
|
||||
#include "dungeon_util_static.h"
|
||||
#include "move_orb_effects_1.h"
|
||||
#include "move_orb_effects.h"
|
||||
#include "overlay_29_02308FBC.h"
|
||||
#include "overlay_29_0230A994.h"
|
||||
#include "overlay_29_0230AB58.h"
|
||||
|
||||
@@ -2,8 +2,11 @@
|
||||
#include "dungeon_logic_6.h"
|
||||
#include "dungeon_mode.h"
|
||||
#include "dungeon_util_static.h"
|
||||
#include "fixed_room_data_1.h"
|
||||
#include "util.h"
|
||||
|
||||
extern s32 GetTurnLimit(enum dungeon_id dungeon_id);
|
||||
|
||||
bool8 IsMonsterLoneOutlaw(struct monster* monster_info)
|
||||
{
|
||||
return IsBehaviorLoneOutlaw(monster_info->monster_behavior);
|
||||
@@ -13,3 +16,13 @@ bool8 IsSecretBazaarNpc(struct entity *entity)
|
||||
{
|
||||
return IsSecretBazaarNpcBehavior(GetEntInfo(entity)->monster_behavior);
|
||||
}
|
||||
|
||||
bool8 IsTeamMemberOnFirstTurnInFixedRoom(struct monster *monster)
|
||||
{
|
||||
if (!monster->is_not_team_member &&
|
||||
DUNGEON_PTR[0]->wind_turns == GetTurnLimit(DUNGEON_PTR[0]->id) &&
|
||||
IsFullFloorFixedRoom())
|
||||
return TRUE;
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
8
src/dungeon_util_2.c
Normal file
8
src/dungeon_util_2.c
Normal file
@@ -0,0 +1,8 @@
|
||||
#include "dungeon_util_2.h"
|
||||
#include "dungeon_pokemon_attributes_1.h"
|
||||
#include "dungeon_range.h"
|
||||
|
||||
bool8 CanTargetPosition(struct entity *monster, struct position *position)
|
||||
{
|
||||
return IsPositionInSight(&monster->pos, position, HasDropeyeStatus(monster));
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
#include "dungeon_pokemon_attributes.h"
|
||||
#include "dungeon_util_static.h"
|
||||
#include "overlay_29_023118B4.h"
|
||||
#include "move_orb_effects_1.h"
|
||||
#include "move_orb_effects.h"
|
||||
#include "overlay_29_02311BF8.h"
|
||||
#include "overlay_29_023018AC.h"
|
||||
#include "math.h"
|
||||
@@ -26,7 +26,7 @@ extern void PlayHitChanceDownEffect(struct entity *user, struct StatIndex);
|
||||
extern void LogMessageByIdWithPopupCheckUserTarget(struct entity *user, struct entity *target, u32 message_id);
|
||||
extern void UpdateStatusIconFlags(struct entity *);
|
||||
extern void ov29_022E4338(struct entity *);
|
||||
extern void PlayCringeExclamationPointEffect(struct entity *);
|
||||
extern void PlayExclamationPointEffect__022E5D4C(struct entity *);
|
||||
extern void PlayParalysisEffect(struct entity *);
|
||||
extern void PlaySpeedUpEffect(struct entity *);
|
||||
extern void PlaySpeedDownEffect(struct entity *);
|
||||
@@ -592,7 +592,7 @@ bool8 TryInflictCringeStatus(struct entity *user ,struct entity *target, bool8 d
|
||||
if (entityInfo->cringe_class_status.cringe != STATUS_CRINGE_CRINGE) {
|
||||
entityInfo->cringe_class_status.cringe = STATUS_CRINGE_CRINGE;
|
||||
entityInfo->cringe_class_status.cringe_turns = CalcStatusDuration(target, CRINGE_TURN_RANGE, TRUE) + 1;
|
||||
PlayCringeExclamationPointEffect(target);
|
||||
PlayExclamationPointEffect__022E5D4C(target);
|
||||
LogMessageByIdWithPopupCheckUserTarget(user,target,0xd02 + JPN_MSG_OFFSET);
|
||||
TryActivateSteadfast(user, target);
|
||||
TryActivateQuickFeet(user, target);
|
||||
@@ -162,7 +162,7 @@ void SaveScriptVariableValue(union script_var_value sv_locals[], const enum scri
|
||||
{
|
||||
struct script_var_raw script_var_raw;
|
||||
LoadScriptVariableRaw(&script_var_raw, sv_locals, script_var_id);
|
||||
|
||||
|
||||
switch ((s16)script_var_raw.def->type) {
|
||||
case VARTYPE_BIT:
|
||||
u32 bitmask = 1 << script_var_raw.def->bitshift;
|
||||
@@ -221,7 +221,7 @@ void SaveScriptVariableValue(union script_var_value sv_locals[], const enum scri
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
default:
|
||||
return;
|
||||
}
|
||||
@@ -233,7 +233,7 @@ void SaveScriptVariableValueAtIndex(union script_var_value sv_locals[], const en
|
||||
{
|
||||
struct script_var_raw script_var_raw;
|
||||
LoadScriptVariableRaw(&script_var_raw, sv_locals, script_var_id);
|
||||
|
||||
|
||||
switch ((s16)script_var_raw.def->type) {
|
||||
case VARTYPE_BIT:
|
||||
// For VARTYPE_BIT, idx specifies a number of bits
|
||||
@@ -285,7 +285,7 @@ void SaveScriptVariableValueAtIndex(union script_var_value sv_locals[], const en
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
default:
|
||||
return;
|
||||
}
|
||||
@@ -297,13 +297,13 @@ s32 LoadScriptVariableValueSum(union script_var_value sv_local[], const enum scr
|
||||
{
|
||||
struct script_var_raw script_var_raw;
|
||||
s32 total = 0;
|
||||
|
||||
|
||||
LoadScriptVariableRaw(&script_var_raw, 0, sv_id);
|
||||
|
||||
|
||||
for(s32 idx = 0; idx < (s16) script_var_raw.def->n_values; idx++) {
|
||||
total += LoadScriptVariableValueAtIndex(sv_local, sv_id, (u16) idx);
|
||||
}
|
||||
|
||||
|
||||
return total;
|
||||
}
|
||||
|
||||
@@ -314,7 +314,7 @@ void LoadScriptVariableValueBytes(const enum script_var_id sv_id, u8* result, s3
|
||||
|
||||
s32 i = 0;
|
||||
u8* val_ptr = (u8*) sv_raw.value;
|
||||
|
||||
|
||||
for(i = 0; i < num_bytes; i++) {
|
||||
u8 val = *val_ptr;
|
||||
*result = val;
|
||||
@@ -351,11 +351,11 @@ s32 ScriptVariablesEqual(union script_var_value sv_val_ptr_local[], enum script_
|
||||
|
||||
LoadScriptVariableRaw(&script_var_raw_1, sv_val_ptr_local, sv_id_1);
|
||||
LoadScriptVariableRaw(&script_var_raw_2, sv_val_ptr_local, sv_id_2);
|
||||
|
||||
|
||||
s32 n_values = script_var_raw_1.def->n_values;
|
||||
|
||||
|
||||
for(int idx = 0; idx < n_values; idx++) {
|
||||
if (LoadScriptVariableValueAtIndex(sv_val_ptr_local, sv_id_1, idx) !=
|
||||
if (LoadScriptVariableValueAtIndex(sv_val_ptr_local, sv_id_1, idx) !=
|
||||
LoadScriptVariableValueAtIndex(sv_val_ptr_local, sv_id_2, idx)) {
|
||||
return 0;
|
||||
}
|
||||
@@ -364,7 +364,7 @@ s32 ScriptVariablesEqual(union script_var_value sv_val_ptr_local[], enum script_
|
||||
return 1;
|
||||
}
|
||||
|
||||
s32 FlagCalc(s32 param_1, s32 param_2, enum FlagCalcOperation operation)
|
||||
s32 CalcScriptVariables(s32 param_1, s32 param_2, enum script_calc_operation operation)
|
||||
{
|
||||
switch (operation) {
|
||||
case CALC_SET:
|
||||
|
||||
Reference in New Issue
Block a user