Merge pull request #79 from AnonymousRandomPerson/main

Integrate decomped functions from igidrau and Seti
This commit is contained in:
AnonymousRandomPerson
2024-10-18 23:39:51 -04:00
committed by GitHub
38 changed files with 80300 additions and 72689 deletions

View File

@@ -1,165 +1,33 @@
#pragma once
.public ARM9_UNKNOWN_TABLE__NA_2097FF8
.public AVAILABLE_ITEMS_IN_GROUP_TABLE
.public ArrayCopy32
.public ArrayFill32
.public AllKecleonShopsZInit
.public BAG_ITEMS_PTR_MIRROR
.public CALCIUM_STAT_BOOST
.public CopyBitsFrom
.public CopyBitsTo
.public CopyStringFromId
.public DUNGEON_MOVE_TABLES
.public DUNGEON_RETURN_STATUS_TABLE
.public Debug_FatalError
.public Debug_GetDebugFlag
.public Debug_Print
.public Debug_Print0
.public DirectoryFileMngr_GetDirectoryFileSize
.public DirectoryFileMngr_LoadDirectoryFile
.public DirectoryFileMngr_OpenDirectoryFile
.public DrawTextInWindow
.public DseBgm_IsPlaying
.public DseBgm_Load
.public DseBgm_SetFades
.public DseBgm_SetSignalCallback
.public DseBgm_Stop
.public DseBgm_Unload
.public DseDriver_ConfigureHeap
.public DseDriver_Init
.public DseDriver_LoadDefaultSettings
.public DseSe_GetUsedBankIDs
.public DseSe_HasPlayingInstances
.public DseSe_Load
.public DseSe_Play
.public DseSe_Stop
.public DseSe_StopAll
.public DseSe_Unload
.public DseSequence_GetParameter
.public DseSwd_IsBankLoading
.public DseSwd_LoadBank
.public DseSwd_LoadMainBank
.public DseSwd_LoadWaves
.public DseSwd_Unload
.public DungeonGoesUp
.public DungeonSwapIdxToId
.public ENTITIES
.public EXCLUSIVE_ITEM_ATTACK_BOOSTS
.public EXCLUSIVE_ITEM_DEFENSE_BOOSTS
.public EXCLUSIVE_ITEM_EFFECT_DATA
.public EXCLUSIVE_ITEM_SPECIAL_ATTACK_BOOSTS
.public EXCLUSIVE_ITEM_SPECIAL_DEFENSE_BOOSTS
.public EXCLUSIVE_ITEM_STAT_BOOST_DATA_INDEXES
.public FemaleToMaleForm
.public FileClose
.public FileGetSize
.public FileRom_HandleOpen
.public FileRom_HandleRead
.public FileRom_InitDataTransfer
.public FileRom_StopDataTransfer
.public FileRom_Veneer_FileInit
.public G3i_LookAt_
.public G3i_OrthoW_
.public FormatMoveString
.public GET_ITEM_NAME_FORMATTED_SPRINTF
.public GINSENG_CHANCE_3
.public GUMMI_STAT_BOOST
.public GXS_BeginLoadBGExtPltt
.public GXS_BeginLoadOBJExtPltt
.public GXS_EndLoadBGExtPltt
.public GXS_EndLoadOBJExtPltt
.public GX_BeginLoadBGExtPltt
.public GX_BeginLoadOBJExtPltt
.public GX_BeginLoadTex
.public GX_BeginLoadTexPltt
.public GX_EndLoadBGExtPltt
.public GX_EndLoadOBJExtPltt
.public GX_EndLoadTex
.public GX_EndLoadTexPltt
.public GX_LoadTex
.public GX_LoadTexPltt
.public GetAbility
.public GetAbilityString
.public GetActiveRosterIndex
.public GetActiveTeamMember
.public GetActorMatchingStorageId
.public GetBagCapacity
.public GetBagCapacitySpecialEpisode
.public GetBaseFormCastformDeoxysCherrim
.public GetDungeonGroup
.public GetExclusiveItem
.public GetExecuteSpecialEpisodeType
.public GetFamilyIndex
.public GetGameMode
.public GetIqSkillStringId
.public GetMainTeamName
.public GetMonsterGender
.public GetMonsterGenderVeneer
.public GetNameString
.public GetNbFloors
.public GetNbFloorsPlusOne
.public GetPartyMembers
.public GetPerformanceFlagWithChecks
.public GetRank
.public GetRankStorageSize
.public GetScenarioBalance
.public GetDungeonResultString
.public GetLanguage
.public GetStringFromFileVeneer
.public GetTeamMember
.public GetType
.public GetTypeStringId
.public GetWindow
.public HasMonsterBeenAttackedInDungeons
.public IQ_GUMMI_GAIN_TABLE
.public IRON_STAT_BOOST
.public HandleSir0Translation
.public ITEM_DATA_TABLE_PTRS
.public ITEM_TABLES_PTRS_1
.public IqSkillFlagTest
.public IsMonsterValid
.public KECLEON_SHOP_ITEM_TABLE_LISTS_1
.public KECLEON_SHOP_ITEM_TABLE_LISTS_2
.public LANGUAGE_INFO_DATA
.public LIFE_SEED_HP_BOOST
.public InitMoveCheckId
.public LoadFileFromRom
.public LoadScriptVariableValue
.public LoadScriptVariableValueAtIndex
.public LoadStringFile
.public MONEY_QUANTITY_TABLE
.public MOVE_ACCURACY_STARS_TABLE
.public MOVE_POWER_STARS_TABLE
.public MemAlloc
.public MemArenaAlloc
.public MemFree
.public MemLocateSet
.public MemLocateUnset
.public MemZero
.public MemZero32
.public Memcpy32
.public MultiplyByFixedPoint
.public PROTEIN_STAT_BOOST
.public PUNCH_MOVE_LIST
.public PointsToZero
.public RECOIL_MOVE_LIST
.public RECYCLE_SHOP_ITEM_LIST
.public RENDER_3D
.public RENDER_3D_FUNCTIONS_64
.public Rand16Bit
.public RandInt
.public RandIntSafe
.public RandRange
.public PreprocessString
.public RandRangeSafe
.public Render3dStack
.public ResumeBgm
.public Rgb8ToRgb5
.public SITRUS_BERRY_FULL_HP_BOOST
.public SaveScriptVariableValue
.public SetItemAcquired
.public SetNbRecycled
.public SpecialEpisodeKecleonShopZInit
.public StringFromId
.public TEAM_MEMBER_TABLE_PTR
.public TYPE_SPECIFIC_EXCLUSIVE_ITEMS
.public UnloadFile
.public WAN_TABLE
.public WONDER_GUMMI_IQ_GAIN
.public WONDER_GUMMI_STAT_BOOST
.public ZINC_STAT_BOOST
.public ZInit8
.public _02094C0C
.public _02094C18
@@ -184,409 +52,22 @@
.public _0209809C
.public _020980AC
.public _020980B0
.public _0209889C
.public _020988A4
.public _020988A8
.public _020988D0
.public _020988D4
.public _020988D8
.public _02098CB4
.public _02098CCC
.public _02098D24
.public _02098D48
.public _02098D64
.public _02098D68
.public _02098DE4
.public _02098DF4
.public _02098E04
.public _02098E0C
.public _02098E14
.public _02098E58
.public _02098E9C
.public _02098EA8
.public _02098EE0
.public _02098F60
.public _02098F78
.public _02098F90
.public _02098FA8
.public _02098FBC
.public _02098FC0
.public _02098FC8
.public _0209901C
.public _02099020
.public _02099024
.public _02099028
.public _0209902C
.public _02099080
.public _02099110
.public _02099124
.public _02099138
.public _02099140
.public _0209915C
.public _0209916C
.public _0209918C
.public _020991C8
.public _020991F0
.public _02099210
.public _02099224
.public _02099240
.public _0209939C
.public _020993B4
.public _020993D0
.public _020993E8
.public _02099404
.public _02099404_EU
.public _02099418
.public _02099434
.public _02099448
.public _02099464
.public _02099470
.public _0209947C
.public _0209948C
.public _0209949C
.public _020994B0
.public _020994C0
.public _020994D8
.public _02099500
.public _02099514
.public _02099528
.public _0209953C
.public _02099554
.public _0209956C
.public _02099584
.public _0209958C
.public _02099594
.public _020995BC
.public _020995D0
.public _020995E8
.public _020995F8
.public _0209960C
.public _02099620
.public _02099634
.public _02099644
.public _02099650
.public _02099660
.public _02099684
.public _020996A4
.public _020996C0
.public _020996D8
.public _020996E0
.public _02099714
.public _0209971C
.public _02099720
.public _020997A4
.public _020997B4
.public _020997E4
.public _0209990C
.public _0209995C
.public _020999AC
.public _020999B0
.public _020999C8
.public _020999CC
.public _020999D0
.public _020999D4
.public _020999D8
.public _020999E4
.public _020999F0
.public _020999F4
.public _020999F8
.public _020999FC
.public _02099A00
.public _02099A04
.public _02099A08
.public _02099A10
.public _02099A14
.public _02099A18
.public _02099A1C
.public _02099A24
.public _02099A28
.public _02099A2C
.public _02099A30
.public _02099A34
.public _02099A38
.public _02099A40
.public _02099A44
.public _02099A5C
.public _02099A64
.public _02099A70
.public _02099A74
.public _02099A7C
.public _02099A84
.public _02099A8C
.public _02099A98
.public _02099AA0
.public _02099AA4
.public _02099AAC
.public _02099AB8
.public _02099AC0
.public _02099AC8
.public _02099AD0
.public _02099AD4
.public _02099AE0
.public _02099AF0
.public _02099AF8
.public _02099B04
.public _02099B10
.public _02099B18
.public _02099B24
.public _02099B2C
.public _02099B34
.public _02099B40
.public _02099B48
.public _02099B50
.public _02099B58
.public _02099B60
.public _02099B6C
.public _02099B74
.public _02099B7C
.public _02099B8C
.public _02099B9C
.public _02099BA8
.public _02099BB0
.public _02099BBC
.public _02099BC4
.public _02099BCC
.public _02099BD4
.public _02099BDC
.public _02099BE4
.public _02099BEC
.public _02099BF0_EU
.public _02099BF4
.public _02099BFC
.public _02099C04_EU
.public _02099C0C
.public _02099C14
.public _02099C1C
.public _02099C24
.public _02099C2C
.public _02099C34
.public _02099C44
.public _02099C4C
.public _02099C54
.public _02099C5C
.public _02099C68
.public _02099C70
.public _02099C78
.public _02099C84
.public _02099CA0
.public _02099CA4
.public _02099CAC
.public _02099CB8
.public _02099CC4
.public _02099D0C
.public _02099D10
.public _02099D1C
.public _02099D2C
.public _02099D3C
.public _02099D50
.public _02099D54
.public _02099D64
.public _02099D74
.public _02099D84
.public _02099D8C
.public _02099D90
.public _02099DA0
.public _02099DB0
.public _02099DC0
.public _02099DD0
.public _02099DEC
.public _02099E08
.public _02099E18
.public _02099E20
.public _02099E40
.public _02099E64_EU
.public _0209A044
.public _0209A046
.public _0209A230_EU
.public _0209A2D4_EU
.public _0209A2F4_EU
.public _0209A3B4
.public _0209A3B6
.public _0209E7A6
.public _020A1874
.public _020A1878
.public _020A18A0
.public _020A18BC
.public _020A18C8
.public _020AF6C4
.public _020AF6C8
.public _020AF6D0
.public _020AF6D4
.public _020AF6E8
.public _020AF6F0
.public _020AF6F8
.public _020AF700
.public _020AF710
.public _020AF714
.public _020AF720
.public _020AF721
.public _020AF722
.public _020AF760
.public _020AF76C
.public _020AF77C
.public _020AF780
.public _020AF784
.public _020AF798
.public _020AF7AC
.public _020AF7C0
.public _020AF7E4
.public _020AF890
.public _020AF96C
.public _020AFA48
.public _020AFB24
.public _020AFB28
.public _020AFB4C
.public _020AFB6C
.public _020AFC28
.public _020AFC30
.public _020AFC3C
.public _020AFC4C
.public _020AFC50
.public _020AFC64
.public _020AFC6C
.public _020AFC70
.public _020AFCE4
.public _020AFF88_EU
.public _020B05AC_EU
.public _020B05B0_EU
.public _020B05BC_EU
.public _020B05C0_EU
.public _020B05D4_EU
.public _020B05D8_EU
.public _020B112C_JP
.public _022A3824
.public _022A4BD8
.public _022A4BE8
.public _022A4BEC
.public _022A4C00
.public _022A4C28
.public _022A4C50
.public _022A4E50
.public _022A4E58
.public _022A4E7C
.public _022A4E84
.public _022A4E8C
.public _022A4EA4
.public _022A4EAC
.public _022A4EB4
.public _022A4EC4
.public _022A4ECC
.public _022A4EF4
.public _022A4EFC
.public _022A4F38
.public _022A5038
.public _022A5048
.public _022A504C
.public _022A5068
.public _022A5268
.public _022A5468
.public _022A5969
.public _022A596A
.public _022A5970
.public _s32_div_f
.public _u32_div_f
.public memset
.public ov10_022BDADC
.public ov10_022C2528
.public sprintf
.public strcat
.public strcmp
.public strcpy
.public strlen
.public strncmp
.public strncpy
.public strstr
.public sub_01FF8000
.public sub_01FF80B0
.public sub_01FF8CAC
.public sub_01FF8D0C
.public sub_01FF8D3C
.public sub_01FF8D6C
.public sub_01FF8D9C
.public sub_01FF8F04
.public sub_02002778
.public sub_020027E8
.public sub_02002A9C
.public sub_02002C40
.public sub_02002CAC
.public sub_02002CB4
.public sub_02002D14
.public sub_02002E98
.public sub_02002ECC
.public sub_02002F34
.public sub_02002F7C
.public sub_02002F98
.public sub_02002FB4
.public sub_0200302C
.public sub_020030FC
.public sub_02003AB0
.public sub_02004F74
.public sub_02006220
.public sub_020063A0
.public sub_020063D4
.public sub_0200A124
.public sub_0200A174
.public sub_0200A180
.public sub_0200A184
.public sub_0200A29C
.public sub_0200A2B4
.public sub_0200A478
.public sub_0200A504
.public sub_0200A510
.public sub_0200A590
.public sub_0200A5B0
.public sub_0200A5F8
.public sub_0200A618
.public sub_0200B330
.public sub_0200B3C0
.public sub_0200B3D4
.public sub_0200B3FC
.public sub_0200B508
.public sub_0200B570
.public sub_0200B57C
.public sub_0200B630
.public sub_0200B67C
.public sub_0200B6F0
.public sub_0200B768
.public sub_020257FC
.public sub_0200FD38
.public sub_0200FD3C
.public sub_02010590
.public sub_02011AB8
.public sub_020238E0
.public sub_02025888
.public sub_02025C7C
.public sub_020265A8
.public sub_0204BBB0
.public sub_0204E530
.public sub_0204F6F8
.public sub_0204F77C
.public sub_02050974
.public sub_02050990
.public sub_020509BC
.public sub_02053D1C
.public sub_02054FB8
.public sub_02054FEC
.public sub_02055020
.public sub_02055054
.public sub_020564B0
.public sub_020582E0
.public sub_02058C30
.public sub_0206549C
.public sub_02065B14
.public sub_02065BF0
.public sub_02065CD8
.public sub_0206A90C
.public sub_0206AA5C
.public sub_0206AB98
.public sub_0206ABB0
.public sub_0206AD4C
.public sub_0206ADA0
.public sub_0206ADB8
.public sub_0206BA5C
.public sub_0206C36C
.public sub_0206C39C
.public sub_0206C620
.public sub_0206C6BC
.public sub_0206C754
.public sub_0206F5C8
.public sub_0207A2DC
.public sub_0207C9C4
.public sub_0207C9E4
.public sub_0207CC10
.public vsprintf

View File

