mirror of
https://github.com/pret/pmd-sky.git
synced 2026-09-28 13:24:02 -05:00
Merge pull request #138 from AnonymousRandomPerson/main
Decomped some dungeon init functions
This commit is contained in:
@@ -1,4 +1,241 @@
|
||||
#pragma once
|
||||
.public AddItemToStorage
|
||||
.public AddMoneyCarried
|
||||
.public ApplyLevelUpBoostsToGroundMonster
|
||||
.public Arm9LoadUnkFieldNa0x2029EC8
|
||||
.public Arm9StoreUnkFieldNa0x2029ED8
|
||||
.public BAG_ITEMS_PTR_MIRROR
|
||||
.public CanMonsterUseMove
|
||||
.public CardBackupError
|
||||
.public CardPullOutWithStatus
|
||||
.public CheckDebugMenuField0x1A4
|
||||
.public CheckOptionsMenuField0x1A4
|
||||
.public CheckParentMenuField0x1A0
|
||||
.public ClearAdventureLogStruct
|
||||
.public ClearWindow
|
||||
.public CloseAdvancedMenu
|
||||
.public CloseAdvancedTextBox
|
||||
.public CloseAdvancedTextBox2
|
||||
.public CloseCollectionMenu
|
||||
.public CloseDebugMenu
|
||||
.public CloseDialogueBox
|
||||
.public CloseOptionsMenu
|
||||
.public CloseParentMenu
|
||||
.public ClosePortraitBox
|
||||
.public CloseScrollBox
|
||||
.public CloseSimpleMenu
|
||||
.public CloseTeamSelectionMenu
|
||||
.public CloseTextBox
|
||||
.public CloseTextBox2
|
||||
.public ConvertStorageItemAtIdxToItem
|
||||
.public CopyBitsFrom
|
||||
.public CopyBitsTo
|
||||
.public CopyNStringFromId
|
||||
.public CopyProgressInfoFromScratchFrom
|
||||
.public CopyProgressInfoFromScratchTo
|
||||
.public CountNbOfItemsInStorage
|
||||
.public CountNbOfValidItemsInStorage
|
||||
.public CountNbOfValidItemsInTimeDarknessInStorage
|
||||
.public CreateAdvancedMenu
|
||||
.public CreateAdvancedTextBox
|
||||
.public CreateAdvancedTextBoxWithArg
|
||||
.public CreateCollectionMenu
|
||||
.public CreateDebugMenu
|
||||
.public CreateDialogueBox
|
||||
.public CreateOptionsMenu
|
||||
.public CreateParentMenu
|
||||
.public CreateParentMenuFromStringIds
|
||||
.public CreatePortraitBox
|
||||
.public CreateScrollBoxMulti
|
||||
.public CreateScrollBoxSingle
|
||||
.public CreateSimpleMenu
|
||||
.public CreateSimpleMenuFromStringIds
|
||||
.public CreateTeamSelectionMenu
|
||||
.public CreateTextBox
|
||||
.public CreateTextBoxWithArg
|
||||
.public DEFAULT_HERO_ID
|
||||
.public DUNGEON_PTR
|
||||
.public Debug_GetDebugFlag
|
||||
.public Debug_GetLogFlag
|
||||
.public Debug_Print0
|
||||
.public Debug_SetDebugFlag
|
||||
.public Debug_SetLogFlag
|
||||
.public DisableIqSkill
|
||||
.public DrawTextInWindow
|
||||
.public DrawTileGrid
|
||||
.public DumpScriptVariableValues
|
||||
.public EnableAllLearnableIqSkills
|
||||
.public EventFlagBackup
|
||||
.public EventFlagResume
|
||||
.public FORBIDDEN_FORGOT_MOVE_LIST
|
||||
.public FemaleToMaleForm
|
||||
.public FormatMoveStringMore
|
||||
.public GAME_MODE
|
||||
.public GetActiveRosterIndex
|
||||
.public GetActiveTeamMember
|
||||
.public GetActualSellPrice
|
||||
.public GetAdvancedMenuCurrentOption
|
||||
.public GetAdvancedMenuResult
|
||||
.public GetAdvancedTextBoxFlags2
|
||||
.public GetAdventureLogDungeonFloor
|
||||
.public GetCurrentBagCapacity
|
||||
.public GetDexNumber
|
||||
.public GetDungeonResultString
|
||||
.public GetEvolutionPossibilities
|
||||
.public GetExecuteSpecialEpisodeType
|
||||
.public GetHeldButtons
|
||||
.public GetHero
|
||||
.public GetHeroMemberIdx
|
||||
.public GetInfoGroundMoveset
|
||||
.public GetIqSkillStringId
|
||||
.public GetItemAtIdx
|
||||
.public GetItemCategory
|
||||
.public GetItemCategoryVeneer
|
||||
.public GetItemMoveId16
|
||||
.public GetKeyM2NSwitch
|
||||
.public GetLanguageType
|
||||
.public GetLearnableIqSkills
|
||||
.public GetMainCharacter1MemberIdx
|
||||
.public GetMainCharacter2MemberIdx
|
||||
.public GetMainCharacter3MemberIdx
|
||||
.public GetMaxPp
|
||||
.public GetMoneyCarried
|
||||
.public GetMonsterGenderVeneer
|
||||
.public GetMonsterName
|
||||
.public GetMoveRangeId
|
||||
.public GetMoveType
|
||||
.public GetNameRaw
|
||||
.public GetNameString
|
||||
.public GetNameWithGender
|
||||
.public GetNbItemsInBag
|
||||
.public GetNextIqSkill
|
||||
.public GetOptionsMenuResult
|
||||
.public GetOptionsMenuStates
|
||||
.public GetPartner
|
||||
.public GetPartnerMemberIdx
|
||||
.public GetPerformanceFlagWithChecks
|
||||
.public GetPpIncrease
|
||||
.public GetPressedButtons
|
||||
.public GetRank
|
||||
.public GetRankUpEntry
|
||||
.public GetReleasedStylus
|
||||
.public GetRngSeed
|
||||
.public GetSimpleMenuResult
|
||||
.public GetSpecialEpisodeType
|
||||
.public GetSpeciesString
|
||||
.public GetStringFromFileVeneer
|
||||
.public GetTeamMember
|
||||
.public GetTime
|
||||
.public GetType
|
||||
.public GetTypeStringId
|
||||
.public GetWindow
|
||||
.public HidePortraitBox
|
||||
.public InitMove
|
||||
.public InitPortraitParams
|
||||
.public InitPortraitParamsWithMonsterId
|
||||
.public InitPreprocessorArgs
|
||||
.public InitScriptVariableValues
|
||||
.public IqSkillFlagTest
|
||||
.public Is2TurnsMove
|
||||
.public IsAdvancedMenuActive2
|
||||
.public IsAdvancedTextBoxActive
|
||||
.public IsCollectionMenuActive
|
||||
.public IsCollectionMenuState3
|
||||
.public IsDebugMenuActive
|
||||
.public IsDeoxys
|
||||
.public IsDialogueBoxActive
|
||||
.public IsExclusiveItemIdForMonster
|
||||
.public IsExperienceLocked
|
||||
.public IsGummi
|
||||
.public IsItemInTimeDarkness
|
||||
.public IsItemValidVeneer
|
||||
.public IsMainCharacter
|
||||
.public IsMonsterIllegalForMissions
|
||||
.public IsMovesetValidInTimeDarkness
|
||||
.public IsNot2TurnsMoveOrSketch
|
||||
.public IsOptionsMenuActive
|
||||
.public IsParentMenuActive
|
||||
.public IsScrollBoxActive
|
||||
.public IsShaymin
|
||||
.public IsShoppableItem
|
||||
.public IsSimpleMenuActive
|
||||
.public IsStorableItem
|
||||
.public IsStorageFull
|
||||
.public IsTeamSelectionMenuActive
|
||||
.public IsTeamSelectionMenuState3
|
||||
.public IsThrownItem
|
||||
.public IsTreasureBox
|
||||
.public IsValidPortrait
|
||||
.public IsValidTeamMember
|
||||
.public KEYBOARD_STRING_IDS
|
||||
.public LAST_NEW_MOVE
|
||||
.public LearnMoves
|
||||
.public LoadOverlay
|
||||
.public LoadScriptVariableValue
|
||||
.public MemAlloc
|
||||
.public MemFree
|
||||
.public MemZero
|
||||
.public MemcpySimple
|
||||
.public MemsetSimple
|
||||
.public NOTIFY_NOTE
|
||||
.public OS_GetLockID
|
||||
.public OverlayIsLoaded
|
||||
.public PARTNER_TALK_KIND_TABLE
|
||||
.public PlayAdvancedTextBoxInputSound
|
||||
.public PlayBgmByIdVeneer
|
||||
.public PlaySeVolumeWrapper
|
||||
.public PreprocessString
|
||||
.public PreprocessStringFromId
|
||||
.public Rand32Bit
|
||||
.public RandInt
|
||||
.public RandIntSafe
|
||||
.public ReadItemsFromSave
|
||||
.public ReadMonsterInfoFromSave
|
||||
.public ReadStringFromDialogueBox
|
||||
.public RemoveEmptyItemsInBag
|
||||
.public ResetGlobalProgress
|
||||
.public RestoreScriptVariableValues
|
||||
.public ResumeAdvancedMenu
|
||||
.public SPECIAL_EPISODE_MAIN_CHARACTERS
|
||||
.public STATUSES_FULL_DESCRIPTION_STRING_IDS
|
||||
.public SaveScriptVariableValue
|
||||
.public SaveScriptVariableValueBytes
|
||||
.public SetActiveInventory
|
||||
.public SetActiveKecleonShop
|
||||
.public SetActiveTeam
|
||||
.public SetAdvancedTextBoxField0x1C2
|
||||
.public SetAdvancedTextBoxPartialMenu
|
||||
.public SetAdvancedTextBoxState5
|
||||
.public SetBothScreensWindowsColor
|
||||
.public SetCollectionMenuField0x1BC
|
||||
.public SetCollectionMenuVoidFn
|
||||
.public SetCollectionMenuWidth
|
||||
.public SetMainTeamName
|
||||
.public SetPortraitEmotion
|
||||
.public SetPortraitLayout
|
||||
.public SetPortraitOffset
|
||||
.public SetRngSeed
|
||||
.public SetSimpleMenuField0x1AC
|
||||
.public SetTeamSetupHeroAndPartnerOnly
|
||||
.public SetUnkAdvancedTextBoxFn
|
||||
.public SetUnkAdvancedTextBoxWindowFn
|
||||
.public ShowDialogueBox
|
||||
.public ShowPortraitInPortraitBox
|
||||
.public ShowStringIdInDialogueBox
|
||||
.public ShowStringInDialogueBox
|
||||
.public SortItemsInBag
|
||||
.public SortItemsInStorage
|
||||
.public StoreDefaultTeamData
|
||||
.public StrcpySimple
|
||||
.public StringFromId
|
||||
.public StrncpyName
|
||||
.public StrncpySimple
|
||||
.public StrncpySimpleNoPadSafe
|
||||
.public TEAM_MEMBER_TABLE_PTR
|
||||
.public TryPointCameraToMonster
|
||||
.public UpdateWindow
|
||||
.public WriteItemsToSave
|
||||
.public WriteMonsterInfoToSave
|
||||
.public _0209B08C
|
||||
.public _0209B09C
|
||||
.public _0209B0EC
|
||||
@@ -158,26 +395,7 @@
|
||||
.public _0209CE78
|
||||
.public _0209CE88
|
||||
.public _0209CE89
|
||||
.public _0209CEAC
|
||||
.public _0209CF0C
|
||||
.public _0209CF28
|
||||
.public _0209CF48
|
||||
.public _0209CF64
|
||||
.public _0209CF84
|
||||
.public _0209DF70
|
||||
.public _0209DFA0
|
||||
.public _0209DFC8
|
||||
.public _0209DFE8
|
||||
.public _0209E008
|
||||
.public _0209E010
|
||||
.public _0209E011
|
||||
.public _0209E264
|
||||
.public _0209E3A1
|
||||
.public _0209E3A2
|
||||
.public _0209E3A3
|
||||
.public _0209E6BD
|
||||
.public _0209E912
|
||||
.public _020A192C
|
||||
.public _020A2808
|
||||
.public _020A281C
|
||||
.public _020A2830
|
||||
@@ -187,23 +405,6 @@
|
||||
.public _020A2880
|
||||
.public _020A2894
|
||||
.public _020A28A8
|
||||
.public _020A28E0
|
||||
.public _020A2904
|
||||
.public _020A2928
|
||||
.public _020A294C
|
||||
.public _020A2970
|
||||
.public _020A2994
|
||||
.public _020A29B8
|
||||
.public _020A29DC
|
||||
.public _020A2A00
|
||||
.public _020A2A24
|
||||
.public _020A2A48
|
||||
.public _020A2A6C
|
||||
.public _020A2A90
|
||||
.public _020A2AB4
|
||||
.public _020A2AD8
|
||||
.public _020A2AFC
|
||||
.public _020A2B20
|
||||
.public _020AFDB8
|
||||
.public _020AFDBC
|
||||
.public _020AFDD0
|
||||
@@ -264,221 +465,10 @@
|
||||
.public _022AB0A1
|
||||
.public _022AB0A2
|
||||
.public _022AB0A9
|
||||
.public _022AB4F8
|
||||
.public _022AB510
|
||||
.public _022AB518
|
||||
.public _022AB5A8
|
||||
.public _022AB5AC
|
||||
.public _022AB69C
|
||||
.public _022AB924
|
||||
.public _f2d
|
||||
.public _fsub
|
||||
.public _s32_div_f
|
||||
.public AddItemToStorage
|
||||
.public AddMoneyCarried
|
||||
.public ADVENTURE_LOG_ENCOUNTERS_MONSTER_IDS
|
||||
.public ADVENTURE_LOG_PTR
|
||||
.public ApplyLevelUpBoostsToGroundMonster
|
||||
.public ARM9_UNKNOWN_DATA__NA_209E6BC
|
||||
.public ARM9_UNKNOWN_TABLE__NA_209E12C
|
||||
.public ARM9_UNKNOWN_TABLE__NA_209E164
|
||||
.public ARM9_UNKNOWN_TABLE__NA_209E280
|
||||
.public Arm9LoadUnkFieldNa0x2029EC8
|
||||
.public Arm9StoreUnkFieldNa0x2029ED8
|
||||
.public BAG_ITEMS_PTR_MIRROR
|
||||
.public CanMonsterUseMove
|
||||
.public CardBackupError
|
||||
.public CardPullOutWithStatus
|
||||
.public CheckDebugMenuField0x1A4
|
||||
.public CheckOptionsMenuField0x1A4
|
||||
.public CheckParentMenuField0x1A0
|
||||
.public ClearWindow
|
||||
.public CLIENT_LEVEL_TABLE
|
||||
.public CloseAdvancedMenu
|
||||
.public CloseAdvancedTextBox
|
||||
.public CloseAdvancedTextBox2
|
||||
.public CloseCollectionMenu
|
||||
.public CloseDebugMenu
|
||||
.public CloseDialogueBox
|
||||
.public CloseOptionsMenu
|
||||
.public CloseParentMenu
|
||||
.public ClosePortraitBox
|
||||
.public CloseScrollBox
|
||||
.public CloseSimpleMenu
|
||||
.public CloseTeamSelectionMenu
|
||||
.public CloseTextBox
|
||||
.public CloseTextBox2
|
||||
.public ConvertStorageItemAtIdxToItem
|
||||
.public Copy16BitsFrom
|
||||
.public CopyNStringFromId
|
||||
.public CountNbOfItemsInStorage
|
||||
.public CountNbOfValidItemsInStorage
|
||||
.public CountNbOfValidItemsInTimeDarknessInStorage
|
||||
.public CreateAdvancedMenu
|
||||
.public CreateAdvancedTextBox
|
||||
.public CreateAdvancedTextBoxWithArg
|
||||
.public CreateCollectionMenu
|
||||
.public CreateDebugMenu
|
||||
.public CreateDialogueBox
|
||||
.public CreateOptionsMenu
|
||||
.public CreateParentMenu
|
||||
.public CreateParentMenuFromStringIds
|
||||
.public CreatePortraitBox
|
||||
.public CreateScrollBoxMulti
|
||||
.public CreateScrollBoxSingle
|
||||
.public CreateSimpleMenu
|
||||
.public CreateSimpleMenuFromStringIds
|
||||
.public CreateTeamSelectionMenu
|
||||
.public CreateTextBox
|
||||
.public CreateTextBoxWithArg
|
||||
.public Debug_FatalError
|
||||
.public Debug_GetDebugFlag
|
||||
.public Debug_GetLogFlag
|
||||
.public Debug_Print
|
||||
.public Debug_Print0
|
||||
.public Debug_SetDebugFlag
|
||||
.public Debug_SetLogFlag
|
||||
.public DEBUG_SPECIAL_EPISODE_NUMBER
|
||||
.public DEFAULT_HERO_ID
|
||||
.public DisableIqSkill
|
||||
.public DrawTextInWindow
|
||||
.public DrawTileGrid
|
||||
.public DUNGEON_DATA_LIST
|
||||
.public DUNGEON_PTR
|
||||
.public DungeonSwapIdToIdx
|
||||
.public DungeonSwapIdxToId
|
||||
.public EnableAllLearnableIqSkills
|
||||
.public FemaleToMaleForm
|
||||
.public FileClose
|
||||
.public FileRom_HandleOpen
|
||||
.public FileRom_HandleRead
|
||||
.public FileRom_HandleSeek
|
||||
.public FileRom_InitDataTransfer
|
||||
.public FileRom_StopDataTransfer
|
||||
.public FileRom_Veneer_FileInit
|
||||
.public FORBIDDEN_FORGOT_MOVE_LIST
|
||||
.public FormatMoveStringMore
|
||||
.public GAME_MODE
|
||||
.public GetActiveRosterIndex
|
||||
.public GetActiveTeamMember
|
||||
.public GetActualSellPrice
|
||||
.public GetAdvancedMenuCurrentOption
|
||||
.public GetAdvancedMenuResult
|
||||
.public GetAdvancedTextBoxFlags2
|
||||
.public GetBaseFormCastformCherrimDeoxys
|
||||
.public GetBodySize
|
||||
.public GetCurrentBagCapacity
|
||||
.public GetDexNumber
|
||||
.public GetDexNumberVeneer
|
||||
.public GetDungeonModeSpecial
|
||||
.public GetDungeonResultString
|
||||
.public GetEvolutionPossibilities
|
||||
.public GetHeldButtons
|
||||
.public GetHero
|
||||
.public GetHeroMemberIdx
|
||||
.public GetInfoGroundMoveset
|
||||
.public GetIqSkillStringId
|
||||
.public GetItemAtIdx
|
||||
.public GetItemCategory
|
||||
.public GetItemCategoryVeneer
|
||||
.public GetItemMoveId16
|
||||
.public GetKeyM2NSwitch
|
||||
.public GetLanguageType
|
||||
.public GetLearnableIqSkills
|
||||
.public GetMainCharacter1MemberIdx
|
||||
.public GetMainCharacter2MemberIdx
|
||||
.public GetMainCharacter3MemberIdx
|
||||
.public GetMaxItemsAllowed
|
||||
.public GetMaxMembersAllowed
|
||||
.public GetMaxPp
|
||||
.public GetMoneyCarried
|
||||
.public GetMoneyStored
|
||||
.public GetMonsterGenderVeneer
|
||||
.public GetMonsterName
|
||||
.public GetMoveRangeId
|
||||
.public GetMoveType
|
||||
.public GetNameRaw
|
||||
.public GetNameString
|
||||
.public GetNameWithGender
|
||||
.public GetNbItemsInBag
|
||||
.public GetNextIqSkill
|
||||
.public GetOptionsMenuResult
|
||||
.public GetOptionsMenuStates
|
||||
.public GetPartner
|
||||
.public GetPartnerMemberIdx
|
||||
.public GetPartyMembers
|
||||
.public GetPpIncrease
|
||||
.public GetPressedButtons
|
||||
.public GetRankUpEntry
|
||||
.public GetReleasedStylus
|
||||
.public GetRngSeed
|
||||
.public GetSimpleMenuResult
|
||||
.public GetSosMailCount
|
||||
.public GetSpeciesString
|
||||
.public GetStringFromFileVeneer
|
||||
.public GetTeamMember
|
||||
.public GetTime
|
||||
.public GetType
|
||||
.public GetWindow
|
||||
.public GLOBAL_PROGRESS_PTR
|
||||
.public GUEST_MONSTER_DATA
|
||||
.public GuestMonsterToGroundMonster
|
||||
.public HidePortraitBox
|
||||
.public InitMove
|
||||
.public InitPreprocessorArgs
|
||||
.public IqSkillFlagTest
|
||||
.public Is2TurnsMove
|
||||
.public IsAdvancedMenuActive2
|
||||
.public IsAdvancedTextBoxActive
|
||||
.public IsCollectionMenuActive
|
||||
.public IsCollectionMenuState3
|
||||
.public IsDebugMenuActive
|
||||
.public IsDeoxys
|
||||
.public IsDialogueBoxActive
|
||||
.public IsExclusiveItemIdForMonster
|
||||
.public IsExperienceLocked
|
||||
.public IsGummi
|
||||
.public IsItemInTimeDarkness
|
||||
.public IsItemValidVeneer
|
||||
.public IsLevelResetDungeon
|
||||
.public IsMainCharacter
|
||||
.public IsMoneyAllowed
|
||||
.public IsMonsterIllegalForMissions
|
||||
.public IsMovesetValidInTimeDarkness
|
||||
.public IsNot2TurnsMoveOrSketch
|
||||
.public IsOptionsMenuActive
|
||||
.public IsParentMenuActive
|
||||
.public IsRealMove
|
||||
.public IsRecruitingAllowed
|
||||
.public IsScrollBoxActive
|
||||
.public IsShaymin
|
||||
.public IsShoppableItem
|
||||
.public IsSimpleMenuActive
|
||||
.public IsStorableItem
|
||||
.public IsStorageFull
|
||||
.public IsTeamSelectionMenuActive
|
||||
.public IsTeamSelectionMenuState3
|
||||
.public IsThrownItem
|
||||
.public IsTreasureBox
|
||||
.public IsValidTeamMember
|
||||
.public KAOMADO_FILEPATH
|
||||
.public KAOMADO_STREAM
|
||||
.public KEYBOARD_STRING_IDS
|
||||
.public LAST_NEW_MOVE
|
||||
.public LearnMoves
|
||||
.public LoadOverlay
|
||||
.public MemAlloc
|
||||
.public memcpy
|
||||
.public MemcpySimple
|
||||
.public MemFree
|
||||
.public MemsetSimple
|
||||
.public MemZero
|
||||
.public MISSION_FLOOR_RANKS_PTRS
|
||||
.public NormalizeTreasureBox
|
||||
.public NOTIFY_NOTE
|
||||
.public OS_GetLockID
|
||||
.public OUTLAW_LEVEL_TABLE
|
||||
.public OUTLAW_MINION_LEVEL_TABLE
|
||||
.public ov11_022E6E68
|
||||
.public ov11_023061CC
|
||||
.public ov11_023061E4
|
||||
@@ -494,76 +484,21 @@
|
||||
.public ov29_022EA62C
|
||||
.public ov29_023002F0
|
||||
.public ov29_02347100
|
||||
.public OverlayIsLoaded
|
||||
.public PARTNER_TALK_KIND_TABLE
|
||||
.public PENDING_DUNGEON_ID
|
||||
.public PLAY_TIME_SECONDS
|
||||
.public PlayAdvancedTextBoxInputSound
|
||||
.public PlayBgmByIdVeneer
|
||||
.public PlaySeVolumeWrapper
|
||||
.public PORTRAIT_LAYOUTS
|
||||
.public PreprocessString
|
||||
.public PreprocessStringFromId
|
||||
.public Rand32Bit
|
||||
.public RandInt
|
||||
.public RandIntSafe
|
||||
.public ReadItemsFromSave
|
||||
.public ReadMonsterInfoFromSave
|
||||
.public ReadStringFromDialogueBox
|
||||
.public RemoveEmptyItemsInBag
|
||||
.public ResumeAdvancedMenu
|
||||
.public SCRIPT_VARS
|
||||
.public SCRIPT_VARS_LOCALS
|
||||
.public SCRIPT_VARS_VALUES
|
||||
.public SECONDARY_TERRAIN_TYPES
|
||||
.public SetActiveInventory
|
||||
.public SetActiveKecleonShop
|
||||
.public SetActiveTeam
|
||||
.public SetAdvancedTextBoxField0x1C2
|
||||
.public SetAdvancedTextBoxPartialMenu
|
||||
.public SetAdvancedTextBoxState5
|
||||
.public SetBothScreensWindowsColor
|
||||
.public SetCollectionMenuField0x1BC
|
||||
.public SetCollectionMenuVoidFn
|
||||
.public SetCollectionMenuWidth
|
||||
.public SetMoneyCarried
|
||||
.public SetMoneyStored
|
||||
.public SetRngSeed
|
||||
.public SetSimpleMenuField0x1AC
|
||||
.public SetTeamSetupHeroAndPartnerOnly
|
||||
.public SetUnkAdvancedTextBoxFn
|
||||
.public SetUnkAdvancedTextBoxWindowFn
|
||||
.public ShowDialogueBox
|
||||
.public ShowPortraitInPortraitBox
|
||||
.public ShowStringIdInDialogueBox
|
||||
.public ShowStringInDialogueBox
|
||||
.public SortItemsInBag
|
||||
.public SortItemsInStorage
|
||||
.public SPECIAL_EPISODE_MAIN_CHARACTERS
|
||||
.public sprintf
|
||||
.public STATUSES_FULL_DESCRIPTION_STRING_IDS
|
||||
.public strcat
|
||||
.public strcpy
|
||||
.public StrcpySimple
|
||||
.public StringFromId
|
||||
.public strlen
|
||||
.public strncmp
|
||||
.public strncpy
|
||||
.public StrncpyName
|
||||
.public StrncpySimple
|
||||
.public StrncpySimpleNoPad
|
||||
.public StrncpySimpleNoPadSafe
|
||||
.public sub_02001808
|
||||
.public sub_02002580
|
||||
.public sub_020027F8
|
||||
.public sub_02003B94
|
||||
.public sub_02003BC8
|
||||
.public sub_02004F80
|
||||
.public sub_020063F4
|
||||
.public sub_02006498
|
||||
.public sub_02006BFC
|
||||
.public sub_02006C8C
|
||||
.public sub_0200C4CC
|
||||
.public sub_0200C5DC
|
||||
.public sub_0200CABC
|
||||
.public sub_0200CAD4
|
||||
@@ -667,7 +602,21 @@
|
||||
.public sub_020347F0
|
||||
.public sub_02034840
|
||||
.public sub_020348E4
|
||||
.public sub_020515C4
|
||||
.public sub_0204B028
|
||||
.public sub_0204C9F4
|
||||
.public sub_0204CDB8
|
||||
.public sub_0204DA1C
|
||||
.public sub_0204E154
|
||||
.public sub_0204E19C
|
||||
.public sub_0204E210
|
||||
.public sub_0204E3C8
|
||||
.public sub_0204F9B8
|
||||
.public sub_02050974
|
||||
.public sub_02050990
|
||||
.public sub_020509BC
|
||||
.public sub_02050C10
|
||||
.public sub_02050CF8
|
||||
.public sub_02050D84
|
||||
.public sub_02052C74
|
||||
.public sub_02052CD8
|
||||
.public sub_02052CE8
|
||||
@@ -685,8 +634,6 @@
|
||||
.public sub_02055B78
|
||||
.public sub_02055D4C
|
||||
.public sub_02056228
|
||||
.public sub_0205633C
|
||||
.public sub_02056360
|
||||
.public sub_02056410
|
||||
.public sub_02056460
|
||||
.public sub_020564B0
|
||||
@@ -705,20 +652,11 @@
|
||||
.public sub_0205B0A0
|
||||
.public sub_0205B0B8
|
||||
.public sub_0205B478
|
||||
.public sub_0205B77C
|
||||
.public sub_0205BB7C
|
||||
.public sub_0205BD14
|
||||
.public sub_0205BD9C
|
||||
.public sub_0205BFB0
|
||||
.public sub_0205C2A4
|
||||
.public sub_0205C548
|
||||
.public sub_0205C75C
|
||||
.public sub_0205EE40
|
||||
.public sub_0205F00C
|
||||
.public sub_0205FAB0
|
||||
.public sub_0205FC20
|
||||
.public sub_0205FD88
|
||||
.public sub_0205FE80
|
||||
.public sub_0206637C
|
||||
.public sub_02079094
|
||||
.public sub_0207B9EC
|
||||
@@ -729,14 +667,4 @@
|
||||
.public sub_02083B14
|
||||
.public sub_02083B3C
|
||||
.public sub_02084304
|
||||
.public TEAM_MEMBER_TABLE_PTR
|
||||
.public TEAM_NAME
|
||||
.public TryPointCameraToMonster
|
||||
.public UpdateWindow
|
||||
.public VERSION_EXCLUSIVE_MONSTERS
|
||||
.public vsprintf
|
||||
.public WONDER_MAIL_BITS_MAP
|
||||
.public WONDER_MAIL_BITS_SWAP
|
||||
.public WONDER_MAIL_ENCRYPTION_TABLE
|
||||
.public WriteItemsToSave
|
||||
.public WriteMonsterInfoToSave
|
||||
|
||||
146
asm/include/main_0204B018.inc
Normal file
146
asm/include/main_0204B018.inc
Normal file
@@ -0,0 +1,146 @@
|
||||
#pragma once
|
||||
.public ADVENTURE_LOG_ENCOUNTERS_MONSTER_IDS
|
||||
.public ADVENTURE_LOG_PTR
|
||||
.public ARM9_UNKNOWN_DATA__NA_209E6BC
|
||||
.public ARM9_UNKNOWN_TABLE__NA_209E12C
|
||||
.public ARM9_UNKNOWN_TABLE__NA_209E164
|
||||
.public ARM9_UNKNOWN_TABLE__NA_209E280
|
||||
.public AddMoneyCarried
|
||||
.public ApplyLevelUpBoostsToGroundMonster
|
||||
.public CLIENT_LEVEL_TABLE
|
||||
.public Copy16BitsFrom
|
||||
.public CopyNStringFromId
|
||||
.public DEBUG_SPECIAL_EPISODE_NUMBER
|
||||
.public DUNGEON_DATA_LIST
|
||||
.public Debug_FatalError
|
||||
.public Debug_Print
|
||||
.public Debug_Print0
|
||||
.public DungeonSwapIdToIdx
|
||||
.public DungeonSwapIdxToId
|
||||
.public FemaleToMaleForm
|
||||
.public FileClose
|
||||
.public FileRom_HandleOpen
|
||||
.public FileRom_HandleRead
|
||||
.public FileRom_HandleSeek
|
||||
.public FileRom_InitDataTransfer
|
||||
.public FileRom_StopDataTransfer
|
||||
.public FileRom_Veneer_FileInit
|
||||
.public GAME_MODE
|
||||
.public GLOBAL_PROGRESS_PTR
|
||||
.public GUEST_MONSTER_DATA
|
||||
.public GetBaseFormCastformCherrimDeoxys
|
||||
.public GetBodySize
|
||||
.public GetDexNumber
|
||||
.public GetDexNumberVeneer
|
||||
.public GetDungeonModeSpecial
|
||||
.public GetGameMode
|
||||
.public GetLanguageType
|
||||
.public GetMaxItemsAllowed
|
||||
.public GetMaxMembersAllowed
|
||||
.public GetMoneyCarried
|
||||
.public GetMoneyStored
|
||||
.public GetNameString
|
||||
.public GetNbItemsInBag
|
||||
.public GetNotifyNote
|
||||
.public GetPartyMembers
|
||||
.public GetRankUpEntry
|
||||
.public GetSosMailCount
|
||||
.public GetStringFromFileVeneer
|
||||
.public GuestMonsterToGroundMonster
|
||||
.public IsItemValidVeneer
|
||||
.public IsLevelResetDungeon
|
||||
.public IsMoneyAllowed
|
||||
.public IsRealMove
|
||||
.public IsRecruitingAllowed
|
||||
.public KAOMADO_FILEPATH
|
||||
.public KAOMADO_STREAM
|
||||
.public MISSION_FLOOR_RANKS_PTRS
|
||||
.public MemAlloc
|
||||
.public MemZero
|
||||
.public MemcpySimple
|
||||
.public NormalizeTreasureBox
|
||||
.public OUTLAW_LEVEL_TABLE
|
||||
.public OUTLAW_MINION_LEVEL_TABLE
|
||||
.public PENDING_DUNGEON_ID
|
||||
.public PLAY_TIME_SECONDS
|
||||
.public PORTRAIT_LAYOUTS
|
||||
.public RandInt
|
||||
.public SCRIPT_VARS
|
||||
.public SCRIPT_VARS_LOCALS
|
||||
.public SCRIPT_VARS_VALUES
|
||||
.public SECONDARY_TERRAIN_TYPES
|
||||
.public SetMoneyCarried
|
||||
.public SetMoneyStored
|
||||
.public SetNotifyNote
|
||||
.public StringFromId
|
||||
.public StrncpyName
|
||||
.public StrncpySimpleNoPad
|
||||
.public StrncpySimpleNoPadSafe
|
||||
.public TEAM_MEMBER_TABLE_PTR
|
||||
.public TEAM_NAME
|
||||
.public VERSION_EXCLUSIVE_MONSTERS
|
||||
.public WONDER_MAIL_BITS_MAP
|
||||
.public WONDER_MAIL_BITS_SWAP
|
||||
.public WONDER_MAIL_ENCRYPTION_TABLE
|
||||
.public _0209CEAC
|
||||
.public _0209CF0C
|
||||
.public _0209CF28
|
||||
.public _0209CF48
|
||||
.public _0209CF64
|
||||
.public _0209CF84
|
||||
.public _0209DF70
|
||||
.public _0209DFA0
|
||||
.public _0209DFC8
|
||||
.public _0209DFE8
|
||||
.public _0209E008
|
||||
.public _0209E010
|
||||
.public _0209E011
|
||||
.public _0209E264
|
||||
.public _0209E3A1
|
||||
.public _0209E3A2
|
||||
.public _0209E3A3
|
||||
.public _0209E6BD
|
||||
.public _020A192C
|
||||
.public _020A28E0
|
||||
.public _020A2904
|
||||
.public _020A2928
|
||||
.public _020A294C
|
||||
.public _020A2970
|
||||
.public _020A2994
|
||||
.public _020A29B8
|
||||
.public _020A29DC
|
||||
.public _020A2A00
|
||||
.public _020A2A24
|
||||
.public _020A2A48
|
||||
.public _020A2A6C
|
||||
.public _020A2A90
|
||||
.public _020A2AB4
|
||||
.public _020A2AD8
|
||||
.public _020A2AFC
|
||||
.public _020A2B20
|
||||
.public _022AB4F8
|
||||
.public _022AB510
|
||||
.public _022AB518
|
||||
.public _022AB5A8
|
||||
.public _022AB5AC
|
||||
.public _022AB69C
|
||||
.public _022AB924
|
||||
.public _s32_div_f
|
||||
.public sub_02004F80
|
||||
.public sub_0200C4CC
|
||||
.public sub_02048BFC
|
||||
.public sub_02048CB8
|
||||
.public sub_0204ABB8
|
||||
.public sub_0204ACDC
|
||||
.public sub_020515C4
|
||||
.public sub_0205633C
|
||||
.public sub_02056360
|
||||
.public sub_0205B77C
|
||||
.public sub_0205BB7C
|
||||
.public sub_0205BD14
|
||||
.public sub_0205C2A4
|
||||
.public sub_0205C548
|
||||
.public sub_0205EE40
|
||||
.public sub_0205F00C
|
||||
.public sub_0205FD88
|
||||
.public sub_0205FE80
|
||||
@@ -1,99 +1,18 @@
|
||||
#pragma once
|
||||
.public _020AFC4C
|
||||
.public _020AFC70
|
||||
.public _s32_div_f
|
||||
.public Debug_Print0
|
||||
.public DirectoryFileMngr_OpenDirectoryFile
|
||||
.public DrawTeamStats
|
||||
.public DUNGEON_PTR
|
||||
.public FreeMapAndTeam
|
||||
.public FreeTeamStats
|
||||
.public GetDefaultTileTextureId
|
||||
.public HandleSir0Translation
|
||||
.public IsBackgroundTileset
|
||||
.public LoadFileFromRom
|
||||
.public MemAlloc
|
||||
.public MemFree
|
||||
.public MemZero
|
||||
.public ov10_022C0814
|
||||
.public ov10_022C096C
|
||||
.public ov10_022C0998
|
||||
.public ov10_022C0F6C
|
||||
.public ov10_022C11D8
|
||||
.public ov10_022C14D0
|
||||
.public ov10_022C159C
|
||||
.public ov10_022C22A0
|
||||
.public ov29_022DC240
|
||||
.public ov29_022DC2B8
|
||||
.public Render3dSetPaletteBase
|
||||
.public Render3dSetTextureParams
|
||||
.public Render3dTextureNoSetup
|
||||
.public _020AFC70
|
||||
.public ov29_0234FD04
|
||||
.public ov29_0234FD14
|
||||
.public ov29_0234FD48
|
||||
.public ov29_0234FD4C
|
||||
.public ov29_0234FD50
|
||||
.public ov29_0234FD54
|
||||
.public ov29_02350F88
|
||||
.public ov29_02350F8C
|
||||
.public ov29_02350F90
|
||||
.public ov29_0235109C
|
||||
.public ov29_023510B8
|
||||
.public ov29_023510BC
|
||||
.public ov29_023534E0
|
||||
.public ov29_023534E8
|
||||
.public ov29_02353518
|
||||
.public ov29_0235351C
|
||||
.public ov29_02353524
|
||||
.public ov29_0235352C
|
||||
.public ov29_02353530
|
||||
.public ov29_02353534
|
||||
.public ov29_02353880
|
||||
.public ov29_023538B4
|
||||
.public ov29_0236CEF0
|
||||
.public ov29_0236D5EC
|
||||
.public ov29_023735EC
|
||||
.public ov29_023735F0
|
||||
.public ov29_023735F4
|
||||
.public ov29_023735F8
|
||||
.public ov29_023735FC
|
||||
.public ov29_0237360C
|
||||
.public ov29_0237368C
|
||||
.public ov29_02373690
|
||||
.public ov29_0237C6D4
|
||||
.public ov29_0237C714
|
||||
.public Render3dSetPaletteBase
|
||||
.public Render3dSetTextureParams
|
||||
.public Render3dTextureNoSetup
|
||||
.public sub_01FF9BA0
|
||||
.public sub_01FF9E14
|
||||
.public sub_01FF9F80
|
||||
.public sub_02008BF4
|
||||
.public sub_0200A2CC
|
||||
.public sub_0200A2F4
|
||||
.public sub_0200A544
|
||||
.public sub_0200B330
|
||||
.public sub_0200B3D4
|
||||
.public sub_0201B43C
|
||||
.public sub_0201B9F8
|
||||
.public sub_0201BAC8
|
||||
.public sub_0201BCCC
|
||||
.public sub_0201BCF4
|
||||
.public sub_0201BD1C
|
||||
.public sub_0201E050
|
||||
.public sub_0201E380
|
||||
.public sub_0201F598
|
||||
.public sub_020275C0
|
||||
.public sub_020275DC
|
||||
.public sub_020519D0
|
||||
.public sub_02051B44
|
||||
.public sub_02051C24
|
||||
.public sub_02051D68
|
||||
.public sub_02051DD0
|
||||
.public sub_02051E60
|
||||
.public sub_02051ED4
|
||||
.public sub_02051EF0
|
||||
.public sub_02063628
|
||||
.public sub_0206367C
|
||||
.public sub_02063734
|
||||
.public sub_02063770
|
||||
.public sub_02063830
|
||||
.public UnloadFile
|
||||
.public UpdateTeamStats
|
||||
|
||||
82
asm/include/overlay_29_022DC65C.inc
Normal file
82
asm/include/overlay_29_022DC65C.inc
Normal file
@@ -0,0 +1,82 @@
|
||||
#pragma once
|
||||
.public DUNGEON_PTR
|
||||
.public DirectoryFileMngr_OpenDirectoryFile
|
||||
.public DrawTeamStats
|
||||
.public FreeMapAndTeam
|
||||
.public FreeTeamStats
|
||||
.public GetDefaultTileTextureId
|
||||
.public HandleSir0Translation
|
||||
.public IsBackgroundTileset
|
||||
.public MemAlloc
|
||||
.public MemFree
|
||||
.public MemZero
|
||||
.public UnloadFile
|
||||
.public UpdateTeamStats
|
||||
.public _020AFC4C
|
||||
.public _s32_div_f
|
||||
.public ov10_022C0814
|
||||
.public ov10_022C096C
|
||||
.public ov10_022C0998
|
||||
.public ov10_022C0F6C
|
||||
.public ov10_022C11D8
|
||||
.public ov10_022C14D0
|
||||
.public ov10_022C159C
|
||||
.public ov10_022C22A0
|
||||
.public ov29_022DC2B8
|
||||
.public ov29_022DC33C
|
||||
.public ov29_02350F88
|
||||
.public ov29_02350F8C
|
||||
.public ov29_02350F90
|
||||
.public ov29_0235109C
|
||||
.public ov29_023510B8
|
||||
.public ov29_023510BC
|
||||
.public ov29_02353518
|
||||
.public ov29_0235351C
|
||||
.public ov29_02353524
|
||||
.public ov29_0235352C
|
||||
.public ov29_02353530
|
||||
.public ov29_02353534
|
||||
.public ov29_023538B4
|
||||
.public ov29_0236CEF0
|
||||
.public ov29_0236D5EC
|
||||
.public ov29_023735EC
|
||||
.public ov29_023735F0
|
||||
.public ov29_023735F4
|
||||
.public ov29_023735F8
|
||||
.public ov29_023735FC
|
||||
.public ov29_0237360C
|
||||
.public ov29_0237368C
|
||||
.public ov29_02373690
|
||||
.public ov29_0237C6D4
|
||||
.public ov29_0237C714
|
||||
.public sub_01FF9BA0
|
||||
.public sub_01FF9E14
|
||||
.public sub_01FF9F80
|
||||
.public sub_02008BF4
|
||||
.public sub_0200A2CC
|
||||
.public sub_0200A2F4
|
||||
.public sub_0200A544
|
||||
.public sub_0200B330
|
||||
.public sub_0200B3D4
|
||||
.public sub_0201B43C
|
||||
.public sub_0201B9F8
|
||||
.public sub_0201BAC8
|
||||
.public sub_0201BCCC
|
||||
.public sub_0201BCF4
|
||||
.public sub_0201BD1C
|
||||
.public sub_0201F598
|
||||
.public sub_020275C0
|
||||
.public sub_020275DC
|
||||
.public sub_020519D0
|
||||
.public sub_02051B44
|
||||
.public sub_02051C24
|
||||
.public sub_02051D68
|
||||
.public sub_02051DD0
|
||||
.public sub_02051E60
|
||||
.public sub_02051ED4
|
||||
.public sub_02051EF0
|
||||
.public sub_02063628
|
||||
.public sub_0206367C
|
||||
.public sub_02063734
|
||||
.public sub_02063770
|
||||
.public sub_02063830
|
||||
@@ -4,24 +4,24 @@
|
||||
.public ClearHiddenStairs
|
||||
.public CloseFixedBin
|
||||
.public CountItemsOnFloorForAcuteSniffer
|
||||
.public DIRECTIONS_XY
|
||||
.public DUNGEON_PTR
|
||||
.public Debug_Print0
|
||||
.public DeleteAllMonsterSpriteFiles
|
||||
.public DetermineAllMonsterShadow
|
||||
.public DetermineAllTilesWalkableNeighbors
|
||||
.public DIRECTIONS_XY
|
||||
.public DisplayFloorCard
|
||||
.public DisplayFloorTip
|
||||
.public DisplayMessage
|
||||
.public DisplayMessage2
|
||||
.public DUNGEON_PTR
|
||||
.public DungeonGoesUp
|
||||
.public DungeonRandInt
|
||||
.public DungeonRngUnsetSecondary
|
||||
.public EnemyEvolution
|
||||
.public EntityIsValid__022E0354
|
||||
.public FIXED_ROOM_REVISIT_OVERRIDES
|
||||
.public FadeToBlack
|
||||
.public FillMissionDestinationInfo
|
||||
.public FIXED_ROOM_REVISIT_OVERRIDES
|
||||
.public FreeLoadedAttackSpriteAndMore
|
||||
.public FreeTopScreenStatus
|
||||
.public GenerateDungeonRngSeed
|
||||
@@ -54,6 +54,36 @@
|
||||
.public LoadWeather3DFiles
|
||||
.public MemZero
|
||||
.public OpenFixedBin
|
||||
.public Rand16Bit
|
||||
.public ReevaluateSnatchMonster
|
||||
.public RefillTeam
|
||||
.public ResetGravity
|
||||
.public RunFractionalTurn
|
||||
.public SetBaseStatsMovesGroundMonster
|
||||
.public SetBothScreensWindowColorToDefault
|
||||
.public SetDungeonRngPreseed
|
||||
.public SetDungeonRngPreseed23Bit
|
||||
.public SetEntityPixelPosXY
|
||||
.public SetForcedLossReason
|
||||
.public SetHiddenFloorField
|
||||
.public SetHiddenStairsField
|
||||
.public SetMaxReachedFloor
|
||||
.public SetMinimapDataE447
|
||||
.public SpawnInitialMonsters
|
||||
.public SpawnShopkeepers
|
||||
.public SpawnTeam
|
||||
.public StartFadeDungeonWrapper
|
||||
.public TryActivateArtificialWeatherAbilities
|
||||
.public TryActivateIqBooster
|
||||
.public TryActivateSlowStart
|
||||
.public TryActivateWeather
|
||||
.public TryForcedLoss
|
||||
.public TryInflictBurnStatusWholeTeam
|
||||
.public TrySpawnDoughSeedPoke
|
||||
.public UpdateMinimap
|
||||
.public UpdateShouldBoostHiddenStairsSpawnChance
|
||||
.public UpdateShouldBoostKecleonShopSpawnChance
|
||||
.public UpdateTrapsVisibility
|
||||
.public ov10_022BDAB0
|
||||
.public ov10_022BDB54
|
||||
.public ov10_022BDB60
|
||||
@@ -70,6 +100,8 @@
|
||||
.public ov29_022DE904
|
||||
.public ov29_022DE930
|
||||
.public ov29_022DEA34
|
||||
.public ov29_022DEADC
|
||||
.public ov29_022DEB40
|
||||
.public ov29_022E0434
|
||||
.public ov29_022E081C
|
||||
.public ov29_022E0DFC
|
||||
@@ -211,25 +243,6 @@
|
||||
.public ov29_023510C0
|
||||
.public ov29_023510C8
|
||||
.public ov29_02353563
|
||||
.public Rand16Bit
|
||||
.public ReevaluateSnatchMonster
|
||||
.public RefillTeam
|
||||
.public ResetGravity
|
||||
.public RunFractionalTurn
|
||||
.public SetBaseStatsMovesGroundMonster
|
||||
.public SetBothScreensWindowColorToDefault
|
||||
.public SetDungeonRngPreseed
|
||||
.public SetDungeonRngPreseed23Bit
|
||||
.public SetEntityPixelPosXY
|
||||
.public SetForcedLossReason
|
||||
.public SetHiddenFloorField
|
||||
.public SetHiddenStairsField
|
||||
.public SetMaxReachedFloor
|
||||
.public SetMinimapDataE447
|
||||
.public SpawnInitialMonsters
|
||||
.public SpawnShopkeepers
|
||||
.public SpawnTeam
|
||||
.public StartFadeDungeonWrapper
|
||||
.public sub_02001808
|
||||
.public sub_02009194
|
||||
.public sub_020091B0
|
||||
@@ -246,14 +259,3 @@
|
||||
.public sub_0205B77C
|
||||
.public sub_020634F4
|
||||
.public sub_02063504
|
||||
.public TryActivateArtificialWeatherAbilities
|
||||
.public TryActivateIqBooster
|
||||
.public TryActivateSlowStart
|
||||
.public TryActivateWeather
|
||||
.public TryForcedLoss
|
||||
.public TryInflictBurnStatusWholeTeam
|
||||
.public TrySpawnDoughSeedPoke
|
||||
.public UpdateMinimap
|
||||
.public UpdateShouldBoostHiddenStairsSpawnChance
|
||||
.public UpdateShouldBoostKecleonShopSpawnChance
|
||||
.public UpdateTrapsVisibility
|
||||
@@ -7,26 +7,16 @@
|
||||
.public ChangeDungeonMusic
|
||||
.public CloseAlertBox
|
||||
.public CreateAlertBox
|
||||
.public Debug_Print0
|
||||
.public DisplayMessageInternal
|
||||
.public DUNGEON_FADES_PTR
|
||||
.public DUNGEON_PTR
|
||||
.public DungeonAlloc
|
||||
.public DungeonFree
|
||||
.public DisplayMessage
|
||||
.public DisplayMessage2
|
||||
.public DungeonRandInt
|
||||
.public DungeonZInit
|
||||
.public EndNegativeStatusConditionWrapper
|
||||
.public EntityIsValid__0234987C
|
||||
.public FemaleToMaleForm
|
||||
.public FixedRoomIsSubstituteRoom
|
||||
.public G3X_Reset
|
||||
.public GetAcceptedMission
|
||||
.public GetDungeonPtrMaster
|
||||
.public GetDungeonTipShown
|
||||
.public GetEvoParameters
|
||||
.public GetForcedLossReason
|
||||
.public GetGameMode
|
||||
.public GetItemCategoryVeneer
|
||||
.public GetItemToDeliver
|
||||
.public GetItemToRetrieve
|
||||
.public GetLeader
|
||||
@@ -35,9 +25,6 @@
|
||||
.public GetMonsterGenderVeneer
|
||||
.public GetMonsterPreEvolution
|
||||
.public GetName
|
||||
.public GetPerformanceFlagWithChecks
|
||||
.public GetPlayerGender
|
||||
.public GetRandomExplorerMazeMonster
|
||||
.public GetRandomSpawnMonsterID
|
||||
.public GetSecondFormIfValid
|
||||
.public GetSpecialTargetItem
|
||||
@@ -45,7 +32,6 @@
|
||||
.public HandleFaint
|
||||
.public InitPortraitParams
|
||||
.public InitPreprocessorArgs
|
||||
.public InitRender3dElement64
|
||||
.public IsAlertBoxActive
|
||||
.public IsCastform
|
||||
.public IsCherrim
|
||||
@@ -55,73 +41,42 @@
|
||||
.public IsDestinationFloorWithFleeingOutlaw
|
||||
.public IsDestinationFloorWithHiddenOutlaw
|
||||
.public IsExperienceLocked
|
||||
.public IsFullFloorFixedRoom
|
||||
.public IsFutureDungeon
|
||||
.public IsJirachiChallengeFloor
|
||||
.public IsMonster__0234D460
|
||||
.public IsSecretFloor
|
||||
.public ItemZInit
|
||||
.public LoadOverlay
|
||||
.public LoadScriptVariableValue
|
||||
.public MemAlloc
|
||||
.public MemFree
|
||||
.public MemZero
|
||||
.public MusicTableIdxToMusicId
|
||||
.public ov10_022BF764
|
||||
.public ov10_022BF7D4
|
||||
.public PositionIsOnStairs
|
||||
.public PreprocessString
|
||||
.public RemoveEmptyItemsInBagWrapper
|
||||
.public RemoveGroundItem
|
||||
.public SetPortraitLayout
|
||||
.public ShouldDisplayEntityWrapper
|
||||
.public ShouldMonsterHeadToStairs
|
||||
.public StringFromId
|
||||
.public SubstitutePlaceholderStringTags
|
||||
.public YesNoMenu
|
||||
.public ov10_022BFD20
|
||||
.public ov29_022DC61C
|
||||
.public ov29_022DC65C
|
||||
.public ov29_022DC670
|
||||
.public ov29_022DDC00
|
||||
.public ov29_022DDCA0
|
||||
.public ov29_022DDD50
|
||||
.public ov29_022DDDA4
|
||||
.public ov29_022DDE00
|
||||
.public ov29_022DDE24
|
||||
.public ov29_022DDEF8
|
||||
.public ov29_022DDFF0
|
||||
.public ov29_022DDFFC
|
||||
.public ov29_022DE0A0
|
||||
.public ov29_022DE0CC
|
||||
.public ov29_022DE300
|
||||
.public ov29_022DE418
|
||||
.public ov29_022DE498
|
||||
.public ov29_022DE868
|
||||
.public ov29_022DEBA4
|
||||
.public ov29_022DEBB0
|
||||
.public ov29_022E09E8
|
||||
.public ov29_022E0A64
|
||||
.public ov29_022E0B60
|
||||
.public ov29_022E0CFC
|
||||
.public ov29_022E0E8C
|
||||
.public ov29_022E0F14
|
||||
.public ov29_022E2CA0
|
||||
.public ov29_022E550C
|
||||
.public ov29_022E68F0
|
||||
.public ov29_022E6DD0
|
||||
.public ov29_022E8244
|
||||
.public ov29_022E9F9C
|
||||
.public ov29_022E9FC0
|
||||
.public ov29_022EA008
|
||||
.public ov29_022EA428
|
||||
.public ov29_022EAC8C
|
||||
.public ov29_022EACBC
|
||||
.public ov29_022EACE4
|
||||
.public ov29_022EAEFC
|
||||
.public ov29_022EAF34
|
||||
.public ov29_022EAFB0
|
||||
.public ov29_022F2FE4
|
||||
.public ov29_022FA3D4
|
||||
.public ov29_022FBA54
|
||||
.public ov29_022FBBEC
|
||||
.public ov29_023009CC
|
||||
.public ov29_02300B04
|
||||
.public ov29_0231ADA8
|
||||
.public ov29_0231AF24
|
||||
.public ov29_02337EE8
|
||||
.public ov29_0233804C
|
||||
.public ov29_0233992C
|
||||
.public ov29_0233A248
|
||||
.public ov29_02344B44
|
||||
.public ov29_02344B9C
|
||||
@@ -129,126 +84,23 @@
|
||||
.public ov29_02348A18
|
||||
.public ov29_023491B8
|
||||
.public ov29_023496B0
|
||||
.public ov29_0234D558
|
||||
.public ov29_0234D5D0
|
||||
.public ov29_0234D630
|
||||
.public ov29_0234D70C
|
||||
.public ov29_0234D838
|
||||
.public ov29_0234D8A0
|
||||
.public ov29_02353214
|
||||
.public ov29_02353238
|
||||
.public ov29_02353240
|
||||
.public ov29_02353248
|
||||
.public ov29_02353250
|
||||
.public ov29_02353258
|
||||
.public ov29_02353260
|
||||
.public ov29_02353268
|
||||
.public ov29_02353270
|
||||
.public ov29_02353278
|
||||
.public ov29_02353280
|
||||
.public ov29_02353288
|
||||
.public ov29_02353290
|
||||
.public ov29_02353298
|
||||
.public ov29_023532A0
|
||||
.public ov29_023532A8
|
||||
.public ov29_023532B0
|
||||
.public ov29_023532B8
|
||||
.public ov29_023532C0
|
||||
.public ov29_023532C8
|
||||
.public ov29_023532D8
|
||||
.public ov29_023532E0
|
||||
.public ov29_023532E8
|
||||
.public ov29_023532F0
|
||||
.public ov29_023532F8
|
||||
.public ov29_02353300
|
||||
.public ov29_02353308
|
||||
.public ov29_02353310
|
||||
.public ov29_02353368
|
||||
.public ov29_02353380
|
||||
.public ov29_0235352C
|
||||
.public ov29_02353563
|
||||
.public ov29_023537C8
|
||||
.public ov29_023537CC
|
||||
.public ov29_023537D8
|
||||
.public ov29_023537E4
|
||||
.public ov29_023537E8
|
||||
.public ov29_0237C694
|
||||
.public ov29_0237D000
|
||||
.public ov30_02382820
|
||||
.public ov30_02382874
|
||||
.public ov30_0238298C
|
||||
.public ov30_023829A0
|
||||
.public ov30_023829CC
|
||||
.public ov30_02382A34
|
||||
.public ov30_02382C30
|
||||
.public ov30_023842F4
|
||||
.public OverlayIsLoaded
|
||||
.public PositionIsOnStairs
|
||||
.public PreprocessString
|
||||
.public RemoveEmptyItemsInBagWrapper
|
||||
.public RemoveGroundItem
|
||||
.public RunDungeon
|
||||
.public SetAdventureLogDungeonFloor
|
||||
.public SetBothScreensWindowsColor
|
||||
.public SetDungeonTipShown
|
||||
.public SetPortraitLayout
|
||||
.public ShouldDisplayEntityWrapper
|
||||
.public ShouldMonsterHeadToStairs
|
||||
.public StringFromId
|
||||
.public strlen
|
||||
.public strncmp
|
||||
.public strncpy
|
||||
.public sub_02001808
|
||||
.public sub_0200383C
|
||||
.public sub_020038D8
|
||||
.public sub_020038E8
|
||||
.public sub_02003990
|
||||
.public sub_020039E4
|
||||
.public sub_02003A40
|
||||
.public sub_02006EC4
|
||||
.public sub_02008ED0
|
||||
.public sub_02008F3C
|
||||
.public sub_02008F84
|
||||
.public sub_02008F88
|
||||
.public sub_02009120
|
||||
.public sub_02009194
|
||||
.public sub_020091B0
|
||||
.public sub_020091CC
|
||||
.public sub_020091F8
|
||||
.public sub_020093BC
|
||||
.public sub_02009514
|
||||
.public sub_0200B330
|
||||
.public sub_0200B3D4
|
||||
.public sub_02017A68
|
||||
.public sub_02017A80
|
||||
.public sub_02017B70
|
||||
.public sub_02017BEC
|
||||
.public sub_02017C10
|
||||
.public sub_0201BE28
|
||||
.public sub_0201BE5C
|
||||
.public sub_0201BE84
|
||||
.public sub_0201BF4C
|
||||
.public sub_0201BF64
|
||||
.public sub_0201D7E0
|
||||
.public sub_0201D804
|
||||
.public sub_0201DDFC
|
||||
.public sub_0201DE10
|
||||
.public sub_0201F2A0
|
||||
.public sub_0201F464
|
||||
.public sub_02024FB8
|
||||
.public sub_02025784
|
||||
.public sub_02027148
|
||||
.public sub_0202715C
|
||||
.public sub_0202836C
|
||||
.public sub_02028848
|
||||
.public sub_02028A64
|
||||
.public sub_02028E2C
|
||||
.public sub_02028E40
|
||||
.public sub_02028E88
|
||||
.public sub_0203010C
|
||||
.public sub_02030214
|
||||
.public sub_02034710
|
||||
.public sub_02034A80
|
||||
.public sub_02047FFC
|
||||
.public sub_0204804C
|
||||
.public sub_020480CC
|
||||
@@ -257,13 +109,3 @@
|
||||
.public sub_02048240
|
||||
.public sub_0204833C
|
||||
.public sub_02048360
|
||||
.public sub_02048DC4
|
||||
.public sub_0204AFF8
|
||||
.public sub_0204F9CC
|
||||
.public sub_02051DD0
|
||||
.public sub_02051E60
|
||||
.public sub_0205BAB0
|
||||
.public SubstitutePlaceholderStringTags
|
||||
.public UnloadOverlay
|
||||
.public WriteQuicksaveData
|
||||
.public YesNoMenu
|
||||
|
||||
87
asm/include/overlay_29_0234BEE0.inc
Normal file
87
asm/include/overlay_29_0234BEE0.inc
Normal file
@@ -0,0 +1,87 @@
|
||||
#pragma once
|
||||
.public AdvanceFrame
|
||||
.public DUNGEON_FADES_PTR
|
||||
.public DUNGEON_PTR
|
||||
.public DungeonAlloc
|
||||
.public DungeonFree
|
||||
.public DungeonZInit
|
||||
.public G3X_Reset
|
||||
.public InitRender3dElement64
|
||||
.public MemAlloc
|
||||
.public MemFree
|
||||
.public MemZero
|
||||
.public OverlayIsLoaded
|
||||
.public UnloadOverlay
|
||||
.public ov10_022BF764
|
||||
.public ov10_022BF7D4
|
||||
.public ov29_022DC670
|
||||
.public ov29_022DDC00
|
||||
.public ov29_022DDCA0
|
||||
.public ov29_022DDD50
|
||||
.public ov29_022DDDA4
|
||||
.public ov29_022DDE24
|
||||
.public ov29_022DDFF0
|
||||
.public ov29_022DDFFC
|
||||
.public ov29_022DE0A0
|
||||
.public ov29_022DE0CC
|
||||
.public ov29_022DE300
|
||||
.public ov29_022DE498
|
||||
.public ov29_022DE868
|
||||
.public ov29_022E0A64
|
||||
.public ov29_022E0CFC
|
||||
.public ov29_022E0E8C
|
||||
.public ov29_022E0F14
|
||||
.public ov29_022E6DD0
|
||||
.public ov29_022E9F9C
|
||||
.public ov29_022EA008
|
||||
.public ov29_022EAFB0
|
||||
.public ov29_0233992C
|
||||
.public ov29_0234BBDC
|
||||
.public ov29_0234BBE8
|
||||
.public ov29_0235352C
|
||||
.public ov29_023537D8
|
||||
.public ov29_023537E4
|
||||
.public ov30_02382A34
|
||||
.public sub_0200383C
|
||||
.public sub_020038D8
|
||||
.public sub_020038E8
|
||||
.public sub_02003990
|
||||
.public sub_020039E4
|
||||
.public sub_02003A40
|
||||
.public sub_02006EC4
|
||||
.public sub_02008ED0
|
||||
.public sub_02008F3C
|
||||
.public sub_02008F84
|
||||
.public sub_02008F88
|
||||
.public sub_02009120
|
||||
.public sub_020091CC
|
||||
.public sub_020091F8
|
||||
.public sub_020093BC
|
||||
.public sub_02009514
|
||||
.public sub_0200B330
|
||||
.public sub_0200B3D4
|
||||
.public sub_02017A68
|
||||
.public sub_02017A80
|
||||
.public sub_02017B70
|
||||
.public sub_02017BEC
|
||||
.public sub_0201BE28
|
||||
.public sub_0201BE5C
|
||||
.public sub_0201BE84
|
||||
.public sub_0201BF4C
|
||||
.public sub_0201BF64
|
||||
.public sub_0201D7E0
|
||||
.public sub_0201D804
|
||||
.public sub_0201DDFC
|
||||
.public sub_0201DE10
|
||||
.public sub_0201F2A0
|
||||
.public sub_0201F464
|
||||
.public sub_02027148
|
||||
.public sub_0202715C
|
||||
.public sub_02028848
|
||||
.public sub_02028A64
|
||||
.public sub_02028E2C
|
||||
.public sub_02028E40
|
||||
.public sub_02028E88
|
||||
.public sub_02034710
|
||||
.public sub_02034A80
|
||||
.public sub_0204F9CC
|
||||
69
asm/include/overlay_29_0234CA84.inc
Normal file
69
asm/include/overlay_29_0234CA84.inc
Normal file
@@ -0,0 +1,69 @@
|
||||
#pragma once
|
||||
.public DUNGEON_PTR
|
||||
.public Debug_Print0
|
||||
.public DisplayMessageInternal
|
||||
.public FixedRoomIsSubstituteRoom
|
||||
.public GetDungeonTipShown
|
||||
.public GetGameMode
|
||||
.public GetItemCategoryVeneer
|
||||
.public GetLeader
|
||||
.public GetPerformanceFlagWithChecks
|
||||
.public GetPlayerGender
|
||||
.public GetRandomExplorerMazeMonster
|
||||
.public IsFullFloorFixedRoom
|
||||
.public IsFutureDungeon
|
||||
.public IsMonster__0234D460
|
||||
.public IsSecretFloor
|
||||
.public LoadOverlay
|
||||
.public LoadScriptVariableValue
|
||||
.public LogMessageByIdQuiet
|
||||
.public OverlayIsLoaded
|
||||
.public SetBothScreensWindowsColor
|
||||
.public SetDungeonTipShown
|
||||
.public StringFromId
|
||||
.public UnloadOverlay
|
||||
.public WriteQuicksaveData
|
||||
.public ov29_022EA428
|
||||
.public ov29_022EACBC
|
||||
.public ov29_0231ADA8
|
||||
.public ov29_02337EE8
|
||||
.public ov29_0233804C
|
||||
.public ov29_0234B034
|
||||
.public ov29_0234BA54
|
||||
.public ov29_0234D558
|
||||
.public ov29_0234D5D0
|
||||
.public ov29_02353238
|
||||
.public ov29_02353240
|
||||
.public ov29_02353248
|
||||
.public ov29_02353250
|
||||
.public ov29_02353258
|
||||
.public ov29_02353260
|
||||
.public ov29_02353268
|
||||
.public ov29_02353270
|
||||
.public ov29_02353278
|
||||
.public ov29_02353280
|
||||
.public ov29_02353288
|
||||
.public ov29_02353290
|
||||
.public ov29_02353298
|
||||
.public ov29_023532A0
|
||||
.public ov29_023532A8
|
||||
.public ov29_023532B0
|
||||
.public ov29_023532B8
|
||||
.public ov29_023532C0
|
||||
.public ov29_023532C8
|
||||
.public ov29_023532D8
|
||||
.public ov29_023532E0
|
||||
.public ov29_023532E8
|
||||
.public ov29_023532F0
|
||||
.public ov29_023532F8
|
||||
.public ov29_02353300
|
||||
.public ov29_02353308
|
||||
.public ov29_02353310
|
||||
.public ov29_02353368
|
||||
.public ov29_02353380
|
||||
.public ov29_02353563
|
||||
.public ov29_023537E4
|
||||
.public ov29_023537E8
|
||||
.public ov29_0237D000
|
||||
.public ov30_023842F4
|
||||
.public sub_02025784
|
||||
7855
asm/main_02034974.s
7855
asm/main_02034974.s
File diff suppressed because it is too large
Load Diff
7846
asm/main_0204B018.s
Normal file
7846
asm/main_0204B018.s
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
2756
asm/overlay_29_022DC65C.s
Normal file
2756
asm/overlay_29_022DC65C.s
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,66 +1,8 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "overlay_29_022DEADC.inc"
|
||||
.include "overlay_29_022DEBA4.inc"
|
||||
|
||||
.text
|
||||
|
||||
arm_func_start ov29_022DEADC
|
||||
ov29_022DEADC: ; 0x022DEADC
|
||||
stmdb sp!, {r3, lr}
|
||||
mov r0, #0x20
|
||||
bl ov29_0234C654
|
||||
mov r0, #0
|
||||
mov r1, r0
|
||||
bl sub_020091B0
|
||||
mov r0, #1
|
||||
mov r1, #0
|
||||
bl sub_020091B0
|
||||
mov r0, #2
|
||||
mov r1, #0
|
||||
bl sub_02009194
|
||||
mov r0, #3
|
||||
mov r1, #0
|
||||
bl sub_02009194
|
||||
mov r0, #4
|
||||
mov r1, #0
|
||||
bl sub_020091B0
|
||||
mov r0, #1
|
||||
mov r1, #0x4000
|
||||
mov r2, #0
|
||||
bl StartFadeDungeonWrapper
|
||||
mov r0, #0
|
||||
bl ov29_0234C738
|
||||
ldmia sp!, {r3, pc}
|
||||
arm_func_end ov29_022DEADC
|
||||
|
||||
arm_func_start ov29_022DEB40
|
||||
ov29_022DEB40: ; 0x022DEB40
|
||||
stmdb sp!, {r3, lr}
|
||||
mov r0, #2
|
||||
mov r1, #0x4000
|
||||
mov r2, #0
|
||||
bl StartFadeDungeonWrapper
|
||||
mov r0, #0
|
||||
bl ov29_0234C738
|
||||
mov r0, #1
|
||||
bl ov29_0234C654
|
||||
mov r0, #0
|
||||
mov r1, r0
|
||||
bl sub_020091B0
|
||||
mov r0, #1
|
||||
mov r1, #0
|
||||
bl sub_020091B0
|
||||
mov r0, #2
|
||||
mov r1, #0
|
||||
bl sub_020091B0
|
||||
mov r0, #3
|
||||
mov r1, #0
|
||||
bl sub_020091B0
|
||||
mov r0, #4
|
||||
mov r1, #0
|
||||
bl sub_020091B0
|
||||
ldmia sp!, {r3, pc}
|
||||
arm_func_end ov29_022DEB40
|
||||
|
||||
arm_func_start ov29_022DEBA4
|
||||
ov29_022DEBA4: ; 0x022DEBA4
|
||||
ldr ip, _022DEBAC ; =ov29_022DEADC
|
||||
@@ -316,6 +258,7 @@ _022DEF30: .word 0x000003E7
|
||||
_022DEF34: .word FIXED_ROOM_REVISIT_OVERRIDES
|
||||
arm_func_end ov29_022DEBBC
|
||||
|
||||
; https://decomp.me/scratch/7xQSQ
|
||||
arm_func_start RunDungeon
|
||||
RunDungeon: ; 0x022DEF38
|
||||
#ifdef JAPAN
|
||||
File diff suppressed because it is too large
Load Diff
898
asm/overlay_29_0234BEE0.s
Normal file
898
asm/overlay_29_0234BEE0.s
Normal file
@@ -0,0 +1,898 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "overlay_29_0234BEE0.inc"
|
||||
|
||||
.text
|
||||
|
||||
arm_func_start ov29_0234BEE0
|
||||
ov29_0234BEE0: ; 0x0234BEE0
|
||||
ldr r2, _0234BEFC ; =ov29_0235352C
|
||||
mov r1, #0xc
|
||||
ldr r2, [r2]
|
||||
ldr ip, _0234BF00 ; =sub_0200B3D4
|
||||
mla r1, r0, r1, r2
|
||||
ldr r0, [r1, #0x24]
|
||||
bx ip
|
||||
.align 2, 0
|
||||
_0234BEFC: .word ov29_0235352C
|
||||
_0234BF00: .word sub_0200B3D4
|
||||
arm_func_end ov29_0234BEE0
|
||||
|
||||
arm_func_start ov29_0234BF04
|
||||
ov29_0234BF04: ; 0x0234BF04
|
||||
ldr r2, _0234BF20 ; =ov29_0235352C
|
||||
mov r1, #0xc
|
||||
ldr r2, [r2]
|
||||
ldr ip, _0234BF24 ; =sub_0200B330
|
||||
mla r1, r0, r1, r2
|
||||
ldr r0, [r1, #0x24]
|
||||
bx ip
|
||||
.align 2, 0
|
||||
_0234BF20: .word ov29_0235352C
|
||||
_0234BF24: .word sub_0200B330
|
||||
arm_func_end ov29_0234BF04
|
||||
|
||||
arm_func_start RunDungeonMode
|
||||
RunDungeonMode: ; 0x0234BF28
|
||||
stmdb sp!, {r4, r5, r6, lr}
|
||||
mov r5, r0
|
||||
mov r4, r1
|
||||
bl sub_02017BEC
|
||||
bl sub_02028E2C
|
||||
mov r0, #0
|
||||
mov r1, r0
|
||||
mov r2, r0
|
||||
mov r3, r0
|
||||
bl sub_020091F8
|
||||
mov r0, #0
|
||||
mov r1, r0
|
||||
mov r2, r0
|
||||
mov r3, #1
|
||||
bl sub_020091F8
|
||||
bl ov29_022E0E8C
|
||||
bl sub_02027148
|
||||
mov r0, #0xf000
|
||||
mov r1, #0
|
||||
bl sub_0201D7E0
|
||||
mov r0, #0x1c0
|
||||
mov r1, #0
|
||||
bl MemAlloc
|
||||
ldr r2, _0234C1C8 ; =ov29_023537D8
|
||||
mov r1, #0x1c0
|
||||
str r0, [r2, #4]
|
||||
bl MemZero
|
||||
ldr r0, _0234C1C8 ; =ov29_023537D8
|
||||
mov r2, #0
|
||||
ldr r1, [r0, #4]
|
||||
strb r2, [r1, #0x1bc]
|
||||
ldr r1, [r0, #4]
|
||||
str r4, [r1, #8]
|
||||
ldr r0, [r0, #4]
|
||||
str r4, [r0, #0xc]
|
||||
bl DungeonAlloc
|
||||
ldr r1, _0234C1C8 ; =ov29_023537D8
|
||||
ldr r1, [r1, #4]
|
||||
str r0, [r1, #4]
|
||||
bl DungeonZInit
|
||||
bl ov29_022DDFF0
|
||||
bl ov29_022DDFFC
|
||||
bl ov29_022DE300
|
||||
ldr r0, _0234C1C8 ; =ov29_023537D8
|
||||
mov ip, r5
|
||||
ldr r0, [r0, #4]
|
||||
mov r4, #0x1a
|
||||
add r6, r0, #0x10
|
||||
_0234BFE8:
|
||||
ldmia ip!, {r0, r1, r2, r3}
|
||||
stmia r6!, {r0, r1, r2, r3}
|
||||
subs r4, r4, #1
|
||||
bne _0234BFE8
|
||||
ldmia ip, {r0, r1, r2}
|
||||
stmia r6, {r0, r1, r2}
|
||||
bl ov29_0234C9FC
|
||||
ldr r0, _0234C1CC ; =ov29_0234BBDC
|
||||
bl sub_02006EC4
|
||||
bl sub_02017A68
|
||||
bl ov29_022E0CFC
|
||||
bl ov29_0234C4F8
|
||||
cmp r5, #0
|
||||
beq _0234C04C
|
||||
ldrsb r0, [r5, #0xe]
|
||||
cmp r0, #1
|
||||
mov r0, #0
|
||||
bne _0234C040
|
||||
bl ov29_0234C5EC
|
||||
mov r0, #1
|
||||
bl ov29_0234C584
|
||||
b _0234C04C
|
||||
_0234C040:
|
||||
bl ov29_0234C584
|
||||
mov r0, #1
|
||||
bl ov29_0234C584
|
||||
_0234C04C:
|
||||
bl ov29_022DDC00
|
||||
ldr r1, _0234C1C8 ; =ov29_023537D8
|
||||
mov r2, #1
|
||||
ldr r0, _0234C1D0 ; =ov29_0234C1D8
|
||||
strb r2, [r1]
|
||||
bl sub_0200383C
|
||||
mov r1, #0
|
||||
ldr r0, _0234C1D4 ; =ov29_0234BBE8
|
||||
mov r2, r1
|
||||
bl ov29_022DDD50
|
||||
ldr r4, _0234C1C8 ; =ov29_023537D8
|
||||
mov r6, #0
|
||||
_0234C07C:
|
||||
bl sub_020038E8
|
||||
ldr r0, [r4, #4]
|
||||
ldrb r0, [r0, #0x1bd]
|
||||
cmp r0, #0
|
||||
bne _0234C0C0
|
||||
bl sub_020039E4
|
||||
ldr r0, [r4, #4]
|
||||
ldrb r0, [r0, #0x1bc]
|
||||
cmp r0, #0
|
||||
beq _0234C07C
|
||||
_0234C0A4:
|
||||
bl ov30_02382A34
|
||||
cmp r0, #2
|
||||
cmpne r0, #3
|
||||
bne _0234C0A4
|
||||
ldr r0, [r4, #4]
|
||||
strb r6, [r0, #0x1bc]
|
||||
b _0234C07C
|
||||
_0234C0C0:
|
||||
ldr r0, _0234C1D4 ; =ov29_0234BBE8
|
||||
bl ov29_022DDDA4
|
||||
mov r0, #0
|
||||
bl sub_0200383C
|
||||
bl sub_02034710
|
||||
bl ov29_0234CA2C
|
||||
cmp r5, #0
|
||||
beq _0234C108
|
||||
ldr r0, _0234C1C8 ; =ov29_023537D8
|
||||
mov r4, #0x1a
|
||||
ldr r0, [r0, #4]
|
||||
add ip, r0, #0x10
|
||||
_0234C0F0:
|
||||
ldmia ip!, {r0, r1, r2, r3}
|
||||
stmia r5!, {r0, r1, r2, r3}
|
||||
subs r4, r4, #1
|
||||
bne _0234C0F0
|
||||
ldmia ip, {r0, r1, r2}
|
||||
stmia r5, {r0, r1, r2}
|
||||
_0234C108:
|
||||
bl ov29_022DE498
|
||||
bl ov29_022DE0A0
|
||||
bl ov29_0234C544
|
||||
mov r0, #0
|
||||
bl sub_02006EC4
|
||||
ldr r0, _0234C1C8 ; =ov29_023537D8
|
||||
ldr r0, [r0, #4]
|
||||
cmp r0, #0
|
||||
beq _0234C154
|
||||
bl DungeonFree
|
||||
ldr r0, _0234C1C8 ; =ov29_023537D8
|
||||
mov r2, #0
|
||||
ldr r1, [r0, #4]
|
||||
str r2, [r1, #4]
|
||||
ldr r0, [r0, #4]
|
||||
bl MemFree
|
||||
ldr r0, _0234C1C8 ; =ov29_023537D8
|
||||
mov r1, #0
|
||||
str r1, [r0, #4]
|
||||
_0234C154:
|
||||
bl sub_0201D804
|
||||
bl sub_0202715C
|
||||
bl ov29_022DDCA0
|
||||
bl sub_02017B70
|
||||
bl sub_02017BEC
|
||||
mov r0, #0
|
||||
sub r1, r0, #0x100
|
||||
bl sub_02008F3C
|
||||
mov r0, #1
|
||||
mvn r1, #0xff
|
||||
bl sub_02008F3C
|
||||
mov r0, #0
|
||||
bl sub_02009120
|
||||
mov r0, #1
|
||||
bl sub_02009120
|
||||
mov r0, #0
|
||||
bl sub_02009514
|
||||
mov r0, #1
|
||||
bl sub_02009514
|
||||
mov r0, #0
|
||||
bl sub_020091CC
|
||||
mov r0, #1
|
||||
bl sub_020091CC
|
||||
mov r0, #0
|
||||
bl sub_020093BC
|
||||
mov r0, #1
|
||||
bl sub_020093BC
|
||||
mov r0, #1
|
||||
ldmia sp!, {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_0234C1C8: .word ov29_023537D8
|
||||
_0234C1CC: .word ov29_0234BBDC
|
||||
_0234C1D0: .word ov29_0234C1D8
|
||||
_0234C1D4: .word ov29_0234BBE8
|
||||
arm_func_end RunDungeonMode
|
||||
|
||||
arm_func_start ov29_0234C1D8
|
||||
ov29_0234C1D8: ; 0x0234C1D8
|
||||
stmdb sp!, {r4, lr}
|
||||
bl sub_0201BF64
|
||||
bl sub_02028E40
|
||||
bl sub_020038D8
|
||||
cmp r0, #0
|
||||
beq _0234C1F4
|
||||
bl sub_02003990
|
||||
_0234C1F4:
|
||||
bl ov29_022E0A64
|
||||
bl ov29_022DDE24
|
||||
bl ov29_022E9F9C
|
||||
bl HandleFadesDungeonBothScreens
|
||||
bl sub_02034A80
|
||||
bl ov29_022EA008
|
||||
ldr r0, _0234C2EC ; =DUNGEON_PTR
|
||||
ldr r0, [r0]
|
||||
cmp r0, #0
|
||||
beq _0234C230
|
||||
#ifdef JAPAN
|
||||
add r0, r0, #0x2180
|
||||
add r0, r0, #0x18000
|
||||
#else
|
||||
add r0, r0, #0x224
|
||||
add r0, r0, #0x1a000
|
||||
#endif
|
||||
bl ov10_022BF764
|
||||
bl ov29_022E6DD0
|
||||
b _0234C238
|
||||
_0234C230:
|
||||
mov r0, #0
|
||||
bl ov10_022BF764
|
||||
_0234C238:
|
||||
bl sub_02028848
|
||||
bl ov29_022DE868
|
||||
ldr r0, _0234C2F0 ; =ov29_023537D8
|
||||
ldr r0, [r0, #4]
|
||||
ldr r0, [r0]
|
||||
cmp r0, #0
|
||||
beq _0234C258
|
||||
blx r0
|
||||
_0234C258:
|
||||
bl ov29_022DC670
|
||||
bl sub_0201F464
|
||||
ldr r0, _0234C2F0 ; =ov29_023537D8
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
bne _0234C274
|
||||
bl sub_0201DDFC
|
||||
_0234C274:
|
||||
bl sub_02008F84
|
||||
bl ov29_022EAFB0
|
||||
bl sub_02017A80
|
||||
mov r0, #1
|
||||
bl sub_02028A64
|
||||
bl sub_0201BE28
|
||||
bl sub_0201BE5C
|
||||
bl sub_0201BE84
|
||||
bl sub_0204F9CC
|
||||
bl sub_02003A40
|
||||
ldr r1, _0234C2F0 ; =ov29_023537D8
|
||||
mov r4, r0
|
||||
ldrb r0, [r1]
|
||||
cmp r0, #0
|
||||
beq _0234C2B8
|
||||
mov r0, #0
|
||||
bl sub_02008ED0
|
||||
_0234C2B8:
|
||||
bl G3X_Reset
|
||||
bl sub_02008F88
|
||||
bl sub_0201DE10
|
||||
bl ov10_022BF7D4
|
||||
bl ov29_0233992C
|
||||
bl sub_02028E88
|
||||
bl ov29_022DE0CC
|
||||
bl sub_0201BF4C
|
||||
ldr r1, _0234C2F0 ; =ov29_023537D8
|
||||
mov r2, #0
|
||||
mov r0, r4
|
||||
strb r2, [r1]
|
||||
ldmia sp!, {r4, pc}
|
||||
.align 2, 0
|
||||
_0234C2EC: .word DUNGEON_PTR
|
||||
_0234C2F0: .word ov29_023537D8
|
||||
arm_func_end ov29_0234C1D8
|
||||
|
||||
arm_func_start ov29_0234C2F4
|
||||
ov29_0234C2F4: ; 0x0234C2F4
|
||||
stmdb sp!, {r3, r4, r5, lr}
|
||||
mov r4, r1
|
||||
mov r5, r0
|
||||
mov r1, #0x9c
|
||||
bl MemZero
|
||||
add r0, r5, #0x48
|
||||
strb r4, [r5, #0x88]
|
||||
bl InitRender3dElement64
|
||||
mov r0, #0x100
|
||||
strh r0, [r5, #0x4c]
|
||||
mov r0, #0xc0
|
||||
strh r0, [r5, #0x4e]
|
||||
mov r0, #1
|
||||
strh r0, [r5, #0x72]
|
||||
strb r0, [r5, #0x86]
|
||||
mov r0, #2
|
||||
strb r0, [r5, #0x84]
|
||||
mov r0, #0
|
||||
strb r0, [r5, #0x77]
|
||||
strb r0, [r5, #0x74]
|
||||
strb r0, [r5, #0x75]
|
||||
strb r0, [r5, #0x76]
|
||||
strb r0, [r5, #0x99]
|
||||
ldmia sp!, {r3, r4, r5, pc}
|
||||
arm_func_end ov29_0234C2F4
|
||||
|
||||
arm_func_start ov29_0234C354
|
||||
ov29_0234C354: ; 0x0234C354
|
||||
stmdb sp!, {r3, lr}
|
||||
mov r3, #0
|
||||
str r3, [r0, #0x90]
|
||||
str r3, [r0, #0x8c]
|
||||
str r3, [r0, #0x94]
|
||||
strb r3, [r0, #0x98]
|
||||
ldrb r1, [r0, #0x88]
|
||||
cmp r1, #1
|
||||
bne _0234C384
|
||||
ldr r0, [r0, #0x90]
|
||||
bl ov29_022E0F14
|
||||
ldmia sp!, {r3, pc}
|
||||
_0234C384:
|
||||
ldrb r2, [r0, #0x99]
|
||||
cmp r2, #0
|
||||
strneb r3, [r0, #0x77]
|
||||
ldmneia sp!, {r3, pc}
|
||||
ldr r0, [r0, #0x90]
|
||||
bl ov29_022E0F14
|
||||
ldmia sp!, {r3, pc}
|
||||
arm_func_end ov29_0234C354
|
||||
|
||||
arm_func_start ov29_0234C3A0
|
||||
ov29_0234C3A0: ; 0x0234C3A0
|
||||
stmdb sp!, {r4, lr}
|
||||
mov r4, r0
|
||||
ldrb r1, [r4, #0x88]
|
||||
cmp r1, #1
|
||||
bne _0234C3C8
|
||||
ldr r0, [r4, #0x90]
|
||||
mov r0, r0, asr #0xc
|
||||
bl ov29_022E0F14
|
||||
ldr r0, [r4, #0x90]
|
||||
ldmia sp!, {r4, pc}
|
||||
_0234C3C8:
|
||||
ldrb r0, [r4, #0x99]
|
||||
cmp r0, #0
|
||||
ldr r0, [r4, #0x90]
|
||||
beq _0234C3F8
|
||||
cmp r0, #0
|
||||
rsblt r0, r0, #0
|
||||
mov r0, r0, asr #0xc
|
||||
mov r0, r0, lsl #4
|
||||
cmp r0, #0x100
|
||||
moveq r0, #0xff
|
||||
strb r0, [r4, #0x77]
|
||||
ldmia sp!, {r4, pc}
|
||||
_0234C3F8:
|
||||
mov r0, r0, asr #0xc
|
||||
bl ov29_022E0F14
|
||||
ldr r0, [r4, #0x90]
|
||||
ldmia sp!, {r4, pc}
|
||||
arm_func_end ov29_0234C3A0
|
||||
|
||||
arm_func_start StartFadeDungeon
|
||||
StartFadeDungeon: ; 0x0234C408
|
||||
stmdb sp!, {r3, lr}
|
||||
str r2, [r0, #0x8c]
|
||||
str r1, [r0, #0x94]
|
||||
mov r1, #1
|
||||
strb r1, [r0, #0x98]
|
||||
ldrb r1, [r0, #0x88]
|
||||
cmp r1, #1
|
||||
bne _0234C464
|
||||
cmp r2, #5
|
||||
cmpne r2, #3
|
||||
moveq r1, #0
|
||||
streq r1, [r0, #0x90]
|
||||
beq _0234C45C
|
||||
cmp r2, #4
|
||||
moveq r1, #0x10000
|
||||
streq r1, [r0, #0x90]
|
||||
beq _0234C45C
|
||||
cmp r2, #2
|
||||
moveq r1, #0x10000
|
||||
rsbeq r1, r1, #0
|
||||
streq r1, [r0, #0x90]
|
||||
_0234C45C:
|
||||
bl ov29_0234C3A0
|
||||
ldmia sp!, {r3, pc}
|
||||
_0234C464:
|
||||
cmp r2, #5
|
||||
bne _0234C488
|
||||
mov r1, #0
|
||||
str r1, [r0, #0x90]
|
||||
mov r1, #0xff
|
||||
strb r1, [r0, #0x74]
|
||||
strb r1, [r0, #0x75]
|
||||
strb r1, [r0, #0x76]
|
||||
b _0234C4F0
|
||||
_0234C488:
|
||||
cmp r2, #3
|
||||
bne _0234C4A8
|
||||
mov r1, #0
|
||||
str r1, [r0, #0x90]
|
||||
strb r1, [r0, #0x74]
|
||||
strb r1, [r0, #0x75]
|
||||
strb r1, [r0, #0x76]
|
||||
b _0234C4F0
|
||||
_0234C4A8:
|
||||
cmp r2, #4
|
||||
bne _0234C4CC
|
||||
mov r1, #0x10000
|
||||
str r1, [r0, #0x90]
|
||||
mov r1, #0xff
|
||||
strb r1, [r0, #0x74]
|
||||
strb r1, [r0, #0x75]
|
||||
strb r1, [r0, #0x76]
|
||||
b _0234C4F0
|
||||
_0234C4CC:
|
||||
cmp r2, #2
|
||||
bne _0234C4F0
|
||||
mov r1, #0x10000
|
||||
rsb r1, r1, #0
|
||||
str r1, [r0, #0x90]
|
||||
mov r1, #0
|
||||
strb r1, [r0, #0x74]
|
||||
strb r1, [r0, #0x75]
|
||||
strb r1, [r0, #0x76]
|
||||
_0234C4F0:
|
||||
bl ov29_0234C3A0
|
||||
ldmia sp!, {r3, pc}
|
||||
arm_func_end StartFadeDungeon
|
||||
|
||||
arm_func_start ov29_0234C4F8
|
||||
ov29_0234C4F8: ; 0x0234C4F8
|
||||
stmdb sp!, {r3, lr}
|
||||
mov r0, #0x144
|
||||
mov r1, #0
|
||||
bl MemAlloc
|
||||
ldr r2, _0234C540 ; =DUNGEON_FADES_PTR
|
||||
mov r1, #0x144
|
||||
str r0, [r2]
|
||||
bl MemZero
|
||||
ldr r0, _0234C540 ; =DUNGEON_FADES_PTR
|
||||
mov r1, #0
|
||||
ldr r0, [r0]
|
||||
bl ov29_0234C2F4
|
||||
ldr r0, _0234C540 ; =DUNGEON_FADES_PTR
|
||||
mov r1, #1
|
||||
ldr r0, [r0]
|
||||
add r0, r0, #0x9c
|
||||
bl ov29_0234C2F4
|
||||
ldmia sp!, {r3, pc}
|
||||
.align 2, 0
|
||||
_0234C540: .word DUNGEON_FADES_PTR
|
||||
arm_func_end ov29_0234C4F8
|
||||
|
||||
arm_func_start ov29_0234C544
|
||||
ov29_0234C544: ; 0x0234C544
|
||||
stmdb sp!, {r3, lr}
|
||||
ldr r0, _0234C580 ; =DUNGEON_FADES_PTR
|
||||
ldr r0, [r0]
|
||||
bl ov29_0234C354
|
||||
ldr r0, _0234C580 ; =DUNGEON_FADES_PTR
|
||||
ldr r0, [r0]
|
||||
add r0, r0, #0x9c
|
||||
bl ov29_0234C354
|
||||
ldr r0, _0234C580 ; =DUNGEON_FADES_PTR
|
||||
ldr r0, [r0]
|
||||
bl MemFree
|
||||
ldr r0, _0234C580 ; =DUNGEON_FADES_PTR
|
||||
mov r1, #0
|
||||
str r1, [r0]
|
||||
ldmia sp!, {r3, pc}
|
||||
.align 2, 0
|
||||
_0234C580: .word DUNGEON_FADES_PTR
|
||||
arm_func_end ov29_0234C544
|
||||
|
||||
arm_func_start ov29_0234C584
|
||||
ov29_0234C584: ; 0x0234C584
|
||||
stmdb sp!, {r3, lr}
|
||||
ldr r1, _0234C5E8 ; =DUNGEON_FADES_PTR
|
||||
mov r2, #0x10000
|
||||
ldr r3, [r1]
|
||||
mov r1, #0x9c
|
||||
mla r0, r1, r0, r3
|
||||
rsb r2, r2, #0
|
||||
str r2, [r0, #0x90]
|
||||
mov r1, #1
|
||||
str r1, [r0, #0x8c]
|
||||
mov r2, #0
|
||||
str r2, [r0, #0x94]
|
||||
strb r1, [r0, #0x98]
|
||||
ldrb r1, [r0, #0x88]
|
||||
cmp r1, #1
|
||||
bne _0234C5CC
|
||||
bl ov29_0234C3A0
|
||||
ldmia sp!, {r3, pc}
|
||||
_0234C5CC:
|
||||
ldrb r1, [r0, #0x99]
|
||||
cmp r1, #0
|
||||
strneb r2, [r0, #0x74]
|
||||
strneb r2, [r0, #0x75]
|
||||
strneb r2, [r0, #0x76]
|
||||
bl ov29_0234C3A0
|
||||
ldmia sp!, {r3, pc}
|
||||
.align 2, 0
|
||||
_0234C5E8: .word DUNGEON_FADES_PTR
|
||||
arm_func_end ov29_0234C584
|
||||
|
||||
arm_func_start ov29_0234C5EC
|
||||
ov29_0234C5EC: ; 0x0234C5EC
|
||||
stmdb sp!, {r3, lr}
|
||||
ldr r2, _0234C650 ; =DUNGEON_FADES_PTR
|
||||
mov r1, #0x9c
|
||||
ldr r3, [r2]
|
||||
mov r2, #0x10000
|
||||
mla r0, r1, r0, r3
|
||||
str r2, [r0, #0x90]
|
||||
mov r2, #1
|
||||
str r2, [r0, #0x8c]
|
||||
mov r1, #0
|
||||
str r1, [r0, #0x94]
|
||||
strb r2, [r0, #0x98]
|
||||
ldrb r1, [r0, #0x88]
|
||||
cmp r1, #1
|
||||
bne _0234C630
|
||||
bl ov29_0234C3A0
|
||||
ldmia sp!, {r3, pc}
|
||||
_0234C630:
|
||||
ldrb r1, [r0, #0x99]
|
||||
cmp r1, #0
|
||||
movne r1, #0xff
|
||||
strneb r1, [r0, #0x74]
|
||||
strneb r1, [r0, #0x75]
|
||||
strneb r1, [r0, #0x76]
|
||||
bl ov29_0234C3A0
|
||||
ldmia sp!, {r3, pc}
|
||||
.align 2, 0
|
||||
_0234C650: .word DUNGEON_FADES_PTR
|
||||
arm_func_end ov29_0234C5EC
|
||||
|
||||
arm_func_start ov29_0234C654
|
||||
ov29_0234C654: ; 0x0234C654
|
||||
ldr r1, _0234C664 ; =DUNGEON_FADES_PTR
|
||||
ldr r1, [r1]
|
||||
strh r0, [r1, #0x72]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0234C664: .word DUNGEON_FADES_PTR
|
||||
arm_func_end ov29_0234C654
|
||||
|
||||
arm_func_start StartFadeDungeonWrapper
|
||||
StartFadeDungeonWrapper: ; 0x0234C668
|
||||
stmdb sp!, {r3, lr}
|
||||
ldr r3, _0234C708 ; =DUNGEON_FADES_PTR
|
||||
mov ip, #0
|
||||
ldr lr, [r3]
|
||||
add lr, lr, r2, lsl #2
|
||||
str r0, [lr, #0x138]
|
||||
ldr r0, [r3]
|
||||
add r0, r0, r2
|
||||
strb ip, [r0, #0x140]
|
||||
ldr ip, [r3]
|
||||
add r0, ip, r2, lsl #2
|
||||
ldr r0, [r0, #0x138]
|
||||
cmp r0, #6
|
||||
addls pc, pc, r0, lsl #2
|
||||
b _0234C6E0
|
||||
_0234C6A4: ; jump table
|
||||
b _0234C6E0 ; case 0
|
||||
b _0234C6C0 ; case 1
|
||||
b _0234C6C8 ; case 2
|
||||
b _0234C6C8 ; case 3
|
||||
b _0234C6D0 ; case 4
|
||||
b _0234C6D8 ; case 5
|
||||
b _0234C6D8 ; case 6
|
||||
_0234C6C0:
|
||||
mov r3, #2
|
||||
b _0234C6E4
|
||||
_0234C6C8:
|
||||
mov r3, #3
|
||||
b _0234C6E4
|
||||
_0234C6D0:
|
||||
mov r3, #4
|
||||
b _0234C6E4
|
||||
_0234C6D8:
|
||||
mov r3, #5
|
||||
b _0234C6E4
|
||||
_0234C6E0:
|
||||
mov r3, #0
|
||||
_0234C6E4:
|
||||
mov r0, #0x9c
|
||||
mla r0, r2, r0, ip
|
||||
cmp r3, #0
|
||||
bne _0234C6FC
|
||||
bl ov29_0234C354
|
||||
ldmia sp!, {r3, pc}
|
||||
_0234C6FC:
|
||||
mov r2, r3
|
||||
bl StartFadeDungeon
|
||||
ldmia sp!, {r3, pc}
|
||||
.align 2, 0
|
||||
_0234C708: .word DUNGEON_FADES_PTR
|
||||
arm_func_end StartFadeDungeonWrapper
|
||||
|
||||
arm_func_start ov29_0234C70C
|
||||
ov29_0234C70C: ; 0x0234C70C
|
||||
ldr r2, _0234C734 ; =DUNGEON_FADES_PTR
|
||||
mov r1, #0x9c
|
||||
ldr r2, [r2]
|
||||
mla r1, r0, r1, r2
|
||||
ldr r0, [r1, #0x8c]
|
||||
cmp r0, #1
|
||||
cmpne r0, #0
|
||||
moveq r0, #0
|
||||
movne r0, #1
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0234C734: .word DUNGEON_FADES_PTR
|
||||
arm_func_end ov29_0234C70C
|
||||
|
||||
arm_func_start ov29_0234C738
|
||||
ov29_0234C738: ; 0x0234C738
|
||||
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
||||
mov r5, r0
|
||||
mov r0, #0x9c
|
||||
mul r4, r5, r0
|
||||
ldr r6, _0234C7D0 ; =DUNGEON_FADES_PTR
|
||||
mov r7, #5
|
||||
_0234C750:
|
||||
ldr r1, [r6]
|
||||
add r0, r1, r5, lsl #2
|
||||
ldr r0, [r0, #0x138]
|
||||
cmp r0, #6
|
||||
addls pc, pc, r0, lsl #2
|
||||
b _0234C7C0
|
||||
_0234C768: ; jump table
|
||||
b _0234C7C0 ; case 0
|
||||
b _0234C784 ; case 1
|
||||
b _0234C784 ; case 2
|
||||
b _0234C79C ; case 3
|
||||
b _0234C784 ; case 4
|
||||
b _0234C784 ; case 5
|
||||
b _0234C79C ; case 6
|
||||
_0234C784:
|
||||
add r0, r4, r1
|
||||
ldr r0, [r0, #0x8c]
|
||||
cmp r0, #1
|
||||
cmpne r0, #0
|
||||
bne _0234C7C0
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
||||
_0234C79C:
|
||||
add r0, r5, r1
|
||||
ldrb r0, [r0, #0x140]
|
||||
cmp r0, #1
|
||||
bne _0234C7C0
|
||||
add r0, r4, r1
|
||||
ldr r0, [r0, #0x8c]
|
||||
cmp r0, #1
|
||||
cmpne r0, #0
|
||||
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
||||
_0234C7C0:
|
||||
mov r0, r7
|
||||
bl AdvanceFrame
|
||||
b _0234C750
|
||||
_0234C7CC:
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_0234C7D0: .word DUNGEON_FADES_PTR
|
||||
arm_func_end ov29_0234C738
|
||||
|
||||
arm_func_start HandleFadesDungeon
|
||||
HandleFadesDungeon: ; 0x0234C7D4
|
||||
stmdb sp!, {r3, r4, r5, lr}
|
||||
ldr r1, _0234C9E0 ; =DUNGEON_FADES_PTR
|
||||
mov r5, r0
|
||||
ldr r4, [r1]
|
||||
add r0, r4, r5, lsl #2
|
||||
ldr r2, [r0, #0x138]
|
||||
cmp r2, #6
|
||||
addls pc, pc, r2, lsl #2
|
||||
b _0234C8B8
|
||||
_0234C7F8: ; jump table
|
||||
b _0234C8B8 ; case 0
|
||||
b _0234C814 ; case 1
|
||||
b _0234C8B8 ; case 2
|
||||
b _0234C830 ; case 3
|
||||
b _0234C814 ; case 4
|
||||
b _0234C8B8 ; case 5
|
||||
b _0234C830 ; case 6
|
||||
_0234C814:
|
||||
mov r0, #0x9c
|
||||
mla r0, r5, r0, r4
|
||||
ldr r1, [r0, #0x8c]
|
||||
cmp r1, #1
|
||||
bne _0234C8B8
|
||||
bl ov29_0234C354
|
||||
ldmia sp!, {r3, r4, r5, pc}
|
||||
_0234C830:
|
||||
adds r0, r4, #0x140
|
||||
mov r0, #0x9c
|
||||
bne _0234C888
|
||||
mla r0, r5, r0, r4
|
||||
ldr r1, [r0, #0x8c]
|
||||
cmp r1, #1
|
||||
bne _0234C8B8
|
||||
cmp r2, #3
|
||||
ldr r1, [r0, #0x94]
|
||||
bne _0234C864
|
||||
mov r2, #2
|
||||
bl StartFadeDungeon
|
||||
b _0234C86C
|
||||
_0234C864:
|
||||
mov r2, #4
|
||||
bl StartFadeDungeon
|
||||
_0234C86C:
|
||||
ldr r0, _0234C9E0 ; =DUNGEON_FADES_PTR
|
||||
ldr r0, [r0]
|
||||
add r1, r0, #0x140
|
||||
ldrb r0, [r1, r5]
|
||||
add r0, r0, #1
|
||||
strb r0, [r1, r5]
|
||||
b _0234C8B8
|
||||
_0234C888:
|
||||
mul r3, r5, r0
|
||||
add r0, r4, r3
|
||||
ldr r0, [r0, #0x8c]
|
||||
cmp r0, #1
|
||||
bne _0234C8B8
|
||||
add r0, r4, r5
|
||||
mov r2, #0
|
||||
strb r2, [r0, #0x140]
|
||||
ldr r0, [r1]
|
||||
add r0, r0, r3
|
||||
bl ov29_0234C354
|
||||
ldmia sp!, {r3, r4, r5, pc}
|
||||
_0234C8B8:
|
||||
ldr r1, _0234C9E0 ; =DUNGEON_FADES_PTR
|
||||
mov r0, #0x9c
|
||||
ldr r1, [r1]
|
||||
mla r4, r5, r0, r1
|
||||
ldrb r0, [r4, #0x98]
|
||||
cmp r0, #0
|
||||
ldmeqia sp!, {r3, r4, r5, pc}
|
||||
ldrb r0, [r4, #0x88]
|
||||
cmp r0, #1
|
||||
bne _0234C8EC
|
||||
mov r0, r4
|
||||
bl ov29_0234C3A0
|
||||
b _0234C918
|
||||
_0234C8EC:
|
||||
ldrb r0, [r4, #0x99]
|
||||
cmp r0, #0
|
||||
mov r0, r4
|
||||
beq _0234C914
|
||||
bl ov29_0234C3A0
|
||||
cmp r0, #0
|
||||
beq _0234C918
|
||||
add r0, r4, #0x48
|
||||
bl sub_0201F2A0
|
||||
b _0234C918
|
||||
_0234C914:
|
||||
bl ov29_0234C3A0
|
||||
_0234C918:
|
||||
ldr r0, [r4, #0x8c]
|
||||
cmp r0, #5
|
||||
addls pc, pc, r0, lsl #2
|
||||
ldmia sp!, {r3, r4, r5, pc}
|
||||
_0234C928: ; jump table
|
||||
ldmia sp!, {r3, r4, r5, pc} ; case 0
|
||||
ldmia sp!, {r3, r4, r5, pc} ; case 1
|
||||
b _0234C9BC ; case 2
|
||||
b _0234C968 ; case 3
|
||||
b _0234C994 ; case 4
|
||||
b _0234C940 ; case 5
|
||||
_0234C940:
|
||||
ldr r1, [r4, #0x90]
|
||||
ldr r0, [r4, #0x94]
|
||||
add r0, r1, r0
|
||||
str r0, [r4, #0x90]
|
||||
cmp r0, #0x10000
|
||||
movge r0, #0x10000
|
||||
strge r0, [r4, #0x90]
|
||||
movge r0, #1
|
||||
strge r0, [r4, #0x8c]
|
||||
ldmia sp!, {r3, r4, r5, pc}
|
||||
_0234C968:
|
||||
ldr r2, [r4, #0x90]
|
||||
ldr r1, [r4, #0x94]
|
||||
mov r0, #0x10000
|
||||
sub r1, r2, r1
|
||||
rsb r0, r0, #0
|
||||
str r1, [r4, #0x90]
|
||||
cmp r1, r0
|
||||
strle r0, [r4, #0x90]
|
||||
movle r0, #1
|
||||
strle r0, [r4, #0x8c]
|
||||
ldmia sp!, {r3, r4, r5, pc}
|
||||
_0234C994:
|
||||
ldr r1, [r4, #0x90]
|
||||
ldr r0, [r4, #0x94]
|
||||
sub r0, r1, r0
|
||||
str r0, [r4, #0x90]
|
||||
cmp r0, #0
|
||||
movle r0, #0
|
||||
strle r0, [r4, #0x90]
|
||||
movle r0, #1
|
||||
strle r0, [r4, #0x8c]
|
||||
ldmia sp!, {r3, r4, r5, pc}
|
||||
_0234C9BC:
|
||||
ldr r1, [r4, #0x90]
|
||||
ldr r0, [r4, #0x94]
|
||||
adds r0, r1, r0
|
||||
str r0, [r4, #0x90]
|
||||
movpl r0, #0
|
||||
strpl r0, [r4, #0x90]
|
||||
movpl r0, #1
|
||||
strpl r0, [r4, #0x8c]
|
||||
ldmia sp!, {r3, r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0234C9E0: .word DUNGEON_FADES_PTR
|
||||
arm_func_end HandleFadesDungeon
|
||||
|
||||
arm_func_start HandleFadesDungeonBothScreens
|
||||
HandleFadesDungeonBothScreens: ; 0x0234C9E4
|
||||
stmdb sp!, {r3, lr}
|
||||
mov r0, #0
|
||||
bl HandleFadesDungeon
|
||||
mov r0, #1
|
||||
bl HandleFadesDungeon
|
||||
ldmia sp!, {r3, pc}
|
||||
arm_func_end HandleFadesDungeonBothScreens
|
||||
|
||||
arm_func_start ov29_0234C9FC
|
||||
ov29_0234C9FC: ; 0x0234C9FC
|
||||
stmdb sp!, {r3, lr}
|
||||
mov r0, #8
|
||||
mov r1, #0
|
||||
bl MemAlloc
|
||||
ldr r1, _0234CA28 ; =ov29_023537E4
|
||||
mov r2, #0
|
||||
str r0, [r1]
|
||||
str r2, [r0, #4]
|
||||
ldr r0, [r1]
|
||||
str r2, [r0]
|
||||
ldmia sp!, {r3, pc}
|
||||
.align 2, 0
|
||||
_0234CA28: .word ov29_023537E4
|
||||
arm_func_end ov29_0234C9FC
|
||||
|
||||
arm_func_start ov29_0234CA2C
|
||||
ov29_0234CA2C: ; 0x0234CA2C
|
||||
stmdb sp!, {r3, lr}
|
||||
mov r0, #0x21
|
||||
bl OverlayIsLoaded
|
||||
cmp r0, #0
|
||||
beq _0234CA48
|
||||
mov r0, #0x21
|
||||
bl UnloadOverlay
|
||||
_0234CA48:
|
||||
ldr r0, _0234CA64 ; =ov29_023537E4
|
||||
ldr r0, [r0]
|
||||
bl MemFree
|
||||
ldr r0, _0234CA64 ; =ov29_023537E4
|
||||
mov r1, #0
|
||||
str r1, [r0]
|
||||
ldmia sp!, {r3, pc}
|
||||
.align 2, 0
|
||||
_0234CA64: .word ov29_023537E4
|
||||
arm_func_end ov29_0234CA2C
|
||||
771
asm/overlay_29_0234CA84.s
Normal file
771
asm/overlay_29_0234CA84.s
Normal file
@@ -0,0 +1,771 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "overlay_29_0234CA84.inc"
|
||||
|
||||
.text
|
||||
|
||||
arm_func_start ov29_0234CA84
|
||||
ov29_0234CA84: ; 0x0234CA84
|
||||
stmdb sp!, {r3, lr}
|
||||
ldr r0, _0234CAC4 ; =ov29_023537E4
|
||||
mov r3, #1
|
||||
ldr r1, [r0]
|
||||
ldr r2, _0234CAC8 ; =ov29_0237D000
|
||||
str r3, [r1]
|
||||
ldr r1, [r0]
|
||||
mov r0, #0x21
|
||||
str r2, [r1, #4]
|
||||
bl LoadOverlay
|
||||
ldr r0, _0234CAC4 ; =ov29_023537E4
|
||||
mov r1, #0x5800
|
||||
ldr r0, [r0]
|
||||
ldr r0, [r0, #4]
|
||||
bl WriteQuicksaveData
|
||||
ldmia sp!, {r3, pc}
|
||||
.align 2, 0
|
||||
_0234CAC4: .word ov29_023537E4
|
||||
_0234CAC8: .word ov29_0237D000
|
||||
arm_func_end ov29_0234CA84
|
||||
|
||||
arm_func_start ov29_0234CACC
|
||||
ov29_0234CACC: ; 0x0234CACC
|
||||
stmdb sp!, {r3, lr}
|
||||
mov r0, #0x21
|
||||
bl OverlayIsLoaded
|
||||
cmp r0, #0
|
||||
beq _0234CAE8
|
||||
mov r0, #0x21
|
||||
bl UnloadOverlay
|
||||
_0234CAE8:
|
||||
ldr r0, _0234CAFC ; =ov29_023537E4
|
||||
mov r1, #0
|
||||
ldr r0, [r0]
|
||||
str r1, [r0]
|
||||
ldmia sp!, {r3, pc}
|
||||
.align 2, 0
|
||||
_0234CAFC: .word ov29_023537E4
|
||||
arm_func_end ov29_0234CACC
|
||||
|
||||
arm_func_start ov29_0234CB00
|
||||
ov29_0234CB00: ; 0x0234CB00
|
||||
ldr r0, _0234CB28 ; =ov29_023537E4
|
||||
mov r3, #2
|
||||
ldr r1, [r0]
|
||||
ldr r2, _0234CB2C ; =ov29_0237D000
|
||||
str r3, [r1]
|
||||
ldr r1, [r0]
|
||||
ldr ip, _0234CB30 ; =LoadOverlay
|
||||
mov r0, #0x21
|
||||
str r2, [r1, #4]
|
||||
bx ip
|
||||
.align 2, 0
|
||||
_0234CB28: .word ov29_023537E4
|
||||
_0234CB2C: .word ov29_0237D000
|
||||
_0234CB30: .word LoadOverlay
|
||||
arm_func_end ov29_0234CB00
|
||||
|
||||
arm_func_start ov29_0234CB34
|
||||
ov29_0234CB34: ; 0x0234CB34
|
||||
ldr r0, _0234CB4C ; =ov29_023537E4
|
||||
ldr ip, _0234CB50 ; =ov30_023842F4
|
||||
ldr r0, [r0]
|
||||
mov r1, #0x5800
|
||||
ldr r0, [r0, #4]
|
||||
bx ip
|
||||
.align 2, 0
|
||||
_0234CB4C: .word ov29_023537E4
|
||||
_0234CB50: .word ov30_023842F4
|
||||
arm_func_end ov29_0234CB34
|
||||
|
||||
arm_func_start ov29_0234CB54
|
||||
ov29_0234CB54: ; 0x0234CB54
|
||||
stmdb sp!, {r3, lr}
|
||||
mov r0, #0x21
|
||||
bl OverlayIsLoaded
|
||||
cmp r0, #0
|
||||
beq _0234CB70
|
||||
mov r0, #0x21
|
||||
bl UnloadOverlay
|
||||
_0234CB70:
|
||||
ldr r0, _0234CB84 ; =ov29_023537E4
|
||||
mov r1, #0
|
||||
ldr r0, [r0]
|
||||
str r1, [r0]
|
||||
ldmia sp!, {r3, pc}
|
||||
.align 2, 0
|
||||
_0234CB84: .word ov29_023537E4
|
||||
arm_func_end ov29_0234CB54
|
||||
|
||||
arm_func_start DisplayFloorTip
|
||||
DisplayFloorTip: ; 0x0234CB88
|
||||
stmdb sp!, {r3, lr}
|
||||
bl GetLeader
|
||||
ldr r2, _0234CC88 ; =DUNGEON_PTR
|
||||
mvn r3, #0
|
||||
ldr r1, [r2]
|
||||
ldr r0, _0234CC8C ; =ov29_023532C0
|
||||
add r1, r1, #0x100
|
||||
strh r3, [r1, #0xd8]
|
||||
ldr r2, [r2]
|
||||
mov r1, #1
|
||||
add r2, r2, #0x100
|
||||
strh r3, [r2, #0xda]
|
||||
bl DisplayDungeonTip
|
||||
cmp r0, #0
|
||||
ldmneia sp!, {r3, pc}
|
||||
ldr r0, _0234CC90 ; =ov29_023532B8
|
||||
mov r1, #1
|
||||
bl DisplayDungeonTip
|
||||
cmp r0, #0
|
||||
ldmneia sp!, {r3, pc}
|
||||
ldr r0, _0234CC94 ; =ov29_023532B0
|
||||
mov r1, #1
|
||||
bl DisplayDungeonTip
|
||||
cmp r0, #0
|
||||
ldmneia sp!, {r3, pc}
|
||||
ldr r0, _0234CC98 ; =ov29_02353240
|
||||
mov r1, #1
|
||||
bl DisplayDungeonTip
|
||||
cmp r0, #0
|
||||
ldreq r0, _0234CC88 ; =DUNGEON_PTR
|
||||
ldreq r0, [r0]
|
||||
ldreqb r0, [r0, #0x748]
|
||||
cmpeq r0, #3
|
||||
ldmneia sp!, {r3, pc}
|
||||
ldr r0, _0234CC9C ; =ov29_023532A0
|
||||
mov r1, #1
|
||||
bl DisplayDungeonTip
|
||||
cmp r0, #0
|
||||
ldmneia sp!, {r3, pc}
|
||||
ldr r0, _0234CCA0 ; =ov29_02353298
|
||||
mov r1, #1
|
||||
bl DisplayDungeonTip
|
||||
cmp r0, #0
|
||||
ldmneia sp!, {r3, pc}
|
||||
ldr r0, _0234CCA4 ; =ov29_02353290
|
||||
mov r1, #1
|
||||
bl DisplayDungeonTip
|
||||
cmp r0, #0
|
||||
ldmneia sp!, {r3, pc}
|
||||
ldr r0, _0234CCA8 ; =ov29_02353278
|
||||
mov r1, #1
|
||||
bl DisplayDungeonTip
|
||||
cmp r0, #0
|
||||
ldmneia sp!, {r3, pc}
|
||||
ldr r0, _0234CCAC ; =ov29_02353238
|
||||
mov r1, #1
|
||||
bl DisplayDungeonTip
|
||||
cmp r0, #0
|
||||
ldmneia sp!, {r3, pc}
|
||||
ldr r0, _0234CCB0 ; =ov29_023532E0
|
||||
mov r1, #1
|
||||
bl DisplayDungeonTip
|
||||
cmp r0, #0
|
||||
ldmia sp!, {r3, pc}
|
||||
.align 2, 0
|
||||
_0234CC88: .word DUNGEON_PTR
|
||||
_0234CC8C: .word ov29_023532C0
|
||||
_0234CC90: .word ov29_023532B8
|
||||
_0234CC94: .word ov29_023532B0
|
||||
_0234CC98: .word ov29_02353240
|
||||
_0234CC9C: .word ov29_023532A0
|
||||
_0234CCA0: .word ov29_02353298
|
||||
_0234CCA4: .word ov29_02353290
|
||||
_0234CCA8: .word ov29_02353278
|
||||
_0234CCAC: .word ov29_02353238
|
||||
_0234CCB0: .word ov29_023532E0
|
||||
arm_func_end DisplayFloorTip
|
||||
|
||||
arm_func_start DisplayItemTip
|
||||
DisplayItemTip: ; 0x0234CCB4
|
||||
stmdb sp!, {r4, lr}
|
||||
ldr r2, _0234CEA4 ; =DUNGEON_PTR
|
||||
mvn r3, #0
|
||||
ldr r1, [r2]
|
||||
mov r4, r0
|
||||
add r1, r1, #0x100
|
||||
strh r3, [r1, #0xd8]
|
||||
ldr r1, [r2]
|
||||
add r1, r1, #0x100
|
||||
strh r3, [r1, #0xda]
|
||||
bl GetItemCategoryVeneer
|
||||
cmp r0, #3
|
||||
bne _0234CCF8
|
||||
ldr r0, _0234CEA8 ; =ov29_023532F0
|
||||
mov r1, #0
|
||||
bl DisplayDungeonTip
|
||||
ldmia sp!, {r4, pc}
|
||||
_0234CCF8:
|
||||
cmp r4, #0x46
|
||||
bne _0234CD10
|
||||
ldr r0, _0234CEAC ; =ov29_023532F8
|
||||
mov r1, #0
|
||||
bl DisplayDungeonTip
|
||||
ldmia sp!, {r4, pc}
|
||||
_0234CD10:
|
||||
cmp r4, #0x52
|
||||
bne _0234CD28
|
||||
ldr r0, _0234CEB0 ; =ov29_023532D8
|
||||
mov r1, #0
|
||||
bl DisplayDungeonTip
|
||||
ldmia sp!, {r4, pc}
|
||||
_0234CD28:
|
||||
cmp r4, #0x57
|
||||
bne _0234CD40
|
||||
ldr r0, _0234CEB4 ; =ov29_023532C8
|
||||
mov r1, #0
|
||||
bl DisplayDungeonTip
|
||||
ldmia sp!, {r4, pc}
|
||||
_0234CD40:
|
||||
cmp r4, #8
|
||||
bne _0234CD58
|
||||
ldr r0, _0234CEB8 ; =ov29_02353250
|
||||
mov r1, #0
|
||||
bl DisplayDungeonTip
|
||||
ldmia sp!, {r4, pc}
|
||||
_0234CD58:
|
||||
cmp r4, #0x51
|
||||
bne _0234CD70
|
||||
ldr r0, _0234CEBC ; =ov29_02353248
|
||||
mov r1, #0
|
||||
bl DisplayDungeonTip
|
||||
ldmia sp!, {r4, pc}
|
||||
_0234CD70:
|
||||
cmp r4, #0x54
|
||||
bne _0234CD88
|
||||
ldr r0, _0234CEC0 ; =ov29_02353270
|
||||
mov r1, #0
|
||||
bl DisplayDungeonTip
|
||||
ldmia sp!, {r4, pc}
|
||||
_0234CD88:
|
||||
cmp r4, #0xb7
|
||||
bne _0234CDA0
|
||||
ldr r0, _0234CEC4 ; =ov29_02353280
|
||||
mov r1, #0
|
||||
bl DisplayDungeonTip
|
||||
ldmia sp!, {r4, pc}
|
||||
_0234CDA0:
|
||||
cmp r4, #0x63
|
||||
bne _0234CDB8
|
||||
ldr r0, _0234CEC8 ; =ov29_023532A8
|
||||
mov r1, #0
|
||||
bl DisplayDungeonTip
|
||||
ldmia sp!, {r4, pc}
|
||||
_0234CDB8:
|
||||
cmp r4, #0x45
|
||||
bne _0234CDD0
|
||||
ldr r0, _0234CECC ; =ov29_02353300
|
||||
mov r1, #0
|
||||
bl DisplayDungeonTip
|
||||
ldmia sp!, {r4, pc}
|
||||
_0234CDD0:
|
||||
cmp r4, #0x5b
|
||||
bne _0234CDE8
|
||||
ldr r0, _0234CED0 ; =ov29_02353258
|
||||
mov r1, #0
|
||||
bl DisplayDungeonTip
|
||||
ldmia sp!, {r4, pc}
|
||||
_0234CDE8:
|
||||
cmp r4, #0x56
|
||||
bne _0234CE00
|
||||
ldr r0, _0234CED4 ; =ov29_02353268
|
||||
mov r1, #0
|
||||
bl DisplayDungeonTip
|
||||
ldmia sp!, {r4, pc}
|
||||
_0234CE00:
|
||||
cmp r4, #0x5e
|
||||
bne _0234CE18
|
||||
ldr r0, _0234CED8 ; =ov29_02353288
|
||||
mov r1, #0
|
||||
bl DisplayDungeonTip
|
||||
ldmia sp!, {r4, pc}
|
||||
_0234CE18:
|
||||
cmp r4, #0x4c
|
||||
bne _0234CE30
|
||||
ldr r0, _0234CEDC ; =ov29_023532E8
|
||||
mov r1, #0
|
||||
bl DisplayDungeonTip
|
||||
ldmia sp!, {r4, pc}
|
||||
_0234CE30:
|
||||
cmp r4, #0x60
|
||||
bne _0234CE48
|
||||
ldr r0, _0234CEE0 ; =ov29_02353260
|
||||
mov r1, #0
|
||||
bl DisplayDungeonTip
|
||||
ldmia sp!, {r4, pc}
|
||||
_0234CE48:
|
||||
cmp r4, #0x75
|
||||
bne _0234CE60
|
||||
ldr r0, _0234CEE4 ; =ov29_02353308
|
||||
mov r1, #0
|
||||
bl DisplayDungeonTip
|
||||
ldmia sp!, {r4, pc}
|
||||
_0234CE60:
|
||||
ldr r0, _0234CEA4 ; =DUNGEON_PTR
|
||||
ldr r0, [r0]
|
||||
ldrb r0, [r0, #0x748]
|
||||
#ifdef JAPAN
|
||||
cmp r0, #0x7a
|
||||
#else
|
||||
cmp r0, #0x7b
|
||||
#endif
|
||||
ldmneia sp!, {r4, pc}
|
||||
ldr r0, _0234CEE8 ; =0xFFFFFED2
|
||||
add r0, r4, r0
|
||||
mov r0, r0, lsl #0x10
|
||||
mov r0, r0, asr #0x10
|
||||
mov r0, r0, lsl #0x10
|
||||
mov r0, r0, lsr #0x10
|
||||
cmp r0, #1
|
||||
ldmhiia sp!, {r4, pc}
|
||||
ldr r0, _0234CEEC ; =ov29_02353310
|
||||
mov r1, #0
|
||||
bl DisplayDungeonTip
|
||||
ldmia sp!, {r4, pc}
|
||||
.align 2, 0
|
||||
_0234CEA4: .word DUNGEON_PTR
|
||||
_0234CEA8: .word ov29_023532F0
|
||||
_0234CEAC: .word ov29_023532F8
|
||||
_0234CEB0: .word ov29_023532D8
|
||||
_0234CEB4: .word ov29_023532C8
|
||||
_0234CEB8: .word ov29_02353250
|
||||
_0234CEBC: .word ov29_02353248
|
||||
_0234CEC0: .word ov29_02353270
|
||||
_0234CEC4: .word ov29_02353280
|
||||
_0234CEC8: .word ov29_023532A8
|
||||
_0234CECC: .word ov29_02353300
|
||||
_0234CED0: .word ov29_02353258
|
||||
_0234CED4: .word ov29_02353268
|
||||
_0234CED8: .word ov29_02353288
|
||||
_0234CEDC: .word ov29_023532E8
|
||||
_0234CEE0: .word ov29_02353260
|
||||
_0234CEE4: .word ov29_02353308
|
||||
_0234CEE8: .word 0xFFFFFED2
|
||||
_0234CEEC: .word ov29_02353310
|
||||
arm_func_end DisplayItemTip
|
||||
|
||||
arm_func_start DisplayDungeonTip
|
||||
DisplayDungeonTip: ; 0x0234CEF0
|
||||
stmdb sp!, {r3, r4, r5, lr}
|
||||
mov r5, r0
|
||||
ldr r0, [r5]
|
||||
mov r4, r1
|
||||
bl GetDungeonTipShown
|
||||
cmp r0, #0
|
||||
bne _0234CF58
|
||||
ldrh r0, [r5, #4]
|
||||
bl StringFromId
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
beq _0234CF58
|
||||
ldr r0, [r5]
|
||||
bl SetDungeonTipShown
|
||||
bl ov29_022EACBC
|
||||
ldrh r1, [r5, #4]
|
||||
mov r0, #0
|
||||
mov r2, #1
|
||||
bl DisplayMessage2
|
||||
cmp r4, #0
|
||||
beq _0234CF50
|
||||
bl GetLeader
|
||||
ldrh r1, [r5, #4]
|
||||
bl LogMessageByIdQuiet
|
||||
_0234CF50:
|
||||
mov r0, #1
|
||||
ldmia sp!, {r3, r4, r5, pc}
|
||||
_0234CF58:
|
||||
mov r0, #0
|
||||
ldmia sp!, {r3, r4, r5, pc}
|
||||
arm_func_end DisplayDungeonTip
|
||||
|
||||
arm_func_start SetBothScreensWindowColorToDefault
|
||||
SetBothScreensWindowColorToDefault: ; 0x0234CF60
|
||||
stmdb sp!, {r3, lr}
|
||||
bl GetGameMode
|
||||
cmp r0, #3
|
||||
bne _0234CF7C
|
||||
mov r0, #2
|
||||
bl SetBothScreensWindowsColor
|
||||
ldmia sp!, {r3, pc}
|
||||
_0234CF7C:
|
||||
bl GetPlayerGender
|
||||
cmp r0, #1
|
||||
bne _0234CF94
|
||||
mov r0, #0
|
||||
bl SetBothScreensWindowsColor
|
||||
ldmia sp!, {r3, pc}
|
||||
_0234CF94:
|
||||
mov r0, #1
|
||||
bl SetBothScreensWindowsColor
|
||||
ldmia sp!, {r3, pc}
|
||||
arm_func_end SetBothScreensWindowColorToDefault
|
||||
|
||||
arm_func_start ov29_0234CFA0
|
||||
ov29_0234CFA0: ; 0x0234CFA0
|
||||
stmdb sp!, {r3, lr}
|
||||
bl IsFullFloorFixedRoom
|
||||
cmp r0, #0
|
||||
movne r0, #2
|
||||
ldmneia sp!, {r3, pc}
|
||||
ldr r0, _0234CFE8 ; =DUNGEON_PTR
|
||||
ldr r0, [r0]
|
||||
ldrb r0, [r0, #0x748]
|
||||
bl IsFutureDungeon
|
||||
cmp r0, #0
|
||||
bne _0234CFD8
|
||||
bl IsSecretFloor
|
||||
cmp r0, #0
|
||||
beq _0234CFE0
|
||||
_0234CFD8:
|
||||
mov r0, #1
|
||||
ldmia sp!, {r3, pc}
|
||||
_0234CFE0:
|
||||
mov r0, #0
|
||||
ldmia sp!, {r3, pc}
|
||||
.align 2, 0
|
||||
_0234CFE8: .word DUNGEON_PTR
|
||||
arm_func_end ov29_0234CFA0
|
||||
|
||||
arm_func_start GetPersonalityIndex
|
||||
GetPersonalityIndex: ; 0x0234CFEC
|
||||
stmdb sp!, {r3, r4, r5, lr}
|
||||
mov r5, r0
|
||||
ldrb r0, [r5, #0x48]
|
||||
cmp r0, #0xd8
|
||||
cmpne r0, #0xf9
|
||||
cmpne r0, #0xf7
|
||||
cmpne r0, #0xf8
|
||||
beq _0234D1D4
|
||||
cmp r0, #0xd6
|
||||
blo _0234D1D4
|
||||
cmp r0, #0xd7
|
||||
bne _0234D04C
|
||||
mov r0, #0
|
||||
mov r1, #0x43
|
||||
bl LoadScriptVariableValue
|
||||
cmp r0, #1
|
||||
moveq r4, #0x4b0
|
||||
beq _0234D1E0
|
||||
cmp r0, #2
|
||||
ldreq r4, _0234D1E8 ; =0x000004B1
|
||||
beq _0234D1E0
|
||||
cmp r0, #3
|
||||
ldreq r4, _0234D1EC ; =0x000004B2
|
||||
b _0234D1E0
|
||||
_0234D04C:
|
||||
cmp r0, #0xd6
|
||||
bne _0234D0A0
|
||||
ldrsh r2, [r5, #2]
|
||||
ldr r1, _0234D1F0 ; =0x000001B2
|
||||
cmp r2, r1
|
||||
ldreq r4, _0234D1F4 ; =0x000004CD
|
||||
beq _0234D1E0
|
||||
cmp r2, #0xae
|
||||
addeq r4, r1, #0x31c
|
||||
beq _0234D1E0
|
||||
add r0, r1, #0x27c
|
||||
cmp r2, r0
|
||||
ldreq r4, _0234D1F8 ; =0x000004CF
|
||||
beq _0234D1E0
|
||||
sub r0, r1, #0x99
|
||||
cmp r2, r0
|
||||
moveq r4, #0x4d0
|
||||
beq _0234D1E0
|
||||
cmp r2, #0x318
|
||||
ldreq r4, _0234D1FC ; =0x000004D1
|
||||
b _0234D1E0
|
||||
_0234D0A0:
|
||||
cmp r0, #0xda
|
||||
#ifdef JAPAN
|
||||
bne _0234E334
|
||||
ldr r0, _0234D204 ; =DUNGEON_PTR
|
||||
ldr r0, [r0]
|
||||
ldrb r0, [r0, #0x748]
|
||||
bl IsFutureDungeon
|
||||
cmp r0, #0
|
||||
ldrne r0, _0234E48C ; =0x000004BC
|
||||
ldreq r0, _0234D200 ; =0x000004B3
|
||||
mov r0, r0, lsl #0x10
|
||||
mov r4, r0, asr #0x10
|
||||
b _0234D1E0
|
||||
_0234E334:
|
||||
#else
|
||||
ldreq r4, _0234D200 ; =0x000004B3
|
||||
beq _0234D1E0
|
||||
#endif
|
||||
cmp r0, #0xed
|
||||
bne _0234D148
|
||||
ldr r0, _0234D204 ; =DUNGEON_PTR
|
||||
ldr r0, [r0]
|
||||
ldrb r1, [r0, #0x748]
|
||||
add r0, r1, #0x7b
|
||||
and r0, r0, #0xff
|
||||
cmp r0, #2
|
||||
ldrls r4, _0234D208 ; =0x000004C4
|
||||
bls _0234D1E0
|
||||
cmp r1, #0x88
|
||||
ldreq r4, _0234D20C ; =0x000004C6
|
||||
beq _0234D1E0
|
||||
add r0, r1, #0x77
|
||||
and r0, r0, #0xff
|
||||
cmp r0, #1
|
||||
ldrls r4, _0234D210 ; =0x000004C7
|
||||
bls _0234D1E0
|
||||
add r0, r1, #0x75
|
||||
and r0, r0, #0xff
|
||||
cmp r0, #1
|
||||
ldrls r4, _0234D214 ; =0x000004C8
|
||||
bls _0234D1E0
|
||||
cmp r1, #0x8d
|
||||
ldreq r4, _0234D218 ; =0x000004C9
|
||||
beq _0234D1E0
|
||||
add r0, r1, #0x72
|
||||
and r0, r0, #0xff
|
||||
cmp r0, #2
|
||||
ldrls r4, _0234D21C ; =0x000004CA
|
||||
bls _0234D1E0
|
||||
cmp r1, #0x91
|
||||
ldreq r4, _0234D220 ; =0x000004CB
|
||||
beq _0234D1E0
|
||||
add r0, r1, #0x6e
|
||||
and r0, r0, #0xff
|
||||
cmp r0, #2
|
||||
ldrls r4, _0234D224 ; =0x000004CC
|
||||
b _0234D1E0
|
||||
_0234D148:
|
||||
cmp r0, #0xe2
|
||||
bne _0234D170
|
||||
mov r0, #0x1a
|
||||
bl GetPerformanceFlagWithChecks
|
||||
cmp r0, #0
|
||||
beq _0234D170
|
||||
ldrsh r0, [r5, #2]
|
||||
bl sub_02025784
|
||||
mov r4, r0
|
||||
b _0234D1E0
|
||||
_0234D170:
|
||||
ldr r1, _0234D228 ; =ov29_023537E8
|
||||
b _0234D1C4
|
||||
_0234D178:
|
||||
ldrb r0, [r5, #0x48]
|
||||
cmp r0, r2
|
||||
bne _0234D1C0
|
||||
ldrsh r4, [r1, #2]
|
||||
ldr r0, _0234D22C ; =0x000004B8
|
||||
cmp r4, r0
|
||||
bne _0234D1A8
|
||||
ldrsh r0, [r5, #2]
|
||||
cmp r0, #0x1f8
|
||||
cmpne r0, #0x51
|
||||
ldreq r4, _0234D230 ; =0x000004D3
|
||||
beq _0234D1E0
|
||||
_0234D1A8:
|
||||
cmp r4, #0
|
||||
bne _0234D1E0
|
||||
ldrsh r0, [r5, #2]
|
||||
bl sub_02025784
|
||||
mov r4, r0
|
||||
b _0234D1E0
|
||||
_0234D1C0:
|
||||
add r1, r1, #4
|
||||
_0234D1C4:
|
||||
ldrb r2, [r1]
|
||||
cmp r2, #0xff
|
||||
bne _0234D178
|
||||
b _0234D1E0
|
||||
_0234D1D4:
|
||||
ldrsh r0, [r5, #4]
|
||||
bl sub_02025784
|
||||
mov r4, r0
|
||||
_0234D1E0:
|
||||
mov r0, r4
|
||||
ldmia sp!, {r3, r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0234D1E8: .word 0x000004B1
|
||||
_0234D1EC: .word 0x000004B2
|
||||
_0234D1F0: .word 0x000001B2
|
||||
_0234D1F4: .word 0x000004CD
|
||||
_0234D1F8: .word 0x000004CF
|
||||
_0234D1FC: .word 0x000004D1
|
||||
#ifdef JAPAN
|
||||
_0234D204: .word DUNGEON_PTR
|
||||
_0234E48C: .word 0x000004BC
|
||||
_0234D200: .word 0x000004B3
|
||||
#else
|
||||
_0234D200: .word 0x000004B3
|
||||
_0234D204: .word DUNGEON_PTR
|
||||
#endif
|
||||
_0234D208: .word 0x000004C4
|
||||
_0234D20C: .word 0x000004C6
|
||||
_0234D210: .word 0x000004C7
|
||||
_0234D214: .word 0x000004C8
|
||||
_0234D218: .word 0x000004C9
|
||||
_0234D21C: .word 0x000004CA
|
||||
_0234D220: .word 0x000004CB
|
||||
_0234D224: .word 0x000004CC
|
||||
_0234D228: .word ov29_023537E8
|
||||
_0234D22C: .word 0x000004B8
|
||||
_0234D230: .word 0x000004D3
|
||||
arm_func_end GetPersonalityIndex
|
||||
|
||||
arm_func_start ov29_0234D234
|
||||
ov29_0234D234: ; 0x0234D234
|
||||
stmdb sp!, {r3, lr}
|
||||
sub sp, sp, #8
|
||||
ldr lr, [sp, #0x10]
|
||||
ldrb ip, [sp, #0x14]
|
||||
str lr, [sp]
|
||||
str ip, [sp, #4]
|
||||
bl ov29_0234D5D0
|
||||
add sp, sp, #8
|
||||
ldmia sp!, {r3, pc}
|
||||
arm_func_end ov29_0234D234
|
||||
|
||||
arm_func_start DisplayMessage
|
||||
DisplayMessage: ; 0x0234D258
|
||||
stmdb sp!, {r4, r5, r6, lr}
|
||||
sub sp, sp, #8
|
||||
mov r6, r0
|
||||
mov r5, r1
|
||||
mov r4, r2
|
||||
mov r0, #0xa
|
||||
bl ov29_0234BA54
|
||||
bl ov29_0234D558
|
||||
bl ov29_0234B034
|
||||
mov r1, r4
|
||||
mov r2, r6
|
||||
str r0, [sp]
|
||||
mov r0, r5
|
||||
mov r3, #0
|
||||
str r3, [sp, #4]
|
||||
bl DisplayMessageInternal
|
||||
mov r0, #0xb
|
||||
mov r1, #0
|
||||
bl ov29_022EA428
|
||||
add sp, sp, #8
|
||||
ldmia sp!, {r4, r5, r6, pc}
|
||||
arm_func_end DisplayMessage
|
||||
|
||||
arm_func_start DisplayMessage2
|
||||
DisplayMessage2: ; 0x0234D2AC
|
||||
stmdb sp!, {r4, r5, r6, lr}
|
||||
sub sp, sp, #8
|
||||
mov r6, r0
|
||||
mov r5, r1
|
||||
mov r4, r2
|
||||
mov r0, #0xa
|
||||
bl ov29_0234BA54
|
||||
bl ov29_0234D558
|
||||
bl ov29_0234B034
|
||||
mov r1, r4
|
||||
mov r2, r6
|
||||
str r0, [sp]
|
||||
mov r0, r5
|
||||
mov r3, #1
|
||||
str r3, [sp, #4]
|
||||
mov r3, #0
|
||||
bl DisplayMessageInternal
|
||||
mov r0, #0
|
||||
mov r1, r0
|
||||
bl ov29_022EA428
|
||||
add sp, sp, #8
|
||||
ldmia sp!, {r4, r5, r6, pc}
|
||||
arm_func_end DisplayMessage2
|
||||
|
||||
arm_func_start ov29_0234D304
|
||||
ov29_0234D304: ; 0x0234D304
|
||||
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
||||
sub sp, sp, #0x58
|
||||
ldr r4, _0234D454 ; =ov29_02353563
|
||||
mov r8, r0
|
||||
ldrb r0, [r4]
|
||||
mov r7, r1
|
||||
mov r6, r2
|
||||
mov r5, r3
|
||||
cmp r0, #0
|
||||
beq _0234D334
|
||||
mov r0, #0xa
|
||||
bl ov29_0234BA54
|
||||
_0234D334:
|
||||
bl ov29_0234D558
|
||||
mov r0, r8
|
||||
bl IsMonster__0234D460
|
||||
cmp r0, #0
|
||||
beq _0234D41C
|
||||
mov r0, r8
|
||||
bl IsMonster__0234D460
|
||||
cmp r0, #0
|
||||
beq _0234D3F8
|
||||
ldr r4, [r8, #0xb4]
|
||||
bl FixedRoomIsSubstituteRoom
|
||||
cmp r0, #0
|
||||
beq _0234D3BC
|
||||
bl GetRandomExplorerMazeMonster
|
||||
cmp r0, #0
|
||||
moveq r1, #0
|
||||
beq _0234D38C
|
||||
ldr r1, [r0]
|
||||
cmp r1, #0
|
||||
movne r1, #1
|
||||
moveq r1, #0
|
||||
and r1, r1, #0xff
|
||||
_0234D38C:
|
||||
cmp r1, #0
|
||||
moveq r0, #0
|
||||
streq r0, [sp, #8]
|
||||
beq _0234D3D0
|
||||
ldr r1, [r0, #0xb4]
|
||||
ldr r0, _0234D458 ; =ov29_02353368
|
||||
ldrb r1, [r1, #0xbc]
|
||||
sub r1, r1, #0xb
|
||||
orr r1, r1, #0x90000
|
||||
str r1, [sp, #8]
|
||||
bl Debug_Print0
|
||||
b _0234D3D0
|
||||
_0234D3BC:
|
||||
bl ov29_02337EE8
|
||||
mov r1, r0
|
||||
ldr r0, _0234D45C ; =ov29_02353380
|
||||
str r1, [sp, #8]
|
||||
bl Debug_Print0
|
||||
_0234D3D0:
|
||||
ldrsh r0, [r4, #4]
|
||||
str r0, [sp, #0xc]
|
||||
bl ov29_0233804C
|
||||
str r0, [sp, #0x18]
|
||||
mov r0, r8
|
||||
bl ov29_0231ADA8
|
||||
str r0, [sp, #0x1c]
|
||||
ldrsh r0, [r4, #0xc]
|
||||
orr r0, r0, #0x30000
|
||||
str r0, [sp, #0x54]
|
||||
_0234D3F8:
|
||||
add r3, sp, #8
|
||||
str r3, [sp]
|
||||
mov r3, #1
|
||||
mov r0, r6
|
||||
mov r1, r5
|
||||
mov r2, r7
|
||||
str r3, [sp, #4]
|
||||
bl ov29_0234D5D0
|
||||
b _0234D440
|
||||
_0234D41C:
|
||||
bl ov29_0234B034
|
||||
str r0, [sp]
|
||||
mov r4, #1
|
||||
mov r0, r6
|
||||
mov r1, r5
|
||||
mov r2, r7
|
||||
mov r3, #0
|
||||
str r4, [sp, #4]
|
||||
bl ov29_0234D5D0
|
||||
_0234D440:
|
||||
mov r0, #0
|
||||
mov r1, r0
|
||||
bl ov29_022EA428
|
||||
add sp, sp, #0x58
|
||||
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
||||
.align 2, 0
|
||||
_0234D454: .word ov29_02353563
|
||||
_0234D458: .word ov29_02353368
|
||||
_0234D45C: .word ov29_02353380
|
||||
arm_func_end ov29_0234D304
|
||||
20
include/main_0204AFF8.h
Normal file
20
include/main_0204AFF8.h
Normal file
@@ -0,0 +1,20 @@
|
||||
#ifndef PMDSKY_MAIN_0204AFF8_H
|
||||
#define PMDSKY_MAIN_0204AFF8_H
|
||||
|
||||
#include "util.h"
|
||||
|
||||
enum game_mode
|
||||
{
|
||||
GAME_MODE_MENU = 0, // top menu
|
||||
GAME_MODE_1 = 1, // also related to special episodes? But 3 is the main one
|
||||
GAME_MODE_NORMAL = 2, // normal play, including both overworld/dungeons
|
||||
GAME_MODE_SPECIAL_EPISODE = 3, // during special episodes
|
||||
// Pelipper Island (and likely also in the dungeon while rescuing, need to confirm)
|
||||
GAME_MODE_RESCUE = 4,
|
||||
GAME_MODE_5 = 5,
|
||||
// Possibly more?
|
||||
};
|
||||
|
||||
bool8 IsGameModeRescue();
|
||||
|
||||
#endif //PMDSKY_MAIN_0204AFF8_H
|
||||
7
include/overlay_29_022DC61C.h
Normal file
7
include/overlay_29_022DC61C.h
Normal file
@@ -0,0 +1,7 @@
|
||||
#ifndef PMDSKY_OVERLAY_29_022DC61C_H
|
||||
#define PMDSKY_OVERLAY_29_022DC61C_H
|
||||
|
||||
// mem init?
|
||||
void ov29_022DC61C();
|
||||
|
||||
#endif //PMDSKY_OVERLAY_29_022DC61C_H
|
||||
@@ -12,5 +12,7 @@ struct dungeon* GetDungeonPtrMaster(void);
|
||||
void DungeonZInit(void);
|
||||
// Frees the dungeons struct pointer to by the master dungeon pointer, and nullifies the pointer.
|
||||
void DungeonFree(void);
|
||||
void ov29_022DEADC();
|
||||
void ov29_022DEB40();
|
||||
|
||||
#endif //PMDSKY_OVERLAY_29_022DEAB0_H
|
||||
|
||||
6
include/overlay_29_0234BBE8.h
Normal file
6
include/overlay_29_0234BBE8.h
Normal file
@@ -0,0 +1,6 @@
|
||||
#ifndef PMDSKY_OVERLAY_29_0234BBE8_H
|
||||
#define PMDSKY_OVERLAY_29_0234BBE8_H
|
||||
|
||||
void ov29_0234BBE8();
|
||||
|
||||
#endif //PMDSKY_OVERLAY_29_0234BBE8_H
|
||||
7
include/overlay_29_0234CA68.h
Normal file
7
include/overlay_29_0234CA68.h
Normal file
@@ -0,0 +1,7 @@
|
||||
#ifndef PMDSKY_OVERLAY_29_0234CA68_H
|
||||
#define PMDSKY_OVERLAY_29_0234CA68_H
|
||||
|
||||
s32 ov29_0234CA68();
|
||||
s32 ov29_0234CA7C();
|
||||
|
||||
#endif //PMDSKY_OVERLAY_29_0234CA68_H
|
||||
10
main.lsf
10
main.lsf
@@ -43,6 +43,8 @@ Static main
|
||||
Object asm/main_0202598C.o
|
||||
Object src/main_020348E4.o
|
||||
Object asm/main_02034974.o
|
||||
Object src/main_0204AFF8.o
|
||||
Object asm/main_0204B018.o
|
||||
Object src/number_util.o
|
||||
Object asm/main_02051098.o
|
||||
Object src/main_02052874.o
|
||||
@@ -261,8 +263,10 @@ Overlay OVY_29
|
||||
Object asm/overlay_29_bss_02353860.o
|
||||
Object src/poly_text.o
|
||||
Object asm/overlay_29_022DC314.o
|
||||
Object src/overlay_29_022DC61C.o
|
||||
Object asm/overlay_29_022DC65C.o
|
||||
Object src/overlay_29_022DEAB0.o
|
||||
Object asm/overlay_29_022DEADC.o
|
||||
Object asm/overlay_29_022DEBA4.o
|
||||
Object src/dg.o
|
||||
Object asm/overlay_29_022E0378.o
|
||||
Object src/overlay_29_022E1610.o
|
||||
@@ -479,6 +483,10 @@ Overlay OVY_29
|
||||
Object asm/overlay_29_02347BC8.o
|
||||
Object src/overlay_29_0234987C.o
|
||||
Object asm/overlay_29_023498A0.o
|
||||
Object src/overlay_29_0234BBE8.o
|
||||
Object asm/overlay_29_0234BEE0.o
|
||||
Object src/overlay_29_0234CA68.o
|
||||
Object asm/overlay_29_0234CA84.o
|
||||
Object src/overlay_29_0234D460.o
|
||||
Object asm/overlay_29_0234D484.o
|
||||
Object src/overlay_29_0234DDD0.o
|
||||
|
||||
8
src/main_0204AFF8.c
Normal file
8
src/main_0204AFF8.c
Normal file
@@ -0,0 +1,8 @@
|
||||
#include "main_0204AFF8.h"
|
||||
|
||||
extern enum game_mode GAME_MODE;
|
||||
|
||||
bool8 IsGameModeRescue()
|
||||
{
|
||||
return GAME_MODE == GAME_MODE_RESCUE;
|
||||
}
|
||||
17
src/overlay_29_022DC61C.c
Normal file
17
src/overlay_29_022DC61C.c
Normal file
@@ -0,0 +1,17 @@
|
||||
#include "overlay_29_022DC61C.h"
|
||||
#include "main_0200330C.h"
|
||||
|
||||
extern u8 ov29_023538B4[0x0001963C];
|
||||
extern u8 *ov29_023534E0;
|
||||
|
||||
extern void ov29_022DC544(s32);
|
||||
extern void ov29_022DC240(u8*);
|
||||
extern void ov29_022DC314(u8*, u8*);
|
||||
|
||||
void ov29_022DC61C()
|
||||
{
|
||||
MemZero(ov29_023538B4, sizeof(ov29_023538B4));
|
||||
ov29_022DC544(0);
|
||||
ov29_022DC240(ov29_023538B4);
|
||||
ov29_022DC314(ov29_023538B4, ov29_023534E0);
|
||||
}
|
||||
@@ -5,6 +5,12 @@ extern struct dungeon* DUNGEON_PTR[];
|
||||
void MemFree(void* ptr);
|
||||
void MemZero(void* ptr, u32 len);
|
||||
void* MemAlloc(u32 len, u32 flags);
|
||||
void ov29_0234C654(s32);
|
||||
void sub_020091B0(s32, s32);
|
||||
void sub_02009194(s32, s32);
|
||||
void sub_020091B0(s32, s32);
|
||||
void StartFadeDungeonWrapper(s32, s32, s32);
|
||||
void ov29_0234C738(s32);
|
||||
|
||||
struct dungeon* DungeonAlloc(void)
|
||||
{
|
||||
@@ -13,7 +19,7 @@ struct dungeon* DungeonAlloc(void)
|
||||
#else
|
||||
void* buf = MemAlloc(0x0002CB14,0);
|
||||
#endif
|
||||
|
||||
|
||||
DUNGEON_PTR[1]=buf;
|
||||
}
|
||||
|
||||
@@ -39,3 +45,27 @@ void DungeonFree(void)
|
||||
MemFree(DUNGEON_PTR[1]);
|
||||
DUNGEON_PTR[1]=0;
|
||||
}
|
||||
|
||||
void ov29_022DEADC()
|
||||
{
|
||||
ov29_0234C654(0x20);
|
||||
sub_020091B0(0, 0);
|
||||
sub_020091B0(1, 0);
|
||||
sub_02009194(2, 0);
|
||||
sub_02009194(3, 0);
|
||||
sub_020091B0(4, 0);
|
||||
StartFadeDungeonWrapper(1, 0x4000, 0);
|
||||
ov29_0234C738(0);
|
||||
}
|
||||
|
||||
void ov29_022DEB40()
|
||||
{
|
||||
StartFadeDungeonWrapper(2, 0x4000, 0);
|
||||
ov29_0234C738(0);
|
||||
ov29_0234C654(1);
|
||||
sub_020091B0(0, 0);
|
||||
sub_020091B0(1, 0);
|
||||
sub_020091B0(2, 0);
|
||||
sub_020091B0(3, 0);
|
||||
sub_020091B0(4, 0);
|
||||
}
|
||||
|
||||
171
src/overlay_29_0234BBE8.c
Normal file
171
src/overlay_29_0234BBE8.c
Normal file
@@ -0,0 +1,171 @@
|
||||
#include "overlay_29_0234BBE8.h"
|
||||
#include "main_0204AFF8.h"
|
||||
#include "overlay_29_022DC61C.h"
|
||||
#include "overlay_29_0234CA68.h"
|
||||
#include "util.h"
|
||||
|
||||
struct unk_ov29_023537DC {
|
||||
s32 v0;
|
||||
u8 v4;
|
||||
s32 v8;
|
||||
u8 v0xc;
|
||||
u8 v0xd;
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
u8 v0;
|
||||
struct unk_ov29_023537DC *v4;
|
||||
} unk_ov29_023537D8_t;
|
||||
|
||||
extern unk_ov29_023537D8_t ov29_023537D8;
|
||||
void ov29_022DEBA4(); // thunk_FUN_022deadc
|
||||
void ov29_0234CB00();
|
||||
void ov30_02382820(s32, s32, s32);
|
||||
s32 ov30_02382874();
|
||||
void ov29_022DDEF8();
|
||||
s32 ov30_0238298C();
|
||||
void ov30_023829A0();
|
||||
void sub_02048DC4(s32);
|
||||
void ov29_022DEBB0();
|
||||
void sub_02051DD0(s32, s32);
|
||||
void sub_02051E60(s32, s32);
|
||||
void ov29_0234BEE0(s32);
|
||||
void ov29_0234BF04(s32);
|
||||
s32 GetDungeonPtrMaster();
|
||||
void RunDungeon(void *, s32);
|
||||
s32 sub_0205BAB0(void *);
|
||||
void ov29_022DE418();
|
||||
void sub_020091B0(s32, s32);
|
||||
void sub_02009194(s32, s32);
|
||||
void StartFadeDungeonWrapper(s32, s32, s32);
|
||||
void ov29_0234C738(s32);
|
||||
void SetAdventureLogDungeonFloor(void *);
|
||||
void StopBgmCommand();
|
||||
void ov30_023829CC(s32, s32, s32);
|
||||
void ov29_022DDE00(s32);
|
||||
void ov30_02382C30();
|
||||
void ov29_0234CACC();
|
||||
void ov29_022DC65C();
|
||||
void sub_02017B70();
|
||||
|
||||
void ov29_0234BBE8(void)
|
||||
{
|
||||
s32 uVar3;
|
||||
s32 uVar4;
|
||||
s32 uVar5;
|
||||
s32 iVar6;
|
||||
bool8 bVar1 = FALSE;
|
||||
struct unk_ov29_023537DC *iVar7 = ov29_023537D8.v4;
|
||||
ov29_022DC61C(); // mem init?
|
||||
if (iVar7[1].v4 != 0)
|
||||
{
|
||||
ov29_022DEBA4(); // thunk_FUN_022deadc/fade?
|
||||
ov29_0234CB00(); // do something with overlays
|
||||
uVar3 = ov29_0234CA68();
|
||||
uVar4 = ov29_0234CA7C();
|
||||
uVar5 = IsGameModeRescue(); // is GAME_MODE rescue?
|
||||
ov30_02382820(uVar3,uVar4,uVar5); // alloc these values
|
||||
while (iVar6 = ov30_02382874(), iVar6 != 0)
|
||||
{
|
||||
ov29_022DDEF8();
|
||||
}
|
||||
iVar6 = ov30_0238298C();
|
||||
ov30_023829A0();
|
||||
if (iVar6 != 0)
|
||||
{
|
||||
sub_02048DC4(0xF1208);
|
||||
}
|
||||
else
|
||||
{
|
||||
sub_02048DC4(0xF1209);
|
||||
}
|
||||
ov29_022DEBB0();
|
||||
if (iVar6 == 0)
|
||||
{
|
||||
iVar7[12].v0 = 5;
|
||||
bVar1 = TRUE;
|
||||
ov29_022DDEF8();
|
||||
}
|
||||
}
|
||||
while (!bVar1)
|
||||
{
|
||||
ov29_022DDEF8();
|
||||
if (ov29_023537D8.v0 != 0) continue;
|
||||
switch (ov29_023537D8.v4->v8)
|
||||
{
|
||||
case 1:
|
||||
sub_02051DD0(0,0);
|
||||
sub_02051DD0(1,0);
|
||||
sub_02051DD0(0,1);
|
||||
sub_02051DD0(1,1);
|
||||
sub_02051E60(0,0);
|
||||
sub_02051E60(1,0);
|
||||
sub_02051E60(0,1);
|
||||
sub_02051E60(1,1);
|
||||
ov29_0234BEE0(0);
|
||||
ov29_0234BEE0(1);
|
||||
ov29_0234BF04(0);
|
||||
ov29_0234BF04(1);
|
||||
uVar3 = GetDungeonPtrMaster();
|
||||
RunDungeon(&(ov29_023537D8.v4[1]), uVar3);
|
||||
bVar1 = TRUE;
|
||||
break;
|
||||
case 2:
|
||||
bVar1 = TRUE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (&(ov29_023537D8.v4[1]) == (void *)0) goto _0234beb8;
|
||||
iVar7 = &(ov29_023537D8.v4[1]);
|
||||
iVar6 = -2;
|
||||
if (iVar7[11].v0 == -2)
|
||||
{
|
||||
iVar6 = sub_0205BAB0(&(iVar7[11].v8));
|
||||
}
|
||||
if (iVar7[11].v0 != 3)
|
||||
{
|
||||
iVar6 = -2;
|
||||
if (iVar7[11].v0 != iVar6) goto _0234beb8;
|
||||
}
|
||||
iVar7 = ov29_023537D8.v4;
|
||||
ov29_022DE418();
|
||||
sub_020091B0(0,0);
|
||||
sub_020091B0(1,0);
|
||||
sub_02009194(2,0);
|
||||
sub_02009194(3,0);
|
||||
sub_020091B0(4,0);
|
||||
StartFadeDungeonWrapper(1,0x4000,0);
|
||||
ov29_0234C738(0);
|
||||
SetAdventureLogDungeonFloor(&(iVar7[12].v4));
|
||||
sub_02017B70();
|
||||
if (iVar7[12].v0 != -2 && IsGameModeRescue())
|
||||
{
|
||||
uVar3 = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
uVar3 = 0;
|
||||
}
|
||||
uVar4 = ov29_0234CA68();
|
||||
uVar5 = ov29_0234CA7C();
|
||||
ov30_023829CC(uVar4,uVar5,uVar3);
|
||||
ov29_022DDE00(0x10);
|
||||
iVar7 = ov29_023537D8.v4;
|
||||
iVar7[0x1b].v0xc = 1;
|
||||
while (ov29_023537D8.v4[0x1b].v0xc != 0)
|
||||
{
|
||||
ov29_022DDEF8();
|
||||
}
|
||||
ov30_02382C30();
|
||||
ov29_0234CACC();
|
||||
ov29_022DDE00(2);
|
||||
StartFadeDungeonWrapper(2,0x4000,0);
|
||||
ov29_0234C738(0);
|
||||
_0234beb8:
|
||||
ov29_022DC65C();
|
||||
ov29_023537D8.v4[0x1b].v0xd = 1;
|
||||
do
|
||||
{
|
||||
ov29_022DDEF8();
|
||||
} while( TRUE );
|
||||
}
|
||||
13
src/overlay_29_0234CA68.c
Normal file
13
src/overlay_29_0234CA68.c
Normal file
@@ -0,0 +1,13 @@
|
||||
#include "overlay_29_0234CA68.h"
|
||||
|
||||
extern s32* ov29_023537E4;
|
||||
|
||||
s32 ov29_0234CA68()
|
||||
{
|
||||
return ov29_023537E4[1];
|
||||
}
|
||||
|
||||
s32 ov29_0234CA7C()
|
||||
{
|
||||
return 0x5800;
|
||||
}
|
||||
Reference in New Issue
Block a user