diff --git a/asm/include/overlay_00.inc b/asm/include/overlay_00.inc index 2199d918..5b796250 100644 --- a/asm/include/overlay_00.inc +++ b/asm/include/overlay_00.inc @@ -1,36 +1,4 @@ #pragma once -.public ArrayCopy16 -.public ArrayCopy32 -.public ArrayCopy32Fast -.public ArrayFill16 -.public ArrayFill32 -.public ArrayFill32Fast -.public CRYPTO_RC4Init -.public Debug_GetDebugFlag -.public EnableIrqFlag -.public FileInit -.public G3X_Reset -.public GetDsFirmwareUserSettings -.public GetFadeStatus -.public GetLanguage -.public GetProcessorMode -.public HardwareInterrupt -.public LoadOverlay -.public MemAlloc -.public MemFree -.public MemZero -.public MemcpyFast -.public MemcpySimple -.public MemsetFast -.public OSi_ReferSymbol -.public PlayBgmByIdVeneer -.public RandInt -.public SVC_WaitByLoop -.public SetIrqFlag -.public StartThread -.public ThreadExit -.public UnloadOverlay -.public WaitForever2 .public _02000BDC .public _02000BF4 .public _02000C1C @@ -52,10 +20,34 @@ .public _start_AutoloadDoneCallback .public _u32_div_f .public abs +.public ArrayCopy16 +.public ArrayCopy32 +.public ArrayCopy32Fast +.public ArrayFill16 +.public ArrayFill32 +.public ArrayFill32Fast +.public CRYPTO_RC4Init +.public Debug_GetDebugFlag +.public EnableIrqFlag +.public FileInit +.public G3X_Reset +.public GetDsFirmwareUserSettings +.public GetFadeStatus +.public GetLanguage +.public GetProcessorMode +.public HardwareInterrupt +.public LoadOverlay +.public MemAlloc .public memcmp .public memcpy +.public MemcpyFast +.public MemcpySimple +.public MemFree .public memmove .public memset +.public MemsetFast +.public MemZero +.public OSi_ReferSymbol .public ov00_0230E074 .public ov00_0230E098 .public ov00_0230E0B0 @@ -1023,8 +1015,12 @@ .public ov01_02337914 .public ov01_0233AE64 .public ov02_02329520 +.public PlayBgmByIdVeneer +.public RandInt +.public SetIrqFlag .public snprintf .public sprintf +.public StartThread .public strcat .public strchr .public strcmp @@ -1177,4 +1173,8 @@ .public sub_0208B200 .public sub_0208B298 .public sub_0208B360 +.public SVC_WaitByLoop +.public ThreadExit +.public UnloadOverlay +.public WaitForever2 .public wcslen diff --git a/asm/include/overlay_11.inc b/asm/include/overlay_11.inc index 2b42019e..352b996e 100644 --- a/asm/include/overlay_11.inc +++ b/asm/include/overlay_11.inc @@ -1,4 +1,10 @@ #pragma once +.public _020A1870 +.public _020A548A +.public _020A5490 +.public _fdiv +.public _ffix +.public _fflt .public AddBulkItemToStorage .public AddMissionToJobList .public AllocAndInitPartnerFollowDataAndLiveActorList @@ -34,7 +40,6 @@ .public FileRom_Veneer_FileInit .public FreeTeamStats .public G3X_Reset -.public GROUND_MEMORY_ARENA_1 .public GenerateCroagunkItems .public GenerateDailyMissions .public GenerateKecleonItems1 @@ -70,6 +75,7 @@ .public GetTalkLine .public GetTeamMember .public GetType +.public GROUND_MEMORY_ARENA_1 .public IncrementNbBigTreasureWins .public IncrementNbDungeonsCleared .public IncrementNbSkyGiftsSent @@ -90,72 +96,17 @@ .public IsStorageFull .public ItemAtTableIdx .public KeyWaitInit -.public LOCK_NOTIFY_ARRAY .public LoadFileFromRom .public LoadOverlay .public LoadScriptVariableValue .public LoadScriptVariableValueAtIndex .public LoadScriptVariableValueSum +.public LOCK_NOTIFY_ARRAY .public MemAlloc .public MemArenaAlloc .public MemFree -.public MemZero .public MemsetSimple -.public OVERLAY11_DEBUG_STRINGS -.public PlayBgmByIdVeneer -.public PlayBgmByIdVolumeVeneer -.public PlaySeByIdVolumeWrapper -.public PreprocessString -.public PreprocessStringFromId -.public RECRUITMENT_TABLE_LEVELS -.public RECRUITMENT_TABLE_LOCATIONS -.public RECRUITMENT_TABLE_SPECIES -.public RandInt -.public RandRange -.public RandomizeDemoActors -.public RemoveBulkItemInStorage -.public RemoveItemNoHole -.public SCRIPT_COMMAND_PARSING_DATA -.public SCRIPT_OP_CODES -.public SaveScriptVariableValue -.public SaveScriptVariableValueAtIndex -.public SetActorTalkMain -.public SetActorTalkSub -.public SetAdventureLogCompleted -.public SetBaseStatsMovesGroundMonster -.public SetDungeonConquest -.public SetEnterDungeon -.public SetMemAllocatorParams -.public SetPortraitEmotion -.public SetPortraitLayout -.public SetPortraitOffset -.public SetScenarioScriptVar -.public SetTeamSetupHeroAndPartnerOnly -.public SetTeamSetupHeroOnly -.public SetupAndShowKeyboard -.public ShowPortraitInPortraitBox -.public ShowStringIdInDialogueBox -.public SpecialProcAddItemToBag -.public StatusUpdate -.public StrcpyName -.public StrncpyName -.public UNIONALL_RAM_ADDRESS -.public UnloadFile -.public UnloadOverlay -.public UnlockActorRoutines -.public UnlockMainRoutine -.public UnlockObjectRoutines -.public UnlockPerformerRoutines -.public UpdateTeamStats -.public WorldMapSetCamera -.public WorldMapSetMode -.public ZinitScriptVariable -.public _020A1870 -.public _020A548A -.public _020A5490 -.public _fdiv -.public _ffix -.public _fflt +.public MemZero .public ov10_022BDB54 .public ov10_022BDB60 .public ov10_022BDBA4 @@ -510,7 +461,45 @@ .public ov11_023891F8 .public ov28_0238A140 .public ov28_0238A468 +.public OVERLAY11_DEBUG_STRINGS +.public PlayBgmByIdVeneer +.public PlayBgmByIdVolumeVeneer +.public PlaySeByIdVolumeWrapper +.public PreprocessString +.public PreprocessStringFromId +.public RandInt +.public RandomizeDemoActors +.public RandRange +.public RECRUITMENT_TABLE_LEVELS +.public RECRUITMENT_TABLE_LOCATIONS +.public RECRUITMENT_TABLE_SPECIES +.public RemoveBulkItemInStorage +.public RemoveItemNoHole +.public SaveScriptVariableValue +.public SaveScriptVariableValueAtIndex +.public SCRIPT_COMMAND_PARSING_DATA +.public SCRIPT_OP_CODES +.public SetActorTalkMain +.public SetActorTalkSub +.public SetAdventureLogCompleted +.public SetBaseStatsMovesGroundMonster +.public SetDungeonConquest +.public SetEnterDungeon +.public SetMemAllocatorParams +.public SetPortraitEmotion +.public SetPortraitLayout +.public SetPortraitOffset +.public SetScenarioScriptVar +.public SetTeamSetupHeroAndPartnerOnly +.public SetTeamSetupHeroOnly +.public SetupAndShowKeyboard +.public ShowPortraitInPortraitBox +.public ShowStringIdInDialogueBox +.public SpecialProcAddItemToBag .public sprintf +.public StatusUpdate +.public StrcpyName +.public StrncpyName .public sub_020012D8 .public sub_020017B4 .public sub_0200238C @@ -715,4 +704,15 @@ .public sub_0206C120 .public sub_0206C134 .public sub_0206C144 -.public sub_0206C164 \ No newline at end of file +.public sub_0206C164 +.public UNIONALL_RAM_ADDRESS +.public UnloadFile +.public UnloadOverlay +.public UnlockActorRoutines +.public UnlockMainRoutine +.public UnlockObjectRoutines +.public UnlockPerformerRoutines +.public UpdateTeamStats +.public WorldMapSetCamera +.public WorldMapSetMode +.public ZinitScriptVariable diff --git a/asm/include/overlay_11_022ECD24.inc b/asm/include/overlay_11_022ECD24.inc index 3fa39e35..934eec2e 100644 --- a/asm/include/overlay_11_022ECD24.inc +++ b/asm/include/overlay_11_022ECD24.inc @@ -2,16 +2,13 @@ .public BmaLayerNrlDecompressor .public DecompressAtNormalVeneer .public GetAtSize +.public GroundBg_CloseOpenedFiles +.public GroundBg_Init .public LoadBackgroundAttributes .public LoadFileFromRom .public MemAlloc -.public MemFree .public Memcpy16 -.public PointsToZero -.public UnloadFile -.public ZInit8 -.public GroundBg_Init -.public GroundBg_CloseOpenedFiles +.public MemFree .public ov11_022EC08C .public ov11_022EE620 .public ov11_022EE8CC @@ -23,6 +20,7 @@ .public ov11_02320C28 .public ov11_02320C80 .public ov11_02324CBC +.public PointsToZero .public sprintf .public sub_0200A504 .public sub_0200A590 @@ -33,3 +31,5 @@ .public sub_020163E4 .public sub_0201641C .public sub_02016468 +.public UnloadFile +.public ZInit8 diff --git a/asm/include/overlay_11_022EE5E4.inc b/asm/include/overlay_11_022EE5E4.inc index ba94e995..420a5ab7 100644 --- a/asm/include/overlay_11_022EE5E4.inc +++ b/asm/include/overlay_11_022EE5E4.inc @@ -1,4 +1,9 @@ #pragma once +.public _fdiv +.public _ffix +.public _fflt +.public _s32_div_f +.public abs .public ACTOR_FUNCTION_TABLE .public AddItemToBagNoHeld .public AnimationControlGetAllocForMaxFrame @@ -52,17 +57,14 @@ .public DrawTextInWindow .public DungeonMoveToGroundMove .public DungeonSwapIdxToId -.public ENTITIES -.public EVENTS .public EnableIqSkill +.public ENTITIES .public EntryOverlay13 .public EuclideanNorm__020050B0 -.public FX_Atan2Idx +.public EVENTS .public FemaleToMaleForm .public FuncThatCallsRunNextOpcode -.public GROUND_STATE_MAP -.public GROUND_STATE_PTRS -.public GROUND_WEATHER_TABLE +.public FX_Atan2Idx .public GetAcceptedMission .public GetActiveRosterIndex .public GetActiveTeamMember @@ -103,6 +105,11 @@ .public GetStringFromFileVeneer .public GetTeamMember .public GetWindowContents +.public GROUND_STATE_MAP +.public GROUND_STATE_PTRS +.public GROUND_WEATHER_TABLE +.public GroundBg_FreeAll +.public GroundBg_Init .public InitAnimationControlWithSet__0201C0B0 .public InitMove .public InitPortraitParams @@ -139,74 +146,14 @@ .public LoadWanTableEntryFromPack .public LoadWteFromRom .public MemAlloc -.public MemFree -.public MemZero +.public memcpy .public Memcpy32 .public MemcpySimple +.public MemFree +.public MemZero .public NewWindowScreenCheck -.public OBJECTS .public OBJECT_FUNCTION_TABLE -.public OVERLAY11_OVERLAY_LOAD_TABLE -.public OverlayIsLoaded -.public PERFORMER_FUNCTION_TABLE -.public PlaySeVolumeWrapper -.public PopInventoryMenuField0x1A3 -.public PreprocessString -.public PreprocessStringFromId -.public PrintBadgeMark -.public PrintIqSkillsMenu -.public RandInt -.public RemoveItemNoHole -.public RemoveItemNoHoleCheck -.public Render3dElement64 -.public ResumeAdvancedMenu -.public ResumeParentMenu -.public SETANIMATION_TABLE -.public SaveScriptVariableValue -.public SaveScriptVariableValueBytes -.public ScriptStationLoadTalk -.public SentryUpdateDisplay -.public SetActorTalkMain -.public SetActorTalkMainAndActorTalkSub -.public SetActorTalkSub -.public SetAnimationForAnimationControl -.public SetAreaNameBoxState3 -.public SetCollectionMenuField0x1A4 -.public SetCollectionMenuField0x1C8 -.public SetInventoryMenuState0 -.public SetInventoryMenuState6 -.public SetItemAcquired -.public SetParentMenuState7 -.public SetSpriteIdForAnimationControl -.public ShowDialogueBox -.public ShowKeyboard -.public ShowStringIdInDialogueBox -.public ShowStringInDialogueBox -.public SortItemsInBag -.public StrcmpMonsterName -.public StrcpyName -.public StrcpySimple -.public StringFromId -.public StrncpyName -.public StrncpySimple -.public StrncpySimpleNoPad -.public StrncpySimpleNoPadSafe -.public SwitchAnimationControlToNextFrame -.public TEAM_INFO_BOX_DEFAULT_WINDOW_PARAMS -.public TEAM_MEMBER_TABLE_PTR -.public TRIG_TABLE -.public UnloadFile -.public UnlockRoutine -.public UpdateWindow -.public VEC_Distance -.public WAN_TABLE -.public WORLD_MAP_MODE -.public _fdiv -.public _ffix -.public _fflt -.public _s32_div_f -.public abs -.public memcpy +.public OBJECTS .public ov10_022BCC60 .public ov10_022BCC7C .public ov10_022BCCB0 @@ -312,8 +259,6 @@ .public ov11_022EB2F4 .public ov11_022EB3C8 .public ov11_022EBAA0 -.public GroundBg_Init -.public ov11_022EBEAC .public ov11_022EC240 .public ov11_022EC27C .public ov11_022ED69C @@ -745,7 +690,6 @@ .public ov11_02324D94 .public ov11_02324D98 .public ov11_02324DA0 -.public ov11_02324DA4 .public ov11_02324DAC .public ov11_02324DB4 .public ov11_02324DBC @@ -790,9 +734,54 @@ .public ov16_0238CCBC .public ov16_0238CCD8 .public ov16_0238CCF0 +.public OVERLAY11_OVERLAY_LOAD_TABLE +.public OverlayIsLoaded +.public PERFORMER_FUNCTION_TABLE +.public PlaySeVolumeWrapper +.public PopInventoryMenuField0x1A3 +.public PreprocessString +.public PreprocessStringFromId +.public PrintBadgeMark +.public PrintIqSkillsMenu +.public RandInt +.public RemoveItemNoHole +.public RemoveItemNoHoleCheck +.public Render3dElement64 +.public ResumeAdvancedMenu +.public ResumeParentMenu +.public SaveScriptVariableValue +.public SaveScriptVariableValueBytes +.public ScriptStationLoadTalk +.public SentryUpdateDisplay +.public SetActorTalkMain +.public SetActorTalkMainAndActorTalkSub +.public SetActorTalkSub +.public SETANIMATION_TABLE +.public SetAnimationForAnimationControl +.public SetAreaNameBoxState3 +.public SetCollectionMenuField0x1A4 +.public SetCollectionMenuField0x1C8 +.public SetInventoryMenuState0 +.public SetInventoryMenuState6 +.public SetItemAcquired +.public SetParentMenuState7 +.public SetSpriteIdForAnimationControl +.public ShowDialogueBox +.public ShowKeyboard +.public ShowStringIdInDialogueBox +.public ShowStringInDialogueBox +.public SortItemsInBag .public sprintf .public strcat +.public StrcmpMonsterName .public strcpy +.public StrcpyName +.public StrcpySimple +.public StringFromId +.public StrncpyName +.public StrncpySimple +.public StrncpySimpleNoPad +.public StrncpySimpleNoPadSafe .public sub_020017EC .public sub_0200302C .public sub_020030FC @@ -1020,4 +1009,15 @@ .public sub_0206B9DC .public sub_0206BA5C .public sub_0206C110 +.public SWAP_SHOP_INVENTORY_PTRS +.public SwitchAnimationControlToNextFrame +.public TEAM_INFO_BOX_DEFAULT_WINDOW_PARAMS +.public TEAM_MEMBER_TABLE_PTR +.public TRIG_TABLE +.public UnloadFile +.public UnlockRoutine +.public UpdateWindow +.public VEC_Distance .public vsprintf +.public WAN_TABLE +.public WORLD_MAP_MODE diff --git a/asm/include/overlay_21.inc b/asm/include/overlay_21.inc index ecfc04e8..77f3ef44 100644 --- a/asm/include/overlay_21.inc +++ b/asm/include/overlay_21.inc @@ -33,7 +33,6 @@ .public ov11_022E6E68 .public ov11_022E6E8C .public ov11_022E6EC8 -.public ov11_0230B20C .public ov11_0230B694 .public ov11_0230B874 .public ov11_0230B8C0 @@ -100,4 +99,5 @@ .public sub_020420F4 .public sub_020572EC .public sub_0205B028 +.public SwapShopInventoryManager .public UpdateWindow diff --git a/asm/include/overlay_25.inc b/asm/include/overlay_25.inc index 8dd06513..386ab6e1 100644 --- a/asm/include/overlay_25.inc +++ b/asm/include/overlay_25.inc @@ -30,7 +30,6 @@ .public ov11_022E6E68 .public ov11_022E6E8C .public ov11_022E6EC8 -.public ov11_0230B20C .public ov11_0230B724 .public ov11_0230B8C0 .public ov11_0230B9BC @@ -52,4 +51,5 @@ .public sub_02027B1C .public sub_0202836C .public sub_0202F2C4 +.public SwapShopInventoryManager .public UpdateWindow diff --git a/asm/overlay_11_022ECD24_data.s b/asm/overlay_11_022ECD24_data.s index 4329f783..860f6731 100644 --- a/asm/overlay_11_022ECD24_data.s +++ b/asm/overlay_11_022ECD24_data.s @@ -262,9 +262,9 @@ .public ov20_0238A140 .public ov20_0238A160 .public ov20_0238A1B0 -.public ov21_0238B848 -.public ov21_0238B8FC -.public ov21_0238B928 +.public SwapShopEntryPoint +.public SwapShopDestructor +.public SwapShopMainManager .public ov22_0238D640 .public ov22_0238D7B0 .public ov22_0238D800 @@ -1932,9 +1932,9 @@ ov11_023230EC: .global ov11_023230FC ov11_023230FC: .byte 0x19, 0x00, 0x00, 0x00 - .word ov21_0238B848 - .word ov21_0238B8FC - .word ov21_0238B928 + .word SwapShopEntryPoint + .word SwapShopDestructor + .word SwapShopMainManager .global ov11_0232310C ov11_0232310C: .byte 0x1A, 0x00, 0x00, 0x00 @@ -3085,8 +3085,8 @@ ov11_02324D98: .global ov11_02324DA0 ov11_02324DA0: .byte 0x00, 0x00, 0x00, 0x00 - .global ov11_02324DA4 -ov11_02324DA4: + .global SWAP_SHOP_INVENTORY_PTRS +SWAP_SHOP_INVENTORY_PTRS: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global ov11_02324DAC ov11_02324DAC: diff --git a/asm/overlay_11_022EE5E4.s b/asm/overlay_11_022EE5E4.s index b2aec71f..ce066b97 100644 --- a/asm/overlay_11_022EE5E4.s +++ b/asm/overlay_11_022EE5E4.s @@ -3818,7 +3818,7 @@ _022F1268: ldr r0, [r0] cmp r0, #0 ldmeqia sp!, {r3, pc} - bl ov11_022EBEAC + bl GroundBg_FreeAll ldr r0, _022F12BC ; =GROUND_STATE_MAP ldr r0, [r0] bl MemFree @@ -5157,7 +5157,7 @@ _022F2344: ldr r0, [r0, #4] cmp r0, #0 beq _022F239C - bl ov11_022EBEAC + bl GroundBg_FreeAll ldr r0, _022F2598 ; =ov11_02324CC8 ldr r0, [r0, #4] bl MemFree @@ -35213,11 +35213,11 @@ _0230B204: .word 0x000004B6 + GET_EXCLUSIVE_ITEM_REQUIREMENTS_OFFSET _0230B208: .word 0x000004B7 + GET_EXCLUSIVE_ITEM_REQUIREMENTS_OFFSET arm_func_end GetExclusiveItemRequirements - arm_func_start ov11_0230B20C -ov11_0230B20C: ; 0x0230B20C + arm_func_start SwapShopInventoryManager +SwapShopInventoryManager: ; 0x0230B20C stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x20 - ldr r2, _0230B664 ; =ov11_02324DA4 + ldr r2, _0230B664 ; =SWAP_SHOP_INVENTORY_PTRS mov r4, r0 ldr r0, [r2, #4] mov r8, r1 @@ -35229,15 +35229,15 @@ ov11_0230B20C: ; 0x0230B20C ldr r0, _0230B670 ; =0x000046D4 mov r1, #8 bl MemAlloc - ldr r1, _0230B664 ; =ov11_02324DA4 + ldr r1, _0230B664 ; =SWAP_SHOP_INVENTORY_PTRS str r0, [r1, #4] _0230B24C: - ldr r0, _0230B664 ; =ov11_02324DA4 + ldr r0, _0230B664 ; =SWAP_SHOP_INVENTORY_PTRS ldr r0, [r0, #4] str r4, [r0] bl ov11_0230BF98 bl LoadSynthBin - ldr sb, _0230B664 ; =ov11_02324DA4 + ldr sb, _0230B664 ; =SWAP_SHOP_INVENTORY_PTRS mov r2, #0 ldr r3, [sb, #4] mov r1, #0x10 @@ -35345,13 +35345,13 @@ _0230B3D4: ldr r2, [r0, #4] cmp sl, r2 blt _0230B38C - ldr r1, _0230B664 ; =ov11_02324DA4 + ldr r1, _0230B664 ; =SWAP_SHOP_INVENTORY_PTRS add r0, sp, #0x14 ldr r1, [r1, #4] add r1, r1, #0x4600 strh r2, [r1, #0x26] bl sub_020114F8 - ldr r1, _0230B664 ; =ov11_02324DA4 + ldr r1, _0230B664 ; =SWAP_SHOP_INVENTORY_PTRS mov r0, r8, lsl #0x10 ldr r2, [r1, #4] mov r3, r0, asr #0x10 @@ -35389,7 +35389,7 @@ _0230B428: _0230B474: cmp r4, #0 bne _0230B5A8 - ldr r0, _0230B664 ; =ov11_02324DA4 + ldr r0, _0230B664 ; =SWAP_SHOP_INVENTORY_PTRS mov r1, #6 ldrsh r2, [r0] ldr r0, [r0, #4] @@ -35399,7 +35399,7 @@ _0230B474: ldrh r0, [sb, r8] add sl, sb, r8 bl ov11_0230C9EC - ldr r1, _0230B664 ; =ov11_02324DA4 + ldr r1, _0230B664 ; =SWAP_SHOP_INVENTORY_PTRS str r0, [sp, #0x18] ldrh r0, [r1] bl ov11_0230C970 @@ -35409,7 +35409,7 @@ _0230B474: movne r0, #0 strneh r0, [sp, #0x1e] bne _0230B4E8 - ldr r0, _0230B664 ; =ov11_02324DA4 + ldr r0, _0230B664 ; =SWAP_SHOP_INVENTORY_PTRS ldrh r1, [sl, #2] ldr r0, [r0, #4] add r0, r0, r1, lsl #3 @@ -35419,7 +35419,7 @@ _0230B474: _0230B4E8: add r0, sp, #0x18 bl ov11_0230AE10 - ldr r0, _0230B664 ; =ov11_02324DA4 + ldr r0, _0230B664 ; =SWAP_SHOP_INVENTORY_PTRS add r1, sp, #0x12 ldr r2, [r0, #4] ldrsh r8, [r0] @@ -35428,7 +35428,7 @@ _0230B4E8: mov r0, #0 strh r8, [r3, #0xd0] bl ov11_0230C1D0 - ldr fp, _0230B664 ; =ov11_02324DA4 + ldr fp, _0230B664 ; =SWAP_SHOP_INVENTORY_PTRS ldrh r2, [sp, #0x12] ldr r0, [fp, #4] ldrh r1, [sp, #0x10] @@ -35469,7 +35469,7 @@ _0230B5A0: cmp sl, r8 blt _0230B538 _0230B5A8: - ldr r8, _0230B664 ; =ov11_02324DA4 + ldr r8, _0230B664 ; =SWAP_SHOP_INVENTORY_PTRS mov r1, r5 ldr sb, [r8, #4] mov r3, r7 @@ -35518,7 +35518,7 @@ _0230B65C: add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 -_0230B664: .word ov11_02324DA4 +_0230B664: .word SWAP_SHOP_INVENTORY_PTRS _0230B668: .word 0x00401A33 _0230B66C: .word ov11_0230BD5C _0230B670: .word 0x000046D4 @@ -35537,19 +35537,19 @@ _0230B684: .word ov11_0230B78C _0230B688: .word ov11_0230BE34 _0230B68C: .word ov11_02322FE4 _0230B690: .word ov11_0230BF38 - arm_func_end ov11_0230B20C + arm_func_end SwapShopInventoryManager arm_func_start ov11_0230B694 ov11_0230B694: ; 0x0230B694 stmdb sp!, {r4, lr} - ldr r0, _0230B71C ; =ov11_02324DA4 + ldr r0, _0230B71C ; =SWAP_SHOP_INVENTORY_PTRS ldr r0, [r0, #4] cmp r0, #0 bne _0230B6BC ldr r0, _0230B720 ; =0x000046D4 mov r1, #8 bl MemAlloc - ldr r1, _0230B71C ; =ov11_02324DA4 + ldr r1, _0230B71C ; =SWAP_SHOP_INVENTORY_PTRS str r0, [r1, #4] _0230B6BC: bl LoadSynthBin @@ -35559,7 +35559,7 @@ _0230B6BC: bl ov11_0230C61C mov r0, #0 bl sub_020130B8 - ldr r1, _0230B71C ; =ov11_02324DA4 + ldr r1, _0230B71C ; =SWAP_SHOP_INVENTORY_PTRS cmp r4, #0 ldr r1, [r1, #4] add r1, r1, #0x4600 @@ -35568,41 +35568,41 @@ _0230B6BC: beq _0230B6F8 bl CloseSynthBin _0230B6F8: - ldr r0, _0230B71C ; =ov11_02324DA4 + ldr r0, _0230B71C ; =SWAP_SHOP_INVENTORY_PTRS ldr r0, [r0, #4] bl MemFree - ldr r1, _0230B71C ; =ov11_02324DA4 + ldr r1, _0230B71C ; =SWAP_SHOP_INVENTORY_PTRS mov r0, #0 str r0, [r1, #4] cmp r4, #0 movne r0, #1 ldmia sp!, {r4, pc} .align 2, 0 -_0230B71C: .word ov11_02324DA4 +_0230B71C: .word SWAP_SHOP_INVENTORY_PTRS _0230B720: .word 0x000046D4 arm_func_end ov11_0230B694 arm_func_start ov11_0230B724 ov11_0230B724: ; 0x0230B724 stmdb sp!, {r4, lr} - ldr r0, _0230B784 ; =ov11_02324DA4 + ldr r0, _0230B784 ; =SWAP_SHOP_INVENTORY_PTRS ldr r0, [r0, #4] cmp r0, #0 bne _0230B74C ldr r0, _0230B788 ; =0x000046D4 mov r1, #8 bl MemAlloc - ldr r1, _0230B784 ; =ov11_02324DA4 + ldr r1, _0230B784 ; =SWAP_SHOP_INVENTORY_PTRS str r0, [r1, #4] _0230B74C: bl ov11_0230BF98 bl ov11_0230C4D4 - ldr r0, _0230B784 ; =ov11_02324DA4 + ldr r0, _0230B784 ; =SWAP_SHOP_INVENTORY_PTRS ldr r0, [r0, #4] add r1, r0, #0x4600 ldrh r4, [r1, #0x26] bl MemFree - ldr r0, _0230B784 ; =ov11_02324DA4 + ldr r0, _0230B784 ; =SWAP_SHOP_INVENTORY_PTRS mov r1, #0 str r1, [r0, #4] cmp r4, #0 @@ -35610,14 +35610,14 @@ _0230B74C: and r0, r1, #0xff ldmia sp!, {r4, pc} .align 2, 0 -_0230B784: .word ov11_02324DA4 +_0230B784: .word SWAP_SHOP_INVENTORY_PTRS _0230B788: .word 0x000046D4 arm_func_end ov11_0230B724 arm_func_start ov11_0230B78C ov11_0230B78C: ; 0x0230B78C stmdb sp!, {r3, r4, r5, lr} - ldr r1, _0230B870 ; =ov11_02324DA4 + ldr r1, _0230B870 ; =SWAP_SHOP_INVENTORY_PTRS tst r0, #0x400 ldr r4, [r1, #4] beq _0230B868 @@ -35663,7 +35663,7 @@ _0230B834: mov r0, #2 bl PlaySeVolumeWrapper _0230B83C: - ldr r0, _0230B870 ; =ov11_02324DA4 + ldr r0, _0230B870 ; =SWAP_SHOP_INVENTORY_PTRS ldr r1, [r0, #4] add r0, r1, #0x4000 ldr r0, [r0, #0x6c8] @@ -35679,13 +35679,13 @@ _0230B868: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_0230B870: .word ov11_02324DA4 +_0230B870: .word SWAP_SHOP_INVENTORY_PTRS arm_func_end ov11_0230B78C arm_func_start ov11_0230B874 ov11_0230B874: ; 0x0230B874 stmdb sp!, {r3, lr} - ldr r1, _0230B8BC ; =ov11_02324DA4 + ldr r1, _0230B8BC ; =SWAP_SHOP_INVENTORY_PTRS mov r0, #0 ldr ip, [r1, #4] mov r3, r0 @@ -35705,13 +35705,13 @@ _0230B8B0: blt _0230B898 ldmia sp!, {r3, pc} .align 2, 0 -_0230B8BC: .word ov11_02324DA4 +_0230B8BC: .word SWAP_SHOP_INVENTORY_PTRS arm_func_end ov11_0230B874 arm_func_start ov11_0230B8C0 ov11_0230B8C0: ; 0x0230B8C0 stmdb sp!, {r3, r4, r5, lr} - ldr r1, _0230B910 ; =ov11_02324DA4 + ldr r1, _0230B910 ; =SWAP_SHOP_INVENTORY_PTRS mov r4, r0 ldr r0, [r1, #4] add r0, r0, #0x1400 @@ -35721,7 +35721,7 @@ ov11_0230B8C0: ; 0x0230B8C0 mov r0, r5, lsl #0x10 mov r0, r0, lsr #0x10 bl ov11_0230C970 - ldr r1, _0230B910 ; =ov11_02324DA4 + ldr r1, _0230B910 ; =SWAP_SHOP_INVENTORY_PTRS strh r0, [r4] ldr r0, [r1, #4] add r0, r0, r5, lsl #1 @@ -35731,18 +35731,18 @@ ov11_0230B8C0: ; 0x0230B8C0 ldrsh r0, [r4] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_0230B910: .word ov11_02324DA4 +_0230B910: .word SWAP_SHOP_INVENTORY_PTRS arm_func_end ov11_0230B8C0 arm_func_start ov11_0230B914 ov11_0230B914: ; 0x0230B914 stmdb sp!, {r3, lr} - ldr r0, _0230B954 ; =ov11_02324DA4 + ldr r0, _0230B954 ; =SWAP_SHOP_INVENTORY_PTRS ldr r0, [r0, #4] add r0, r0, #0x1400 ldrsb r0, [r0, #0xe4] bl sub_0202D0EC - ldr r1, _0230B954 ; =ov11_02324DA4 + ldr r1, _0230B954 ; =SWAP_SHOP_INVENTORY_PTRS mov r0, r0, lsl #0x10 ldr r2, [r1, #4] mov r1, r0, lsr #0x10 @@ -35753,18 +35753,18 @@ ov11_0230B914: ; 0x0230B914 bl ov11_0230C9EC ldmia sp!, {r3, pc} .align 2, 0 -_0230B954: .word ov11_02324DA4 +_0230B954: .word SWAP_SHOP_INVENTORY_PTRS arm_func_end ov11_0230B914 arm_func_start ov11_0230B958 ov11_0230B958: ; 0x0230B958 stmdb sp!, {r3, lr} - ldr r0, _0230B9B8 ; =ov11_02324DA4 + ldr r0, _0230B9B8 ; =SWAP_SHOP_INVENTORY_PTRS ldr r0, [r0, #4] add r0, r0, #0x1400 ldrsb r0, [r0, #0xe4] bl sub_0202D0EC - ldr r2, _0230B9B8 ; =ov11_02324DA4 + ldr r2, _0230B9B8 ; =SWAP_SHOP_INVENTORY_PTRS mov r1, r0, lsl #0x10 mov r3, r1, lsr #0x10 ldr ip, [r2, #4] @@ -35783,20 +35783,20 @@ ov11_0230B958: ; 0x0230B958 ldrh r0, [r0, #0xea] ldmia sp!, {r3, pc} .align 2, 0 -_0230B9B8: .word ov11_02324DA4 +_0230B9B8: .word SWAP_SHOP_INVENTORY_PTRS arm_func_end ov11_0230B958 arm_func_start ov11_0230B9BC ov11_0230B9BC: ; 0x0230B9BC stmdb sp!, {r3, lr} - ldr r0, _0230BA60 ; =ov11_02324DA4 + ldr r0, _0230BA60 ; =SWAP_SHOP_INVENTORY_PTRS ldr r0, [r0, #4] cmp r0, #0 ldmeqia sp!, {r3, pc} bl ov11_0230AED0 bl ov11_0230CAE4 bl ov11_0230CA38 - ldr r0, _0230BA60 ; =ov11_02324DA4 + ldr r0, _0230BA60 ; =SWAP_SHOP_INVENTORY_PTRS ldr r0, [r0, #4] add r0, r0, #0x4000 ldrb r0, [r0, #0x6c4] @@ -35804,7 +35804,7 @@ ov11_0230B9BC: ; 0x0230B9BC beq _0230B9F8 bl CloseSynthBin _0230B9F8: - ldr r0, _0230BA60 ; =ov11_02324DA4 + ldr r0, _0230BA60 ; =SWAP_SHOP_INVENTORY_PTRS mvn r1, #1 ldr r0, [r0, #4] add r0, r0, #0x1400 @@ -35812,34 +35812,34 @@ _0230B9F8: cmp r0, r1 beq _0230BA44 bl sub_0202D0EC - ldr r1, _0230BA60 ; =ov11_02324DA4 + ldr r1, _0230BA60 ; =SWAP_SHOP_INVENTORY_PTRS strh r0, [r1] ldr r0, [r1, #4] add r0, r0, #0x1400 ldrsb r0, [r0, #0xe4] bl sub_0202836C - ldr r0, _0230BA60 ; =ov11_02324DA4 + ldr r0, _0230BA60 ; =SWAP_SHOP_INVENTORY_PTRS ldr r0, [r0, #4] add r0, r0, #0x1400 ldrsb r0, [r0, #0xe4] bl CloseCollectionMenu _0230BA44: - ldr r0, _0230BA60 ; =ov11_02324DA4 + ldr r0, _0230BA60 ; =SWAP_SHOP_INVENTORY_PTRS ldr r0, [r0, #4] bl MemFree - ldr r0, _0230BA60 ; =ov11_02324DA4 + ldr r0, _0230BA60 ; =SWAP_SHOP_INVENTORY_PTRS mov r1, #0 str r1, [r0, #4] ldmia sp!, {r3, pc} .align 2, 0 -_0230BA60: .word ov11_02324DA4 +_0230BA60: .word SWAP_SHOP_INVENTORY_PTRS arm_func_end ov11_0230B9BC arm_func_start ov11_0230BA64 ov11_0230BA64: ; 0x0230BA64 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #8 - ldr r0, _0230BB18 ; =ov11_02324DA4 + ldr r0, _0230BB18 ; =SWAP_SHOP_INVENTORY_PTRS ldr r4, [r0, #4] cmp r4, #0 moveq r0, #0 @@ -35886,13 +35886,13 @@ _0230BB10: add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_0230BB18: .word ov11_02324DA4 +_0230BB18: .word SWAP_SHOP_INVENTORY_PTRS arm_func_end ov11_0230BA64 arm_func_start ov11_0230BB1C ov11_0230BB1C: ; 0x0230BB1C stmdb sp!, {r3, lr} - ldr r0, _0230BB94 ; =ov11_02324DA4 + ldr r0, _0230BB94 ; =SWAP_SHOP_INVENTORY_PTRS ldr r0, [r0, #4] cmp r0, #0 addne r0, r0, #0x1400 @@ -35901,35 +35901,35 @@ ov11_0230BB1C: ; 0x0230BB1C cmpne r0, r1 ldmeqia sp!, {r3, pc} bl sub_0202D0EC - ldr r1, _0230BB94 ; =ov11_02324DA4 + ldr r1, _0230BB94 ; =SWAP_SHOP_INVENTORY_PTRS strh r0, [r1] bl ov11_0230CA38 bl ov11_0230CAE4 - ldr r0, _0230BB94 ; =ov11_02324DA4 + ldr r0, _0230BB94 ; =SWAP_SHOP_INVENTORY_PTRS ldr r0, [r0, #4] add r0, r0, #0x1400 ldrsb r0, [r0, #0xe4] bl sub_0202836C - ldr r0, _0230BB94 ; =ov11_02324DA4 + ldr r0, _0230BB94 ; =SWAP_SHOP_INVENTORY_PTRS ldr r0, [r0, #4] add r0, r0, #0x1400 ldrsb r0, [r0, #0xe4] bl CloseCollectionMenu - ldr r0, _0230BB94 ; =ov11_02324DA4 + ldr r0, _0230BB94 ; =SWAP_SHOP_INVENTORY_PTRS mvn r1, #1 ldr r0, [r0, #4] add r0, r0, #0x1000 strb r1, [r0, #0x4e4] ldmia sp!, {r3, pc} .align 2, 0 -_0230BB94: .word ov11_02324DA4 +_0230BB94: .word SWAP_SHOP_INVENTORY_PTRS arm_func_end ov11_0230BB1C arm_func_start ov11_0230BB98 ov11_0230BB98: ; 0x0230BB98 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc - ldr r0, _0230BCD8 ; =ov11_02324DA4 + ldr r0, _0230BCD8 ; =SWAP_SHOP_INVENTORY_PTRS ldr r2, [r0, #4] cmp r2, #0 beq _0230BCD0 @@ -35956,7 +35956,7 @@ _0230BBF0: ldr r3, _0230BCEC ; =ov11_0230BE34 orr r1, r1, r0 _0230BC00: - ldr ip, _0230BCD8 ; =ov11_02324DA4 + ldr ip, _0230BCD8 ; =SWAP_SHOP_INVENTORY_PTRS add r2, r2, #0x4000 ldrsh r4, [ip] ldr r0, _0230BCF0 ; =ov11_02322FE4 @@ -35969,7 +35969,7 @@ _0230BC00: add r2, r2, #0x4400 stmib sp, {ip, lr} bl CreateCollectionMenu - ldr r2, _0230BCD8 ; =ov11_02324DA4 + ldr r2, _0230BCD8 ; =SWAP_SHOP_INVENTORY_PTRS ldr r1, [r2, #4] add r1, r1, #0x1000 strb r0, [r1, #0x4e4] @@ -35981,7 +35981,7 @@ _0230BC00: ldrsb r0, [r0, #0xe4] mov r1, #1 bl SetCollectionMenuField0x1C8 - ldr r0, _0230BCD8 ; =ov11_02324DA4 + ldr r0, _0230BCD8 ; =SWAP_SHOP_INVENTORY_PTRS ldr r1, _0230BCF4 ; =ov11_0230BF38 ldr r0, [r0, #4] add r0, r0, #0x1400 @@ -35989,7 +35989,7 @@ _0230BC00: bl SetCollectionMenuField0x1A4 bl ov11_0230CAA4 bl ov11_0230C9F8 - ldr r0, _0230BCD8 ; =ov11_02324DA4 + ldr r0, _0230BCD8 ; =SWAP_SHOP_INVENTORY_PTRS ldr r4, [r0, #4] ldr r0, [r4] cmp r0, #3 @@ -36014,7 +36014,7 @@ _0230BCD0: add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 -_0230BCD8: .word ov11_02324DA4 +_0230BCD8: .word SWAP_SHOP_INVENTORY_PTRS _0230BCDC: .word 0x00401833 _0230BCE0: .word ov11_0230BD5C _0230BCE4: .word 0x80040004 @@ -36027,7 +36027,7 @@ _0230BCF4: .word ov11_0230BF38 arm_func_start ov11_0230BCF8 ov11_0230BCF8: ; 0x0230BCF8 stmdb sp!, {r3, lr} - ldr r0, _0230BD24 ; =ov11_02324DA4 + ldr r0, _0230BD24 ; =SWAP_SHOP_INVENTORY_PTRS ldr r0, [r0, #4] cmp r0, #0 addne r0, r0, #0x1400 @@ -36038,13 +36038,13 @@ ov11_0230BCF8: ; 0x0230BCF8 bl sub_0202C620 ldmia sp!, {r3, pc} .align 2, 0 -_0230BD24: .word ov11_02324DA4 +_0230BD24: .word SWAP_SHOP_INVENTORY_PTRS arm_func_end ov11_0230BCF8 arm_func_start ov11_0230BD28 ov11_0230BD28: ; 0x0230BD28 stmdb sp!, {r3, lr} - ldr r0, _0230BD58 ; =ov11_02324DA4 + ldr r0, _0230BD58 ; =SWAP_SHOP_INVENTORY_PTRS ldr r0, [r0, #4] cmp r0, #0 addne r0, r0, #0x1400 @@ -36056,7 +36056,7 @@ ov11_0230BD28: ; 0x0230BD28 bl IsCollectionMenuState3 ldmia sp!, {r3, pc} .align 2, 0 -_0230BD58: .word ov11_02324DA4 +_0230BD58: .word SWAP_SHOP_INVENTORY_PTRS arm_func_end ov11_0230BD28 arm_func_start ov11_0230BD5C @@ -36069,7 +36069,7 @@ ov11_0230BD5C: ; 0x0230BD5C mov r0, r1, lsr #0x10 mov r4, r2 bl ov11_0230C970 - ldr r1, _0230BE28 ; =ov11_02324DA4 + ldr r1, _0230BE28 ; =SWAP_SHOP_INVENTORY_PTRS strh r0, [sp, #4] ldr r3, [r1, #4] mov r1, #1 @@ -36101,7 +36101,7 @@ _0230BDEC: mov r0, r6 bl sub_0200D670 _0230BDF4: - ldr r1, _0230BE28 ; =ov11_02324DA4 + ldr r1, _0230BE28 ; =SWAP_SHOP_INVENTORY_PTRS mov r0, #6 ldr r1, [r1, #4] mla r0, r5, r0, r1 @@ -36115,7 +36115,7 @@ _0230BDF4: add sp, sp, #0x58 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_0230BE28: .word ov11_02324DA4 +_0230BE28: .word SWAP_SHOP_INVENTORY_PTRS _0230BE2C: .word ov11_02323004 _0230BE30: .word ov11_0232300C arm_func_end ov11_0230BD5C @@ -36124,7 +36124,7 @@ _0230BE30: .word ov11_0232300C ov11_0230BE34: ; 0x0230BE34 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #8 - ldr r3, _0230BF28 ; =ov11_02324DA4 + ldr r3, _0230BF28 ; =SWAP_SHOP_INVENTORY_PTRS mov r5, r1 mov r1, r5, lsl #0x10 mov r6, r0 @@ -36139,7 +36139,7 @@ ov11_0230BE34: ; 0x0230BE34 moveq r0, #0 beq _0230BF20 bl ov11_0230C970 - ldr r1, _0230BF28 ; =ov11_02324DA4 + ldr r1, _0230BF28 ; =SWAP_SHOP_INVENTORY_PTRS strh r0, [sp, #4] ldr r0, [r1, #4] add r1, sp, #0 @@ -36176,7 +36176,7 @@ _0230BEE8: _0230BEEC: mov r0, r6 bl strcat - ldr r1, _0230BF28 ; =ov11_02324DA4 + ldr r1, _0230BF28 ; =SWAP_SHOP_INVENTORY_PTRS mov r0, #6 ldr r1, [r1, #4] mla r0, r5, r0, r1 @@ -36191,7 +36191,7 @@ _0230BF20: add sp, sp, #8 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_0230BF28: .word ov11_02324DA4 +_0230BF28: .word SWAP_SHOP_INVENTORY_PTRS _0230BF2C: .word ov11_02323014 _0230BF30: .word ov11_0232302C _0230BF34: .word ov11_02323048 @@ -36200,7 +36200,7 @@ _0230BF34: .word ov11_02323048 arm_func_start ov11_0230BF38 ov11_0230BF38: ; 0x0230BF38 stmdb sp!, {r3, lr} - ldr r3, _0230BF8C ; =ov11_02324DA4 + ldr r3, _0230BF8C ; =SWAP_SHOP_INVENTORY_PTRS mov r2, r2, lsl #0x10 ldr ip, [r3, #4] mov r3, r2, lsr #0x10 @@ -36222,7 +36222,7 @@ _0230BF7C: bl sub_0202A03C ldmia sp!, {r3, pc} .align 2, 0 -_0230BF8C: .word ov11_02324DA4 +_0230BF8C: .word SWAP_SHOP_INVENTORY_PTRS #if defined(EUROPE) _0230BF90: .word 0x0000032F _0230BF94: .word 0x00004642 @@ -36239,7 +36239,7 @@ _0230BF94: .word 0x00004623 ov11_0230BF98: ; 0x0230BF98 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r4, #0 - ldr r3, _0230C048 ; =ov11_02324DA4 + ldr r3, _0230C048 ; =SWAP_SHOP_INVENTORY_PTRS ldr r2, _0230C04C ; =0x0000042C mov r0, r4 _0230BFAC: @@ -36253,7 +36253,7 @@ _0230BFAC: strb r0, [r1, #0xb8] cmp r4, r2 blt _0230BFAC - ldr r2, _0230C048 ; =ov11_02324DA4 + ldr r2, _0230C048 ; =SWAP_SHOP_INVENTORY_PTRS mov r5, #0 _0230BFDC: ldr r1, [r2, #4] @@ -36267,7 +36267,7 @@ _0230BFDC: strh r5, [r1, #0x46] cmp r0, #0x3e8 blt _0230BFDC - ldr r7, _0230C048 ; =ov11_02324DA4 + ldr r7, _0230C048 ; =SWAP_SHOP_INVENTORY_PTRS ldr r6, _0230C04C ; =0x0000042C mov r4, #0 _0230C014: @@ -36285,7 +36285,7 @@ _0230C014: blt _0230C014 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_0230C048: .word ov11_02324DA4 +_0230C048: .word SWAP_SHOP_INVENTORY_PTRS _0230C04C: .word 0x0000042C arm_func_end ov11_0230BF98 @@ -36357,7 +36357,7 @@ _0230C114: .word 0xFFFFFE06 arm_func_start ov11_0230C118 ov11_0230C118: ; 0x0230C118 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} - ldr r6, _0230C1CC ; =ov11_02324DA4 + ldr r6, _0230C1CC ; =SWAP_SHOP_INVENTORY_PTRS mov lr, #0 ldr r7, [r6, #4] mov r4, lr @@ -36407,7 +36407,7 @@ _0230C1AC: strneh r4, [r2] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 -_0230C1CC: .word ov11_02324DA4 +_0230C1CC: .word SWAP_SHOP_INVENTORY_PTRS arm_func_end ov11_0230C118 arm_func_start ov11_0230C1D0 @@ -36626,7 +36626,7 @@ _0230C4AC: cmp r4, r8 blt _0230C468 _0230C4B4: - ldr r0, _0230C4D0 ; =ov11_02324DA4 + ldr r0, _0230C4D0 ; =SWAP_SHOP_INVENTORY_PTRS ldr r0, [r0, #4] add r0, r0, #0x4600 strh sb, [r0, #0x28] @@ -36634,7 +36634,7 @@ _0230C4B4: .align 2, 0 _0230C4C8: .word BAG_ITEMS_PTR_MIRROR _0230C4CC: .word 0x000003F5 -_0230C4D0: .word ov11_02324DA4 +_0230C4D0: .word SWAP_SHOP_INVENTORY_PTRS arm_func_end ov11_0230C3CC arm_func_start ov11_0230C4D4 @@ -36646,7 +36646,7 @@ ov11_0230C4D4: ; 0x0230C4D4 mov sb, r8 mov r4, #6 ldr r6, _0230C594 ; =BAG_ITEMS_PTR_MIRROR - ldr r5, _0230C598 ; =ov11_02324DA4 + ldr r5, _0230C598 ; =SWAP_SHOP_INVENTORY_PTRS ldr fp, _0230C59C ; =0x0000018F b _0230C578 _0230C4FC: @@ -36685,14 +36685,14 @@ _0230C574: _0230C578: cmp sb, r7 blt _0230C4FC - ldr r0, _0230C598 ; =ov11_02324DA4 + ldr r0, _0230C598 ; =SWAP_SHOP_INVENTORY_PTRS ldr r0, [r0, #4] add r0, r0, #0x4600 strh r8, [r0, #0x26] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0230C594: .word BAG_ITEMS_PTR_MIRROR -_0230C598: .word ov11_02324DA4 +_0230C598: .word SWAP_SHOP_INVENTORY_PTRS _0230C59C: .word 0x0000018F arm_func_end ov11_0230C4D4 @@ -36701,7 +36701,7 @@ ov11_0230C5A0: ; 0x0230C5A0 stmdb sp!, {r4, lr} cmp r2, #0 beq _0230C5EC - ldr r3, _0230C618 ; =ov11_02324DA4 + ldr r3, _0230C618 ; =SWAP_SHOP_INVENTORY_PTRS mov lr, #0 ldr r4, [r3, #4] b _0230C5E4 @@ -36720,7 +36720,7 @@ _0230C5E4: cmp lr, r2 blt _0230C5BC _0230C5EC: - ldr ip, _0230C618 ; =ov11_02324DA4 + ldr ip, _0230C618 ; =SWAP_SHOP_INVENTORY_PTRS ldr r3, [ip, #4] add r3, r3, r2, lsl #1 add r3, r3, #0x3600 @@ -36732,7 +36732,7 @@ _0230C5EC: strh r1, [r2, #0x16] ldmia sp!, {r4, pc} .align 2, 0 -_0230C618: .word ov11_02324DA4 +_0230C618: .word SWAP_SHOP_INVENTORY_PTRS arm_func_end ov11_0230C5A0 arm_func_start ov11_0230C61C @@ -36741,7 +36741,7 @@ ov11_0230C61C: ; 0x0230C61C ldr r4, _0230C8DC ; =0x000001FA mov r5, #0 _0230C628: - ldr r0, _0230C8E0 ; =ov11_02324DA4 + ldr r0, _0230C8E0 ; =SWAP_SHOP_INVENTORY_PTRS ldr lr, [r0, #4] add r0, lr, #0x4600 ldrh ip, [r0, #0x28] @@ -36887,7 +36887,7 @@ _0230C834: mov r2, r1, lsr #0x10 mov r1, #0 bl ov11_0230C924 - ldr r0, _0230C8E0 ; =ov11_02324DA4 + ldr r0, _0230C8E0 ; =SWAP_SHOP_INVENTORY_PTRS mov r1, #0 ldr r0, [r0, #4] add r0, r0, r5, lsl #1 @@ -36899,7 +36899,7 @@ _0230C86C: add r4, r4, #4 cmp r4, r0 blt _0230C628 - ldr r0, _0230C8E0 ; =ov11_02324DA4 + ldr r0, _0230C8E0 ; =SWAP_SHOP_INVENTORY_PTRS ldr r0, [r0, #4] add r0, r0, #0xe6 add r0, r0, #0x4500 @@ -36920,14 +36920,14 @@ _0230C8A0: _0230C8C0: cmp r7, r6 blt _0230C8A0 - ldr r0, _0230C8E0 ; =ov11_02324DA4 + ldr r0, _0230C8E0 ; =SWAP_SHOP_INVENTORY_PTRS ldr r0, [r0, #4] add r0, r0, #0x4600 strh r5, [r0, #0x26] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _0230C8DC: .word 0x000001FA -_0230C8E0: .word ov11_02324DA4 +_0230C8E0: .word SWAP_SHOP_INVENTORY_PTRS _0230C8E4: .word 0x000002FE _0230C8E8: .word 0x000001BD _0230C8EC: .word 0x000001BE @@ -36943,12 +36943,12 @@ _0230C90C: .word 0x000003F6 arm_func_start ov11_0230C910 ov11_0230C910: ; 0x0230C910 - ldr r0, _0230C920 ; =ov11_02324DA4 + ldr r0, _0230C920 ; =SWAP_SHOP_INVENTORY_PTRS mov r1, #0 strh r1, [r0] bx lr .align 2, 0 -_0230C920: .word ov11_02324DA4 +_0230C920: .word SWAP_SHOP_INVENTORY_PTRS arm_func_end ov11_0230C910 arm_func_start ov11_0230C924 @@ -36956,7 +36956,7 @@ ov11_0230C924: ; 0x0230C924 stmdb sp!, {r3, lr} mov r3, #6 mul lr, r0, r3 - ldr r3, _0230C96C ; =ov11_02324DA4 + ldr r3, _0230C96C ; =SWAP_SHOP_INVENTORY_PTRS mov ip, #0 ldr r0, [r3, #4] add r0, r0, lr @@ -36972,14 +36972,14 @@ ov11_0230C924: ; 0x0230C924 strb ip, [r0, #0x4ea] ldmia sp!, {r3, pc} .align 2, 0 -_0230C96C: .word ov11_02324DA4 +_0230C96C: .word SWAP_SHOP_INVENTORY_PTRS arm_func_end ov11_0230C924 arm_func_start ov11_0230C970 ov11_0230C970: ; 0x0230C970 stmdb sp!, {r3, lr} mov r1, #6 - ldr r2, _0230C9E8 ; =ov11_02324DA4 + ldr r2, _0230C9E8 ; =SWAP_SHOP_INVENTORY_PTRS mul r1, r0, r1 ldr r3, [r2, #4] add r0, r3, #0xe6 @@ -37012,7 +37012,7 @@ _0230C9E0: ldrsh r0, [r1, #2] ldmia sp!, {r3, pc} .align 2, 0 -_0230C9E8: .word ov11_02324DA4 +_0230C9E8: .word SWAP_SHOP_INVENTORY_PTRS arm_func_end ov11_0230C970 arm_func_start ov11_0230C9EC @@ -37025,7 +37025,7 @@ ov11_0230C9EC: ; 0x0230C9EC arm_func_start ov11_0230C9F8 ov11_0230C9F8: ; 0x0230C9F8 stmdb sp!, {r3, lr} - ldr r0, _0230CA2C ; =ov11_02324DA4 + ldr r0, _0230CA2C ; =SWAP_SHOP_INVENTORY_PTRS ldr r1, [r0, #4] add r0, r1, #0x4000 ldr r0, [r0, #0x6cc] @@ -37038,7 +37038,7 @@ ov11_0230C9F8: ; 0x0230C9F8 bl sub_0204707C ldmia sp!, {r3, pc} .align 2, 0 -_0230CA2C: .word ov11_02324DA4 +_0230CA2C: .word SWAP_SHOP_INVENTORY_PTRS _0230CA30: .word ov11_02322FF4 _0230CA34: .word ov11_0230CA7C arm_func_end ov11_0230C9F8 @@ -37046,7 +37046,7 @@ _0230CA34: .word ov11_0230CA7C arm_func_start ov11_0230CA38 ov11_0230CA38: ; 0x0230CA38 stmdb sp!, {r3, lr} - ldr r0, _0230CA78 ; =ov11_02324DA4 + ldr r0, _0230CA78 ; =SWAP_SHOP_INVENTORY_PTRS ldr r1, [r0, #4] add r0, r1, #0x4000 ldr r0, [r0, #0x6cc] @@ -37055,14 +37055,14 @@ ov11_0230CA38: ; 0x0230CA38 add r0, r1, #0x2cc add r0, r0, #0x4400 bl sub_02047150 - ldr r0, _0230CA78 ; =ov11_02324DA4 + ldr r0, _0230CA78 ; =SWAP_SHOP_INVENTORY_PTRS mov r1, #0 ldr r0, [r0, #4] add r0, r0, #0x4000 str r1, [r0, #0x6cc] ldmia sp!, {r3, pc} .align 2, 0 -_0230CA78: .word ov11_02324DA4 +_0230CA78: .word SWAP_SHOP_INVENTORY_PTRS arm_func_end ov11_0230CA38 arm_func_start ov11_0230CA7C @@ -37087,7 +37087,7 @@ _0230CAA0: .word 0x000003A9 arm_func_start ov11_0230CAA4 ov11_0230CAA4: ; 0x0230CAA4 stmdb sp!, {r3, lr} - ldr r0, _0230CAD8 ; =ov11_02324DA4 + ldr r0, _0230CAD8 ; =SWAP_SHOP_INVENTORY_PTRS ldr r1, [r0, #4] add r0, r1, #0x4000 ldr r0, [r0, #0x6c8] @@ -37100,7 +37100,7 @@ ov11_0230CAA4: ; 0x0230CAA4 bl sub_0204707C ldmia sp!, {r3, pc} .align 2, 0 -_0230CAD8: .word ov11_02324DA4 +_0230CAD8: .word SWAP_SHOP_INVENTORY_PTRS _0230CADC: .word ov11_02322FD4 _0230CAE0: .word ov11_0230CB28 arm_func_end ov11_0230CAA4 @@ -37108,7 +37108,7 @@ _0230CAE0: .word ov11_0230CB28 arm_func_start ov11_0230CAE4 ov11_0230CAE4: ; 0x0230CAE4 stmdb sp!, {r3, lr} - ldr r0, _0230CB24 ; =ov11_02324DA4 + ldr r0, _0230CB24 ; =SWAP_SHOP_INVENTORY_PTRS ldr r1, [r0, #4] add r0, r1, #0x4000 ldr r0, [r0, #0x6c8] @@ -37117,14 +37117,14 @@ ov11_0230CAE4: ; 0x0230CAE4 add r0, r1, #0x2c8 add r0, r0, #0x4400 bl sub_02047150 - ldr r0, _0230CB24 ; =ov11_02324DA4 + ldr r0, _0230CB24 ; =SWAP_SHOP_INVENTORY_PTRS mov r1, #0 ldr r0, [r0, #4] add r0, r0, #0x4000 str r1, [r0, #0x6c8] ldmia sp!, {r3, pc} .align 2, 0 -_0230CB24: .word ov11_02324DA4 +_0230CB24: .word SWAP_SHOP_INVENTORY_PTRS arm_func_end ov11_0230CAE4 arm_func_start ov11_0230CB28 @@ -37135,7 +37135,7 @@ ov11_0230CB28: ; 0x0230CB28 add r0, sp, #4 bl InitPreprocessorArgs bl ov11_0230B874 - ldr r1, _0230CB84 ; =ov11_02324DA4 + ldr r1, _0230CB84 ; =SWAP_SHOP_INVENTORY_PTRS str r0, [sp, #0x28] ldr r0, [r1, #4] #ifdef JAPAN @@ -37165,7 +37165,7 @@ ov11_0230CB28: ; 0x0230CB28 add sp, sp, #0x54 ldmia sp!, {r3, r4, pc} .align 2, 0 -_0230CB84: .word ov11_02324DA4 +_0230CB84: .word SWAP_SHOP_INVENTORY_PTRS #ifdef JAPAN _0230E130: .word 0x000032B4 #endif @@ -38622,7 +38622,7 @@ ov11_0230DC3C: ; 0x0230DC3C ldr r0, [r0] cmp r0, #0 beq _0230DCA0 - bl ov11_022EBEAC + bl GroundBg_FreeAll ldr r0, _0230DCB4 ; =ov11_02324DC8 ldr r0, [r0] bl MemFree @@ -38982,7 +38982,7 @@ ov11_0230E0D8: ; 0x0230E0D8 ldr r0, [r0] cmp r0, #0 beq _0230E13C - bl ov11_022EBEAC + bl GroundBg_FreeAll ldr r0, _0230E150 ; =ov11_02324DD4 ldr r0, [r0] bl MemFree @@ -39347,7 +39347,7 @@ ov11_0230E578: ; 0x0230E578 ldr r0, [r0] cmp r0, #0 beq _0230E5DC - bl ov11_022EBEAC + bl GroundBg_FreeAll ldr r0, _0230E5F0 ; =ov11_02324DDC ldr r0, [r0] bl MemFree @@ -39886,7 +39886,7 @@ _0230EC68: ldr r0, [r0, #4] cmp r0, #0 ldmeqia sp!, {r3, pc} - bl ov11_022EBEAC + bl GroundBg_FreeAll ldr r0, _0230ED20 ; =WORLD_MAP_MODE ldr r0, [r0, #4] bl MemFree @@ -41853,7 +41853,7 @@ ov11_023107BC: ; 0x023107BC ldr r0, [r0, #4] cmp r0, #0 beq _02310820 - bl ov11_022EBEAC + bl GroundBg_FreeAll ldr r0, _02310834 ; =ov11_02324DF0 ldr r0, [r0, #4] bl MemFree @@ -42269,7 +42269,7 @@ ov11_02310CD4: ; 0x02310CD4 ldr r0, [r0, #4] cmp r0, #0 ldmeqia sp!, {r3, pc} - bl ov11_022EBEAC + bl GroundBg_FreeAll ldr r0, _02310D40 ; =ov11_02324DF8 ldr r0, [r0, #4] bl MemFree @@ -42822,7 +42822,7 @@ ov11_023113E8: ; 0x023113E8 ldr r0, [r0, #4] cmp r0, #0 ldmeqia sp!, {r3, pc} - bl ov11_022EBEAC + bl GroundBg_FreeAll ldr r0, _02311458 ; =ov11_02324E00 ldr r0, [r0, #4] bl MemFree @@ -43222,7 +43222,7 @@ ov11_023118E8: ; 0x023118E8 ldr r0, [r0, #4] cmp r0, #0 ldmeqia sp!, {r3, pc} - bl ov11_022EBEAC + bl GroundBg_FreeAll ldr r0, _02311958 ; =ov11_02324E08 ldr r0, [r0, #4] bl MemFree @@ -43670,7 +43670,7 @@ ov11_02311EA4: ; 0x02311EA4 ldr r0, [r0] cmp r0, #0 beq _02311F08 - bl ov11_022EBEAC + bl GroundBg_FreeAll ldr r0, _02311F1C ; =ov11_02324E10 ldr r0, [r0] bl MemFree @@ -44130,7 +44130,7 @@ ov11_02312398: ; 0x02312398 ldr r0, [r0] cmp r0, #0 ldmeqia sp!, {r3, pc} - bl ov11_022EBEAC + bl GroundBg_FreeAll ldr r0, _02312414 ; =ov11_02324E18 ldr r0, [r0] bl MemFree @@ -44531,7 +44531,7 @@ ov11_023128C0: ; 0x023128C0 ldr r0, [r1] cmp r0, #0 beq _0231291C - bl ov11_022EBEAC + bl GroundBg_FreeAll ldr r0, _02312974 ; =ov11_02324E20 ldr r0, [r0] bl MemFree @@ -48903,7 +48903,7 @@ ov11_02316528: ; 0x02316528 ldr r0, [r0, #4] cmp r0, #0 beq _0231658C - bl ov11_022EBEAC + bl GroundBg_FreeAll ldr r0, _023165A0 ; =ov11_02324E78 ldr r0, [r0, #4] bl MemFree diff --git a/asm/overlay_21.s b/asm/overlay_21.s index f50fdbcf..948ef222 100644 --- a/asm/overlay_21.s +++ b/asm/overlay_21.s @@ -3,11 +3,11 @@ .text - arm_func_start ov21_0238A140 -ov21_0238A140: ; 0x0238A140 + arm_func_start SwapShopDialogueManager +SwapShopDialogueManager: ; 0x0238A140 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #0x180 - ldr r4, _0238B08C ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r4, _0238B08C ; =SWAP_SHOP_MENU_DATA_PTR ldr r1, [r4] str r0, [r1] ldr r0, [r4] @@ -84,7 +84,7 @@ _0238A168: ; jump table b _0238B7B8 ; case 65 b _0238B7B8 ; case 66 _0238A274: - ldr r0, _0238B090 ; =ov21_0238CBB8 + ldr r0, _0238B090 ; =SWAP_SHOP_TALK_WELCOME_DEBUG_STRING bl Debug_Print0 mov r0, r4 ldr r1, [r0] @@ -105,36 +105,36 @@ _0238A274: mov r1, #3 mov r2, #1 bl CreatePortraitBox - ldr r2, _0238B08C ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r2, _0238B08C ; =SWAP_SHOP_MENU_DATA_PTR ldr r1, _0238B09C ; =0x000001EF ldr r3, [r2] strb r0, [r3, #0x81] ldr r0, [r2] add r0, r0, #0xc8 bl InitPortraitParamsWithMonsterId - ldr r0, _0238B08C ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238B08C ; =SWAP_SHOP_MENU_DATA_PTR mov r1, #0 ldr r0, [r0] add r0, r0, #0xc8 bl SetPortraitLayout - ldr r0, _0238B08C ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238B08C ; =SWAP_SHOP_MENU_DATA_PTR ldr r1, [r0] add r0, r1, #0xc8 ldr r1, [r1, #0x28] mov r1, r1, lsl #0x18 mov r1, r1, asr #0x18 bl SetPortraitEmotion - ldr r0, _0238B08C ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238B08C ; =SWAP_SHOP_MENU_DATA_PTR ldr r1, [r0] ldrsb r0, [r1, #0x81] add r1, r1, #0xc8 bl ShowPortraitInPortraitBox b _0238B7B8 _0238A32C: - ldr r0, _0238B0A0 ; =ov21_0238CBD4 + ldr r0, _0238B0A0 ; =SWAP_SHOP_MAIN_MENU_OPTIONS_DEBUG_STRING bl Debug_Print0 ldr r0, _0238B0A4 ; =SWAP_SHOP_WINDOW_PARAMS_1 - ldr r1, _0238B0A8 ; =ov21_0238C9A4 + ldr r1, _0238B0A8 ; =SwapShopPrintCurrentGold bl CreateTextBox mov r2, r4 ldr r2, [r2] @@ -146,14 +146,14 @@ _0238A32C: mov r2, #0 str r4, [sp] bl CreateSimpleMenuFromStringIds - ldr r1, _0238B08C ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r1, _0238B08C ; =SWAP_SHOP_MENU_DATA_PTR ldr r1, [r1] strb r0, [r1, #0x83] b _0238B7B8 _0238A378: - ldr r0, _0238B0B8 ; =ov21_0238CBF8 + ldr r0, _0238B0B8 ; =SWAP_SHOP_TALK_CONTINUE_SWAP_DEBUG_STRING bl Debug_Print0 - bl ov21_0238C920 + bl CloseTextboxAndSimpleMenu mov r0, r4 ldr r1, [r0] mov r2, #0 @@ -178,7 +178,7 @@ _0238A378: bl ShowStringIdInDialogueBox b _0238B7B8 _0238A3E0: - bl ov21_0238C920 + bl CloseTextboxAndSimpleMenu mov r0, r4 ldr r1, [r0] mov r3, #0x21 @@ -217,14 +217,14 @@ _0238A44C: mov r2, #0 str r4, [sp] bl CreateSimpleMenuFromStringIds - ldr r1, _0238B08C ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r1, _0238B08C ; =SWAP_SHOP_MENU_DATA_PTR ldr r1, [r1] strb r0, [r1, #0x83] b _0238B7B8 _0238A478: - ldr r0, _0238B0C8 ; =ov21_0238CC18 + ldr r0, _0238B0C8 ; =SWAP_SHOP_TALK_SUBINFO_DEBUG_STRING bl Debug_Print0 - bl ov21_0238C920 + bl CloseTextboxAndSimpleMenu mov r0, r4 ldr r1, [r0] mov r3, #0x20 @@ -256,7 +256,7 @@ _0238A478: bl ShowStringIdInDialogueBox b _0238B7B8 _0238A4EC: - ldr r0, _0238B0C8 ; =ov21_0238CC18 + ldr r0, _0238B0C8 ; =SWAP_SHOP_TALK_SUBINFO_DEBUG_STRING bl Debug_Print0 mov r0, r4 ldr r2, [r0] @@ -279,9 +279,9 @@ _0238A4EC: bl ShowStringIdInDialogueBox b _0238B7B8 _0238A520: - ldr r0, _0238B0C8 ; =ov21_0238CC18 + ldr r0, _0238B0C8 ; =SWAP_SHOP_TALK_SUBINFO_DEBUG_STRING bl Debug_Print0 - bl ov21_0238C920 + bl CloseTextboxAndSimpleMenu mov r0, r4 ldr r1, [r0] mov r3, #2 @@ -309,9 +309,9 @@ _0238A520: bl ShowStringIdInDialogueBox b _0238B7B8 _0238A594: - ldr r0, _0238B0D8 ; =ov21_0238CC3C + ldr r0, _0238B0D8 ; =SWAP_SHOP_TALK_COME_AGAIN_DEBUG_STRING bl Debug_Print0 - bl ov21_0238C920 + bl CloseTextboxAndSimpleMenu mov r0, r4 ldr r1, [r0] mov r2, #4 @@ -340,7 +340,7 @@ _0238A594: bl ShowStringIdInDialogueBox b _0238B7B8 _0238A5FC: - bl ov21_0238C920 + bl CloseTextboxAndSimpleMenu mov r0, r4 ldr r1, [r0] mov r3, #1 @@ -368,9 +368,9 @@ _0238A5FC: bl ShowStringIdInDialogueBox b _0238B7B8 _0238A668: - ldr r0, _0238B0E0 ; =ov21_0238CC5C + ldr r0, _0238B0E0 ; =SWAP_SHOP_TALK_LACKING_SWAP_ITEMS_DEBUG_STRING bl Debug_Print0 - bl ov21_0238C920 + bl CloseTextboxAndSimpleMenu mov r0, r4 ldr r1, [r0] mov r3, #1 @@ -398,9 +398,9 @@ _0238A668: bl ShowStringIdInDialogueBox b _0238B7B8 _0238A6DC: - ldr r0, _0238B0E8 ; =ov21_0238CC7C + ldr r0, _0238B0E8 ; =SWAP_SHOP_TALK_SWAP_BROKE_DEBUG_STRING bl Debug_Print0 - bl ov21_0238C920 + bl CloseTextboxAndSimpleMenu mov r0, r4 ldr r1, [r0] mov r3, #1 @@ -432,9 +432,9 @@ _0238A6DC: bl ShowStringIdInDialogueBox b _0238B7B8 _0238A750: - ldr r0, _0238B0EC ; =ov21_0238CC9C + ldr r0, _0238B0EC ; =SWAP_SHOP_TALK_SWAP_POOR_DEBUG_STRING bl Debug_Print0 - bl ov21_0238C920 + bl CloseTextboxAndSimpleMenu mov r0, r4 ldr r1, [r0] mov r2, #0x96 @@ -469,9 +469,9 @@ _0238A750: bl ShowStringIdInDialogueBox b _0238B7B8 _0238A7D0: - ldr r0, _0238B0F4 ; =ov21_0238CCC0 + ldr r0, _0238B0F4 ; =SWAP_SHOP_UNK_8_DEBUG_STRING bl Debug_Print0 - bl ov21_0238C920 + bl CloseTextboxAndSimpleMenu mov r0, r4 ldr r1, [r0] mov r3, #0xd @@ -503,14 +503,14 @@ _0238A7D0: bl ShowStringIdInDialogueBox b _0238B7B8 _0238A844: - ldr r0, _0238B0F8 ; =ov21_0238CCE4 + ldr r0, _0238B0F8 ; =SWAP_SHOP_CLOSE_SHOP_DEBUG_STRING bl Debug_Print0 bl ov11_022DC504 b _0238B7B8 _0238A854: - ldr r0, _0238B0FC ; =ov21_0238CD00 + ldr r0, _0238B0FC ; =SWAP_SHOP_TALK_WHAT_ITEMS_DEBUG_STRING bl Debug_Print0 - bl ov21_0238C920 + bl CloseTextboxAndSimpleMenu mov r0, r4 ldr r1, [r0] mov r2, #0xb @@ -545,7 +545,7 @@ _0238A854: bl ShowStringIdInDialogueBox b _0238B7B8 _0238A8D4: - ldr r0, _0238B100 ; =ov21_0238CD24 + ldr r0, _0238B100 ; =SWAP_SHOP_TALK_VALUABLE_SWAP_DEBUG_STRING bl Debug_Print0 mov r0, r4 ldr r1, [r0] @@ -577,7 +577,7 @@ _0238A8D4: bl ShowStringIdInDialogueBox b _0238B7B8 _0238A950: - ldr r0, _0238B108 ; =ov21_0238CD44 + ldr r0, _0238B108 ; =SWAP_SHOP_INIT_SWAP_ITEMS_MENU_DEBUG_STRING bl Debug_Print0 mov r0, r4 ldr r0, [r0] @@ -593,15 +593,15 @@ _0238A950: bl HidePortraitBox b _0238B7B8 _0238A98C: - ldr r0, _0238B10C ; =ov21_0238CD68 + ldr r0, _0238B10C ; =SWAP_SHOP_SWAP_ITEMS_MENU_DEBUG_STRING bl Debug_Print0 bl ov11_0230C910 mov r0, #0 mov r1, r0 - bl ov11_0230B20C + bl SwapShopInventoryManager b _0238B7B8 _0238A9A8: - ldr r0, _0238B110 ; =ov21_0238CD8C + ldr r0, _0238B110 ; =SWAP_SHOP_RETURN_SWAP_ITEMS_MENU_DEBUG_STRING bl Debug_Print0 mov r0, r4 ldr r0, [r0] @@ -618,7 +618,7 @@ _0238A9A8: bl ov11_0230BB98 b _0238B7B8 _0238A9E8: - ldr r0, _0238B114 ; =ov21_0238CDB4 + ldr r0, _0238B114 ; =SWAP_SHOP_SELECT_SWAP_ITEM_OPTIONS_DEBUG_STRING bl Debug_Print0 mov r4, #3 ldr r0, _0238B118 ; =SWAP_SHOP_WINDOW_PARAMS_6 @@ -627,16 +627,16 @@ _0238A9E8: mov r2, #0 str r4, [sp] bl CreateSimpleMenuFromStringIds - ldr r1, _0238B08C ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r1, _0238B08C ; =SWAP_SHOP_MENU_DATA_PTR ldr r1, [r1] strb r0, [r1, #0x83] b _0238B7B8 _0238AA1C: - ldr r0, _0238B124 ; =ov21_0238CDDC + ldr r0, _0238B124 ; =SWAP_SHOP_SWAP_ITEM_GET_INFO_DEBUG_STRING bl Debug_Print0 mov r0, r4 ldr r5, [r0] - ldr r2, _0238B128 ; =ov21_0238CE00 + ldr r2, _0238B128 ; =SWAP_SHOP_ITEM_ZERO_STRING ldrsh r4, [r5, #0xe] ldr r3, _0238B12C ; =0x0000C402 mov r1, #0x400 @@ -651,7 +651,7 @@ _0238AA1C: bl PreprocessString add r0, sp, #0x18 bl InitPreprocessorArgs - ldr r0, _0238B08C ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238B08C ; =SWAP_SHOP_MENU_DATA_PTR add r1, sp, #0x18 ldr r3, [r0] ldr r0, _0238B130 ; =SWAP_SHOP_WINDOW_PARAMS_8 @@ -677,12 +677,12 @@ _0238AA1C: ldr r3, _0238B138 ; =0x0000033E mov r2, #0 bl CreateScrollBoxSingle - ldr r1, _0238B08C ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r1, _0238B08C ; =SWAP_SHOP_MENU_DATA_PTR ldr r1, [r1] strb r0, [r1, #0x85] b _0238B7B8 _0238AAC0: - ldr r0, _0238B13C ; =ov21_0238CE0C + ldr r0, _0238B13C ; =SWAP_SHOP_TALK_CONFIRM_SWAP_DEBUG_STRING bl Debug_Print0 mov r0, r4 ldr r1, [r0] @@ -711,7 +711,7 @@ _0238AAC0: str r2, [r1, #4] ldr r0, [r0] ldrsh r0, [r0, #0xe] - bl ov21_0238B7E0 + bl GetFirstExclusivePrerequisite mov r1, r4 ldr r4, [r1] add r3, r0, #1 @@ -746,7 +746,7 @@ _0238AB90: cmp r0, #3 ldr r1, _0238B094 ; =0x00003008 bne _0238ABC0 - ldr r0, _0238B08C ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238B08C ; =SWAP_SHOP_MENU_DATA_PTR #ifdef JAPAN ldr r2, _0238C6B0 ; =0x0000329B #else @@ -758,7 +758,7 @@ _0238AB90: bl ShowStringIdInDialogueBox b _0238B7B8 _0238ABC0: - ldr r0, _0238B08C ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238B08C ; =SWAP_SHOP_MENU_DATA_PTR ldr r2, _0238B144 ; =0x000003BB ldr r3, [r0] ldrsb r0, [r3, #0x80] @@ -766,13 +766,13 @@ _0238ABC0: bl ShowStringIdInDialogueBox b _0238B7B8 _0238ABDC: - ldr r0, _0238B148 ; =ov21_0238CE34 + ldr r0, _0238B148 ; =SWAP_SHOP_CONFIRM_CHOICE_DEBUG_STRING bl Debug_Print0 mov r1, r4 ldr r2, [r1] mov r3, #0x96 ldr r0, _0238B0A4 ; =SWAP_SHOP_WINDOW_PARAMS_1 - ldr r1, _0238B0A8 ; =ov21_0238C9A4 + ldr r1, _0238B0A8 ; =SwapShopPrintCurrentGold str r3, [r2, #0x54] bl CreateTextBox mov r2, r4 @@ -785,12 +785,12 @@ _0238ABDC: mov r2, #0 str r4, [sp] bl CreateSimpleMenuFromStringIds - ldr r1, _0238B08C ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r1, _0238B08C ; =SWAP_SHOP_MENU_DATA_PTR ldr r1, [r1] strb r0, [r1, #0x83] b _0238B7B8 _0238AC38: - ldr r0, _0238B150 ; =ov21_0238CE4C + ldr r0, _0238B150 ; =SWAP_SHOP_INIT_SCRIPT_ACTION_1_DEBUG_STRING bl Debug_Print0 mov r0, r4 ldr r1, [r0] @@ -808,7 +808,7 @@ _0238AC38: bl HidePortraitBox b _0238B7B8 _0238AC7C: - ldr r0, _0238B154 ; =ov21_0238CE78 + ldr r0, _0238B154 ; =SWAP_SHOP_INIT_SCRIPT_ACTION_2_DEBUG_STRING bl Debug_Print0 mov r0, r4 ldr r1, [r0] @@ -826,7 +826,7 @@ _0238AC7C: bl HidePortraitBox b _0238B7B8 _0238ACC0: - ldr r0, _0238B158 ; =ov21_0238CEA4 + ldr r0, _0238B158 ; =SWAP_SHOP_INIT_SCRIPT_ACTION_3_DEBUG_STRING bl Debug_Print0 mov r0, r4 ldr r1, [r0] @@ -918,7 +918,7 @@ _0238ADB0: ldrsb r0, [r0, #0x81] bl HidePortraitBox _0238ADE4: - ldr r0, _0238B08C ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238B08C ; =SWAP_SHOP_MENU_DATA_PTR ldr r1, [r0] ldrb r0, [r1, #0xc] cmp r0, #0 @@ -953,7 +953,7 @@ _0238AE44: add r3, r3, #0x30 bl ShowStringIdInDialogueBox _0238AE54: - ldr r0, _0238B08C ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238B08C ; =SWAP_SHOP_MENU_DATA_PTR mov r2, #0 ldr r1, [r0] str r2, [r1, #0x28] @@ -963,7 +963,7 @@ _0238AE54: mov r1, r1, lsl #0x18 mov r1, r1, asr #0x18 bl SetPortraitEmotion - ldr r0, _0238B08C ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238B08C ; =SWAP_SHOP_MENU_DATA_PTR ldr r1, [r0] ldrsb r0, [r1, #0x81] add r1, r1, #0xc8 @@ -995,7 +995,7 @@ _0238AE94: bl ShowPortraitInPortraitBox b _0238B7B8 _0238AEF4: - ldr r0, _0238B164 ; =ov21_0238CED0 + ldr r0, _0238B164 ; =SWAP_SHOP_TEXT_PUT_IN_CAULDRON_DEBUG_STRING bl Debug_Print0 mov r0, r4 #ifdef JAPAN @@ -1029,14 +1029,14 @@ _0238AEF4: #ifdef JAPAN mov r0, r4 #else - ldr r0, _0238B08C ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238B08C ; =SWAP_SHOP_MENU_DATA_PTR #endif ldr r0, [r0] ldrsb r0, [r0, #0x81] bl HidePortraitBox b _0238B7B8 _0238AF50: - ldr r0, _0238B16C ; =ov21_0238CEF8 + ldr r0, _0238B16C ; =SWAP_SHOP_DO_SWAP_THEN_TALK_DEBUG_STRING bl Debug_Print0 mvn r0, #0x95 bl AddMoneyCarried @@ -1057,7 +1057,7 @@ _0238AF88: cmp r5, r0 blt _0238AF78 mov r5, #0 - ldr r4, _0238B08C ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r4, _0238B08C ; =SWAP_SHOP_MENU_DATA_PTR b _0238AFB8 _0238AFA4: add r0, r1, r5, lsl #1 @@ -1073,7 +1073,7 @@ _0238AFB8: blt _0238AFA4 bl RemoveEmptyItemsInBag bl sub_0201007C - ldr r0, _0238B08C ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238B08C ; =SWAP_SHOP_MENU_DATA_PTR ldr r0, [r0] ldrsh r0, [r0, #0xe] bl sub_02013150 @@ -1089,12 +1089,12 @@ _0238AFE8: mov sl, r4 mov sb, #1 add r7, sp, #0xc - ldr r6, _0238B08C ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r6, _0238B08C ; =SWAP_SHOP_MENU_DATA_PTR b _0238B05C _0238B018: ldr r0, [r6] ldrsh r0, [r0, #0xe] - bl ov21_0238B7E0 + bl GetFirstExclusivePrerequisite add r2, r4, r0 mov r0, r8 mov r1, r7 @@ -1117,11 +1117,11 @@ _0238B064: bl IsBagFull cmp r0, #0 beq _0238B170 - ldr r0, _0238B08C ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238B08C ; =SWAP_SHOP_MENU_DATA_PTR ldr r0, [r0] add r0, r0, #0xe bl AddBulkItemToStorage - ldr r0, _0238B08C ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238B08C ; =SWAP_SHOP_MENU_DATA_PTR mov r1, #1 b _0238B188 .align 2, 0 @@ -1130,25 +1130,25 @@ _0238B064: #else #define OV21_238A140_OFFSET 0 #endif -_0238B08C: .word OVERLAY21_UNKNOWN_POINTER__NA_238CF40 -_0238B090: .word ov21_0238CBB8 +_0238B08C: .word SWAP_SHOP_MENU_DATA_PTR +_0238B090: .word SWAP_SHOP_TALK_WELCOME_DEBUG_STRING _0238B094: .word 0x00003008 _0238B098: .word 0x000003B2 + OV21_238A140_OFFSET _0238B09C: .word 0x000001EF -_0238B0A0: .word ov21_0238CBD4 +_0238B0A0: .word SWAP_SHOP_MAIN_MENU_OPTIONS_DEBUG_STRING _0238B0A4: .word SWAP_SHOP_WINDOW_PARAMS_1 -_0238B0A8: .word ov21_0238C9A4 +_0238B0A8: .word SwapShopPrintCurrentGold _0238B0AC: .word 0x00300013 _0238B0B0: .word SWAP_SHOP_MAIN_MENU_ITEMS_2 _0238B0B4: .word SWAP_SHOP_WINDOW_PARAMS_5 -_0238B0B8: .word ov21_0238CBF8 +_0238B0B8: .word SWAP_SHOP_TALK_CONTINUE_SWAP_DEBUG_STRING _0238B0BC: .word 0x000003B3 + OV21_238A140_OFFSET #ifdef JAPAN _0238C620: .word 0x000032AF #endif _0238B0C0: .word SWAP_SHOP_WINDOW_PARAMS_7 _0238B0C4: .word SWAP_SHOP_SUBMENU_ITEMS_2 -_0238B0C8: .word ov21_0238CC18 +_0238B0C8: .word SWAP_SHOP_TALK_SUBINFO_DEBUG_STRING _0238B0CC: .word 0x00003018 #ifdef JAPAN _0238C634: .word 0x000032A5 @@ -1156,58 +1156,58 @@ _0238C634: .word 0x000032A5 _0238B0D0: .word 0x000003C5 #endif _0238B0D4: .word 0x000003C7 + OV21_238A140_OFFSET -_0238B0D8: .word ov21_0238CC3C +_0238B0D8: .word SWAP_SHOP_TALK_COME_AGAIN_DEBUG_STRING #ifdef JAPAN _0238C640: .word 0x000032A7 #endif _0238B0DC: .word 0x000003B7 + OV21_238A140_OFFSET -_0238B0E0: .word ov21_0238CC5C +_0238B0E0: .word SWAP_SHOP_TALK_LACKING_SWAP_ITEMS_DEBUG_STRING _0238B0E4: .word 0x000003B6 + OV21_238A140_OFFSET -_0238B0E8: .word ov21_0238CC7C +_0238B0E8: .word SWAP_SHOP_TALK_SWAP_BROKE_DEBUG_STRING #ifdef JAPAN _0238C654: .word 0x00003293 -_0238B0EC: .word ov21_0238CC9C -_0238B0F4: .word ov21_0238CCC0 +_0238B0EC: .word SWAP_SHOP_TALK_SWAP_POOR_DEBUG_STRING +_0238B0F4: .word SWAP_SHOP_UNK_8_DEBUG_STRING _0238C660: .word 0x000032A3 #else -_0238B0EC: .word ov21_0238CC9C +_0238B0EC: .word SWAP_SHOP_TALK_SWAP_POOR_DEBUG_STRING _0238B0F0: .word 0x000003B5 -_0238B0F4: .word ov21_0238CCC0 +_0238B0F4: .word SWAP_SHOP_UNK_8_DEBUG_STRING #endif -_0238B0F8: .word ov21_0238CCE4 -_0238B0FC: .word ov21_0238CD00 +_0238B0F8: .word SWAP_SHOP_CLOSE_SHOP_DEBUG_STRING +_0238B0FC: .word SWAP_SHOP_TALK_WHAT_ITEMS_DEBUG_STRING #ifdef JAPAN _0238C66C: .word 0x00003297 #endif -_0238B100: .word ov21_0238CD24 +_0238B100: .word SWAP_SHOP_TALK_VALUABLE_SWAP_DEBUG_STRING _0238B104: .word 0x000003C2 + OV21_238A140_OFFSET -_0238B108: .word ov21_0238CD44 -_0238B10C: .word ov21_0238CD68 -_0238B110: .word ov21_0238CD8C -_0238B114: .word ov21_0238CDB4 +_0238B108: .word SWAP_SHOP_INIT_SWAP_ITEMS_MENU_DEBUG_STRING +_0238B10C: .word SWAP_SHOP_SWAP_ITEMS_MENU_DEBUG_STRING +_0238B110: .word SWAP_SHOP_RETURN_SWAP_ITEMS_MENU_DEBUG_STRING +_0238B114: .word SWAP_SHOP_SELECT_SWAP_ITEM_OPTIONS_DEBUG_STRING _0238B118: .word SWAP_SHOP_WINDOW_PARAMS_6 _0238B11C: .word 0x00400013 _0238B120: .word SWAP_SHOP_MAIN_MENU_ITEMS_1 -_0238B124: .word ov21_0238CDDC -_0238B128: .word ov21_0238CE00 +_0238B124: .word SWAP_SHOP_SWAP_ITEM_GET_INFO_DEBUG_STRING +_0238B128: .word SWAP_SHOP_ITEM_ZERO_STRING _0238B12C: .word 0x0000C402 _0238B130: .word SWAP_SHOP_WINDOW_PARAMS_8 _0238B134: .word 0x00001013 #ifdef JAPAN _0238B138: .word 0x00003203 -_0238B13C: .word ov21_0238CE0C +_0238B13C: .word SWAP_SHOP_TALK_CONFIRM_SWAP_DEBUG_STRING _0238C6B0: .word 0x0000329B #else _0238B138: .word 0x0000033E -_0238B13C: .word ov21_0238CE0C +_0238B13C: .word SWAP_SHOP_TALK_CONFIRM_SWAP_DEBUG_STRING _0238B140: .word 0x000003BD #endif _0238B144: .word 0x000003BB + OV21_238A140_OFFSET -_0238B148: .word ov21_0238CE34 +_0238B148: .word SWAP_SHOP_CONFIRM_CHOICE_DEBUG_STRING _0238B14C: .word SWAP_SHOP_MENU_ITEMS_CONFIRM -_0238B150: .word ov21_0238CE4C -_0238B154: .word ov21_0238CE78 -_0238B158: .word ov21_0238CEA4 +_0238B150: .word SWAP_SHOP_INIT_SCRIPT_ACTION_1_DEBUG_STRING +_0238B154: .word SWAP_SHOP_INIT_SCRIPT_ACTION_2_DEBUG_STRING +_0238B158: .word SWAP_SHOP_INIT_SCRIPT_ACTION_3_DEBUG_STRING #ifdef JAPAN _0238C6CC: .word 0x000032A2 _0238B15C: .word 0x000032A0 @@ -1217,24 +1217,24 @@ _0238B160: .word 0x00003299 _0238B15C: .word 0x000003C1 _0238B160: .word 0x000003BA #endif -_0238B164: .word ov21_0238CED0 +_0238B164: .word SWAP_SHOP_TEXT_PUT_IN_CAULDRON_DEBUG_STRING _0238B168: .word 0x00001311 #ifdef JAPAN _0238C6E4: .word 0x0000329E #endif -_0238B16C: .word ov21_0238CEF8 +_0238B16C: .word SWAP_SHOP_DO_SWAP_THEN_TALK_DEBUG_STRING _0238B170: - ldr r0, _0238B08C ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238B08C ; =SWAP_SHOP_MENU_DATA_PTR ldr r0, [r0] add r0, r0, #0xe bl SpecialProcAddItemToBag - ldr r0, _0238B08C ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238B08C ; =SWAP_SHOP_MENU_DATA_PTR mov r1, #0 _0238B188: ldr r0, [r0] mov r2, #0x12 strb r1, [r0, #0xc] - ldr r0, _0238B08C ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238B08C ; =SWAP_SHOP_MENU_DATA_PTR ldr r1, [r0] str r2, [r1, #4] ldr r2, [r0] @@ -1249,12 +1249,12 @@ _0238B188: mov r1, r1, lsl #0x18 mov r1, r1, asr #0x18 bl SetPortraitEmotion - ldr r0, _0238B08C ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238B08C ; =SWAP_SHOP_MENU_DATA_PTR ldr r1, [r0] ldrsb r0, [r1, #0x81] add r1, r1, #0xc8 bl ShowPortraitInPortraitBox - ldr r0, _0238B08C ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238B08C ; =SWAP_SHOP_MENU_DATA_PTR ldr r1, _0238B0CC ; =0x00003018 ldr r3, [r0] ldr r2, _0238B7C0 ; =0x000003BE @@ -1295,7 +1295,7 @@ _0238B260: mov r2, #0 str r4, [sp] bl CreateSimpleMenuFromStringIds - ldr r1, _0238B08C ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r1, _0238B08C ; =SWAP_SHOP_MENU_DATA_PTR ldr r1, [r1] strb r0, [r1, #0x83] b _0238B7B8 @@ -1398,7 +1398,7 @@ _0238B3B8: bl GetTeamMember ldrsh r1, [r0, #4] mov r0, #2 - bl ov11_0230B20C + bl SwapShopInventoryManager b _0238B7B8 _0238B408: ldr r0, _0238B118 ; =SWAP_SHOP_WINDOW_PARAMS_6 @@ -1408,13 +1408,13 @@ _0238B408: mov r2, #0 str r4, [sp] bl CreateSimpleMenuFromStringIds - ldr r1, _0238B08C ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r1, _0238B08C ; =SWAP_SHOP_MENU_DATA_PTR ldr r1, [r1] strb r0, [r1, #0x83] b _0238B7B8 _0238B434: ldrsh r1, [r0, #0xe] - ldr r2, _0238B128 ; =ov21_0238CE00 + ldr r2, _0238B128 ; =SWAP_SHOP_ITEM_ZERO_STRING ldr r3, _0238B12C ; =0x0000C402 str r1, [r0, #0x40] ldr r5, [r4] @@ -1428,7 +1428,7 @@ _0238B434: bl PreprocessString add r0, sp, #0xe0 bl InitPreprocessorArgs - ldr r0, _0238B08C ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238B08C ; =SWAP_SHOP_MENU_DATA_PTR add r1, sp, #0xe0 ldr r4, [r0] ldr r0, _0238B130 ; =SWAP_SHOP_WINDOW_PARAMS_8 @@ -1455,12 +1455,12 @@ _0238B434: mov r2, #0 str r4, [sp, #8] bl CreateScrollBoxSingle - ldr r1, _0238B08C ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r1, _0238B08C ; =SWAP_SHOP_MENU_DATA_PTR ldr r1, [r1] strb r0, [r1, #0x85] b _0238B7B8 _0238B4CC: - bl ov21_0238C920 + bl CloseTextboxAndSimpleMenu mov r0, r4 ldr r1, [r0] mov r3, #0x36 @@ -1492,7 +1492,7 @@ _0238B4CC: bl ShowStringIdInDialogueBox b _0238B7B8 _0238B538: - bl ov21_0238C920 + bl CloseTextboxAndSimpleMenu mov r0, r4 ldr r1, [r0] mov r3, #0x37 @@ -1531,7 +1531,7 @@ _0238B5A4: mov r2, #0 str r4, [sp] bl CreateSimpleMenuFromStringIds - ldr r1, _0238B08C ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r1, _0238B08C ; =SWAP_SHOP_MENU_DATA_PTR ldr r1, [r1] strb r0, [r1, #0x83] b _0238B7B8 @@ -1584,13 +1584,13 @@ _0238B640: ldr r1, [r1] mov r0, #3 ldrh r1, [r1, #0xd8] - bl ov11_0230B20C + bl SwapShopInventoryManager b _0238B7B8 _0238B684: bl ov11_0230BB98 b _0238B7B8 _0238B68C: - bl ov21_0238C920 + bl CloseTextboxAndSimpleMenu mov r0, r4 ldr r1, [r0] mov r3, #1 @@ -1629,13 +1629,13 @@ _0238B6F8: mov r2, #0 str r4, [sp] bl CreateSimpleMenuFromStringIds - ldr r1, _0238B08C ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r1, _0238B08C ; =SWAP_SHOP_MENU_DATA_PTR ldr r1, [r1] strb r0, [r1, #0x83] b _0238B7B8 _0238B724: ldrsh r1, [r0, #0x18] - ldr r2, _0238B128 ; =ov21_0238CE00 + ldr r2, _0238B128 ; =SWAP_SHOP_ITEM_ZERO_STRING ldr r3, _0238B12C ; =0x0000C402 str r1, [r0, #0x40] ldr r5, [r4] @@ -1649,7 +1649,7 @@ _0238B724: bl PreprocessString add r0, sp, #0x130 bl InitPreprocessorArgs - ldr r0, _0238B08C ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238B08C ; =SWAP_SHOP_MENU_DATA_PTR add r1, sp, #0x130 ldr r4, [r0] ldr r0, _0238B130 ; =SWAP_SHOP_WINDOW_PARAMS_8 @@ -1676,7 +1676,7 @@ _0238B724: mov r2, #0 str r4, [sp, #8] bl CreateScrollBoxSingle - ldr r1, _0238B08C ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r1, _0238B08C ; =SWAP_SHOP_MENU_DATA_PTR ldr r1, [r1] strb r0, [r1, #0x85] _0238B7B8: @@ -1695,10 +1695,10 @@ _0238CD54: .word 0x000032AB _0238B7D8: .word 0x000003B9 _0238B7DC: .word 0x000003C9 #endif - arm_func_end ov21_0238A140 + arm_func_end SwapShopDialogueManager - arm_func_start ov21_0238B7E0 -ov21_0238B7E0: ; 0x0238B7E0 + arm_func_start GetFirstExclusivePrerequisite +GetFirstExclusivePrerequisite: ; 0x0238B7E0 cmp r0, #0x1bc blt _0238B7F8 ldr r1, _0238B834 ; =0x000001C3 @@ -1728,15 +1728,15 @@ _0238B838: .word 0x000002FE _0238B83C: .word 0x000001C7 _0238B840: .word 0x00000336 _0238B844: .word 0xFFFFFE06 - arm_func_end ov21_0238B7E0 + arm_func_end GetFirstExclusivePrerequisite - arm_func_start ov21_0238B848 -ov21_0238B848: ; 0x0238B848 + arm_func_start SwapShopEntryPoint +SwapShopEntryPoint: ; 0x0238B848 stmdb sp!, {r3, lr} ldr r0, _0238B8F0 ; =0x0000093C mov r1, #6 bl MemAlloc - ldr r1, _0238B8F4 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r1, _0238B8F4 ; =SWAP_SHOP_MENU_DATA_PTR mov r3, #0 str r0, [r1] str r3, [r0, #0x1c] @@ -1756,7 +1756,7 @@ ov21_0238B848: ; 0x0238B848 ldr r0, [r1] add r0, r0, #0x30 bl InitPreprocessorArgs - ldr r0, _0238B8F4 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238B8F4 ; =SWAP_SHOP_MENU_DATA_PTR ldr r3, _0238B8F8 ; =0x000001EF ldr r2, [r0] mov r1, #0 @@ -1766,41 +1766,41 @@ ov21_0238B848: ; 0x0238B848 ldr r0, [r0] str r1, [r0, #8] bl ov11_0230C910 - ldr r0, _0238B8F4 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238B8F4 ; =SWAP_SHOP_MENU_DATA_PTR mov r2, #0 ldr r1, [r0] mov r0, #0x41 str r2, [r1, #0x28] - bl ov21_0238A140 + bl SwapShopDialogueManager mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 _0238B8F0: .word 0x0000093C -_0238B8F4: .word OVERLAY21_UNKNOWN_POINTER__NA_238CF40 +_0238B8F4: .word SWAP_SHOP_MENU_DATA_PTR _0238B8F8: .word 0x000001EF - arm_func_end ov21_0238B848 + arm_func_end SwapShopEntryPoint - arm_func_start ov21_0238B8FC -ov21_0238B8FC: ; 0x0238B8FC + arm_func_start SwapShopDestructor +SwapShopDestructor: ; 0x0238B8FC stmdb sp!, {r3, lr} - ldr r0, _0238B924 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238B924 ; =SWAP_SHOP_MENU_DATA_PTR ldr r0, [r0] cmp r0, #0 ldmeqia sp!, {r3, pc} bl MemFree - ldr r0, _0238B924 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238B924 ; =SWAP_SHOP_MENU_DATA_PTR mov r1, #0 str r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 -_0238B924: .word OVERLAY21_UNKNOWN_POINTER__NA_238CF40 - arm_func_end ov21_0238B8FC +_0238B924: .word SWAP_SHOP_MENU_DATA_PTR + arm_func_end SwapShopDestructor - arm_func_start ov21_0238B928 -ov21_0238B928: ; 0x0238B928 + arm_func_start SwapShopMainManager +SwapShopMainManager: ; 0x0238B928 stmdb sp!, {lr} sub sp, sp, #0xc - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR ldr r3, [r0] ldr r1, [r3, #0x2c] cmp r1, #8 @@ -1901,8 +1901,8 @@ _0238BA9C: cmp r0, #0 bne _0238C7E4 mov r0, #0x1b - bl ov21_0238A140 - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + bl SwapShopDialogueManager + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR ldr r0, [r0] ldrsb r0, [r0, #0x80] bl ShowDialogueBox @@ -1913,7 +1913,7 @@ _0238BAC8: bne _0238C7E4 bl ov11_02310C2C mov r0, #0xc - bl ov21_0238A140 + bl SwapShopDialogueManager b _0238C7E4 _0238BAE4: bl ov11_0230BA64 @@ -1923,7 +1923,7 @@ _0238BAE4: beq _0238BB28 b _0238BB44 _0238BAFC: - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR mov r2, #0 ldr r1, [r0] mov r3, #0x1f @@ -1935,12 +1935,12 @@ _0238BAFC: str r1, [r0, #4] b _0238C7E4 _0238BB28: - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR ldr r0, [r0] add r0, r0, #0xe bl ov11_0230B8C0 mov r0, #0xe - bl ov21_0238A140 + bl SwapShopDialogueManager b _0238C7E4 _0238BB44: bl ov11_0230BD28 @@ -1955,12 +1955,12 @@ _0238BB44: ldr r0, _0238C8D4 ; =0x00003F02 mov r1, #0x100 bl sub_02017C74 - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR ldr r0, [r0] add r0, r0, #0xe bl ov11_0230B8C0 - bl ov21_0238C920 - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + bl CloseTextboxAndSimpleMenu + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR mov r3, #0xf ldr r2, [r0] mov r1, #0x43 @@ -1980,7 +1980,7 @@ _0238BBA8: bl GetMoneyCarried cmp r0, #0 bne _0238BC00 - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR mov r2, #0 ldr r1, [r0] mov r3, #0x1f @@ -1995,7 +1995,7 @@ _0238BC00: bl GetMoneyCarried cmp r0, #0x96 bge _0238BC38 - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR mov r2, #0 ldr r1, [r0] mov r3, #0x1f @@ -2010,7 +2010,7 @@ _0238BC38: bl ov11_0230B914 cmp r0, #0 bne _0238BC78 - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR mov ip, #0 ldr r1, [r0] mov r3, #0x1f @@ -2033,7 +2033,7 @@ _0238BC78: add r1, r2, r1 cmp r1, r0 bge _0238BCC8 - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR mov r2, #0 ldr r1, [r0] mov r3, #0x1f @@ -2046,7 +2046,7 @@ _0238BC78: b _0238C7E4 _0238BCC8: bl ov11_0230B958 - ldr r1, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r1, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR mov ip, #0 ldr r2, [r1] mov r3, #0x1f @@ -2060,8 +2060,8 @@ _0238BCC8: str r2, [r0, #4] b _0238C7E4 _0238BD00: - bl ov21_0238C920 - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + bl CloseTextboxAndSimpleMenu + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR mov r3, #0xf ldr r2, [r0] mov r1, #0x43 @@ -2070,9 +2070,9 @@ _0238BD00: str r1, [r0] b _0238C7E4 _0238BD24: - bl ov21_0238C920 + bl CloseTextboxAndSimpleMenu bl ov11_0230BCF8 - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR mov r1, #0xd ldr r0, [r0] str r1, [r0] @@ -2082,16 +2082,16 @@ _0238BD40: bl IsScrollBoxActive cmp r0, #0 bne _0238C7E4 - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR ldr r0, [r0] ldrsb r0, [r0, #0x85] bl CloseScrollBox - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR mvn r2, #1 ldr r1, [r0] mov r0, #0xd strb r2, [r1, #0x85] - bl ov21_0238A140 + bl SwapShopDialogueManager b _0238C7E4 _0238BD7C: ldrsb r0, [r3, #0x83] @@ -2104,15 +2104,15 @@ _0238BD7C: beq _0238BDB8 b _0238C7E4 _0238BDA0: - bl ov21_0238C920 + bl CloseTextboxAndSimpleMenu mov r0, #0x11 - bl ov21_0238A140 + bl SwapShopDialogueManager ldr r0, _0238C8D8 ; =0x00001308 bl PlaySeByIdVolumeWrapper b _0238C7E4 _0238BDB8: - bl ov21_0238C920 - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + bl CloseTextboxAndSimpleMenu + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR mov r3, #0x1a ldr r1, [r0] mov r2, #0xb @@ -2123,7 +2123,7 @@ _0238BDB8: ldrsb r0, [r1, #0x81] add r1, r1, #0xc8 bl ShowPortraitInPortraitBox - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR ldr r1, _0238C8DC ; =0x00003018 ldr r3, [r0] #ifdef JAPAN @@ -2143,18 +2143,18 @@ _0238BE10: bl IsDialogueBoxActive cmp r0, #0 bne _0238C7E4 - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR ldr r0, [r0] ldrsb r0, [r0, #0x80] bl ShowDialogueBox - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR mov r2, #0x44 ldr r1, [r0] str r2, [r1] ldr r0, [r0] ldrsb r0, [r0, #0x80] bl sub_0202F2C4 - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR ldr r0, [r0] ldrsb r0, [r0, #0x81] bl HidePortraitBox @@ -2163,7 +2163,7 @@ _0238BE60: ldrsb r0, [r3, #0x83] bl GetSimpleMenuResult cmp r0, #1 - ldrne r1, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldrne r1, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR ldrne r1, [r1] strne r0, [r1, #0x1c] cmp r0, #8 @@ -2182,31 +2182,31 @@ _0238BE84: ; jump table _0238BEA8: ldr r0, _0238C8E4 ; =OVERLAY21_JP_STRING bl Debug_Print0 - bl ov21_0238C920 + bl CloseTextboxAndSimpleMenu bl ov11_0230B694 cmp r0, #0 bne _0238BECC mov r0, #0x38 - bl ov21_0238A140 + bl SwapShopDialogueManager b _0238C7E4 _0238BECC: mov r0, #9 - bl ov21_0238A140 + bl SwapShopDialogueManager b _0238C7E4 _0238BED8: - bl ov21_0238C920 + bl CloseTextboxAndSimpleMenu mov r0, #0x24 - bl ov21_0238A140 + bl SwapShopDialogueManager b _0238C7E4 _0238BEE8: - bl ov21_0238C920 + bl CloseTextboxAndSimpleMenu mov r0, #2 - bl ov21_0238A140 + bl SwapShopDialogueManager b _0238C7E4 _0238BEF8: - bl ov21_0238C920 + bl CloseTextboxAndSimpleMenu mov r0, #3 - bl ov21_0238A140 + bl SwapShopDialogueManager b _0238C7E4 _0238BF08: ldr r0, [r3, #8] @@ -2219,24 +2219,24 @@ _0238BF20: bl ov11_0230D220 cmp r0, #0 bne _0238C7E4 - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR ldr r1, [r0] ldr r0, [r1, #8] add r0, r0, #1 str r0, [r1, #8] bl ov11_0230D92C - bl ov21_0238C920 + bl CloseTextboxAndSimpleMenu bl ov11_0230B9BC b _0238C7E4 _0238BF50: bl ov11_0230D220 cmp r0, #0 bne _0238C7E4 - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR ldr r0, [r0] ldr r0, [r0, #4] - bl ov21_0238A140 - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + bl SwapShopDialogueManager + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR mov r1, #0 ldr r0, [r0] str r1, [r0, #8] @@ -2257,11 +2257,11 @@ _0238BF80: mov r0, #0 bl PlaySeVolumeWrapper bl sub_0203AAB0 - ldr r1, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r1, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR ldr r1, [r1] str r0, [r1, #0x914] bl sub_0203A5F0 - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR mov r3, #0x27 ldr r2, [r0] mov r1, #0x28 @@ -2274,14 +2274,14 @@ _0238BFEC: mvn r1, #0 cmp r0, r1 beq _0238C014 - ldr r1, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r1, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR ldr r1, [r1] str r0, [r1, #0x914] mov r0, #0x26 - bl ov21_0238A140 + bl SwapShopDialogueManager b _0238C7E4 _0238C014: - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR mov r3, #0x27 ldr r2, [r0] mov r1, #1 @@ -2309,8 +2309,8 @@ _0238C048: ; jump table b _0238C0C0 ; case 10 b _0238C0E4 ; case 11 _0238C078: - bl ov21_0238C920 - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + bl CloseTextboxAndSimpleMenu + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR mov r3, #0x27 ldr r2, [r0] mov r1, #0x30 @@ -2319,8 +2319,8 @@ _0238C078: str r1, [r0, #4] b _0238C7E4 _0238C09C: - bl ov21_0238C920 - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + bl CloseTextboxAndSimpleMenu + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR mov r3, #0x27 ldr r2, [r0] mov r1, #0x28 @@ -2329,8 +2329,8 @@ _0238C09C: str r1, [r0, #4] b _0238C7E4 _0238C0C0: - bl ov21_0238C920 - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + bl CloseTextboxAndSimpleMenu + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR mov r3, #0x27 ldr r2, [r0] mov r1, #0x2a @@ -2339,8 +2339,8 @@ _0238C0C0: str r1, [r0, #4] b _0238C7E4 _0238C0E4: - bl ov21_0238C920 - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + bl CloseTextboxAndSimpleMenu + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR mov r3, #0x27 ldr r2, [r0] mov r1, #0x2e @@ -2349,8 +2349,8 @@ _0238C0E4: str r1, [r0, #4] b _0238C7E4 _0238C108: - bl ov21_0238C920 - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + bl CloseTextboxAndSimpleMenu + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR mov r1, #0x25 ldr r0, [r0] str r1, [r0] @@ -2360,7 +2360,7 @@ _0238C124: bl sub_0203F398 cmp r0, #1 bne _0238C7E4 - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR mov r3, #0x29 ldr r2, [r0] mov r1, #0x25 @@ -2372,7 +2372,7 @@ _0238C150: bl sub_020407EC cmp r0, #1 bne _0238C17C - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR mov r3, #0x2b ldr r2, [r0] mov r1, #0x25 @@ -2385,7 +2385,7 @@ _0238C17C: cmpne r0, #7 bne _0238C7E4 bl sub_0203FD38 - ldr r2, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r2, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR mov r1, r0 ldr r0, [r2] mov r2, #0x20 @@ -2393,7 +2393,7 @@ _0238C17C: add r0, r0, #0x900 bl MemcpySimple bl sub_02041094 - ldr r2, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r2, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR mov ip, #0x2b ldr r1, [r2] mov r3, #0x2c @@ -2408,7 +2408,7 @@ _0238C1D8: bl sub_02041A18 cmp r0, #1 bne _0238C7E4 - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR mov r3, #0x2d ldr r2, [r0] mov r1, #0x2a @@ -2420,7 +2420,7 @@ _0238C204: bl sub_02041B7C cmp r0, #1 bne _0238C7E4 - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR mov r3, #0x2f ldr r2, [r0] mov r1, #0x25 @@ -2436,7 +2436,7 @@ _0238C230: beq _0238C268 b _0238C284 _0238C248: - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR mov r3, #0x32 ldr r2, [r0] mov r1, #0x35 @@ -2445,12 +2445,12 @@ _0238C248: str r1, [r0, #4] b _0238C7E4 _0238C268: - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR ldr r0, [r0] add r0, r0, #0xe bl ov11_0230B8C0 mov r0, #0x33 - bl ov21_0238A140 + bl SwapShopDialogueManager b _0238C7E4 _0238C284: bl ov11_0230BD28 @@ -2465,12 +2465,12 @@ _0238C284: ldr r0, _0238C8D4 ; =0x00003F02 mov r1, #0x100 bl sub_02017C74 - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR ldr r0, [r0] add r0, r0, #0xe bl ov11_0230B8C0 - bl ov21_0238C920 - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + bl CloseTextboxAndSimpleMenu + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR mov r3, #0x34 ldr r2, [r0] mov r1, #0x32 @@ -2485,8 +2485,8 @@ _0238C2E8: beq _0238C324 cmp r0, #6 bne _0238C7E4 - bl ov21_0238C920 - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + bl CloseTextboxAndSimpleMenu + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR mov r3, #0x32 ldr r2, [r0] mov r1, #0x34 @@ -2495,8 +2495,8 @@ _0238C2E8: str r1, [r0, #4] b _0238C7E4 _0238C324: - bl ov21_0238C920 - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + bl CloseTextboxAndSimpleMenu + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR mov r1, #0x31 ldr r0, [r0] str r1, [r0] @@ -2507,16 +2507,16 @@ _0238C340: bl IsScrollBoxActive cmp r0, #0 bne _0238C7E4 - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR ldr r0, [r0] ldrsb r0, [r0, #0x85] bl CloseScrollBox - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR mvn r2, #1 ldr r1, [r0] mov r0, #0x31 strb r2, [r1, #0x85] - bl ov21_0238A140 + bl SwapShopDialogueManager b _0238C7E4 _0238C37C: ldrsb r0, [r3, #0x83] @@ -2529,14 +2529,14 @@ _0238C37C: beq _0238C3B0 b _0238C7E4 _0238C3A0: - bl ov21_0238C920 + bl CloseTextboxAndSimpleMenu mov r0, #0x24 - bl ov21_0238A140 + bl SwapShopDialogueManager b _0238C7E4 _0238C3B0: - bl ov21_0238C920 + bl CloseTextboxAndSimpleMenu mov r0, #1 - bl ov21_0238A140 + bl SwapShopDialogueManager b _0238C7E4 _0238C3C0: ldrsb r0, [r3, #0x83] @@ -2556,19 +2556,19 @@ _0238C3F0: beq _0238C40C b _0238C7E4 _0238C3FC: - bl ov21_0238C920 + bl CloseTextboxAndSimpleMenu mov r0, #0x22 - bl ov21_0238A140 + bl SwapShopDialogueManager b _0238C7E4 _0238C40C: - bl ov21_0238C920 + bl CloseTextboxAndSimpleMenu mov r0, #0x23 - bl ov21_0238A140 + bl SwapShopDialogueManager b _0238C7E4 _0238C41C: - bl ov21_0238C920 + bl CloseTextboxAndSimpleMenu mov r0, #1 - bl ov21_0238A140 + bl SwapShopDialogueManager b _0238C7E4 _0238C42C: bl ov11_0230BA64 @@ -2578,7 +2578,7 @@ _0238C42C: beq _0238C464 b _0238C4EC _0238C444: - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR mov r3, #0x3c ldr r2, [r0] mov r1, #0x40 @@ -2588,25 +2588,25 @@ _0238C444: b _0238C7E4 _0238C464: bl ov11_0230B874 - ldr r1, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r1, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR ldr r1, [r1] ldrh r1, [r1, #0xd8] cmp r0, r1 bge _0238C4A0 mov r0, #0 bl PlaySeVolumeWrapper - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR ldr r0, [r0] add r0, r0, #0x18 bl ov11_0230B8C0 mov r0, #0x3e - bl ov21_0238A140 + bl SwapShopDialogueManager b _0238C7E4 _0238C4A0: bne _0238C7E4 mov r0, #0 bl PlaySeVolumeWrapper - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR ldr r2, [r0] add r3, r2, #0x42 add r0, r2, #0xda @@ -2614,7 +2614,7 @@ _0238C4A0: add r2, r2, #0x140 add r3, r3, #0x100 bl ov11_0230C118 - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR mov r3, #0x3c ldr r2, [r0] mov r1, #0x10 @@ -2635,12 +2635,12 @@ _0238C4EC: ldr r0, _0238C8D4 ; =0x00003F02 mov r1, #0x100 bl sub_02017C74 - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR ldr r0, [r0] add r0, r0, #0x18 bl ov11_0230B8C0 - bl ov21_0238C920 - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + bl CloseTextboxAndSimpleMenu + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR mov r3, #0x3f ldr r2, [r0] mov r1, #0x3d @@ -2655,8 +2655,8 @@ _0238C550: beq _0238C58C cmp r0, #6 bne _0238C7E4 - bl ov21_0238C920 - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + bl CloseTextboxAndSimpleMenu + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR mov r3, #0x3d ldr r2, [r0] mov r1, #0x3f @@ -2665,8 +2665,8 @@ _0238C550: str r1, [r0, #4] b _0238C7E4 _0238C58C: - bl ov21_0238C920 - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + bl CloseTextboxAndSimpleMenu + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR mov r1, #0x3a ldr r0, [r0] str r1, [r0] @@ -2677,16 +2677,16 @@ _0238C5A8: bl IsScrollBoxActive cmp r0, #0 bne _0238C7E4 - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR ldr r0, [r0] ldrsb r0, [r0, #0x85] bl CloseScrollBox - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR mvn r2, #1 ldr r1, [r0] mov r0, #0x3b strb r2, [r1, #0x85] - bl ov21_0238A140 + bl SwapShopDialogueManager b _0238C7E4 _0238C5E4: ldr r1, [r3, #8] @@ -2734,7 +2734,7 @@ _0238C674: b _0238C7E4 _0238C67C: bl sub_0203F990 - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR mvn r1, #1 ldr r0, [r0] strb r1, [r0, #0x85] @@ -2743,22 +2743,22 @@ _0238C694: ldr r0, [r1, #0x914] bl sub_0203FD80 bl sub_020407C0 - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR ldr r0, [r0] ldrsb r0, [r0, #0x82] bl CloseAdvancedTextBox - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR mvn r1, #1 ldr r0, [r0] strb r1, [r0, #0x82] b _0238C7E4 _0238C6C4: bl sub_02041A00 - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR ldr r0, [r0] ldrsb r0, [r0, #0x85] bl CloseScrollBox - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR mvn r1, #1 ldr r0, [r0] strb r1, [r0, #0x85] @@ -2775,8 +2775,8 @@ _0238C700: b _0238C7E4 _0238C708: ldr r0, [r1, #4] - bl ov21_0238A140 - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + bl SwapShopDialogueManager + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR mov r1, #0 ldr r0, [r0] str r1, [r0, #8] @@ -2785,7 +2785,7 @@ _0238C724: bl ov11_0230D220 cmp r0, #0 bne _0238C7E4 - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR ldr r2, [r0] ldr r1, [r2, #8] add r1, r1, #1 @@ -2795,12 +2795,12 @@ _0238C724: cmp r0, #1 bne _0238C7E4 mov r0, #0x42 - bl ov21_0238A140 + bl SwapShopDialogueManager mvn r0, #0 mov r1, #0 bl InitRandomNpcJobs bl ov11_0230D92C - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR mov r2, #0 ldr r1, [r0] str r2, [r1, #4] @@ -2811,45 +2811,45 @@ _0238C788: bl ov11_0230D220 cmp r0, #0 bne _0238C7E4 - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR ldr r0, [r0] ldr r0, [r0, #4] - bl ov21_0238A140 + bl SwapShopDialogueManager b _0238C7E4 _0238C7A8: ldr r0, [r3, #4] - bl ov21_0238A140 + bl SwapShopDialogueManager b _0238C7E4 _0238C7B4: ldrsb r0, [r3, #0x80] bl IsDialogueBoxActive cmp r0, #0 bne _0238C7E4 - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR ldr r0, [r0] ldrsb r0, [r0, #0x80] bl ShowDialogueBox - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR ldr r0, [r0] ldr r0, [r0, #4] - bl ov21_0238A140 + bl SwapShopDialogueManager _0238C7E4: mov r0, #0 _0238C7E8: cmp r0, #3 bne _0238C914 - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR mov r2, #2 ldr r1, [r0] str r2, [r1, #0x2c] ldr r0, [r0] ldrsb r0, [r0, #0x80] bl sub_0202F2C4 - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR ldr r0, [r0] ldrsb r0, [r0, #0x81] bl HidePortraitBox - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR ldr r0, [r0] ldrsb r0, [r0, #0x80] bl sub_0202836C @@ -2860,7 +2860,7 @@ _0238C830: ldr r0, [r0] ldrsb r0, [r0, #0x80] bl CloseDialogueBox - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR ldr r0, [r0] ldrsb r0, [r0, #0x81] bl ClosePortraitBox @@ -2871,7 +2871,7 @@ _0238C858: beq _0238C914 mov r0, #1 bl ov11_022E6E8C - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR mov r1, #4 ldr r0, [r0] str r1, [r0, #0x2c] @@ -2882,7 +2882,7 @@ _0238C880: beq _0238C914 mov r0, #2 bl ov11_022E6E8C - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR mov r1, #4 ldr r0, [r0] str r1, [r0, #0x2c] @@ -2893,13 +2893,13 @@ _0238C8A8: beq _0238C914 mov r0, #3 bl ov11_022E6E8C - ldr r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR mov r1, #4 ldr r0, [r0] str r1, [r0, #0x2c] b _0238C914 .align 2, 0 -_0238C8D0: .word OVERLAY21_UNKNOWN_POINTER__NA_238CF40 +_0238C8D0: .word SWAP_SHOP_MENU_DATA_PTR _0238C8D4: .word 0x00003F02 _0238C8D8: .word 0x00001308 _0238C8DC: .word 0x00003018 @@ -2910,7 +2910,7 @@ _0238C8E4: .word OVERLAY21_JP_STRING _0238C8E8: bl ov11_022E6EC8 cmp r0, #0 - ldrne r0, _0238C8D0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldrne r0, _0238C8D0 ; =SWAP_SHOP_MENU_DATA_PTR movne r1, #1 ldrne r0, [r0] strne r1, [r0, #0x2c] @@ -2925,49 +2925,49 @@ _0238C914: _0238C918: add sp, sp, #0xc ldmia sp!, {pc} - arm_func_end ov21_0238B928 + arm_func_end SwapShopMainManager - arm_func_start ov21_0238C920 -ov21_0238C920: ; 0x0238C920 + arm_func_start CloseTextboxAndSimpleMenu +CloseTextboxAndSimpleMenu: ; 0x0238C920 stmdb sp!, {r3, lr} - ldr r0, _0238C9A0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C9A0 ; =SWAP_SHOP_MENU_DATA_PTR mvn r1, #1 ldr r0, [r0] ldrsb r0, [r0, #0x84] cmp r0, r1 beq _0238C960 bl sub_0202836C - ldr r0, _0238C9A0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C9A0 ; =SWAP_SHOP_MENU_DATA_PTR ldr r0, [r0] ldrsb r0, [r0, #0x84] bl CloseTextBox - ldr r0, _0238C9A0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C9A0 ; =SWAP_SHOP_MENU_DATA_PTR mvn r1, #1 ldr r0, [r0] strb r1, [r0, #0x84] _0238C960: - ldr r0, _0238C9A0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C9A0 ; =SWAP_SHOP_MENU_DATA_PTR mvn r1, #1 ldr r0, [r0] ldrsb r0, [r0, #0x83] cmp r0, r1 ldmeqia sp!, {r3, pc} bl sub_0202836C - ldr r0, _0238C9A0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C9A0 ; =SWAP_SHOP_MENU_DATA_PTR ldr r0, [r0] ldrsb r0, [r0, #0x83] bl CloseSimpleMenu - ldr r0, _0238C9A0 ; =OVERLAY21_UNKNOWN_POINTER__NA_238CF40 + ldr r0, _0238C9A0 ; =SWAP_SHOP_MENU_DATA_PTR mvn r1, #1 ldr r0, [r0] strb r1, [r0, #0x83] ldmia sp!, {r3, pc} .align 2, 0 -_0238C9A0: .word OVERLAY21_UNKNOWN_POINTER__NA_238CF40 - arm_func_end ov21_0238C920 +_0238C9A0: .word SWAP_SHOP_MENU_DATA_PTR + arm_func_end CloseTextboxAndSimpleMenu - arm_func_start ov21_0238C9A4 -ov21_0238C9A4: ; 0x0238C9A4 + arm_func_start SwapShopPrintCurrentGold +SwapShopPrintCurrentGold: ; 0x0238C9A4 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x54 sub sp, sp, #0x400 @@ -2977,7 +2977,7 @@ ov21_0238C9A4: ; 0x0238C9A4 add ip, sp, #0x400 str r0, [sp, #0x428] add ip, ip, #4 - ldr r2, _0238CA1C ; =ov21_0238CF24 + ldr r2, _0238CA1C ; =SWAP_SHOP_GOLD_STRING ldr r3, _0238CA20 ; =0x0000C402 add r0, sp, #4 mov r1, #0x100 @@ -3006,12 +3006,12 @@ ov21_0238C9A4: ; 0x0238C9A4 add sp, sp, #0x400 ldmia sp!, {r3, r4, pc} .align 2, 0 -_0238CA1C: .word ov21_0238CF24 +_0238CA1C: .word SWAP_SHOP_GOLD_STRING _0238CA20: .word 0x0000C402 #ifndef JAPAN _0238CA24: .word 0x00000225 #endif - arm_func_end ov21_0238C9A4 + arm_func_end SwapShopPrintCurrentGold ; 0x0238CA28 .rodata @@ -3101,139 +3101,139 @@ SWAP_SHOP_WINDOW_PARAMS_8: .global SWAP_SHOP_WINDOW_PARAMS_9 SWAP_SHOP_WINDOW_PARAMS_9: .byte 0x00, 0x00, 0x00, 0x00, 0x14, 0x02, 0x0A, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .global ov21_0238CBB8 -ov21_0238CBB8: + .global SWAP_SHOP_TALK_WELCOME_DEBUG_STRING +SWAP_SHOP_TALK_WELCOME_DEBUG_STRING: .byte 0x4D, 0x45, 0x4E, 0x55, 0x5F, 0x53, 0x59, 0x4E, 0x54, 0x48, 0x45, 0x53, 0x49, 0x53, 0x5F, 0x4D .byte 0x4F, 0x44, 0x45, 0x5F, 0x53, 0x54, 0x41, 0x52, 0x54, 0x3A, 0x0A, 0x00 - .global ov21_0238CBD4 -ov21_0238CBD4: + .global SWAP_SHOP_MAIN_MENU_OPTIONS_DEBUG_STRING +SWAP_SHOP_MAIN_MENU_OPTIONS_DEBUG_STRING: .byte 0x4D, 0x45, 0x4E, 0x55 .byte 0x5F, 0x53, 0x59, 0x4E, 0x54, 0x48, 0x45, 0x53, 0x49, 0x53, 0x5F, 0x4D, 0x4F, 0x44, 0x45, 0x5F .byte 0x53, 0x45, 0x4C, 0x45, 0x43, 0x54, 0x4D, 0x45, 0x4E, 0x55, 0x3A, 0x0A, 0x00, 0x00, 0x00, 0x00 - .global ov21_0238CBF8 -ov21_0238CBF8: + .global SWAP_SHOP_TALK_CONTINUE_SWAP_DEBUG_STRING +SWAP_SHOP_TALK_CONTINUE_SWAP_DEBUG_STRING: .byte 0x4D, 0x45, 0x4E, 0x55, 0x5F, 0x53, 0x59, 0x4E, 0x54, 0x48, 0x45, 0x53, 0x49, 0x53, 0x5F, 0x4D .byte 0x4F, 0x44, 0x45, 0x5F, 0x52, 0x45, 0x53, 0x54, 0x41, 0x52, 0x54, 0x3A, 0x0A, 0x00, 0x00, 0x00 - .global ov21_0238CC18 -ov21_0238CC18: + .global SWAP_SHOP_TALK_SUBINFO_DEBUG_STRING +SWAP_SHOP_TALK_SUBINFO_DEBUG_STRING: .byte 0x4D, 0x45, 0x4E, 0x55, 0x5F, 0x53, 0x59, 0x4E, 0x54, 0x48, 0x45, 0x53, 0x49, 0x53, 0x5F, 0x4D .byte 0x4F, 0x44, 0x45, 0x5F, 0x45, 0x58, 0x50, 0x4C, 0x41, 0x4E, 0x41, 0x54, 0x49, 0x4F, 0x4E, 0x3A .byte 0x0A, 0x00, 0x00, 0x00 - .global ov21_0238CC3C -ov21_0238CC3C: + .global SWAP_SHOP_TALK_COME_AGAIN_DEBUG_STRING +SWAP_SHOP_TALK_COME_AGAIN_DEBUG_STRING: .byte 0x4D, 0x45, 0x4E, 0x55, 0x5F, 0x53, 0x59, 0x4E, 0x54, 0x48, 0x45, 0x53 .byte 0x49, 0x53, 0x5F, 0x4D, 0x4F, 0x44, 0x45, 0x5F, 0x54, 0x48, 0x41, 0x4E, 0x4B, 0x53, 0x3A, 0x0A .byte 0x00, 0x00, 0x00, 0x00 - .global ov21_0238CC5C -ov21_0238CC5C: + .global SWAP_SHOP_TALK_LACKING_SWAP_ITEMS_DEBUG_STRING +SWAP_SHOP_TALK_LACKING_SWAP_ITEMS_DEBUG_STRING: .byte 0x4D, 0x45, 0x4E, 0x55, 0x5F, 0x53, 0x59, 0x4E, 0x54, 0x48, 0x45, 0x53 .byte 0x49, 0x53, 0x5F, 0x4D, 0x4F, 0x44, 0x45, 0x5F, 0x49, 0x54, 0x45, 0x4D, 0x5F, 0x4E, 0x4F, 0x4E .byte 0x3A, 0x0A, 0x00, 0x00 - .global ov21_0238CC7C -ov21_0238CC7C: + .global SWAP_SHOP_TALK_SWAP_BROKE_DEBUG_STRING +SWAP_SHOP_TALK_SWAP_BROKE_DEBUG_STRING: .byte 0x4D, 0x45, 0x4E, 0x55, 0x5F, 0x53, 0x59, 0x4E, 0x54, 0x48, 0x45, 0x53 .byte 0x49, 0x53, 0x5F, 0x4D, 0x4F, 0x44, 0x45, 0x5F, 0x47, 0x4F, 0x4C, 0x44, 0x5F, 0x4E, 0x4F, 0x4E .byte 0x0A, 0x00, 0x00, 0x00 - .global ov21_0238CC9C -ov21_0238CC9C: + .global SWAP_SHOP_TALK_SWAP_POOR_DEBUG_STRING +SWAP_SHOP_TALK_SWAP_POOR_DEBUG_STRING: .byte 0x4D, 0x45, 0x4E, 0x55, 0x5F, 0x53, 0x59, 0x4E, 0x54, 0x48, 0x45, 0x53 .byte 0x49, 0x53, 0x5F, 0x47, 0x4F, 0x4C, 0x44, 0x81, 0x51, 0x4E, 0x4F, 0x5F, 0x43, 0x48, 0x41, 0x52 .byte 0x47, 0x45, 0x3A, 0x0A, 0x00, 0x00, 0x00, 0x00 - .global ov21_0238CCC0 -ov21_0238CCC0: + .global SWAP_SHOP_UNK_8_DEBUG_STRING +SWAP_SHOP_UNK_8_DEBUG_STRING: .byte 0x4D, 0x45, 0x4E, 0x55, 0x5F, 0x53, 0x59, 0x4E .byte 0x54, 0x48, 0x45, 0x53, 0x49, 0x53, 0x5F, 0x4D, 0x4F, 0x44, 0x45, 0x5F, 0x53, 0x45, 0x4C, 0x45 .byte 0x43, 0x54, 0x5F, 0x46, 0x55, 0x4C, 0x4C, 0x3A, 0x0A, 0x00, 0x00, 0x00 - .global ov21_0238CCE4 -ov21_0238CCE4: + .global SWAP_SHOP_CLOSE_SHOP_DEBUG_STRING +SWAP_SHOP_CLOSE_SHOP_DEBUG_STRING: .byte 0x4D, 0x45, 0x4E, 0x55 .byte 0x5F, 0x53, 0x59, 0x4E, 0x54, 0x48, 0x45, 0x53, 0x49, 0x53, 0x5F, 0x4D, 0x4F, 0x44, 0x45, 0x5F .byte 0x51, 0x55, 0x49, 0x54, 0x0A, 0x00, 0x00, 0x00 - .global ov21_0238CD00 -ov21_0238CD00: + .global SWAP_SHOP_TALK_WHAT_ITEMS_DEBUG_STRING +SWAP_SHOP_TALK_WHAT_ITEMS_DEBUG_STRING: .byte 0x4D, 0x45, 0x4E, 0x55, 0x5F, 0x53, 0x59, 0x4E .byte 0x54, 0x48, 0x45, 0x53, 0x49, 0x53, 0x5F, 0x4D, 0x4F, 0x44, 0x45, 0x5F, 0x53, 0x45, 0x4C, 0x45 .byte 0x43, 0x54, 0x5F, 0x53, 0x54, 0x41, 0x52, 0x54, 0x3A, 0x0A, 0x00, 0x00 - .global ov21_0238CD24 -ov21_0238CD24: + .global SWAP_SHOP_TALK_VALUABLE_SWAP_DEBUG_STRING +SWAP_SHOP_TALK_VALUABLE_SWAP_DEBUG_STRING: .byte 0x4D, 0x45, 0x4E, 0x55 .byte 0x5F, 0x53, 0x59, 0x4E, 0x54, 0x48, 0x45, 0x53, 0x49, 0x53, 0x5F, 0x4D, 0x4F, 0x44, 0x45, 0x5F .byte 0x5F, 0x52, 0x45, 0x53, 0x54, 0x41, 0x52, 0x54, 0x3A, 0x0A, 0x00, 0x00 - .global ov21_0238CD44 -ov21_0238CD44: + .global SWAP_SHOP_INIT_SWAP_ITEMS_MENU_DEBUG_STRING +SWAP_SHOP_INIT_SWAP_ITEMS_MENU_DEBUG_STRING: .byte 0x4D, 0x45, 0x4E, 0x55 .byte 0x5F, 0x53, 0x59, 0x4E, 0x54, 0x48, 0x45, 0x53, 0x49, 0x53, 0x5F, 0x4D, 0x4F, 0x44, 0x45, 0x5F .byte 0x53, 0x45, 0x4C, 0x45, 0x43, 0x54, 0x5F, 0x49, 0x4E, 0x49, 0x54, 0x3A, 0x0A, 0x00, 0x00, 0x00 - .global ov21_0238CD68 -ov21_0238CD68: + .global SWAP_SHOP_SWAP_ITEMS_MENU_DEBUG_STRING +SWAP_SHOP_SWAP_ITEMS_MENU_DEBUG_STRING: .byte 0x4D, 0x45, 0x4E, 0x55, 0x5F, 0x53, 0x59, 0x4E, 0x54, 0x48, 0x45, 0x53, 0x49, 0x53, 0x5F, 0x4D .byte 0x4F, 0x44, 0x45, 0x5F, 0x53, 0x45, 0x4C, 0x45, 0x43, 0x54, 0x5F, 0x53, 0x45, 0x4C, 0x45, 0x43 .byte 0x54, 0x3A, 0x0A, 0x00 - .global ov21_0238CD8C -ov21_0238CD8C: + .global SWAP_SHOP_RETURN_SWAP_ITEMS_MENU_DEBUG_STRING +SWAP_SHOP_RETURN_SWAP_ITEMS_MENU_DEBUG_STRING: .byte 0x4D, 0x45, 0x4E, 0x55, 0x5F, 0x53, 0x59, 0x4E, 0x54, 0x48, 0x45, 0x53 .byte 0x49, 0x53, 0x5F, 0x4D, 0x4F, 0x44, 0x45, 0x5F, 0x53, 0x45, 0x4C, 0x45, 0x43, 0x54, 0x5F, 0x52 .byte 0x45, 0x53, 0x45, 0x4C, 0x45, 0x43, 0x54, 0x3A, 0x0A, 0x00, 0x00, 0x00 - .global ov21_0238CDB4 -ov21_0238CDB4: + .global SWAP_SHOP_SELECT_SWAP_ITEM_OPTIONS_DEBUG_STRING +SWAP_SHOP_SELECT_SWAP_ITEM_OPTIONS_DEBUG_STRING: .byte 0x09, 0x4D, 0x45, 0x4E .byte 0x55, 0x5F, 0x53, 0x59, 0x4E, 0x54, 0x48, 0x45, 0x53, 0x49, 0x53, 0x5F, 0x4D, 0x4F, 0x44, 0x45 .byte 0x5F, 0x53, 0x45, 0x4C, 0x45, 0x43, 0x54, 0x5F, 0x53, 0x55, 0x42, 0x5F, 0x4D, 0x45, 0x4E, 0x55 .byte 0x3A, 0x0A, 0x00, 0x00 - .global ov21_0238CDDC -ov21_0238CDDC: + .global SWAP_SHOP_SWAP_ITEM_GET_INFO_DEBUG_STRING +SWAP_SHOP_SWAP_ITEM_GET_INFO_DEBUG_STRING: .byte 0x4D, 0x45, 0x4E, 0x55, 0x5F, 0x53, 0x59, 0x4E, 0x54, 0x48, 0x45, 0x53 .byte 0x49, 0x53, 0x5F, 0x4D, 0x4F, 0x44, 0x45, 0x5F, 0x53, 0x45, 0x4C, 0x45, 0x43, 0x54, 0x5F, 0x45 .byte 0x58, 0x50, 0x4C, 0x41, 0x0A, 0x00, 0x00, 0x00 - .global ov21_0238CE00 -ov21_0238CE00: + .global SWAP_SHOP_ITEM_ZERO_STRING +SWAP_SHOP_ITEM_ZERO_STRING: .byte 0x5B, 0x69, 0x74, 0x65, 0x6D, 0x3A, 0x30, 0x5D .byte 0x00, 0x00, 0x00, 0x00 - .global ov21_0238CE0C -ov21_0238CE0C: + .global SWAP_SHOP_TALK_CONFIRM_SWAP_DEBUG_STRING +SWAP_SHOP_TALK_CONFIRM_SWAP_DEBUG_STRING: .byte 0x4D, 0x45, 0x4E, 0x55, 0x5F, 0x53, 0x59, 0x4E, 0x54, 0x48, 0x45, 0x53 .byte 0x49, 0x53, 0x5F, 0x4D, 0x4F, 0x44, 0x45, 0x5F, 0x53, 0x45, 0x4C, 0x45, 0x43, 0x54, 0x5F, 0x43 .byte 0x4F, 0x4E, 0x46, 0x49, 0x52, 0x4D, 0x5F, 0x31, 0x3A, 0x0A, 0x00, 0x00 - .global ov21_0238CE34 -ov21_0238CE34: + .global SWAP_SHOP_CONFIRM_CHOICE_DEBUG_STRING +SWAP_SHOP_CONFIRM_CHOICE_DEBUG_STRING: .byte 0x5F, 0x53, 0x45, 0x4C .byte 0x4C, 0x5F, 0x43, 0x4F, 0x4E, 0x46, 0x49, 0x52, 0x4D, 0x20, 0x4E, 0x45, 0x57, 0x5F, 0x31, 0x0A .byte 0x00, 0x00, 0x00, 0x00 - .global ov21_0238CE4C -ov21_0238CE4C: + .global SWAP_SHOP_INIT_SCRIPT_ACTION_1_DEBUG_STRING +SWAP_SHOP_INIT_SCRIPT_ACTION_1_DEBUG_STRING: .byte 0x4D, 0x45, 0x4E, 0x55, 0x5F, 0x53, 0x59, 0x4E, 0x54, 0x48, 0x45, 0x53 .byte 0x49, 0x53, 0x5F, 0x4D, 0x4F, 0x44, 0x45, 0x5F, 0x53, 0x45, 0x4C, 0x45, 0x43, 0x54, 0x5F, 0x54 .byte 0x48, 0x41, 0x4E, 0x4B, 0x53, 0x5F, 0x41, 0x43, 0x54, 0x49, 0x4F, 0x4E, 0x3A, 0x0A, 0x00, 0x00 - .global ov21_0238CE78 -ov21_0238CE78: + .global SWAP_SHOP_INIT_SCRIPT_ACTION_2_DEBUG_STRING +SWAP_SHOP_INIT_SCRIPT_ACTION_2_DEBUG_STRING: .byte 0x4D, 0x45, 0x4E, 0x55, 0x5F, 0x53, 0x59, 0x4E, 0x54, 0x48, 0x45, 0x53, 0x49, 0x53, 0x5F, 0x4D .byte 0x4F, 0x44, 0x45, 0x5F, 0x53, 0x45, 0x4C, 0x45, 0x43, 0x54, 0x5F, 0x54, 0x48, 0x41, 0x4E, 0x4B .byte 0x53, 0x5F, 0x41, 0x43, 0x54, 0x49, 0x4F, 0x4E, 0x32, 0x3A, 0x0A, 0x00 - .global ov21_0238CEA4 -ov21_0238CEA4: + .global SWAP_SHOP_INIT_SCRIPT_ACTION_3_DEBUG_STRING +SWAP_SHOP_INIT_SCRIPT_ACTION_3_DEBUG_STRING: .byte 0x4D, 0x45, 0x4E, 0x55 .byte 0x5F, 0x53, 0x59, 0x4E, 0x54, 0x48, 0x45, 0x53, 0x49, 0x53, 0x5F, 0x4D, 0x4F, 0x44, 0x45, 0x5F .byte 0x53, 0x45, 0x4C, 0x45, 0x43, 0x54, 0x5F, 0x54, 0x48, 0x41, 0x4E, 0x4B, 0x53, 0x5F, 0x41, 0x43 .byte 0x54, 0x49, 0x4F, 0x4E, 0x33, 0x3A, 0x0A, 0x00 - .global ov21_0238CED0 -ov21_0238CED0: + .global SWAP_SHOP_TEXT_PUT_IN_CAULDRON_DEBUG_STRING +SWAP_SHOP_TEXT_PUT_IN_CAULDRON_DEBUG_STRING: .byte 0x4D, 0x45, 0x4E, 0x55, 0x5F, 0x53, 0x59, 0x4E .byte 0x54, 0x48, 0x45, 0x53, 0x49, 0x53, 0x5F, 0x4D, 0x4F, 0x44, 0x45, 0x5F, 0x53, 0x45, 0x4C, 0x45 .byte 0x43, 0x54, 0x5F, 0x54, 0x48, 0x41, 0x4E, 0x4B, 0x53, 0x5F, 0x31, 0x3A, 0x0A, 0x00, 0x00, 0x00 - .global ov21_0238CEF8 -ov21_0238CEF8: + .global SWAP_SHOP_DO_SWAP_THEN_TALK_DEBUG_STRING +SWAP_SHOP_DO_SWAP_THEN_TALK_DEBUG_STRING: .byte 0x4D, 0x45, 0x4E, 0x55, 0x5F, 0x53, 0x59, 0x4E, 0x54, 0x48, 0x45, 0x53, 0x49, 0x53, 0x5F, 0x4D .byte 0x4F, 0x44, 0x45, 0x5F, 0x53, 0x45, 0x4C, 0x45, 0x43, 0x54, 0x5F, 0x54, 0x48, 0x41, 0x4E, 0x4B .byte 0x53, 0x3A, 0x0A, 0x00 .global OVERLAY21_JP_STRING OVERLAY21_JP_STRING: .byte 0x8D, 0x87, 0x90, 0xAC, 0x81, 0x46, 0x00, 0x00 - .global ov21_0238CF24 -ov21_0238CF24: + .global SWAP_SHOP_GOLD_STRING +SWAP_SHOP_GOLD_STRING: .byte 0x5B, 0x43, 0x53, 0x3A .byte 0x56, 0x5D, 0x5B, 0x67, 0x6F, 0x6C, 0x64, 0x3A, 0x30, 0x5D, 0x5B, 0x43, 0x52, 0x5D, 0x00, 0x00 .data - .global OVERLAY21_UNKNOWN_POINTER__NA_238CF40 -OVERLAY21_UNKNOWN_POINTER__NA_238CF40: + .global SWAP_SHOP_MENU_DATA_PTR +SWAP_SHOP_MENU_DATA_PTR: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 diff --git a/asm/overlay_25.s b/asm/overlay_25.s index f78c938f..3aa9de7f 100644 --- a/asm/overlay_25.s +++ b/asm/overlay_25.s @@ -850,7 +850,7 @@ _0238AD04: bl HidePortraitBox mov r0, #1 mov r1, #0 - bl ov11_0230B20C + bl SwapShopInventoryManager b _0238B0C8 _0238AD48: add r0, r1, #0x100 @@ -868,7 +868,7 @@ _0238AD48: bl HidePortraitBox mov r0, #1 mov r1, #0 - bl ov11_0230B20C + bl SwapShopInventoryManager b _0238B0C8 _0238AD8C: mov r2, #0x96 diff --git a/include/ground_bg.h b/include/ground_bg.h index 6459724f..22482619 100644 --- a/include/ground_bg.h +++ b/include/ground_bg.h @@ -40,19 +40,18 @@ struct bg_list_entry { struct bg_list_entry_sub_struct others_bpa[BPA_MAX_ENTRIES]; }; -#define UNK_0_ARR_COUNT 16 // Was 14 in Red -#define UNK_E0_ARR_COUNT 32 -#define UNK_3E0_ARR_COUNT 4 // Was 2 in Red +#define UNK_4_ARR_COUNT 16 // Was 14 in Red +#define UNK_C4_ARR_COUNT 4 // Was 2 in Red #define NUM_LAYERS 2 -typedef struct SubStruct_0 +typedef struct UnkGroundBg_4 { s16 unk0; s16 unk2; const void *unk4; const void *unk8; //u8 fillC; // Filler byte removed in Sky, present in Red -} SubStruct_0; +} UnkGroundBg_4; struct BpaHeader { @@ -63,7 +62,7 @@ struct BpaHeader }; // Was 0x24 in Red... -typedef struct SubStruct_3E0 +typedef struct UnkGroundBg_C4 { u8 unk0; u8 unk1; @@ -77,10 +76,10 @@ typedef struct SubStruct_3E0 void *unk20; void *unk24; u32 unk28; -} SubStruct_3E0; +} UnkGroundBg_C4; // size: 0x18? -typedef struct SubStruct_52C +typedef struct UnkGroundBg_2BC { u8 unk0; // 0x52C s16 unk2; // 0x52E @@ -94,7 +93,7 @@ typedef struct SubStruct_52C s16 unk14; s16 unk16; void (*unk18)(void *, const void *, void *, s32); // TODO: fix void * to proper ptr types 0x540 -} SubStruct_52C; +} UnkGroundBg_2BC; struct UnkGroundBg_1A0 { @@ -199,8 +198,8 @@ typedef struct AnimationSpecification typedef struct GroundBg { s16 newUnk0; // Not present in Red - SubStruct_0 unk0[UNK_0_ARR_COUNT]; - SubStruct_3E0 unk3E0[UNK_3E0_ARR_COUNT]; // 0xc4 + UnkGroundBg_4 unk4[UNK_4_ARR_COUNT]; + UnkGroundBg_C4 unkC4[UNK_C4_ARR_COUNT]; // 0xc4 struct iovec bplFile; // 0x174 struct iovec unk17C; // 0x17C struct iovec bpcFile; // 0x184 @@ -236,7 +235,7 @@ typedef struct GroundBg u8 fillerForNow2[112]; s16 unk2B8; u8 unk2BA; - SubStruct_52C unk52C; // 2bc + UnkGroundBg_2BC unk2BC; // 2bc u16 *unk2D8; u16 *unk2DC[2]; u16 *unk2E4[2]; @@ -244,8 +243,8 @@ typedef struct GroundBg } GroundBg; void LoadBackgroundAttributes(struct bg_list_entry* entry, int bgId); -void GroundBg_Init(GroundBg *groundBg, const SubStruct_52C *a1); -void ov11_022EBEAC(GroundBg *groundBg); +void GroundBg_Init(GroundBg *groundBg, const UnkGroundBg_2BC *a1); +void GroundBg_FreeAll(GroundBg *groundBg); void ov11_022EBF60(GroundBg *groundBg); void GroundBg_CloseOpenedFiles(GroundBg *groundBg); void ov11_022EC08C(GroundBg *groundBg); @@ -253,6 +252,6 @@ void ov11_022EC240(GroundBg *groundBg, s32 bgId); void ov11_022EC27C(GroundBg *groundBg, s32 bgId); void LoadMapType10(GroundBg *groundBg, s32 bgId, const DungeonLocation *dungLoc, s32 a3); void LoadMapType11(GroundBg *groundBg, s32 bgId, const DungeonLocation *dungLoc, s32 a3); -const u8 *BmaLayerNrlDecompressor(u16 **dstArray, const void *bmaData, SubStruct_52C *a2, BmaHeader *bmaHeader); +const u8 *BmaLayerNrlDecompressor(u16 **dstArray, const void *bmaData, UnkGroundBg_2BC *a2, BmaHeader *bmaHeader); #endif //PMDSKY_GROUND_BG_H diff --git a/include/main_0200330C.h b/include/main_0200330C.h index 2f1c7d51..d613b0f4 100644 --- a/include/main_0200330C.h +++ b/include/main_0200330C.h @@ -1,8 +1,10 @@ #ifndef PMDSKY_MAIN_0200330C_H #define PMDSKY_MAIN_0200330C_H -void ZInit8(int* ptr); -u8 PointsToZero(int* ptr); +#include "ground_bg.h" + +void ZInit8(struct iovec* ptr); +bool8 PointsToZero(struct iovec* ptr); void MemZero(u8* ptr, s32 len); void MemZero16(u16* ptr, s32 len); void MemZero32(u32* ptr, s32 len); diff --git a/main.lsf b/main.lsf index 6637607a..eac3f1b3 100644 --- a/main.lsf +++ b/main.lsf @@ -201,7 +201,7 @@ Overlay OVY_11 After OVY_10 Object asm/overlay_11.o Object src/ground_bg.o - Object asm/overlay_11_022ECD24_data.o + Object asm/overlay_11_022ECD24_data.o Object asm/overlay_11_022ECD24.o Object src/ground_bg_1.o Object asm/overlay_11_022EE5E4.o diff --git a/src/ground_bg.c b/src/ground_bg.c index d7f50dbd..2a93c55e 100644 --- a/src/ground_bg.c +++ b/src/ground_bg.c @@ -1,5 +1,6 @@ #include "ground_bg.h" #include "file_rom.h" +#include "main_0200330C.h" // TODO: Move these to headers #define RGB_R 0 @@ -39,10 +40,8 @@ struct UnkStruct_2324CBC extern struct UnkStruct_2324CBC *ov11_02324CBC; extern void FileClose(struct file_stream* file); -extern void ZInit8(struct iovec *dst); extern void* MemAlloc(u32 len, u32 flags); extern void MemFree(void* ptr); -extern BOOL PointsToZero(struct iovec* ptr); extern void UnloadFile(struct iovec* ptr); extern void sub_0200A590(struct UnkStruct_2324CBC_Sub98 *, s32 id, const RGB_Array *src); extern void sub_0200A504(struct UnkStruct_2324CBC_Sub98 *); @@ -69,7 +68,7 @@ extern void *ov11_02320C18[][2]; // Vram ptrs // Todo: make these static const RGB_Array ov11_02320BF4 = {0, 0, 0, 0}; const RGB_Array ov11_02320BF0 = {0, 0, 0, 0}; -const PixelPos sPositionZero = {0}; +const PixelPos POSITION_ZERO = {0}; const RGB_Array ov11_02320BE8 = {0xFF, 0xFF, 0xFF, 0}; const RGB_Array ov11_02320BEC = {0, 0, 0, 0}; const RGB_Array ov11_02320BE4 = {0, 0, 0, 0}; @@ -102,7 +101,6 @@ void LoadBackgroundAttributes(struct bg_list_entry* entry, int bgId) FileRom_StopDataTransfer(); } -void ov11_022EBF60(GroundBg *groundBg); void *sub_0200B500(void *unk); void sub_02063600(struct UnkGroundBg_1A0 *); void sub_0206367C(struct UnkGroundBg_1A0 *); @@ -110,20 +108,20 @@ void sub_020635C8(struct UnkGroundBg_194 *); void sub_020635D8(struct UnkGroundBg_194 *); void ov11_022EE620(GroundBg *groundBg, s32 a1); -void GroundBg_Init(GroundBg *groundBg, const SubStruct_52C *a1) +void GroundBg_Init(GroundBg *groundBg, const UnkGroundBg_2BC *a1) { - SubStruct_0 *unk0Ptr; - s32 id, unk0Id, unk3E0Id; + UnkGroundBg_4 *unk4Ptr; + s32 id, unk4Id, unkC4Id; s32 i; s32 id2; s32 memGroup; - groundBg->unk52C = *a1; - memGroup = (groundBg->unk52C.unk0 == 0) ? 6 : 15; - id2 = groundBg->unk52C.unk2; - for (id = 0; id < groundBg->unk52C.numLayers; id++, id2++) { - if (groundBg->unk52C.unkE[id] > 0) { - groundBg->unk2DC[id] = MemAlloc(groundBg->unk52C.unkE[id] * 18u, memGroup); + groundBg->unk2BC = *a1; + memGroup = (groundBg->unk2BC.unk0 == 0) ? 6 : 15; + id2 = groundBg->unk2BC.unk2; + for (id = 0; id < groundBg->unk2BC.numLayers; id++, id2++) { + if (groundBg->unk2BC.unkE[id] > 0) { + groundBg->unk2DC[id] = MemAlloc(groundBg->unk2BC.unkE[id] * 18u, memGroup); } else { groundBg->unk2DC[id] = NULL; @@ -133,18 +131,18 @@ void GroundBg_Init(GroundBg *groundBg, const SubStruct_52C *a1) groundBg->unk2DC[id] = NULL; } - id = groundBg->unk52C.unk2; - for (id2 = 0; id2 < groundBg->unk52C.numLayers; id2++, id++) { + id = groundBg->unk2BC.unk2; + for (id2 = 0; id2 < groundBg->unk2BC.numLayers; id2++, id++) { - if (groundBg->unk52C.unk0 == 0) { + if (groundBg->unk2BC.unk0 == 0) { groundBg->unk2EC[id2] = sub_0200B500(&ov11_02324CBC->unk0[0][id]); } else { groundBg->unk2EC[id2] = sub_0200B500(&ov11_02324CBC->unk0[1][id]); } - if (groundBg->unk52C.unkE[id2] > 0) { - groundBg->unk2E4[id2] = MemAlloc(groundBg->unk52C.unk14 * 128, memGroup); + if (groundBg->unk2BC.unkE[id2] > 0) { + groundBg->unk2E4[id2] = MemAlloc(groundBg->unk2BC.unk14 * 128, memGroup); } else { groundBg->unk2E4[id2] = NULL; @@ -155,7 +153,7 @@ void GroundBg_Init(GroundBg *groundBg, const SubStruct_52C *a1) groundBg->unk2E4[id2] = NULL; } - groundBg->unk2D8 = (groundBg->unk52C.unk18 == 0) ? NULL : MemAlloc(groundBg->unk52C.unk12 * 256, memGroup); + groundBg->unk2D8 = (groundBg->unk2BC.unk18 == 0) ? NULL : MemAlloc(groundBg->unk2BC.unk12 * 256, memGroup); ov11_022EBF60(groundBg); groundBg->newUnk0 = 0; groundBg->unk1C0 = 0; @@ -174,15 +172,15 @@ void GroundBg_Init(GroundBg *groundBg, const SubStruct_52C *a1) groundBg->unk1FB = 0; groundBg->unk1BC = 0; - unk0Ptr = &groundBg->unk0[0]; - for (unk0Id = 0; unk0Id < UNK_0_ARR_COUNT; unk0Id++, unk0Ptr++) { - unk0Ptr->unk0 = 0; - unk0Ptr->unk2 = 0; - unk0Ptr->unk4 = unk0Ptr->unk8 = 0; + unk4Ptr = &groundBg->unk4[0]; + for (unk4Id = 0; unk4Id < UNK_4_ARR_COUNT; unk4Id++, unk4Ptr++) { + unk4Ptr->unk0 = 0; + unk4Ptr->unk2 = 0; + unk4Ptr->unk4 = unk4Ptr->unk8 = 0; } - for (unk3E0Id = 0; unk3E0Id < UNK_3E0_ARR_COUNT; unk3E0Id++) { - SubStruct_3E0 *unkPtr = &groundBg->unk3E0[unk3E0Id]; + for (unkC4Id = 0; unkC4Id < UNK_C4_ARR_COUNT; unkC4Id++) { + UnkGroundBg_C4 *unkPtr = &groundBg->unkC4[unkC4Id]; unkPtr->unk0 = 0; unkPtr->unk1 = 0; unkPtr->unk2 = 0; @@ -196,11 +194,11 @@ void GroundBg_Init(GroundBg *groundBg, const SubStruct_52C *a1) } for (i = 0; i < NUM_LAYERS; i++) { - groundBg->cameraPixelPosition[i] = sPositionZero; + groundBg->cameraPixelPosition[i] = POSITION_ZERO; } } -void ov11_022EBEAC(GroundBg *groundBg) +void GroundBg_FreeAll(GroundBg *groundBg) { s32 i; @@ -209,7 +207,7 @@ void ov11_022EBEAC(GroundBg *groundBg) for (i = 0; i < NUM_LAYERS; i++) { if (groundBg->unk2DC[i] != NULL) { - if (groundBg->unk52C.unkE[i] > 0) { + if (groundBg->unk2BC.unkE[i] > 0) { MemFree(groundBg->unk2DC[i]); } groundBg->unk2DC[i] = NULL; @@ -218,7 +216,7 @@ void ov11_022EBEAC(GroundBg *groundBg) groundBg->unk2EC[i] = NULL; } if (groundBg->unk2E4[i] != NULL) { - if (groundBg->unk52C.unkE[i] > 0) { + if (groundBg->unk2BC.unkE[i] > 0) { MemFree(groundBg->unk2E4[i]); } groundBg->unk2E4[i] = NULL; @@ -230,8 +228,8 @@ void ov11_022EBF60(GroundBg *groundBg) { s32 i; - for (i = 0; i < UNK_3E0_ARR_COUNT; i++) { - SubStruct_3E0 *unkPtr = &groundBg->unk3E0[i]; + for (i = 0; i < UNK_C4_ARR_COUNT; i++) { + UnkGroundBg_C4 *unkPtr = &groundBg->unkC4[i]; ZInit8(&unkPtr->bpaFile); } @@ -253,8 +251,8 @@ void GroundBg_CloseOpenedFiles(GroundBg *groundBg) return; } - for (i = 0; i < UNK_3E0_ARR_COUNT; i++) { - SubStruct_3E0 *unkPtr = &groundBg->unk3E0[i]; + for (i = 0; i < UNK_C4_ARR_COUNT; i++) { + UnkGroundBg_C4 *unkPtr = &groundBg->unkC4[i]; TRY_CLOSE_FILE(unkPtr->bpaFile); } sub_0206367C(&groundBg->unk1A0); @@ -271,8 +269,8 @@ void ov11_022EC08C(GroundBg *groundBg) u8 unkId; u16 palId; s32 i, j; - SubStruct_0 *unk0Ptr; - s32 unk0Id, unk3E0Id; + UnkGroundBg_4 *unk4Ptr; + s32 unk4Id, unkC4Id; struct UnkStruct_2324CBC_Sub98 *unkSubPtr; GroundBg_CloseOpenedFiles(groundBg); @@ -292,15 +290,15 @@ void ov11_022EC08C(GroundBg *groundBg) groundBg->unk1FB = 0; groundBg->unk1BC = 0; - unk0Ptr = &groundBg->unk0[0]; - for (unk0Id = 0; unk0Id < UNK_0_ARR_COUNT; unk0Id++, unk0Ptr++) { - unk0Ptr->unk0 = 0; - unk0Ptr->unk2 = 0; - unk0Ptr->unk4 = unk0Ptr->unk8 = 0; + unk4Ptr = &groundBg->unk4[0]; + for (unk4Id = 0; unk4Id < UNK_4_ARR_COUNT; unk4Id++, unk4Ptr++) { + unk4Ptr->unk0 = 0; + unk4Ptr->unk2 = 0; + unk4Ptr->unk4 = unk4Ptr->unk8 = 0; } - for (unk3E0Id = 0; unk3E0Id < UNK_3E0_ARR_COUNT; unk3E0Id++) { - SubStruct_3E0 *unkPtr = &groundBg->unk3E0[unk3E0Id]; + for (unkC4Id = 0; unkC4Id < UNK_C4_ARR_COUNT; unkC4Id++) { + UnkGroundBg_C4 *unkPtr = &groundBg->unkC4[unkC4Id]; unkPtr->unk0 = 0; unkPtr->unk1 = 0; unkPtr->unk2 = 0; @@ -314,10 +312,10 @@ void ov11_022EC08C(GroundBg *groundBg) unkPtr->unk28 = 0; } - unkId = groundBg->unk52C.unk0; + unkId = groundBg->unk2BC.unk0; unkSubPtr = &ov11_02324CBC->unk98[unkId]; - palId = groundBg->unk52C.unk6 * 16; - for (i = 0; i < groundBg->unk52C.unk8; i++) { + palId = groundBg->unk2BC.unk6 * 16; + for (i = 0; i < groundBg->unk2BC.unk8; i++) { sub_0200A590(unkSubPtr, palId++, &ov11_02320BF4); for (j = 1; j < 16; j++) { sub_0200A590(unkSubPtr, palId++, &ov11_02320BE8); @@ -325,7 +323,7 @@ void ov11_022EC08C(GroundBg *groundBg) } sub_0200A504(unkSubPtr); - if (groundBg->unk52C.numLayers > 0) { + if (groundBg->unk2BC.numLayers > 0) { ov11_022EE620(groundBg, 1); } else { @@ -361,16 +359,16 @@ void ov11_022EC27C(GroundBg *groundBg, s32 bgId) s32 i, j; struct UnkStruct_2324CBC_Sub98 *unkSubPtr; const RGB_Array *rgbPal; - s32 unk0Id; - SubStruct_0 *sub0Ptr; - s32 unk3E0Id; + s32 unk4Id; + UnkGroundBg_4 *sub4Ptr; + s32 unkC4Id; BmaHeader *bmaHeader; BplHeader *bplHeader; const void *bmaData; u16 palId; s32 r7; - flags = (groundBg->unk52C.unk0 == 0) ? 6 : 15; + flags = (groundBg->unk2BC.unk0 == 0) ? 6 : 15; if (bgId == -1) { ov11_022EC08C(groundBg); return; @@ -447,15 +445,15 @@ void ov11_022EC27C(GroundBg *groundBg, s32 bgId) bmaHeader->hasCollision = *(u8 *)(bmaData); bmaData += 2; rgbPal = bplData; - unkSubPtr = &ov11_02324CBC->unk98[groundBg->unk52C.unk0]; - palId = groundBg->unk52C.unk6 * 16; - for (i = 0; i < bplHeader->numPalettes && i < groundBg->unk52C.unk8; i++) { + unkSubPtr = &ov11_02324CBC->unk98[groundBg->unk2BC.unk0]; + palId = groundBg->unk2BC.unk6 * 16; + for (i = 0; i < bplHeader->numPalettes && i < groundBg->unk2BC.unk8; i++) { sub_0200A590(unkSubPtr, palId++, &ov11_02320BF4); sub_0200A5B0(unkSubPtr, palId, rgbPal, 15); palId += 15; rgbPal += 15; } - for (; i < groundBg->unk52C.unk8; i++) { + for (; i < groundBg->unk2BC.unk8; i++) { sub_0200A590(unkSubPtr, palId++, &ov11_02320BF4); for (j = 1; j < 16; j++) { sub_0200A590(unkSubPtr, palId++, &ov11_02320BE8); @@ -464,8 +462,8 @@ void ov11_022EC27C(GroundBg *groundBg, s32 bgId) sub_0200A504(unkSubPtr); // Bpc decompressor - sp20 = groundBg->unk52C.unk2; - for (i = 0; i < groundBg->unk52C.unk4; sp20++, i++) { + sp20 = groundBg->unk2BC.unk2; + for (i = 0; i < groundBg->unk2BC.unk4; sp20++, i++) { const u8 *srcStart = sp44[i]; if (srcStart != NULL) { s32 k; // r1 @@ -473,8 +471,8 @@ void ov11_022EC27C(GroundBg *groundBg, s32 bgId) s32 nbWordsToOutput; u16 *tilemapR7, *tilemapR3, *tilemapR12; LayerSpecs *layerSpecs = &groundBg->layerSpecs[i]; // r9 - s32 r3 = groundBg->unk52C.unk0; - u16 *dstR11 = ov11_02320C18[r3][sp20] + groundBg->unk52C.unkA * 32; // r11 fp + s32 r3 = groundBg->unk2BC.unk0; + u16 *dstR11 = ov11_02320C18[r3][sp20] + groundBg->unk2BC.unkA * 32; // r11 fp u16 *dstSP10 = ov11_02320C18[r3][sp20] + layerSpecs->numTiles * 32; // sp 10 const u8 *src = srcStart; // r6 u16 leftoverVal2 = 0; // r7 @@ -574,13 +572,13 @@ void ov11_022EC27C(GroundBg *groundBg, s32 bgId) } // Copy tilemaps - for (r7 = layerSpecs->numTiles; r7 < groundBg->unk52C.unkC; r7++) { + for (r7 = layerSpecs->numTiles; r7 < groundBg->unk2BC.unkC; r7++) { for (k = 0; k < 16; k++) { *dstR11++ = 0xFFFF; } } - unkOrVal = (groundBg->unk52C.unk6 << 12) | groundBg->unk52C.unkA; + unkOrVal = (groundBg->unk2BC.unk6 << 12) | groundBg->unk2BC.unkA; tilemapR12 = groundBg->unk2DC[i]; tilemapR3 = tilemapR12; groundBg->unk2B8 = 1; @@ -649,15 +647,15 @@ void ov11_022EC27C(GroundBg *groundBg, s32 bgId) } } - bmaData = BmaLayerNrlDecompressor(groundBg->unk2E4, bmaData, &groundBg->unk52C, &groundBg->bmaHeader); + bmaData = BmaLayerNrlDecompressor(groundBg->unk2E4, bmaData, &groundBg->unk2BC, &groundBg->bmaHeader); groundBg->unk1F0 = bmaData; if (groundBg->unk2D8 != NULL) { - groundBg->unk52C.unk18(groundBg->unk2D8, bmaData, bmaHeader, groundBg->unk52C.unk12); + groundBg->unk2BC.unk18(groundBg->unk2D8, bmaData, bmaHeader, groundBg->unk2BC.unk12); } groundBg->unk1EE = 0; - sub0Ptr = groundBg->unk0; - unk0Id = 0; + sub4Ptr = groundBg->unk4; + unk4Id = 0; if (bplHeader->hasPalAnimations) { s32 numPals = bplHeader->numPalettes * 15; @@ -670,17 +668,17 @@ void ov11_022EC27C(GroundBg *groundBg, s32 bgId) groundBg->unk1FA = 1; groundBg->unk1FB = 1; groundBg->unk1BC = 0; - for (; unk0Id < bplHeader->numPalettes && unk0Id < groundBg->unk52C.unk8; unk0Id++, sub0Ptr++, animSpecifications++) { + for (; unk4Id < bplHeader->numPalettes && unk4Id < groundBg->unk2BC.unk8; unk4Id++, sub4Ptr++, animSpecifications++) { if (animSpecifications->numFrames > 0) { - sub0Ptr->unk4 = animationPalette; + sub4Ptr->unk4 = animationPalette; animationPalette += animSpecifications->numFrames * 15; } else { - sub0Ptr->unk4 = NULL; + sub4Ptr->unk4 = NULL; } - sub0Ptr->unk0 = 0; - sub0Ptr->unk2 = 0; - sub0Ptr->unk8 = 0; + sub4Ptr->unk0 = 0; + sub4Ptr->unk2 = 0; + sub4Ptr->unk8 = 0; } } else { @@ -692,33 +690,33 @@ void ov11_022EC27C(GroundBg *groundBg, s32 bgId) groundBg->unk1BC = 0; } - for (; unk0Id < UNK_0_ARR_COUNT; unk0Id++, sub0Ptr++) { - sub0Ptr->unk0 = 0; - sub0Ptr->unk2 = 0; - sub0Ptr->unk4 = sub0Ptr->unk8 = 0; + for (; unk4Id < UNK_4_ARR_COUNT; unk4Id++, sub4Ptr++) { + sub4Ptr->unk0 = 0; + sub4Ptr->unk2 = 0; + sub4Ptr->unk4 = sub4Ptr->unk8 = 0; } - for (unk3E0Id = 0; unk3E0Id < UNK_3E0_ARR_COUNT; unk3E0Id++) { - SubStruct_3E0 *sub3E0 = &groundBg->unk3E0[unk3E0Id]; - sub3E0->unk0 = 0; - sub3E0->unk1 = 0; - sub3E0->unk4 = 0; - sub3E0->unk2 = 0; - ZInit8(&sub3E0->bpaFile); - sub3E0->unk10 = 0; - sub3E0->unk18 = 0; - sub3E0->unk14 = 0; - sub3E0->unk20 = 0; - sub3E0->unk24 = sub3E0->unk1C = 0; - sub3E0->unk28 = 0; + for (unkC4Id = 0; unkC4Id < UNK_C4_ARR_COUNT; unkC4Id++) { + UnkGroundBg_C4 *subC4 = &groundBg->unkC4[unkC4Id]; + subC4->unk0 = 0; + subC4->unk1 = 0; + subC4->unk4 = 0; + subC4->unk2 = 0; + ZInit8(&subC4->bpaFile); + subC4->unk10 = 0; + subC4->unk18 = 0; + subC4->unk14 = 0; + subC4->unk20 = 0; + subC4->unk24 = subC4->unk1C = 0; + subC4->unk28 = 0; } - r7 = groundBg->unk52C.unk2; + r7 = groundBg->unk2BC.unk2; s32 r5; - for (r5 = 0; r5 < groundBg->unk52C.unk4; r5++, r7++) { + for (r5 = 0; r5 < groundBg->unk2BC.unk4; r5++, r7++) { LayerSpecs *layerSpecs = &groundBg->layerSpecs[r5]; - s32 vramId = (groundBg->unk52C.unkA + layerSpecs->numTiles); - void *vramPtr = ov11_02320C18[groundBg->unk52C.unk0][r7] + (vramId * 32); + s32 vramId = (groundBg->unk2BC.unkA + layerSpecs->numTiles); + void *vramPtr = ov11_02320C18[groundBg->unk2BC.unk0][r7] + (vramId * 32); s32 r8 = (r5 == 0) ? 0 : 2; s32 r9 = (r5 == 0) ? 0 : 4; layerSpecs = &groundBg->layerSpecs[r5]; @@ -726,32 +724,32 @@ void ov11_022EC27C(GroundBg *groundBg, s32 bgId) for (r6 = 0; r6 < 2; r6++, r9++, r8++) { - SubStruct_3E0 *sub3E0 = &groundBg->unk3E0[r8]; - if (entry.others_bpa[r9].name[0] != '\0' && groundBg->unk52C.unk0 == 0) { + UnkGroundBg_C4 *subC4 = &groundBg->unkC4[r8]; + if (entry.others_bpa[r9].name[0] != '\0' && groundBg->unk2BC.unk0 == 0) { const struct BpaHeader *bpaHeader; const void *r1, *r0; sprintf(textBuf, ov11_02320C94, entry.others_bpa[r9].name); - LoadFileFromRom(&sub3E0->bpaFile, textBuf, flags); - sub3E0->unk0 = 1; - sub3E0->unk1 = 1; - bpaHeader = sub3E0->bpaFile.iov_base; - sub3E0->unk10 = bpaHeader; + LoadFileFromRom(&subC4->bpaFile, textBuf, flags); + subC4->unk0 = 1; + subC4->unk1 = 1; + bpaHeader = subC4->bpaFile.iov_base; + subC4->unk10 = bpaHeader; r1 = &bpaHeader->durationPerFrame; r0 = r1 + bpaHeader->numFrames * 4; - sub3E0->unk14 = sub3E0->unk18 = r1; - sub3E0->unk1C = sub3E0->unk20 = r0; - sub3E0->unk2 = 0; - sub3E0->unk4 = *((u32 *)sub3E0->unk18); // hm... - sub3E0->unk24 = vramPtr; - sub3E0->unk28 = layerSpecs->bpaSlotNumTiles[r6] * 32; + subC4->unk14 = subC4->unk18 = r1; + subC4->unk1C = subC4->unk20 = r0; + subC4->unk2 = 0; + subC4->unk4 = *((u32 *)subC4->unk18); // hm... + subC4->unk24 = vramPtr; + subC4->unk28 = layerSpecs->bpaSlotNumTiles[r6] * 32; vramPtr += layerSpecs->bpaSlotNumTiles[r6] * 32; } } } - if (groundBg->unk52C.unk4 > 0) { + if (groundBg->unk2BC.unk4 > 0) { ov11_022EE620(groundBg, 1); } else { @@ -1551,7 +1549,7 @@ void LoadMapType10(GroundBg *groundBg, s32 bgId, const DungeonLocation *dungLoc, const void *bmaData; const void *bplData; struct Unk_022C3938 sp2C; - SubStruct_0 *sub0Ptr; + UnkGroundBg_4 *sub4Ptr; if (bgId == -1 || dungLoc->id == 0xff) { ov11_022EC08C(groundBg); @@ -1609,7 +1607,7 @@ void LoadMapType10(GroundBg *groundBg, s32 bgId, const DungeonLocation *dungLoc, struct UnkTwoPtrs unkPtrArray = zeros; unkPtrArray.ptrs[0] = groundBg->unk2D8; - bmaData = BmaLayerNrlDecompressor((void *) &unkPtrArray, bmaData, &groundBg->unk52C, &groundBg->bmaHeader); + bmaData = BmaLayerNrlDecompressor((void *) &unkPtrArray, bmaData, &groundBg->unk2BC, &groundBg->bmaHeader); } groundBg->unk1F0 = bmaData; @@ -1625,7 +1623,7 @@ void LoadMapType10(GroundBg *groundBg, s32 bgId, const DungeonLocation *dungLoc, groundBg->unk2D8); groundBg->unk17C = sp2C.unk0; groundBg->unk1B8 = sp2C.unk8; - groundBg->unk52C.unk18(groundBg->unk2D8, bmaData, bmaHeader, groundBg->unk52C.unk12); + groundBg->unk2BC.unk18(groundBg->unk2D8, bmaData, bmaHeader, groundBg->unk2BC.unk12); layerSpecs->numTiles = 512; for (i = 0; i < MAX_BPA_SLOTS; i++) { @@ -1637,11 +1635,11 @@ void LoadMapType10(GroundBg *groundBg, s32 bgId, const DungeonLocation *dungLoc, groundBg->bplHeader.hasPalAnimations = FALSE; if (groundBg->unk1B8 != NULL) { const RGB_Array *strPtr = groundBg->unk1B8; - struct UnkStruct_2324CBC_Sub98 *unkSubPtr = &ov11_02324CBC->unk98[groundBg->unk52C.unk0]; + struct UnkStruct_2324CBC_Sub98 *unkSubPtr = &ov11_02324CBC->unk98[groundBg->unk2BC.unk0]; u16 palId = 0; s32 i, j; - for (i = 0; i < 12 && i < groundBg->unk52C.unk8; i++) { + for (i = 0; i < 12 && i < groundBg->unk2BC.unk8; i++) { sub_0200A590(unkSubPtr, palId++, &ov11_02320BF4); strPtr++; for (j = 1; j < 16; j++) { @@ -1657,7 +1655,7 @@ void LoadMapType10(GroundBg *groundBg, s32 bgId, const DungeonLocation *dungLoc, } } - for (; i < groundBg->unk52C.unk8; i++) { + for (; i < groundBg->unk2BC.unk8; i++) { sub_0200A590(unkSubPtr, palId++, &ov11_02320BF4); for (j = 1; j < 16; j++) { sub_0200A590(unkSubPtr, palId++, &ov11_02320BE8); @@ -1667,8 +1665,8 @@ void LoadMapType10(GroundBg *groundBg, s32 bgId, const DungeonLocation *dungLoc, } groundBg->unk1EE = 0; - sub0Ptr = groundBg->unk0; - struct UnkStruct_2324CBC_Sub98 *unkSubPtr = &ov11_02324CBC->unk98[groundBg->unk52C.unk0]; + sub4Ptr = groundBg->unk4; + struct UnkStruct_2324CBC_Sub98 *unkSubPtr = &ov11_02324CBC->unk98[groundBg->unk2BC.unk0]; groundBg->unk1BC = 0; if (groundBg->unk194.unk8 != 0) { sub_02063628(&groundBg->unk1A0, unkSubPtr, 0x20); @@ -1681,24 +1679,24 @@ void LoadMapType10(GroundBg *groundBg, s32 bgId, const DungeonLocation *dungLoc, groundBg->unk1FA = 0; groundBg->unk1FB = 0; - for (s32 unk0Id = 0; unk0Id < UNK_0_ARR_COUNT; unk0Id++, sub0Ptr++) { - sub0Ptr->unk0 = 0; - sub0Ptr->unk2 = 0; - sub0Ptr->unk4 = sub0Ptr->unk8 = 0; + for (s32 unk4Id = 0; unk4Id < UNK_4_ARR_COUNT; unk4Id++, sub4Ptr++) { + sub4Ptr->unk0 = 0; + sub4Ptr->unk2 = 0; + sub4Ptr->unk4 = sub4Ptr->unk8 = 0; } - for (s32 unk3E0Id = 0; unk3E0Id < UNK_3E0_ARR_COUNT; unk3E0Id++) { - SubStruct_3E0 *sub3E0 = &groundBg->unk3E0[unk3E0Id]; - sub3E0->unk0 = 0; - sub3E0->unk1 = 0; - sub3E0->unk4 = 0; - sub3E0->unk2 = 0; - sub3E0->unk10 = 0; - sub3E0->unk18 = 0; - sub3E0->unk14 = 0; - sub3E0->unk20 = 0; - sub3E0->unk24 = sub3E0->unk1C = 0, - sub3E0->unk28 = 0; + for (s32 unkC4Id = 0; unkC4Id < UNK_C4_ARR_COUNT; unkC4Id++) { + UnkGroundBg_C4 *subC4 = &groundBg->unkC4[unkC4Id]; + subC4->unk0 = 0; + subC4->unk1 = 0; + subC4->unk4 = 0; + subC4->unk2 = 0; + subC4->unk10 = 0; + subC4->unk18 = 0; + subC4->unk14 = 0; + subC4->unk20 = 0; + subC4->unk24 = subC4->unk1C = 0, + subC4->unk28 = 0; } ov11_022EE620(groundBg, 1); @@ -1716,7 +1714,7 @@ void LoadMapType11(GroundBg *groundBg, s32 bgId, const DungeonLocation *dungLoc, s32 i; s32 sp24, sp28; struct Unk_022C3938 sp2C; - SubStruct_0 *sub0Ptr; + UnkGroundBg_4 *sub4Ptr; if (bgId == -1 || dungLoc->id == 0xff) { ov11_022EC08C(groundBg); @@ -1766,7 +1764,7 @@ void LoadMapType11(GroundBg *groundBg, s32 bgId, const DungeonLocation *dungLoc, groundBg->unk2D8); groundBg->unk17C = sp2C.unk0; groundBg->unk1B8 = sp2C.unk8; - groundBg->unk52C.unk18(groundBg->unk2D8, NULL, bmaHeader, groundBg->unk52C.unk12); + groundBg->unk2BC.unk18(groundBg->unk2D8, NULL, bmaHeader, groundBg->unk2BC.unk12); layerSpecs->numTiles = 512; for (i = 0; i < MAX_BPA_SLOTS; i++) { @@ -1778,11 +1776,11 @@ void LoadMapType11(GroundBg *groundBg, s32 bgId, const DungeonLocation *dungLoc, groundBg->bplHeader.hasPalAnimations = FALSE; if (groundBg->unk1B8 != NULL) { const RGB_Array *strPtr = groundBg->unk1B8; - struct UnkStruct_2324CBC_Sub98 *unkSubPtr = &ov11_02324CBC->unk98[groundBg->unk52C.unk0]; + struct UnkStruct_2324CBC_Sub98 *unkSubPtr = &ov11_02324CBC->unk98[groundBg->unk2BC.unk0]; u16 palId = 0; s32 i, j; - for (i = 0; i < 12 && i < groundBg->unk52C.unk8; i++) { + for (i = 0; i < 12 && i < groundBg->unk2BC.unk8; i++) { sub_0200A590(unkSubPtr, palId++, &ov11_02320BF4); strPtr++; for (j = 1; j < 16; j++) { @@ -1798,7 +1796,7 @@ void LoadMapType11(GroundBg *groundBg, s32 bgId, const DungeonLocation *dungLoc, } } - for (; i < groundBg->unk52C.unk8; i++) { + for (; i < groundBg->unk2BC.unk8; i++) { sub_0200A590(unkSubPtr, palId++, &ov11_02320BF4); for (j = 1; j < 16; j++) { sub_0200A590(unkSubPtr, palId++, &ov11_02320BE8); @@ -1808,8 +1806,8 @@ void LoadMapType11(GroundBg *groundBg, s32 bgId, const DungeonLocation *dungLoc, } groundBg->unk1EE = 0; - sub0Ptr = groundBg->unk0; - struct UnkStruct_2324CBC_Sub98 *unkSubPtr = &ov11_02324CBC->unk98[groundBg->unk52C.unk0]; + sub4Ptr = groundBg->unk4; + struct UnkStruct_2324CBC_Sub98 *unkSubPtr = &ov11_02324CBC->unk98[groundBg->unk2BC.unk0]; groundBg->unk1BC = 0; if (groundBg->unk194.unk8 != 0) { sub_02063628(&groundBg->unk1A0, unkSubPtr, 0x20); @@ -1822,24 +1820,24 @@ void LoadMapType11(GroundBg *groundBg, s32 bgId, const DungeonLocation *dungLoc, groundBg->unk1FA = 0; groundBg->unk1FB = 0; - for (s32 unk0Id = 0; unk0Id < UNK_0_ARR_COUNT; unk0Id++, sub0Ptr++) { - sub0Ptr->unk0 = 0; - sub0Ptr->unk2 = 0; - sub0Ptr->unk4 = sub0Ptr->unk8 = 0; + for (s32 unk4Id = 0; unk4Id < UNK_4_ARR_COUNT; unk4Id++, sub4Ptr++) { + sub4Ptr->unk0 = 0; + sub4Ptr->unk2 = 0; + sub4Ptr->unk4 = sub4Ptr->unk8 = 0; } - for (s32 unk3E0Id = 0; unk3E0Id < UNK_3E0_ARR_COUNT; unk3E0Id++) { - SubStruct_3E0 *sub3E0 = &groundBg->unk3E0[unk3E0Id]; - sub3E0->unk0 = 0; - sub3E0->unk1 = 0; - sub3E0->unk4 = 0; - sub3E0->unk2 = 0; - sub3E0->unk10 = 0; - sub3E0->unk18 = 0; - sub3E0->unk14 = 0; - sub3E0->unk20 = 0; - sub3E0->unk24 = sub3E0->unk1C = 0, - sub3E0->unk28 = 0; + for (s32 unkC4Id = 0; unkC4Id < UNK_C4_ARR_COUNT; unkC4Id++) { + UnkGroundBg_C4 *subC4 = &groundBg->unkC4[unkC4Id]; + subC4->unk0 = 0; + subC4->unk1 = 0; + subC4->unk4 = 0; + subC4->unk2 = 0; + subC4->unk10 = 0; + subC4->unk18 = 0; + subC4->unk14 = 0; + subC4->unk20 = 0; + subC4->unk24 = subC4->unk1C = 0, + subC4->unk28 = 0; } groundBg->unk2B8 = 1; @@ -1849,5 +1847,3 @@ void LoadMapType11(GroundBg *groundBg, s32 bgId, const DungeonLocation *dungLoc, TRY_CLOSE_FILE(groundBg->bpcFile); TRY_CLOSE_FILE(groundBg->bmaFile); } - -// diff --git a/src/ground_bg_1.c b/src/ground_bg_1.c index fe46fb19..fdfa95c8 100644 --- a/src/ground_bg_1.c +++ b/src/ground_bg_1.c @@ -2,7 +2,7 @@ // TODO: Merge with ground_bg.c once the functions in the middle are decompiled -const u8 * BmaLayerNrlDecompressor(u16 **dstArray, const void *bmaData, SubStruct_52C *a2, BmaHeader *bmaHeader) +const u8 * BmaLayerNrlDecompressor(u16 **dstArray, const void *bmaData, UnkGroundBg_2BC *a2, BmaHeader *bmaHeader) { s32 i, k, j, l; const u8 *src = bmaData; diff --git a/src/main_0200330C.c b/src/main_0200330C.c index ea80e35a..2e1f034a 100644 --- a/src/main_0200330C.c +++ b/src/main_0200330C.c @@ -1,17 +1,17 @@ #include "main_0200330C.h" -void ZInit8(int* ptr) +void ZInit8(struct iovec* ptr) { - ptr[0]=0; - ptr[1]=0; + ptr->iov_base = NULL; + ptr->iov_len = 0; } -u8 PointsToZero(int* ptr) +bool8 PointsToZero(struct iovec* ptr) { - if (*ptr == 0) { - return 1; + if (ptr->iov_base == NULL) { + return TRUE; } else { - return 0; + return FALSE; } } diff --git a/tools/sync_pmdsky_debug/xmap_reader.py b/tools/sync_pmdsky_debug/xmap_reader.py index 367333ea..9a682012 100644 --- a/tools/sync_pmdsky_debug/xmap_reader.py +++ b/tools/sync_pmdsky_debug/xmap_reader.py @@ -10,7 +10,8 @@ MAIN_LSF_PATH = 'main.lsf' # Symbols with duplicate addresses that should be ignored. XMAP_SYMBOL_BLACKLIST = set([ - 'AI_POTENTIAL_ATTACK_TARGET_WEIGHTS_2' + 'AI_POTENTIAL_ATTACK_TARGET_WEIGHTS_2', + 'zeros$498' ]) """