@@ -0,0 +1,573 @@
#pragma once
.public AreItemsEquivalent
.public ArrayCopy32
.public ArrayFill32
.public BAG_ITEMS_PTR_MIRROR
.public BulkItemToItem
.public CALCIUM_STAT_BOOST
.public CopyBitsFrom
.public CopyBitsTo
.public CopyStringFromId
.public DUNGEON_MOVE_TABLES
.public Debug_FatalError
.public Debug_GetDebugFlag
.public Debug_Print
.public Debug_Print0
.public DirectoryFileMngr_GetDirectoryFileSize
.public DirectoryFileMngr_LoadDirectoryFile
.public DirectoryFileMngr_OpenDirectoryFile
.public DseBgm_IsPlaying
.public DseBgm_Load
.public DseBgm_SetFades
.public DseBgm_SetSignalCallback
.public DseBgm_Stop
.public DseBgm_Unload
.public DseDriver_ConfigureHeap
.public DseDriver_Init
.public DseDriver_LoadDefaultSettings
.public DseSe_GetUsedBankIDs
.public DseSe_HasPlayingInstances
.public DseSe_Load
.public DseSe_Play
.public DseSe_Stop
.public DseSe_StopAll
.public DseSe_Unload
.public DseSequence_GetParameter
.public DseSwd_IsBankLoading
.public DseSwd_LoadBank
.public DseSwd_LoadMainBank
.public DseSwd_LoadWaves
.public DseSwd_Unload
.public DungeonGoesUp
.public DungeonSwapIdxToId
.public ENTITIES
.public EXCLUSIVE_ITEM_ATTACK_BOOSTS
.public EXCLUSIVE_ITEM_DEFENSE_BOOSTS
.public EXCLUSIVE_ITEM_EFFECT_DATA
.public EXCLUSIVE_ITEM_SPECIAL_ATTACK_BOOSTS
.public EXCLUSIVE_ITEM_SPECIAL_DEFENSE_BOOSTS
.public EXCLUSIVE_ITEM_STAT_BOOST_DATA_INDEXES
.public FemaleToMaleForm
.public FileClose
.public FileGetSize
.public FileRom_HandleOpen
.public FileRom_HandleRead
.public FileRom_InitDataTransfer
.public FileRom_StopDataTransfer
.public FileRom_Veneer_FileInit
.public G3i_LookAt_
.public G3i_OrthoW_
.public GINSENG_CHANCE_3
.public GUMMI_STAT_BOOST
.public GXS_BeginLoadBGExtPltt
.public GXS_BeginLoadOBJExtPltt
.public GXS_EndLoadBGExtPltt
.public GXS_EndLoadOBJExtPltt
.public GX_BeginLoadBGExtPltt
.public GX_BeginLoadOBJExtPltt
.public GX_BeginLoadTex
.public GX_BeginLoadTexPltt
.public GX_EndLoadBGExtPltt
.public GX_EndLoadOBJExtPltt
.public GX_EndLoadTex
.public GX_EndLoadTexPltt
.public GX_LoadTex
.public GX_LoadTexPltt
.public GetAbility
.public GetAbilityString
.public GetActiveRosterIndex
.public GetActiveTeamMember
.public GetActorMatchingStorageId
.public GetBagCapacity
.public GetBagCapacitySpecialEpisode
.public GetBaseFormCastformDeoxysCherrim
.public GetExclusiveItem
.public GetExclusiveItemParameter
.public GetExclusiveItemType
.public GetExecuteSpecialEpisodeType
.public GetFamilyIndex
.public GetGameMode
.public GetIqSkillStringId
.public GetItemCategory
.public GetItemCategoryVeneer
.public GetItemIdFromList
.public GetItemMoveId16
.public GetItemNameFormatted
.public GetMainTeamName
.public GetMonsterGender
.public GetMonsterGenderVeneer
.public GetNameString
.public GetNbFloors
.public GetNbFloorsPlusOne
.public GetPartyMembers
.public GetPerformanceFlagWithChecks
.public GetRank
.public GetRankStorageSize
.public GetScenarioBalance
.public GetStringFromFileVeneer
.public GetTeamMember
.public GetType
.public GetTypeStringId
.public HasMonsterBeenAttackedInDungeons
.public IQ_GUMMI_GAIN_TABLE
.public IRON_STAT_BOOST
.public InitBulkItem
.public IqSkillFlagTest
.public IsGummi
.public IsItemInTimeDarkness
.public IsItemValidVeneer
.public IsMonsterValid
.public IsStorableItem
.public IsThrownItem
.public IsTicketItem
.public IsTreasureBox
.public ItemZInit
.public KECLEON_SHOP_ITEM_TABLE_LISTS_1
.public KECLEON_SHOP_ITEM_TABLE_LISTS_2
.public LANGUAGE_INFO_DATA
.public LIFE_SEED_HP_BOOST
.public LoadFileFromRom
.public LoadScriptVariableValue
.public LoadScriptVariableValueAtIndex
.public LoadStringFile
.public MOVE_ACCURACY_STARS_TABLE
.public MOVE_POWER_STARS_TABLE
.public MemAlloc
.public MemArenaAlloc
.public MemFree
.public MemLocateSet
.public MemLocateUnset
.public MemZero
.public MemZero32
.public Memcpy32
.public MultiplyByFixedPoint
.public PROTEIN_STAT_BOOST
.public PUNCH_MOVE_LIST
.public PointsToZero
.public RECOIL_MOVE_LIST
.public RECYCLE_SHOP_ITEM_LIST
.public RENDER_3D
.public RENDER_3D_FUNCTIONS_64
.public Rand16Bit
.public RandInt
.public RandIntSafe
.public RandRange
.public RemoveEmptyItems
.public Render3dStack
.public ResumeBgm
.public Rgb8ToRgb5
.public SITRUS_BERRY_FULL_HP_BOOST
.public SaveScriptVariableValue
.public SetItemAcquired
.public SetNbRecycled
.public SortItemList
.public StringFromId
.public TEAM_MEMBER_TABLE_PTR
.public TYPE_SPECIFIC_EXCLUSIVE_ITEMS
.public UnloadFile
.public WAN_TABLE
.public WONDER_GUMMI_IQ_GAIN
.public WONDER_GUMMI_STAT_BOOST
.public ZINC_STAT_BOOST
.public ZInit8
.public _0209889C
.public _020988A4
.public _020988A8
.public _020988D0
.public _020988D4
.public _020988D8
.public _02098CB4
.public _02098CCC
.public _02098D24
.public _02098D48
.public _02098D64
.public _02098D68
.public _02098DE4
.public _02098DF4
.public _02098E04
.public _02098E0C
.public _02098E14
.public _02098E58
.public _02098E9C
.public _02098EA8
.public _02098EE0
.public _02098F60
.public _02098F78
.public _02098F90
.public _02098FA8
.public _02098FBC
.public _02098FC0
.public _02098FC8
.public _0209901C
.public _02099020
.public _02099024
.public _02099028
.public _0209902C
.public _02099080
.public _02099110
.public _02099124
.public _02099138
.public _02099140
.public _0209915C
.public _0209916C
.public _0209918C
.public _020991C8
.public _020991F0
.public _02099210
.public _02099224
.public _02099240
.public _0209939C
.public _020993B4
.public _020993D0
.public _020993E8
.public _02099404
.public _02099404_EU
.public _02099418
.public _02099434
.public _02099448
.public _02099464
.public _02099470
.public _0209947C
.public _0209948C
.public _0209949C
.public _020994B0
.public _020994C0
.public _020994D8
.public _02099500
.public _02099514
.public _02099528
.public _0209953C
.public _02099554
.public _0209956C
.public _02099584
.public _0209958C
.public _02099594
.public _020995BC
.public _020995D0
.public _020995E8
.public _020995F8
.public _0209960C
.public _02099620
.public _02099634
.public _02099644
.public _02099650
.public _02099660
.public _02099684
.public _020996A4
.public _020996C0
.public _020996D8
.public _020996E0
.public _02099714
.public _0209971C
.public _02099720
.public _020997A4
.public _020997B4
.public _020997E4
.public _0209990C
.public _0209995C
.public _020999AC
.public _020999B0
.public _020999C8
.public _020999CC
.public _020999D0
.public _020999D4
.public _020999D8
.public _020999E4
.public _020999F0
.public _020999F4
.public _020999F8
.public _020999FC
.public _02099A00
.public _02099A04
.public _02099A08
.public _02099A10
.public _02099A14
.public _02099A18
.public _02099A1C
.public _02099A24
.public _02099A28
.public _02099A2C
.public _02099A30
.public _02099A34
.public _02099A38
.public _02099A40
.public _02099A44
.public _02099A5C
.public _02099A64
.public _02099A70
.public _02099A74
.public _02099A7C
.public _02099A84
.public _02099A8C
.public _02099A98
.public _02099AA0
.public _02099AA4
.public _02099AAC
.public _02099AB8
.public _02099AC0
.public _02099AC8
.public _02099AD0
.public _02099AD4
.public _02099AE0
.public _02099AF0
.public _02099AF8
.public _02099B04
.public _02099B10
.public _02099B18
.public _02099B24
.public _02099B2C
.public _02099B34
.public _02099B40
.public _02099B48
.public _02099B50
.public _02099B58
.public _02099B60
.public _02099B6C
.public _02099B74
.public _02099B7C
.public _02099B8C
.public _02099B9C
.public _02099BA8
.public _02099BB0
.public _02099BBC
.public _02099BC4
.public _02099BCC
.public _02099BD4
.public _02099BDC
.public _02099BE4
.public _02099BEC
.public _02099BF0_EU
.public _02099BF4
.public _02099BFC
.public _02099C04_EU
.public _02099C0C
.public _02099C14
.public _02099C1C
.public _02099C24
.public _02099C2C
.public _02099C34
.public _02099C44
.public _02099C4C
.public _02099C54
.public _02099C5C
.public _02099C68
.public _02099C70
.public _02099C78
.public _02099C84
.public _02099CA0
.public _02099CA4
.public _02099CAC
.public _02099CB8
.public _02099CC4
.public _02099D0C
.public _02099D10
.public _02099D1C
.public _02099D2C
.public _02099D3C
.public _02099D50
.public _02099D54
.public _02099D64
.public _02099D74
.public _02099D84
.public _02099D8C
.public _02099D90
.public _02099DA0
.public _02099DB0
.public _02099DC0
.public _02099DD0
.public _02099DEC
.public _02099E08
.public _02099E18
.public _02099E20
.public _02099E40
.public _02099E64_EU
.public _0209A044
.public _0209A046
.public _0209A230_EU
.public _0209A2D4_EU
.public _0209A2F4_EU
.public _0209A3B4
.public _0209A3B6
.public _020A1874
.public _020A1878
.public _020A18A0
.public _020A18C8
.public _020AF6D0
.public _020AF6D4
.public _020AF6E8
.public _020AF6F0
.public _020AF6F8
.public _020AF700
.public _020AF710
.public _020AF714
.public _020AF720
.public _020AF721
.public _020AF722
.public _020AF760
.public _020AF76C
.public _020AF77C
.public _020AF780
.public _020AF784
.public _020AF798
.public _020AF7AC
.public _020AF7C0
.public _020AF7E4
.public _020AF890
.public _020AF96C
.public _020AFA48
.public _020AFB24
.public _020AFB28
.public _020AFB4C
.public _020AFB6C
.public _020AFC28
.public _020AFC30
.public _020AFC3C
.public _020AFC4C
.public _020AFC50
.public _020AFC64
.public _020AFC6C
.public _020AFC70
.public _020AFCE4
.public _020B05AC_EU
.public _020B05B0_EU
.public _020B05BC_EU
.public _020B05C0_EU
.public _020B05D4_EU
.public _020B05D8_EU
.public _020B112C_JP
.public _022A4BD8
.public _022A4BE8
.public _022A4BEC
.public _022A4C00
.public _022A4C28
.public _022A4C50
.public _022A4E50
.public _022A4E58
.public _022A4E7C
.public _022A4E84
.public _022A4E8C
.public _022A4EA4
.public _022A4EAC
.public _022A4EB4
.public _022A4EC4
.public _022A4ECC
.public _022A4EF4
.public _022A4EFC
.public _022A4F38
.public _022A5038
.public _022A5048
.public _022A504C
.public _022A5068
.public _022A5268
.public _022A5468
.public _022A5969
.public _022A596A
.public _022A5970
.public _s32_div_f
.public _u32_div_f
.public memset
.public ov10_022BDADC
.public ov10_022C2528
.public sprintf
.public strcat
.public strcmp
.public strcpy
.public strlen
.public strncmp
.public strstr
.public sub_01FF8000
.public sub_01FF80B0
.public sub_01FF8CAC
.public sub_01FF8D0C
.public sub_01FF8D3C
.public sub_01FF8D6C
.public sub_01FF8D9C
.public sub_01FF8F04
.public sub_02002778
.public sub_020027E8
.public sub_02002A9C
.public sub_02002C40
.public sub_02002CAC
.public sub_02002CB4
.public sub_02002D14
.public sub_02002E98
.public sub_02002ECC
.public sub_02002F34
.public sub_02002F7C
.public sub_02002F98
.public sub_02002FB4
.public sub_0200302C
.public sub_020030FC
.public sub_02003AB0
.public sub_02004F74
.public sub_02006220
.public sub_020063A0
.public sub_020063D4
.public sub_0200A124
.public sub_0200A174
.public sub_0200A180
.public sub_0200A184
.public sub_0200A29C
.public sub_0200A2B4
.public sub_0200A478
.public sub_0200A504
.public sub_0200A510
.public sub_0200A590
.public sub_0200A5B0
.public sub_0200A5F8
.public sub_0200A618
.public sub_0200B330
.public sub_0200B3C0
.public sub_0200B3D4
.public sub_0200B3FC
.public sub_0200B508
.public sub_0200B570
.public sub_0200B57C
.public sub_0200B630
.public sub_0200B67C
.public sub_0200B6F0
.public sub_0200B768
.public sub_0200D1F0
.public sub_0200D310
.public sub_0200D8AC
.public sub_0200EB90
.public sub_020257FC
.public sub_02025C7C
.public sub_0204BBB0
.public sub_0204E530
.public sub_0204F6F8
.public sub_0204F77C
.public sub_02050974
.public sub_02050990
.public sub_020509BC
.public sub_02053D1C
.public sub_02054FB8
.public sub_02054FEC
.public sub_02055020
.public sub_02055054
.public sub_020564B0
.public sub_020582E0
.public sub_02058C30
.public sub_0206549C
.public sub_02065B14
.public sub_02065BF0
.public sub_02065CD8
.public sub_0206A90C
.public sub_0206AA5C
.public sub_0206AB98
.public sub_0206ABB0
.public sub_0206AD4C
.public sub_0206ADA0
.public sub_0206ADB8
.public sub_0206BA5C
.public sub_0206C36C
.public sub_0206C39C
.public sub_0206C620
.public sub_0206C6BC
.public sub_0206C754
.public sub_0206F5C8
.public sub_0207A2DC
.public sub_0207C9C4
.public sub_0207C9E4
.public sub_0207CC10
.public vsprintf

View File

@@ -1,59 +1,14 @@
#pragma once
.public ADVANCED_MENU_DEFAULT_WINDOW_PARAMS
.public ADVANCED_TEXT_BOX_DEFAULT_WINDOW_PARAMS
.public ADVENTURE_LOG_ENCOUNTERS_MONSTER_IDS
.public ADVENTURE_LOG_PTR
.public ALERT_BOX_DEFAULT_WINDOW_PARAMS
.public AREA_NAME_BOX_DEFAULT_WINDOW_PARAMS
.public ARM9_UNKNOWN_DATA__NA_209E6BC
.public ARM9_UNKNOWN_PTR__NA_20A2C84
.public ARM9_UNKNOWN_TABLE__NA_209E12C
.public ARM9_UNKNOWN_TABLE__NA_209E164
.public ARM9_UNKNOWN_TABLE__NA_209E280
.public ARM9_UNKNOWN_TABLE__NA_20A20B0
.public AddItemToStorage
.public AddMoneyCarried
.public AnalyzeText
.public ArrayCopy32
.public ArrayFill32
.public BAG_CAPACITY_TABLE
.public BAG_CAPACITY_TABLE_SPECIAL_EPISODES
.public BAG_ITEMS_PTR_MIRROR
.public CLIENT_LEVEL_TABLE
.public COLLECTION_MENU_DEFAULT_WINDOW_PARAMS
.public CONTROLS_CHART_DEFAULT_WINDOW_PARAMS
.public CanMonsterUseMove
.public CardBackupError
.public CardPullOutWithStatus
.public ConvertStorageItemAtIdxToItem
.public CountNbOfItemsInStorage
.public CountNbOfValidItemsInStorage
.public CountNbOfValidItemsInTimeDarknessInStorage
.public DEBUG_MENU_DEFAULT_WINDOW_PARAMS
.public DEFAULT_HERO_ID
.public DIALOGUE_BOX_DEFAULT_WINDOW_PARAMS
.public DUNGEON_DATA_LIST
.public DUNGEON_PTR
.public DUNGEON_RESTRICTIONS
.public Debug_FatalError
.public Debug_GetDebugFlag
.public Debug_GetLogFlag
.public Debug_Print
.public Debug_Print0
.public Debug_SetDebugFlag
.public Debug_SetLogFlag
.public DecompressAtHalf
.public DecompressAtNormalVeneer
.public DexNumbersEqual
.public DirectoryFileMngr_OpenDirectoryFile
.public DisableIqSkill
.public DrawTileGrid
.public DungeonSwapIdToIdx
.public DungeonSwapIdxToId
.public DungeonToGroundMoveset
.public EnableAllLearnableIqSkills
.public FORBIDDEN_FORGOT_MOVE_LIST
.public FemaleToMaleForm
.public FileClose
.public FileRom_HandleOpen
.public FileRom_HandleRead
@@ -61,171 +16,44 @@
.public FileRom_InitDataTransfer
.public FileRom_StopDataTransfer
.public FileRom_Veneer_FileInit
.public FormatMoveStringMore
.public GAME_MODE
.public GLOBAL_PROGRESS_PTR
.public GUEST_MONSTER_DATA
.public GetActiveRosterIndex
.public GetActiveTeamMember
.public GetActualSellPrice
.public GetAtSize
.public GetCurrentBagCapacity
.public GetDungeonModeSpecial
.public GetDungeonResultString
.public GetEvolutionPossibilities
.public GetHeldButtons
.public GetHero
.public GetHeroMemberIdx
.public GetInfoGroundMoveset
.public GetInfoMoveGround
.public GetIqSkillStringId
.public GetItemAtIdx
.public GetItemCategory
.public GetItemCategoryVeneer
.public GetItemIdFromList
.public GetItemMoveId16
.public GetKeyM2NSwitch
.public GetKeyN2MSwitch
.public GetLanguage
.public GetLanguageType
.public GetLearnableIqSkills
.public GetMainCharacter1MemberIdx
.public GetMainCharacter2MemberIdx
.public GetMainCharacter3MemberIdx
.public GetMaxPp
.public GetMoneyCarried
.public GetMoneyStored
.public GetMonsterName
.public GetMoveRangeId
.public GetMoveType
.public GetMovesetEggPtr
.public GetMovesetHmTmPtr
.public GetMovesetIdx__02013CAC
.public GetMovesetLevelUpPtr
.public GetNbItemsInBag
.public GetNbMoves
.public GetNextIqSkill
.public GetPartner
.public GetPartnerMemberIdx
.public GetPartyMembers
.public GetPpIncrease
.public GetPressedButtons
.public GetReleasedStylus
.public GetRngSeed
.public GetSosMailCount
.public GetStringFromFile
.public GetTeamMember
.public GetTime
.public GroundToDungeonMoveset
.public HIDDEN_POWER_BASE_POWER_TABLE
.public HandleSir0Translation
.public InitAnimationControlWithSet__0201C0B0
.public InitMove
.public InitPortraitParams
.public InitPreprocessorArgs
.public InitRender3dElement64
.public IqSkillFlagTest
.public Is2TurnsMove
.public IsExclusiveItemIdForMonster
.public IsExperienceLocked
.public IsGummi
.public IsItemInTimeDarkness
.public IsItemValidVeneer
.public IsMainCharacter
.public IsMovesetValidInTimeDarkness
.public IsNot2TurnsMoveOrSketch
.public IsRealMove
.public IsShoppableItem
.public IsStorableItem
.public IsStorageFull
.public IsThrownItem
.public IsTreasureBox
.public IsValidTeamMember
.public ItemZInit
.public KAOMADO_FILEPATH
.public KEYBOARD_STRING_IDS
.public IsValidPortrait
.public KeyWaitInit
.public LearnMoves
.public LoadFileFromRom
.public LoadOverlay
.public LoadPortrait
.public LoadWanTableEntry
.public LoadWteFromRom
.public MISSION_FLOORS_FORBIDDEN
.public MISSION_FLOOR_RANKS_PTRS
.public MONSTER_SPRITE_DATA
.public MemAlloc
.public MemFree
.public MemZero
.public Memcpy32
.public MemcpySimple
.public MemsetSimple
.public NOTIFY_NOTE
.public NormalizeTreasureBox
.public OPTIONS_MENU_DEFAULT_WINDOW_PARAMS
.public OS_GetLockID
.public OUTLAW_LEVEL_TABLE
.public OUTLAW_MINION_LEVEL_TABLE
.public OverlayIsLoaded
.public PARENT_MENU_DEFAULT_WINDOW_PARAMS
.public PARTNER_TALK_KIND_TABLE
.public PORTRAIT_BOX_DEFAULT_WINDOW_PARAMS
.public PORTRAIT_LAYOUTS
.public PlayBgmByIdVeneer
.public PlaySeVolumeWrapper
.public PointsToZero
.public PreprocessString
.public PreprocessStringFromId
.public RANK_UP_TABLE
.public Rand16Bit
.public Rand32Bit
.public RandInt
.public RandIntSafe
.public ReadItemsFromSave
.public ReadMonsterInfoFromSave
.public RemoveActiveMembersFromAllTeams
.public RemoveActiveMembersFromRescueTeam
.public RemoveActiveMembersFromSpecialEpisodeTeam
.public RemoveEmptyItemsInBag
.public SCRIPT_VARS
.public SCRIPT_VARS_LOCALS
.public SCROLL_BOX_DEFAULT_WINDOW_PARAMS
.public SECONDARY_TERRAIN_TYPES
.public SIMPLE_MENU_DEFAULT_WINDOW_PARAMS
.public SPECIAL_EPISODE_MAIN_CHARACTERS
.public STATUSES_FULL_DESCRIPTION_STRING_IDS
.public SetActiveInventory
.public SetActiveKecleonShop
.public SetActiveTeam
.public SetAnimationForAnimationControl
.public SetMoneyCarried
.public SetMoneyStored
.public SetRngSeed
.public SetSpriteIdForAnimationControl
.public SetTeamSetupHeroAndPartnerOnly
.public SortItemsInBag
.public SortItemsInStorage
.public StrcpyName
.public StrcpySimple
.public StrncmpSimple
.public StrncpyName
.public StrncpySimple
.public StrncpySimpleNoPad
.public StrncpySimpleNoPadSafe
.public TBL_TALK_GROUP_STRING_ID_START
.public TEAM_MEMBER_TABLE_PTR
.public TEAM_SELECTION_MENU_DEFAULT_WINDOW_PARAMS
.public TEXT_BOX_DEFAULT_WINDOW_PARAMS
.public TryPointCameraToMonster
.public UNOWN_SPECIES_ADDITIONAL_CHAR_PTR_TABLE
.public UnloadFile
.public UnloadOverlay
.public VERSION_EXCLUSIVE_MONSTERS
.public WAN_TABLE
.public WONDER_MAIL_BITS_MAP
.public WONDER_MAIL_BITS_SWAP
.public WONDER_MAIL_ENCRYPTION_TABLE
.public WriteItemsToSave
.public WriteMonsterInfoToSave
.public ZInit8
.public _0209AAD8
.public _0209AB60
.public _0209AB9C
@@ -279,243 +107,11 @@
.public _0209B07C
.public _0209B084
.public _0209B08C
.public _0209B09C
.public _0209B09C_EU
.public _0209B0EC
.public _0209B0FC
.public _0209B10C
.public _0209B11C
.public _0209B134
.public _0209B1B8
.public _0209B1C8
.public _0209B1D8
.public _0209B1F0
.public _0209B208
.public _0209B218
.public _0209B228
.public _0209B244
.public _0209B254
.public _0209B264
.public _0209B288
.public _0209B28C
.public _0209B298
.public _0209B2B8
.public _0209B2C4
.public _0209B2D0
.public _0209B2DC
.public _0209B2E0
.public _0209B2E1
.public _0209B2E2
.public _0209B2E3
.public _0209B2EC
.public _0209B2FC
.public _0209B30C
.public _0209B31C
.public _0209B32C
.public _0209B32C_JP
.public _0209B32E
.public _0209B3B4
.public _0209B3B6
.public _0209B408_JP
.public _0209B488
.public _0209B48C
.public _0209B4A4
.public _0209B4AC
.public _0209B4B8
.public _0209B4C0
.public _0209B4C4
.public _0209B4D4
.public _0209B4E4
.public _0209B4FC
.public _0209B50C
.public _0209B548_JP
.public _0209C29C_JP
.public _0209C29D_JP
.public _0209C29E_JP
.public _0209C5C0
.public _0209C5D0
.public _0209C5E0
.public _0209C604
.public _0209C60C
.public _0209C618
.public _0209C628
.public _0209C638
.public _0209C648
.public _0209C658
.public _0209C668
.public _0209C678
.public _0209C688
.public _0209C6B8
.public _0209C70C
.public _0209C764
.public _0209C798
.public _0209C7B8
.public _0209C7CC
.public _0209C7D4
.public _0209C7E4
.public _0209C7F4
.public _0209C820
.public _0209C82C
.public _0209C83C
.public _0209C844
.public _0209C846
.public _0209C850
.public _0209C85C
.public _0209C86C
.public _0209C884
.public _0209C89C
.public _0209C8A8
.public _0209C8B8
.public _0209C8C8
.public _0209C928
.public _0209C92C
.public _0209C93C
.public _0209C94C
.public _0209C95C
.public _0209C96C
.public _0209C97C
.public _0209C98C
.public _0209C99C
.public _0209C9AC
.public _0209C9B0
.public _0209C9CC
.public _0209C9D4
.public _0209C9DC
.public _0209C9E4
.public _0209C9F4
.public _0209C9FC
.public _0209CA08
.public _0209CA18
.public _0209CA2C
.public _0209CA3C
.public _0209CA48
.public _0209CA58
.public _0209CA68
.public _0209CA78
.public _0209CA88
.public _0209CA98
.public _0209CAB4
.public _0209CB0C
.public _0209CB3C
.public _0209CB4C
.public _0209CB6C
.public _0209CB78
.public _0209CB88
.public _0209CB98
.public _0209CBA8
.public _0209CBB0
.public _0209CBB8
.public _0209CBC0
.public _0209CBC8
.public _0209CBD0
.public _0209CBD8
.public _0209CBE0
.public _0209CBE8
.public _0209CC0C
.public _0209CC18
.public _0209CC28
.public _0209CC38
.public _0209CC48
.public _0209CC60
.public _0209CC80
.public _0209CC90
.public _0209CCA0
.public _0209CCB0
.public _0209CCC0
.public _0209CCD0
.public _0209CCE0
.public _0209CD4C
.public _0209CD6C
.public _0209CD84
.public _0209CD94
.public _0209CDA4
.public _0209CDB8
.public _0209CDD0
.public _0209CDE0
.public _0209CDF8
.public _0209CE10
.public _0209CE40
.public _0209CE50
.public _0209CE54
.public _0209CE58
.public _0209CE68
.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 _020A0C68
.public _020A0C69
.public _020A0C6A
.public _020A0C6C
.public _020A0C6E
.public _020A1864
.public _020A1880
.public _020A1884
.public _020A189C
.public _020A18C0
.public _020A192C
.public _020A20B1
.public _020A2808
.public _020A281C
.public _020A2830
.public _020A2844
.public _020A2858
.public _020A286C
.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 _020A2D09
.public _020A31B8
.public _020A31D4
.public _020A31E4
.public _020A31F4
.public _020A31FC
.public _020A3200
.public _020A3210
.public _020A322C
.public _020A3248
.public _020A3258
.public _020A327C
.public _020A328C
.public _020A32D4
.public _020A32F8
.public _020A3330
.public _020A45C8_JP
.public _020AFC70
.public _020AFCEC
.public _020AFCF0
@@ -534,56 +130,6 @@
.public _020AFDA8
.public _020AFDAC
.public _020AFDB8
.public _020AFDBC
.public _020AFDD0
.public _020AFDD8
.public _020AFDE0
.public _020AFDE8
.public _020AFDF0
.public _020AFE40
.public _020AFE58
.public _020AFE5C
.public _020AFE70
.public _020AFE74
.public _020AFE78
.public _020AFE7C
.public _020AFE8C
.public _020AFE90
.public _020AFE98
.public _020AFEA8
.public _020AFEB4
.public _020AFEC8
.public _020AFECC
.public _020AFED0
.public _020AFED4
.public _020AFED8
.public _020AFEDC
.public _020AFEE0
.public _020AFEE4
.public _020AFEE8
.public _020AFEEC
.public _020AFEF4
.public _020AFF00
.public _020AFF14
.public _020AFF38
.public _020AFF40
.public _020AFF4C
.public _020AFF54
.public _020AFF5C
.public _020AFF64
.public _020AFF68
.public _020AFF6C
.public _020AFF7C
.public _020AFF80
.public _020AFF88
.public _020B09B0
.public _020B09B4
.public _020B09C0
.public _020B09C8
.public _020B09D0
.public _020B12A0_JP
.public _020B12F4_EU
.public _020B1308_EU
.public _022A59B8
.public _022A59C0
.public _022A5A08
@@ -625,127 +171,30 @@
.public _022AACFC
.public _022AAD78
.public _022AAD7C
.public _022AADF8
.public _022AADFC
.public _022AAE00
.public _022AAE2A
.public _022AAE2E
.public _022AAE4C
.public _022AAE58
.public _022AAE64
.public _022AAE68
.public _022AAE70
.public _022AAE74
.public _022AAE78
.public _022AAEA4
.public _022AAEA8
.public _022AAEAC
.public _022AB09C
.public _022AB0A0
.public _022AB0A1
.public _022AB0A2
.public _022AB0A9
.public _022AB0AC
.public _022AB4AC
.public _022AB4B0
.public _022AB4F8
.public _022AB4FC
.public _022AB510
.public _022AB518
.public _022AB5A8
.public _022AB5AC
.public _022AB694
.public _022AB69C
.public _022AB918
.public _022AB924
.public _022AB92C
.public _022AB930
.public _022ABDE0
.public _f2d
.public _fsub
.public _s32_div_f
.public memcpy
.public memset
.public ov11_022E6E68
.public ov11_023061CC
.public ov11_023061E4
.public ov11_02306C64
.public ov11_02306C9C
.public ov11_0230D000
.public ov11_0230D220
.public ov11_0230D71C
.public ov11_0230D92C
.public ov11_02310BDC
.public ov11_02310C18
.public ov29_022E2A78
.public ov29_022EA62C
.public ov29_023002F0
.public ov29_02347100
.public sprintf
.public strcat
.public strcpy
.public strlen
.public strncmp
.public strncpy
.public sub_01FF8F28
.public sub_01FF905C
.public sub_01FF9128
.public sub_01FF9130_JP
.public sub_01FF929C
.public sub_02001808
.public sub_02002580
.public sub_020027F8
.public sub_0200302C
.public sub_020030FC
.public sub_02003B94
.public sub_02003BC8
.public sub_02004F80
.public sub_020063A0
.public sub_020063F4
.public sub_02006498
.public sub_02006BFC
.public sub_02006C8C
.public sub_0200A124
.public sub_0200A158
.public sub_0200A174
.public sub_0200A184
.public sub_0200A29C
.public sub_0200A478
.public sub_0200A4C4
.public sub_0200A504
.public sub_0200A510
.public sub_0200A590
.public sub_0200B2C4
.public sub_0200B314
.public sub_0200B330
.public sub_0200B340
.public sub_0200B3C0
.public sub_0200B3D4
.public sub_0200B3FC
.public sub_0200C4CC
.public sub_0200C5DC
.public sub_0200CABC
.public sub_0200CAD4
.public sub_0200CAE4
.public sub_0200D310
.public sub_0200D65C
.public sub_0200D670
.public sub_0200FD48
.public sub_02010044
.public sub_02010060
.public sub_02010154
.public sub_0201077C
.public sub_02010794
.public sub_020107F4
.public sub_02012AB8
.public sub_02013190
.public sub_020131F0
.public sub_02013E54
.public sub_02013F58
.public sub_02015090
.public sub_02017C50
.public sub_02017C74
.public sub_02017C80
.public sub_0201C028
.public sub_0201C108
.public sub_0201CF5C
@@ -754,9 +203,6 @@
.public sub_0201E12C
.public sub_0201E13C
.public sub_0201F2A0
.public sub_0202059C
.public sub_020205C0
.public sub_0202065C
.public sub_02020A9C
.public sub_02020B14
.public sub_02020B4C
@@ -774,67 +220,7 @@
.public sub_02021F44
.public sub_0202202C
.public sub_02022118
.public sub_020236FC
.public sub_0202372C
.public sub_02024B94
.public sub_02024D7C
.public sub_020251F0
.public sub_02025304_JP
.public sub_02054F18
.public sub_02054FB8
.public sub_02054FEC
.public sub_02055020
.public sub_020550DC
.public sub_020550E0
.public sub_02055118
.public sub_02055B78
.public sub_02055D4C
.public sub_020560B8
.public sub_02056228
.public sub_0205633C
.public sub_02056360
.public sub_02056410
.public sub_02056460
.public sub_020564B0
.public sub_02056504
.public sub_020568A4
.public sub_02056B58
.public sub_02056BD4
.public sub_02056F60
.public sub_02058460
.public sub_020584F8
.public sub_020584FC
.public sub_020597B0
.public sub_02059A74
.public sub_02059B08
.public sub_0205A4B4
.public sub_0205B028
.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_02062B64
.public sub_0206637C
.public sub_02079094
.public sub_0207B9EC
.public sub_0208346C
.public sub_0208347C
.public sub_02083A18
.public sub_02083B00
.public sub_02083B14
.public sub_02083B3C
.public sub_02084304
.public vsprintf
.public sub_0203C984
.public sub_020469BC
.public sub_02048240
.public sub_0204AE60

View File

@@ -0,0 +1,816 @@
#pragma once
.public ADVENTURE_LOG_ENCOUNTERS_MONSTER_IDS
.public ADVENTURE_LOG_PTR
.public ARM9_UNKNOWN_DATA__NA_209E6BC
.public ARM9_UNKNOWN_PTR__NA_20A2C84
.public ARM9_UNKNOWN_TABLE__NA_209E12C
.public ARM9_UNKNOWN_TABLE__NA_209E164
.public ARM9_UNKNOWN_TABLE__NA_209E280
.public ARM9_UNKNOWN_TABLE__NA_20A20B0
.public AddItemToStorage
.public AddMoneyCarried
.public Arm9LoadUnkFieldNa0x2029EC8
.public Arm9StoreUnkFieldNa0x2029ED8
.public ArrayCopy32
.public ArrayFill32
.public BAG_CAPACITY_TABLE
.public BAG_CAPACITY_TABLE_SPECIAL_EPISODES
.public BAG_ITEMS_PTR_MIRROR
.public CLIENT_LEVEL_TABLE
.public CanMonsterUseMove
.public CardBackupError
.public CardPullOutWithStatus
.public CheckDebugMenuField0x1A4
.public CheckOptionsMenuField0x1A4
.public CheckParentMenuField0x1A0
.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 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 DEFAULT_HERO_ID
.public DUNGEON_DATA_LIST
.public DUNGEON_PTR
.public DUNGEON_RESTRICTIONS
.public Debug_FatalError
.public Debug_GetDebugFlag
.public Debug_GetLogFlag
.public Debug_Print
.public Debug_Print0
.public Debug_SetDebugFlag
.public Debug_SetLogFlag
.public DecompressAtNormalVeneer
.public DexNumbersEqual
.public DirectoryFileMngr_OpenDirectoryFile
.public DisableIqSkill
.public DrawTextInWindow
.public DrawTileGrid
.public DungeonSwapIdToIdx
.public DungeonSwapIdxToId
.public DungeonToGroundMoveset
.public EnableAllLearnableIqSkills
.public FORBIDDEN_FORGOT_MOVE_LIST
.public FemaleToMaleForm
.public FileClose
.public FileRom_HandleOpen
.public FileRom_HandleRead
.public FileRom_HandleSeek
.public FileRom_InitDataTransfer
.public FileRom_StopDataTransfer
.public FileRom_Veneer_FileInit
.public FormatMoveStringMore
.public GAME_MODE
.public GLOBAL_PROGRESS_PTR
.public GUEST_MONSTER_DATA
.public GetActiveRosterIndex
.public GetActiveTeamMember
.public GetActualSellPrice
.public GetAdvancedMenuCurrentOption
.public GetAdvancedMenuResult
.public GetAdvancedTextBoxFlags2
.public GetAtSize
.public GetCurrentBagCapacity
.public GetDungeonModeSpecial
.public GetDungeonResultString
.public GetEvolutionPossibilities
.public GetHeldButtons
.public GetHero
.public GetHeroMemberIdx
.public GetInfoGroundMoveset
.public GetInfoMoveGround
.public GetIqSkillStringId
.public GetItemAtIdx
.public GetItemCategory
.public GetItemCategoryVeneer
.public GetItemIdFromList
.public GetItemMoveId16
.public GetKeyM2NSwitch
.public GetKeyN2MSwitch
.public GetLanguage
.public GetLanguageType
.public GetLearnableIqSkills
.public GetMainCharacter1MemberIdx
.public GetMainCharacter2MemberIdx
.public GetMainCharacter3MemberIdx
.public GetMaxPp
.public GetMoneyCarried
.public GetMoneyStored
.public GetMonsterName
.public GetMoveRangeId
.public GetMoveType
.public GetMovesetEggPtr
.public GetMovesetHmTmPtr
.public GetMovesetIdx__02013CAC
.public GetMovesetLevelUpPtr
.public GetNbItemsInBag
.public GetNbMoves
.public GetNextIqSkill
.public GetPartner
.public GetPartnerMemberIdx
.public GetPartyMembers
.public GetPpIncrease
.public GetPressedButtons
.public GetReleasedStylus
.public GetRngSeed
.public GetSimpleMenuResult
.public GetSosMailCount
.public GetStringFromFileVeneer
.public GetTeamMember
.public GetTime
.public GetWindow
.public GroundToDungeonMoveset
.public HIDDEN_POWER_BASE_POWER_TABLE
.public HandleSir0Translation
.public HidePortraitBox
.public InitMove
.public InitPreprocessorArgs
.public IqSkillFlagTest
.public Is2TurnsMove
.public IsAdvancedMenuActive2
.public IsAdvancedTextBoxActive
.public IsCollectionMenuActive
.public IsCollectionMenuState3
.public IsDebugMenuActive
.public IsDialogueBoxActive
.public IsExclusiveItemIdForMonster
.public IsExperienceLocked
.public IsGummi
.public IsItemInTimeDarkness
.public IsItemValidVeneer
.public IsMainCharacter
.public IsMovesetValidInTimeDarkness
.public IsNot2TurnsMoveOrSketch
.public IsOptionsMenuActive
.public IsParentMenuActive
.public IsRealMove
.public IsScrollBoxActive
.public IsShoppableItem
.public IsSimpleMenuActive
.public IsStorableItem
.public IsStorageFull
.public IsTeamSelectionMenuActive
.public IsTeamSelectionMenuState3
.public IsThrownItem
.public IsTreasureBox
.public IsValidTeamMember
.public ItemZInit
.public KAOMADO_FILEPATH
.public KEYBOARD_STRING_IDS
.public LearnMoves
.public LoadFileFromRom
.public LoadOverlay
.public MISSION_FLOORS_FORBIDDEN
.public MISSION_FLOOR_RANKS_PTRS
.public MONSTER_SPRITE_DATA
.public MemAlloc
.public MemFree
.public MemZero
.public MemcpySimple
.public MemsetSimple
.public NOTIFY_NOTE
.public NormalizeTreasureBox
.public OS_GetLockID
.public OUTLAW_LEVEL_TABLE
.public OUTLAW_MINION_LEVEL_TABLE
.public OverlayIsLoaded
.public PARTNER_TALK_KIND_TABLE
.public PORTRAIT_LAYOUTS
.public PlayAdvancedTextBoxInputSound
.public PlayBgmByIdVeneer
.public PlaySeVolumeWrapper
.public PointsToZero
.public PreprocessString
.public PreprocessStringFromId
.public RANK_UP_TABLE
.public Rand16Bit
.public Rand32Bit
.public RandInt
.public RandIntSafe
.public ReadItemsFromSave
.public ReadMonsterInfoFromSave
.public ReadStringFromDialogueBox
.public RemoveActiveMembersFromAllTeams
.public RemoveActiveMembersFromRescueTeam
.public RemoveActiveMembersFromSpecialEpisodeTeam
.public RemoveEmptyItemsInBag
.public ResumeAdvancedMenu
.public SCRIPT_VARS
.public SCRIPT_VARS_LOCALS
.public SECONDARY_TERRAIN_TYPES
.public SPECIAL_EPISODE_MAIN_CHARACTERS
.public STATUSES_FULL_DESCRIPTION_STRING_IDS
.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 StrcpyName
.public StrcpySimple
.public StringFromId
.public StrncmpSimple
.public StrncpyName
.public StrncpySimple
.public StrncpySimpleNoPad
.public StrncpySimpleNoPadSafe
.public TEAM_MEMBER_TABLE_PTR
.public TryPointCameraToMonster
.public UNOWN_SPECIES_ADDITIONAL_CHAR_PTR_TABLE
.public UnloadFile
.public UpdateWindow
.public VERSION_EXCLUSIVE_MONSTERS
.public WONDER_MAIL_BITS_MAP
.public WONDER_MAIL_BITS_SWAP
.public WONDER_MAIL_ENCRYPTION_TABLE
.public WriteItemsToSave
.public WriteMonsterInfoToSave
.public ZInit8
.public _0209B08C
.public _0209B09C
.public _0209B0EC
.public _0209B0FC
.public _0209B10C
.public _0209B11C
.public _0209B134
.public _0209B1B8
.public _0209B1C8
.public _0209B1D8
.public _0209B1F0
.public _0209B208
.public _0209B218
.public _0209B228
.public _0209B244
.public _0209B254
.public _0209B264
.public _0209B288
.public _0209B28C
.public _0209B298
.public _0209B2B8
.public _0209B2C4
.public _0209B2D0
.public _0209B2DC
.public _0209B2E0
.public _0209B2E1
.public _0209B2E2
.public _0209B2E3
.public _0209B2EC
.public _0209B2FC
.public _0209B30C
.public _0209B31C
.public _0209B32C
.public _0209B32E
.public _0209B3B4
.public _0209B3B6
.public _0209B48C
.public _0209B4A4
.public _0209B4AC
.public _0209B4B8
.public _0209B4C0
.public _0209B4C4
.public _0209B4D4
.public _0209B4E4
.public _0209B4FC
.public _0209B50C
.public _0209C29C_JP
.public _0209C29D_JP
.public _0209C29E_JP
.public _0209C5C0
.public _0209C5D0
.public _0209C5E0
.public _0209C604
.public _0209C60C
.public _0209C618
.public _0209C628
.public _0209C638
.public _0209C648
.public _0209C658
.public _0209C668
.public _0209C678
.public _0209C688
.public _0209C6B8
.public _0209C70C
.public _0209C764
.public _0209C798
.public _0209C7B8
.public _0209C7CC
.public _0209C7D4
.public _0209C7E4
.public _0209C7F4
.public _0209C820
.public _0209C82C
.public _0209C83C
.public _0209C844
.public _0209C846
.public _0209C850
.public _0209C85C
.public _0209C86C
.public _0209C884
.public _0209C89C
.public _0209C8A8
.public _0209C8B8
.public _0209C8C8
.public _0209C928
.public _0209C92C
.public _0209C93C
.public _0209C94C
.public _0209C95C
.public _0209C96C
.public _0209C97C
.public _0209C98C
.public _0209C99C
.public _0209C9AC
.public _0209C9B0
.public _0209C9CC
.public _0209C9D4
.public _0209C9DC
.public _0209C9E4
.public _0209C9F4
.public _0209C9FC
.public _0209CA08
.public _0209CA18
.public _0209CA2C
.public _0209CA3C
.public _0209CA48
.public _0209CA58
.public _0209CA68
.public _0209CA78
.public _0209CA88
.public _0209CA98
.public _0209CAB4
.public _0209CB0C
.public _0209CB3C
.public _0209CB4C
.public _0209CB6C
.public _0209CB78
.public _0209CB88
.public _0209CB98
.public _0209CBA8
.public _0209CBB0
.public _0209CBB8
.public _0209CBC0
.public _0209CBC8
.public _0209CBD0
.public _0209CBD8
.public _0209CBE0
.public _0209CBE8
.public _0209CC0C
.public _0209CC18
.public _0209CC28
.public _0209CC38
.public _0209CC48
.public _0209CC60
.public _0209CC80
.public _0209CC90
.public _0209CCA0
.public _0209CCB0
.public _0209CCC0
.public _0209CCD0
.public _0209CCE0
.public _0209CD4C
.public _0209CD6C
.public _0209CD84
.public _0209CD94
.public _0209CDA4
.public _0209CDB8
.public _0209CDD0
.public _0209CDE0
.public _0209CDF8
.public _0209CE10
.public _0209CE40
.public _0209CE50
.public _0209CE54
.public _0209CE58
.public _0209CE68
.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 _020A0C68
.public _020A0C69
.public _020A0C6A
.public _020A0C6C
.public _020A0C6E
.public _020A1864
.public _020A1880
.public _020A1884
.public _020A189C
.public _020A18C0
.public _020A192C
.public _020A20B1
.public _020A2808
.public _020A281C
.public _020A2830
.public _020A2844
.public _020A2858
.public _020A286C
.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 _020A2D09
.public _020A31B8
.public _020A31D4
.public _020A31E4
.public _020A31F4
.public _020A31FC
.public _020A3200
.public _020A3210
.public _020A322C
.public _020A3248
.public _020A3258
.public _020A327C
.public _020A328C
.public _020A32D4
.public _020A32F8
.public _020A3330
.public _020A45C8_JP
.public _020AFDB8
.public _020AFDBC
.public _020AFDD0
.public _020AFDD8
.public _020AFDE0
.public _020AFDE8
.public _020AFDF0
.public _020AFE40
.public _020AFE58
.public _020AFE5C
.public _020AFE70
.public _020AFE74
.public _020AFE78
.public _020AFE7C
.public _020AFE8C
.public _020AFE90
.public _020AFE98
.public _020AFEA8
.public _020AFEB4
.public _020AFEC8
.public _020AFECC
.public _020AFED0
.public _020AFED4
.public _020AFED8
.public _020AFEDC
.public _020AFEE0
.public _020AFEE4
.public _020AFEE8
.public _020AFEEC
.public _020AFEF4
.public _020AFF00
.public _020AFF14
.public _020AFF38
.public _020AFF40
.public _020AFF4C
.public _020AFF54
.public _020AFF5C
.public _020AFF64
.public _020AFF68
.public _020AFF6C
.public _020AFF7C
.public _020AFF80
.public _020AFF88
.public _020B09B0
.public _020B09B4
.public _020B09C0
.public _020B09C8
.public _020B09D0
.public _020B12A0_JP
.public _020B12F4_EU
.public _020B1308_EU
.public _022AADF8
.public _022AADFC
.public _022AAE00
.public _022AAE2A
.public _022AAE2E
.public _022AAE4C
.public _022AAE58
.public _022AAE64
.public _022AAE68
.public _022AAE70
.public _022AAE74
.public _022AAE78
.public _022AAEA4
.public _022AAEA8
.public _022AAEAC
.public _022AB09C
.public _022AB0A0
.public _022AB0A1
.public _022AB0A2
.public _022AB0A9
.public _022AB0AC
.public _022AB4AC
.public _022AB4B0
.public _022AB4F8
.public _022AB4FC
.public _022AB510
.public _022AB518
.public _022AB5A8
.public _022AB5AC
.public _022AB694
.public _022AB69C
.public _022AB918
.public _022AB924
.public _022AB92C
.public _022AB930
.public _022ABDE0
.public _f2d
.public _fsub
.public _s32_div_f
.public memcpy
.public ov11_022E6E68
.public ov11_023061CC
.public ov11_023061E4
.public ov11_02306C64
.public ov11_02306C9C
.public ov11_0230D000
.public ov11_0230D220
.public ov11_0230D71C
.public ov11_0230D92C
.public ov11_02310BDC
.public ov11_02310C18
.public ov29_022E2A78
.public ov29_022EA62C
.public ov29_023002F0
.public ov29_02347100
.public sprintf
.public strcat
.public strcpy
.public strlen
.public strncmp
.public strncpy
.public sub_01FF8F28
.public sub_02001808
.public sub_02002580
.public sub_020027F8
.public sub_0200302C
.public sub_020030FC
.public sub_02003B94
.public sub_02003BC8
.public sub_02004F80
.public sub_020063F4
.public sub_02006498
.public sub_02006BFC
.public sub_02006C8C
.public sub_0200A124
.public sub_0200A158
.public sub_0200A184
.public sub_0200A478
.public sub_0200A4C4
.public sub_0200A504
.public sub_0200A510
.public sub_0200A590
.public sub_0200B2C4
.public sub_0200B314
.public sub_0200B330
.public sub_0200B340
.public sub_0200B3C0
.public sub_0200B3D4
.public sub_0200B3FC
.public sub_0200C4CC
.public sub_0200C5DC
.public sub_0200CABC
.public sub_0200CAD4
.public sub_0200CAE4
.public sub_0200D310
.public sub_0200D65C
.public sub_0200D670
.public sub_0200FD48
.public sub_02010044
.public sub_02010060
.public sub_02010154
.public sub_0201077C
.public sub_02010794
.public sub_020107F4
.public sub_02012AB8
.public sub_02013190
.public sub_020131F0
.public sub_02013E54
.public sub_02013F58
.public sub_02015090
.public sub_02017C50
.public sub_02017C74
.public sub_02017C80
.public sub_0202059C
.public sub_020205C0
.public sub_0202065C
.public sub_020236FC
.public sub_0202372C
.public sub_02024B94
.public sub_02024D7C
.public sub_020251F0
.public sub_02025304_JP
.public sub_02025888
.public sub_02025C7C
.public sub_02025D50
.public sub_02025E84
.public sub_0202613C
.public sub_020261D4
.public sub_02026204
.public sub_02026268
.public sub_020262E0
.public sub_020264A4
.public sub_020264F8
.public sub_020265A8
.public sub_02027180
.public sub_02027B1C
.public sub_0202810C
.public sub_0202812C
.public sub_020282F4
.public sub_02028324
.public sub_02028354
.public sub_0202836C
.public sub_020288DC
.public sub_020288FC
.public sub_02029F88
.public sub_02029FBC
.public sub_0202A2A4
.public sub_0202AAE8
.public sub_0202AB80
.public sub_0202ABB0
.public sub_0202C1E4
.public sub_0202C620
.public sub_0202C654
.public sub_0202C6D4
.public sub_0202C748
.public sub_0202C75C
.public sub_0202D068
.public sub_0202D0EC
.public sub_0202D134
.public sub_0202D16C
.public sub_0202D59C
.public sub_0202D5B0
.public sub_0202D5E4
.public sub_0202DF64
.public sub_0202F16C
.public sub_0202F190
.public sub_0202F2C4
.public sub_0202F334
.public sub_0202F3F8
.public sub_0202F954
.public sub_0202F9B8
.public sub_020307EC
.public sub_020308E4
.public sub_02030908
.public sub_02030940
.public sub_02030978
.public sub_020309B8
.public sub_02030A18
.public sub_02030A50
.public sub_02030A64
.public sub_02030A74
.public sub_02030A90
.public sub_02030AAC
.public sub_02030EF0
.public sub_0203111C
.public sub_0203115C
.public sub_0203117C
.public sub_020311D4
.public sub_020311E8
.public sub_02031220
.public sub_02031888
.public sub_0203189C
.public sub_020318D0
.public sub_02031914
.public sub_020347A0
.public sub_020347F0
.public sub_02034840
.public sub_020348E4
.public sub_02054F18
.public sub_02054FB8
.public sub_02054FEC
.public sub_02055020
.public sub_020550DC
.public sub_020550E0
.public sub_02055118
.public sub_02055B78
.public sub_02055D4C
.public sub_020560B8
.public sub_02056228
.public sub_0205633C
.public sub_02056360
.public sub_02056410
.public sub_02056460
.public sub_020564B0
.public sub_02056504
.public sub_020568A4
.public sub_02056B58
.public sub_02056BD4
.public sub_02056F60
.public sub_02058460
.public sub_020584F8
.public sub_020584FC
.public sub_020597B0
.public sub_02059A74
.public sub_02059B08
.public sub_0205A4B4
.public sub_0205B028
.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_02062B64
.public sub_0206637C
.public sub_02079094
.public sub_0207B9EC
.public sub_0208346C
.public sub_0208347C
.public sub_02083A18
.public sub_02083B00
.public sub_02083B14
.public sub_02083B3C
.public sub_02084304
.public vsprintf

View File

@@ -1,46 +1,40 @@
#pragma once
.public AddMoneyCarried
.public AddMoneyStored
.public BANK_MAIN_MENU_ITEMS
.public BANK_WINDOW_PARAMS_2
.public BANK_WINDOW_PARAMS_3
.public BANK_WINDOW_PARAMS_4
.public CloseAdvancedTextBox
.public CloseDialogueBox
.public ClosePortraitBox
.public CloseSimpleMenu
.public CloseTextBox
.public CreateAdvancedTextBox
.public CreateDialogueBox
.public CreatePortraitBox
.public CreateSimpleMenuFromStringIds
.public CreateTextBox
.public Debug_Print0
.public DrawTextInWindow
.public GetMoneyCarried
.public GetMoneyStored
.public GetSimpleMenuResult
.public HidePortraitBox
.public InitPortraitParamsWithMonsterId
.public InitPreprocessorArgs
.public IsDialogueBoxActive
.public MemAlloc
.public MemFree
.public ov11_022E6E68
.public OVERLAY15_UNKNOWN_POINTER__NA_238B180
.public PlaySeVolumeWrapper
.public PreprocessStringFromId
.public SetAdvancedTextBoxField0x1C2
.public SetAdvancedTextBoxField0x1C4
.public SetAdvancedTextBoxState5
.public SetPortraitEmotion
.public SetPortraitLayout
.public ShowDialogueBox
.public ShowPortraitInPortraitBox
.public ShowStringIdInDialogueBox
.public ov15_0238AD78
.public ov15_0238ADC4
.public ov15_0238AE6C
.public ov15_0238B0CC
.public ov15_0238B0D4
.public ov15_0238B0E0
.public ov15_0238B0E8
.public ov15_0238B0F4
.public ov15_0238B10C
.public ov15_0238B114
.public sub_02017C80
.public sub_02026268
.public sub_02027B1C
.public sub_0202836C
.public sub_020288DC
.public sub_0202F2C4
.public sub_0202F954
.public sub_020395CC
.public sub_020396E4
.public sub_02039B0C
.public UpdateWindow

View File

@@ -0,0 +1,7 @@
#pragma once
.public DrawTextInWindow
.public GetMoneyCarried
.public GetMoneyStored
.public PreprocessStringFromId
.public UpdateWindow
.public sub_02027B1C

View File

@@ -0,0 +1,16 @@
#pragma once
.public CloseDialogueBox
.public ClosePortraitBox
.public Debug_Print0
.public HidePortraitBox
.public IsDialogueBoxActive
.public MemFree
.public OVERLAY15_UNKNOWN_POINTER__NA_238B180
.public ov11_022E6E68
.public ov15_0238A234
.public ov15_0238B11C
.public ov15_0238B12C
.public ov15_0238B13C
.public ov15_0238B150
.public sub_0202836C
.public sub_0202F2C4

View File

@@ -1,5 +1,4 @@
#pragma once
.public _020A1870
.public AddDungeonSubMenuOption
.public AdvanceFrame
.public AiMovement
@@ -11,7 +10,6 @@
.public BaseFormsEqual
.public CanAiUseMove
.public CanMonsterSpawn
.public CeilFixedPoint
.public CheckTeamMemberIdxVeneer
.public CheckVariousConditions
.public CheckVariousStatuses2
@@ -33,19 +31,48 @@
.public CreateScrollBoxSingle
.public CreateTextBox
.public CreateTextBoxWithArg
.public DUNGEON_PTR
.public DUNGEON_SUBMENU_ITEMS_1
.public DUNGEON_SUBMENU_ITEMS_5
.public DUNGEON_SUBMENU_ITEMS_6
.public DUNGEON_WINDOW_PARAMS_10
.public DUNGEON_WINDOW_PARAMS_11
.public DUNGEON_WINDOW_PARAMS_12
.public DUNGEON_WINDOW_PARAMS_13
.public DUNGEON_WINDOW_PARAMS_14
.public DUNGEON_WINDOW_PARAMS_15
.public DUNGEON_WINDOW_PARAMS_16
.public DUNGEON_WINDOW_PARAMS_17
.public DUNGEON_WINDOW_PARAMS_18
.public DUNGEON_WINDOW_PARAMS_19
.public DUNGEON_WINDOW_PARAMS_20
.public DUNGEON_WINDOW_PARAMS_21
.public DUNGEON_WINDOW_PARAMS_22
.public DUNGEON_WINDOW_PARAMS_23
.public DUNGEON_WINDOW_PARAMS_24
.public DUNGEON_WINDOW_PARAMS_25
.public DUNGEON_WINDOW_PARAMS_26
.public DUNGEON_WINDOW_PARAMS_27
.public DUNGEON_WINDOW_PARAMS_28
.public DUNGEON_WINDOW_PARAMS_29
.public DUNGEON_WINDOW_PARAMS_30
.public DUNGEON_WINDOW_PARAMS_31
.public DUNGEON_WINDOW_PARAMS_32
.public DUNGEON_WINDOW_PARAMS_5
.public DUNGEON_WINDOW_PARAMS_6
.public DUNGEON_WINDOW_PARAMS_7
.public DUNGEON_WINDOW_PARAMS_8
.public DUNGEON_WINDOW_PARAMS_9
.public Debug_Print0
.public DisableDungeonSubMenuOption
.public DisplayMessage
.public DrawTextInWindow
.public DrawTileGrid
.public DUNGEON_PTR
.public FormatMoveString
.public FormatMoveStringMore
.public GetActiveTeamMember
.public GetApparentWeather
.public GetCurrentBagCapacity
.public GetDexNumber
.public GetFloorType
.public GetItemAction
.public GetItemCategoryVeneer
.public GetItemInfo
@@ -57,7 +84,6 @@
.public GetLeaderChangeFlag
.public GetLeaderMonster
.public GetMaxPp
.public GetMoneyCarried
.public GetMonsterIdFromSpawnEntry
.public GetMonsterName
.public GetNbItemsInBag
@@ -70,7 +96,6 @@
.public GetTile
.public GetTrapInfo
.public GetUnlockedTactics
.public GetWindow
.public GetWindowRectangle
.public HideTileGrid
.public InitPreprocessorArgs
@@ -91,12 +116,48 @@
.public JoinedAtRangeCheck2Veneer
.public LogMessageByIdWithPopupCheckUser
.public MemAlloc
.public memcpy
.public MemFree
.public memset
.public MemZero
.public MonsterCanThrowItems
.public MonsterHasEmbargoStatus
.public OVERLAY31_JP_STRING
.public OVERLAY31_UNKNOWN_POINTER__NA_238A268
.public OVERLAY31_UNKNOWN_POINTER__NA_238A26C
.public OVERLAY31_UNKNOWN_POINTER__NA_238A270
.public OVERLAY31_UNKNOWN_POINTER__NA_238A27C
.public OVERLAY31_UNKNOWN_POINTER__NA_238A280
.public OVERLAY31_UNKNOWN_POINTER__NA_238A284
.public OVERLAY31_UNKNOWN_POINTER__NA_238A288
.public OVERLAY31_UNKNOWN_POINTER__NA_238A28C
.public OVERLAY31_UNKNOWN_STRING_IDS
.public OVERLAY31_UNKNOWN_STRUCT__NA_2389EF0
.public OVERLAY31_UNKNOWN_STRUCT__NA_2389FE8
.public OVERLAY31_UNKNOWN_STRUCT__NA_238A144
.public OVERLAY31_UNKNOWN_STRUCT__NA_238A190
.public PlaySeVolumeWrapper
.public PlayWindowInputSound
.public PopInventoryMenuField0x1A3
.public PositionHasItem
.public PreprocessString
.public PreprocessStringFromId
.public PrintIqSkillsMenu
.public ResumeParentMenu
.public SetAdvancedTextBoxField0x1C2
.public SetAdvancedTextBoxField0x1C4
.public SetAdvancedTextBoxState5
.public SetMonsterActionFields
.public ShowStringInDialogueBox
.public SortItemsInBag
.public SpecificRecruitCheck
.public StringFromId
.public TeamMemberHasEnabledIqSkill
.public TryPointCameraToMonster
.public UpdateMapSurveyorFlag
.public UpdateWindow
.public YesNoMenu
.public _020A1870
.public memcpy
.public memset
.public ov10_022BCC60
.public ov10_022BCC7C
.public ov10_022BCCB0
@@ -107,9 +168,7 @@
.public ov10_022BCE44
.public ov10_022BD394
.public ov10_022BD474
.public ov29_02056264
.public ov29_022E08F4
.public ov29_022E0C2C
.public ov29_022E1618
.public ov29_022E1620
.public ov29_022E2A78
@@ -156,39 +215,45 @@
.public ov29_0234F77C
.public ov29_0234FB50
.public ov29_0234FB60
.public ov29_0234FB6C
.public ov29_0234FBD4
.public ov29_0235352C
.public ov29_0237C91C
.public ov29_0238280C
.public OVERLAY31_UNKNOWN_STRING_IDS
.public PlaySeVolumeWrapper
.public PlayWindowInputSound
.public PopInventoryMenuField0x1A3
.public PositionHasItem
.public PositionIsOnHiddenStairs
.public PreprocessString
.public PreprocessStringFromId
.public PrintIqSkillsMenu
.public ResumeParentMenu
.public SetAdvancedTextBoxField0x1C2
.public SetAdvancedTextBoxField0x1C4
.public SetAdvancedTextBoxState5
.public SetMonsterActionFields
.public ShouldMonsterRunAwayVariation
.public ShowStringInDialogueBox
.public SortItemsInBag
.public SpecificRecruitCheck
.public ov31_02382B54
.public ov31_02382DAC
.public ov31_02389E22
.public ov31_02389F5C
.public ov31_0238A044
.public ov31_0238A04C
.public ov31_0238A054
.public ov31_0238A05C
.public ov31_0238A064
.public ov31_0238A06C
.public ov31_0238A074
.public ov31_0238A07C
.public ov31_0238A084
.public ov31_0238A0A8
.public ov31_0238A0B0
.public ov31_0238A0B8
.public ov31_0238A0C0
.public ov31_0238A0C8
.public ov31_0238A0D0
.public ov31_0238A0D8
.public ov31_0238A0E0
.public ov31_0238A0E8
.public ov31_0238A154
.public ov31_0238A228
.public ov31_0238A23C
.public ov31_0238A2A0
.public ov31_0238A2A8
.public StairsSubheadingCallback
.public strcpy
.public StringFromId
.public sub_02001808
.public sub_0200B3D4
.public sub_0200D310
.public sub_0200D894
.public sub_02017C74
.public sub_02017C80
.public sub_02025888
.public sub_020265A8
.public sub_02027B1C
.public sub_0202810C
.public sub_0202812C
@@ -216,7 +281,6 @@
.public sub_0203FD14
.public sub_0203FD38
.public sub_0203FD44
.public sub_0203FE5C
.public sub_0204018C
.public sub_0204019C
.public sub_020407C0
@@ -237,14 +301,8 @@
.public sub_020420F4
.public sub_0204AEA0
.public sub_0204F10C
.public sub_0204F9E0
.public sub_02053CA0
.public sub_02054F44
.public sub_02056228
.public sub_020585B4
.public TeamMemberHasEnabledIqSkill
.public TryPointCameraToMonster
.public UpdateMapSurveyorFlag
.public UpdateWindow
.public vsprintf
.public YesNoMenu

File diff suppressed because it is too large Load Diff

29446
asm/main_0200ED1C.s Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

41015
asm/main_02034974.s Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,74 +1,8 @@
.include "asm/macros.inc"
.include "overlay_15.inc"
.include "overlay_15_0238A234.inc"
.text
arm_func_start ov15_0238A140
ov15_0238A140: ; 0x0238A140
stmdb sp!, {r3, lr}
mov r0, #0xec
mov r1, #8
bl MemAlloc
ldr r1, _0238A228 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
str r0, [r1]
add r0, r0, #0x88
bl InitPreprocessorArgs
mov r0, #0
bl CreateDialogueBox
ldr r2, _0238A228 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
mov r1, #3
ldr r3, [r2]
mov r2, #1
strb r0, [r3, #0x80]
mov r0, #0
bl CreatePortraitBox
ldr r2, _0238A228 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
mvn r3, #1
ldr r1, [r2]
mov ip, #0
strb r0, [r1, #0x81]
ldr r0, [r2]
ldr r1, _0238A22C ; =0x00000183
strb r3, [r0, #0x68]
ldr r0, [r2]
ldr r3, _0238A230 ; =0x0000270F
str ip, [r0, #0x10]
ldr r0, [r2]
str r1, [r0, #0x88]
ldr r0, [r2]
str r3, [r0, #0xac]
ldr r0, [r2]
str r1, [r0, #0xd4]
ldr r0, [r2]
str ip, [r0]
ldr r0, [r2]
add r0, r0, #0xdc
bl InitPortraitParamsWithMonsterId
ldr r0, _0238A228 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
mov r1, #0
ldr r0, [r0]
add r0, r0, #0xdc
bl SetPortraitLayout
ldr r0, _0238A228 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
mov r1, #0
ldr r0, [r0]
add r0, r0, #0xdc
bl SetPortraitEmotion
ldr r0, _0238A228 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
ldr r1, [r0]
ldrsb r0, [r1, #0x81]
add r1, r1, #0xdc
bl ShowPortraitInPortraitBox
mov r0, #0
bl ov15_0238A4E8
mov r0, #1
ldmia sp!, {r3, pc}
.align 2, 0
_0238A228: .word OVERLAY15_UNKNOWN_POINTER__NA_238B180
_0238A22C: .word 0x00000183
_0238A230: .word 0x0000270F
arm_func_end ov15_0238A140
arm_func_start ov15_0238A234
ov15_0238A234: ; 0x0238A234
stmdb sp!, {r4, lr}
@@ -990,327 +924,3 @@ _0238C2DC: .word 0x00003246
_0238AD70: .word 0x00000382 + OV15_0238A4E8_OFFSET
_0238AD74: .word ov15_0238B114
arm_func_end ov15_0238A4E8
arm_func_start ov15_0238AD78
ov15_0238AD78: ; 0x0238AD78
stmdb sp!, {r3, lr}
cmp r0, #0
#ifdef JAPAN
ldrne r0, _0238C32C ; =0x00003249
#else
movne r0, #0x384
#endif
ldr r1, _0238ADBC ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
ldreq r0, _0238ADC0 ; =0x00000385
ldr r1, [r1]
mov r0, r0, lsl #0x10
mov r3, r0, lsr #0x10
ldrsb r0, [r1, #0x68]
mov r1, #2
mov r2, #0
bl sub_02026268
ldr r0, _0238ADBC ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
ldr r0, [r0]
add r0, r0, #0x54
bl sub_02039B0C
ldmia sp!, {r3, pc}
.align 2, 0
#ifdef JAPAN
_0238C32C: .word 0x00003249
_0238ADBC: .word OVERLAY15_UNKNOWN_POINTER__NA_238B180
_0238ADC0: .word 0x0000324A
#else
_0238ADBC: .word OVERLAY15_UNKNOWN_POINTER__NA_238B180
_0238ADC0: .word 0x00000385
#endif
arm_func_end ov15_0238AD78
arm_func_start ov15_0238ADC4
ov15_0238ADC4: ; 0x0238ADC4
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0x54
sub sp, sp, #0x400
mov r4, r0
bl sub_02027B1C
bl GetMoneyCarried
add ip, sp, #0x400
str r0, [sp, #0x428]
add ip, ip, #4
ldr r2, _0238AE64 ; =0x00000373
ldr r3, _0238AE68 ; =0x0000C402
add r0, sp, #4
mov r1, #0x100
str ip, [sp]
bl PreprocessStringFromId
add r3, sp, #4
mov r0, r4
mov r1, #8
mov r2, #6
bl DrawTextInWindow
bl GetMoneyStored
add r1, sp, #0x400
str r0, [sp, #0x428]
add r1, r1, #4
str r1, [sp]
#ifdef JAPAN
ldr r2, _0238C3E0 ; =0x00003239
ldr r3, _0238AE68 ; =0x0000C402
add r0, sp, #4
mov r1, #0x100
#else
ldr r3, _0238AE68 ; =0x0000C402
add r0, sp, #4
mov r1, #0x100
mov r2, #0x374
#endif
bl PreprocessStringFromId
mov r0, r4
mov r1, #0x74
mov r2, #6
add r3, sp, #4
bl DrawTextInWindow
mov r0, r4
bl UpdateWindow
add sp, sp, #0x54
add sp, sp, #0x400
ldmia sp!, {r3, r4, pc}
.align 2, 0
#ifdef JAPAN
_0238AE64: .word 0x00003238
_0238AE68: .word 0x0000C402
_0238C3E0: .word 0x00003239
#else
_0238AE64: .word 0x00000373
_0238AE68: .word 0x0000C402
#endif
arm_func_end ov15_0238ADC4
arm_func_start ov15_0238AE6C
ov15_0238AE6C: ; 0x0238AE6C
ldr r0, _0238AE80 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
ldr ip, _0238AE84 ; =ov15_0238AD78
ldr r0, [r0]
ldrb r0, [r0, #0xd8]
bx ip
.align 2, 0
_0238AE80: .word OVERLAY15_UNKNOWN_POINTER__NA_238B180
_0238AE84: .word ov15_0238AD78
arm_func_end ov15_0238AE6C
arm_func_start ov15_0238AE88
ov15_0238AE88: ; 0x0238AE88
stmdb sp!, {r3, lr}
bl ov15_0238A140
mov r0, #1
ldmia sp!, {r3, pc}
arm_func_end ov15_0238AE88
arm_func_start ov15_0238AE98
ov15_0238AE98: ; 0x0238AE98
stmdb sp!, {r3, lr}
ldr r0, _0238AF40 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
ldr r0, [r0]
cmp r0, #0
ldmeqia sp!, {r3, pc}
ldrsb r1, [r0, #0x80]
mvn r0, #1
cmp r1, r0
beq _0238AEC4
ldr r0, _0238AF44 ; =ov15_0238B11C
bl Debug_Print0
_0238AEC4:
ldr r1, _0238AF40 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
mvn r0, #1
ldr r1, [r1]
ldrsb r1, [r1, #0x82]
cmp r1, r0
beq _0238AEE4
ldr r0, _0238AF48 ; =ov15_0238B12C
bl Debug_Print0
_0238AEE4:
ldr r1, _0238AF40 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
mvn r0, #1
ldr r1, [r1]
ldrsb r1, [r1, #0x83]
cmp r1, r0
beq _0238AF04
ldr r0, _0238AF4C ; =ov15_0238B13C
bl Debug_Print0
_0238AF04:
ldr r1, _0238AF40 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
mvn r0, #1
ldr r1, [r1]
ldrsb r1, [r1, #0x84]
cmp r1, r0
beq _0238AF24
ldr r0, _0238AF50 ; =ov15_0238B150
bl Debug_Print0
_0238AF24:
ldr r0, _0238AF40 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
ldr r0, [r0]
bl MemFree
ldr r0, _0238AF40 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
mov r1, #0
str r1, [r0]
ldmia sp!, {r3, pc}
.align 2, 0
_0238AF40: .word OVERLAY15_UNKNOWN_POINTER__NA_238B180
_0238AF44: .word ov15_0238B11C
_0238AF48: .word ov15_0238B12C
_0238AF4C: .word ov15_0238B13C
_0238AF50: .word ov15_0238B150
arm_func_end ov15_0238AE98
arm_func_start ov15_0238AF54
ov15_0238AF54: ; 0x0238AF54
stmdb sp!, {r3, lr}
ldr r0, _0238B050 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
ldr r1, [r0]
ldr r0, [r1]
cmp r0, #5
addls pc, pc, r0, lsl #2
b _0238B048
_0238AF70: ; jump table
b _0238AF88 ; case 0
b _0238AF94 ; case 1
b _0238AFB0 ; case 2
b _0238B03C ; case 3
b _0238B048 ; case 4
b _0238AFF4 ; case 5
_0238AF88:
mov r0, #1
str r0, [r1]
b _0238B048
_0238AF94:
bl ov15_0238A234
cmp r0, #3
ldreq r0, _0238B050 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
moveq r1, #2
ldreq r0, [r0]
streq r1, [r0]
b _0238B048
_0238AFB0:
ldrsb r0, [r1, #0x80]
bl IsDialogueBoxActive
cmp r0, #0
bne _0238B048
ldr r0, _0238B050 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
ldr r0, [r0]
ldrsb r0, [r0, #0x81]
bl HidePortraitBox
ldr r0, _0238B050 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
ldr r0, [r0]
ldrsb r0, [r0, #0x80]
bl sub_0202F2C4
ldr r0, _0238B050 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
mov r1, #5
ldr r0, [r0]
str r1, [r0]
b _0238B048
_0238AFF4:
ldrsb r0, [r1, #0x80]
bl sub_0202836C
ldr r0, _0238B050 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
ldr r0, [r0]
ldrsb r0, [r0, #0x81]
bl ClosePortraitBox
ldr r0, _0238B050 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
ldr r0, [r0]
ldrsb r0, [r0, #0x80]
bl CloseDialogueBox
ldr r0, _0238B050 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
mov r3, #3
ldr r2, [r0]
sub r1, r3, #5
str r3, [r2]
ldr r0, [r0]
strb r1, [r0, #0x80]
b _0238B048
_0238B03C:
bl ov11_022E6E68
mov r0, #4
ldmia sp!, {r3, pc}
_0238B048:
mov r0, #1
ldmia sp!, {r3, pc}
.align 2, 0
_0238B050: .word OVERLAY15_UNKNOWN_POINTER__NA_238B180
arm_func_end ov15_0238AF54
; 0x0238B054
.global BANK_MAIN_MENU_ITEMS
BANK_MAIN_MENU_ITEMS:
#ifdef JAPAN
#define OV15_DATA_OFFSET 0x2EC5
#else
#define OV15_DATA_OFFSET 0
#endif
.word 0x36F + OV15_DATA_OFFSET
.byte 0x02, 0x00, 0x00, 0x00
.word 0x370 + OV15_DATA_OFFSET
.byte 0x03, 0x00, 0x00, 0x00
.word 0x371 + OV15_DATA_OFFSET
.byte 0x04, 0x00, 0x00, 0x00
.word 0x372 + OV15_DATA_OFFSET
.byte 0x01, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x12, 0x1E, 0x05
.byte 0x00, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global BANK_WINDOW_PARAMS_2
BANK_WINDOW_PARAMS_2:
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x1C, 0x03
.byte 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global BANK_WINDOW_PARAMS_3
BANK_WINDOW_PARAMS_3:
.byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x08, 0x0B, 0x07
.byte 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global BANK_WINDOW_PARAMS_4
BANK_WINDOW_PARAMS_4:
.byte 0x00, 0x00, 0x00, 0x00, 0x1E, 0x0F, 0x00, 0x00
.byte 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x05
.byte 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
#ifndef EUROPE
.global ov15_0238B0CC
ov15_0238B0CC:
.byte 0x43, 0x61, 0x6E, 0x63, 0x65, 0x6C, 0x0A, 0x00
#endif
.global ov15_0238B0D4
ov15_0238B0D4:
.byte 0x52, 0x2D, 0x43, 0x6C, 0x6F, 0x73, 0x65, 0x0A, 0x00, 0x00, 0x00, 0x00
.global ov15_0238B0E0
ov15_0238B0E0:
.byte 0x4D, 0x2D, 0x4F, 0x70
.byte 0x65, 0x6E, 0x0A, 0x00
.global ov15_0238B0E8
ov15_0238B0E8:
.byte 0x53, 0x2D, 0x43, 0x6C, 0x6F, 0x73, 0x65, 0x0A, 0x00, 0x00, 0x00, 0x00
.global ov15_0238B0F4
ov15_0238B0F4:
.byte 0x4D, 0x65, 0x6E, 0x75, 0x5F, 0x42, 0x61, 0x6E, 0x6B, 0x5F, 0x4D, 0x6F, 0x64, 0x65, 0x5F, 0x43
.byte 0x61, 0x6E, 0x63, 0x65, 0x6C, 0x0A, 0x00, 0x00
.global ov15_0238B10C
ov15_0238B10C:
.byte 0x50, 0x2D, 0x4F, 0x70, 0x65, 0x6E, 0x0A, 0x00
.global ov15_0238B114
ov15_0238B114:
.byte 0x47, 0x2D, 0x4F, 0x70, 0x65, 0x6E, 0x0A, 0x00
.global ov15_0238B11C
ov15_0238B11C:
.byte 0x6D, 0x65, 0x73, 0x20, 0x6E, 0x6F, 0x74, 0x20
.byte 0x63, 0x6C, 0x6F, 0x73, 0x65, 0x0A, 0x00, 0x00
.global ov15_0238B12C
ov15_0238B12C:
.byte 0x73, 0x75, 0x62, 0x20, 0x6E, 0x6F, 0x74, 0x20
.byte 0x63, 0x6C, 0x6F, 0x73, 0x65, 0x0A, 0x00, 0x00
.global ov15_0238B13C
ov15_0238B13C:
.byte 0x73, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x20, 0x6E
.byte 0x6F, 0x74, 0x20, 0x63, 0x6C, 0x6F, 0x73, 0x65, 0x0A, 0x00, 0x00, 0x00
.global ov15_0238B150
ov15_0238B150:
.byte 0x49, 0x6E, 0x70, 0x75
.byte 0x74, 0x20, 0x6E, 0x6F, 0x74, 0x20, 0x63, 0x6C, 0x6F, 0x73, 0x65, 0x0A, 0x00, 0x00, 0x00, 0x00
.data
.global OVERLAY15_UNKNOWN_POINTER__NA_238B180
OVERLAY15_UNKNOWN_POINTER__NA_238B180:
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00

65
asm/overlay_15_0238ADC4.s Normal file
View File

@@ -0,0 +1,65 @@
.include "asm/macros.inc"
.include "overlay_15_0238ADC4.inc"
.text
; https://decomp.me/scratch/Yyyxj
arm_func_start ov15_0238ADC4
ov15_0238ADC4: ; 0x0238ADC4
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0x54
sub sp, sp, #0x400
mov r4, r0
bl sub_02027B1C
bl GetMoneyCarried
add ip, sp, #0x400
str r0, [sp, #0x428]
add ip, ip, #4
ldr r2, _0238AE64 ; =0x00000373
ldr r3, _0238AE68 ; =0x0000C402
add r0, sp, #4
mov r1, #0x100
str ip, [sp]
bl PreprocessStringFromId
add r3, sp, #4
mov r0, r4
mov r1, #8
mov r2, #6
bl DrawTextInWindow
bl GetMoneyStored
add r1, sp, #0x400
str r0, [sp, #0x428]
add r1, r1, #4
str r1, [sp]
#ifdef JAPAN
ldr r2, _0238C3E0 ; =0x00003239
ldr r3, _0238AE68 ; =0x0000C402
add r0, sp, #4
mov r1, #0x100
#else
ldr r3, _0238AE68 ; =0x0000C402
add r0, sp, #4
mov r1, #0x100
mov r2, #0x374
#endif
bl PreprocessStringFromId
mov r0, r4
mov r1, #0x74
mov r2, #6
add r3, sp, #4
bl DrawTextInWindow
mov r0, r4
bl UpdateWindow
add sp, sp, #0x54
add sp, sp, #0x400
ldmia sp!, {r3, r4, pc}
.align 2, 0
#ifdef JAPAN
_0238AE64: .word 0x00003238
_0238AE68: .word 0x0000C402
_0238C3E0: .word 0x00003239
#else
_0238AE64: .word 0x00000373
_0238AE68: .word 0x0000C402
#endif
arm_func_end ov15_0238ADC4

214
asm/overlay_15_0238AE98.s Normal file
View File

@@ -0,0 +1,214 @@
.include "asm/macros.inc"
.include "overlay_15_0238AE98.inc"
.text
arm_func_start ov15_0238AE98
ov15_0238AE98: ; 0x0238AE98
stmdb sp!, {r3, lr}
ldr r0, _0238AF40 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
ldr r0, [r0]
cmp r0, #0
ldmeqia sp!, {r3, pc}
ldrsb r1, [r0, #0x80]
mvn r0, #1
cmp r1, r0
beq _0238AEC4
ldr r0, _0238AF44 ; =ov15_0238B11C
bl Debug_Print0
_0238AEC4:
ldr r1, _0238AF40 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
mvn r0, #1
ldr r1, [r1]
ldrsb r1, [r1, #0x82]
cmp r1, r0
beq _0238AEE4
ldr r0, _0238AF48 ; =ov15_0238B12C
bl Debug_Print0
_0238AEE4:
ldr r1, _0238AF40 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
mvn r0, #1
ldr r1, [r1]
ldrsb r1, [r1, #0x83]
cmp r1, r0
beq _0238AF04
ldr r0, _0238AF4C ; =ov15_0238B13C
bl Debug_Print0
_0238AF04:
ldr r1, _0238AF40 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
mvn r0, #1
ldr r1, [r1]
ldrsb r1, [r1, #0x84]
cmp r1, r0
beq _0238AF24
ldr r0, _0238AF50 ; =ov15_0238B150
bl Debug_Print0
_0238AF24:
ldr r0, _0238AF40 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
ldr r0, [r0]
bl MemFree
ldr r0, _0238AF40 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
mov r1, #0
str r1, [r0]
ldmia sp!, {r3, pc}
.align 2, 0
_0238AF40: .word OVERLAY15_UNKNOWN_POINTER__NA_238B180
_0238AF44: .word ov15_0238B11C
_0238AF48: .word ov15_0238B12C
_0238AF4C: .word ov15_0238B13C
_0238AF50: .word ov15_0238B150
arm_func_end ov15_0238AE98
arm_func_start ov15_0238AF54
ov15_0238AF54: ; 0x0238AF54
stmdb sp!, {r3, lr}
ldr r0, _0238B050 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
ldr r1, [r0]
ldr r0, [r1]
cmp r0, #5
addls pc, pc, r0, lsl #2
b _0238B048
_0238AF70: ; jump table
b _0238AF88 ; case 0
b _0238AF94 ; case 1
b _0238AFB0 ; case 2
b _0238B03C ; case 3
b _0238B048 ; case 4
b _0238AFF4 ; case 5
_0238AF88:
mov r0, #1
str r0, [r1]
b _0238B048
_0238AF94:
bl ov15_0238A234
cmp r0, #3
ldreq r0, _0238B050 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
moveq r1, #2
ldreq r0, [r0]
streq r1, [r0]
b _0238B048
_0238AFB0:
ldrsb r0, [r1, #0x80]
bl IsDialogueBoxActive
cmp r0, #0
bne _0238B048
ldr r0, _0238B050 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
ldr r0, [r0]
ldrsb r0, [r0, #0x81]
bl HidePortraitBox
ldr r0, _0238B050 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
ldr r0, [r0]
ldrsb r0, [r0, #0x80]
bl sub_0202F2C4
ldr r0, _0238B050 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
mov r1, #5
ldr r0, [r0]
str r1, [r0]
b _0238B048
_0238AFF4:
ldrsb r0, [r1, #0x80]
bl sub_0202836C
ldr r0, _0238B050 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
ldr r0, [r0]
ldrsb r0, [r0, #0x81]
bl ClosePortraitBox
ldr r0, _0238B050 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
ldr r0, [r0]
ldrsb r0, [r0, #0x80]
bl CloseDialogueBox
ldr r0, _0238B050 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
mov r3, #3
ldr r2, [r0]
sub r1, r3, #5
str r3, [r2]
ldr r0, [r0]
strb r1, [r0, #0x80]
b _0238B048
_0238B03C:
bl ov11_022E6E68
mov r0, #4
ldmia sp!, {r3, pc}
_0238B048:
mov r0, #1
ldmia sp!, {r3, pc}
.align 2, 0
_0238B050: .word OVERLAY15_UNKNOWN_POINTER__NA_238B180
arm_func_end ov15_0238AF54
; 0x0238B054
.global BANK_MAIN_MENU_ITEMS
BANK_MAIN_MENU_ITEMS:
#ifdef JAPAN
#define OV15_DATA_OFFSET 0x2EC5
#else
#define OV15_DATA_OFFSET 0
#endif
.word 0x36F + OV15_DATA_OFFSET
.byte 0x02, 0x00, 0x00, 0x00
.word 0x370 + OV15_DATA_OFFSET
.byte 0x03, 0x00, 0x00, 0x00
.word 0x371 + OV15_DATA_OFFSET
.byte 0x04, 0x00, 0x00, 0x00
.word 0x372 + OV15_DATA_OFFSET
.byte 0x01, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x12, 0x1E, 0x05
.byte 0x00, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global BANK_WINDOW_PARAMS_2
BANK_WINDOW_PARAMS_2:
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x1C, 0x03
.byte 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global BANK_WINDOW_PARAMS_3
BANK_WINDOW_PARAMS_3:
.byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x08, 0x0B, 0x07
.byte 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global BANK_WINDOW_PARAMS_4
BANK_WINDOW_PARAMS_4:
.byte 0x00, 0x00, 0x00, 0x00, 0x1E, 0x0F, 0x00, 0x00
.byte 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x05
.byte 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
#ifndef EUROPE
.global ov15_0238B0CC
ov15_0238B0CC:
.byte 0x43, 0x61, 0x6E, 0x63, 0x65, 0x6C, 0x0A, 0x00
#endif
.global ov15_0238B0D4
ov15_0238B0D4:
.byte 0x52, 0x2D, 0x43, 0x6C, 0x6F, 0x73, 0x65, 0x0A, 0x00, 0x00, 0x00, 0x00
.global ov15_0238B0E0
ov15_0238B0E0:
.byte 0x4D, 0x2D, 0x4F, 0x70
.byte 0x65, 0x6E, 0x0A, 0x00
.global ov15_0238B0E8
ov15_0238B0E8:
.byte 0x53, 0x2D, 0x43, 0x6C, 0x6F, 0x73, 0x65, 0x0A, 0x00, 0x00, 0x00, 0x00
.global ov15_0238B0F4
ov15_0238B0F4:
.byte 0x4D, 0x65, 0x6E, 0x75, 0x5F, 0x42, 0x61, 0x6E, 0x6B, 0x5F, 0x4D, 0x6F, 0x64, 0x65, 0x5F, 0x43
.byte 0x61, 0x6E, 0x63, 0x65, 0x6C, 0x0A, 0x00, 0x00
.global ov15_0238B10C
ov15_0238B10C:
.byte 0x50, 0x2D, 0x4F, 0x70, 0x65, 0x6E, 0x0A, 0x00
.global ov15_0238B114
ov15_0238B114:
.byte 0x47, 0x2D, 0x4F, 0x70, 0x65, 0x6E, 0x0A, 0x00
.global ov15_0238B11C
ov15_0238B11C:
.byte 0x6D, 0x65, 0x73, 0x20, 0x6E, 0x6F, 0x74, 0x20
.byte 0x63, 0x6C, 0x6F, 0x73, 0x65, 0x0A, 0x00, 0x00
.global ov15_0238B12C
ov15_0238B12C:
.byte 0x73, 0x75, 0x62, 0x20, 0x6E, 0x6F, 0x74, 0x20
.byte 0x63, 0x6C, 0x6F, 0x73, 0x65, 0x0A, 0x00, 0x00
.global ov15_0238B13C
ov15_0238B13C:
.byte 0x73, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x20, 0x6E
.byte 0x6F, 0x74, 0x20, 0x63, 0x6C, 0x6F, 0x73, 0x65, 0x0A, 0x00, 0x00, 0x00
.global ov15_0238B150
ov15_0238B150:
.byte 0x49, 0x6E, 0x70, 0x75
.byte 0x74, 0x20, 0x6E, 0x6F, 0x74, 0x20, 0x63, 0x6C, 0x6F, 0x73, 0x65, 0x0A, 0x00, 0x00, 0x00, 0x00
.data
.global OVERLAY15_UNKNOWN_POINTER__NA_238B180
OVERLAY15_UNKNOWN_POINTER__NA_238B180:
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00

View File

@@ -1,575 +1,9 @@
.include "asm/macros.inc"
.include "overlay_31.inc"
.include "overlay_31_02382FBC.inc"
.text
arm_func_start EntryOverlay31
EntryOverlay31: ; 0x02382820
stmdb sp!, {r3, lr}
ldr r0, _0238285C ; =DUNGEON_WINDOW_PARAMS_3
bl sub_020348E4
cmp r0, #0
ldmeqia sp!, {r3, pc}
mov r0, #0x10
mov r1, #8
bl MemAlloc
ldr r1, _02382860 ; =OVERLAY31_UNKNOWN_POINTER__NA_238A260
mov r2, #0
str r0, [r1]
str r2, [r0, #4]
mov r0, #0xa
str r0, [r1, #4]
ldmia sp!, {r3, pc}
.align 2, 0
_0238285C: .word DUNGEON_WINDOW_PARAMS_3
_02382860: .word OVERLAY31_UNKNOWN_POINTER__NA_238A260
arm_func_end EntryOverlay31
arm_func_start DrawDungeonMenuStatusWindow
DrawDungeonMenuStatusWindow: ; 0x02382864
#ifdef JAPAN
#define DRAW_DUNGEON_MENU_STATUS_WINDOW_OFFSET -4
#else
#define DRAW_DUNGEON_MENU_STATUS_WINDOW_OFFSET 0
#endif
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
sub sp, sp, #0x254
mov sl, r0
bl GetLeader
ldr r4, [r0, #0xb4]
sub r2, sp, #4
add r0, r4, #0x100
ldrh r1, [r0, #0x46 + DRAW_DUNGEON_MENU_STATUS_WINDOW_OFFSET]
strh r1, [r2]
ldrh r0, [r0, #0x48 + DRAW_DUNGEON_MENU_STATUS_WINDOW_OFFSET]
strh r0, [r2, #2]
ldr r0, [r2]
bl CeilFixedPoint
str r0, [sp, #0x228]
add r0, r4, #0x100
ldrh r1, [r0, #0x4a + DRAW_DUNGEON_MENU_STATUS_WINDOW_OFFSET]
sub r2, sp, #4
strh r1, [r2]
ldrh r0, [r0, #0x4c + DRAW_DUNGEON_MENU_STATUS_WINDOW_OFFSET]
strh r0, [r2, #2]
ldr r0, [r2]
bl CeilFixedPoint
str r0, [sp, #0x22c]
ldr r0, _02382AA0 ; =0x000008B2
bl StringFromId
add r1, sp, #0x204
mov r2, r0
str r1, [sp]
add r0, sp, #0x104
mov r1, #0x100
mov r3, #0
bl PreprocessString
mov r0, sl
mov r1, #0x73
mov r2, #0
add r3, sp, #0x104
bl DrawTextInWindow
bl GetMoneyCarried
str r0, [sp, #0x228]
ldr r0, _02382AA4 ; =0x000008B5
bl StringFromId
add r1, sp, #0x204
mov r2, r0
str r1, [sp]
add r0, sp, #0x104
mov r1, #0x100
mov r3, #0
bl PreprocessString
mov r0, sl
mov r1, #0x73
mov r2, #0xc
add r3, sp, #0x104
bl DrawTextInWindow
mov r0, #0
bl GetApparentWeather
str r0, [sp, #0x204]
ldr r0, _02382AA8 ; =0x000008B6
bl StringFromId
add r1, sp, #0x204
mov r2, r0
str r1, [sp]
add r0, sp, #0x104
mov r1, #0x100
mov r3, #0
bl PreprocessString
add r3, sp, #0x104
mov r0, sl
mov r1, #0x73
mov r2, #0x18
bl DrawTextInWindow
bl sub_0204F9E0
str r0, [sp, #0x228]
ldr r0, _02382AAC ; =0x000008B7
bl StringFromId
add r1, sp, #0x204
mov r2, r0
str r1, [sp]
ldr r3, _02382AB0 ; =0x0000C402
add r0, sp, #0x104
mov r1, #0x100
bl PreprocessString
mov r0, sl
mov r1, #0x73
mov r2, #0x24
add r3, sp, #0x104
bl DrawTextInWindow
mov r7, #0
mov r8, r7
add r6, sp, #4
ldr r5, _02382AB4 ; =0x000003E7
add r4, sp, #0x204
ldr fp, _02382AB8 ; =DUNGEON_PTR
b _02382A88
_023829D8:
ldr r0, [fp]
add r0, r0, r8, lsl #2
add r0, r0, #0x12000
#ifdef JAPAN
ldr r1, [r0, #0xa84]
#else
ldr r1, [r0, #0xb28]
#endif
cmp r1, #0
moveq r0, #0
beq _02382A08
ldr r0, [r1]
cmp r0, #0
movne r0, #1
moveq r0, #0
and r0, r0, #0xff
_02382A08:
cmp r0, #0
beq _02382A84
ldr sb, [r1, #0xb4]
mov r0, r6
mov r2, #0
bl ov29_022E2A78
str r6, [sp, #0x23c]
ldrsh r0, [sb, #0x10]
str r0, [sp, #0x228]
ldrsh r1, [sb, #0x12]
ldrsh r0, [sb, #0x16]
add r0, r1, r0
cmp r0, r5
movgt r0, r5
str r0, [sp, #0x22c]
ldr r0, _02382ABC ; =0x000008B8
bl StringFromId
mov r2, r0
add r0, sp, #0x104
mov r1, #0x100
mov r3, #0
str r4, [sp]
bl PreprocessString
mov r0, sl
mov r1, #4
mov r2, r7
add r3, sp, #0x104
bl DrawTextInWindow
add r7, r7, #0xc
cmp r7, #0x30
bge _02382A90
_02382A84:
add r8, r8, #1
_02382A88:
cmp r8, #4
blt _023829D8
_02382A90:
mov r0, sl
bl UpdateWindow
add sp, sp, #0x254
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
#ifdef JAPAN
#define DRAW_DUNGEON_MENU_STATUS_WINDOW_DATA_OFFSET 0x1458
#else
#define DRAW_DUNGEON_MENU_STATUS_WINDOW_DATA_OFFSET 0
#endif
_02382AA0: .word 0x000008B2 + DRAW_DUNGEON_MENU_STATUS_WINDOW_DATA_OFFSET
_02382AA4: .word 0x000008B5 + DRAW_DUNGEON_MENU_STATUS_WINDOW_DATA_OFFSET
_02382AA8: .word 0x000008B6 + DRAW_DUNGEON_MENU_STATUS_WINDOW_DATA_OFFSET
_02382AAC: .word 0x000008B7 + DRAW_DUNGEON_MENU_STATUS_WINDOW_DATA_OFFSET
_02382AB0: .word 0x0000C402
_02382AB4: .word 0x000003E7
_02382AB8: .word DUNGEON_PTR
_02382ABC: .word 0x000008B8 + DRAW_DUNGEON_MENU_STATUS_WINDOW_DATA_OFFSET
arm_func_end DrawDungeonMenuStatusWindow
arm_func_start DungeonMenuSwitch
DungeonMenuSwitch: ; 0x02382AC0
stmdb sp!, {r3, r4, r5, r6, lr}
sub sp, sp, #0x54
ldr r1, _02382B4C ; =DUNGEON_PTR
mov r4, r0
ldr r1, [r1]
ldrb r0, [r1, #0x748]
orr r0, r0, #0x40000
str r0, [sp, #0x14]
ldrb r0, [r1, #0x749]
str r0, [sp, #0x28]
bl sub_02025888
add r5, sp, #4
ldr r2, _02382B50 ; =ov31_02389E14
mov r1, #0x400
mov r3, #0
mov r6, r0
str r5, [sp]
bl PreprocessString
mov r0, r4
bl GetWindow
mov r5, r0
mov r0, r6
bl sub_020265A8
ldrb r1, [r5, #6]
mov r3, r6
mov r2, #2
rsb r0, r0, r1, lsl #3
add r0, r0, r0, lsr #31
mov r1, r0, asr #1
mov r0, r4
bl DrawTextInWindow
mov r0, r4
bl UpdateWindow
add sp, sp, #0x54
ldmia sp!, {r3, r4, r5, r6, pc}
.align 2, 0
_02382B4C: .word DUNGEON_PTR
_02382B50: .word ov31_02389E14
arm_func_end DungeonMenuSwitch
arm_func_start ov31_02382B54
ov31_02382B54: ; 0x02382B54
stmdb sp!, {lr}
sub sp, sp, #0x9c
ldr r0, _02382D8C ; =OVERLAY31_UNKNOWN_POINTER__NA_238A260
ldr r2, [r0]
ldr r1, [r2, #4]
cmp r1, #3
addls pc, pc, r1, lsl #2
b _02382D80
_02382B74: ; jump table
b _02382B84 ; case 0
b _02382B90 ; case 1
b _02382C6C ; case 2
b _02382D58 ; case 3
_02382B84:
add r0, r1, #1
str r0, [r2, #4]
b _02382D80
_02382B90:
mov r3, #0
mov r2, r3
_02382B98:
ldr r1, [r0]
add r1, r1, r3
add r3, r3, #1
strb r2, [r1, #8]
cmp r3, #7
blt _02382B98
bl GetLeader
mov r1, #1
bl ShouldMonsterRunAwayVariation
cmp r0, #0
beq _02382BEC
ldr r0, _02382D8C ; =OVERLAY31_UNKNOWN_POINTER__NA_238A260
mov r2, #3
ldr r1, [r0]
strb r2, [r1, #8]
ldr r1, [r0]
strb r2, [r1, #9]
ldr r1, [r0]
strb r2, [r1, #0xa]
ldr r0, [r0]
strb r2, [r0, #0xc]
_02382BEC:
ldr r1, _02382D8C ; =OVERLAY31_UNKNOWN_POINTER__NA_238A260
mov r0, #5
ldr r1, [r1]
add r1, r1, #8
str r1, [sp, #0x64]
bl Arm9LoadUnkFieldNa0x2029EC8
str r0, [sp, #4]
ldr r0, _02382D90 ; =DUNGEON_WINDOW_PARAMS_1
ldr r1, _02382D94 ; =0x00000233
ldr r3, _02382D98 ; =DUNGEON_MAIN_MENU_ITEMS
add r2, sp, #4
bl CreateParentMenuFromStringIds
ldr r2, _02382D8C ; =OVERLAY31_UNKNOWN_POINTER__NA_238A260
ldr r1, _02382D9C ; =DrawDungeonMenuStatusWindow
ldr r2, [r2]
strb r0, [r2]
ldr r0, _02382DA0 ; =DUNGEON_WINDOW_PARAMS_4
bl CreateTextBox
ldr r2, _02382D8C ; =OVERLAY31_UNKNOWN_POINTER__NA_238A260
ldr r1, _02382DA4 ; =DungeonMenuSwitch
ldr r2, [r2]
strb r0, [r2, #2]
ldr r0, _02382DA8 ; =DUNGEON_WINDOW_PARAMS_2
bl CreateTextBox
ldr r1, _02382D8C ; =OVERLAY31_UNKNOWN_POINTER__NA_238A260
ldr r2, [r1]
strb r0, [r2, #1]
ldr r1, [r1]
ldr r0, [r1, #4]
add r0, r0, #1
str r0, [r1, #4]
b _02382D80
_02382C6C:
ldrsb r0, [r2]
bl IsParentMenuActive
cmp r0, #0
beq _02382D20
ldr r0, _02382D8C ; =OVERLAY31_UNKNOWN_POINTER__NA_238A260
ldr r0, [r0]
ldrsb r0, [r0]
bl sub_0202AB80
and r1, r0, #0xff
mov r0, #5
bl Arm9StoreUnkFieldNa0x2029ED8
add r1, sp, #0
mov r0, #0
bl GetPressedButtons
ldrh r0, [sp]
tst r0, #0x400
beq _02382D80
bl GetLeader
mov r1, #1
bl ShouldMonsterRunAwayVariation
cmp r0, #0
bne _02382D80
ldr r0, _02382D8C ; =OVERLAY31_UNKNOWN_POINTER__NA_238A260
mov r1, #0
ldr r0, [r0]
ldrsb r0, [r0]
bl sub_0202AB94
ldr r0, _02382D8C ; =OVERLAY31_UNKNOWN_POINTER__NA_238A260
ldr r0, [r0]
ldrsb r0, [r0]
bl sub_0202B030
ldr r0, _02382D8C ; =OVERLAY31_UNKNOWN_POINTER__NA_238A260
ldr r0, [r0]
ldrsb r0, [r0, #1]
bl sub_0202F954
ldr r0, _02382D8C ; =OVERLAY31_UNKNOWN_POINTER__NA_238A260
ldr r0, [r0]
ldrsb r0, [r0, #2]
bl sub_0202F954
ldr r0, _02382D8C ; =OVERLAY31_UNKNOWN_POINTER__NA_238A260
ldr r1, [r0]
ldr r0, [r1, #4]
add r0, r0, #1
str r0, [r1, #4]
b _02382D80
_02382D20:
ldr r0, _02382D8C ; =OVERLAY31_UNKNOWN_POINTER__NA_238A260
ldr r0, [r0]
ldrsb r0, [r0, #1]
bl sub_0202F954
ldr r0, _02382D8C ; =OVERLAY31_UNKNOWN_POINTER__NA_238A260
ldr r0, [r0]
ldrsb r0, [r0, #2]
bl sub_0202F954
ldr r0, _02382D8C ; =OVERLAY31_UNKNOWN_POINTER__NA_238A260
ldr r1, [r0]
ldr r0, [r1, #4]
add r0, r0, #1
str r0, [r1, #4]
b _02382D80
_02382D58:
ldrsb r0, [r2]
bl sub_0202ABB0
ldr r1, _02382D8C ; =OVERLAY31_UNKNOWN_POINTER__NA_238A260
str r0, [r1, #4]
ldr r2, [r1]
mov r0, #4
ldr r1, [r2, #4]
add r1, r1, #1
str r1, [r2, #4]
b _02382D84
_02382D80:
mov r0, #1
_02382D84:
add sp, sp, #0x9c
ldmia sp!, {pc}
.align 2, 0
_02382D8C: .word OVERLAY31_UNKNOWN_POINTER__NA_238A260
_02382D90: .word DUNGEON_WINDOW_PARAMS_1
_02382D94: .word 0x00000233
_02382D98: .word DUNGEON_MAIN_MENU_ITEMS
_02382D9C: .word DrawDungeonMenuStatusWindow
_02382DA0: .word DUNGEON_WINDOW_PARAMS_4
_02382DA4: .word DungeonMenuSwitch
_02382DA8: .word DUNGEON_WINDOW_PARAMS_2
arm_func_end ov31_02382B54
arm_func_start ov31_02382DAC
ov31_02382DAC: ; 0x02382DAC
stmdb sp!, {r3, lr}
ldr r0, _02382E04 ; =OVERLAY31_UNKNOWN_POINTER__NA_238A260
ldr r0, [r0]
cmp r0, #0
ldmeqia sp!, {r3, pc}
ldrsb r0, [r0, #1]
bl CloseTextBox
ldr r0, _02382E04 ; =OVERLAY31_UNKNOWN_POINTER__NA_238A260
ldr r0, [r0]
ldrsb r0, [r0, #2]
bl CloseTextBox
ldr r0, _02382E04 ; =OVERLAY31_UNKNOWN_POINTER__NA_238A260
ldr r0, [r0]
ldrsb r0, [r0]
bl CloseParentMenu
ldr r0, _02382E04 ; =OVERLAY31_UNKNOWN_POINTER__NA_238A260
ldr r0, [r0]
bl MemFree
ldr r0, _02382E04 ; =OVERLAY31_UNKNOWN_POINTER__NA_238A260
mov r1, #0
str r1, [r0]
ldmia sp!, {r3, pc}
.align 2, 0
_02382E04: .word OVERLAY31_UNKNOWN_POINTER__NA_238A260
arm_func_end ov31_02382DAC
arm_func_start ov31_02382E08
ov31_02382E08: ; 0x02382E08
ldr r0, _02382E14 ; =OVERLAY31_UNKNOWN_POINTER__NA_238A260
ldr r0, [r0, #4]
bx lr
.align 2, 0
_02382E14: .word OVERLAY31_UNKNOWN_POINTER__NA_238A260
arm_func_end ov31_02382E08
arm_func_start ov31_02382E18
ov31_02382E18: ; 0x02382E18
stmdb sp!, {r4, r5, r6, r7, r8, lr}
mov r4, r0
mov r8, r1
mov r0, #6
mov r1, #0
bl ov29_022EA428
mov r0, #0x62
bl AdvanceFrame
mov r0, #0x62
bl AdvanceFrame
mov r0, r4
bl CreateStairsMenuState
mov r5, #0
mov r6, #1
mov r7, #0x62
ldr r4, _02382ED0 ; =ov31_0238A2A0
b _02382E64
_02382E5C:
mov r0, r7
bl AdvanceFrame
_02382E64:
ldr r0, [r4, #4]
cmp r0, #0
movne r0, r6
moveq r0, r5
tst r0, #0xff
bne _02382E5C
mov r0, #0x62
bl AdvanceFrame
bl ov29_022F0B9C
cmp r0, #0
beq _02382EA0
mov r0, #0xb
mov r1, #0
bl ov29_022EA428
b _02382EC4
_02382EA0:
cmp r8, #0
beq _02382EB8
mov r0, #0xb
mov r1, #0
bl ov29_022EA428
b _02382EC4
_02382EB8:
mov r0, #0
mov r1, r0
bl ov29_022EA428
_02382EC4:
mov r0, #1
bl ov29_022E0C2C
ldmia sp!, {r4, r5, r6, r7, r8, pc}
.align 2, 0
_02382ED0: .word ov31_0238A2A0
arm_func_end ov31_02382E18
arm_func_start CreateStairsMenuState
CreateStairsMenuState: ; 0x02382ED4
stmdb sp!, {r3, r4, r5, lr}
mov r5, r0
ldr r0, _02382F60 ; =OVERLAY31_UNKNOWN_STRUCT__NA_2389E30
bl sub_020348E4
cmp r0, #0
ldmeqia sp!, {r3, r4, r5, pc}
mov r0, #0x18
mov r1, #8
bl MemAlloc
ldr r1, _02382F64 ; =ov31_0238A2A0
mov r2, #0
str r0, [r1, #4]
str r2, [r0, #4]
ldr r0, [r1, #4]
str r5, [r0, #8]
ldr r0, [r1, #4]
str r2, [r0, #0xc]
ldr r0, [r1, #4]
str r2, [r0, #0x10]
bl GetFloorType
mov r4, #0
cmp r0, #2
moveq r4, #2
beq _02382F50
cmp r0, #1
moveq r4, #1
beq _02382F50
add r0, r5, #4
bl PositionIsOnHiddenStairs
cmp r0, #0
movne r4, #3
_02382F50:
ldr r0, _02382F64 ; =ov31_0238A2A0
ldr r0, [r0, #4]
str r4, [r0, #0x14]
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
_02382F60: .word OVERLAY31_UNKNOWN_STRUCT__NA_2389E30
_02382F64: .word ov31_0238A2A0
arm_func_end CreateStairsMenuState
arm_func_start StairsSubheadingCallback
StairsSubheadingCallback: ; 0x02382F68
stmdb sp!, {r4, lr}
ldr r1, _02382FB4 ; =ov31_0238A2A0
ldr r2, _02382FB8 ; =ov31_02389E22
ldr r1, [r1, #4]
mov r4, r0
ldr r0, [r1, #0x14]
mov r0, r0, lsl #2
ldrh r0, [r2, r0]
bl StringFromId
mov r3, r0
ldr ip, _02382FB4 ; =ov31_0238A2A0
mov r0, r4
mov r1, #0x10
mov r2, #0x12
str r3, [ip]
bl DrawTextInWindow
mov r0, r4
bl UpdateWindow
ldmia sp!, {r4, pc}
.align 2, 0
_02382FB4: .word ov31_0238A2A0
_02382FB8: .word ov31_02389E22
arm_func_end StairsSubheadingCallback
; https://decomp.me/scratch/D2RFJ
arm_func_start HandleStairsMenu
HandleStairsMenu: ; 0x02382FBC
stmdb sp!, {r4, lr}
@@ -9490,8 +8924,8 @@ DUNGEON_MAIN_MENU_ITEMS:
.byte 0x05, 0x00, 0x00, 0x00
.word 0x8B4 + OV31_DATA_OFFSET
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
.global ov31_02389E14
ov31_02389E14:
.global DUNGEON_MENU_SWITCH_STR1
DUNGEON_MENU_SWITCH_STR1:
.byte 0x5B, 0x64, 0x75, 0x6E, 0x67, 0x65, 0x6F, 0x6E, 0x3A, 0x30, 0x5D, 0x00
.global OVERLAY31_UNKNOWN_STRING_IDS
OVERLAY31_UNKNOWN_STRING_IDS:

View File

@@ -118,7 +118,7 @@ XMAP := $(NEF).xMAP
EXCCFLAGS := -Cpp_exceptions off
MWCFLAGS = $(DEFINES) -enum int -lang c99 $(EXCCFLAGS) -gccext,on -proc $(PROC) -msgstyle gcc -gccinc -i ./include -i ./include/library -i $(WORK_DIR)/files -I$(WORK_DIR)/lib/include -interworking -inline on,noauto -char signed -W all -W pedantic -W noimpl_signedunsigned -W noimplicitconv -W nounusedarg -W nomissingreturn -W error
MWCFLAGS = $(DEFINES) -enum min -lang c99 $(EXCCFLAGS) -gccext,on -proc $(PROC) -msgstyle gcc -gccinc -i ./include -i ./include/library -i $(WORK_DIR)/files -I$(WORK_DIR)/lib/include -interworking -inline on,noauto -char signed -W all -W pedantic -W noimpl_signedunsigned -W noimplicitconv -W nounusedarg -W nomissingreturn -W error
MWASFLAGS = $(DEFINES) -proc $(PROC_S) -gccinc -i . -i ./include -i $(WORK_DIR)/asm/include -i $(WORK_DIR)/files -i $(WORK_DIR)/lib/asm/include -i $(WORK_DIR)/lib/syscall/asm/include -I$(WORK_DIR)/lib/include -DSDK_ASM
MWLDFLAGS := -proc $(PROC) -nopic -nopid -interworking -map closure,unused -symtab sort -m _start -msgstyle gcc

1750
include/dungeon.h Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,39 @@
#ifndef HEADERS_TYPES_DUNGEON_MODE_COMMON_H_
#define HEADERS_TYPES_DUNGEON_MODE_COMMON_H_
#include "enums.h"
// Monster move info
struct move {
// 0x0: flags0: 1-byte bitfield
u8 flags0;
/* bool f_exists : 1; // This move will show up in the move list */
/* bool f_subsequent_in_link_chain : 1; // This move is in a link chain, but not the first move */
/* bool f_enabled_for_ai : 1; // AI can use this move */
/* bool f_set : 1; // Usable by L+A */
/* bool f_last_used : 1; // This move was the last one used (for things like Torment?) */
/* bool f_disabled : 1; // For Torment (and maybe others) */
/* u8 flags0_unk6 : 2; */
u8 field_0x1;
// 0x2: flags2: 2-byte bitfield
u16 flags2;
/* bool f_sealed : 1; // Sealed by a Seal Trap. Also prevents AI from using this move */
/* u16 flags2_unk1 : 2; */
/* bool f_consume_pp : 1; // This move will consume PP this turn */
/* bool f_consume_2_pp : 1; // Consume 2 PP this turn. No effect unless f_consume_pp is set */
/* u16 flags2_unk5 : 1; */
/* // Consume 4 PP this turn. No effect unless f_consume_pp is set, overrides f_consume_2_pp */
/* bool f_consume_4_pp : 1; */
/* u16 flags2_unk7 : 1; */
/* u16 flags2_unk8 : 1; */
/* bool f_exclusive_item_pp_boost : 1; // A PP-boosting exclusive item is in effect */
/* u16 flags3_unk10 : 6; */
enum move_id id : 16; // 0x4
u8 pp; // 0x6: Current PP
u8 ginseng; // 0x7: Ginseng boost
};
#endif

4124
include/enums.h Normal file

File diff suppressed because it is too large Load Diff

13
include/main_0200ECFC.h Normal file
View File

@@ -0,0 +1,13 @@
#ifndef PMDSKY_MAIN_0200ECFC_H
#define PMDSKY_MAIN_0200ECFC_H
typedef struct {
u8 fill1[0x388];
u8 unk388;
u8 fill2[0x1009];
u32 maybeMoney[]; // Unknown size, but indexed with an u8
} bag_items;
u32 GetMoneyCarried(void);
#endif //PMDSKY_MAIN_0200ECFC_H

23
include/main_020348E4.h Normal file
View File

@@ -0,0 +1,23 @@
#ifndef PMDSKY_MAIN_020348E4_H
#define PMDSKY_MAIN_020348E4_H
struct struct_1 {
s8 f[4]; // 0x0
u32 a; // 0x4
u8 b[7]; // 0x8
};
struct struct_02AFDB8 {
u8 PAD1[16];
u8 a; // 0x10
u8 PAD2[3];
struct struct_1 c; // 0x14
u32 e; // 0x24
u8 PAD3[152];
u8 d; // 0xc4
struct struct_1 b; // 0xc4
};
u32 sub_020348E4(struct struct_1* dst);
#endif //PMDSKY_MAIN_020348E4_H

View File

@@ -0,0 +1,40 @@
#ifndef PMDSKY_OVERLAY_15_0238A140_H
#define PMDSKY_OVERLAY_15_0238A140_H
#include "window.h"
// Represents arguments that might be passed to the PreprocessString function
typedef struct {
u32 flag_vals[4]; // 0x0: These are usually IDs with additional flags attached to them
u32 id_vals[5]; // 0x10
int number_vals[5]; // 0x24
char* strings[5]; // 0x38
// 0x4C: An optional argument that is used to insert the name of a Pokémon
// When they're talking through a window. It requires its respective flag to be on
u32 speaker_id;
u8 fill88[0x88 - 0x3C];
u32 unkproc88;
} preprocessor_args;
typedef struct {
void* unk0;
u8 fill10[0x10 - 0x5];
u32 unk10;
u8 fill68[0x68 - 0x14];
s8 unk68;
u8 fill80[0x80 - 0x69];
s8 unk80;
s8 unk81;
u8 fill88[0x88 - 0x82];
u32 unk88;
u8 fillAC[0xAC - 0x8C];
u32 unkAC;
u8 fillD4[0xD4 - 0xB0];
u32 unkD4;
u8 fillDC[0xDC - 0xD8];
portrait_params* unkDC;
} unkBankStruct;
u16 ov15_0238A140(void);
#endif //PMDSKY_OVERLAY_15_0238A140_H

View File

@@ -0,0 +1,13 @@
#ifndef PMDSKY_OVERLAY_15_0238AD78_H
#define PMDSKY_OVERLAY_15_0238AD78_H
typedef struct {
u8 fill0[0x54];
u32 unk54;
u8 fill58[0x68 - 0x58];
s8 unk68;
} unkStruct_ov15_0238AD78;
void ov15_0238AD78(u32 r0);
#endif //PMDSKY_OVERLAY_15_0238AD78_H

View File

@@ -0,0 +1,16 @@
#ifndef PMDSKY_OVERLAY_15_0238AE6C_H
#define PMDSKY_OVERLAY_15_0238AE6C_H
typedef struct {
u8 fill0[0x54];
u32 unk54;
u8 fill58[0x68 - 0x58];
u32* unk68;
u8 fill3[0xd8 - 0x6c];
u8 unkD8;
} unkStruct_ov15_0238AE6C;
void ov15_0238AE6C(void);
s32 ov15_0238AE88(void);
#endif //PMDSKY_OVERLAY_15_0238AE6C_H

View File

@@ -0,0 +1,93 @@
#ifndef PMDSKY_OVERLAY_3102382820_H
#define PMDSKY_OVERLAY_3102382820_H
#include "main_020348E4.h"
#include "util.h"
#include "preprocessString.h"
#include "dungeon_mode.h"
#include "dungeon.h"
struct Window {
u8 PAD[6];
u8 width; // 0x6: Window width in multiples of 8 pixels
};
void EntryOverlay31(void);
#ifdef JAPAN
#define DRAW_DUNGEON_MENU_STATUS_WINDOW_DATA_OFFSET 0x1458
#else
#define DRAW_DUNGEON_MENU_STATUS_WINDOW_DATA_OFFSET 0
#endif
#define DRAW_DUNGEON_MENU_STATUS_WINDOW_STR_ID_1 (0x000008B2 + DRAW_DUNGEON_MENU_STATUS_WINDOW_DATA_OFFSET)
#define DRAW_DUNGEON_MENU_STATUS_WINDOW_STR_ID_2 (0x000008B5 + DRAW_DUNGEON_MENU_STATUS_WINDOW_DATA_OFFSET)
#define DRAW_DUNGEON_MENU_STATUS_WINDOW_STR_ID_3 (0x000008B6 + DRAW_DUNGEON_MENU_STATUS_WINDOW_DATA_OFFSET)
#define DRAW_DUNGEON_MENU_STATUS_WINDOW_STR_ID_4 (0x000008B7 + DRAW_DUNGEON_MENU_STATUS_WINDOW_DATA_OFFSET)
#define DRAW_DUNGEON_MENU_STATUS_WINDOW_STR_ID_5 (0x000008B8 + DRAW_DUNGEON_MENU_STATUS_WINDOW_DATA_OFFSET)
#define DRAW_DUNGEON_MENU_STATUS_WINDOW_CONST_1 (0x0000C402)
#define DRAW_DUNGEON_MENU_STATUS_WINDOW_CONST_2 (999)
#define DRAW_DUNGEON_MENU_STATUS_WINDOW_BUFF_SIZE (256)
#define LINE_HEIGHT 12
#define X_OFFSET 115
void DrawDungeonMenuStatusWindow(struct Window* window);
void DungeonMenuSwitch(struct Window* window);
struct struct_2 {
u32 b; // 0x0
u8 PAD1[92];
u8* c; // 0x60
u8 PAD2[50];
};
struct struct_3 {
s8 e[4]; // 0x0
u32 f; // 0x4
struct entity* a; // 0x8
u32 b; // 0xC
u32 c; // 0x10
u32 d; // 0x14
};
struct struct_5 {
u32 field_0x0;
u32 field_0x4;
u8 PAD1[172];
struct struct_6* a; // 0xB4
};
struct struct_6 {
u8 PAD[74];
u16 a; // 0x4A
u16 field_0x4c;
u8 b; // 0x4E
u8 field_0x4f;
u16 c; // 0x50
u16 d; // 0x52
u8 e; // 0x54
u8 field_0x55;
u16 f; // 0x56
u16 g; // 0x58
};
struct struct_4 {
u8* str;
struct struct_3* st3;
};
#define OV31_02382B54_CONST_1 (0x00000233)
u32 ov31_02382B54(void);
void ov31_02382DAC(void);
struct struct_1* ov31_02382E08(void);
void ov31_02382E18(struct entity* arg_1, u32 arg_2);
void ov31_02382ED4(struct entity* arg_1);
void StairsSubheadingCallback(struct Window* window);
#endif //PMDSKY_OVERLAY_3102382820_H

View File

@@ -0,0 +1,35 @@
#ifndef PREPROCESS_STRING_H
#define PREPROCESS_STRING_H
struct PPStrValues {
u8* weather_0; // 0x0
u32 field_0x4;
u32 field_0x8;
u32 field_0xB;
u32 dungeon_0; // 0xC
u32 field_0x10;
u32 field_0x14;
u32 field_0x18;
u32 field_0x1c;
union { // 0x20
u32 digits_0;
u32 value_0;
u32 time_0;
u32 gold_left_0;
};
union { // 0x24
u32 digits_1;
u32 value_1;
};
u32 field_0x28;
u32 field_0x2c;
u32 field_0x30;
u8* string0; // 0x34
u32 field_0x38;
u32 field_0x3c;
u32 field_0x40;
u32 field_0x44;
u32 field_0x48;
};
#endif

View File

@@ -1,6 +1,10 @@
#ifndef PMDSKY_UTIL_H
#define PMDSKY_UTIL_H
typedef s32 fx32_8; // 32-bit signed fixed-point number with 8 fraction bits
typedef u32 ufx32_8; // 32-bit unsigned fixed-point number with 8 fraction bits
typedef u8 bool;
// RGBA8 structure. Sometimes alpha is ignored and only used for padding
struct rgba {
u8 r;
@@ -21,4 +25,13 @@ struct uvec2_16 {
u16 y;
};
#endif //PMDSKY_UTIL_H
// a (16b.16b) fixed-point rational
struct fixed_point {
u16 integer;
u16 fractional;
};
// Compares two numbers and return the minimum
#define MIN(A, B) ((A > B) ? B : A)
#endif //PMDSKY_UTIL_H

20
include/window.h Normal file
View File

@@ -0,0 +1,20 @@
#ifndef PMDSKY_WINDOW_H
#define PMDSKY_WINDOW_H
#include "enums.h"
// Represents the state of a portrait to be displayed inside a window
typedef struct {
enum monster_id monster_id; // 0x0: The species id, or the set index inside kaomado.kao
// 0x2: Index of the emote in the species set of portraits
u32 portrait_emotion;
u8 layout_idx; // 0x3: Represents the current layout to display the portrait
u32 offset_x; // 0x4: Tile offset (x / 8) in the X axis to draw the portrait
u32 offset_y; // 0x8: Tile offset (y / 8) in the Y axis to draw the portrait
u8 try_flip; // 0xC: Whether to try to get a flipped portrait from kaomado.kao
u8 has_flip; // 0xD: Whether the specified emote has a flipped variant
u8 hw_flip; // 0xE: Whether the portrait should be flipped using the hardware
u8 allow_default; // 0xF: If true, try using emote index 0 if the desired emote can't be found
} portrait_params;
#endif //PMDSKY_WINDOW_H

View File

@@ -18,8 +18,12 @@ Static main
Object src/directory_file_mngr.o
Object src/directory_file.o
Object asm/main_0200C4CC.o
Object src/main_0200ECFC.o
Object asm/main_0200ED1C.o
Object src/main_02025788.o
Object asm/main_020257FC.o
Object src/main_020348E4.o
Object asm/main_02034974.o
Object src/main_02054BE0.o
Object asm/main_02054C24.o
Object lib/DSE/src/dc_envelope.o
@@ -126,7 +130,12 @@ Overlay OVY_14
Overlay OVY_15
{
After OVY_11
Object asm/overlay_15.o
Object src/overlay_15_0238A140.o
Object asm/overlay_15_0238A234.o
Object src/overlay_15_0238AD78.o
Object asm/overlay_15_0238ADC4.o
Object src/overlay_15_0238AE6C.o
Object asm/overlay_15_0238AE98.o
}
Overlay OVY_16
{
@@ -319,7 +328,8 @@ Overlay OVY_30
Overlay OVY_31
{
After OVY_29
Object asm/overlay_31.o
Object src/overlay_31_02382820.o
Object asm/overlay_31_02382FBC.o
}
Overlay OVY_32
{

9
src/main_0200ECFC.c Normal file
View File

@@ -0,0 +1,9 @@
#include "main_0200ECFC.h"
extern bag_items* BAG_ITEMS_PTR_MIRROR;
u32 GetMoneyCarried(void)
{
int tmp = BAG_ITEMS_PTR_MIRROR->unk388;
return BAG_ITEMS_PTR_MIRROR->maybeMoney[tmp];
}

20
src/main_020348E4.c Normal file
View File

@@ -0,0 +1,20 @@
#include "main_020348E4.h"
extern struct struct_02AFDB8* _020AFDB8;
extern u32 sub_020347A0(struct struct_1*, struct struct_1*);
u32 sub_020348E4(struct struct_1* src)
{
if (sub_020347A0(src, &(_020AFDB8->b)) == 0) {
if (_020AFDB8->a != 0 && sub_020347A0(src, &(_020AFDB8->c))) {
return 0;
}
_020AFDB8->a = 1;
_020AFDB8->d = 0;
_020AFDB8->c = *src;
_020AFDB8->e = 0;
return 1;
}
return 0;
}

40
src/overlay_15_0238A140.c Normal file
View File

@@ -0,0 +1,40 @@
#include "overlay_15_0238A140.h"
extern unkBankStruct* OVERLAY15_UNKNOWN_POINTER__NA_238B180;
extern void* MemAlloc(u32 len, u32 flags);
extern void InitPreprocessorArgs(preprocessor_args*);
extern u32 CreateDialogueBox(u32);
extern u32 CreatePortraitBox(u32, u32, u32);
extern void InitPortraitParamsWithMonsterId(portrait_params**, enum monster_id);
extern void SetPortraitLayout(portrait_params**, u32);
extern void SetPortraitEmotion(portrait_params**, u32);
extern void ShowPortraitInPortraitBox(u32, portrait_params**);
extern void ov15_0238A4E8(u32);
u16 ov15_0238A140(void)
{
void* memPtr = MemAlloc(0xEC, 8);
OVERLAY15_UNKNOWN_POINTER__NA_238B180 = memPtr;
InitPreprocessorArgs((preprocessor_args*)(&OVERLAY15_UNKNOWN_POINTER__NA_238B180->unk88));
OVERLAY15_UNKNOWN_POINTER__NA_238B180->unk80 = CreateDialogueBox(0);
OVERLAY15_UNKNOWN_POINTER__NA_238B180->unk81 = CreatePortraitBox(0, 3, 1);
OVERLAY15_UNKNOWN_POINTER__NA_238B180->unk68 = 0xFE;
OVERLAY15_UNKNOWN_POINTER__NA_238B180->unk10 = 0;
OVERLAY15_UNKNOWN_POINTER__NA_238B180->unk88 = MONSTER_DUSKULL;
OVERLAY15_UNKNOWN_POINTER__NA_238B180->unkAC = 0x270F;
OVERLAY15_UNKNOWN_POINTER__NA_238B180->unkD4 = MONSTER_DUSKULL;
OVERLAY15_UNKNOWN_POINTER__NA_238B180->unk0 = 0;
InitPortraitParamsWithMonsterId(&OVERLAY15_UNKNOWN_POINTER__NA_238B180->unkDC, MONSTER_DUSKULL);
SetPortraitLayout(&OVERLAY15_UNKNOWN_POINTER__NA_238B180->unkDC,0);
SetPortraitEmotion(&OVERLAY15_UNKNOWN_POINTER__NA_238B180->unkDC,0);
ShowPortraitInPortraitBox(OVERLAY15_UNKNOWN_POINTER__NA_238B180->unk81, &OVERLAY15_UNKNOWN_POINTER__NA_238B180->unkDC);
ov15_0238A4E8(0);
return 1;
}

18
src/overlay_15_0238AD78.c Normal file
View File

@@ -0,0 +1,18 @@
#include "overlay_15_0238AD78.h"
extern unkStruct_ov15_0238AD78* OVERLAY15_UNKNOWN_POINTER__NA_238B180;
extern void sub_02026268(u32, u32, u32, u16);
extern void sub_02039B0C(u32*);
void ov15_0238AD78(u32 r0) {
#ifdef JAPAN
u32 uVar1 = r0 != 0 ? 12873 : 12874;
#else
u32 uVar1 = r0 != 0 ? 900 : 901;
#endif
sub_02026268(OVERLAY15_UNKNOWN_POINTER__NA_238B180->unk68, 2, 0, uVar1);
sub_02039B0C(&OVERLAY15_UNKNOWN_POINTER__NA_238B180->unk54);
return;
}

17
src/overlay_15_0238AE6C.c Normal file
View File

@@ -0,0 +1,17 @@
#include "overlay_15_0238AE6C.h"
extern unkStruct_ov15_0238AE6C* OVERLAY15_UNKNOWN_POINTER__NA_238B180;
extern void ov15_0238A140(void);
extern void ov15_0238AD78(u32);
void ov15_0238AE6C(void)
{
ov15_0238AD78(OVERLAY15_UNKNOWN_POINTER__NA_238B180->unkD8);
}
s32 ov15_0238AE88(void)
{
ov15_0238A140();
return 1;
}

306
src/overlay_31_02382820.c Normal file
View File

@@ -0,0 +1,306 @@
#include "overlay_31_02382820.h"
extern struct dungeon* DUNGEON_PTR;
extern const u8 DUNGEON_MENU_SWITCH_STR1[];// = "[dungeon:0]";
extern struct struct_1* OVERLAY31_UNKNOWN_POINTER__NA_238A260[2];
extern u32 DUNGEON_WINDOW_PARAMS_1;
extern u32 DUNGEON_WINDOW_PARAMS_2;
extern struct struct_1 DUNGEON_WINDOW_PARAMS_3;
extern u32 DUNGEON_WINDOW_PARAMS_4;
extern u32 DUNGEON_MAIN_MENU_ITEMS;
extern struct struct_4 ov31_0238A2A0;
extern struct struct_1 OVERLAY31_UNKNOWN_STRUCT__NA_2389E30;
extern u16 ov31_02389E22[];
extern void* MemAlloc(u32 size, u32 nmemb);
extern struct entity* GetLeader(void);
extern s32 CeilFixedPoint(struct fixed_point);
extern u32 GetMoneyCarried(void);
extern void* GetApparentWeather(u32);
extern u32 sub_0204F9E0(void);
extern void ov29_022E2A78(u8*, void*, u32); // The third argument isn't actually used in the
// function (../asm/overlay_29_022E1A40.s#L1378)
extern u8* StringFromId(u32);
extern void PreprocessString(u8* dst, u32 dsize, const u8* src, u32 flags, struct PPStrValues* ptr);
extern void DrawTextInWindow(struct Window*, u32, u32, u8*);
extern void UpdateWindow(struct Window*);
extern u8* sub_02025888(void);
extern struct Window* GetWindow(struct Window*);
extern s32 sub_020265A8(u8*); // Measures the text's width in pixels
extern u32 ShouldMonsterRunAwayVariation(struct entity*, u32);
extern u32 Arm9LoadUnkFieldNa0x2029EC8(u32, u8*);
extern u8 CreateParentMenuFromStringIds(u32*, u32, struct struct_2*, u32*);
extern u8 CreateTextBox(u32*, void (*fun)(struct Window*));
extern u32 IsParentMenuActive(s8);
extern u32 sub_0202AB80(s8);
extern void Arm9StoreUnkFieldNa0x2029ED8(u32, u8);
extern u32 GetPressedButtons(u32, u16*);
extern u32 ShouldMonsterRunAwayVariation(struct entity*, u32);
extern void sub_0202AB94(s8, u32);
extern void sub_0202B030(s8);
extern void sub_0202F954(s8);
extern struct struct_1* sub_0202ABB0(s8);
extern void CloseTextBox(s8);
extern void CloseParentMenu(s8);
extern void MemFree(void*);
extern void ov29_022EA428(u32, u32);
extern void AdvanceFrame(u8);
extern u32 ov29_022F0B9C(void);
extern void ov29_022E0C2C(u32);
extern u32 GetFloorType(void);
extern u32 PositionIsOnHiddenStairs(struct position*);
void EntryOverlay31(void) {
struct struct_1* r0;
if (sub_020348E4(&DUNGEON_WINDOW_PARAMS_3) == 0) {
return;
}
r0 = (struct struct_1*)MemAlloc(16, 0x8);
OVERLAY31_UNKNOWN_POINTER__NA_238A260[0] = r0;
r0->a = 0;
OVERLAY31_UNKNOWN_POINTER__NA_238A260[1] = (struct struct_1*)0xa;
}
void DrawDungeonMenuStatusWindow(struct Window* window)
{
struct PPStrValues str_values;
u8 str_buff[DRAW_DUNGEON_MENU_STATUS_WINDOW_BUFF_SIZE];
u8 member_name_buffer[256];
struct entity* leader;
struct monster* leader_info;
u8* str;
s32 line_offset;
u8 is_valid_member;
s32 i;
leader = GetLeader();
leader_info = (struct monster*)leader->info;
str_values.digits_0 = CeilFixedPoint(leader_info->belly);
str_values.digits_1 = CeilFixedPoint(leader_info->max_belly);
str = StringFromId(DRAW_DUNGEON_MENU_STATUS_WINDOW_STR_ID_1);
PreprocessString(str_buff, DRAW_DUNGEON_MENU_STATUS_WINDOW_BUFF_SIZE, str, 0, &str_values);
DrawTextInWindow(window, X_OFFSET, 0, str_buff);
str_values.gold_left_0 = GetMoneyCarried();
str = StringFromId(DRAW_DUNGEON_MENU_STATUS_WINDOW_STR_ID_2);
PreprocessString(str_buff, DRAW_DUNGEON_MENU_STATUS_WINDOW_BUFF_SIZE, str, 0, &str_values);
DrawTextInWindow(window, X_OFFSET, LINE_HEIGHT, str_buff);
str_values.weather_0 = GetApparentWeather(0);
str = StringFromId(DRAW_DUNGEON_MENU_STATUS_WINDOW_STR_ID_3);
PreprocessString(str_buff, DRAW_DUNGEON_MENU_STATUS_WINDOW_BUFF_SIZE, str, 0, &str_values);
DrawTextInWindow(window, X_OFFSET, LINE_HEIGHT * 2, str_buff);
str_values.time_0 = sub_0204F9E0();
str = StringFromId(DRAW_DUNGEON_MENU_STATUS_WINDOW_STR_ID_4);
PreprocessString(str_buff, DRAW_DUNGEON_MENU_STATUS_WINDOW_BUFF_SIZE, str, DRAW_DUNGEON_MENU_STATUS_WINDOW_CONST_1, &str_values);
DrawTextInWindow(window, X_OFFSET, LINE_HEIGHT * 3, str_buff);
line_offset = 0;
for (i = 0; i < 4; i++) {
struct entity* party_member = DUNGEON_PTR->party_members[i];
if (party_member == NULL) {
is_valid_member = FALSE;
} else {
is_valid_member = (party_member->type != ENTITY_NOTHING);
}
if (is_valid_member) {
struct monster* member_info = party_member->info;
ov29_022E2A78(member_name_buffer, party_member, 0);
str_values.string0 = member_name_buffer;
str_values.value_0 = member_info->hp;
str_values.value_1 = MIN(member_info->max_hp_stat + member_info->max_hp_boost,
DRAW_DUNGEON_MENU_STATUS_WINDOW_CONST_2);
str = StringFromId(DRAW_DUNGEON_MENU_STATUS_WINDOW_STR_ID_5);
PreprocessString(str_buff, DRAW_DUNGEON_MENU_STATUS_WINDOW_BUFF_SIZE, str, 0, &str_values);
DrawTextInWindow(window, 4, line_offset, str_buff);
line_offset += 12;
if (line_offset >= 0x30) {
break;
}
}
}
UpdateWindow(window);
}
void DungeonMenuSwitch(struct Window* window)
{
struct PPStrValues str_values;
str_values.dungeon_0 = DUNGEON_PTR->id | 0x40000;
str_values.digits_0 = DUNGEON_PTR->floor;
u8* str_buff = sub_02025888();
PreprocessString(str_buff, 0x400, DUNGEON_MENU_SWITCH_STR1, 0, &str_values);
struct Window* window2 = GetWindow(window);
s32 text_width = sub_020265A8(str_buff);
s32 x_offset = (window2->width * 8 - text_width) / 2;
DrawTextInWindow(window, x_offset, 2, str_buff);
UpdateWindow(window);
}
u32 ov31_02382B54(void)
{
u16 pressed_buttons;
struct struct_2 sp;
struct entity* leader;
switch (OVERLAY31_UNKNOWN_POINTER__NA_238A260[0]->a) {
case 0:
OVERLAY31_UNKNOWN_POINTER__NA_238A260[0]->a++;
break;
case 1:
for (int i = 0; i<7; i++) {
OVERLAY31_UNKNOWN_POINTER__NA_238A260[0]->b[i] = 0;
}
leader = GetLeader();
if (ShouldMonsterRunAwayVariation(leader, 1)) {
OVERLAY31_UNKNOWN_POINTER__NA_238A260[0]->b[0] = 3;
OVERLAY31_UNKNOWN_POINTER__NA_238A260[0]->b[1] = 3;
OVERLAY31_UNKNOWN_POINTER__NA_238A260[0]->b[2] = 3;
OVERLAY31_UNKNOWN_POINTER__NA_238A260[0]->b[4] = 3;
}
sp.c = OVERLAY31_UNKNOWN_POINTER__NA_238A260[0]->b;
sp.b = Arm9LoadUnkFieldNa0x2029EC8(5, sp.c);
OVERLAY31_UNKNOWN_POINTER__NA_238A260[0]->f[0] = CreateParentMenuFromStringIds(&DUNGEON_WINDOW_PARAMS_1, OV31_02382B54_CONST_1, &sp, &DUNGEON_MAIN_MENU_ITEMS);
OVERLAY31_UNKNOWN_POINTER__NA_238A260[0]->f[2] = CreateTextBox(&DUNGEON_WINDOW_PARAMS_4, DrawDungeonMenuStatusWindow);
OVERLAY31_UNKNOWN_POINTER__NA_238A260[0]->f[1] = CreateTextBox(&DUNGEON_WINDOW_PARAMS_2, DungeonMenuSwitch);
OVERLAY31_UNKNOWN_POINTER__NA_238A260[0]->a++;
break;
case 2:
if (IsParentMenuActive(OVERLAY31_UNKNOWN_POINTER__NA_238A260[0]->f[0])) {
u8 tmp4 = sub_0202AB80(OVERLAY31_UNKNOWN_POINTER__NA_238A260[0]->f[0]);
Arm9StoreUnkFieldNa0x2029ED8(5, tmp4);
GetPressedButtons(0, &pressed_buttons);
if ((pressed_buttons & 0x400) == 0)
break;
struct entity* leader = GetLeader();
if (ShouldMonsterRunAwayVariation(leader, 1))
break;
sub_0202AB94(OVERLAY31_UNKNOWN_POINTER__NA_238A260[0]->f[0], 0);
sub_0202B030(OVERLAY31_UNKNOWN_POINTER__NA_238A260[0]->f[0]);
sub_0202F954(OVERLAY31_UNKNOWN_POINTER__NA_238A260[0]->f[1]);
sub_0202F954(OVERLAY31_UNKNOWN_POINTER__NA_238A260[0]->f[2]);
OVERLAY31_UNKNOWN_POINTER__NA_238A260[0]->a++;
} else {
sub_0202F954(OVERLAY31_UNKNOWN_POINTER__NA_238A260[0]->f[1]);
sub_0202F954(OVERLAY31_UNKNOWN_POINTER__NA_238A260[0]->f[2]);
OVERLAY31_UNKNOWN_POINTER__NA_238A260[0]->a++;
}
break;
case 3:
OVERLAY31_UNKNOWN_POINTER__NA_238A260[1] = sub_0202ABB0(OVERLAY31_UNKNOWN_POINTER__NA_238A260[0]->f[0]);
OVERLAY31_UNKNOWN_POINTER__NA_238A260[0]->a++;
return 4;
break;
}
return 1;
}
void ov31_02382DAC(void)
{
if (OVERLAY31_UNKNOWN_POINTER__NA_238A260[0] == NULL)
return;
CloseTextBox(OVERLAY31_UNKNOWN_POINTER__NA_238A260[0]->f[1]);
CloseTextBox(OVERLAY31_UNKNOWN_POINTER__NA_238A260[0]->f[2]);
CloseParentMenu(OVERLAY31_UNKNOWN_POINTER__NA_238A260[0]->f[0]);
MemFree(OVERLAY31_UNKNOWN_POINTER__NA_238A260[0]);
OVERLAY31_UNKNOWN_POINTER__NA_238A260[0] = NULL;
}
struct struct_1* ov31_02382E08(void)
{
return OVERLAY31_UNKNOWN_POINTER__NA_238A260[1];
}
void ov31_02382E18(struct entity* arg_1, u32 arg_2)
{
ov29_022EA428(6, 0);
AdvanceFrame(0x62);
AdvanceFrame(0x62);
ov31_02382ED4(arg_1);
while ((u8)(ov31_0238A2A0.st3 != NULL)) {
AdvanceFrame(0x62);
}
AdvanceFrame(0x62);
if (ov29_022F0B9C()) {
ov29_022EA428(11, 0);
} else if (arg_2) {
ov29_022EA428(11, 0);
} else {
ov29_022EA428(0, 0);
}
ov29_022E0C2C(1);
}
void ov31_02382ED4(struct entity* arg_1)
{
struct struct_3* tmp1;
if (sub_020348E4(&OVERLAY31_UNKNOWN_STRUCT__NA_2389E30) == 0)
return;
tmp1 = MemAlloc(sizeof(struct struct_3), 8);
ov31_0238A2A0.st3 = tmp1;
ov31_0238A2A0.st3->f = 0;
ov31_0238A2A0.st3->a = arg_1;
ov31_0238A2A0.st3->b = 0;
ov31_0238A2A0.st3->c = 0;
u32 floor_type = GetFloorType();
u32 r4 = 0;
if (floor_type == 2) {
r4 = 2;
} else if (floor_type == 1) {
r4 = 1;
} else if (PositionIsOnHiddenStairs(&(arg_1->pos))) {
r4 = 3;
}
ov31_0238A2A0.st3->d = r4;
}
void StairsSubheadingCallback(struct Window* window)
{
u8* str = StringFromId(ov31_02389E22[ov31_0238A2A0.st3->d * 2]);
ov31_0238A2A0.str = str;
DrawTextInWindow(window, 16, 18, str);
UpdateWindow(window);
}

View File

@@ -16,6 +16,8 @@ if len(sys.argv) != 3:
_, function_location, function_header = sys.argv
if function_location.endswith('.s'):
function_location = function_location[:-2]
if function_location.startswith("./asm/"):
function_location = function_location[6:]
if function_header.endswith(';'):
function_header = function_header[:-1]
@@ -45,6 +47,8 @@ if function_location.startswith('main'):
file_prefix = 'main_'
else:
file_prefix = function_location[:len('overlay_00_')]
if file_prefix[-1] != '_':
file_prefix += '_'
function_start_line = None
function_end_line = None