diff options
Diffstat (limited to 'asm')
34 files changed, 843 insertions, 29560 deletions
diff --git a/asm/battle_anim_80A9C70.s b/asm/battle_anim_80A9C70.s index 755653156..3515b973e 100644 --- a/asm/battle_anim_80A9C70.s +++ b/asm/battle_anim_80A9C70.s @@ -623,8 +623,8 @@ _080AA186: bx r0 thumb_func_end sub_80AA124 - thumb_func_start sub_80AA18C -sub_80AA18C: @ 80AA18C + thumb_func_start AnimTask_StatsChange +AnimTask_StatsChange: @ 80AA18C push {r4,r5,lr} lsls r0, 24 lsrs r4, r0, 24 @@ -853,7 +853,7 @@ _080AA352: pop {r0} bx r0 .pool - thumb_func_end sub_80AA18C + thumb_func_end AnimTask_StatsChange thumb_func_start LaunchStatusAnimation LaunchStatusAnimation: @ 80AA364 diff --git a/asm/battle_frontier_1.s b/asm/battle_frontier_1.s index 729140801..e353cb475 100644 --- a/asm/battle_frontier_1.s +++ b/asm/battle_frontier_1.s @@ -6481,7 +6481,7 @@ _0819218E: mov r0, r9 cmp r0, 0 bne _081921C4 - ldr r0, =CB2_ReturnToFieldContinueScript + ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic bl SetMainCallback2 b _081921FC .pool @@ -9539,7 +9539,7 @@ _08193B84: ldr r0, [r4] bl Free str r6, [r4] - ldr r0, =CB2_ReturnToFieldContinueScript + ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic bl SetMainCallback2 ldr r1, =gTasks lsls r0, r5, 2 @@ -11320,7 +11320,7 @@ _08194B24: ands r0, r1 cmp r0, 0 bne _08194B3C - ldr r0, =CB2_ReturnToFieldContinueScript + ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic bl SetMainCallback2 adds r0, r4, 0 bl DestroyTask @@ -13887,7 +13887,7 @@ task_prev_quest: @ 81960A8 cmp r0, 0 bne _081960C2 bl ScriptContext2_Enable - bl FreezeMapObjects + bl FreezeEventObjects bl sub_808B864 bl sub_808BCF4 _081960C2: @@ -14285,18 +14285,18 @@ sub_81963F0: @ 81963F0 movs r0, 0xFF movs r1, 0 movs r2, 0 - bl GetFieldObjectIdByLocalIdAndMap + bl GetEventObjectIdByLocalIdAndMap adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, =gMapObjects + ldr r1, =gEventObjects adds r0, r1 - bl FieldObjectClearAnimIfSpecialAnimFinished + bl EventObjectClearHeldMovementIfFinished bl sub_80D338C - bl UnfreezeMapObjects + bl UnfreezeEventObjects bl ScriptContext2_Disable _08196446: movs r0, 0x1 diff --git a/asm/battle_frontier_2.s b/asm/battle_frontier_2.s index 7f2dbcc73..2ab474037 100644 --- a/asm/battle_frontier_2.s +++ b/asm/battle_frontier_2.s @@ -1321,7 +1321,7 @@ _0819AFB8: bl Free str r5, [r7] bl FreeAllWindowBuffers - ldr r0, =sub_80861B0 + ldr r0, =CB2_ReturnToFieldContinueScript bl SetMainCallback2 adds r0, r6, 0 bl DestroyTask @@ -4491,7 +4491,7 @@ _0819CAA4: bl Free str r5, [r7] bl FreeAllWindowBuffers - ldr r0, =sub_80861B0 + ldr r0, =CB2_ReturnToFieldContinueScript bl SetMainCallback2 adds r0, r6, 0 bl DestroyTask @@ -12444,7 +12444,7 @@ _081A0C8E: sub_81A0C9C: @ 81A0C9C push {lr} bl ScriptContext2_Enable - bl FreezeMapObjects + bl FreezeEventObjects bl sub_808B864 bl sub_808BCF4 movs r0, 0 @@ -19871,8 +19871,8 @@ _081A4C84: .pool thumb_func_end sub_81A4C30 - thumb_func_start sub_81A4CB0 -sub_81A4CB0: @ 81A4CB0 + thumb_func_start GetFrontierBrainTrainerPicIndex +GetFrontierBrainTrainerPicIndex: @ 81A4CB0 push {lr} ldr r0, =gBattleTypeFlags ldr r0, [r0] @@ -19881,7 +19881,7 @@ sub_81A4CB0: @ 81A4CB0 ands r0, r1 cmp r0, 0 beq _081A4CD0 - bl sub_8185EA0 + bl GetRecordedBattleFrontierFacility lsls r0, 24 lsrs r0, 24 b _081A4CDA @@ -19893,7 +19893,7 @@ _081A4CD0: lsrs r0, 16 _081A4CDA: ldr r2, =gTrainers - ldr r1, =gUnknown_08611D30 + ldr r1, =gFacilityToBrainTrainerId lsls r0, 1 adds r0, r1 ldrh r1, [r0] @@ -19905,10 +19905,10 @@ _081A4CDA: pop {r1} bx r1 .pool - thumb_func_end sub_81A4CB0 + thumb_func_end GetFrontierBrainTrainerPicIndex - thumb_func_start sub_81A4D00 -sub_81A4D00: @ 81A4D00 + thumb_func_start GetFrontierBrainTrainerClass +GetFrontierBrainTrainerClass: @ 81A4D00 push {lr} ldr r0, =gBattleTypeFlags ldr r0, [r0] @@ -19917,7 +19917,7 @@ sub_81A4D00: @ 81A4D00 ands r0, r1 cmp r0, 0 beq _081A4D20 - bl sub_8185EA0 + bl GetRecordedBattleFrontierFacility lsls r0, 24 lsrs r0, 24 b _081A4D2A @@ -19929,7 +19929,7 @@ _081A4D20: lsrs r0, 16 _081A4D2A: ldr r2, =gTrainers - ldr r1, =gUnknown_08611D30 + ldr r1, =gFacilityToBrainTrainerId lsls r0, 1 adds r0, r1 ldrh r1, [r0] @@ -19941,10 +19941,10 @@ _081A4D2A: pop {r1} bx r1 .pool - thumb_func_end sub_81A4D00 + thumb_func_end GetFrontierBrainTrainerClass - thumb_func_start sub_81A4D50 -sub_81A4D50: @ 81A4D50 + thumb_func_start CopyFrontierBrainTrainerName +CopyFrontierBrainTrainerName: @ 81A4D50 push {r4,lr} adds r4, r0, 0 ldr r0, =gBattleTypeFlags @@ -19954,7 +19954,7 @@ sub_81A4D50: @ 81A4D50 ands r0, r1 cmp r0, 0 beq _081A4D70 - bl sub_8185EA0 + bl GetRecordedBattleFrontierFacility lsls r0, 24 lsrs r0, 24 b _081A4D7A @@ -19968,7 +19968,7 @@ _081A4D7A: movs r3, 0 lsls r0, 1 ldr r2, =gTrainers - ldr r1, =gUnknown_08611D30 + ldr r1, =gFacilityToBrainTrainerId adds r0, r1 ldrh r1, [r0] lsls r0, r1, 2 @@ -19991,7 +19991,7 @@ _081A4D90: pop {r0} bx r0 .pool - thumb_func_end sub_81A4D50 + thumb_func_end CopyFrontierBrainTrainerName thumb_func_start sub_81A4DB8 sub_81A4DB8: @ 81A4DB8 @@ -20483,7 +20483,7 @@ sub_81A51A8: @ 81A51A8 ands r0, r1 cmp r0, 0 beq _081A51D4 - bl sub_8185EA0 + bl GetRecordedBattleFrontierFacility lsls r0, 24 lsrs r4, r0, 24 bl sub_8185EAC @@ -20646,29 +20646,29 @@ _081A5328: ldr r4, =gDisplayedStringBattle adds r0, r4, 0 movs r1, 0xF - bl BattleHandleAddTextPrinter + bl BattlePutTextOnWindow ldr r0, =gText_Vs movs r1, 0x10 - bl BattleHandleAddTextPrinter + bl BattlePutTextOnWindow ldr r0, =gText_OpponentMon1Name bl BattleStringExpandPlaceholdersToDisplayedString adds r0, r4, 0 movs r1, 0x11 - bl BattleHandleAddTextPrinter + bl BattlePutTextOnWindow ldr r0, =gText_Mind movs r1, 0x12 - bl BattleHandleAddTextPrinter + bl BattlePutTextOnWindow ldr r0, =gText_Skill movs r1, 0x13 - bl BattleHandleAddTextPrinter + bl BattlePutTextOnWindow ldr r0, =gText_Body movs r1, 0x14 - bl BattleHandleAddTextPrinter + bl BattlePutTextOnWindow ldr r0, =gText_Judgement bl BattleStringExpandPlaceholdersToDisplayedString adds r0, r4, 0 movs r1, 0x15 - bl BattleHandleAddTextPrinter + bl BattlePutTextOnWindow b _081A553E .pool _081A53B4: @@ -20752,7 +20752,7 @@ _081A5464: bl BattleStringExpandPlaceholdersToDisplayedString ldr r0, =gDisplayedStringBattle movs r1, 0x15 - bl BattleHandleAddTextPrinter + bl BattlePutTextOnWindow ldrb r0, [r5] adds r0, 0x1 strb r0, [r5] @@ -27213,16 +27213,16 @@ _081A896E: movs r0, 0xFF movs r1, 0 movs r2, 0 - bl GetFieldObjectIdByLocalIdAndMap + bl GetEventObjectIdByLocalIdAndMap adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, =gMapObjects + ldr r1, =gEventObjects adds r0, r1 - bl FieldObjectClearAnimIfSpecialAnimFinished + bl EventObjectClearHeldMovementIfFinished bl sub_80D338C pop {r4} pop {r0} @@ -27355,7 +27355,7 @@ _081A8A74: ldr r2, [r6] ldrb r1, [r2, 0x5] ldrb r2, [r2, 0x4] - bl GetFieldObjectIdByLocalIdAndMap + bl GetEventObjectIdByLocalIdAndMap lsls r0, 24 lsrs r0, 24 cmp r0, 0x10 @@ -27511,14 +27511,14 @@ _081A8BB4: ldr r2, [r1] ldrb r1, [r2, 0x5] ldrb r2, [r2, 0x4] - bl GetFieldObjectIdByLocalIdAndMap + bl GetEventObjectIdByLocalIdAndMap lsls r0, 24 lsrs r2, r0, 24 cmp r2, 0x10 bne _081A8BDC b _081A8D32 _081A8BDC: - ldr r0, =gMapObjects + ldr r0, =gEventObjects lsls r1, r2, 3 adds r1, r2 lsls r1, 2 @@ -28521,8 +28521,8 @@ sub_81A9424: @ 81A9424 lsls r1, 4 adds r1, r0 mov r8, r1 - ldr r2, =gMapObjects - ldr r0, =gSelectedMapObject + ldr r2, =gEventObjects + ldr r0, =gSelectedEventObject ldrb r1, [r0] lsls r0, r1, 3 adds r0, r1 @@ -28569,8 +28569,8 @@ _081A9488: mov r9, r0 _081A94AE: ldr r3, =gUnknown_08613ED8 - ldr r2, =gMapObjects - ldr r0, =gSelectedMapObject + ldr r2, =gEventObjects + ldr r0, =gSelectedEventObject ldrb r1, [r0] lsls r0, r1, 3 adds r0, r1 @@ -29181,7 +29181,7 @@ sub_81A9998: @ 81A9998 mov r8, r0 ldr r1, =0x0000028e mov r12, r1 - ldr r0, =gMapObjects + ldr r0, =gEventObjects mov r9, r0 _081A99CC: movs r2, 0 @@ -29194,7 +29194,7 @@ _081A99CE: cmp r0, r12 bne _081A9A8A adds r2, 0x7 - ldr r0, =gSelectedMapObject + ldr r0, =gSelectedEventObject ldrb r1, [r0] lsls r0, r1, 3 adds r0, r1 @@ -29322,7 +29322,7 @@ GetBattlePyramidTrainerFlag: @ 81A9AC4 ldr r1, =0x00000e2a adds r2, r1 ldr r4, =gBitTable - ldr r3, =gMapObjects + ldr r3, =gEventObjects lsls r1, r0, 3 adds r1, r0 lsls r1, 2 @@ -29354,8 +29354,8 @@ sub_81A9B04: @ 81A9B04 cmp r0, 0 beq _081A9B2E movs r0, 0x1 - bl GetChosenApproachingTrainerMapObjectId - ldr r1, =gSelectedMapObject + bl GetChosenApproachingTrainerEventObjectId + ldr r1, =gSelectedEventObject strb r0, [r1] ldr r0, =gTrainerBattleOpponent_B ldrh r0, [r0] @@ -29376,9 +29376,9 @@ sub_81A9B44: @ 81A9B44 lsls r0, 16 lsrs r5, r0, 16 movs r3, 0 - ldr r0, =gMapObjects + ldr r0, =gEventObjects mov r12, r0 - ldr r6, =gSelectedMapObject + ldr r6, =gSelectedEventObject ldr r1, =gSaveBlock1Ptr mov r10, r1 ldr r7, =gSaveBlock2Ptr @@ -30026,7 +30026,7 @@ _081AA0A6: ldr r2, =0x00000169 adds r0, r2 lsls r0, 2 - ldr r1, =gMapAttributes + ldr r1, =gMapLayouts adds r0, r1 ldr r6, [r0] ldr r2, [r6, 0xC] diff --git a/asm/battle_tent.s b/asm/battle_tent.s index 8253d4f98..c967390d0 100644 --- a/asm/battle_tent.s +++ b/asm/battle_tent.s @@ -5,586 +5,6 @@ .text - thumb_func_start sub_81B99B4 -sub_81B99B4: @ 81B99B4 - push {lr} - ldr r1, =gUnknown_086160B4 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B99B4 - - thumb_func_start sub_81B99D4 -sub_81B99D4: @ 81B99D4 - push {lr} - ldr r1, =gSaveBlock2Ptr - ldr r0, [r1] - ldr r2, =0x00000ca8 - adds r0, r2 - movs r2, 0 - strb r2, [r0] - ldr r1, [r1] - ldr r3, =0x00000cb2 - adds r0, r1, r3 - strh r2, [r0] - ldr r0, =0x00000ca9 - adds r1, r0 - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - movs r1, 0x4 - ldrsb r1, [r0, r1] - movs r2, 0x5 - ldrsb r2, [r0, r2] - movs r3, 0x1 - negs r3, r3 - movs r0, 0 - bl saved_warp2_set - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B99D4 - - thumb_func_start sub_81B9A28 -sub_81B9A28: @ 81B9A28 - ldr r1, =gSpecialVar_Result - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r2, =0x00000e6a - adds r0, r2 - ldrh r0, [r0] - strh r0, [r1] - bx lr - .pool - thumb_func_end sub_81B9A28 - - thumb_func_start sub_81B9A44 -sub_81B9A44: @ 81B9A44 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =gSpecialVar_0x8006 - ldrh r1, [r1] - ldr r2, =0x00000e6a - adds r0, r2 - strh r1, [r0] - bx lr - .pool - thumb_func_end sub_81B9A44 - - thumb_func_start sub_81B9A60 -sub_81B9A60: @ 81B9A60 - push {r4,lr} - ldr r4, =gTrainerBattleOpponent_A - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xFF - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - lsls r1, r0, 2 - adds r1, r0 - lsrs r1, 6 - strh r1, [r4] - ldrh r0, [r4] - movs r1, 0 - bl sub_8162614 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B9A60 - - thumb_func_start sub_81B9A90 -sub_81B9A90: @ 81B9A90 - push {lr} - ldr r3, =gTrainerBattleOpponent_A - ldrh r1, [r3] - ldr r0, =0x0000012b - cmp r1, r0 - bhi _081B9AAC - ldr r2, =gUnknown_0203BC88 - movs r0, 0x34 - muls r1, r0 - ldr r0, [r2] - adds r0, r1 - adds r0, 0xC - bl ConvertBattleFrontierTrainerSpeechToString -_081B9AAC: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B9A90 - - thumb_func_start sub_81B9ABC -sub_81B9ABC: @ 81B9ABC - push {r4,lr} - ldr r4, =gSaveBlock2Ptr - ldr r0, [r4] - ldr r1, =gSpecialVar_0x8005 - ldrh r1, [r1] - ldr r2, =0x00000ca8 - adds r0, r2 - strb r1, [r0] - movs r0, 0x80 - lsls r0, 7 - movs r1, 0 - bl VarSet - ldr r1, [r4] - ldr r0, =0x00000ca9 - adds r1, r0 - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - bl sub_81A4C30 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B9ABC - - thumb_func_start sub_81B9B00 -sub_81B9B00: @ 81B9B00 - push {r4,r5,lr} - ldr r0, =gSaveBlock2Ptr - ldr r4, [r0] - ldr r5, =gUnknown_086160D4 - bl Random - ldrh r0, [r5] - ldr r1, =0x00000e6a - adds r4, r1 - strh r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B9B00 - - thumb_func_start sub_81B9B28 -sub_81B9B28: @ 81B9B28 - push {r4,r5,lr} - ldr r4, =gSaveBlock2Ptr - ldr r0, [r4] - ldr r1, =0x00000e6a - adds r0, r1 - ldrh r0, [r0] - movs r1, 0x1 - bl AddBagItem - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x1 - bne _081B9B70 - ldr r0, [r4] - ldr r1, =0x00000e6a - adds r0, r1 - ldrh r0, [r0] - ldr r1, =gStringVar1 - bl CopyItemName - ldr r0, [r4] - ldr r1, =0x00000e6a - adds r0, r1 - movs r1, 0 - strh r1, [r0] - ldr r0, =gSpecialVar_Result - strh r5, [r0] - b _081B9B76 - .pool -_081B9B70: - ldr r1, =gSpecialVar_Result - movs r0, 0 - strh r0, [r1] -_081B9B76: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B9B28 - - thumb_func_start sub_81B9B80 -sub_81B9B80: @ 81B9B80 - push {lr} - ldr r1, =gUnknown_086160D8 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B9B80 - - thumb_func_start sub_81B9BA0 -sub_81B9BA0: @ 81B9BA0 - push {lr} - ldr r1, =gSaveBlock2Ptr - ldr r0, [r1] - ldr r2, =0x00000ca8 - adds r0, r2 - movs r2, 0 - strb r2, [r0] - ldr r1, [r1] - ldr r3, =0x00000cb2 - adds r0, r1, r3 - strh r2, [r0] - ldr r0, =0x00000ca9 - adds r1, r0 - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - movs r1, 0x4 - ldrsb r1, [r0, r1] - movs r2, 0x5 - ldrsb r2, [r0, r2] - movs r3, 0x1 - negs r3, r3 - movs r0, 0 - bl saved_warp2_set - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B9BA0 - - thumb_func_start sub_81B9BF4 -sub_81B9BF4: @ 81B9BF4 - ldr r1, =gSpecialVar_Result - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r2, =0x00000e6c - adds r0, r2 - ldrh r0, [r0] - strh r0, [r1] - bx lr - .pool - thumb_func_end sub_81B9BF4 - - thumb_func_start sub_81B9C10 -sub_81B9C10: @ 81B9C10 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =gSpecialVar_0x8006 - ldrh r1, [r1] - ldr r2, =0x00000e6c - adds r0, r2 - strh r1, [r0] - bx lr - .pool - thumb_func_end sub_81B9C10 - - thumb_func_start sub_81B9C2C -sub_81B9C2C: @ 81B9C2C - push {r4,lr} - ldr r4, =gSaveBlock2Ptr - ldr r0, [r4] - ldr r1, =gSpecialVar_0x8005 - ldrh r1, [r1] - ldr r2, =0x00000ca8 - adds r0, r2 - strb r1, [r0] - movs r0, 0x80 - lsls r0, 7 - movs r1, 0 - bl VarSet - ldr r1, [r4] - ldr r0, =0x00000ca9 - adds r1, r0 - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - bl sub_81A4C30 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B9C2C - - thumb_func_start sub_81B9C70 -sub_81B9C70: @ 81B9C70 - push {r4,r5,lr} - ldr r0, =gSaveBlock2Ptr - ldr r4, [r0] - ldr r5, =gUnknown_086160F4 - bl Random - ldrh r0, [r5] - ldr r1, =0x00000e6c - adds r4, r1 - strh r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B9C70 - - thumb_func_start sub_81B9C98 -sub_81B9C98: @ 81B9C98 - push {r4,r5,lr} - ldr r4, =gSaveBlock2Ptr - ldr r0, [r4] - ldr r1, =0x00000e6c - adds r0, r1 - ldrh r0, [r0] - movs r1, 0x1 - bl AddBagItem - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x1 - bne _081B9CE0 - ldr r0, [r4] - ldr r1, =0x00000e6c - adds r0, r1 - ldrh r0, [r0] - ldr r1, =gStringVar1 - bl CopyItemName - ldr r0, [r4] - ldr r1, =0x00000e6c - adds r0, r1 - movs r1, 0 - strh r1, [r0] - ldr r0, =gSpecialVar_Result - strh r5, [r0] - b _081B9CE6 - .pool -_081B9CE0: - ldr r1, =gSpecialVar_Result - movs r0, 0 - strh r0, [r1] -_081B9CE6: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B9C98 - - thumb_func_start sub_81B9CF0 -sub_81B9CF0: @ 81B9CF0 - push {lr} - ldr r0, =gStringVar1 - ldr r1, =gTrainerBattleOpponent_A - ldrh r1, [r1] - bl GetFrontierTrainerName - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B9CF0 - - thumb_func_start sub_81B9D08 -sub_81B9D08: @ 81B9D08 - push {lr} - ldr r1, =gUnknown_086160F8 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B9D08 - - thumb_func_start sub_81B9D28 -sub_81B9D28: @ 81B9D28 - push {lr} - ldr r1, =gSaveBlock2Ptr - ldr r0, [r1] - ldr r2, =0x00000ca8 - adds r0, r2 - movs r2, 0 - strb r2, [r0] - ldr r1, [r1] - ldr r3, =0x00000cb2 - adds r0, r1, r3 - strh r2, [r0] - ldr r0, =0x00000ca9 - adds r1, r0 - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - movs r1, 0x4 - ldrsb r1, [r0, r1] - movs r2, 0x5 - ldrsb r2, [r0, r2] - movs r3, 0x1 - negs r3, r3 - movs r0, 0 - bl saved_warp2_set - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B9D28 - - thumb_func_start sub_81B9D7C -sub_81B9D7C: @ 81B9D7C - ldr r1, =gSpecialVar_Result - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r2, =0x00000e6e - adds r0, r2 - ldrh r0, [r0] - strh r0, [r1] - bx lr - .pool - thumb_func_end sub_81B9D7C - - thumb_func_start sub_81B9D98 -sub_81B9D98: @ 81B9D98 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =gSpecialVar_0x8006 - ldrh r1, [r1] - ldr r2, =0x00000e6e - adds r0, r2 - strh r1, [r0] - bx lr - .pool - thumb_func_end sub_81B9D98 - - thumb_func_start sub_81B9DB4 -sub_81B9DB4: @ 81B9DB4 - push {r4,lr} - ldr r4, =gSaveBlock2Ptr - ldr r0, [r4] - ldr r1, =gSpecialVar_0x8005 - ldrh r1, [r1] - ldr r2, =0x00000ca8 - adds r0, r2 - strb r1, [r0] - movs r0, 0x80 - lsls r0, 7 - movs r1, 0 - bl VarSet - ldr r1, [r4] - ldr r0, =0x00000ca9 - adds r1, r0 - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - bl sub_81A4C30 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B9DB4 - - thumb_func_start sub_81B9DF8 -sub_81B9DF8: @ 81B9DF8 - push {r4,r5,lr} - ldr r0, =gSaveBlock2Ptr - ldr r4, [r0] - ldr r5, =gUnknown_08616120 - bl Random - ldrh r0, [r5] - ldr r1, =0x00000e6e - adds r4, r1 - strh r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B9DF8 - - thumb_func_start sub_81B9E20 -sub_81B9E20: @ 81B9E20 - push {r4,r5,lr} - ldr r4, =gSaveBlock2Ptr - ldr r0, [r4] - ldr r1, =0x00000e6e - adds r0, r1 - ldrh r0, [r0] - movs r1, 0x1 - bl AddBagItem - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x1 - bne _081B9E68 - ldr r0, [r4] - ldr r1, =0x00000e6e - adds r0, r1 - ldrh r0, [r0] - ldr r1, =gStringVar1 - bl CopyItemName - ldr r0, [r4] - ldr r1, =0x00000e6e - adds r0, r1 - movs r1, 0 - strh r1, [r0] - ldr r0, =gSpecialVar_Result - strh r5, [r0] - b _081B9E6E - .pool -_081B9E68: - ldr r1, =gSpecialVar_Result - movs r0, 0 - strh r0, [r1] -_081B9E6E: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B9E20 - - thumb_func_start sub_81B9E78 -sub_81B9E78: @ 81B9E78 - push {lr} - bl ZeroPlayerPartyMons - bl sub_819A4F8 - pop {r0} - bx r0 - thumb_func_end sub_81B9E78 - - thumb_func_start sub_81B9E88 -sub_81B9E88: @ 81B9E88 - push {lr} - bl sub_819DC00 - pop {r0} - bx r0 - thumb_func_end sub_81B9E88 - - thumb_func_start sub_81B9E94 -sub_81B9E94: @ 81B9E94 - push {lr} - movs r2, 0 - ldr r1, =gMapHeader - ldrb r0, [r1, 0x14] - cmp r0, 0x8 - bne _081B9EB2 - ldr r3, =0xfffffe7f - adds r0, r3, 0 - ldrh r1, [r1, 0x12] - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bhi _081B9EB2 - movs r2, 0x1 -_081B9EB2: - adds r0, r2, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81B9E94 thumb_func_start sub_81B9EC0 sub_81B9EC0: @ 81B9EC0 diff --git a/asm/battle_tower.s b/asm/battle_tower.s index 6cee2dc0a..7340ea1ce 100644 --- a/asm/battle_tower.s +++ b/asm/battle_tower.s @@ -1353,7 +1353,7 @@ _08162AD0: ldr r0, =0x000003fe cmp r4, r0 bne _08162AE4 - bl sub_81A4CB0 + bl GetFrontierBrainTrainerPicIndex lsls r0, 24 lsrs r0, 24 b _08162BCA @@ -1479,7 +1479,7 @@ _08162C08: ldr r0, =0x000003fe cmp r4, r0 bne _08162C1C - bl sub_81A4D00 + bl GetFrontierBrainTrainerClass lsls r0, 24 lsrs r0, 24 b _08162D1E @@ -1729,7 +1729,7 @@ _08162E54: cmp r5, r0 bne _08162E68 adds r0, r6, 0 - bl sub_81A4D50 + bl CopyFrontierBrainTrainerName b _08162F62 .pool _08162E68: @@ -3172,7 +3172,7 @@ _08163A3C: _08163A74: bl sub_816537C _08163A78: - ldr r0, =CB2_ReturnToFieldContinueScript + ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic bl SetMainCallback2 add sp, 0x4 pop {r4-r6} @@ -3746,7 +3746,7 @@ _08163FF4: ldr r0, [r6] ldr r1, =0x0000064c adds r0, r1 - bl sub_8164F70 + bl CalcEmeraldBattleTowerChecksum bl sub_8163E90 pop {r3,r4} mov r8, r3 @@ -5484,8 +5484,8 @@ _08164F52: .pool thumb_func_end sub_8164ED8 - thumb_func_start sub_8164F70 -sub_8164F70: @ 8164F70 + thumb_func_start CalcEmeraldBattleTowerChecksum +CalcEmeraldBattleTowerChecksum: @ 8164F70 push {r4,lr} adds r2, r0, 0 adds r2, 0xE8 @@ -5504,7 +5504,7 @@ _08164F7E: pop {r4} pop {r0} bx r0 - thumb_func_end sub_8164F70 + thumb_func_end CalcEmeraldBattleTowerChecksum thumb_func_start sub_8164F94 sub_8164F94: @ 8164F94 @@ -6750,7 +6750,7 @@ _08165988: ldr r1, [sp, 0x10] bl CpuSet adds r0, r5, 0 - bl sub_8164F70 + bl CalcEmeraldBattleTowerChecksum movs r0, 0x1 _081659BE: add sp, 0x14 diff --git a/asm/cable_car.s b/asm/cable_car.s index bfb96cb9b..59245a1b2 100644 --- a/asm/cable_car.s +++ b/asm/cable_car.s @@ -1956,7 +1956,7 @@ _08150D86: str r2, [sp] movs r2, 0xC8 movs r3, 0x49 - bl AddPseudoFieldObject + bl AddPseudoEventObject lsls r0, 24 lsrs r6, r0, 24 cmp r6, 0x40 @@ -2062,7 +2062,7 @@ _08150E68: str r2, [sp] movs r2, 0x80 movs r3, 0x27 - bl AddPseudoFieldObject + bl AddPseudoEventObject lsls r0, 24 lsrs r6, r0, 24 cmp r6, 0x40 @@ -2195,7 +2195,7 @@ _08150F3E: ldrsh r3, [r3, r4] movs r4, 0x6A str r4, [sp] - bl AddPseudoFieldObject + bl AddPseudoEventObject lsls r0, 24 lsrs r6, r0, 24 cmp r6, 0x40 diff --git a/asm/cable_club.s b/asm/cable_club.s index 7ef499226..0297c2f80 100644 --- a/asm/cable_club.s +++ b/asm/cable_club.s @@ -795,7 +795,7 @@ sub_80B2A08: @ 80B2A08 ldrh r0, [r0] cmp r0, 0x4 bne _080B2A38 - bl sub_800A064 + bl Link_AnyPartnersPlayingRubyOrSapphire cmp r0, 0 bne _080B2A4A bl sub_800AC34 @@ -2586,7 +2586,7 @@ sp02A_crash_sound: @ 80B39BC push {lr} ldr r0, =gSpecialVar_0x8006 ldrb r0, [r0] - ldr r1, =CB2_ReturnToFieldContinueScript + ldr r1, =CB2_ReturnToFieldContinueScriptPlayMapMusic bl sub_80C4E74 pop {r0} bx r0 diff --git a/asm/contest_link_80F57C4.s b/asm/contest_link_80F57C4.s index 53f653bdf..9eefa154f 100644 --- a/asm/contest_link_80F57C4.s +++ b/asm/contest_link_80F57C4.s @@ -1420,8 +1420,8 @@ _080F64F2: bl LoadCompressedObjectPalette adds r0, r6, 0 movs r1, 0x1 - bl sub_806A068 - ldr r0, =gUnknown_0202499C + bl SetMultiuseSpriteTemplateToPokemon + ldr r0, =gMultiuseSpriteTemplate ldrh r1, [r4, 0x4] strh r1, [r0, 0x2] movs r1, 0x88 @@ -1825,7 +1825,7 @@ _080F6884: adds r0, r5, 0 bl DestroyTask bl FreeAllWindowBuffers - ldr r0, =CB2_ReturnToFieldContinueScript + ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic bl SetMainCallback2 bl sub_80F7E64 _080F68A8: diff --git a/asm/easy_chat.s b/asm/easy_chat.s index 7f2a7ca88..4ee0fa2ae 100644 --- a/asm/easy_chat.s +++ b/asm/easy_chat.s @@ -623,7 +623,7 @@ _0811A7C2: bl overworld_free_bg_tilemaps ldr r0, =gSpecialVar_0x8004 ldrb r0, [r0] - ldr r2, =sub_80861B0 + ldr r2, =CB2_ReturnToFieldContinueScript adds r1, r4, 0 adds r3, r5, 0 bl sub_811A20C @@ -760,7 +760,7 @@ sub_811A8CC: @ 811A8CC ldr r1, [r0] ldr r0, =0x00003b6e adds r1, r0 - ldr r2, =sub_80861B0 + ldr r2, =CB2_ReturnToFieldContinueScript movs r0, 0xF movs r3, 0x3 bl sub_811A20C @@ -776,7 +776,7 @@ sub_811A8F0: @ 811A8F0 ldr r1, [r0] ldr r0, =0x00003b5a adds r1, r0 - ldr r2, =sub_80861B0 + ldr r2, =CB2_ReturnToFieldContinueScript movs r0, 0x10 movs r3, 0x3 bl sub_811A20C @@ -792,7 +792,7 @@ sub_811A914: @ 811A914 ldr r1, [r0] ldr r0, =0x00003b6c adds r1, r0 - ldr r2, =sub_80861B0 + ldr r2, =CB2_ReturnToFieldContinueScript movs r0, 0x12 movs r3, 0x3 bl sub_811A20C @@ -808,7 +808,7 @@ sub_811A938: @ 811A938 ldr r1, [r0] ldr r0, =0x00003b5a adds r1, r0 - ldr r2, =sub_80861B0 + ldr r2, =CB2_ReturnToFieldContinueScript movs r0, 0x11 movs r3, 0x3 bl sub_811A20C @@ -3691,7 +3691,7 @@ sub_811BDF0: @ 811BDF0 adds r6, r0, 0 ldr r0, =gSaveBlock1Ptr ldr r4, [r0] - bl UnkTextUtil_Reset + bl DynamicPlaceholderTextUtil_Reset ldr r0, =0x00003b70 adds r5, r4, r0 adds r0, r5, 0 @@ -3707,17 +3707,17 @@ sub_811BDF0: @ 811BDF0 bl TVShowConvertInternationalString movs r0, 0 mov r1, sp - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr b _0811BE3C .pool _0811BE34: ldr r1, =gText_Lady movs r0, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr _0811BE3C: ldr r1, =gText_F700sQuiz adds r0, r6, 0 - bl UnkTextUtil_StringExpandPlaceholders + bl DynamicPlaceholderTextUtil_ExpandPlaceholders add sp, 0x20 pop {r4-r6} pop {r0} @@ -5988,7 +5988,7 @@ sub_811D0BC: @ 811D0BC movs r0, 0x1 movs r1, 0x1 movs r2, 0xE0 - bl sub_809882C + bl LoadUserWindowBorderGfx movs r0, 0x1 movs r1, 0x1 movs r2, 0xE @@ -8988,7 +8988,7 @@ _0811E852: adds r1, r5, 0 movs r2, 0x4C movs r3, 0x28 - bl AddPseudoFieldObject + bl AddPseudoEventObject lsls r0, 24 lsrs r2, r0, 24 cmp r2, 0x40 @@ -9019,7 +9019,7 @@ _0811E8A0: adds r1, r5, 0 movs r2, 0x34 movs r3, 0x28 - bl AddPseudoFieldObject + bl AddPseudoEventObject lsls r0, 24 lsrs r2, r0, 24 cmp r2, 0x40 diff --git a/asm/field_control_avatar.s b/asm/field_control_avatar.s index 7e25c45da..c2b13e2bf 100644 --- a/asm/field_control_avatar.s +++ b/asm/field_control_avatar.s @@ -187,9 +187,9 @@ sub_809C014: @ 809C014 ldr r0, =gSpecialVar_LastTalked movs r1, 0 strh r1, [r0] - ldr r0, =gSelectedMapObject + ldr r0, =gSelectedEventObject strb r1, [r0] - bl player_get_direction_lower_nybble + bl GetPlayerFacingDirection lsls r0, 24 lsrs r6, r0, 24 mov r4, sp @@ -479,13 +479,13 @@ TryGetScriptOnPressingA: @ 809C270 adds r7, r4, 0 adds r1, r5, 0 adds r2, r4, 0 - bl TryGetMapObjectScript + bl TryGetEventObjectScript cmp r0, 0 bne _0809C2BC adds r0, r6, 0 adds r1, r5, 0 adds r2, r4, 0 - bl TryGetInvisibleMapObjectScript + bl TryGetInvisibleEventObjectScript cmp r0, 0 bne _0809C2BC adds r0, r6, 0 @@ -547,12 +547,12 @@ _0809C2F0: lsrs r1, 16 _0809C30E: ldrb r2, [r4, 0x4] - bl GetFieldObjectIdByXYZ + bl GetEventObjectIdByXYZ lsls r0, 24 lsrs r3, r0, 24 cmp r3, 0x10 beq _0809C32E - ldr r1, =gMapObjects + ldr r1, =gEventObjects lsls r2, r3, 3 adds r0, r2, r3 lsls r0, 2 @@ -567,7 +567,7 @@ _0809C32E: .pool _0809C33C: movs r4, 0 - ldr r1, =gLinkPlayerMapObjects + ldr r1, =gLinkPlayerEventObjects _0809C340: ldrb r0, [r1] cmp r0, 0x1 @@ -580,7 +580,7 @@ _0809C34C: adds r4, 0x1 cmp r4, 0x3 ble _0809C340 - ldr r0, =gSelectedMapObject + ldr r0, =gSelectedEventObject strb r3, [r0] ldr r1, =gSpecialVar_LastTalked adds r0, r2, r3 @@ -591,7 +591,7 @@ _0809C34C: ldr r0, =gSpecialVar_Facing strh r6, [r0] adds r0, r3, 0 - bl GetFieldObjectScriptPointerByFieldObjectId + bl GetEventObjectScriptPointerByEventObjectId _0809C36E: pop {r4-r6} pop {r1} @@ -599,8 +599,8 @@ _0809C36E: .pool thumb_func_end sub_809C2C8 - thumb_func_start TryGetMapObjectScript -TryGetMapObjectScript: @ 809C384 + thumb_func_start TryGetEventObjectScript +TryGetEventObjectScript: @ 809C384 push {r4-r7,lr} adds r5, r0, 0 lsls r1, 24 @@ -610,12 +610,12 @@ TryGetMapObjectScript: @ 809C384 ldrh r0, [r5] ldrh r1, [r5, 0x2] ldrb r2, [r5, 0x4] - bl GetFieldObjectIdByXYZ + bl GetEventObjectIdByXYZ lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0x10 beq _0809C3B4 - ldr r1, =gMapObjects + ldr r1, =gEventObjects lsls r2, r4, 3 adds r0, r2, r4 lsls r0, 2 @@ -647,12 +647,12 @@ _0809C3B4: lsls r1, 16 lsrs r1, 16 ldrb r2, [r5, 0x4] - bl GetFieldObjectIdByXYZ + bl GetEventObjectIdByXYZ lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0x10 beq _0809C400 - ldr r1, =gMapObjects + ldr r1, =gEventObjects lsls r2, r4, 3 adds r0, r2, r4 lsls r0, 2 @@ -666,7 +666,7 @@ _0809C400: b _0809C44E .pool _0809C40C: - ldr r0, =gSelectedMapObject + ldr r0, =gSelectedEventObject strb r4, [r0] ldr r1, =gSpecialVar_LastTalked adds r0, r2, r4 @@ -684,7 +684,7 @@ _0809C40C: .pool _0809C43C: adds r0, r4, 0 - bl GetFieldObjectScriptPointerByFieldObjectId + bl GetEventObjectScriptPointerByEventObjectId _0809C442: adds r1, r0, 0 ldr r0, =gSpecialVar_LastTalked @@ -696,11 +696,11 @@ _0809C44E: pop {r1} bx r1 .pool - thumb_func_end TryGetMapObjectScript + thumb_func_end TryGetEventObjectScript - thumb_func_start TryGetInvisibleMapObjectScript -@ signed int TryGetInvisibleMapObjectScript(int a1, int a2, u8 playerFacingDirection) -TryGetInvisibleMapObjectScript: @ 809C458 + thumb_func_start TryGetInvisibleEventObjectScript +@ signed int TryGetInvisibleEventObjectScript(int a1, int a2, u8 playerFacingDirection) +TryGetInvisibleEventObjectScript: @ 809C458 push {r4,r5,lr} lsls r2, 24 lsrs r5, r2, 24 @@ -715,7 +715,7 @@ TryGetInvisibleMapObjectScript: @ 809C458 lsrs r2, 16 ldrb r3, [r0, 0x4] adds r0, r4, 0 - bl FindInvisibleMapObjectByPosition + bl FindInvisibleEventObjectByPosition cmp r0, 0 beq _0809C4CC ldr r2, [r0, 0x8] @@ -799,7 +799,7 @@ _0809C532: pop {r4,r5} pop {r1} bx r1 - thumb_func_end TryGetInvisibleMapObjectScript + thumb_func_end TryGetInvisibleEventObjectScript thumb_func_start TryGetMetatileBehaviorScript TryGetMetatileBehaviorScript: @ 809C538 @@ -2261,9 +2261,9 @@ sub_809D0F4: @ 809D0F4 .pool thumb_func_end sub_809D0F4 - thumb_func_start FindInvisibleMapObjectByPosition -@ int FindInvisibleMapObjectByPosition(struct mapheader *mapHeader, u16 x, u16 y, u8 elevation) -FindInvisibleMapObjectByPosition: @ 809D11C + thumb_func_start FindInvisibleEventObjectByPosition +@ int FindInvisibleEventObjectByPosition(struct mapheader *mapHeader, u16 x, u16 y, u8 elevation) +FindInvisibleEventObjectByPosition: @ 809D11C push {r4-r7,lr} lsls r1, 16 lsrs r7, r1, 16 @@ -2308,7 +2308,7 @@ _0809D164: pop {r4-r7} pop {r1} bx r1 - thumb_func_end FindInvisibleMapObjectByPosition + thumb_func_end FindInvisibleEventObjectByPosition thumb_func_start dive_warp dive_warp: @ 809D16C @@ -2447,12 +2447,12 @@ _0809D276: bx r1 thumb_func_end sub_809D1E8 - thumb_func_start GetFieldObjectScriptPointerForComparison -@ u8 *GetFieldObjectScriptPointerForComparison() -GetFieldObjectScriptPointerForComparison: @ 809D280 + thumb_func_start GetEventObjectScriptPointerForComparison +@ u8 *GetEventObjectScriptPointerForComparison() +GetEventObjectScriptPointerForComparison: @ 809D280 push {r4,r5,lr} sub sp, 0x8 - bl player_get_direction_upper_nybble + bl GetPlayerMovementDirection adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -2470,18 +2470,18 @@ GetFieldObjectScriptPointerForComparison: @ 809D280 lsrs r1, 24 mov r0, sp adds r2, r4, 0 - bl TryGetMapObjectScript + bl TryGetEventObjectScript add sp, 0x8 pop {r4,r5} pop {r1} bx r1 - thumb_func_end GetFieldObjectScriptPointerForComparison + thumb_func_end GetEventObjectScriptPointerForComparison thumb_func_start sub_809D2BC sub_809D2BC: @ 809D2BC push {r4,lr} sub sp, 0x8 - bl player_get_direction_upper_nybble + bl GetPlayerMovementDirection mov r4, sp mov r0, sp bl player_get_pos_to_and_height diff --git a/asm/field_effect_helpers.s b/asm/field_effect_helpers.s index 77f8213b3..6cf62ba8b 100644 --- a/asm/field_effect_helpers.s +++ b/asm/field_effect_helpers.s @@ -100,7 +100,7 @@ _08153F7A: sub_8153F98: @ 8153F98 push {lr} ldrb r0, [r0, 0x5] - bl GetFieldObjectGraphicsInfo + bl GetEventObjectGraphicsInfo ldrh r0, [r0, 0xA] subs r0, 0x2 lsls r0, 16 @@ -123,7 +123,7 @@ npc_pal_op: @ 8153FAC movs r0, 0 strh r0, [r4, 0x32] ldrb r0, [r5, 0x5] - bl GetFieldObjectGraphicsInfo + bl GetEventObjectGraphicsInfo ldrb r1, [r0, 0xC] movs r0, 0x80 ands r0, r1 @@ -172,7 +172,7 @@ npc_pal_op_B: @ 815401C lsls r1, 24 lsrs r4, r1, 24 ldrb r0, [r0, 0x5] - bl GetFieldObjectGraphicsInfo + bl GetEventObjectGraphicsInfo adds r2, r0, 0 ldrh r1, [r2, 0x4] ldr r0, =0x000011ff @@ -217,7 +217,7 @@ npc_pal_op_A: @ 8154078 lsls r1, 24 lsrs r4, r1, 24 ldrb r0, [r0, 0x5] - bl GetFieldObjectGraphicsInfo + bl GetEventObjectGraphicsInfo adds r2, r0, 0 ldrh r1, [r2, 0x4] ldr r0, =0x000011ff @@ -248,7 +248,7 @@ objc_reflection_maybe: @ 81540A8 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, =gMapObjects + ldr r1, =gEventObjects adds r7, r0, r1 ldrb r1, [r7, 0x4] lsls r0, r1, 4 @@ -578,16 +578,16 @@ oei_shadow: @ 8154340 ldrb r0, [r5] ldrb r1, [r5, 0x4] ldrb r2, [r5, 0x8] - bl GetFieldObjectIdByLocalIdAndMap + bl GetEventObjectIdByLocalIdAndMap lsls r0, 24 lsrs r0, 24 - ldr r2, =gMapObjects + ldr r2, =gEventObjects lsls r1, r0, 3 adds r1, r0 lsls r1, 2 adds r1, r2 ldrb r0, [r1, 0x5] - bl GetFieldObjectGraphicsInfo + bl GetEventObjectGraphicsInfo adds r4, r0, 0 ldr r2, =gFieldEffectObjectTemplatePointers ldr r1, =gUnknown_085CDC3E @@ -659,7 +659,7 @@ oamc_shadow: @ 81543E4 lsls r2, 24 lsrs r2, 24 mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap + bl TryGetEventObjectIdByLocalIdAndMap lsls r0, 24 cmp r0, 0 beq _08154412 @@ -673,7 +673,7 @@ _08154412: lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, =gMapObjects + ldr r1, =gEventObjects adds r4, r0, r1 ldrb r0, [r4, 0x4] lsls r1, r0, 4 @@ -877,7 +877,7 @@ _0815459C: adds r1, r4, 0 adds r2, r7, 0 mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap + bl TryGetEventObjectIdByLocalIdAndMap lsls r0, 24 cmp r0, 0 bne _081545F0 @@ -909,7 +909,7 @@ _08154604: lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, =gMapObjects + ldr r1, =gEventObjects adds r2, r0, r1 ldr r0, [r2, 0x10] ldr r1, [r5, 0x30] @@ -931,7 +931,7 @@ _08154624: _08154632: adds r0, r5, 0 movs r1, 0 - bl sub_80979D4 + bl UpdateEventObjectSpriteVisibility ldrh r1, [r5, 0x2E] lsls r1, 24 lsrs r1, 24 @@ -1216,7 +1216,7 @@ _0815484C: adds r1, r7, 0 adds r2, r6, 0 mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap + bl TryGetEventObjectIdByLocalIdAndMap lsls r0, 24 cmp r0, 0 bne _081548A0 @@ -1248,7 +1248,7 @@ _081548B4: lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, =gMapObjects + ldr r1, =gEventObjects adds r2, r0, r1 ldr r0, [r2, 0x10] ldr r1, [r5, 0x30] @@ -1262,7 +1262,7 @@ _081548B4: _081548D4: adds r0, r5, 0 movs r1, 0 - bl sub_80979D4 + bl UpdateEventObjectSpriteVisibility ldrh r1, [r5, 0x2E] lsls r1, 24 lsrs r1, 24 @@ -1340,13 +1340,13 @@ sub_815496C: @ 815496C ldrb r0, [r6] ldrb r1, [r6, 0x4] ldrb r2, [r6, 0x8] - bl GetFieldObjectIdByLocalIdAndMap + bl GetEventObjectIdByLocalIdAndMap lsls r0, 24 lsrs r0, 24 lsls r1, r0, 3 adds r1, r0 lsls r1, 2 - ldr r0, =gMapObjects + ldr r0, =gEventObjects adds r5, r1, r0 ldr r0, =gFieldEffectObjectTemplatePointers ldr r0, [r0, 0x78] @@ -1428,11 +1428,11 @@ sub_8154A10: @ 8154A10 lsls r2, 24 lsrs r2, 24 mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap + bl TryGetEventObjectIdByLocalIdAndMap lsls r0, 24 cmp r0, 0 bne _08154A4E - ldr r5, =gMapObjects + ldr r5, =gEventObjects mov r0, sp ldrb r1, [r0] lsls r0, r1, 3 @@ -1451,7 +1451,7 @@ _08154A4E: .pool _08154A5C: ldrb r0, [r1, 0x5] - bl GetFieldObjectGraphicsInfo + bl GetEventObjectGraphicsInfo mov r8, r0 mov r0, sp ldrb r1, [r0] @@ -1523,7 +1523,7 @@ _08154AB2: lsls r1, 29 lsrs r1, 31 adds r0, r4, 0 - bl sub_80979D4 + bl UpdateEventObjectSpriteVisibility _08154AF2: add sp, 0x4 pop {r3} @@ -1729,7 +1729,7 @@ sub_8154C7C: @ 8154C7C _08154C92: adds r0, r1, 0 movs r1, 0 - bl sub_80979D4 + bl UpdateEventObjectSpriteVisibility pop {r0} bx r0 thumb_func_end sub_8154C7C @@ -1758,7 +1758,7 @@ sub_8154CA0: @ 8154CA0 lsls r1, 29 lsrs r1, 31 adds r0, r4, 0 - bl sub_80979D4 + bl UpdateEventObjectSpriteVisibility movs r1, 0x30 ldrsh r0, [r4, r1] cmp r0, 0x38 @@ -1781,13 +1781,13 @@ sub_8154CEC: @ 8154CEC ldrb r0, [r6] ldrb r1, [r6, 0x4] ldrb r2, [r6, 0x8] - bl GetFieldObjectIdByLocalIdAndMap + bl GetEventObjectIdByLocalIdAndMap lsls r0, 24 lsrs r0, 24 lsls r1, r0, 3 adds r1, r0 lsls r1, 2 - ldr r0, =gMapObjects + ldr r0, =gEventObjects adds r5, r1, r0 ldr r0, =gFieldEffectObjectTemplatePointers ldr r0, [r0, 0x34] @@ -1800,7 +1800,7 @@ sub_8154CEC: @ 8154CEC cmp r4, 0x40 beq _08154D76 ldrb r0, [r5, 0x5] - bl GetFieldObjectGraphicsInfo + bl GetEventObjectGraphicsInfo lsls r3, r4, 4 adds r3, r4 lsls r3, 2 @@ -1870,7 +1870,7 @@ sub_8154D90: @ 8154D90 lsls r2, 24 lsrs r2, 24 mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap + bl TryGetEventObjectIdByLocalIdAndMap lsls r0, 24 cmp r0, 0 beq _08154DCA @@ -1881,7 +1881,7 @@ _08154DC0: b _08154E0A _08154DCA: ldr r3, =gSprites - ldr r2, =gMapObjects + ldr r2, =gEventObjects mov r0, sp ldrb r1, [r0] lsls r0, r1, 3 @@ -1910,7 +1910,7 @@ _08154DCA: strh r0, [r4, 0x22] adds r0, r4, 0 movs r1, 0 - bl sub_80979D4 + bl UpdateEventObjectSpriteVisibility _08154E0A: add sp, 0x4 pop {r4} @@ -2034,13 +2034,13 @@ sub_8154EFC: @ 8154EFC ldrb r0, [r7] ldrb r1, [r7, 0x4] ldrb r2, [r7, 0x8] - bl GetFieldObjectIdByLocalIdAndMap + bl GetEventObjectIdByLocalIdAndMap lsls r0, 24 lsrs r0, 24 lsls r1, r0, 3 adds r1, r0 lsls r1, 2 - ldr r0, =gMapObjects + ldr r0, =gEventObjects adds r6, r1, r0 ldr r0, =gFieldEffectObjectTemplatePointers ldr r0, [r0, 0x34] @@ -2053,7 +2053,7 @@ sub_8154EFC: @ 8154EFC cmp r5, 0x40 beq _08154F92 ldrb r0, [r6, 0x5] - bl GetFieldObjectGraphicsInfo + bl GetEventObjectGraphicsInfo adds r4, r0, 0 lsls r0, r5, 4 adds r0, r5 @@ -2123,11 +2123,11 @@ sub_8154FB4: @ 8154FB4 lsls r2, 24 lsrs r2, 24 mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap + bl TryGetEventObjectIdByLocalIdAndMap lsls r0, 24 cmp r0, 0 bne _08154FEE - ldr r2, =gMapObjects + ldr r2, =gEventObjects mov r0, sp ldrb r1, [r0] lsls r0, r1, 3 @@ -2162,7 +2162,7 @@ _08154FFC: strb r0, [r1] adds r0, r4, 0 movs r1, 0 - bl sub_80979D4 + bl UpdateEventObjectSpriteVisibility ldr r1, [r5, 0x10] ldr r0, [r4, 0x34] cmp r1, r0 @@ -2242,13 +2242,13 @@ sub_81550B4: @ 81550B4 ldrb r0, [r6] ldrb r1, [r6, 0x4] ldrb r2, [r6, 0x8] - bl GetFieldObjectIdByLocalIdAndMap + bl GetEventObjectIdByLocalIdAndMap lsls r0, 24 lsrs r0, 24 lsls r1, r0, 3 adds r1, r0 lsls r1, 2 - ldr r0, =gMapObjects + ldr r0, =gEventObjects adds r5, r1, r0 ldr r0, =gFieldEffectObjectTemplatePointers ldr r0, [r0, 0x7C] @@ -2328,11 +2328,11 @@ sub_8155158: @ 8155158 lsls r2, 24 lsrs r2, 24 mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap + bl TryGetEventObjectIdByLocalIdAndMap lsls r0, 24 cmp r0, 0 bne _08155192 - ldr r5, =gMapObjects + ldr r5, =gEventObjects mov r0, sp ldrb r1, [r0] lsls r0, r1, 3 @@ -2351,7 +2351,7 @@ _08155192: .pool _081551A0: ldrb r0, [r1, 0x5] - bl GetFieldObjectGraphicsInfo + bl GetEventObjectGraphicsInfo mov r1, sp ldrb r2, [r1] lsls r1, r2, 3 @@ -2381,7 +2381,7 @@ _081551A0: strb r0, [r1] adds r0, r4, 0 movs r1, 0 - bl sub_80979D4 + bl UpdateEventObjectSpriteVisibility _081551E4: add sp, 0x4 pop {r4,r5} @@ -2765,7 +2765,7 @@ sub_81554AC: @ 81554AC movs r2, 0x32 ldrsh r1, [r4, r2] bl CurrentMapDrawMetatileAt - ldr r2, =gMapObjects + ldr r2, =gEventObjects ldr r0, =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 @@ -2789,7 +2789,7 @@ sub_815550C: @ 815550C push {r4,lr} adds r4, r0, 0 movs r1, 0 - bl sub_80979D4 + bl UpdateEventObjectSpriteVisibility adds r0, r4, 0 adds r0, 0x3F ldrb r1, [r0] @@ -2972,7 +2972,7 @@ sub_8155658: @ 8155658 lsls r4, r0, 3 adds r4, r0 lsls r4, 2 - ldr r0, =gMapObjects + ldr r0, =gEventObjects adds r4, r0 ldrb r0, [r4, 0x4] lsls r5, r0, 4 @@ -3319,13 +3319,13 @@ sub_8155900: @ 8155900 ldrb r0, [r7] ldrb r1, [r7, 0x4] ldrb r2, [r7, 0x8] - bl GetFieldObjectIdByLocalIdAndMap + bl GetEventObjectIdByLocalIdAndMap lsls r0, 24 lsrs r0, 24 lsls r1, r0, 3 adds r1, r0 lsls r1, 2 - ldr r0, =gMapObjects + ldr r0, =gEventObjects adds r6, r1, r0 ldr r0, =gFieldEffectObjectTemplatePointers ldr r0, [r0, 0x74] @@ -3338,7 +3338,7 @@ sub_8155900: @ 8155900 cmp r4, 0x40 beq _081559A4 ldrb r0, [r6, 0x5] - bl GetFieldObjectGraphicsInfo + bl GetEventObjectGraphicsInfo adds r5, r0, 0 lsls r0, r4, 4 adds r0, r4 @@ -3415,11 +3415,11 @@ sub_81559BC: @ 81559BC lsls r2, 24 lsrs r2, 24 mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap + bl TryGetEventObjectIdByLocalIdAndMap lsls r0, 24 cmp r0, 0 bne _081559F6 - ldr r2, =gMapObjects + ldr r2, =gEventObjects mov r0, sp ldrb r1, [r0] lsls r0, r1, 3 @@ -3474,7 +3474,7 @@ _08155A46: strh r6, [r4, 0x20] strh r5, [r4, 0x22] ldr r3, =gSprites - ldr r2, =gMapObjects + ldr r2, =gEventObjects mov r0, sp ldrb r1, [r0] lsls r0, r1, 3 @@ -3493,7 +3493,7 @@ _08155A46: strb r0, [r1] adds r0, r4, 0 movs r1, 0 - bl sub_80979D4 + bl UpdateEventObjectSpriteVisibility _08155A76: add sp, 0x4 pop {r4-r6} @@ -3567,7 +3567,7 @@ sub_8155AEC: @ 8155AEC strh r1, [r4, 0x22] adds r0, r4, 0 movs r1, 0 - bl sub_80979D4 + bl UpdateEventObjectSpriteVisibility ldrh r1, [r4, 0x3E] ldr r0, =0x00001004 ands r0, r1 @@ -3694,7 +3694,7 @@ ShowDisguiseFieldEffect: @ 8155BD0 ldrb r1, [r5, 0x4] ldrb r2, [r5, 0x8] mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap + bl TryGetEventObjectIdByLocalIdAndMap lsls r0, 24 cmp r0, 0 beq _08155C08 @@ -3783,7 +3783,7 @@ sub_8155C88: @ 8155C88 lsls r2, 24 lsrs r2, 24 mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap + bl TryGetEventObjectIdByLocalIdAndMap lsls r0, 24 cmp r0, 0 beq _08155CB8 @@ -3793,7 +3793,7 @@ sub_8155C88: @ 8155C88 adds r0, r5, 0 bl FieldEffectStop _08155CB8: - ldr r4, =gMapObjects + ldr r4, =gEventObjects mov r0, sp ldrb r1, [r0] lsls r0, r1, 3 @@ -3801,7 +3801,7 @@ _08155CB8: lsls r0, 2 adds r0, r4 ldrb r0, [r0, 0x5] - bl GetFieldObjectGraphicsInfo + bl GetEventObjectGraphicsInfo mov r1, sp ldrb r2, [r1] lsls r1, r2, 3 @@ -4460,7 +4460,7 @@ sub_8156194: @ 8156194 _081561B2: adds r0, r4, 0 movs r1, 0 - bl sub_80979D4 + bl UpdateEventObjectSpriteVisibility ldrh r0, [r4, 0x2E] lsls r0, 24 lsrs r0, 24 @@ -4492,7 +4492,7 @@ sub_81561D0: @ 81561D0 _081561EE: adds r0, r2, 0 movs r1, 0 - bl sub_80979D4 + bl UpdateEventObjectSpriteVisibility _081561F6: pop {r0} bx r0 @@ -4514,14 +4514,14 @@ _08156212: lsls r0, r7, 3 adds r0, r7 lsls r0, 2 - ldr r1, =gMapObjects + ldr r1, =gEventObjects adds r4, r0, r1 ldrb r0, [r4] lsls r0, 31 cmp r0, 0 beq _081562B4 ldrb r0, [r4, 0x5] - bl GetFieldObjectGraphicsInfo + bl GetEventObjectGraphicsInfo ldrb r1, [r4, 0x4] lsls r0, r1, 4 adds r0, r1 diff --git a/asm/field_ground_effect.s b/asm/field_ground_effect.s deleted file mode 100644 index 2152a5c5b..000000000 --- a/asm/field_ground_effect.s +++ /dev/null @@ -1,1929 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start GetAllGroundEffectFlags_OnSpawn -@ void GetAllGroundEffectFlags_OnSpawn(struct npc_state *fieldObject, u32 *flags) -GetAllGroundEffectFlags_OnSpawn: @ 8096638 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl FieldObjectUpdateMetatileBehaviors - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_Reflection - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_TallGrassOnSpawn - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_LongGrassOnSpawn - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_SandHeap - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_ShallowFlowingWater - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_ShortGrass - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_HotSprings - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetAllGroundEffectFlags_OnSpawn - - thumb_func_start GetAllGroundEffectFlags_OnBeginStep -@ void GetAllGroundEffectFlags_OnBeginStep(struct npc_state *fieldObject, u32 *flags) -GetAllGroundEffectFlags_OnBeginStep: @ 8096680 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl FieldObjectUpdateMetatileBehaviors - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_Reflection - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_TallGrassOnBeginStep - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_LongGrassOnBeginStep - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_Tracks - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_SandHeap - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_ShallowFlowingWater - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_Puddle - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_ShortGrass - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_HotSprings - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetAllGroundEffectFlags_OnBeginStep - - thumb_func_start GetAllGroundEffectFlags_OnFinishStep -@ void GetAllGroundEffectFlags_OnFinishStep(struct npc_state *fieldObject, u32 *flags) -GetAllGroundEffectFlags_OnFinishStep: @ 80966D8 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl FieldObjectUpdateMetatileBehaviors - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_ShallowFlowingWater - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_SandHeap - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_Puddle - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_Ripple - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_ShortGrass - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_HotSprings - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_Seaweed - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_JumpLanding - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetAllGroundEffectFlags_OnFinishStep - - thumb_func_start FieldObjectUpdateMetatileBehaviors -@ void FieldObjectUpdateMetatileBehaviors(struct npc_state *fieldObject) -FieldObjectUpdateMetatileBehaviors: @ 8096728 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x14 - ldrsh r0, [r4, r1] - movs r2, 0x16 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - strb r0, [r4, 0x1F] - movs r1, 0x10 - ldrsh r0, [r4, r1] - movs r2, 0x12 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - strb r0, [r4, 0x1E] - pop {r4} - pop {r0} - bx r0 - thumb_func_end FieldObjectUpdateMetatileBehaviors - - thumb_func_start GetGroundEffectFlags_Reflection -@ void GetGroundEffectFlags_Reflection(struct npc_state *fieldObject, u32 *flags) -GetGroundEffectFlags_Reflection: @ 8096750 - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r0, =gUnknown_0850E5DC - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp] - str r1, [sp, 0x4] - adds r0, r4, 0 - bl FieldObjectCheckForReflectiveSurface - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _08096798 - ldrb r1, [r4, 0x2] - lsls r0, r1, 30 - cmp r0, 0 - blt _080967A2 - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4, 0x2] - subs r0, r2, 0x1 - lsls r0, 2 - add r0, sp - ldr r1, [r5] - ldr r0, [r0] - orrs r1, r0 - str r1, [r5] - b _080967A2 - .pool -_08096798: - ldrb r1, [r4, 0x2] - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x2] -_080967A2: - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_Reflection - - thumb_func_start GetGroundEffectFlags_TallGrassOnSpawn -@ void GetGroundEffectFlags_TallGrassOnSpawn(struct npc_state *fieldObject, u32 *flags) -GetGroundEffectFlags_TallGrassOnSpawn: @ 80967AC - push {r4,lr} - adds r4, r1, 0 - ldrb r0, [r0, 0x1E] - bl MetatileBehavior_IsTallGrass - lsls r0, 24 - cmp r0, 0 - beq _080967C4 - ldr r0, [r4] - movs r1, 0x1 - orrs r0, r1 - str r0, [r4] -_080967C4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_TallGrassOnSpawn - - thumb_func_start GetGroundEffectFlags_TallGrassOnBeginStep -@ void GetGroundEffectFlags_TallGrassOnBeginStep(struct npc_state *fieldObject, u32 *flags) -GetGroundEffectFlags_TallGrassOnBeginStep: @ 80967CC - push {r4,lr} - adds r4, r1, 0 - ldrb r0, [r0, 0x1E] - bl MetatileBehavior_IsTallGrass - lsls r0, 24 - cmp r0, 0 - beq _080967E4 - ldr r0, [r4] - movs r1, 0x2 - orrs r0, r1 - str r0, [r4] -_080967E4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_TallGrassOnBeginStep - - thumb_func_start GetGroundEffectFlags_LongGrassOnSpawn -@ void GetGroundEffectFlags_LongGrassOnSpawn(struct npc_state *fieldObject, u32 *flags) -GetGroundEffectFlags_LongGrassOnSpawn: @ 80967EC - push {r4,lr} - adds r4, r1, 0 - ldrb r0, [r0, 0x1E] - bl MetatileBehavior_IsLongGrass - lsls r0, 24 - cmp r0, 0 - beq _08096804 - ldr r0, [r4] - movs r1, 0x4 - orrs r0, r1 - str r0, [r4] -_08096804: - pop {r4} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_LongGrassOnSpawn - - thumb_func_start GetGroundEffectFlags_LongGrassOnBeginStep -@ void GetGroundEffectFlags_LongGrassOnBeginStep(struct npc_state *fieldObject, u32 *flags) -GetGroundEffectFlags_LongGrassOnBeginStep: @ 809680C - push {r4,lr} - adds r4, r1, 0 - ldrb r0, [r0, 0x1E] - bl MetatileBehavior_IsLongGrass - lsls r0, 24 - cmp r0, 0 - beq _08096824 - ldr r0, [r4] - movs r1, 0x8 - orrs r0, r1 - str r0, [r4] -_08096824: - pop {r4} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_LongGrassOnBeginStep - - thumb_func_start GetGroundEffectFlags_Tracks -@ void GetGroundEffectFlags_Tracks(struct npc_state *fieldObject, u32 *flags) -GetGroundEffectFlags_Tracks: @ 809682C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_IsDeepSand - lsls r0, 24 - cmp r0, 0 - beq _08096846 - ldr r0, [r5] - movs r1, 0x80 - lsls r1, 1 - b _08096862 -_08096846: - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_IsSandOrDeepSand - lsls r0, 24 - cmp r0, 0 - bne _0809685E - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_IsUnusedFootprintMetatile - lsls r0, 24 - cmp r0, 0 - beq _08096866 -_0809685E: - ldr r0, [r5] - movs r1, 0x80 -_08096862: - orrs r0, r1 - str r0, [r5] -_08096866: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_Tracks - - thumb_func_start GetGroundEffectFlags_SandHeap -@ void GetGroundEffectFlags_SandHeap(struct npc_state *fieldObject, u32 *flags) -GetGroundEffectFlags_SandHeap: @ 809686C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_IsDeepSand - lsls r0, 24 - cmp r0, 0 - beq _080968AA - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_IsDeepSand - lsls r0, 24 - cmp r0, 0 - beq _080968AA - ldrb r1, [r4, 0x2] - lsls r0, r1, 27 - cmp r0, 0 - blt _080968B4 - movs r0, 0x11 - negs r0, r0 - ands r0, r1 - movs r1, 0x10 - orrs r0, r1 - strb r0, [r4, 0x2] - ldr r0, [r5] - movs r1, 0x80 - lsls r1, 4 - orrs r0, r1 - str r0, [r5] - b _080968B4 -_080968AA: - ldrb r1, [r4, 0x2] - movs r0, 0x11 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x2] -_080968B4: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_SandHeap - - thumb_func_start GetGroundEffectFlags_ShallowFlowingWater -@ void GetGroundEffectFlags_ShallowFlowingWater(struct npc_state *fieldObject, u32 *flags) -GetGroundEffectFlags_ShallowFlowingWater: @ 80968BC - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_IsShallowFlowingWater - lsls r0, 24 - cmp r0, 0 - beq _080968DA - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_IsShallowFlowingWater - lsls r0, 24 - cmp r0, 0 - bne _080968F2 -_080968DA: - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_IsPacifidlogLog - lsls r0, 24 - cmp r0, 0 - beq _08096910 - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_IsPacifidlogLog - lsls r0, 24 - cmp r0, 0 - beq _08096910 -_080968F2: - ldrb r1, [r4, 0x2] - lsls r0, r1, 28 - cmp r0, 0 - blt _0809691A - movs r0, 0x9 - negs r0, r0 - ands r0, r1 - movs r1, 0x8 - orrs r0, r1 - strb r0, [r4, 0x2] - ldr r0, [r5] - movs r1, 0x40 - orrs r0, r1 - str r0, [r5] - b _0809691A -_08096910: - ldrb r1, [r4, 0x2] - movs r0, 0x9 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x2] -_0809691A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_ShallowFlowingWater - - thumb_func_start GetGroundEffectFlags_Puddle -@ void GetGroundEffectFlags_Puddle(struct npc_state *fieldObject, u32 *flags) -GetGroundEffectFlags_Puddle: @ 8096920 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_IsPuddle - lsls r0, 24 - cmp r0, 0 - beq _08096948 - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_IsPuddle - lsls r0, 24 - cmp r0, 0 - beq _08096948 - ldr r0, [r5] - movs r1, 0x80 - lsls r1, 3 - orrs r0, r1 - str r0, [r5] -_08096948: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_Puddle - - thumb_func_start GetGroundEffectFlags_Ripple -@ void GetGroundEffectFlags_Ripple(struct npc_state *fieldObject, u32 *flags) -GetGroundEffectFlags_Ripple: @ 8096950 - push {r4,lr} - adds r4, r1, 0 - ldrb r0, [r0, 0x1E] - bl MetatileBehavior_HasRipples - lsls r0, 24 - cmp r0, 0 - beq _0809696A - ldr r0, [r4] - movs r1, 0x80 - lsls r1, 2 - orrs r0, r1 - str r0, [r4] -_0809696A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_Ripple - - thumb_func_start GetGroundEffectFlags_ShortGrass -@ void GetGroundEffectFlags_ShortGrass(struct npc_state *fieldObject, u32 *flags) -GetGroundEffectFlags_ShortGrass: @ 8096970 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_IsShortGrass - lsls r0, 24 - cmp r0, 0 - beq _080969AE - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_IsShortGrass - lsls r0, 24 - cmp r0, 0 - beq _080969AE - ldrb r1, [r4, 0x2] - lsls r0, r1, 29 - cmp r0, 0 - blt _080969B8 - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r4, 0x2] - ldr r0, [r5] - movs r1, 0x80 - lsls r1, 10 - orrs r0, r1 - str r0, [r5] - b _080969B8 -_080969AE: - ldrb r1, [r4, 0x2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x2] -_080969B8: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_ShortGrass - - thumb_func_start GetGroundEffectFlags_HotSprings -@ void GetGroundEffectFlags_HotSprings(struct npc_state *fieldObject, u32 *flags) -GetGroundEffectFlags_HotSprings: @ 80969C0 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_IsHotSprings - lsls r0, 24 - cmp r0, 0 - beq _080969FE - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_IsHotSprings - lsls r0, 24 - cmp r0, 0 - beq _080969FE - ldrb r1, [r4, 0x2] - lsls r0, r1, 26 - cmp r0, 0 - blt _08096A08 - movs r0, 0x21 - negs r0, r0 - ands r0, r1 - movs r1, 0x20 - orrs r0, r1 - strb r0, [r4, 0x2] - ldr r0, [r5] - movs r1, 0x80 - lsls r1, 11 - orrs r0, r1 - str r0, [r5] - b _08096A08 -_080969FE: - ldrb r1, [r4, 0x2] - movs r0, 0x21 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x2] -_08096A08: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_HotSprings - - thumb_func_start GetGroundEffectFlags_Seaweed -@ void GetGroundEffectFlags_Seaweed(struct npc_state *fieldObject, u32 *flags) -GetGroundEffectFlags_Seaweed: @ 8096A10 - push {r4,lr} - adds r4, r1, 0 - ldrb r0, [r0, 0x1E] - bl MetatileBehavior_IsSeaweed - lsls r0, 24 - cmp r0, 0 - beq _08096A2A - ldr r0, [r4] - movs r1, 0x80 - lsls r1, 12 - orrs r0, r1 - str r0, [r4] -_08096A2A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_Seaweed - - thumb_func_start GetGroundEffectFlags_JumpLanding -@ void GetGroundEffectFlags_JumpLanding(struct npc_state *fieldObject, u32 *flags) -GetGroundEffectFlags_JumpLanding: @ 8096A30 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r7, r0, 0 - adds r6, r1, 0 - ldr r0, [r7] - ldr r1, =0x02000020 - ands r0, r1 - cmp r0, 0x20 - bne _08096A82 - movs r5, 0 - ldr r0, =gUnknown_0850E5E4 - mov r8, r0 -_08096A4A: - lsls r4, r5, 2 - mov r0, r8 - adds r1, r4, r0 - ldrb r0, [r7, 0x1E] - ldr r1, [r1] - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - beq _08096A78 - ldr r0, =gUnknown_0850E5FC - adds r0, r4, r0 - ldr r1, [r6] - ldr r0, [r0] - orrs r1, r0 - str r1, [r6] - b _08096A82 - .pool -_08096A78: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _08096A4A -_08096A82: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_JumpLanding - - thumb_func_start FieldObjectCheckForReflectiveSurface -@ u8 FieldObjectCheckForReflectiveSurface(struct npc_state *fieldObject) -FieldObjectCheckForReflectiveSurface: @ 8096A8C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r5, r0, 0 - ldrb r0, [r5, 0x5] - bl GetFieldObjectGraphicsInfo - movs r2, 0x8 - ldrsh r1, [r0, r2] - adds r1, 0x8 - lsls r1, 12 - lsrs r1, 16 - str r1, [sp] - movs r1, 0xA - ldrsh r0, [r0, r1] - adds r0, 0x8 - lsls r0, 12 - movs r4, 0 - lsrs r2, r0, 16 - str r2, [sp, 0x4] - asrs r0, 16 - cmp r4, r0 - blt _08096AC2 - b _08096BC8 -_08096AC2: - movs r0, 0x1 - mov r10, r0 -_08096AC6: - movs r1, 0x10 - ldrsh r0, [r5, r1] - movs r2, 0x12 - ldrsh r1, [r5, r2] - add r1, r10 - lsls r4, 16 - asrs r6, r4, 16 - adds r1, r6 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl GetReflectionTypeByMetatileBehavior - lsls r0, 24 - lsrs r0, 24 - mov r9, r4 - cmp r0, 0 - bne _08096BCA - movs r1, 0x14 - ldrsh r0, [r5, r1] - movs r2, 0x16 - ldrsh r1, [r5, r2] - add r1, r10 - adds r1, r6 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl GetReflectionTypeByMetatileBehavior - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _08096BCA - movs r2, 0x1 - ldr r1, [sp] - lsls r0, r1, 16 - asrs r1, r0, 16 - mov r8, r0 - cmp r2, r1 - bge _08096BB6 - movs r0, 0x80 - lsls r0, 9 - asrs r7, r0, 16 -_08096B20: - movs r1, 0x10 - ldrsh r0, [r5, r1] - lsls r1, r2, 16 - asrs r4, r1, 16 - adds r0, r4 - movs r2, 0x12 - ldrsh r1, [r5, r2] - adds r1, r7 - adds r1, r6 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl GetReflectionTypeByMetatileBehavior - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _08096BCA - movs r1, 0x10 - ldrsh r0, [r5, r1] - subs r0, r4 - movs r2, 0x12 - ldrsh r1, [r5, r2] - adds r1, r7 - adds r1, r6 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl GetReflectionTypeByMetatileBehavior - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _08096BCA - movs r1, 0x14 - ldrsh r0, [r5, r1] - adds r0, r4 - movs r2, 0x16 - ldrsh r1, [r5, r2] - adds r1, r7 - adds r1, r6 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl GetReflectionTypeByMetatileBehavior - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _08096BCA - movs r1, 0x14 - ldrsh r0, [r5, r1] - subs r0, r4 - movs r2, 0x16 - ldrsh r1, [r5, r2] - adds r1, r7 - adds r1, r6 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl GetReflectionTypeByMetatileBehavior - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _08096BCA - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r0, r8 - blt _08096B20 -_08096BB6: - movs r1, 0x80 - lsls r1, 9 - add r1, r9 - lsrs r4, r1, 16 - ldr r2, [sp, 0x4] - lsls r0, r2, 16 - cmp r1, r0 - bge _08096BC8 - b _08096AC6 -_08096BC8: - movs r0, 0 -_08096BCA: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end FieldObjectCheckForReflectiveSurface - - thumb_func_start GetReflectionTypeByMetatileBehavior -@ u8 GetReflectionTypeByMetatileBehavior(u8 metatileBehavior) -GetReflectionTypeByMetatileBehavior: @ 8096BDC - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl MetatileBehavior_IsIce - lsls r0, 24 - cmp r0, 0 - beq _08096BF2 - movs r0, 0x1 - b _08096C04 -_08096BF2: - adds r0, r4, 0 - bl MetatileBehavior_IsReflective - lsls r0, 24 - cmp r0, 0 - bne _08096C02 - movs r0, 0 - b _08096C04 -_08096C02: - movs r0, 0x2 -_08096C04: - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetReflectionTypeByMetatileBehavior - - thumb_func_start GetLedgeJumpDirection -@ u8 GetLedgeJumpDirection(u16 x, u16 y, u8 direction) -GetLedgeJumpDirection: @ 8096C0C - push {r4,lr} - lsls r0, 16 - lsrs r3, r0, 16 - lsls r1, 16 - lsrs r1, 16 - lsls r2, 24 - lsrs r4, r2, 24 - cmp r4, 0 - beq _08096C52 - cmp r4, 0x4 - bls _08096C28 - subs r0, r4, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 -_08096C28: - subs r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r3, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gUnknown_0850E614 - lsls r1, r4, 2 - adds r1, r2 - ldr r1, [r1] - bl _call_via_r1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08096C5C -_08096C52: - movs r0, 0 - b _08096C62 - .pool -_08096C5C: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r0, 24 -_08096C62: - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetLedgeJumpDirection - - thumb_func_start FieldObjectSetSpriteOamTableForLongGrass -@ void FieldObjectSetSpriteOamTableForLongGrass(struct npc_state *fieldObject, struct obj *object) -FieldObjectSetSpriteOamTableForLongGrass: @ 8096C68 - push {r4-r6,lr} - adds r5, r0, 0 - adds r4, r1, 0 - ldrb r0, [r5] - lsls r0, 27 - cmp r0, 0 - blt _08096CBC - ldrb r0, [r5, 0x1E] - bl MetatileBehavior_IsLongGrass - lsls r0, 24 - cmp r0, 0 - beq _08096CBC - ldrb r0, [r5, 0x1F] - bl MetatileBehavior_IsLongGrass - lsls r0, 24 - cmp r0, 0 - beq _08096CBC - adds r4, 0x42 - ldrb r1, [r4] - movs r6, 0x40 - negs r6, r6 - adds r0, r6, 0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r4] - ldrb r0, [r5, 0xB] - lsrs r0, 4 - bl ZCoordToPriority - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08096CBC - ldrb r0, [r4] - adds r1, r6, 0 - ands r1, r0 - movs r0, 0x5 - orrs r1, r0 - strb r1, [r4] -_08096CBC: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end FieldObjectSetSpriteOamTableForLongGrass - - thumb_func_start IsZCoordMismatchAt -@ bool8 IsZCoordMismatchAt(u8 z, u16 x, u16 y) -IsZCoordMismatchAt: @ 8096CC4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 16 - lsrs r0, r1, 16 - lsls r2, 16 - lsrs r1, r2, 16 - cmp r4, 0 - beq _08096CF2 - lsls r0, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - bl MapGridGetZCoordAt - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _08096CF2 - cmp r0, 0xF - beq _08096CF2 - cmp r0, r4 - bne _08096CF6 -_08096CF2: - movs r0, 0 - b _08096CF8 -_08096CF6: - movs r0, 0x1 -_08096CF8: - pop {r4} - pop {r1} - bx r1 - thumb_func_end IsZCoordMismatchAt - - thumb_func_start FieldObjectUpdateZCoordAndPriority -@ void FieldObjectUpdateZCoordAndPriority(struct npc_state *fieldObject, struct obj *object) -FieldObjectUpdateZCoordAndPriority: @ 8096D00 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x3] - lsls r0, 29 - cmp r0, 0 - blt _08096D4E - adds r0, r4, 0 - bl FieldObjectUpdateZCoord - ldr r1, =gUnknown_0850E644 - ldrb r2, [r4, 0xB] - lsls r2, 24 - lsrs r0, r2, 28 - adds r0, r1 - ldrb r0, [r0] - adds r4, r5, 0 - adds r4, 0x42 - movs r1, 0x3F - ands r1, r0 - ldrb r3, [r4] - movs r0, 0x40 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r4] - ldr r0, =gUnknown_0850E634 - lsrs r2, 28 - adds r2, r0 - movs r0, 0x3 - ldrb r1, [r2] - ands r1, r0 - lsls r1, 2 - ldrb r2, [r5, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x5] -_08096D4E: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end FieldObjectUpdateZCoordAndPriority - - thumb_func_start InitObjectPriorityByZCoord -@ void InitObjectPriorityByZCoord(struct obj *object, u8 z) -InitObjectPriorityByZCoord: @ 8096D5C - push {r4,lr} - lsls r1, 24 - lsrs r1, 24 - ldr r2, =gUnknown_0850E644 - adds r2, r1, r2 - ldrb r2, [r2] - movs r3, 0x42 - adds r3, r0 - mov r12, r3 - movs r3, 0x3F - ands r3, r2 - mov r2, r12 - ldrb r4, [r2] - movs r2, 0x40 - negs r2, r2 - ands r2, r4 - orrs r2, r3 - mov r3, r12 - strb r2, [r3] - ldr r2, =gUnknown_0850E634 - adds r1, r2 - movs r3, 0x3 - ldrb r2, [r1] - ands r2, r3 - lsls r2, 2 - ldrb r3, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r3 - orrs r1, r2 - strb r1, [r0, 0x5] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end InitObjectPriorityByZCoord - - thumb_func_start ZCoordToPriority -@ u8 ZCoordToPriority(u8 z) -ZCoordToPriority: @ 8096DA8 - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_0850E634 - adds r0, r1 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end ZCoordToPriority - - thumb_func_start FieldObjectUpdateZCoord -@ void FieldObjectUpdateZCoord(struct npc_state *fieldObject) -FieldObjectUpdateZCoord: @ 8096DB8 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x10 - ldrsh r0, [r4, r1] - movs r2, 0x12 - ldrsh r1, [r4, r2] - bl MapGridGetZCoordAt - lsls r0, 24 - lsrs r5, r0, 24 - movs r1, 0x14 - ldrsh r0, [r4, r1] - movs r2, 0x16 - ldrsh r1, [r4, r2] - bl MapGridGetZCoordAt - lsls r0, 24 - lsrs r0, 24 - cmp r5, 0xF - beq _08096E06 - cmp r0, 0xF - beq _08096E06 - movs r3, 0xF - adds r0, r5, 0 - ands r0, r3 - ldrb r1, [r4, 0xB] - movs r2, 0x10 - negs r2, r2 - ands r2, r1 - orrs r2, r0 - strb r2, [r4, 0xB] - cmp r5, 0 - beq _08096E06 - cmp r5, 0xF - beq _08096E06 - lsls r0, r5, 4 - ands r2, r3 - orrs r2, r0 - strb r2, [r4, 0xB] -_08096E06: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end FieldObjectUpdateZCoord - - thumb_func_start SetObjectSubpriorityByZCoord -@ void SetObjectSubpriorityByZCoord(u8 z, struct obj *object, u8 offset) -SetObjectSubpriorityByZCoord: @ 8096E0C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r2, 24 - lsrs r2, 24 - adds r3, r1, 0 - adds r3, 0x29 - movs r5, 0 - ldrsb r5, [r3, r5] - ldrh r4, [r1, 0x22] - ldr r3, =gSpriteCoordOffsetY - subs r4, r5 - ldrh r3, [r3] - adds r4, r3 - adds r4, 0x8 - movs r3, 0xFF - ands r4, r3 - lsrs r4, 4 - movs r3, 0x10 - subs r3, r4 - lsls r3, 17 - ldr r4, =gUnknown_0850E624 - adds r0, r4 - lsrs r3, 16 - ldrb r0, [r0] - adds r3, r0 - adds r2, r3 - adds r1, 0x43 - strb r2, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end SetObjectSubpriorityByZCoord - - thumb_func_start FieldObjectUpdateSubpriority -@ void FieldObjectUpdateSubpriority(struct npc_state *fieldObject, struct obj *object) -FieldObjectUpdateSubpriority: @ 8096E54 - push {lr} - adds r2, r0, 0 - ldrb r0, [r2, 0x3] - lsls r0, 29 - cmp r0, 0 - blt _08096E6A - ldrb r0, [r2, 0xB] - lsrs r0, 4 - movs r2, 0x1 - bl SetObjectSubpriorityByZCoord -_08096E6A: - pop {r0} - bx r0 - thumb_func_end FieldObjectUpdateSubpriority - - thumb_func_start AreZCoordsCompatible -@ bool8 AreZCoordsCompatible(u8 z1, u8 z2) -AreZCoordsCompatible: @ 8096E70 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - cmp r0, 0 - beq _08096E86 - cmp r1, 0 - beq _08096E86 - cmp r0, r1 - bne _08096E8A -_08096E86: - movs r0, 0x1 - b _08096E8C -_08096E8A: - movs r0, 0 -_08096E8C: - pop {r1} - bx r1 - thumb_func_end AreZCoordsCompatible - - thumb_func_start GroundEffect_SpawnOnTallGrass -@ void GroundEffect_SpawnOnTallGrass(struct npc_state *fieldObject, struct obj *object) -GroundEffect_SpawnOnTallGrass: @ 8096E90 - push {lr} - ldr r3, =gFieldEffectArguments - movs r2, 0x10 - ldrsh r1, [r0, r2] - str r1, [r3] - movs r2, 0x12 - ldrsh r1, [r0, r2] - str r1, [r3, 0x4] - ldrb r1, [r0, 0xB] - lsrs r1, 4 - str r1, [r3, 0x8] - movs r1, 0x2 - str r1, [r3, 0xC] - ldrb r1, [r0, 0x8] - lsls r1, 8 - ldrb r2, [r0, 0x9] - orrs r1, r2 - str r1, [r3, 0x10] - ldrb r0, [r0, 0xA] - str r0, [r3, 0x14] - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldrb r0, [r1, 0x5] - lsls r0, 8 - ldrb r1, [r1, 0x4] - orrs r0, r1 - str r0, [r3, 0x18] - movs r0, 0x1 - str r0, [r3, 0x1C] - movs r0, 0x4 - bl FieldEffectStart - pop {r0} - bx r0 - .pool - thumb_func_end GroundEffect_SpawnOnTallGrass - - thumb_func_start GroundEffect_StepOnTallGrass -@ void GroundEffect_StepOnTallGrass(struct npc_state *fieldObject, struct obj *object) -GroundEffect_StepOnTallGrass: @ 8096EDC - push {lr} - ldr r3, =gFieldEffectArguments - movs r2, 0x10 - ldrsh r1, [r0, r2] - str r1, [r3] - movs r2, 0x12 - ldrsh r1, [r0, r2] - str r1, [r3, 0x4] - ldrb r1, [r0, 0xB] - lsrs r1, 4 - str r1, [r3, 0x8] - movs r1, 0x2 - str r1, [r3, 0xC] - ldrb r1, [r0, 0x8] - lsls r1, 8 - ldrb r2, [r0, 0x9] - orrs r1, r2 - str r1, [r3, 0x10] - ldrb r0, [r0, 0xA] - str r0, [r3, 0x14] - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldrb r0, [r1, 0x5] - lsls r0, 8 - ldrb r1, [r1, 0x4] - orrs r0, r1 - str r0, [r3, 0x18] - movs r0, 0 - str r0, [r3, 0x1C] - movs r0, 0x4 - bl FieldEffectStart - pop {r0} - bx r0 - .pool - thumb_func_end GroundEffect_StepOnTallGrass - - thumb_func_start GroundEffect_SpawnOnLongGrass -@ void GroundEffect_SpawnOnLongGrass(struct npc_state *fieldObject, struct obj *object) -GroundEffect_SpawnOnLongGrass: @ 8096F28 - push {lr} - ldr r3, =gFieldEffectArguments - movs r2, 0x10 - ldrsh r1, [r0, r2] - str r1, [r3] - movs r2, 0x12 - ldrsh r1, [r0, r2] - str r1, [r3, 0x4] - ldrb r1, [r0, 0xB] - lsrs r1, 4 - str r1, [r3, 0x8] - movs r1, 0x2 - str r1, [r3, 0xC] - ldrb r1, [r0, 0x8] - lsls r1, 8 - ldrb r2, [r0, 0x9] - orrs r1, r2 - str r1, [r3, 0x10] - ldrb r0, [r0, 0xA] - str r0, [r3, 0x14] - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldrb r0, [r1, 0x5] - lsls r0, 8 - ldrb r1, [r1, 0x4] - orrs r0, r1 - str r0, [r3, 0x18] - movs r0, 0x1 - str r0, [r3, 0x1C] - movs r0, 0x11 - bl FieldEffectStart - pop {r0} - bx r0 - .pool - thumb_func_end GroundEffect_SpawnOnLongGrass - - thumb_func_start GroundEffect_StepOnLongGrass -@ void GroundEffect_StepOnLongGrass(struct npc_state *fieldObject, struct obj *object) -GroundEffect_StepOnLongGrass: @ 8096F74 - push {lr} - ldr r3, =gFieldEffectArguments - movs r2, 0x10 - ldrsh r1, [r0, r2] - str r1, [r3] - movs r2, 0x12 - ldrsh r1, [r0, r2] - str r1, [r3, 0x4] - ldrb r1, [r0, 0xB] - lsrs r1, 4 - str r1, [r3, 0x8] - movs r1, 0x2 - str r1, [r3, 0xC] - ldrb r1, [r0, 0x8] - lsls r1, 8 - ldrb r2, [r0, 0x9] - orrs r1, r2 - str r1, [r3, 0x10] - ldrb r0, [r0, 0xA] - str r0, [r3, 0x14] - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldrb r0, [r1, 0x5] - lsls r0, 8 - ldrb r1, [r1, 0x4] - orrs r0, r1 - str r0, [r3, 0x18] - movs r0, 0 - str r0, [r3, 0x1C] - movs r0, 0x11 - bl FieldEffectStart - pop {r0} - bx r0 - .pool - thumb_func_end GroundEffect_StepOnLongGrass - - thumb_func_start GroundEffect_WaterReflection -@ void GroundEffect_WaterReflection(struct npc_state *fieldObject, struct obj *object) -GroundEffect_WaterReflection: @ 8096FC0 - push {lr} - movs r2, 0 - bl SetUpReflection - pop {r0} - bx r0 - thumb_func_end GroundEffect_WaterReflection - - thumb_func_start GroundEffect_IceReflection -@ void GroundEffect_IceReflection(struct npc_state *fieldObject, struct obj *object) -GroundEffect_IceReflection: @ 8096FCC - push {lr} - movs r2, 0x1 - bl SetUpReflection - pop {r0} - bx r0 - thumb_func_end GroundEffect_IceReflection - - thumb_func_start GroundEffect_FlowingWater -@ void GroundEffect_FlowingWater(struct npc_state *fieldObject, struct obj *object) -GroundEffect_FlowingWater: @ 8096FD8 - push {lr} - adds r1, r0, 0 - movs r0, 0x22 - bl oe_exec_and_other_stuff - pop {r0} - bx r0 - thumb_func_end GroundEffect_FlowingWater - - thumb_func_start GroundEffect_SandTracks -@ void GroundEffect_SandTracks(struct npc_state *fieldObject, struct obj *object) -GroundEffect_SandTracks: @ 8096FE8 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x5] - bl GetFieldObjectGraphicsInfo - ldr r1, =gUnknown_0850E654 - ldrb r0, [r0, 0xD] - lsls r0, 2 - adds r0, r1 - ldr r3, [r0] - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0 - bl _call_via_r3 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end GroundEffect_SandTracks - - thumb_func_start GroundEffect_DeepSandTracks -@ void GroundEffect_DeepSandTracks(struct npc_state *fieldObject, struct obj *object) -GroundEffect_DeepSandTracks: @ 8097014 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x5] - bl GetFieldObjectGraphicsInfo - ldr r1, =gUnknown_0850E654 - ldrb r0, [r0, 0xD] - lsls r0, 2 - adds r0, r1 - ldr r3, [r0] - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x1 - bl _call_via_r3 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end GroundEffect_DeepSandTracks - - thumb_func_start DoTracksGroundEffect_None -@ void DoTracksGroundEffect_None(struct npc_state *fieldObject, struct obj *object) -DoTracksGroundEffect_None: @ 8097040 - bx lr - thumb_func_end DoTracksGroundEffect_None - - thumb_func_start DoTracksGroundEffect_Footprints -@ void DoTracksGroundEffect_Footprints(struct npc_state *fieldObject, struct obj *object) -DoTracksGroundEffect_Footprints: @ 8097044 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - lsls r4, r2, 24 - lsrs r4, 24 - ldr r1, =gUnknown_0850E660 - mov r0, sp - movs r2, 0x4 - bl memcpy - ldr r1, =gFieldEffectArguments - movs r2, 0x14 - ldrsh r0, [r5, r2] - str r0, [r1] - movs r2, 0x16 - ldrsh r0, [r5, r2] - str r0, [r1, 0x4] - movs r0, 0x95 - str r0, [r1, 0x8] - movs r0, 0x2 - str r0, [r1, 0xC] - ldrb r0, [r5, 0x18] - lsls r0, 28 - lsrs r0, 28 - str r0, [r1, 0x10] - lsls r4, 1 - mov r1, sp - adds r0, r1, r4 - ldrb r0, [r0] - bl FieldEffectStart - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end DoTracksGroundEffect_Footprints - - thumb_func_start DoTracksGroundEffect_BikeTireTracks -@ void DoTracksGroundEffect_BikeTireTracks(struct npc_state *fieldObject, struct obj *object) -DoTracksGroundEffect_BikeTireTracks: @ 8097094 - push {r4,lr} - adds r4, r0, 0 - ldr r1, [r4, 0x10] - ldr r0, [r4, 0x14] - cmp r1, r0 - beq _080970D6 - ldr r2, =gFieldEffectArguments - movs r1, 0x14 - ldrsh r0, [r4, r1] - str r0, [r2] - movs r1, 0x16 - ldrsh r0, [r4, r1] - str r0, [r2, 0x4] - movs r0, 0x95 - str r0, [r2, 0x8] - movs r0, 0x2 - str r0, [r2, 0xC] - ldr r3, =gUnknown_0850E664 - ldrb r1, [r4, 0x18] - lsls r1, 28 - lsrs r1, 28 - adds r0, r4, 0 - adds r0, 0x20 - ldrb r0, [r0] - lsls r0, 2 - subs r0, 0x5 - adds r1, r0 - adds r1, r3 - ldrb r0, [r1] - str r0, [r2, 0x10] - movs r0, 0x23 - bl FieldEffectStart -_080970D6: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end DoTracksGroundEffect_BikeTireTracks - - thumb_func_start GroundEffect_Ripple -@ void GroundEffect_Ripple(struct npc_state *fieldObject, struct obj *object) -GroundEffect_Ripple: @ 80970E4 - push {lr} - bl DoRippleFieldEffect - pop {r0} - bx r0 - thumb_func_end GroundEffect_Ripple - - thumb_func_start GroundEffect_StepOnPuddle -@ void GroundEffect_StepOnPuddle(struct npc_state *fieldObject, struct obj *object) -GroundEffect_StepOnPuddle: @ 80970F0 - push {lr} - adds r1, r0, 0 - movs r0, 0xF - bl oe_exec_and_other_stuff - pop {r0} - bx r0 - thumb_func_end GroundEffect_StepOnPuddle - - thumb_func_start GroundEffect_SandHeap -@ void GroundEffect_SandHeap(struct npc_state *fieldObject, struct obj *object) -GroundEffect_SandHeap: @ 8097100 - push {lr} - adds r1, r0, 0 - movs r0, 0x27 - bl oe_exec_and_other_stuff - pop {r0} - bx r0 - thumb_func_end GroundEffect_SandHeap - - thumb_func_start GroundEffect_JumpOnTallGrass -@ void GroundEffect_JumpOnTallGrass(struct npc_state *fieldObject, struct obj *object) -GroundEffect_JumpOnTallGrass: @ 8097110 - push {r4-r7,lr} - sub sp, 0x4 - adds r5, r0, 0 - adds r6, r1, 0 - ldr r1, =gFieldEffectArguments - movs r2, 0x10 - ldrsh r0, [r5, r2] - str r0, [r1] - movs r4, 0x12 - ldrsh r0, [r5, r4] - str r0, [r1, 0x4] - ldrb r0, [r5, 0xB] - lsrs r0, 4 - str r0, [r1, 0x8] - movs r0, 0x2 - str r0, [r1, 0xC] - movs r0, 0xC - bl FieldEffectStart - ldrb r0, [r5, 0x8] - ldrb r1, [r5, 0x9] - ldrb r2, [r5, 0xA] - movs r7, 0x10 - ldrsh r3, [r5, r7] - movs r7, 0x12 - ldrsh r4, [r5, r7] - str r4, [sp] - bl sub_81546C8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - bne _0809715A - adds r0, r5, 0 - adds r1, r6, 0 - bl GroundEffect_SpawnOnTallGrass -_0809715A: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end GroundEffect_JumpOnTallGrass - - thumb_func_start GroundEffect_JumpOnLongGrass -@ void GroundEffect_JumpOnLongGrass(struct npc_state *fieldObject, struct obj *object) -GroundEffect_JumpOnLongGrass: @ 8097168 - push {lr} - ldr r2, =gFieldEffectArguments - movs r3, 0x10 - ldrsh r1, [r0, r3] - str r1, [r2] - movs r3, 0x12 - ldrsh r1, [r0, r3] - str r1, [r2, 0x4] - ldrb r0, [r0, 0xB] - lsrs r0, 4 - str r0, [r2, 0x8] - movs r0, 0x2 - str r0, [r2, 0xC] - movs r0, 0x12 - bl FieldEffectStart - pop {r0} - bx r0 - .pool - thumb_func_end GroundEffect_JumpOnLongGrass - - thumb_func_start GroundEffect_JumpOnShallowWater -@ void GroundEffect_JumpOnShallowWater(struct npc_state *fieldObject, struct obj *object) -GroundEffect_JumpOnShallowWater: @ 8097190 - push {r4,lr} - ldr r3, =gFieldEffectArguments - movs r4, 0x10 - ldrsh r2, [r0, r4] - str r2, [r3] - movs r4, 0x12 - ldrsh r2, [r0, r4] - str r2, [r3, 0x4] - ldrb r0, [r0, 0xB] - lsrs r0, 4 - str r0, [r3, 0x8] - ldrb r0, [r1, 0x5] - lsls r0, 28 - lsrs r0, 30 - str r0, [r3, 0xC] - movs r0, 0x10 - bl FieldEffectStart - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end GroundEffect_JumpOnShallowWater - - thumb_func_start GroundEffect_JumpOnWater -@ void GroundEffect_JumpOnWater(struct npc_state *fieldObject, struct obj *object) -GroundEffect_JumpOnWater: @ 80971C0 - push {r4,lr} - ldr r3, =gFieldEffectArguments - movs r4, 0x10 - ldrsh r2, [r0, r4] - str r2, [r3] - movs r4, 0x12 - ldrsh r2, [r0, r4] - str r2, [r3, 0x4] - ldrb r0, [r0, 0xB] - lsrs r0, 4 - str r0, [r3, 0x8] - ldrb r0, [r1, 0x5] - lsls r0, 28 - lsrs r0, 30 - str r0, [r3, 0xC] - movs r0, 0xE - bl FieldEffectStart - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end GroundEffect_JumpOnWater - - thumb_func_start GroundEffect_JumpLandingDust -@ void GroundEffect_JumpLandingDust(struct npc_state *fieldObject, struct obj *object) -GroundEffect_JumpLandingDust: @ 80971F0 - push {r4,lr} - ldr r3, =gFieldEffectArguments - movs r4, 0x10 - ldrsh r2, [r0, r4] - str r2, [r3] - movs r4, 0x12 - ldrsh r2, [r0, r4] - str r2, [r3, 0x4] - ldrb r0, [r0, 0xB] - lsrs r0, 4 - str r0, [r3, 0x8] - ldrb r0, [r1, 0x5] - lsls r0, 28 - lsrs r0, 30 - str r0, [r3, 0xC] - movs r0, 0xA - bl FieldEffectStart - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end GroundEffect_JumpLandingDust - - thumb_func_start GroundEffect_ShortGrass -@ void GroundEffect_ShortGrass(struct npc_state *fieldObject, struct obj *object) -GroundEffect_ShortGrass: @ 8097220 - push {lr} - adds r1, r0, 0 - movs r0, 0x29 - bl oe_exec_and_other_stuff - pop {r0} - bx r0 - thumb_func_end GroundEffect_ShortGrass - - thumb_func_start GroundEffect_HotSprings -@ void GroundEffect_HotSprings(struct npc_state *fieldObject, struct obj *object) -GroundEffect_HotSprings: @ 8097230 - push {lr} - adds r1, r0, 0 - movs r0, 0x2A - bl oe_exec_and_other_stuff - pop {r0} - bx r0 - thumb_func_end GroundEffect_HotSprings - - thumb_func_start GroundEffect_Seaweed -@ void GroundEffect_Seaweed(struct npc_state *fieldObject, struct obj *object) -GroundEffect_Seaweed: @ 8097240 - push {lr} - ldr r2, =gFieldEffectArguments - movs r3, 0x10 - ldrsh r1, [r0, r3] - str r1, [r2] - movs r1, 0x12 - ldrsh r0, [r0, r1] - str r0, [r2, 0x4] - movs r0, 0x35 - bl FieldEffectStart - pop {r0} - bx r0 - .pool - thumb_func_end GroundEffect_Seaweed - - thumb_func_start DoFlaggedGroundEffects -@ void DoFlaggedGroundEffects(struct npc_state *fieldObject, struct obj *object, u32 flags) -DoFlaggedGroundEffects: @ 8097260 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - adds r7, r1, 0 - adds r5, r2, 0 - bl FieldObjectIsFarawayIslandMew - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08097284 - adds r0, r6, 0 - bl sub_81D4A58 - lsls r0, 24 - cmp r0, 0 - beq _080972AC -_08097284: - movs r4, 0 - ldr r0, =gUnknown_0850E674 - mov r8, r0 -_0809728A: - movs r0, 0x1 - ands r0, r5 - cmp r0, 0 - beq _080972A0 - lsls r0, r4, 2 - add r0, r8 - ldr r2, [r0] - adds r0, r6, 0 - adds r1, r7, 0 - bl _call_via_r2 -_080972A0: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - lsrs r5, 1 - cmp r4, 0x13 - bls _0809728A -_080972AC: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end DoFlaggedGroundEffects - - thumb_func_start filters_out_some_ground_effects -@ void filters_out_some_ground_effects(struct npc_state *fieldObject, u32 *flags) -filters_out_some_ground_effects: @ 80972BC - push {lr} - adds r2, r0, 0 - adds r3, r1, 0 - ldrb r0, [r2] - lsls r0, 27 - cmp r0, 0 - bge _080972EA - ldrb r1, [r2, 0x2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - movs r1, 0x11 - negs r1, r1 - ands r0, r1 - adds r1, 0x8 - ands r0, r1 - subs r1, 0x18 - ands r0, r1 - strb r0, [r2, 0x2] - ldr r0, [r3] - ldr r1, =0xfff9f7bd - ands r0, r1 - str r0, [r3] -_080972EA: - pop {r0} - bx r0 - .pool - thumb_func_end filters_out_some_ground_effects - - thumb_func_start FilterOutStepOnPuddleGroundEffectIfJumping -@ void FilterOutStepOnPuddleGroundEffectIfJumping(struct npc_state *fieldObject, u32 *flags) -FilterOutStepOnPuddleGroundEffectIfJumping: @ 80972F4 - push {lr} - adds r2, r1, 0 - ldrb r0, [r0] - lsls r0, 26 - cmp r0, 0 - bge _08097308 - ldr r0, [r2] - ldr r1, =0xfffffbff - ands r0, r1 - str r0, [r2] -_08097308: - pop {r0} - bx r0 - .pool - thumb_func_end FilterOutStepOnPuddleGroundEffectIfJumping - - thumb_func_start DoGroundEffects_OnSpawn -@ void DoGroundEffects_OnSpawn(struct npc_state *fieldObject, struct obj *object) -DoGroundEffects_OnSpawn: @ 8097310 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4] - lsls r0, 29 - cmp r0, 0 - bge _08097354 - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - bl FieldObjectUpdateZCoordAndPriority - adds r0, r4, 0 - mov r1, sp - bl GetAllGroundEffectFlags_OnSpawn - adds r0, r4, 0 - adds r1, r5, 0 - bl FieldObjectSetSpriteOamTableForLongGrass - ldr r2, [sp] - adds r0, r4, 0 - adds r1, r5, 0 - bl DoFlaggedGroundEffects - ldrb r1, [r4] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - movs r1, 0x11 - negs r1, r1 - ands r0, r1 - strb r0, [r4] -_08097354: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end DoGroundEffects_OnSpawn - - thumb_func_start DoGroundEffects_OnBeginStep -@ void DoGroundEffects_OnBeginStep(struct npc_state *fieldObject, struct obj *object) -DoGroundEffects_OnBeginStep: @ 809735C - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4] - lsls r0, 29 - cmp r0, 0 - bge _080973A8 - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - bl FieldObjectUpdateZCoordAndPriority - adds r0, r4, 0 - mov r1, sp - bl GetAllGroundEffectFlags_OnBeginStep - adds r0, r4, 0 - adds r1, r5, 0 - bl FieldObjectSetSpriteOamTableForLongGrass - adds r0, r4, 0 - mov r1, sp - bl filters_out_some_ground_effects - ldr r2, [sp] - adds r0, r4, 0 - adds r1, r5, 0 - bl DoFlaggedGroundEffects - ldrb r1, [r4] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - movs r1, 0x11 - negs r1, r1 - ands r0, r1 - strb r0, [r4] -_080973A8: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end DoGroundEffects_OnBeginStep - - thumb_func_start DoGroundEffects_OnFinishStep -@ void DoGroundEffects_OnFinishStep(struct npc_state *fieldObject, struct obj *object) -DoGroundEffects_OnFinishStep: @ 80973B0 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4] - lsls r0, 28 - cmp r0, 0 - bge _080973FC - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - bl FieldObjectUpdateZCoordAndPriority - adds r0, r4, 0 - mov r1, sp - bl GetAllGroundEffectFlags_OnFinishStep - adds r0, r4, 0 - adds r1, r5, 0 - bl FieldObjectSetSpriteOamTableForLongGrass - adds r0, r4, 0 - mov r1, sp - bl FilterOutStepOnPuddleGroundEffectIfJumping - ldr r2, [sp] - adds r0, r4, 0 - adds r1, r5, 0 - bl DoFlaggedGroundEffects - ldrb r1, [r4] - movs r0, 0x9 - negs r0, r0 - ands r0, r1 - movs r1, 0x21 - negs r1, r1 - ands r0, r1 - strb r0, [r4] -_080973FC: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end DoGroundEffects_OnFinishStep - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/field_player_avatar.s b/asm/field_player_avatar.s index f5acc1e3e..c0becc6da 100644 --- a/asm/field_player_avatar.s +++ b/asm/field_player_avatar.s @@ -5,9 +5,9 @@ .text - thumb_func_start FieldObjectCB_NoMovement2 -@ void FieldObjectCB_NoMovement2(struct obj *object) -FieldObjectCB_NoMovement2: @ 808A998 + thumb_func_start MovementType_Player +@ void MovementType_Player(struct obj *object) +MovementType_Player: @ 808A998 push {lr} adds r1, r0, 0 movs r0, 0x2E @@ -15,20 +15,20 @@ FieldObjectCB_NoMovement2: @ 808A998 lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, =gMapObjects + ldr r2, =gEventObjects adds r0, r2 - ldr r2, =FieldObjectCB2_NoMovement2 - bl FieldObjectStep + ldr r2, =EventObjectCB2_NoMovement2 + bl UpdateEventObjectCurrentMovement pop {r0} bx r0 .pool - thumb_func_end FieldObjectCB_NoMovement2 + thumb_func_end MovementType_Player - thumb_func_start FieldObjectCB2_NoMovement2 -FieldObjectCB2_NoMovement2: @ 808A9BC + thumb_func_start EventObjectCB2_NoMovement2 +EventObjectCB2_NoMovement2: @ 808A9BC movs r0, 0 bx lr - thumb_func_end FieldObjectCB2_NoMovement2 + thumb_func_end EventObjectCB2_NoMovement2 thumb_func_start player_step @ void player_step(int dpad_direction, int buttons_new, int buttons_held) @@ -48,7 +48,7 @@ player_step: @ 808A9C0 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, =gMapObjects + ldr r1, =gEventObjects adds r5, r0, r1 adds r0, r5, 0 bl sub_808C280 @@ -60,7 +60,7 @@ player_step: @ 808A9C0 bl Bike_TryAcroBikeHistoryUpdate adds r0, r5, 0 mov r1, r8 - bl TryInterruptFieldObjectSpecialAnim + bl TryInterruptEventObjectSpecialAnim lsls r0, 24 cmp r0, 0 bne _0808AA26 @@ -85,25 +85,25 @@ _0808AA26: .pool thumb_func_end player_step - thumb_func_start TryInterruptFieldObjectSpecialAnim -@ bool8 TryInterruptFieldObjectSpecialAnim(struct npc_state *fieldObject, u8 direction) -TryInterruptFieldObjectSpecialAnim: @ 808AA38 + thumb_func_start TryInterruptEventObjectSpecialAnim +@ bool8 TryInterruptEventObjectSpecialAnim(struct npc_state *eventObject, u8 direction) +TryInterruptEventObjectSpecialAnim: @ 808AA38 push {r4-r6,lr} adds r4, r0, 0 lsls r1, 24 lsrs r5, r1, 24 adds r6, r5, 0 - bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive + bl EventObjectIsMovementOverridden lsls r0, 24 cmp r0, 0 beq _0808AA92 adds r0, r4, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished + bl EventObjectClearHeldMovementIfFinished lsls r0, 24 cmp r0, 0 bne _0808AA92 adds r0, r4, 0 - bl FieldObjectGetSpecialAnim + bl EventObjectGetHeldMovementActionId lsls r0, 24 movs r1, 0xE7 lsls r1, 24 @@ -123,7 +123,7 @@ _0808AA74: beq _0808AA84 _0808AA7C: adds r0, r4, 0 - bl FieldObjectClearAnim + bl EventObjectClearHeldMovement b _0808AA92 _0808AA84: adds r0, r6, 0 @@ -138,10 +138,10 @@ _0808AA94: pop {r4-r6} pop {r1} bx r1 - thumb_func_end TryInterruptFieldObjectSpecialAnim + thumb_func_end TryInterruptEventObjectSpecialAnim thumb_func_start npc_clear_strange_bits -@ void npc_clear_strange_bits(struct npc_state *fieldObject) +@ void npc_clear_strange_bits(struct npc_state *eventObject) npc_clear_strange_bits: @ 808AA9C ldrb r2, [r0, 0x1] movs r1, 0x11 @@ -240,7 +240,7 @@ GetForcedMovementByMetatileBehavior: @ 808AB38 ands r0, r1 cmp r0, 0 bne _0808AB8A - ldr r2, =gMapObjects + ldr r2, =gEventObjects ldrb r1, [r3, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -290,7 +290,7 @@ ForcedMovement_None: @ 808AB94 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, =gMapObjects + ldr r1, =gEventObjects adds r0, r1 ldrb r2, [r0, 0x1] movs r1, 0x3 @@ -302,7 +302,7 @@ ForcedMovement_None: @ 808AB94 ldrb r1, [r0, 0x18] lsls r1, 28 lsrs r1, 28 - bl FieldObjectSetDirection + bl SetEventObjectDirection ldrb r1, [r4] movs r0, 0xBF ands r0, r1 @@ -386,7 +386,7 @@ DoForcedMovementInCurrentDirection: @ 808AC58 lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, =gMapObjects + ldr r2, =gEventObjects adds r0, r2 ldrb r2, [r0, 0x1] movs r3, 0x4 @@ -528,7 +528,7 @@ ForcedMovement_Slide: @ 808AD60 lsls r2, r3, 3 adds r2, r3 lsls r2, 2 - ldr r3, =gMapObjects + ldr r3, =gEventObjects adds r2, r3 ldrb r3, [r2, 0x1] movs r4, 0x4 @@ -623,7 +623,7 @@ ForcedMovement_MuddySlope: @ 808AE10 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, =gMapObjects + ldr r1, =gEventObjects adds r4, r0, r1 ldrb r1, [r4, 0x18] movs r0, 0xF0 @@ -697,7 +697,7 @@ CheckMovementInputNotOnBike: @ 808AE98 b _0808AED2 .pool _0808AEB0: - bl player_get_direction_upper_nybble + bl GetPlayerMovementDirection lsls r0, 24 lsrs r0, 24 cmp r4, r0 @@ -725,7 +725,7 @@ _0808AED2: @ void PlayerNotOnBikeNotMoving(u8 direction, u8 heldKeys) PlayerNotOnBikeNotMoving: @ 808AEDC push {lr} - bl player_get_direction_lower_nybble + bl GetPlayerFacingDirection lsls r0, 24 lsrs r0, 24 bl PlayerFaceDirection @@ -809,7 +809,7 @@ _0808AF68: lsls r0, 24 cmp r0, 0 beq _0808AFB0 - ldr r2, =gMapObjects + ldr r2, =gEventObjects ldrb r1, [r4, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -848,7 +848,7 @@ CheckForPlayerAvatarCollision: @ 808AFBC lsls r4, r0, 3 adds r4, r0 lsls r4, 2 - ldr r0, =gMapObjects + ldr r0, =gEventObjects adds r4, r0 ldrh r1, [r4, 0x10] add r0, sp, 0x4 @@ -877,7 +877,7 @@ CheckForPlayerAvatarCollision: @ 808AFBC str r0, [sp] adds r0, r4, 0 adds r3, r6, 0 - bl CheckForFieldObjectCollision + bl CheckForEventObjectCollision lsls r0, 24 lsrs r0, 24 add sp, 0x8 @@ -899,7 +899,7 @@ sub_808B028: @ 808B028 lsls r4, r0, 3 adds r4, r0 lsls r4, 2 - ldr r0, =gMapObjects + ldr r0, =gEventObjects adds r4, r0 ldrh r1, [r4, 0x10] add r0, sp, 0x4 @@ -938,9 +938,9 @@ sub_808B028: @ 808B028 .pool thumb_func_end sub_808B028 - thumb_func_start CheckForFieldObjectCollision -@ u8 CheckForFieldObjectCollision(struct npc_state *fieldObject, u16 x, u16 y, u8 direction, u8 metatileBehavior) -CheckForFieldObjectCollision: @ 808B094 + thumb_func_start CheckForEventObjectCollision +@ u8 CheckForEventObjectCollision(struct npc_state *eventObject, u16 x, u16 y, u8 direction, u8 metatileBehavior) +CheckForEventObjectCollision: @ 808B094 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -963,7 +963,7 @@ CheckForFieldObjectCollision: @ 808B094 adds r1, r5, 0 adds r2, r4, 0 adds r3, r6, 0 - bl npc_block_way + bl GetCollisionAtCoords lsls r0, 24 lsrs r0, 24 mov r1, sp @@ -1043,7 +1043,7 @@ _0808B152: pop {r4-r7} pop {r1} bx r1 - thumb_func_end CheckForFieldObjectCollision + thumb_func_end CheckForEventObjectCollision thumb_func_start sub_808B164 sub_808B164: @ 808B164 @@ -1061,7 +1061,7 @@ sub_808B164: @ 808B164 adds r1, r5, 0 adds r2, r4, 0 adds r3, r6, 0 - bl npc_block_way + bl GetCollisionAtCoords lsls r0, 24 lsrs r0, 24 mov r1, sp @@ -1120,7 +1120,7 @@ sub_808B1BC: @ 808B1BC lsrs r0, r5, 16 lsrs r1, r4, 16 movs r2, 0x3 - bl GetFieldObjectIdByXYZ + bl GetEventObjectIdByXYZ lsls r0, 24 lsrs r0, 24 cmp r0, 0x10 @@ -1182,12 +1182,12 @@ sub_808B238: @ 808B238 ldrsh r0, [r0, r1] movs r2, 0 ldrsh r1, [r5, r2] - bl GetFieldObjectIdByXY + bl GetEventObjectIdByXY lsls r0, 24 lsrs r6, r0, 24 cmp r6, 0x10 beq _0808B2D8 - ldr r0, =gMapObjects + ldr r0, =gEventObjects lsls r1, r6, 3 adds r1, r6 lsls r1, 2 @@ -1211,7 +1211,7 @@ sub_808B238: @ 808B238 ldrsh r2, [r5, r0] adds r0, r4, 0 adds r3, r7, 0 - bl npc_block_way + bl GetCollisionAtCoords lsls r0, 24 cmp r0, 0 bne _0808B2D8 @@ -1290,7 +1290,7 @@ IsPlayerCollidingWithFarawayIslandMew: @ 808B324 lsls r1, r2, 3 adds r1, r2 lsls r1, 2 - ldr r5, =gMapObjects + ldr r5, =gEventObjects adds r3, r1, r5 ldrh r2, [r3, 0x10] mov r1, sp @@ -1305,7 +1305,7 @@ IsPlayerCollidingWithFarawayIslandMew: @ 808B324 movs r0, 0x1 movs r1, 0x39 movs r2, 0x1A - bl GetFieldObjectIdByLocalIdAndMap + bl GetEventObjectIdByLocalIdAndMap lsls r0, 24 lsrs r1, r0, 24 adds r6, r4, 0 @@ -1401,7 +1401,7 @@ _0808B3F4: lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, =gMapObjects + ldr r1, =gEventObjects adds r0, r1 ldr r1, [r2] bl _call_via_r1 @@ -1423,13 +1423,13 @@ _0808B428: thumb_func_end DoPlayerAvatarTransition thumb_func_start PlayerAvatarTransition_Dummy -@ void PlayerAvatarTransition_Dummy(struct npc_state *fieldObject) +@ void PlayerAvatarTransition_Dummy(struct npc_state *eventObject) PlayerAvatarTransition_Dummy: @ 808B43C bx lr thumb_func_end PlayerAvatarTransition_Dummy thumb_func_start PlayerAvatarTransition_Normal -@ void PlayerAvatarTransition_Normal(struct npc_state *fieldObject) +@ void PlayerAvatarTransition_Normal(struct npc_state *eventObject) PlayerAvatarTransition_Normal: @ 808B440 push {r4,lr} adds r4, r0, 0 @@ -1439,11 +1439,11 @@ PlayerAvatarTransition_Normal: @ 808B440 lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 - bl FieldObjectSetGraphicsId + bl EventObjectSetGraphicsId ldrb r1, [r4, 0x18] lsrs r1, 4 adds r0, r4, 0 - bl FieldObjectTurn + bl EventObjectTurn movs r0, 0x1 bl SetPlayerAvatarStateMask pop {r4} @@ -1452,7 +1452,7 @@ PlayerAvatarTransition_Normal: @ 808B440 thumb_func_end PlayerAvatarTransition_Normal thumb_func_start PlayerAvatarTransition_MachBike -@ void PlayerAvatarTransition_MachBike(struct npc_state *fieldObject) +@ void PlayerAvatarTransition_MachBike(struct npc_state *eventObject) PlayerAvatarTransition_MachBike: @ 808B46C push {r4,lr} adds r4, r0, 0 @@ -1462,11 +1462,11 @@ PlayerAvatarTransition_MachBike: @ 808B46C lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 - bl FieldObjectSetGraphicsId + bl EventObjectSetGraphicsId ldrb r1, [r4, 0x18] lsrs r1, 4 adds r0, r4, 0 - bl FieldObjectTurn + bl EventObjectTurn movs r0, 0x2 bl SetPlayerAvatarStateMask movs r0, 0 @@ -1478,7 +1478,7 @@ PlayerAvatarTransition_MachBike: @ 808B46C thumb_func_end PlayerAvatarTransition_MachBike thumb_func_start PlayerAvatarTransition_AcroBike -@ void PlayerAvatarTransition_AcroBike(struct npc_state *fieldObject) +@ void PlayerAvatarTransition_AcroBike(struct npc_state *eventObject) PlayerAvatarTransition_AcroBike: @ 808B4A0 push {r4,lr} adds r4, r0, 0 @@ -1488,11 +1488,11 @@ PlayerAvatarTransition_AcroBike: @ 808B4A0 lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 - bl FieldObjectSetGraphicsId + bl EventObjectSetGraphicsId ldrb r1, [r4, 0x18] lsrs r1, 4 adds r0, r4, 0 - bl FieldObjectTurn + bl EventObjectTurn movs r0, 0x4 bl SetPlayerAvatarStateMask movs r0, 0 @@ -1505,7 +1505,7 @@ PlayerAvatarTransition_AcroBike: @ 808B4A0 thumb_func_end PlayerAvatarTransition_AcroBike thumb_func_start PlayerAvatarTransition_Surfing -@ void PlayerAvatarTransition_Surfing(struct npc_state *fieldObject) +@ void PlayerAvatarTransition_Surfing(struct npc_state *eventObject) PlayerAvatarTransition_Surfing: @ 808B4D8 push {r4,lr} adds r4, r0, 0 @@ -1515,11 +1515,11 @@ PlayerAvatarTransition_Surfing: @ 808B4D8 lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 - bl FieldObjectSetGraphicsId + bl EventObjectSetGraphicsId ldrb r1, [r4, 0x18] lsrs r1, 4 adds r0, r4, 0 - bl FieldObjectTurn + bl EventObjectTurn movs r0, 0x8 bl SetPlayerAvatarStateMask ldr r1, =gFieldEffectArguments @@ -1546,7 +1546,7 @@ PlayerAvatarTransition_Surfing: @ 808B4D8 thumb_func_end PlayerAvatarTransition_Surfing thumb_func_start PlayerAvatarTransition_Underwater -@ void PlayerAvatarTransition_Underwater(struct npc_state *fieldObject) +@ void PlayerAvatarTransition_Underwater(struct npc_state *eventObject) PlayerAvatarTransition_Underwater: @ 808B534 push {r4,lr} adds r4, r0, 0 @@ -1556,11 +1556,11 @@ PlayerAvatarTransition_Underwater: @ 808B534 lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 - bl FieldObjectSetGraphicsId + bl EventObjectSetGraphicsId ldrb r1, [r4, 0x18] lsrs r1, 4 adds r0, r4, 0 - bl FieldObjectTurn + bl EventObjectTurn movs r0, 0x10 bl SetPlayerAvatarStateMask ldrb r0, [r4, 0x4] @@ -1572,7 +1572,7 @@ PlayerAvatarTransition_Underwater: @ 808B534 thumb_func_end PlayerAvatarTransition_Underwater thumb_func_start PlayerAvatarTransition_ReturnToField -@ void PlayerAvatarTransition_ReturnToField(struct npc_state *fieldObject) +@ void PlayerAvatarTransition_ReturnToField(struct npc_state *eventObject) PlayerAvatarTransition_ReturnToField: @ 808B568 ldr r2, =gPlayerAvatar ldrb r1, [r2] @@ -1621,7 +1621,7 @@ _0808B5B6: thumb_func_start player_is_anim_in_certain_ranges player_is_anim_in_certain_ranges: @ 808B5BC push {lr} - ldr r2, =gMapObjects + ldr r2, =gEventObjects ldr r0, =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 @@ -1696,9 +1696,9 @@ PlayerIsAnimActive: @ 808B63C lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, =gMapObjects + ldr r1, =gEventObjects adds r0, r1 - bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive + bl EventObjectIsMovementOverridden lsls r0, 24 lsrs r0, 24 pop {r1} @@ -1715,9 +1715,9 @@ PlayerCheckIfAnimFinishedOrInactive: @ 808B660 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, =gMapObjects + ldr r1, =gEventObjects adds r0, r1 - bl FieldObjectCheckIfSpecialAnimFinishedOrInactive + bl EventObjectCheckHeldMovementStatus lsls r0, 24 lsrs r0, 24 pop {r1} @@ -1727,7 +1727,7 @@ PlayerCheckIfAnimFinishedOrInactive: @ 808B660 thumb_func_start player_set_x22 player_set_x22: @ 808B684 - ldr r3, =gMapObjects + ldr r3, =gEventObjects ldr r1, =gPlayerAvatar ldrb r2, [r1, 0x5] lsls r1, r2, 3 @@ -1740,9 +1740,9 @@ player_set_x22: @ 808B684 .pool thumb_func_end player_set_x22 - thumb_func_start player_get_x22 -player_get_x22: @ 808B6A0 - ldr r2, =gMapObjects + thumb_func_start PlayerGetCopyableMovement +PlayerGetCopyableMovement: @ 808B6A0 + ldr r2, =gEventObjects ldr r0, =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 @@ -1753,7 +1753,7 @@ player_get_x22: @ 808B6A0 ldrb r0, [r0] bx lr .pool - thumb_func_end player_get_x22 + thumb_func_end PlayerGetCopyableMovement thumb_func_start sub_808B6BC sub_808B6BC: @ 808B6BC @@ -1766,9 +1766,9 @@ sub_808B6BC: @ 808B6BC lsls r0, r2, 3 adds r0, r2 lsls r0, 2 - ldr r2, =gMapObjects + ldr r2, =gEventObjects adds r0, r2 - bl FieldObjectForceSetSpecialAnim + bl EventObjectForceSetHeldMovement pop {r0} bx r0 .pool @@ -1793,10 +1793,10 @@ PlayerSetAnimId: @ 808B6E4 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, =gMapObjects + ldr r1, =gEventObjects adds r0, r1 adds r1, r5, 0 - bl FieldObjectSetSpecialAnim + bl EventObjectSetHeldMovement _0808B712: pop {r4,r5} pop {r0} @@ -1810,7 +1810,7 @@ PlayerGoSpeed1: @ 808B720 push {lr} lsls r0, 24 lsrs r0, 24 - bl GetGoSpeed0AnimId + bl GetWalkNormalMovementAction lsls r0, 24 lsrs r0, 24 movs r1, 0x2 @@ -1825,7 +1825,7 @@ PlayerGoSpeed2: @ 808B738 push {lr} lsls r0, 24 lsrs r0, 24 - bl GetGoSpeed1AnimId + bl GetWalkFastMovementAction lsls r0, 24 lsrs r0, 24 movs r1, 0x2 @@ -1840,7 +1840,7 @@ PlayerGoSpeed3: @ 808B750 push {lr} lsls r0, 24 lsrs r0, 24 - bl GetGoSpeed2AnimId + bl GetRideWaterCurrentMovementAction lsls r0, 24 lsrs r0, 24 movs r1, 0x2 @@ -1855,7 +1855,7 @@ PlayerGoSpeed4: @ 808B768 push {lr} lsls r0, 24 lsrs r0, 24 - bl GetGoSpeed3AnimId + bl GetWalkFastestMovementAction lsls r0, 24 lsrs r0, 24 movs r1, 0x2 @@ -1870,7 +1870,7 @@ PlayerRun: @ 808B780 push {lr} lsls r0, 24 lsrs r0, 24 - bl GetRunAnimId + bl GetPlayerRunMovementAction lsls r0, 24 lsrs r0, 24 movs r1, 0x2 @@ -1889,7 +1889,7 @@ PlayerOnBikeCollide: @ 808B798 adds r0, r4, 0 bl PlayCollisionSoundIfNotFacingWarp adds r0, r4, 0 - bl GetStepInPlaceDelay16AnimId + bl GetWalkInPlaceNormalMovementAction lsls r0, 24 lsrs r0, 24 movs r1, 0x2 @@ -1905,7 +1905,7 @@ PlayerOnBikeCollideWithFarawayIslandMew: @ 808B7BC push {lr} lsls r0, 24 lsrs r0, 24 - bl GetStepInPlaceDelay16AnimId + bl GetWalkInPlaceNormalMovementAction lsls r0, 24 lsrs r0, 24 movs r1, 0x2 @@ -1924,7 +1924,7 @@ PlayerNotOnBikeCollide: @ 808B7D4 adds r0, r4, 0 bl PlayCollisionSoundIfNotFacingWarp adds r0, r4, 0 - bl GetStepInPlaceDelay32AnimId + bl GetWalkInPlaceSlowMovementAction lsls r0, 24 lsrs r0, 24 movs r1, 0x2 @@ -1940,7 +1940,7 @@ PlayerNotOnBikeCollideWithFarawayIslandMew: @ 808B7F8 push {lr} lsls r0, 24 lsrs r0, 24 - bl GetStepInPlaceDelay32AnimId + bl GetWalkInPlaceSlowMovementAction lsls r0, 24 lsrs r0, 24 movs r1, 0x2 @@ -1955,7 +1955,7 @@ PlayerFaceDirection: @ 808B810 push {lr} lsls r0, 24 lsrs r0, 24 - bl GetFaceDirectionAnimId + bl GetFaceDirectionMovementAction lsls r0, 24 lsrs r0, 24 movs r1, 0x1 @@ -1970,7 +1970,7 @@ PlayerTurnInPlace: @ 808B828 push {lr} lsls r0, 24 lsrs r0, 24 - bl GetStepInPlaceDelay8AnimId + bl GetWalkInPlaceFastMovementAction lsls r0, 24 lsrs r0, 24 movs r1, 0x1 @@ -1989,7 +1989,7 @@ PlayerJumpLedge: @ 808B840 movs r0, 0xA bl PlaySE adds r0, r4, 0 - bl GetJumpLedgeAnimId + bl GetJump2MovementAction lsls r0, 24 lsrs r0, 24 movs r1, 0x8 @@ -2013,7 +2013,7 @@ _0808B872: lsls r0, 24 cmp r0, 0 beq _0808B89A - ldr r2, =gMapObjects + ldr r2, =gEventObjects ldrb r1, [r4, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -2022,7 +2022,7 @@ _0808B872: ldrb r0, [r0, 0x18] lsls r0, 28 lsrs r0, 28 - bl GetFaceDirectionAnimId + bl GetFaceDirectionMovementAction lsls r0, 24 lsrs r0, 24 bl sub_808B6BC @@ -2038,7 +2038,7 @@ PlayerIdleWheelie: @ 808B8A8 push {lr} lsls r0, 24 lsrs r0, 24 - bl sub_8093648 + bl GetAcroWheelieFaceDirectionMovementAction lsls r0, 24 lsrs r0, 24 movs r1, 0x1 @@ -2052,7 +2052,7 @@ PlayerStartWheelie: @ 808B8C0 push {lr} lsls r0, 24 lsrs r0, 24 - bl sub_8093674 + bl GetAcroPopWheelieFaceDirectionMovementAction lsls r0, 24 lsrs r0, 24 movs r1, 0x1 @@ -2066,7 +2066,7 @@ PlayerEndWheelie: @ 808B8D8 push {lr} lsls r0, 24 lsrs r0, 24 - bl sub_80936A0 + bl GetAcroEndWheelieFaceDirectionMovementAction lsls r0, 24 lsrs r0, 24 movs r1, 0x1 @@ -2084,7 +2084,7 @@ PlayerStandingHoppingWheelie: @ 808B8F0 movs r0, 0x22 bl PlaySE adds r0, r4, 0 - bl sub_80936CC + bl GetAcroWheelieHopFaceDirectionMovementAction lsls r0, 24 lsrs r0, 24 movs r1, 0x1 @@ -2103,7 +2103,7 @@ PlayerMovingHoppingWheelie: @ 808B914 movs r0, 0x22 bl PlaySE adds r0, r4, 0 - bl sub_80936F8 + bl GetAcroWheelieHopDirectionMovementAction lsls r0, 24 lsrs r0, 24 movs r1, 0x2 @@ -2122,7 +2122,7 @@ PlayerLedgeHoppingWheelie: @ 808B938 movs r0, 0x22 bl PlaySE adds r0, r4, 0 - bl sub_8093724 + bl GetAcroWheelieJumpDirectionMovementAction lsls r0, 24 lsrs r0, 24 movs r1, 0x8 @@ -2141,7 +2141,7 @@ PlayerAcroTurnJump: @ 808B95C movs r0, 0x22 bl PlaySE adds r0, r4, 0 - bl sub_80934E8 + bl GetJumpInPlaceTurnAroundMovementAction lsls r0, 24 lsrs r0, 24 movs r1, 0x1 @@ -2160,7 +2160,7 @@ sub_808B980: @ 808B980 movs r0, 0x7 bl PlaySE adds r0, r4, 0 - bl sub_8093750 + bl GetAcroWheelieInPlaceDirectionMovementAction lsls r0, 24 lsrs r0, 24 movs r1, 0x2 @@ -2175,7 +2175,7 @@ sub_808B9A4: @ 808B9A4 push {lr} lsls r0, 24 lsrs r0, 24 - bl sub_809377C + bl GetAcroPopWheelieMoveDirectionMovementAction lsls r0, 24 lsrs r0, 24 movs r1, 0x2 @@ -2189,7 +2189,7 @@ sub_808B9BC: @ 808B9BC push {lr} lsls r0, 24 lsrs r0, 24 - bl sub_80937A8 + bl GetAcroWheelieMoveDirectionMovementAction lsls r0, 24 lsrs r0, 24 movs r1, 0x2 @@ -2203,7 +2203,7 @@ npc_use_some_d2s: @ 808B9D4 push {lr} lsls r0, 24 lsrs r0, 24 - bl d2s_08064034 + bl GetAcroEndWheelieMoveDirectionMovementAction lsls r0, 24 lsrs r0, 24 movs r1, 0x2 @@ -2219,7 +2219,7 @@ PlayCollisionSoundIfNotFacingWarp: @ 808B9EC sub sp, 0x4 lsls r0, 24 lsrs r4, r0, 24 - ldr r2, =gMapObjects + ldr r2, =gEventObjects ldr r0, =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 @@ -2275,7 +2275,7 @@ GetXYCoordsOneStepInFrontOfPlayer: @ 808BA68 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 - ldr r3, =gMapObjects + ldr r3, =gEventObjects ldr r2, =gPlayerAvatar ldrb r1, [r2, 0x5] lsls r0, r1, 3 @@ -2291,7 +2291,7 @@ GetXYCoordsOneStepInFrontOfPlayer: @ 808BA68 adds r0, r3 ldrh r0, [r0, 0x12] strh r0, [r5] - bl player_get_direction_lower_nybble + bl GetPlayerFacingDirection lsls r0, 24 lsrs r0, 24 adds r1, r4, 0 @@ -2307,7 +2307,7 @@ GetXYCoordsOneStepInFrontOfPlayer: @ 808BA68 @ void PlayerGetDestCoords(u16 *x, u16 *y) PlayerGetDestCoords: @ 808BAAC push {r4,r5,lr} - ldr r5, =gMapObjects + ldr r5, =gEventObjects ldr r4, =gPlayerAvatar ldrb r3, [r4, 0x5] lsls r2, r3, 3 @@ -2339,7 +2339,7 @@ plaer_get_pos_including_state_based_drift: @ 808BADC lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, =gMapObjects + ldr r1, =gEventObjects adds r3, r0, r1 ldrb r1, [r3] movs r0, 0xC0 @@ -2462,10 +2462,10 @@ _0808BC30: bx r1 thumb_func_end plaer_get_pos_including_state_based_drift - thumb_func_start player_get_direction_lower_nybble -@ u8 player_get_direction_lower_nybble() -player_get_direction_lower_nybble: @ 808BC38 - ldr r2, =gMapObjects + thumb_func_start GetPlayerFacingDirection +@ u8 GetPlayerFacingDirection() +GetPlayerFacingDirection: @ 808BC38 + ldr r2, =gEventObjects ldr r0, =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 @@ -2477,12 +2477,12 @@ player_get_direction_lower_nybble: @ 808BC38 lsrs r0, 28 bx lr .pool - thumb_func_end player_get_direction_lower_nybble + thumb_func_end GetPlayerFacingDirection - thumb_func_start player_get_direction_upper_nybble -@ u8 player_get_direction_upper_nybble() -player_get_direction_upper_nybble: @ 808BC58 - ldr r2, =gMapObjects + thumb_func_start GetPlayerMovementDirection +@ u8 GetPlayerMovementDirection() +GetPlayerMovementDirection: @ 808BC58 + ldr r2, =gEventObjects ldr r0, =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 @@ -2493,12 +2493,12 @@ player_get_direction_upper_nybble: @ 808BC58 lsrs r0, 4 bx lr .pool - thumb_func_end player_get_direction_upper_nybble + thumb_func_end GetPlayerMovementDirection thumb_func_start PlayerGetZCoord @ u8 PlayerGetZCoord() PlayerGetZCoord: @ 808BC74 - ldr r2, =gMapObjects + ldr r2, =gEventObjects ldr r0, =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 @@ -2521,7 +2521,7 @@ sub_808BC90: @ 808BC90 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, =gMapObjects + ldr r1, =gEventObjects adds r0, r1 lsls r3, 16 asrs r3, 16 @@ -2578,7 +2578,7 @@ sub_808BCF4: @ 808BCF4 lsls r4, r0, 3 adds r4, r0 lsls r4, 2 - ldr r0, =gMapObjects + ldr r0, =gEventObjects adds r4, r0 adds r0, r4, 0 bl npc_clear_strange_bits @@ -2586,7 +2586,7 @@ sub_808BCF4: @ 808BCF4 lsls r1, 28 lsrs r1, 28 adds r0, r4, 0 - bl FieldObjectSetDirection + bl SetEventObjectDirection movs r0, 0x6 bl TestPlayerAvatarFlags lsls r0, 24 @@ -2780,7 +2780,7 @@ _0808BE46: @ bool8 IsPlayerSurfingNorth() IsPlayerSurfingNorth: @ 808BE50 push {lr} - bl player_get_direction_upper_nybble + bl GetPlayerMovementDirection lsls r0, 24 lsrs r0, 24 cmp r0, 0x2 @@ -2809,7 +2809,7 @@ IsPlayerFacingSurfableFishableWater: @ 808BE74 lsls r4, r0, 3 adds r4, r0 lsls r4, 2 - ldr r0, =gMapObjects + ldr r0, =gEventObjects adds r4, r0 ldrh r1, [r4, 0x10] mov r0, sp @@ -2833,7 +2833,7 @@ IsPlayerFacingSurfableFishableWater: @ 808BE74 lsls r3, 28 lsrs r3, 28 adds r0, r4, 0 - bl npc_block_way + bl GetCollisionAtCoords lsls r0, 24 lsrs r0, 24 cmp r0, 0x3 @@ -3053,14 +3053,14 @@ InitPlayerAvatar: @ 808BFE0 strh r3, [r0, 0xE] str r3, [sp, 0x10] strh r3, [r0, 0x14] - bl SpawnSpecialFieldObject + bl SpawnSpecialEventObject adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 lsls r4, r5, 3 adds r4, r5 lsls r4, 2 - ldr r0, =gMapObjects + ldr r0, =gEventObjects adds r4, r0 ldrb r0, [r4, 0x2] movs r1, 0x1 @@ -3070,7 +3070,7 @@ InitPlayerAvatar: @ 808BFE0 strb r0, [r4, 0x1B] adds r0, r4, 0 mov r1, r9 - bl FieldObjectTurn + bl EventObjectTurn bl ClearPlayerAvatarInfo ldr r0, =gPlayerAvatar strb r6, [r0, 0x2] @@ -3097,7 +3097,7 @@ sub_808C0A8: @ 808C0A8 push {r4-r6,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r6, =gMapObjects + ldr r6, =gEventObjects ldr r5, =gPlayerAvatar ldrb r0, [r5, 0x5] lsls r1, r0, 3 @@ -3152,7 +3152,7 @@ sub_808C114: @ 808C114 lsls r4, r0, 3 adds r4, r0 lsls r4, 2 - ldr r0, =gMapObjects + ldr r0, =gEventObjects adds r4, r0 movs r0, 0x5 bl GetPlayerAvatarGraphicsIdByStateId @@ -3160,7 +3160,7 @@ sub_808C114: @ 808C114 lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 - bl FieldObjectSetGraphicsId + bl EventObjectSetGraphicsId ldrb r1, [r5, 0x4] lsls r0, r1, 4 adds r0, r1 @@ -3186,7 +3186,7 @@ sub_808C15C: @ 808C15C lsls r4, r0, 3 adds r4, r0 lsls r4, 2 - ldr r0, =gMapObjects + ldr r0, =gEventObjects adds r4, r0 movs r0, 0x6 bl GetPlayerAvatarGraphicsIdByStateId @@ -3194,7 +3194,7 @@ sub_808C15C: @ 808C15C lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 - bl FieldObjectSetGraphicsId + bl EventObjectSetGraphicsId ldrb r0, [r6, 0x4] lsls r4, r0, 4 adds r4, r0 @@ -3202,7 +3202,7 @@ sub_808C15C: @ 808C15C ldr r0, =gSprites adds r4, r0 adds r0, r5, 0 - bl sub_8092A0C + bl GetFishingDirectionAnimNum adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -3227,7 +3227,7 @@ sub_808C1B4: @ 808C1B4 lsls r4, r0, 3 adds r4, r0 lsls r4, 2 - ldr r0, =gMapObjects + ldr r0, =gEventObjects adds r4, r0 movs r0, 0x2 bl GetPlayerAvatarGraphicsIdByStateId @@ -3235,7 +3235,7 @@ sub_808C1B4: @ 808C1B4 lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 - bl FieldObjectSetGraphicsId + bl EventObjectSetGraphicsId ldrb r0, [r6, 0x4] lsls r4, r0, 4 adds r4, r0 @@ -3244,7 +3244,7 @@ sub_808C1B4: @ 808C1B4 mov r8, r0 add r4, r8 adds r0, r5, 0 - bl sub_80929BC + bl GetAcroWheelieDirectionAnimNum adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -3276,7 +3276,7 @@ sub_808C228: @ 808C228 lsls r4, r0, 3 adds r4, r0 lsls r4, 2 - ldr r0, =gMapObjects + ldr r0, =gEventObjects adds r4, r0 movs r0, 0x7 bl GetPlayerAvatarGraphicsIdByStateId @@ -3284,7 +3284,7 @@ sub_808C228: @ 808C228 lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 - bl FieldObjectSetGraphicsId + bl EventObjectSetGraphicsId ldrb r0, [r6, 0x4] lsls r4, r0, 4 adds r4, r0 @@ -3292,7 +3292,7 @@ sub_808C228: @ 808C228 ldr r0, =gSprites adds r4, r0 adds r0, r5, 0 - bl FieldObjectDirectionToImageAnimId + bl GetFaceDirectionAnimNum adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -3414,7 +3414,7 @@ taskFF_bump_boulder: @ 808C34C lsrs r0, 24 ldr r6, =gUnknown_08497530 ldr r2, =gTasks - ldr r5, =gMapObjects + ldr r5, =gEventObjects lsls r1, r0, 2 adds r1, r0 lsls r1, 3 @@ -3474,49 +3474,49 @@ do_boulder_dust: @ 808C3C4 adds r5, r1, 0 adds r4, r2, 0 adds r0, r5, 0 - bl FieldObjectIsSpecialAnimActive + bl EventObjectIsHeldMovementActive lsls r0, 24 cmp r0, 0 beq _0808C3DE adds r0, r5, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished + bl EventObjectClearHeldMovementIfFinished _0808C3DE: adds r0, r4, 0 - bl FieldObjectIsSpecialAnimActive + bl EventObjectIsHeldMovementActive lsls r0, 24 cmp r0, 0 beq _0808C3F0 adds r0, r4, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished + bl EventObjectClearHeldMovementIfFinished _0808C3F0: adds r0, r5, 0 - bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive + bl EventObjectIsMovementOverridden lsls r0, 24 cmp r0, 0 bne _0808C472 adds r0, r4, 0 - bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive + bl EventObjectIsMovementOverridden lsls r0, 24 cmp r0, 0 bne _0808C472 adds r0, r5, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished + bl EventObjectClearHeldMovementIfFinished adds r0, r4, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished + bl EventObjectClearHeldMovementIfFinished ldrb r0, [r6, 0xC] - bl GetStepInPlaceDelay16AnimId + bl GetWalkInPlaceNormalMovementAction adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 adds r0, r5, 0 - bl FieldObjectSetSpecialAnim + bl EventObjectSetHeldMovement ldrb r0, [r6, 0xC] - bl GetSimpleGoAnimId + bl GetWalkSlowMovementAction adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 - bl FieldObjectSetSpecialAnim + bl EventObjectSetHeldMovement ldr r2, =gFieldEffectArguments movs r1, 0x10 ldrsh r0, [r4, r1] @@ -3558,19 +3558,19 @@ sub_808C484: @ 808C484 adds r4, r1, 0 adds r5, r2, 0 adds r0, r4, 0 - bl FieldObjectCheckIfSpecialAnimFinishedOrInactive + bl EventObjectCheckHeldMovementStatus lsls r0, 24 cmp r0, 0 beq _0808C4C6 adds r0, r5, 0 - bl FieldObjectCheckIfSpecialAnimFinishedOrInactive + bl EventObjectCheckHeldMovementStatus lsls r0, 24 cmp r0, 0 beq _0808C4C6 adds r0, r4, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished + bl EventObjectClearHeldMovementIfFinished adds r0, r5, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished + bl EventObjectClearHeldMovementIfFinished ldr r1, =gPlayerAvatar movs r0, 0 strb r0, [r1, 0x6] @@ -3625,7 +3625,7 @@ _0808C50A: lsls r1, r0, 3 adds r1, r0 lsls r1, 2 - ldr r0, =gMapObjects + ldr r0, =gEventObjects adds r1, r0 ldr r2, [r2] adds r0, r4, 0 @@ -3648,7 +3648,7 @@ sub_808C544: @ 808C544 movs r0, 0x1 strb r0, [r5, 0x6] adds r0, r4, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished + bl EventObjectClearHeldMovementIfFinished lsls r0, 24 cmp r0, 0 beq _0808C5A0 @@ -3657,12 +3657,12 @@ sub_808C544: @ 808C544 ldrb r0, [r4, 0x18] lsls r0, 28 lsrs r0, 28 - bl sub_80934BC + bl GetJumpInPlaceMovementAction adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 - bl FieldObjectSetSpecialAnim + bl EventObjectSetHeldMovement ldrh r0, [r6, 0xA] adds r0, 0x1 strh r0, [r6, 0xA] @@ -3726,7 +3726,7 @@ _0808C5E2: lsls r1, r0, 3 adds r1, r0 lsls r1, 2 - ldr r0, =gMapObjects + ldr r0, =gEventObjects adds r1, r0 ldr r2, [r2] adds r0, r4, 0 @@ -3772,7 +3772,7 @@ sub_808C644: @ 808C644 movs r2, 0x4 bl memcpy adds r0, r5, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished + bl EventObjectClearHeldMovementIfFinished lsls r0, 24 cmp r0, 0 beq _0808C6AC @@ -3782,12 +3782,12 @@ sub_808C644: @ 808C644 add r0, sp ldrb r6, [r0] adds r0, r6, 0 - bl GetFaceDirectionAnimId + bl GetFaceDirectionMovementAction adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 adds r0, r5, 0 - bl FieldObjectSetSpecialAnim + bl EventObjectSetHeldMovement ldrb r0, [r4, 0xA] cmp r6, r0 bne _0808C68A @@ -3831,7 +3831,7 @@ sub_808C6BC: @ 808C6BC movs r2, 0x5 bl memcpy adds r0, r4, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished + bl EventObjectClearHeldMovementIfFinished lsls r0, 24 cmp r0, 0 beq _0808C6EC @@ -3840,7 +3840,7 @@ sub_808C6BC: @ 808C6BC add r0, sp ldrb r1, [r0] adds r0, r4, 0 - bl FieldObjectSetSpecialAnim + bl EventObjectSetHeldMovement movs r0, 0x1 strh r0, [r5, 0x8] _0808C6EC: @@ -3858,7 +3858,7 @@ sub_808C6FC: @ 808C6FC adds r4, r0, 0 adds r5, r1, 0 adds r0, r5, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished + bl EventObjectClearHeldMovementIfFinished lsls r0, 24 cmp r0, 0 beq _0808C740 @@ -3866,12 +3866,12 @@ sub_808C6FC: @ 808C6FC bl GetOppositeDirection lsls r0, 24 lsrs r0, 24 - bl GetSimpleGoAnimId + bl GetWalkSlowMovementAction adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 adds r0, r5, 0 - bl FieldObjectSetSpecialAnim + bl EventObjectSetHeldMovement bl ScriptContext2_Disable ldr r1, =gPlayerAvatar movs r0, 0 @@ -3936,15 +3936,15 @@ taskFF_0805D1D4: @ 808C7A8 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, =gMapObjects + ldr r1, =gEventObjects adds r5, r0, r1 adds r0, r5, 0 - bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive + bl EventObjectIsMovementOverridden lsls r0, 24 cmp r0, 0 beq _0808C7D4 adds r0, r5, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished + bl EventObjectClearHeldMovementIfFinished lsls r0, 24 cmp r0, 0 beq _0808C7FC @@ -3958,12 +3958,12 @@ _0808C7D4: lsls r4, 3 adds r4, r0 ldrb r0, [r4, 0x8] - bl sub_8093540 + bl GetJumpSpecialMovementAction adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 adds r0, r5, 0 - bl FieldObjectSetSpecialAnim + bl EventObjectSetHeldMovement ldr r0, =sub_808C814 str r0, [r4] _0808C7FC: @@ -3983,10 +3983,10 @@ sub_808C814: @ 808C814 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, =gMapObjects + ldr r1, =gEventObjects adds r4, r0, r1 adds r0, r4, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished + bl EventObjectClearHeldMovementIfFinished lsls r0, 24 cmp r0, 0 beq _0808C87A @@ -3996,16 +3996,16 @@ sub_808C814: @ 808C814 lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 - bl FieldObjectSetGraphicsId + bl EventObjectSetGraphicsId ldrb r0, [r4, 0x18] lsls r0, 28 lsrs r0, 28 - bl GetFaceDirectionAnimId + bl GetFaceDirectionMovementAction adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 - bl FieldObjectSetSpecialAnim + bl EventObjectSetHeldMovement movs r0, 0 strb r0, [r6, 0x6] bl ScriptContext2_Disable @@ -4127,7 +4127,7 @@ fish1: @ 808C918 ldrh r1, [r6] adds r1, r0 strh r1, [r5, 0x22] - ldr r3, =gMapObjects + ldr r3, =gEventObjects ldr r2, =gPlayerAvatar ldrb r1, [r2, 0x5] lsls r0, r1, 3 @@ -4142,7 +4142,7 @@ fish1: @ 808C918 lsls r4, 2 adds r4, r3 adds r0, r4, 0 - bl FieldObjectClearAnimIfSpecialAnimActive + bl EventObjectClearHeldMovementIfActive ldrb r0, [r4, 0x1] movs r1, 0x8 orrs r0, r1 @@ -4373,10 +4373,10 @@ _0808CB32: lsls r4, 2 ldr r0, =gSprites adds r4, r0 - bl player_get_direction_lower_nybble + bl GetPlayerFacingDirection lsls r0, 24 lsrs r0, 24 - bl sub_8092A2C + bl GetFishingBiteDirectionAnimNum adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -4579,18 +4579,18 @@ _0808CCBC: lsls r4, r0, 3 adds r4, r0 lsls r4, 2 - ldr r0, =gMapObjects + ldr r0, =gEventObjects mov r8, r0 add r4, r8 ldrh r1, [r5, 0x24] lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 - bl FieldObjectSetGraphicsId + bl EventObjectSetGraphicsId ldrb r1, [r4, 0x18] lsrs r1, 4 adds r0, r4, 0 - bl FieldObjectTurn + bl EventObjectTurn ldrb r1, [r7] movs r0, 0x8 ands r0, r1 @@ -4671,10 +4671,10 @@ fishB: @ 808CD94 lsls r4, 2 ldr r0, =gSprites adds r4, r0 - bl player_get_direction_lower_nybble + bl GetPlayerFacingDirection lsls r0, 24 lsrs r0, 24 - bl sub_8092A1C + bl GetFishingNoCatchDirectionAnimNum adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -4719,10 +4719,10 @@ fishC: @ 808CE04 lsls r4, 2 ldr r0, =gSprites adds r4, r0 - bl player_get_direction_lower_nybble + bl GetPlayerFacingDirection lsls r0, 24 lsrs r0, 24 - bl sub_8092A1C + bl GetFishingNoCatchDirectionAnimNum adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -4792,18 +4792,18 @@ fishE: @ 808CE8C lsls r4, r0, 3 adds r4, r0 lsls r4, 2 - ldr r0, =gMapObjects + ldr r0, =gEventObjects mov r8, r0 add r4, r8 ldrh r1, [r6, 0x24] lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 - bl FieldObjectSetGraphicsId + bl EventObjectSetGraphicsId ldrb r1, [r4, 0x18] lsrs r1, 4 adds r0, r4, 0 - bl FieldObjectTurn + bl EventObjectTurn ldrb r1, [r5] movs r0, 0x8 ands r0, r1 @@ -4858,7 +4858,7 @@ fishF: @ 808CF2C ldr r0, =gPlayerAvatar strb r1, [r0, 0x6] bl ScriptContext2_Disable - bl UnfreezeMapObjects + bl UnfreezeEventObjects movs r0, 0 movs r1, 0x1 bl sub_8197434 @@ -4956,7 +4956,7 @@ _0808CFF0: bhi _0808D022 movs r0, 0x8 strh r0, [r4, 0x24] - bl player_get_direction_lower_nybble + bl GetPlayerFacingDirection lsls r0, 24 lsrs r0, 24 cmp r0, 0x3 @@ -4984,7 +4984,7 @@ _0808D03A: ands r0, r1 cmp r0, 0 beq _0808D05E - ldr r2, =gMapObjects + ldr r2, =gEventObjects ldrb r1, [r3, 0x5] lsls r0, r1, 3 adds r0, r1 @@ -5037,7 +5037,7 @@ sub_808D094: @ 808D094 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, =gMapObjects + ldr r1, =gEventObjects adds r4, r0, r1 ldrb r1, [r4, 0x4] lsls r0, r1, 4 @@ -5066,7 +5066,7 @@ _0808D0E8: b _0808D18A _0808D0EE: adds r0, r4, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished + bl EventObjectClearHeldMovementIfFinished lsls r0, 24 cmp r0, 0 beq _0808D18A @@ -5217,7 +5217,7 @@ sub_808D1FC: @ 808D1FC lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, =gMapObjects + ldr r1, =gEventObjects adds r4, r0, r1 ldrb r1, [r4, 0x4] lsls r0, r1, 4 @@ -5257,12 +5257,12 @@ _0808D25E: ldrsh r0, [r5, r3] adds r0, r1 ldrb r0, [r0] - bl GetFaceDirectionAnimId + bl GetFaceDirectionMovementAction adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 - bl FieldObjectForceSetSpecialAnim + bl EventObjectForceSetHeldMovement movs r0, 0 mov r9, r0 strh r6, [r5, 0x2] @@ -5414,7 +5414,7 @@ sub_808D38C: @ 808D38C ble _0808D3E4 _0808D3A8: adds r0, r5, 0 - bl FieldObjectCheckIfSpecialAnimFinishedOrInactive + bl EventObjectCheckHeldMovementStatus lsls r0, 24 cmp r0, 0 beq _0808D3E4 @@ -5424,12 +5424,12 @@ _0808D3A8: lsrs r0, 28 adds r0, r4 ldrb r0, [r0] - bl GetFaceDirectionAnimId + bl GetFaceDirectionMovementAction adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 adds r0, r5, 0 - bl FieldObjectForceSetSpecialAnim + bl EventObjectForceSetHeldMovement movs r0, 0 strh r0, [r6] ldrb r0, [r5, 0x18] diff --git a/asm/field_screen.s b/asm/field_screen.s index e35c768dd..27627ac58 100644 --- a/asm/field_screen.s +++ b/asm/field_screen.s @@ -8382,7 +8382,7 @@ _080AF46C: _080AF480: movs r0, 0 bl sub_80AF0F4 - bl FreezeMapObjects + bl FreezeEventObjects adds r0, r6, 0 adds r1, r7, 0 bl PlayerGetDestCoords @@ -8403,17 +8403,17 @@ _080AF4A4: movs r0, 0xFF movs r1, 0 movs r2, 0 - bl GetFieldObjectIdByLocalIdAndMap + bl GetEventObjectIdByLocalIdAndMap adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, =gMapObjects + ldr r1, =gEventObjects adds r0, r1 movs r1, 0x8 - bl FieldObjectSetSpecialAnim + bl EventObjectSetHeldMovement movs r0, 0x2 strh r0, [r5, 0x8] b _080AF54A @@ -8434,16 +8434,16 @@ _080AF4DC: movs r0, 0xFF movs r1, 0 movs r2, 0 - bl GetFieldObjectIdByLocalIdAndMap + bl GetEventObjectIdByLocalIdAndMap adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, =gMapObjects + ldr r1, =gEventObjects adds r0, r1 - bl FieldObjectClearAnimIfSpecialAnimFinished + bl EventObjectClearHeldMovementIfFinished movs r0, 0x3 strh r0, [r5, 0x8] b _080AF54A @@ -8461,7 +8461,7 @@ _080AF520: cmp r0, 0x1 beq _080AF54A _080AF536: - bl UnfreezeMapObjects + bl UnfreezeEventObjects movs r0, 0x4 strh r0, [r5, 0x8] b _080AF54A @@ -8508,7 +8508,7 @@ _080AF580: _080AF58A: movs r0, 0 bl sub_80AF0F4 - bl FreezeMapObjects + bl FreezeEventObjects adds r0, r6, 0 adds r1, r7, 0 bl PlayerGetDestCoords @@ -8524,23 +8524,23 @@ _080AF5A2: movs r0, 0xFF movs r1, 0 movs r2, 0 - bl GetFieldObjectIdByLocalIdAndMap + bl GetEventObjectIdByLocalIdAndMap lsls r0, 24 lsrs r0, 24 lsls r4, r0, 3 adds r4, r0 lsls r4, 2 - ldr r0, =gMapObjects + ldr r0, =gEventObjects adds r4, r0 - bl player_get_direction_lower_nybble + bl GetPlayerFacingDirection lsls r0, 24 lsrs r0, 24 - bl GetGoSpeed0AnimId + bl GetWalkNormalMovementAction adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 - bl FieldObjectSetSpecialAnim + bl EventObjectSetHeldMovement movs r0, 0x2 strh r0, [r5, 0x8] b _080AF60A @@ -8550,7 +8550,7 @@ _080AF5EC: lsls r0, 24 cmp r0, 0 beq _080AF60A - bl UnfreezeMapObjects + bl UnfreezeEventObjects movs r0, 0x3 strh r0, [r5, 0x8] b _080AF60A @@ -8583,7 +8583,7 @@ task_map_chg_seq_0807E2CC: @ 80AF610 b _080AF65A .pool _080AF634: - bl FreezeMapObjects + bl FreezeEventObjects bl ScriptContext2_Enable ldrh r0, [r4, 0x8] adds r0, 0x1 @@ -8593,7 +8593,7 @@ _080AF644: bl sub_80AF71C cmp r0, 0 beq _080AF65A - bl UnfreezeMapObjects + bl UnfreezeEventObjects bl ScriptContext2_Disable adds r0, r5, 0 bl DestroyTask @@ -8656,7 +8656,7 @@ task_mpl_807E3C8: @ 80AF6B0 bl ScriptContext2_Disable adds r0, r4, 0 bl DestroyTask - bl sub_80984F4 + bl ScriptUnfreezeEventObjects _080AF6CC: pop {r4} pop {r0} @@ -8861,7 +8861,7 @@ sub_80AF87C: @ 80AF87C movs r0, 0x1 bl sub_8085540 bl ScriptContext2_Enable - bl SaveMapObjects + bl SaveEventObjects bl music_something bl sub_80AF0B4 movs r0, 0x2D @@ -9062,7 +9062,7 @@ _080AFA34: beq _080AFA6C b _080AFA7C _080AFA3A: - bl FreezeMapObjects + bl FreezeEventObjects bl ScriptContext2_Enable b _080AFA64 _080AFA44: @@ -9133,7 +9133,7 @@ _080AFAC0: .4byte _080AFBB8 .4byte _080AFBD4 _080AFAD4: - bl FreezeMapObjects + bl FreezeEventObjects adds r0, r4, 0 adds r1, r6, 0 bl PlayerGetDestCoords @@ -9174,20 +9174,20 @@ _080AFB26: movs r0, 0xFF movs r1, 0 movs r2, 0 - bl GetFieldObjectIdByLocalIdAndMap + bl GetEventObjectIdByLocalIdAndMap adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r4, =gMapObjects + ldr r4, =gEventObjects adds r0, r4 - bl FieldObjectClearAnimIfSpecialAnimActive + bl EventObjectClearHeldMovementIfActive movs r0, 0xFF movs r1, 0 movs r2, 0 - bl GetFieldObjectIdByLocalIdAndMap + bl GetEventObjectIdByLocalIdAndMap adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -9196,7 +9196,7 @@ _080AFB26: lsls r0, 2 adds r0, r4 movs r1, 0x9 - bl FieldObjectSetSpecialAnim + bl EventObjectSetHeldMovement movs r0, 0x2 strh r0, [r5, 0x8] b _080AFBE8 @@ -9218,16 +9218,16 @@ _080AFB6C: movs r0, 0xFF movs r1, 0 movs r2, 0 - bl GetFieldObjectIdByLocalIdAndMap + bl GetEventObjectIdByLocalIdAndMap adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, =gMapObjects + ldr r1, =gEventObjects adds r0, r1 - bl FieldObjectClearAnimIfSpecialAnimFinished + bl EventObjectClearHeldMovementIfFinished movs r0, 0 bl sub_80AF0F4 movs r0, 0x3 @@ -9290,7 +9290,7 @@ _080AFC1C: beq _080AFC46 b _080AFC56 _080AFC22: - bl FreezeMapObjects + bl FreezeEventObjects bl ScriptContext2_Enable b _080AFC3E _080AFC2C: @@ -9982,7 +9982,7 @@ task0A_mpl_807E31C: @ 80B0160 b _080B01B6 .pool _080B0184: - bl FreezeMapObjects + bl FreezeEventObjects bl ScriptContext2_Enable bl sub_808D194 ldrh r0, [r4, 0x8] @@ -9996,7 +9996,7 @@ _080B0198: bl sub_808D1B4 cmp r0, 0x1 beq _080B01B6 - bl UnfreezeMapObjects + bl UnfreezeEventObjects bl ScriptContext2_Disable adds r0, r5, 0 bl DestroyTask @@ -10033,7 +10033,7 @@ _080B01E4: beq _080B022A b _080B023A _080B01EE: - bl FreezeMapObjects + bl FreezeEventObjects bl ScriptContext2_Enable movs r0, 0x2D bl PlaySE diff --git a/asm/field_specials.s b/asm/field_specials.s index 852d5ce7c..cea228a2a 100644 --- a/asm/field_specials.s +++ b/asm/field_specials.s @@ -741,8 +741,8 @@ _0813828A: .pool thumb_func_end GetLinkPartnerNames - thumb_func_start SpawnLinkPartnerFieldObject -SpawnLinkPartnerFieldObject: @ 81382A0 + thumb_func_start SpawnLinkPartnerEventObject +SpawnLinkPartnerEventObject: @ 81382A0 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -766,7 +766,7 @@ SpawnLinkPartnerFieldObject: @ 81382A0 lsls r0, 24 lsrs r0, 24 mov r10, r0 - bl player_get_direction_lower_nybble + bl GetPlayerFacingDirection lsls r0, 24 lsrs r0, 24 adds r1, r0, 0 @@ -912,7 +912,7 @@ _0813839C: adds r0, r5, 0 adds r2, r4, 0 mov r3, r12 - bl SpawnSpecialFieldObjectParametrized + bl SpawnSpecialEventObjectParameterized adds r0, r5, 0 adds r1, r4, 0 adds r2, r6, 0 @@ -941,7 +941,7 @@ _08138410: pop {r0} bx r0 .pool - thumb_func_end SpawnLinkPartnerFieldObject + thumb_func_end SpawnLinkPartnerEventObject thumb_func_start sub_813842C sub_813842C: @ 813842C @@ -971,12 +971,12 @@ _08138454: ldrb r1, [r0, 0x5] ldrb r2, [r0, 0x4] adds r0, r3, 0 - bl GetFieldObjectIdByLocalIdAndMap + bl GetEventObjectIdByLocalIdAndMap lsls r0, 24 lsrs r2, r0, 24 cmp r2, 0x10 beq _081384E6 - ldr r1, =gMapObjects + ldr r1, =gEventObjects lsls r0, r2, 3 adds r0, r2 lsls r0, 2 @@ -1008,15 +1008,15 @@ _081384A8: beq _081384BC b _081384E6 _081384B2: - ldr r0, =gFieldObjectPalette33 + ldr r0, =gEventObjectPalette33 b _081384C6 .pool _081384BC: - ldr r0, =gFieldObjectPalette34 + ldr r0, =gEventObjectPalette34 b _081384C6 .pool _081384C4: - ldr r0, =gFieldObjectPalette8 + ldr r0, =gEventObjectPalette8 _081384C6: movs r2, 0x80 lsls r2, 1 @@ -1026,7 +1026,7 @@ _081384C6: b _081384E6 .pool _081384D8: - ldr r0, =gFieldObjectPalette17 + ldr r0, =gEventObjectPalette17 movs r2, 0x80 lsls r2, 1 adds r1, r3, r2 @@ -1906,7 +1906,7 @@ _08138C7E: thumb_func_start CB2_FieldShowRegionMap CB2_FieldShowRegionMap: @ 8138C84 push {lr} - ldr r0, =CB2_ReturnToFieldContinueScript + ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic bl sub_817018C pop {r0} bx r0 @@ -1989,7 +1989,7 @@ PCTurnOnEffect_0: @ 8138D10 cmp r0, 0x6 bne _08138D7C strh r5, [r4, 0xE] - bl player_get_direction_lower_nybble + bl GetPlayerFacingDirection lsls r0, 24 lsrs r0, 24 adds r1, r0, 0 @@ -2134,7 +2134,7 @@ PCTurnOffEffect: @ 8138E2C movs r6, 0 movs r5, 0 movs r4, 0 - bl player_get_direction_lower_nybble + bl GetPlayerFacingDirection lsls r0, 24 lsrs r0, 24 adds r1, r0, 0 @@ -2537,8 +2537,8 @@ _0813914A: .pool thumb_func_end IsGrassTypeInParty - thumb_func_start SpawnScriptFieldObject -SpawnScriptFieldObject: @ 8139158 + thumb_func_start SpawnScriptEventObject +SpawnScriptEventObject: @ 8139158 push {lr} sub sp, 0x8 ldr r0, =gSaveBlock1Ptr @@ -2557,10 +2557,10 @@ SpawnScriptFieldObject: @ 8139158 movs r0, 0x7 movs r1, 0x8 movs r2, 0x7F - bl SpawnSpecialFieldObjectParametrized + bl SpawnSpecialEventObjectParameterized lsls r0, 24 lsrs r0, 24 - ldr r2, =gMapObjects + ldr r2, =gEventObjects lsls r1, r0, 3 adds r1, r0 lsls r1, 2 @@ -2575,10 +2575,10 @@ SpawnScriptFieldObject: @ 8139158 pop {r0} bx r0 .pool - thumb_func_end SpawnScriptFieldObject + thumb_func_end SpawnScriptEventObject - thumb_func_start RemoveScriptFieldObject -RemoveScriptFieldObject: @ 81391AC + thumb_func_start RemoveScriptEventObject +RemoveScriptEventObject: @ 81391AC push {lr} bl GetPlayerAvatarObjectId lsls r0, 24 @@ -2589,11 +2589,11 @@ RemoveScriptFieldObject: @ 81391AC ldrb r1, [r0, 0x5] ldrb r2, [r0, 0x4] movs r0, 0x7F - bl RemoveFieldObjectByLocalIdAndMap + bl RemoveEventObjectByLocalIdAndMap pop {r0} bx r0 .pool - thumb_func_end RemoveScriptFieldObject + thumb_func_end RemoveScriptEventObject thumb_func_start GetPokeblockNameByMonNature GetPokeblockNameByMonNature: @ 81391D0 @@ -6327,7 +6327,7 @@ sub_813B0B4: @ 813B0B4 ldrb r2, [r0, 0x4] movs r0, 0x1 mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap + bl TryGetEventObjectIdByLocalIdAndMap cmp r4, 0 bne _0813B0F0 movs r0, 0xC4 @@ -6377,7 +6377,7 @@ _0813B13A: adds r0, r5, r0 ldrb r2, [r0] movs r0, 0x1 - bl Overworld_SetMapObjTemplateCoords + bl Overworld_SetEventObjTemplateCoords add sp, 0x4 pop {r4,r5} pop {r0} @@ -7153,14 +7153,14 @@ sub_813B7D8: @ 813B7D8 ldrh r0, [r0] cmp r0, 0 bne _0813B7F8 - ldr r2, =CB2_ReturnToFieldContinueScript + ldr r2, =CB2_ReturnToFieldContinueScriptPlayMapMusic movs r0, 0 movs r1, 0x1 bl DoRayquazaScene b _0813B802 .pool _0813B7F8: - ldr r2, =CB2_ReturnToFieldContinueScript + ldr r2, =CB2_ReturnToFieldContinueScriptPlayMapMusic movs r0, 0x1 movs r1, 0 bl DoRayquazaScene diff --git a/asm/fldeff_80F9BCC.s b/asm/fldeff_80F9BCC.s index e31375f9f..3cfbe215a 100644 --- a/asm/fldeff_80F9BCC.s +++ b/asm/fldeff_80F9BCC.s @@ -467,7 +467,7 @@ _080F9F54: thumb_func_start sub_80F9F5C sub_80F9F5C: @ 80F9F5C push {lr} - ldr r0, =gUnknown_0203AB40 + ldr r0, =gPlayerFacingPosition ldr r1, =gMapHeader ldr r1, [r1, 0x4] bl sub_80E9608 @@ -567,12 +567,12 @@ sub_80FA004: @ 80FA004 ldrh r0, [r0] cmp r0, 0x1 beq _080FA0AE - bl player_get_direction_lower_nybble + bl GetPlayerFacingDirection lsls r0, 24 lsrs r0, 24 cmp r0, 0x2 bne _080FA0AE - ldr r4, =gUnknown_0203AB40 + ldr r4, =gPlayerFacingPosition adds r1, r4, 0x2 adds r0, r4, 0 bl GetXYCoordsOneStepInFrontOfPlayer @@ -590,10 +590,10 @@ sub_80FA004: @ 80FA004 cmp r0, 0x1 bne _080FA070 bl sub_80F9F5C - ldr r1, =gUnknown_03005DB0 - ldr r0, =FieldCallback_Teleport + ldr r1, =gFieldCallback2 + ldr r0, =FieldCallback_PrepareFadeInFromMenu str r0, [r1] - ldr r1, =gUnknown_0203CEEC + ldr r1, =gPostMenuFieldCallback ldr r0, =sub_80FA0DC b _080FA0C0 .pool @@ -605,10 +605,10 @@ _080FA070: cmp r0, 0x1 bne _080FA0A0 bl sub_80F9F5C - ldr r1, =gUnknown_03005DB0 - ldr r0, =FieldCallback_Teleport + ldr r1, =gFieldCallback2 + ldr r0, =FieldCallback_PrepareFadeInFromMenu str r0, [r1] - ldr r1, =gUnknown_0203CEEC + ldr r1, =gPostMenuFieldCallback ldr r0, =sub_80FA1E8 b _080FA0C0 .pool @@ -624,10 +624,10 @@ _080FA0AE: b _080FA0C4 _080FA0B2: bl sub_80F9F5C - ldr r1, =gUnknown_03005DB0 - ldr r0, =FieldCallback_Teleport + ldr r1, =gFieldCallback2 + ldr r0, =FieldCallback_PrepareFadeInFromMenu str r0, [r1] - ldr r1, =gUnknown_0203CEEC + ldr r1, =gPostMenuFieldCallback ldr r0, =sub_80FA34C _080FA0C0: str r0, [r1] @@ -824,7 +824,7 @@ sub_80FA234: @ 80FA234 thumb_func_start sub_80FA248 sub_80FA248: @ 80FA248 push {r4,lr} - ldr r1, =gUnknown_0203AB40 + ldr r1, =gPlayerFacingPosition movs r2, 0 ldrsh r0, [r1, r2] movs r2, 0x2 @@ -1493,7 +1493,7 @@ sub_80FA794: @ 80FA794 lsls r1, 16 lsrs r4, r1, 16 adds r6, r4, 0 - bl player_get_direction_lower_nybble + bl GetPlayerFacingDirection lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -1722,7 +1722,7 @@ _080FA9CA: sub_80FA9D0: @ 80FA9D0 push {r4,lr} sub sp, 0x4 - ldr r3, =gMapObjects + ldr r3, =gEventObjects ldr r2, =gPlayerAvatar ldrb r1, [r2, 0x5] lsls r0, r1, 3 @@ -1815,7 +1815,7 @@ sub_80FAA7C: @ 80FAA7C movs r3, 0 ldrsh r0, [r4, r3] str r0, [r1, 0x18] - bl player_get_direction_lower_nybble + bl GetPlayerFacingDirection lsls r0, 24 lsrs r0, 24 cmp r0, 0x2 @@ -2312,32 +2312,32 @@ sub_80FAEF0: @ 80FAEF0 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, =gMapObjects + ldr r1, =gEventObjects adds r4, r0, r1 adds r0, r4, 0 - bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive + bl EventObjectIsMovementOverridden lsls r0, 24 cmp r0, 0 beq _080FAF1C adds r0, r4, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished + bl EventObjectClearHeldMovementIfFinished lsls r0, 24 cmp r0, 0 beq _080FAF4E _080FAF1C: - bl player_get_direction_lower_nybble + bl GetPlayerFacingDirection lsls r0, 24 lsrs r0, 24 bl sub_808C228 - bl player_get_direction_lower_nybble + bl GetPlayerFacingDirection lsls r0, 24 lsrs r0, 24 - bl GetStepInPlaceDelay16AnimId + bl GetWalkInPlaceNormalMovementAction adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 - bl FieldObjectSetSpecialAnim + bl EventObjectSetHeldMovement ldr r1, =gTasks lsls r0, r5, 2 adds r0, r5 @@ -2362,10 +2362,10 @@ sub_80FAF64: @ 80FAF64 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, =gMapObjects + ldr r1, =gEventObjects adds r5, r0, r1 adds r0, r5, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished + bl EventObjectClearHeldMovementIfFinished lsls r0, 24 cmp r0, 0 beq _080FAFC8 @@ -2381,15 +2381,15 @@ sub_80FAF64: @ 80FAF64 asrs r0, 16 cmp r0, 0x9 bgt _080FAFC4 - bl player_get_direction_lower_nybble + bl GetPlayerFacingDirection lsls r0, 24 lsrs r0, 24 - bl GetStepInPlaceDelay16AnimId + bl GetWalkInPlaceNormalMovementAction adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 adds r0, r5, 0 - bl FieldObjectSetSpecialAnim + bl EventObjectSetHeldMovement b _080FAFC8 .pool _080FAFC4: @@ -2431,8 +2431,8 @@ sub_80FAFF8: @ 80FAFF8 .pool thumb_func_end sub_80FAFF8 - thumb_func_start sub_80FB00C -sub_80FB00C: @ 80FB00C + thumb_func_start CreateRecordMixingSprite +CreateRecordMixingSprite: @ 80FB00C push {r4,r5,lr} ldr r0, =gUnknown_0858E864 bl LoadSpritePalette @@ -2478,10 +2478,10 @@ _080FB06E: pop {r4,r5} pop {r1} bx r1 - thumb_func_end sub_80FB00C + thumb_func_end CreateRecordMixingSprite - thumb_func_start sub_80FB074 -sub_80FB074: @ 80FB074 + thumb_func_start DestroyRecordMixingSprite +DestroyRecordMixingSprite: @ 80FB074 push {r4-r7,lr} ldr r4, =gSprites adds r7, r4, 0 @@ -2509,6 +2509,6 @@ _080FB098: pop {r0} bx r0 .pool - thumb_func_end sub_80FB074 + thumb_func_end DestroyRecordMixingSprite .align 2, 0 @ Don't pad with nop. diff --git a/asm/fldeff_cut.s b/asm/fldeff_cut.s deleted file mode 100644 index 19a29d729..000000000 --- a/asm/fldeff_cut.s +++ /dev/null @@ -1,1486 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_80D3718 -sub_80D3718: @ 80D3718 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - movs r0, 0x52 - bl npc_before_player_of_type - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080D3754 - ldr r1, =gUnknown_03005DB0 - ldr r0, =FieldCallback_Teleport - str r0, [r1] - ldr r1, =gUnknown_0203CEEC - ldr r0, =sub_80D3A9C - str r0, [r1] - movs r0, 0x1 - b _080D3A2C - .pool -_080D3754: - ldr r0, =gUnknown_0203AB40 - adds r1, r0, 0x2 - bl PlayerGetDestCoords - bl GetCursorSelectionMonId - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - bl GetMonAbility - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0xC] - cmp r0, 0x34 - bne _080D3798 - ldr r1, =gUnknown_03001100 - movs r0, 0x5 - strb r0, [r1] - ldr r0, =gUnknown_03001101 - movs r1, 0x2 - b _080D37A2 - .pool -_080D3798: - ldr r1, =gUnknown_03001100 - movs r0, 0x3 - strb r0, [r1] - ldr r0, =gUnknown_03001101 - movs r1, 0x1 -_080D37A2: - strb r1, [r0] - ldr r0, =gUnknown_03001102 - strb r1, [r0] - movs r6, 0 - movs r1, 0 -_080D37AC: - mov r2, sp - adds r0, r2, r6 - strb r1, [r0] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x8 - bls _080D37AC - movs r6, 0 - ldr r2, =gUnknown_03001108 - movs r1, 0 -_080D37C2: - adds r0, r6, r2 - strb r1, [r0] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x18 - bls _080D37C2 - movs r3, 0 - str r3, [sp, 0x10] - movs r6, 0 -_080D37D6: - ldr r4, =0x0000ffff - adds r0, r6, r4 - ldr r1, =gUnknown_0203AB40 - ldrh r1, [r1, 0x2] - adds r0, r1 - movs r5, 0 - adds r2, r6, 0x1 - str r2, [sp, 0x18] - lsls r7, r6, 1 - lsls r0, 16 - str r0, [sp, 0x14] - asrs r0, 16 - mov r10, r0 - lsls r0, r6, 2 - adds r0, r6 - mov r9, r0 -_080D37F6: - ldr r3, =0x0000ffff - adds r0, r5, r3 - ldr r4, =gUnknown_0203AB40 - ldrh r4, [r4] - adds r0, r4 - lsls r0, 16 - lsrs r1, r0, 16 - mov r8, r1 - asrs r4, r0, 16 - adds r0, r4, 0 - mov r1, r10 - bl MapGridGetZCoordAt - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gUnknown_0203AB40 - movs r1, 0x4 - ldrsb r1, [r2, r1] - cmp r0, r1 - bne _080D38BC - adds r0, r4, 0 - mov r1, r10 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl MetatileBehavior_IsPokeGrass - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080D3846 - adds r0, r4, 0 - bl MetatileBehavior_IsAsh - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080D3856 -_080D3846: - adds r0, r5, 0x6 - add r0, r9 - ldr r3, =gUnknown_03001108 - adds r0, r3 - movs r1, 0x1 - strb r1, [r0] - movs r0, 0x1 - str r0, [sp, 0x10] -_080D3856: - mov r1, r8 - lsls r0, r1, 16 - asrs r0, 16 - ldr r2, [sp, 0x14] - asrs r1, r2, 16 - bl MapGridIsImpassableAt - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080D3890 - adds r0, r7, r6 - adds r0, r5 - mov r3, sp - adds r1, r3, r0 - b _080D38C4 - .pool -_080D3890: - adds r0, r7, r6 - adds r0, r5 - mov r2, sp - adds r1, r2, r0 - movs r0, 0x1 - strb r0, [r1] - adds r0, r4, 0 - bl MetatileBehavior_IsCuttableGrass - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x1 - bne _080D38C8 - adds r0, r5, 0x6 - add r0, r9 - ldr r3, =gUnknown_03001108 - adds r0, r3 - strb r1, [r0] - b _080D38C8 - .pool -_080D38BC: - adds r0, r7, r6 - adds r0, r5 - mov r4, sp - adds r1, r4, r0 -_080D38C4: - movs r0, 0 - strb r0, [r1] -_080D38C8: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x2 - bls _080D37F6 - ldr r1, [sp, 0x18] - lsls r0, r1, 24 - lsrs r6, r0, 24 - cmp r6, 0x2 - bhi _080D38DE - b _080D37D6 -_080D38DE: - ldr r2, [sp, 0xC] - cmp r2, 0x34 - beq _080D38EE - ldr r3, [sp, 0x10] - cmp r3, 0x1 - beq _080D38EC - b _080D3A2A -_080D38EC: - b _080D3A1E -_080D38EE: - movs r6, 0 - ldr r4, =gUnknown_0203AB40 - mov r9, r4 - ldr r0, =gUnknown_0857C608 - mov r10, r0 -_080D38F8: - lsls r2, r6, 2 - mov r3, r10 - adds r1, r2, r3 - movs r0, 0 - ldrsb r0, [r1, r0] - mov r4, r9 - ldrh r4, [r4] - adds r0, r4 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - movs r0, 0x1 - ldrsb r0, [r1, r0] - mov r1, r9 - ldrh r1, [r1, 0x2] - adds r0, r1 - lsls r0, 16 - lsrs r4, r0, 16 - movs r7, 0x1 - movs r5, 0 - ldr r3, =gUnknown_0857C608 + 2 - adds r0, r2, r3 - ldrb r0, [r0] - adds r6, 0x1 - str r6, [sp, 0x18] - adds r6, r2, 0 - cmp r0, 0 - beq _080D395A -_080D3930: - adds r1, r2, 0 - adds r0, r5, r2 - adds r0, r3 - ldrb r0, [r0] - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - add r0, sp - ldrb r0, [r0] - cmp r0, 0 - beq _080D39F4 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x1 - bhi _080D395A - adds r0, r5, r1 - adds r0, r3 - ldrb r0, [r0] - cmp r0, 0 - bne _080D3930 -_080D395A: - cmp r7, 0x1 - bne _080D3A0C - mov r1, r8 - lsls r0, r1, 16 - asrs r5, r0, 16 - lsls r0, r4, 16 - asrs r4, r0, 16 - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridGetZCoordAt - lsls r0, 24 - lsrs r0, 24 - mov r2, r9 - movs r1, 0x4 - ldrsb r1, [r2, r1] - cmp r0, r1 - bne _080D3A0C - mov r3, r10 - adds r2, r6, r3 - movs r1, 0x1 - ldrsb r1, [r2, r1] - lsls r0, r1, 2 - adds r0, r1 - adds r0, 0xC - ldrb r2, [r2] - adds r0, r2 - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl MetatileBehavior_IsPokeGrass - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080D39BC - adds r0, r4, 0 - bl MetatileBehavior_IsAsh - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080D39F8 -_080D39BC: - ldr r1, =gUnknown_03005DB0 - ldr r0, =FieldCallback_Teleport - str r0, [r1] - ldr r1, =gUnknown_0203CEEC - ldr r0, =hm2_ruin_valley - str r0, [r1] - ldr r0, =gUnknown_03001108 - adds r0, r6, r0 - strb r7, [r0] - movs r4, 0x1 - str r4, [sp, 0x10] - b _080D3A0C - .pool -_080D39F4: - movs r7, 0 - b _080D395A -_080D39F8: - adds r0, r4, 0 - bl MetatileBehavior_IsCuttableGrass - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x1 - bne _080D3A0C - ldr r0, =gUnknown_03001108 - adds r0, r6, r0 - strb r1, [r0] -_080D3A0C: - ldr r1, [sp, 0x18] - lsls r0, r1, 24 - lsrs r6, r0, 24 - cmp r6, 0xF - bhi _080D3A18 - b _080D38F8 -_080D3A18: - ldr r2, [sp, 0x10] - cmp r2, 0x1 - bne _080D3A2A -_080D3A1E: - ldr r1, =gUnknown_03005DB0 - ldr r0, =FieldCallback_Teleport - str r0, [r1] - ldr r1, =gUnknown_0203CEEC - ldr r0, =hm2_ruin_valley - str r0, [r1] -_080D3A2A: - ldr r0, [sp, 0x10] -_080D3A2C: - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80D3718 - - thumb_func_start hm2_ruin_valley -hm2_ruin_valley: @ 80D3A50 - push {lr} - movs r0, 0x1 - bl FieldEffectStart - bl GetCursorSelectionMonId - ldr r1, =gFieldEffectArguments - lsls r0, 24 - lsrs r0, 24 - str r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end hm2_ruin_valley - - thumb_func_start sub_80D3A6C -sub_80D3A6C: @ 80D3A6C - push {lr} - bl oei_task_add - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r2, =sub_80D3AEC - lsrs r0, r2, 16 - strh r0, [r1, 0x18] - strh r2, [r1, 0x1A] - movs r0, 0x12 - bl IncrementGameStat - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80D3A6C - - thumb_func_start sub_80D3A9C -sub_80D3A9C: @ 80D3A9C - push {lr} - bl GetCursorSelectionMonId - ldr r1, =gFieldEffectArguments - lsls r0, 24 - lsrs r0, 24 - str r0, [r1] - ldr r0, =Route103_EventScript_290705 - bl ScriptContext1_SetupScript - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D3A9C - - thumb_func_start sub_80D3ABC -sub_80D3ABC: @ 80D3ABC - push {lr} - bl oei_task_add - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r2, =sub_80D4354 - lsrs r0, r2, 16 - strh r0, [r1, 0x18] - strh r2, [r1, 0x1A] - movs r0, 0x12 - bl IncrementGameStat - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80D3ABC - - thumb_func_start sub_80D3AEC -sub_80D3AEC: @ 80D3AEC - push {lr} - movs r0, 0x1 - bl FieldEffectActiveListRemove - movs r0, 0x3A - bl FieldEffectStart - pop {r0} - bx r0 - thumb_func_end sub_80D3AEC - - thumb_func_start sub_80D3B00 -sub_80D3B00: @ 80D3B00 - push {r4-r7,lr} - movs r6, 0 - movs r0, 0x80 - bl PlaySE - ldr r4, =gUnknown_0203AB40 - adds r1, r4, 0x2 - adds r0, r4, 0 - bl PlayerGetDestCoords - adds r7, r4, 0 -_080D3B16: - ldr r0, =gUnknown_03001108 - adds r0, r6, r0 - ldrb r0, [r0] - cmp r0, 0x1 - bne _080D3B64 - adds r0, r6, 0 - movs r1, 0x5 - bl __umodsi3 - adds r4, r0, 0 - subs r4, 0x2 - lsls r4, 24 - lsrs r4, 24 - adds r0, r6, 0 - movs r1, 0x5 - bl __udivsi3 - adds r5, r0, 0 - subs r5, 0x2 - lsls r4, 24 - asrs r4, 24 - ldrh r0, [r7] - adds r4, r0 - lsls r5, 24 - asrs r5, 24 - ldrh r2, [r7, 0x2] - adds r5, r2 - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 16 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80D3C10 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_808E75C -_080D3B64: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x18 - bls _080D3B16 - ldr r2, =gUnknown_0203AB40 - ldr r0, =gUnknown_03001101 - ldrb r1, [r0] - ldrh r0, [r2] - subs r0, r1 - lsls r0, 16 - asrs r0, 16 - ldr r1, =gUnknown_03001102 - ldrb r1, [r1] - mvns r1, r1 - ldrh r2, [r2, 0x2] - adds r1, r2 - lsls r1, 16 - asrs r1, 16 - bl sub_80D3D5C - bl DrawWholeMapView - ldr r4, =gUnknown_02039DD0 - movs r0, 0x8 - bl AllocZeroed - str r0, [r4] - movs r6, 0 - ldr r5, =gSprites -_080D3BA0: - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrh r1, [r0, 0x2] - lsls r1, 23 - lsrs r1, 7 - movs r2, 0x80 - lsls r2, 12 - adds r1, r2 - asrs r1, 16 - ldrb r2, [r0] - adds r2, 0x14 - ldr r0, =gUnknown_0857C66C - movs r3, 0 - bl CreateSprite - ldr r1, [r4] - adds r1, r6 - strb r0, [r1] - ldr r0, [r4] - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - lsls r1, r6, 5 - strh r1, [r0, 0x32] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x7 - bls _080D3BA0 - movs r0, 0 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80D3B00 - - thumb_func_start sub_80D3C10 -sub_80D3C10: @ 80D3C10 - push {r4-r7,lr} - lsls r0, 16 - lsls r1, 16 - lsrs r6, r0, 16 - asrs r4, r0, 16 - lsrs r7, r1, 16 - asrs r5, r1, 16 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetMetatileIdAt - adds r1, r0, 0 - ldr r0, =0x00000207 - cmp r1, r0 - bgt _080D3C5C - subs r0, 0x1 - cmp r1, r0 - bge _080D3CD4 - cmp r1, 0x25 - beq _080D3CF6 - cmp r1, 0x25 - bgt _080D3C4C - cmp r1, 0xD - beq _080D3C9C - cmp r1, 0x15 - beq _080D3C9C - b _080D3D00 - .pool -_080D3C4C: - movs r0, 0xE3 - lsls r0, 1 - cmp r1, r0 - beq _080D3CAC - adds r0, 0x1 - cmp r1, r0 - beq _080D3CB2 - b _080D3D00 -_080D3C5C: - ldr r0, =0x00000212 - cmp r1, r0 - beq _080D3CE4 - cmp r1, r0 - bgt _080D3C78 - subs r0, 0xA - cmp r1, r0 - beq _080D3C9C - adds r0, 0x2 - cmp r1, r0 - beq _080D3CE4 - b _080D3D00 - .pool -_080D3C78: - ldr r0, =0x00000282 - cmp r1, r0 - beq _080D3CC4 - cmp r1, r0 - bgt _080D3C90 - subs r0, 0x1 - cmp r1, r0 - beq _080D3CBC - b _080D3D00 - .pool -_080D3C90: - ldr r0, =0x00000283 - cmp r1, r0 - beq _080D3CCC - b _080D3D00 - .pool -_080D3C9C: - lsls r0, r6, 16 - asrs r0, 16 - lsls r1, r7, 16 - asrs r1, 16 - movs r2, 0x1 - bl MapGridSetMetatileIdAt - b _080D3D00 -_080D3CAC: - movs r2, 0xE7 - lsls r2, 1 - b _080D3CD6 -_080D3CB2: - ldr r2, =0x000001cf - b _080D3CD6 - .pool -_080D3CBC: - ldr r2, =0x00000279 - b _080D3CD6 - .pool -_080D3CC4: - ldr r2, =0x0000027a - b _080D3CD6 - .pool -_080D3CCC: - ldr r2, =0x0000027b - b _080D3CD6 - .pool -_080D3CD4: - ldr r2, =0x00000271 -_080D3CD6: - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt - b _080D3D00 - .pool -_080D3CE4: - lsls r0, r6, 16 - asrs r0, 16 - lsls r1, r7, 16 - asrs r1, 16 - movs r2, 0x86 - lsls r2, 2 - bl MapGridSetMetatileIdAt - b _080D3D00 -_080D3CF6: - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0xE - bl MapGridSetMetatileIdAt -_080D3D00: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80D3C10 - - thumb_func_start sub_80D3D08 -sub_80D3D08: @ 80D3D08 - push {lr} - lsls r0, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - bl MapGridGetMetatileIdAt - lsls r0, 16 - lsrs r1, r0, 16 - adds r2, r1, 0 - cmp r1, 0x1 - bne _080D3D24 - movs r0, 0x1 - b _080D3D56 -_080D3D24: - ldr r0, =0x00000279 - cmp r1, r0 - bne _080D3D34 - movs r0, 0x2 - b _080D3D56 - .pool -_080D3D34: - ldr r0, =0x0000027a - cmp r1, r0 - bne _080D3D44 - movs r0, 0x3 - b _080D3D56 - .pool -_080D3D44: - ldr r0, =0x0000027b - cmp r2, r0 - beq _080D3D54 - movs r0, 0 - b _080D3D56 - .pool -_080D3D54: - movs r0, 0x4 -_080D3D56: - pop {r1} - bx r1 - thumb_func_end sub_80D3D08 - - thumb_func_start sub_80D3D5C -sub_80D3D5C: @ 80D3D5C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - lsls r1, 16 - lsrs r1, 16 - mov r10, r1 - ldr r1, =gUnknown_03001100 - ldrb r2, [r1] - mov r3, r10 - adds r0, r2, r3 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp] - movs r4, 0 - cmp r4, r2 - blt _080D3D8A - b _080D3EA0 -_080D3D8A: - lsls r0, r3, 16 - asrs r7, r0, 16 -_080D3D8E: - mov r1, r9 - lsls r0, r1, 16 - asrs r0, 16 - lsls r4, 16 - asrs r1, r4, 16 - adds r0, r1 - lsls r0, 16 - lsrs r6, r0, 16 - asrs r5, r0, 16 - adds r0, r5, 0 - adds r1, r7, 0 - bl MapGridGetMetatileIdAt - mov r8, r4 - cmp r0, 0x15 - bne _080D3E12 - adds r4, r7, 0x1 - lsls r1, r4, 16 - asrs r1, 16 - adds r0, r5, 0 - bl sub_80D3D08 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - beq _080D3DE8 - cmp r0, 0x2 - bgt _080D3DD0 - cmp r0, 0x1 - beq _080D3DDA - b _080D3E12 - .pool -_080D3DD0: - cmp r0, 0x3 - beq _080D3DF8 - cmp r0, 0x4 - beq _080D3E08 - b _080D3E12 -_080D3DDA: - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x82 - lsls r2, 2 - bl MapGridSetMetatileIdAt - b _080D3E12 -_080D3DE8: - adds r0, r5, 0 - adds r1, r4, 0 - ldr r2, =0x00000281 - bl MapGridSetMetatileIdAt - b _080D3E12 - .pool -_080D3DF8: - adds r0, r5, 0 - adds r1, r4, 0 - ldr r2, =0x00000282 - bl MapGridSetMetatileIdAt - b _080D3E12 - .pool -_080D3E08: - adds r0, r5, 0 - adds r1, r4, 0 - ldr r2, =0x00000283 - bl MapGridSetMetatileIdAt -_080D3E12: - lsls r0, r6, 16 - asrs r5, r0, 16 - ldr r3, [sp] - lsls r0, r3, 16 - asrs r4, r0, 16 - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridGetMetatileIdAt - cmp r0, 0x1 - bne _080D3E8C - adds r4, 0x1 - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridGetMetatileIdAt - movs r1, 0x82 - lsls r1, 2 - cmp r0, r1 - bne _080D3E44 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x1 - bl MapGridSetMetatileIdAt -_080D3E44: - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridGetMetatileIdAt - ldr r1, =0x00000281 - cmp r0, r1 - bne _080D3E5C - adds r0, r5, 0 - adds r1, r4, 0 - ldr r2, =0x00000279 - bl MapGridSetMetatileIdAt -_080D3E5C: - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridGetMetatileIdAt - ldr r1, =0x00000282 - cmp r0, r1 - bne _080D3E74 - adds r0, r5, 0 - adds r1, r4, 0 - ldr r2, =0x0000027a - bl MapGridSetMetatileIdAt -_080D3E74: - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridGetMetatileIdAt - ldr r1, =0x00000283 - cmp r0, r1 - bne _080D3E8C - adds r0, r5, 0 - adds r1, r4, 0 - ldr r2, =0x0000027b - bl MapGridSetMetatileIdAt -_080D3E8C: - movs r1, 0x80 - lsls r1, 9 - add r1, r8 - lsrs r4, r1, 16 - asrs r1, 16 - ldr r0, =gUnknown_03001100 - ldrb r0, [r0] - cmp r1, r0 - bge _080D3EA0 - b _080D3D8E -_080D3EA0: - ldr r1, =gUnknown_03001100 - ldrb r0, [r1] - cmp r0, 0x5 - bne _080D3EC8 - mov r3, r9 - lsls r5, r3, 16 - asrs r5, 16 - mov r0, r10 - lsls r4, r0, 16 - asrs r4, 16 - movs r0, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_80D3EF4 - movs r0, 0x1 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_80D3EF4 -_080D3EC8: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D3D5C - - thumb_func_start sub_80D3EF4 -sub_80D3EF4: @ 80D3EF4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r5, r1, 16 - adds r3, r5, 0 - lsls r2, 16 - lsrs r2, 16 - mov r10, r2 - cmp r0, 0 - bne _080D3F2C - mov r2, sp - ldr r1, =gUnknown_03001108 - ldrb r0, [r1, 0x5] - strb r0, [r2] - ldrb r0, [r1, 0xA] - strb r0, [r2, 0x1] - ldrb r0, [r1, 0xF] - strb r0, [r2, 0x2] - mov r8, r5 - b _080D3F4E - .pool -_080D3F2C: - cmp r0, 0x1 - beq _080D3F32 - b _080D414A -_080D3F32: - mov r2, sp - ldr r1, =gUnknown_03001108 - ldrb r0, [r1, 0x9] - strb r0, [r2] - ldrb r0, [r1, 0xE] - strb r0, [r2, 0x1] - ldrb r0, [r1, 0x13] - strb r0, [r2, 0x2] - lsls r0, r3, 16 - movs r1, 0x80 - lsls r1, 11 - adds r0, r1 - lsrs r0, 16 - mov r8, r0 -_080D3F4E: - mov r0, sp - ldrb r0, [r0] - cmp r0, 0x1 - bne _080D3FC6 - mov r1, r8 - lsls r0, r1, 16 - asrs r5, r0, 16 - mov r1, r10 - lsls r0, r1, 16 - asrs r0, 16 - adds r4, r0, 0x3 - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridGetMetatileIdAt - movs r1, 0x82 - lsls r1, 2 - cmp r0, r1 - bne _080D3F7E - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x1 - bl MapGridSetMetatileIdAt -_080D3F7E: - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridGetMetatileIdAt - ldr r1, =0x00000281 - cmp r0, r1 - bne _080D3F96 - ldr r2, =0x00000279 - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridSetMetatileIdAt -_080D3F96: - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridGetMetatileIdAt - ldr r1, =0x00000282 - cmp r0, r1 - bne _080D3FAE - ldr r2, =0x0000027a - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridSetMetatileIdAt -_080D3FAE: - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridGetMetatileIdAt - ldr r1, =0x00000283 - cmp r0, r1 - bne _080D3FC6 - ldr r2, =0x0000027b - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridSetMetatileIdAt -_080D3FC6: - mov r0, sp - ldrb r0, [r0, 0x1] - cmp r0, 0x1 - bne _080D40C0 - mov r0, r8 - lsls r5, r0, 16 - asrs r6, r5, 16 - mov r1, r10 - lsls r4, r1, 16 - asrs r7, r4, 16 - adds r1, r7, 0x2 - adds r0, r6, 0 - bl MapGridGetMetatileIdAt - mov r9, r4 - cmp r0, 0x15 - bne _080D4056 - adds r4, r7, 0x3 - lsls r1, r4, 16 - asrs r1, 16 - adds r0, r6, 0 - bl sub_80D3D08 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - beq _080D4034 - cmp r0, 0x2 - bgt _080D4024 - cmp r0, 0x1 - beq _080D402E - b _080D4056 - .pool -_080D4024: - cmp r0, 0x3 - beq _080D403C - cmp r0, 0x4 - beq _080D404C - b _080D4056 -_080D402E: - movs r2, 0x82 - lsls r2, 2 - b _080D403E -_080D4034: - ldr r2, =0x00000281 - b _080D403E - .pool -_080D403C: - ldr r2, =0x00000282 -_080D403E: - adds r0, r6, 0 - adds r1, r4, 0 - bl MapGridSetMetatileIdAt - b _080D4056 - .pool -_080D404C: - ldr r2, =0x00000283 - adds r0, r6, 0 - adds r1, r4, 0 - bl MapGridSetMetatileIdAt -_080D4056: - asrs r5, 16 - mov r1, r9 - asrs r0, r1, 16 - adds r4, r0, 0x4 - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridGetMetatileIdAt - movs r1, 0x82 - lsls r1, 2 - cmp r0, r1 - bne _080D4078 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x1 - bl MapGridSetMetatileIdAt -_080D4078: - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridGetMetatileIdAt - ldr r1, =0x00000281 - cmp r0, r1 - bne _080D4090 - ldr r2, =0x00000279 - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridSetMetatileIdAt -_080D4090: - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridGetMetatileIdAt - ldr r1, =0x00000282 - cmp r0, r1 - bne _080D40A8 - ldr r2, =0x0000027a - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridSetMetatileIdAt -_080D40A8: - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridGetMetatileIdAt - ldr r1, =0x00000283 - cmp r0, r1 - bne _080D40C0 - ldr r2, =0x0000027b - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridSetMetatileIdAt -_080D40C0: - mov r0, sp - ldrb r0, [r0, 0x2] - cmp r0, 0x1 - bne _080D414A - mov r1, r8 - lsls r0, r1, 16 - asrs r5, r0, 16 - mov r1, r10 - lsls r0, r1, 16 - asrs r4, r0, 16 - adds r1, r4, 0x3 - adds r0, r5, 0 - bl MapGridGetMetatileIdAt - cmp r0, 0x15 - bne _080D414A - adds r4, 0x4 - lsls r1, r4, 16 - asrs r1, 16 - adds r0, r5, 0 - bl sub_80D3D08 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - beq _080D4128 - cmp r0, 0x2 - bgt _080D4118 - cmp r0, 0x1 - beq _080D4122 - b _080D414A - .pool -_080D4118: - cmp r0, 0x3 - beq _080D4130 - cmp r0, 0x4 - beq _080D4140 - b _080D414A -_080D4122: - movs r2, 0x82 - lsls r2, 2 - b _080D4132 -_080D4128: - ldr r2, =0x00000281 - b _080D4132 - .pool -_080D4130: - ldr r2, =0x00000282 -_080D4132: - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridSetMetatileIdAt - b _080D414A - .pool -_080D4140: - ldr r2, =0x00000283 - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridSetMetatileIdAt -_080D414A: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D3EF4 - - thumb_func_start objc_8097BA8 -objc_8097BA8: @ 80D4160 - movs r2, 0 - movs r1, 0x8 - strh r1, [r0, 0x2E] - strh r2, [r0, 0x30] - strh r2, [r0, 0x34] - ldr r1, =objc_8097BBC - str r1, [r0, 0x1C] - bx lr - .pool - thumb_func_end objc_8097BA8 - - thumb_func_start objc_8097BBC -objc_8097BBC: @ 80D4174 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - movs r2, 0x2E - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x32 - ldrsh r0, [r4, r1] - movs r2, 0x2E - ldrsh r1, [r4, r2] - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0x8 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x32] - ldrh r1, [r4, 0x2E] - adds r1, 0x1 - ldrh r2, [r4, 0x34] - lsls r0, r2, 16 - asrs r0, 18 - adds r1, r0 - strh r1, [r4, 0x2E] - adds r2, 0x1 - strh r2, [r4, 0x34] - ldrh r1, [r4, 0x30] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r0, 0x1C - beq _080D41C0 - adds r0, r1, 0x1 - strh r0, [r4, 0x30] - b _080D41C4 -_080D41C0: - ldr r0, =sub_80D41D0 - str r0, [r4, 0x1C] -_080D41C4: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end objc_8097BBC - - thumb_func_start sub_80D41D0 -sub_80D41D0: @ 80D41D0 - push {r4-r6,lr} - movs r4, 0x1 -_080D41D4: - ldr r6, =gUnknown_02039DD0 - ldr r0, [r6] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r5, =gSprites - adds r0, r5 - bl DestroySprite - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x7 - bls _080D41D4 - ldr r0, [r6] - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0x3A - bl FieldEffectStop - ldr r0, [r6] - bl Free - movs r0, 0 - str r0, [r6] - bl sub_80984F4 - bl ScriptContext2_Disable - bl unown_chamber_related - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080D422A - ldr r0, =FarawayIsland_Interior_EventScript_267EDB - bl ScriptContext1_SetupScript -_080D422A: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D41D0 - - thumb_func_start sub_80D423C -sub_80D423C: @ 80D423C - push {r4,r5,lr} - lsls r0, 16 - asrs r5, r0, 16 - lsls r1, 16 - asrs r4, r1, 16 - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsLongGrass_Duplicate - lsls r0, 24 - cmp r0, 0 - beq _080D42AE - adds r4, 0x1 - lsls r1, r4, 16 - asrs r1, 16 - adds r0, r5, 0 - bl sub_80D3D08 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - beq _080D428A - cmp r0, 0x2 - bgt _080D427A - cmp r0, 0x1 - beq _080D4284 - b _080D42AE -_080D427A: - cmp r0, 0x3 - beq _080D4294 - cmp r0, 0x4 - beq _080D42A4 - b _080D42AE -_080D4284: - movs r2, 0x82 - lsls r2, 2 - b _080D4296 -_080D428A: - ldr r2, =0x00000281 - b _080D4296 - .pool -_080D4294: - ldr r2, =0x00000282 -_080D4296: - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridSetMetatileIdAt - b _080D42AE - .pool -_080D42A4: - ldr r2, =0x00000283 - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridSetMetatileIdAt -_080D42AE: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D423C - - thumb_func_start sub_80D42B8 -sub_80D42B8: @ 80D42B8 - push {r4,r5,lr} - lsls r0, 16 - asrs r4, r0, 16 - lsls r1, 16 - asrs r5, r1, 16 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetMetatileIdAt - cmp r0, 0x1 - bne _080D434A - adds r5, 0x1 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsLongGrassSouthEdge - lsls r0, 24 - cmp r0, 0 - beq _080D434A - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetMetatileIdAt - adds r1, r0, 0 - ldr r0, =0x00000281 - cmp r1, r0 - beq _080D4328 - cmp r1, r0 - bgt _080D4308 - subs r0, 0x79 - cmp r1, r0 - beq _080D431C - b _080D434A - .pool -_080D4308: - ldr r0, =0x00000282 - cmp r1, r0 - beq _080D4330 - adds r0, 0x1 - cmp r1, r0 - beq _080D4340 - b _080D434A - .pool -_080D431C: - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x1 - bl MapGridSetMetatileIdAt - b _080D434A -_080D4328: - ldr r2, =0x00000279 - b _080D4332 - .pool -_080D4330: - ldr r2, =0x0000027a -_080D4332: - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt - b _080D434A - .pool -_080D4340: - ldr r2, =0x0000027b - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt -_080D434A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D42B8 - - thumb_func_start sub_80D4354 -sub_80D4354: @ 80D4354 - push {lr} - movs r0, 0x80 - bl PlaySE - movs r0, 0x2 - bl FieldEffectActiveListRemove - bl EnableBothScriptContexts - pop {r0} - bx r0 - thumb_func_end sub_80D4354 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/learn_move.s b/asm/learn_move.s index a33bd11b6..109f1a32e 100644 --- a/asm/learn_move.s +++ b/asm/learn_move.s @@ -1270,7 +1270,7 @@ _081611D4: ldrb r0, [r0] cmp r0, 0xFF bne _08161210 - ldr r0, =gUnknown_0203CE8C + ldr r0, =gTempScrollArrowTemplate adds r2, r0, 0 ldr r1, =gUnknown_085CEBD0 ldm r1!, {r3,r5,r6} diff --git a/asm/link_rfu.s b/asm/link_rfu.s index e53685c28..1179b9866 100644 --- a/asm/link_rfu.s +++ b/asm/link_rfu.s @@ -856,7 +856,7 @@ sub_8011AFC: @ 8011AFC bl ResetPaletteFade ldr r0, =sub_8011AE8 bl SetVBlankCallback - bl sub_80093CC + bl IsWirelessAdapterConnected lsls r0, 24 cmp r0, 0 beq _08011B70 diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index 083107c08..c03d78df7 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -511,7 +511,7 @@ .byte \bank .endm - .macro atk5F + .macro swapattackerwithtarget .byte 0x5f .endm @@ -525,7 +525,7 @@ .byte \bank .endm - .macro atk62 bank + .macro hidepartystatussummary bank .byte 0x62 .byte \bank .endm @@ -1163,7 +1163,7 @@ .4byte \param0 .endm - .macro snatchsetbanks + .macro snatchsetbattlers .byte 0xed .endm diff --git a/asm/macros/map.inc b/asm/macros/map.inc index 5367ad712..23806b4cc 100644 --- a/asm/macros/map.inc +++ b/asm/macros/map.inc @@ -1,38 +1,8 @@ - .macro new_map_group - inc cur_map_group - .set cur_map_num, 0 + .macro map map_id + .byte \map_id >> 8 @ map group + .byte \map_id & 0xFF @ map num .endm - .macro map_group map_name - .set GROUP_\map_name, cur_map_group - .set MAP_\map_name, cur_map_num - inc cur_map_num - .endm - - .macro map map_name - .byte GROUP_\map_name - .byte MAP_\map_name - .endm - - .macro warp_map map_name - .byte MAP_\map_name - .byte GROUP_\map_name - .endm - - .macro heal_location map_name, x, y - .byte GROUP_\map_name - .byte MAP_\map_name - .2byte \x - .2byte \y - .space 2 - .endm - - .equiv GROUP_NONE, 0x7f - .equiv MAP_NONE, 0x7f - - .equiv GROUP_UNDEFINED, 0xff - .equiv MAP_UNDEFINED, 0xff - .macro map_script type, address .byte \type .4byte \address @@ -44,37 +14,47 @@ .4byte \address .endm - .macro object_event index, gfx, replacement, filler1, x, y, elevation, movement_type, radius, filler2, trainer_type, sight_radius_tree_etc, script, event_flag, filler3, filler4 - .byte \index, \gfx, \replacement, \filler1 + .macro object_event index, gfx, replacement, x, y, elevation, movement_type, x_radius, y_radius, trainer_type, sight_radius_tree_etc, script, event_flag + .byte \index, \gfx, \replacement, 0 .2byte \x .2byte \y - .byte \elevation, \movement_type, \radius, \filler2 + .byte \elevation, \movement_type, ((\y_radius << 4) | \x_radius), 0 .2byte \trainer_type, \sight_radius_tree_etc .4byte \script .2byte \event_flag - .byte \filler3, \filler4 + .2byte 0 inc _num_npcs .endm - .macro warp_def x, y, byte, warp, map + .macro warp_def x, y, byte, warp, map_id .2byte \x, \y .byte \byte, \warp - warp_map \map + .byte \map_id & 0xFF @ map num + .byte \map_id >> 8 @ map group inc _num_warps .endm - .macro coord_event x, y, byte1, byte2, word1, word2, word3, script + .macro coord_event x, y, elevation, trigger, index, script .2byte \x, \y - .byte \byte1, \byte2 - .2byte \word1, \word2, \word3 + .byte \elevation, 0 + .2byte \trigger, \index, 0 .4byte \script inc _num_traps .endm - .macro bg_event x, y, byte, kind, word, arg6, arg7, arg8 + .macro coord_weather_event x, y, elevation, weather + .2byte \x, \y + .byte \elevation, 0 + .2byte \weather + .2byte 0, 0 + .4byte 0 + inc _num_traps + .endm + + .macro bg_event x, y, elevation, kind, arg6, arg7, arg8 .2byte \x, \y - .byte \byte, \kind - .2byte \word + .byte \elevation, \kind + .2byte 0 .if \kind < 5 .4byte \arg6 .else @@ -84,6 +64,14 @@ inc _num_signs .endm + .macro bg_hidden_item_event x, y, height, item, flag + bg_event \x, \y, \height, 7, \item, \flag, 0 + .endm + + .macro bg_secret_base_event x, y, height, secret_base_id + bg_event \x, \y, \height, 8, \secret_base_id, 0, 0 + .endm + .macro map_events npcs, warps, traps, signs .byte _num_npcs, _num_warps, _num_traps, _num_signs .4byte \npcs, \warps, \traps, \signs @@ -107,7 +95,7 @@ .equiv connection_dive, 5 .equiv connection_emerge, 6 - .macro connection direction, offset, map, filler + .macro connection direction, offset, map .4byte connection_\direction .4byte \offset map \map diff --git a/asm/macros/movement.inc b/asm/macros/movement.inc index 5a810c497..99b5c8f84 100644 --- a/asm/macros/movement.inc +++ b/asm/macros/movement.inc @@ -1,4 +1,4 @@ - .macro create_movement name + .macro create_movement_action name enum _\name .macro \name .byte _\name @@ -6,118 +6,126 @@ .endm enum_start - create_movement step_00 - create_movement step_01 - create_movement step_02 - create_movement step_03 - create_movement slow_step_down - create_movement slow_step_up - create_movement slow_step_left - create_movement slow_step_right - create_movement step_down - create_movement step_up - create_movement step_left - create_movement step_right - create_movement fast_step_down - create_movement fast_step_up - create_movement fast_step_left - create_movement fast_step_right - create_movement step_10 - create_movement step_11 - create_movement step_12 - create_movement step_13 - create_movement step_14 - create_movement step_15 - create_movement step_16 - create_movement step_17 - create_movement step_18 - create_movement step_19 - create_movement step_1a - create_movement step_1b - create_movement step_1c - create_movement step_1d - create_movement step_1e - create_movement step_1f - create_movement step_20 - create_movement step_21 - create_movement step_22 - create_movement step_23 - create_movement step_24 - create_movement step_25 - create_movement step_26 - create_movement step_27 - create_movement step_28 - create_movement step_29 - create_movement step_2a - create_movement step_2b - create_movement step_2c - create_movement step_2d - create_movement step_2e - create_movement step_2f - create_movement step_30 - create_movement step_31 - create_movement step_32 - create_movement step_33 - create_movement step_34 - create_movement step_35 - create_movement step_36 - create_movement step_37 - create_movement step_38 - create_movement step_39 - create_movement step_3a - create_movement step_3b - create_movement step_3c - create_movement step_3d - create_movement step_3e - create_movement step_3f - create_movement step_40 - create_movement step_41 - create_movement step_42 - create_movement step_43 - create_movement step_44 - create_movement step_45 - create_movement step_46 - create_movement step_47 - create_movement step_48 - create_movement step_49 - create_movement step_4a - create_movement step_4b - create_movement step_4c - create_movement step_4d - create_movement step_4e - create_movement step_4f - create_movement step_50 - create_movement step_51 - create_movement step_52 - create_movement step_53 - create_movement step_54 - create_movement step_55 - create_movement step_56 - create_movement step_57 - create_movement step_58 - create_movement step_59 - create_movement step_5a - create_movement step_5b - create_movement step_5c - create_movement step_5d - create_movement step_5e - create_movement step_5f - create_movement step_60 - create_movement step_61 - create_movement step_62 - create_movement step_63 + create_movement_action face_down + create_movement_action face_up + create_movement_action face_left + create_movement_action face_right + create_movement_action walk_slow_down + create_movement_action walk_slow_up + create_movement_action walk_slow_left + create_movement_action walk_slow_right + create_movement_action walk_down + create_movement_action walk_up + create_movement_action walk_left + create_movement_action walk_right + create_movement_action jump_2_down + create_movement_action jump_2_up + create_movement_action jump_2_left + create_movement_action jump_2_right + create_movement_action delay_1 + create_movement_action delay_2 + create_movement_action delay_4 + create_movement_action delay_8 + create_movement_action delay_16 + create_movement_action walk_fast_down + create_movement_action walk_fast_up + create_movement_action walk_fast_left + create_movement_action walk_fast_right + create_movement_action walk_in_place_slow_down + create_movement_action walk_in_place_slow_up + create_movement_action walk_in_place_slow_left + create_movement_action walk_in_place_slow_right + create_movement_action walk_in_place_down + create_movement_action walk_in_place_up + create_movement_action walk_in_place_left + create_movement_action walk_in_place_right + create_movement_action walk_in_place_fast_down + create_movement_action walk_in_place_fast_up + create_movement_action walk_in_place_fast_left + create_movement_action walk_in_place_fast_right + create_movement_action walk_in_place_fastest_down + create_movement_action walk_in_place_fastest_up + create_movement_action walk_in_place_fastest_left + create_movement_action walk_in_place_fastest_right + create_movement_action ride_water_current_down + create_movement_action ride_water_current_up + create_movement_action ride_water_current_left + create_movement_action ride_water_current_right + create_movement_action walk_fastest_down + create_movement_action walk_fastest_up + create_movement_action walk_fastest_left + create_movement_action walk_fastest_right + create_movement_action slide_down + create_movement_action slide_up + create_movement_action slide_left + create_movement_action slide_right + create_movement_action player_run_down + create_movement_action player_run_up + create_movement_action player_run_left + create_movement_action player_run_right + create_movement_action start_anim_in_direction + create_movement_action jump_special_down + create_movement_action jump_special_up + create_movement_action jump_special_left + create_movement_action jump_special_right + create_movement_action face_player + create_movement_action face_away_player + create_movement_action lock_facing_direction + create_movement_action unlock_facing_direction + create_movement_action jump_down + create_movement_action jump_up + create_movement_action jump_left + create_movement_action jump_right + create_movement_action jump_in_place_down + create_movement_action jump_in_place_up + create_movement_action jump_in_place_left + create_movement_action jump_in_place_right + create_movement_action jump_in_place_down_up + create_movement_action jump_in_place_up_down + create_movement_action jump_in_place_left_right + create_movement_action jump_in_place_right_left + create_movement_action face_original_direction + create_movement_action nurse_joy_bow + create_movement_action enable_jump_landing_ground_effect + create_movement_action disable_jump_landing_ground_effect + create_movement_action disable_anim + create_movement_action restore_anim + create_movement_action set_invisible + create_movement_action set_visible + create_movement_action emote_exclamation_mark + create_movement_action emote_question_mark + create_movement_action emote_heart + create_movement_action reveal_trainer + create_movement_action rock_smash_break + create_movement_action cut_tree + create_movement_action set_fixed_priority + create_movement_action clear_fixed_priority + create_movement_action init_affine_anim + create_movement_action clear_affine_anim + create_movement_action unknown_movement_1 + create_movement_action unknown_movement_2 + create_movement_action walk_down_start_affine + create_movement_action walk_down_affine - enum_start 0x91 - create_movement step_91 - create_movement step_92 - create_movement step_93 - create_movement step_94 - create_movement step_95 - create_movement step_96 - create_movement step_97 - create_movement step_98 - create_movement step_99 - create_movement step_9A + enum_start 0x8C + create_movement_action walk_diag_northwest + create_movement_action walk_diag_northeast + create_movement_action walk_diag_southwest + create_movement_action walk_diag_southeast + create_movement_action walk_slow_diag_northwest + create_movement_action walk_slow_diag_northeast + create_movement_action walk_slow_diag_southwest + create_movement_action walk_slow_diag_southeast + create_movement_action store_lock_anim + create_movement_action free_unlock_anim + create_movement_action walk_left_affine + create_movement_action walk_right_affine + create_movement_action levitate + create_movement_action stop_levitate + create_movement_action destroy_extra_task + create_movement_action figure_8 + create_movement_action fly_up + create_movement_action fly_down enum_start 0xfe - create_movement step_end + create_movement_action step_end diff --git a/asm/party_menu.s b/asm/party_menu.s index 4001b7144..0d5c6b631 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -4396,7 +4396,7 @@ _081B23E8: movs r0, 0 movs r1, 0x4F movs r2, 0xD0 - bl sub_809882C + bl LoadUserWindowBorderGfx bl GetOverworldTextboxPalettePtr movs r1, 0xE0 movs r2, 0x20 @@ -10199,10 +10199,10 @@ _081B5714: movs r0, 0x5 bl PlaySE _081B571A: - ldr r0, =gUnknown_03005DB0 + ldr r0, =gFieldCallback2 movs r1, 0 str r1, [r0] - ldr r0, =gUnknown_0203CEEC + ldr r0, =gPostMenuFieldCallback str r1, [r0] adds r0, r4, 0 bl sub_81B1C1C @@ -10213,8 +10213,8 @@ _081B572A: .pool thumb_func_end sub_81B56D8 - thumb_func_start FieldCallback_Teleport -FieldCallback_Teleport: @ 81B5738 + thumb_func_start FieldCallback_PrepareFadeInFromMenu +FieldCallback_PrepareFadeInFromMenu: @ 81B5738 push {lr} bl pal_fill_black ldr r0, =task_launch_hm_phase_2 @@ -10224,7 +10224,7 @@ FieldCallback_Teleport: @ 81B5738 pop {r1} bx r1 .pool - thumb_func_end FieldCallback_Teleport + thumb_func_end FieldCallback_PrepareFadeInFromMenu thumb_func_start task_launch_hm_phase_2 task_launch_hm_phase_2: @ 81B5750 @@ -10241,7 +10241,7 @@ task_launch_hm_phase_2: @ 81B5750 lsls r0, 16 lsrs r0, 16 str r0, [r1] - ldr r0, =gUnknown_0203CEEC + ldr r0, =gPostMenuFieldCallback ldr r0, [r0] bl _call_via_r0 adds r0, r4, 0 @@ -10345,10 +10345,10 @@ sub_81B5820: @ 81B5820 lsrs r0, 24 cmp r0, 0x1 bne _081B585C - ldr r1, =gUnknown_03005DB0 - ldr r0, =FieldCallback_Teleport + ldr r1, =gFieldCallback2 + ldr r0, =FieldCallback_PrepareFadeInFromMenu str r0, [r1] - ldr r1, =gUnknown_0203CEEC + ldr r1, =gPostMenuFieldCallback ldr r0, =hm_surf_run_dp02scr str r0, [r1] movs r0, 0x1 @@ -10463,10 +10463,10 @@ hm_prepare_waterfall: @ 81B58F0 lsrs r0, 24 cmp r0, 0x1 bne _081B594C - ldr r1, =gUnknown_03005DB0 - ldr r0, =FieldCallback_Teleport + ldr r1, =gFieldCallback2 + ldr r0, =FieldCallback_PrepareFadeInFromMenu str r0, [r1] - ldr r1, =gUnknown_0203CEEC + ldr r1, =gPostMenuFieldCallback ldr r0, =hm2_waterfall str r0, [r1] movs r0, 0x1 @@ -10510,10 +10510,10 @@ sub_81B5974: @ 81B5974 b _081B599E .pool _081B5990: - ldr r1, =gUnknown_03005DB0 - ldr r0, =FieldCallback_Teleport + ldr r1, =gFieldCallback2 + ldr r0, =FieldCallback_PrepareFadeInFromMenu str r0, [r1] - ldr r1, =gUnknown_0203CEEC + ldr r1, =gPostMenuFieldCallback ldr r0, =sub_81B5958 str r0, [r1] movs r0, 0x1 @@ -12158,7 +12158,7 @@ sub_81B672C: @ 81B672C bl sub_81B1B5C movs r0, 0x2 bl schedule_bg_copy_tilemap_to_vram - bl sub_805EAE8 + bl HandleBattleLowHpMusicChange ldr r1, =gTasks lsls r0, r5, 2 adds r0, r5 @@ -16021,7 +16021,7 @@ sub_81B892C: @ 81B892C str r0, [sp] ldr r0, =sub_81B1370 str r0, [sp, 0x4] - ldr r0, =CB2_ReturnToFieldContinueScript + ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic str r0, [sp, 0x8] movs r0, 0 movs r1, 0 @@ -16042,7 +16042,7 @@ sub_81B8958: @ 81B8958 str r0, [sp] ldr r0, =sub_81B1370 str r0, [sp, 0x4] - ldr r0, =CB2_ReturnToFieldContinueScript + ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic str r0, [sp, 0x8] movs r0, 0xB movs r1, 0 @@ -16079,8 +16079,8 @@ _081B89A6: bx r1 thumb_func_end sub_81B8984 - thumb_func_start sub_81B89AC -sub_81B89AC: @ 81B89AC + thumb_func_start OpenPartyMenuInBattle +OpenPartyMenuInBattle: @ 81B89AC push {r4,lr} sub sp, 0xC adds r4, r0, 0 @@ -16107,7 +16107,7 @@ sub_81B89AC: @ 81B89AC pop {r0} bx r0 .pool - thumb_func_end sub_81B89AC + thumb_func_end OpenPartyMenuInBattle thumb_func_start sub_81B89F0 sub_81B89F0: @ 81B89F0 @@ -16288,7 +16288,7 @@ _081B8B94: ldrb r0, [r0, 0xB] cmp r0, 0x4 bne _081B8BA8 - bl sub_806E994 + bl SetMonPreventsSwitchingString b _081B8C46 .pool _081B8BA8: @@ -17276,7 +17276,7 @@ sub_81B9354: @ 81B9354 sub sp, 0xC lsls r0, 24 lsrs r0, 24 - ldr r2, =gUnknown_03005DB0 + ldr r2, =gFieldCallback2 ldr r1, =hm_add_c3_without_phase_2 str r1, [r2] movs r1, 0 @@ -17308,7 +17308,7 @@ sub_81B9390: @ 81B9390 movs r0, 0xFF strh r0, [r4] _081B93A6: - ldr r0, =gUnknown_03005DB0 + ldr r0, =gFieldCallback2 ldr r1, =hm_add_c3_without_phase_2 str r1, [r0] ldr r0, =CB2_ReturnToField @@ -17417,7 +17417,7 @@ _081B9486: ldr r1, =gSpecialVar_0x8004 ldrb r0, [r2] strh r0, [r1] - ldr r1, =gUnknown_03005DB0 + ldr r1, =gFieldCallback2 ldr r0, =hm_add_c3_without_phase_2 str r0, [r1] ldr r0, =CB2_ReturnToField @@ -17553,7 +17553,7 @@ _081B95A4: lsrs r0, 24 strh r0, [r4] _081B95BA: - ldr r0, =gUnknown_03005DB0 + ldr r0, =gFieldCallback2 ldr r1, =hm_add_c3_without_phase_2 str r1, [r0] ldr r0, =CB2_ReturnToField diff --git a/asm/pokedex.s b/asm/pokedex.s deleted file mode 100644 index b1ddaa0d0..000000000 --- a/asm/pokedex.s +++ /dev/null @@ -1,13372 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start ResetPokedex -ResetPokedex: @ 80BB2D0 - push {r4-r6,lr} - ldr r0, =gUnknown_02039B50 - movs r2, 0 - strh r2, [r0] - ldr r1, =gUnknown_02039B52 - movs r0, 0x40 - strb r0, [r1] - ldr r0, =gUnknown_030060B0 - strb r2, [r0] - ldr r4, =gSaveBlock2Ptr - ldr r0, [r4] - movs r1, 0 - strb r2, [r0, 0x19] - ldr r0, [r4] - strb r2, [r0, 0x18] - ldr r0, [r4] - strb r2, [r0, 0x1A] - ldr r0, [r4] - strb r2, [r0, 0x1B] - ldr r0, [r4] - str r1, [r0, 0x1C] - str r1, [r0, 0x20] - str r1, [r0, 0x24] - bl DisableNationalPokedex - movs r1, 0 - movs r2, 0 - ldr r3, =gSaveBlock1Ptr - ldr r6, =0x00000988 - ldr r5, =0x00003b24 -_080BB30C: - ldr r0, [r4] - adds r0, 0x28 - adds r0, r1 - strb r2, [r0] - ldr r0, [r4] - adds r0, 0x5C - adds r0, r1 - strb r2, [r0] - ldr r0, [r3] - adds r0, r6 - adds r0, r1 - strb r2, [r0] - ldr r0, [r3] - adds r0, r5 - adds r0, r1 - strb r2, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0x33 - bls _080BB30C - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end ResetPokedex - - thumb_func_start sub_80BB358 -sub_80BB358: @ 80BB358 - ldr r1, =gUnknown_02039B50 - movs r0, 0 - strh r0, [r1] - ldr r1, =gUnknown_02039B52 - movs r0, 0x40 - strb r0, [r1] - bx lr - .pool - thumb_func_end sub_80BB358 - - thumb_func_start sub_80BB370 -sub_80BB370: @ 80BB370 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_80BB370 - - thumb_func_start sub_80BB384 -sub_80BB384: @ 80BB384 - push {r4-r7,lr} - adds r4, r0, 0 - movs r3, 0 - ldr r0, =0x0000ffff - adds r7, r0, 0 - movs r1, 0x2 - negs r1, r1 - mov r12, r1 - movs r6, 0x3 - negs r6, r6 - ldr r5, =0x00000181 -_080BB39A: - lsls r1, r3, 2 - adds r1, r4, r1 - ldrh r0, [r1] - orrs r0, r7 - strh r0, [r1] - ldrb r2, [r1, 0x2] - mov r0, r12 - ands r0, r2 - ands r0, r6 - strb r0, [r1, 0x2] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, r5 - bls _080BB39A - movs r2, 0xC1 - lsls r2, 3 - adds r0, r4, r2 - movs r2, 0 - strh r2, [r0] - ldr r0, =0x0000060a - adds r3, r4, r0 - ldrb r1, [r3] - movs r0, 0x2 - negs r0, r0 - ands r0, r1 - movs r1, 0x3 - negs r1, r1 - ands r0, r1 - strb r0, [r3] - ldr r1, =0x0000060c - adds r0, r4, r1 - strh r2, [r0] - ldr r3, =0x0000060e - adds r0, r4, r3 - strh r2, [r0] - adds r1, 0x4 - adds r0, r4, r1 - strh r2, [r0] - adds r3, 0x4 - adds r0, r4, r3 - strh r2, [r0] - adds r1, 0x4 - adds r0, r4, r1 - strh r2, [r0] - adds r3, 0x4 - adds r0, r4, r3 - strh r2, [r0] - adds r1, 0x4 - adds r0, r4, r1 - strh r2, [r0] - adds r3, 0x4 - adds r0, r4, r3 - strh r2, [r0] - adds r1, 0x4 - adds r0, r4, r1 - strh r2, [r0] - movs r3, 0 - ldr r0, =0x0000061e - adds r2, r4, r0 - ldr r1, =0x0000ffff - adds r5, r1, 0 -_080BB416: - lsls r0, r3, 1 - adds r0, r2, r0 - ldrh r1, [r0] - orrs r1, r5 - strh r1, [r0] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x3 - bls _080BB416 - movs r2, 0xC5 - lsls r2, 3 - adds r0, r4, r2 - movs r2, 0 - movs r1, 0 - strh r1, [r0] - ldr r3, =0x0000062a - adds r0, r4, r3 - strh r1, [r0] - adds r3, 0x2 - adds r0, r4, r3 - strb r2, [r0] - adds r3, 0x1 - adds r0, r4, r3 - strb r2, [r0] - adds r3, 0x1 - adds r0, r4, r3 - strb r2, [r0] - adds r3, 0x1 - adds r0, r4, r3 - strb r2, [r0] - movs r2, 0xC6 - lsls r2, 3 - adds r0, r4, r2 - strh r1, [r0] - adds r3, 0x3 - adds r0, r4, r3 - strh r1, [r0] - adds r2, 0x4 - adds r0, r4, r2 - strh r1, [r0] - adds r3, 0x4 - adds r0, r4, r3 - strh r1, [r0] - adds r2, 0x4 - adds r0, r4, r2 - strh r1, [r0] - movs r3, 0 - ldr r0, =0x0000063a - adds r1, r4, r0 - movs r2, 0 -_080BB47C: - lsls r0, r3, 1 - adds r0, r1, r0 - strh r2, [r0] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x3 - bls _080BB47C - ldr r1, =0x0000064a - adds r0, r4, r1 - movs r1, 0 - strb r1, [r0] - ldr r2, =0x0000064b - adds r0, r4, r2 - strb r1, [r0] - ldr r0, =0x0000064c - adds r3, r4, r0 - ldrb r2, [r3] - movs r0, 0x2 - negs r0, r0 - ands r0, r2 - strb r0, [r3] - ldr r2, =0x0000064d - adds r0, r4, r2 - strb r1, [r0] - ldr r3, =0x0000064e - adds r0, r4, r3 - strb r1, [r0] - adds r2, 0x2 - adds r0, r4, r2 - strb r1, [r0] - adds r3, 0x2 - adds r0, r4, r3 - strh r1, [r0] - adds r2, 0x3 - adds r0, r4, r2 - strh r1, [r0] - movs r3, 0 - ldr r0, =0x00000654 - adds r1, r4, r0 - movs r2, 0 -_080BB4CE: - adds r0, r1, r3 - strb r2, [r0] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x7 - bls _080BB4CE - movs r3, 0 - ldr r2, =0x0000065c - adds r1, r4, r2 - movs r2, 0 -_080BB4E4: - adds r0, r1, r3 - strb r2, [r0] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x7 - bls _080BB4E4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BB384 - - thumb_func_start sub_80BB534 -sub_80BB534: @ 80BB534 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r4, r0, r1 - ldrb r0, [r4] - cmp r0, 0x1 - beq _080BB5FC - cmp r0, 0x1 - ble _080BB558 - cmp r0, 0x2 - beq _080BB628 - cmp r0, 0x3 - bne _080BB558 - b _080BB71C -_080BB558: - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - bl sub_80C09B0 - movs r3, 0xC0 - lsls r3, 19 - movs r4, 0xC0 - lsls r4, 9 - add r2, sp, 0x4 - mov r8, r2 - mov r2, sp - movs r6, 0 - ldr r1, =0x040000d4 - movs r5, 0x80 - lsls r5, 5 - ldr r7, =0x81000800 - movs r0, 0x81 - lsls r0, 24 - mov r12, r0 -_080BB582: - strh r6, [r2] - mov r0, sp - str r0, [r1] - str r3, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r5 - subs r4, r5 - cmp r4, r5 - bhi _080BB582 - strh r6, [r2] - mov r2, sp - str r2, [r1] - str r3, [r1, 0x4] - lsrs r0, r4, 1 - mov r3, r12 - orrs r0, r3 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r0, 0xE0 - lsls r0, 19 - movs r3, 0x80 - lsls r3, 3 - movs r4, 0 - str r4, [sp, 0x4] - ldr r2, =0x040000d4 - mov r1, r8 - str r1, [r2] - str r0, [r2, 0x4] - lsrs r0, r3, 2 - movs r1, 0x85 - lsls r1, 24 - orrs r0, r1 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r1, 0xA0 - lsls r1, 19 - mov r0, sp - strh r4, [r0] - str r0, [r2] - str r1, [r2, 0x4] - lsrs r3, 1 - movs r0, 0x81 - lsls r0, 24 - orrs r3, r0 - str r3, [r2, 0x8] - ldr r0, [r2, 0x8] - ldr r0, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r2 - movs r1, 0x1 - strb r1, [r0] - b _080BB74C - .pool -_080BB5FC: - bl ScanlineEffect_Stop - bl ResetTasks - bl ResetSpriteData - bl ResetPaletteFade - bl FreeAllSpritePalettes - ldr r1, =gReservedSpritePaletteCount - movs r0, 0x8 - strb r0, [r1] - bl dp13_810BB8C - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _080BB74C - .pool -_080BB628: - ldr r4, =gUnknown_02039B4C - ldr r0, =0x00000664 - bl AllocZeroed - str r0, [r4] - bl sub_80BB384 - ldr r0, =sub_80BB78C - movs r1, 0 - bl CreateTask - ldr r1, [r4] - ldr r5, =gSaveBlock2Ptr - ldr r0, [r5] - ldrb r0, [r0, 0x19] - ldr r3, =0x00000612 - adds r1, r3 - strh r0, [r1] - bl IsNationalPokedexEnabled - adds r1, r0, 0 - cmp r1, 0 - bne _080BB65E - ldr r0, [r4] - ldr r2, =0x00000612 - adds r0, r2 - strh r1, [r0] -_080BB65E: - ldr r1, [r4] - ldr r0, [r5] - ldrb r2, [r0, 0x18] - ldr r3, =0x00000616 - adds r0, r1, r3 - strh r2, [r0] - ldr r0, =gUnknown_02039B50 - ldrh r2, [r0] - subs r3, 0x8 - adds r0, r1, r3 - strh r2, [r0] - ldr r0, =gUnknown_02039B52 - ldrb r0, [r0] - ldr r2, =0x0000062c - adds r1, r2 - strb r0, [r1] - ldr r0, [r4] - adds r3, 0x3F - adds r0, r3 - movs r1, 0 - strb r1, [r0] - bl IsNationalPokedexEnabled - cmp r0, 0 - bne _080BB6D0 - movs r0, 0 - bl GetHoennPokedexCount - ldr r1, [r4] - ldr r2, =0x0000061a - adds r1, r2 - strh r0, [r1] - movs r0, 0x1 - bl GetHoennPokedexCount - b _080BB6E4 - .pool -_080BB6D0: - movs r0, 0 - bl GetNationalPokedexCount - ldr r1, [r4] - ldr r2, =0x0000061a - adds r1, r2 - strh r0, [r1] - movs r0, 0x1 - bl GetNationalPokedexCount -_080BB6E4: - ldr r1, [r4] - ldr r3, =0x0000061c - adds r1, r3 - strh r0, [r1] - ldr r0, =gUnknown_02039B4C - ldr r0, [r0] - ldr r1, =0x0000062d - adds r0, r1 - movs r1, 0x8 - strb r1, [r0] - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080BB74C - .pool -_080BB71C: - movs r0, 0x1 - bl EnableInterrupts - ldr r0, =sub_80BB370 - bl SetVBlankCallback - ldr r0, =sub_80BB774 - bl SetMainCallback2 - ldr r0, =gUnknown_02039B4C - ldr r1, [r0] - ldr r3, =0x00000612 - adds r0, r1, r3 - ldrb r0, [r0] - ldr r2, =0x00000616 - adds r1, r2 - ldrb r1, [r1] - bl sub_80BC8D4 - ldr r0, =gMPlayInfo_BGM - ldr r1, =0x0000ffff - movs r2, 0x80 - bl m4aMPlayVolumeControl -_080BB74C: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BB534 - - thumb_func_start sub_80BB774 -sub_80BB774: @ 80BB774 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_80BB774 - - thumb_func_start sub_80BB78C -sub_80BB78C: @ 80BB78C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gUnknown_02039B4C - ldr r1, [r0] - ldr r0, =0x0000064c - adds r1, r0 - ldrb r2, [r1] - movs r0, 0x2 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - movs r0, 0 - bl sub_80BC514 - lsls r0, 24 - cmp r0, 0 - beq _080BB7BE - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80BB7D4 - str r0, [r1] -_080BB7BE: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BB78C - - thumb_func_start sub_80BB7D4 -sub_80BB7D4: @ 80BB7D4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r7, =gUnknown_02039B4C - ldr r0, [r7] - ldr r4, =0x00000652 - adds r0, r4 - ldrh r1, [r0] - movs r0, 0x12 - bl SetGpuReg - ldr r3, [r7] - adds r1, r3, r4 - ldrh r0, [r1] - movs r4, 0 - ldrsh r2, [r1, r4] - mov r8, r2 - cmp r2, 0 - beq _080BB810 - subs r0, 0x8 - strh r0, [r1] - b _080BBA06 - .pool -_080BB810: - ldr r2, =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - mov r9, r0 - ands r0, r1 - cmp r0, 0 - beq _080BB8A4 - ldr r1, =0x0000060e - adds r0, r3, r1 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r3, r0 - ldrb r0, [r0, 0x2] - lsls r0, 31 - cmp r0, 0 - beq _080BB8A4 - bl sub_80BD8D0 - ldr r4, =gSprites - ldr r0, [r7] - ldr r5, =0x00000626 - adds r0, r5 - ldrh r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x5] - lsrs r1, 4 - adds r1, 0x10 - mov r0, r9 - lsls r0, r1 - mvns r0, r0 - mov r2, r8 - str r2, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, [r7] - adds r0, r5 - ldrh r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, 0x1C - adds r0, r4 - ldr r1, =sub_80BE470 - str r1, [r0] - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_80BBBF4 - str r1, [r0] - movs r0, 0x15 - b _080BB976 - .pool -_080BB8A4: - ldrh r2, [r2, 0x2E] - movs r0, 0x8 - ands r0, r2 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - beq _080BB8FC - ldr r3, =gUnknown_02039B4C - ldr r1, [r3] - ldr r4, =0x00000652 - adds r0, r1, r4 - movs r2, 0 - strh r2, [r0] - ldr r0, =0x0000064f - adds r1, r0 - movs r0, 0x1 - strb r0, [r1] - ldr r0, [r3] - movs r1, 0xCA - lsls r1, 3 - adds r0, r1 - strh r2, [r0] - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_80BBA78 - str r1, [r0] - movs r0, 0x5 - bl PlaySE - b _080BBA06 - .pool -_080BB8FC: - movs r0, 0x4 - ands r0, r2 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - beq _080BB9A0 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - str r4, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - bl sub_80C1258 - ldr r1, =gTasks - lsls r3, r6, 2 - adds r3, r6 - lsls r3, 3 - adds r3, r1 - lsls r0, 24 - lsrs r0, 24 - movs r2, 0 - strh r0, [r3, 0x8] - ldr r1, =gUnknown_02039B4C - ldr r0, [r1] - ldr r4, =0x0000064e - adds r0, r4 - strb r2, [r0] - ldr r0, [r1] - ldr r2, =0x0000062c - adds r1, r0, r2 - ldrb r2, [r1] - subs r4, 0x24 - adds r1, r0, r4 - strh r2, [r1] - ldr r2, =0x0000060e - adds r1, r0, r2 - ldrh r2, [r1] - subs r4, 0x1A - adds r1, r0, r4 - strh r2, [r1] - ldr r2, =0x00000612 - adds r1, r0, r2 - ldrh r2, [r1] - adds r4, 0x4 - adds r1, r0, r4 - strh r2, [r1] - ldr r2, =0x00000616 - adds r1, r0, r2 - ldrh r1, [r1] - adds r4, 0x4 - adds r0, r4 - strh r1, [r0] - ldr r0, =sub_80BBD1C - str r0, [r3] - movs r0, 0x2 -_080BB976: - bl PlaySE - bl sub_80BC890 - b _080BBA06 - .pool -_080BB9A0: - movs r0, 0x2 - ands r0, r2 - cmp r0, 0 - beq _080BB9D8 - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_80BBDE8 - str r1, [r0] - movs r0, 0x3 - bl PlaySE - b _080BBA06 - .pool -_080BB9D8: - ldr r5, =gUnknown_02039B4C - ldr r0, [r5] - ldr r4, =0x0000060e - adds r0, r4 - ldrh r0, [r0] - movs r1, 0xE - bl sub_80BD69C - ldr r1, [r5] - adds r4, r1, r4 - strh r0, [r4] - ldr r0, =0x0000062e - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0 - beq _080BBA06 - ldr r0, =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80BBA28 - str r0, [r1] -_080BBA06: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BB7D4 - - thumb_func_start sub_80BBA28 -sub_80BBA28: @ 80BBA28 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gUnknown_02039B4C - ldr r2, [r0] - ldr r1, =0x0000062f - adds r0, r2, r1 - ldrb r0, [r0] - ldr r3, =0x00000634 - adds r1, r2, r3 - ldrb r1, [r1] - adds r3, 0x2 - adds r2, r3 - ldrb r2, [r2] - bl sub_80BD404 - lsls r0, 24 - cmp r0, 0 - beq _080BBA5C - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80BB7D4 - str r0, [r1] -_080BBA5C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BBA28 - - thumb_func_start sub_80BBA78 -sub_80BBA78: @ 80BBA78 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r6, =gUnknown_02039B4C - ldr r0, [r6] - ldr r4, =0x00000652 - adds r0, r4 - ldrh r1, [r0] - movs r0, 0x12 - bl SetGpuReg - ldr r3, [r6] - adds r1, r3, r4 - ldrh r2, [r1] - movs r4, 0 - ldrsh r0, [r1, r4] - cmp r0, 0x50 - beq _080BBAB0 - adds r0, r2, 0 - adds r0, 0x8 - strh r0, [r1] - b _080BBBE8 - .pool -_080BBAB0: - ldr r5, =gMain - ldrh r1, [r5, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080BBB58 - movs r2, 0xCA - lsls r2, 3 - adds r0, r3, r2 - ldrh r0, [r0] - cmp r0, 0x1 - beq _080BBADC - cmp r0, 0x1 - ble _080BBB20 - cmp r0, 0x2 - beq _080BBAF4 - cmp r0, 0x3 - beq _080BBB34 - b _080BBB20 - .pool -_080BBADC: - ldr r4, =0x0000060e - adds r1, r3, r4 - movs r0, 0 - strh r0, [r1] - ldr r0, =0x0000062c - adds r1, r3, r0 - movs r0, 0x40 - b _080BBB0C - .pool -_080BBAF4: - ldr r1, =0x0000060c - adds r2, r3, r1 - ldrh r0, [r2] - subs r0, 0x1 - ldr r4, =0x0000060e - adds r1, r3, r4 - strh r0, [r1] - ldrh r0, [r2] - lsls r0, 4 - adds r0, 0x30 - ldr r2, =0x0000062c - adds r1, r3, r2 -_080BBB0C: - strb r0, [r1] - bl sub_80BDA40 - ldr r0, [r6] - adds r0, r4 - ldrh r0, [r0] - movs r1, 0xE - bl sub_80BD2B4 - ldrh r1, [r5, 0x2E] -_080BBB20: - movs r0, 0x8 - orrs r0, r1 - strh r0, [r5, 0x2E] - b _080BBB58 - .pool -_080BBB34: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_80BBDE8 - str r1, [r0] - movs r0, 0x3 - bl PlaySE -_080BBB58: - ldr r2, =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0xA - ands r0, r1 - cmp r0, 0 - beq _080BBB98 - ldr r0, =gUnknown_02039B4C - ldr r0, [r0] - ldr r3, =0x0000064f - adds r0, r3 - movs r1, 0 - strb r1, [r0] - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_80BB7D4 - str r1, [r0] - b _080BBBB6 - .pool -_080BBB98: - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080BBBC4 - ldr r0, =gUnknown_02039B4C - ldr r0, [r0] - movs r4, 0xCA - lsls r4, 3 - adds r1, r0, r4 - ldrh r0, [r1] - cmp r0, 0 - beq _080BBBC4 - subs r0, 0x1 - strh r0, [r1] -_080BBBB6: - movs r0, 0x5 - bl PlaySE - b _080BBBE8 - .pool -_080BBBC4: - ldrh r1, [r2, 0x30] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080BBBE8 - ldr r0, =gUnknown_02039B4C - ldr r0, [r0] - movs r2, 0xCA - lsls r2, 3 - adds r1, r0, r2 - ldrh r0, [r1] - cmp r0, 0x2 - bhi _080BBBE8 - adds r0, 0x1 - strh r0, [r1] - movs r0, 0x5 - bl PlaySE -_080BBBE8: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BBA78 - - thumb_func_start sub_80BBBF4 -sub_80BBBF4: @ 80BBBF4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r2, =gSprites - ldr r5, =gUnknown_02039B4C - ldr r3, [r5] - ldr r6, =0x00000626 - adds r0, r3, r6 - ldrh r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - movs r2, 0x20 - ldrsh r0, [r1, r2] - cmp r0, 0x30 - bne _080BBC52 - movs r2, 0x22 - ldrsh r0, [r1, r2] - cmp r0, 0x38 - bne _080BBC52 - ldr r1, =0x0000064a - adds r0, r3, r1 - ldrb r1, [r0] - ldr r2, =0x0000064b - adds r0, r3, r2 - strb r1, [r0] - ldr r1, [r5] - subs r2, 0x3D - adds r0, r1, r2 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r1, r0 - adds r1, r6 - ldrb r1, [r1] - bl sub_80BE91C - ldr r2, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r2 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x8] - ldr r0, =sub_80BBC74 - str r0, [r1] -_080BBC52: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BBBF4 - - thumb_func_start sub_80BBC74 -sub_80BBC74: @ 80BBC74 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x4] - cmp r0, 0 - beq _080BBCE0 - ldr r5, =gUnknown_02039B4C - ldr r0, [r5] - ldr r1, =0x0000064a - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _080BBCFC - ldrb r0, [r4, 0x8] - bl sub_80BE9C4 - lsls r0, 24 - cmp r0, 0 - bne _080BBCFC - bl sub_80BD930 - lsls r0, 24 - cmp r0, 0 - beq _080BBCFC - ldr r0, [r5] - ldr r2, =0x0000060e - adds r1, r0, r2 - ldrh r1, [r1] - lsls r1, 2 - adds r0, r1 - ldrb r1, [r4, 0x8] - bl sub_80BE9F8 - b _080BBCFC - .pool -_080BBCE0: - ldr r2, =gUnknown_02039B50 - ldr r0, =gUnknown_02039B4C - ldr r1, [r0] - ldr r3, =0x0000060e - adds r0, r1, r3 - ldrh r0, [r0] - strh r0, [r2] - ldr r2, =gUnknown_02039B52 - ldr r0, =0x0000062c - adds r1, r0 - ldrb r0, [r1] - strb r0, [r2] - ldr r0, =sub_80BB78C - str r0, [r4] -_080BBCFC: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BBC74 - - thumb_func_start sub_80BBD1C -sub_80BBD1C: @ 80BBD1C - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r6, r1, r2 - movs r0, 0x8 - ldrsh r1, [r6, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r4, [r0, 0x4] - cmp r4, 0 - bne _080BBDCA - bl sub_80BDA40 - ldr r5, =gUnknown_02039B4C - ldr r2, [r5] - ldr r1, =0x0000064e - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _080BBD7C - ldr r3, =0x0000060e - adds r0, r2, r3 - strh r4, [r0] - ldr r0, =0x0000062c - adds r1, r2, r0 - movs r0, 0x40 - strb r0, [r1] - ldr r0, =sub_80BBE70 - b _080BBDC8 - .pool -_080BBD7C: - ldr r1, =0x0000062a - adds r0, r2, r1 - ldrh r1, [r0] - ldr r3, =0x0000062c - adds r0, r2, r3 - strb r1, [r0] - ldr r1, [r5] - movs r2, 0xC2 - lsls r2, 3 - adds r0, r1, r2 - ldrh r2, [r0] - subs r3, 0x1E - adds r0, r1, r3 - strh r2, [r0] - ldr r2, =0x00000614 - adds r0, r1, r2 - ldrh r0, [r0] - adds r3, 0x4 - adds r1, r3 - strh r0, [r1] - bl IsNationalPokedexEnabled - adds r1, r0, 0 - cmp r1, 0 - bne _080BBDB6 - ldr r0, [r5] - ldr r2, =0x00000612 - adds r0, r2 - strh r1, [r0] -_080BBDB6: - ldr r0, [r5] - movs r3, 0xC3 - lsls r3, 3 - adds r1, r0, r3 - ldrh r1, [r1] - ldr r2, =0x00000616 - adds r0, r2 - strh r1, [r0] - ldr r0, =sub_80BB78C -_080BBDC8: - str r0, [r6] -_080BBDCA: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BBD1C - - thumb_func_start sub_80BBDE8 -sub_80BBDE8: @ 80BBDE8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080BBE4A - ldr r4, =gSaveBlock2Ptr - ldr r0, [r4] - ldr r5, =gUnknown_02039B4C - ldr r1, [r5] - ldr r2, =0x00000612 - adds r1, r2 - ldrh r1, [r1] - strb r1, [r0, 0x19] - bl IsNationalPokedexEnabled - adds r1, r0, 0 - cmp r1, 0 - bne _080BBE18 - ldr r0, [r4] - strb r1, [r0, 0x19] -_080BBE18: - ldr r1, [r4] - ldr r0, [r5] - ldr r2, =0x00000616 - adds r0, r2 - ldrh r0, [r0] - strb r0, [r1, 0x18] - bl sub_80BDA40 - bl sub_80BC890 - adds r0, r6, 0 - bl DestroyTask - ldr r0, =CB2_ReturnToFieldWithOpenMenu - bl SetMainCallback2 - ldr r0, =gMPlayInfo_BGM - ldr r1, =0x0000ffff - movs r2, 0x80 - lsls r2, 1 - bl m4aMPlayVolumeControl - ldr r0, [r5] - bl Free -_080BBE4A: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BBDE8 - - thumb_func_start sub_80BBE70 -sub_80BBE70: @ 80BBE70 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gUnknown_02039B4C - ldr r1, [r0] - ldr r0, =0x0000064c - adds r1, r0 - ldrb r0, [r1] - movs r2, 0x1 - orrs r0, r2 - strb r0, [r1] - movs r0, 0x3 - bl sub_80BC514 - lsls r0, 24 - cmp r0, 0 - beq _080BBEA0 - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80BBEB8 - str r0, [r1] -_080BBEA0: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BBE70 - - thumb_func_start sub_80BBEB8 -sub_80BBEB8: @ 80BBEB8 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r5, =gUnknown_02039B4C - ldr r0, [r5] - ldr r4, =0x00000652 - adds r0, r4 - ldrh r1, [r0] - movs r0, 0x12 - bl SetGpuReg - ldr r3, [r5] - adds r1, r3, r4 - ldrh r0, [r1] - movs r2, 0 - ldrsh r4, [r1, r2] - cmp r4, 0 - beq _080BBEEC - subs r0, 0x8 - strh r0, [r1] - b _080BC08A - .pool -_080BBEEC: - ldr r2, =gMain - ldrh r1, [r2, 0x2E] - movs r7, 0x1 - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - beq _080BBF70 - ldr r1, =0x0000060e - adds r0, r3, r1 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r3, r0 - ldrb r0, [r0, 0x2] - lsls r0, 31 - cmp r0, 0 - beq _080BBF70 - bl sub_80BD8D0 - ldr r3, =gSprites - ldr r0, [r5] - ldr r2, =0x00000626 - adds r0, r2 - ldrh r0, [r0] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r0, r2, r3 - ldrb r1, [r0, 0x5] - lsrs r1, 4 - adds r1, 0x10 - adds r0, r7, 0 - lsls r0, r1 - adds r3, 0x1C - adds r2, r3 - ldr r1, =sub_80BE470 - str r1, [r2] - mvns r0, r0 - str r4, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_80BC2D4 - str r1, [r0] - movs r0, 0x15 - b _080BC00A - .pool -_080BBF70: - ldrh r2, [r2, 0x2E] - movs r0, 0x8 - ands r0, r2 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - beq _080BBFC8 - ldr r3, =gUnknown_02039B4C - ldr r1, [r3] - ldr r2, =0x00000652 - adds r0, r1, r2 - movs r2, 0 - strh r2, [r0] - ldr r0, =0x0000064f - adds r1, r0 - movs r0, 0x1 - strb r0, [r1] - ldr r0, [r3] - movs r1, 0xCA - lsls r1, 3 - adds r0, r1 - strh r2, [r0] - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_80BC0F8 - str r1, [r0] - movs r0, 0x5 - bl PlaySE - b _080BC08A - .pool -_080BBFC8: - movs r0, 0x4 - ands r0, r2 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0 - beq _080BC024 - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - bl sub_80C1258 - ldr r2, =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r2 - lsls r0, 24 - lsrs r0, 24 - movs r2, 0 - strh r0, [r1, 0x8] - ldr r0, =gUnknown_02039B4C - ldr r0, [r0] - ldr r3, =0x0000064e - adds r0, r3 - strb r2, [r0] - ldr r0, =sub_80BBD1C - str r0, [r1] - movs r0, 0x2 -_080BC00A: - bl PlaySE - bl sub_80BC890 - b _080BC08A - .pool -_080BC024: - movs r0, 0x2 - ands r0, r2 - cmp r0, 0 - beq _080BC05C - movs r0, 0x1 - negs r0, r0 - str r3, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_80BC3DC - str r1, [r0] - movs r0, 0x3 - bl PlaySE - b _080BC08A - .pool -_080BC05C: - ldr r5, =gUnknown_02039B4C - ldr r0, [r5] - ldr r4, =0x0000060e - adds r0, r4 - ldrh r0, [r0] - movs r1, 0xE - bl sub_80BD69C - ldr r1, [r5] - adds r4, r1, r4 - strh r0, [r4] - ldr r0, =0x0000062e - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0 - beq _080BC08A - ldr r0, =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80BC0A8 - str r0, [r1] -_080BC08A: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BBEB8 - - thumb_func_start sub_80BC0A8 -sub_80BC0A8: @ 80BC0A8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gUnknown_02039B4C - ldr r2, [r0] - ldr r1, =0x0000062f - adds r0, r2, r1 - ldrb r0, [r0] - ldr r3, =0x00000634 - adds r1, r2, r3 - ldrb r1, [r1] - adds r3, 0x2 - adds r2, r3 - ldrb r2, [r2] - bl sub_80BD404 - lsls r0, 24 - cmp r0, 0 - beq _080BC0DC - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80BBEB8 - str r0, [r1] -_080BC0DC: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BC0A8 - - thumb_func_start sub_80BC0F8 -sub_80BC0F8: @ 80BC0F8 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r5, =gUnknown_02039B4C - ldr r0, [r5] - ldr r4, =0x00000652 - adds r0, r4 - ldrh r1, [r0] - movs r0, 0x12 - bl SetGpuReg - ldr r5, [r5] - adds r1, r5, r4 - ldrh r2, [r1] - movs r3, 0 - ldrsh r0, [r1, r3] - cmp r0, 0x60 - beq _080BC130 - adds r0, r2, 0 - adds r0, 0x8 - strh r0, [r1] - b _080BC2C8 - .pool -_080BC130: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080BC13E - b _080BC238 -_080BC13E: - movs r1, 0xCA - lsls r1, 3 - adds r0, r5, r1 - ldrh r0, [r0] - cmp r0, 0x4 - bhi _080BC1C2 - lsls r0, 2 - ldr r1, =_080BC15C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080BC15C: - .4byte _080BC1C2 - .4byte _080BC170 - .4byte _080BC194 - .4byte _080BC1E4 - .4byte _080BC214 -_080BC170: - ldr r5, =gUnknown_02039B4C - ldr r1, [r5] - ldr r4, =0x0000060e - adds r2, r1, r4 - movs r0, 0 - strh r0, [r2] - ldr r2, =0x0000062c - adds r1, r2 - movs r0, 0x40 - strb r0, [r1] - b _080BC1B2 - .pool -_080BC194: - ldr r5, =gUnknown_02039B4C - ldr r2, [r5] - ldr r0, =0x0000060c - adds r3, r2, r0 - ldrh r0, [r3] - subs r0, 0x1 - ldr r4, =0x0000060e - adds r1, r2, r4 - strh r0, [r1] - ldrh r0, [r3] - lsls r0, 4 - adds r0, 0x30 - ldr r1, =0x0000062c - adds r2, r1 - strb r0, [r2] -_080BC1B2: - bl sub_80BDA40 - ldr r0, [r5] - adds r0, r4 - ldrh r0, [r0] - movs r1, 0xE - bl sub_80BD2B4 -_080BC1C2: - ldr r2, =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x8 - orrs r0, r1 - strh r0, [r2, 0x2E] - b _080BC238 - .pool -_080BC1E4: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_80BC3DC - str r1, [r0] - movs r0, 0x34 - bl PlaySE - b _080BC238 - .pool -_080BC214: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_80BC47C - str r1, [r0] - movs r0, 0x3 - bl PlaySE -_080BC238: - ldr r2, =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0xA - ands r0, r1 - cmp r0, 0 - beq _080BC278 - ldr r0, =gUnknown_02039B4C - ldr r0, [r0] - ldr r2, =0x0000064f - adds r0, r2 - movs r1, 0 - strb r1, [r0] - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_80BBEB8 - str r1, [r0] - b _080BC296 - .pool -_080BC278: - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080BC2A4 - ldr r0, =gUnknown_02039B4C - ldr r0, [r0] - movs r3, 0xCA - lsls r3, 3 - adds r1, r0, r3 - ldrh r0, [r1] - cmp r0, 0 - beq _080BC2A4 - subs r0, 0x1 - strh r0, [r1] -_080BC296: - movs r0, 0x5 - bl PlaySE - b _080BC2C8 - .pool -_080BC2A4: - ldrh r1, [r2, 0x30] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080BC2C8 - ldr r0, =gUnknown_02039B4C - ldr r0, [r0] - movs r2, 0xCA - lsls r2, 3 - adds r1, r0, r2 - ldrh r0, [r1] - cmp r0, 0x3 - bhi _080BC2C8 - adds r0, 0x1 - strh r0, [r1] - movs r0, 0x5 - bl PlaySE -_080BC2C8: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BC0F8 - - thumb_func_start sub_80BC2D4 -sub_80BC2D4: @ 80BC2D4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r2, =gSprites - ldr r5, =gUnknown_02039B4C - ldr r3, [r5] - ldr r4, =0x00000626 - adds r0, r3, r4 - ldrh r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - movs r2, 0x20 - ldrsh r0, [r1, r2] - cmp r0, 0x30 - bne _080BC33A - movs r2, 0x22 - ldrsh r0, [r1, r2] - cmp r0, 0x38 - bne _080BC33A - ldr r1, =0x0000064a - adds r0, r3, r1 - ldrb r1, [r0] - ldr r2, =0x0000064b - adds r0, r3, r2 - strb r1, [r0] - ldr r1, [r5] - subs r2, 0x3D - adds r0, r1, r2 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r1, r0 - adds r1, r4 - ldrb r1, [r1] - bl sub_80BE91C - ldr r2, =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r2 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x8] - ldr r0, [r5] - adds r0, r4 - ldr r2, =0x0000ffff - strh r2, [r0] - ldr r0, =sub_80BC360 - str r0, [r1] -_080BC33A: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BC2D4 - - thumb_func_start sub_80BC360 -sub_80BC360: @ 80BC360 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x4] - cmp r0, 0 - beq _080BC3CC - ldr r5, =gUnknown_02039B4C - ldr r0, [r5] - ldr r1, =0x0000064a - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _080BC3D0 - ldrb r0, [r4, 0x8] - bl sub_80BE9C4 - lsls r0, 24 - cmp r0, 0 - bne _080BC3D0 - bl sub_80BD930 - lsls r0, 24 - cmp r0, 0 - beq _080BC3D0 - ldr r0, [r5] - ldr r2, =0x0000060e - adds r1, r0, r2 - ldrh r1, [r1] - lsls r1, 2 - adds r0, r1 - ldrb r1, [r4, 0x8] - bl sub_80BE9F8 - b _080BC3D0 - .pool -_080BC3CC: - ldr r0, =sub_80BBE70 - str r0, [r4] -_080BC3D0: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BC360 - - thumb_func_start sub_80BC3DC -sub_80BC3DC: @ 80BC3DC - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080BC450 - ldr r4, =gUnknown_02039B4C - ldr r0, [r4] - ldr r2, =0x0000062a - adds r1, r0, r2 - ldrh r1, [r1] - ldr r3, =0x0000062c - adds r0, r3 - strb r1, [r0] - ldr r1, [r4] - subs r2, 0x1A - adds r0, r1, r2 - ldrh r2, [r0] - subs r3, 0x1E - adds r0, r1, r3 - strh r2, [r0] - ldr r2, =0x00000614 - adds r0, r1, r2 - ldrh r0, [r0] - adds r3, 0x4 - adds r1, r3 - strh r0, [r1] - bl IsNationalPokedexEnabled - adds r1, r0, 0 - cmp r1, 0 - bne _080BC42A - ldr r0, [r4] - ldr r2, =0x00000612 - adds r0, r2 - strh r1, [r0] -_080BC42A: - ldr r0, [r4] - movs r3, 0xC3 - lsls r3, 3 - adds r1, r0, r3 - ldrh r1, [r1] - ldr r2, =0x00000616 - adds r0, r2 - strh r1, [r0] - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_80BB78C - str r1, [r0] - bl sub_80BDA40 - bl sub_80BC890 -_080BC450: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BC3DC - - thumb_func_start sub_80BC47C -sub_80BC47C: @ 80BC47C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080BC4E8 - ldr r4, =gUnknown_02039B4C - ldr r0, [r4] - ldr r2, =0x0000062a - adds r1, r0, r2 - ldrh r1, [r1] - ldr r3, =0x0000062c - adds r0, r3 - strb r1, [r0] - ldr r1, [r4] - subs r2, 0x1A - adds r0, r1, r2 - ldrh r2, [r0] - subs r3, 0x1E - adds r0, r1, r3 - strh r2, [r0] - ldr r2, =0x00000614 - adds r0, r1, r2 - ldrh r0, [r0] - adds r3, 0x4 - adds r1, r3 - strh r0, [r1] - bl IsNationalPokedexEnabled - adds r1, r0, 0 - cmp r1, 0 - bne _080BC4CA - ldr r0, [r4] - ldr r2, =0x00000612 - adds r0, r2 - strh r1, [r0] -_080BC4CA: - ldr r0, [r4] - movs r3, 0xC3 - lsls r3, 3 - adds r1, r0, r3 - ldrh r1, [r1] - ldr r2, =0x00000616 - adds r0, r2 - strh r1, [r0] - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_80BBDE8 - str r1, [r0] -_080BC4E8: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BC47C - - thumb_func_start sub_80BC514 -sub_80BC514: @ 80BC514 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r1, r2 - ldrb r0, [r0] - adds r3, r1, 0 - cmp r0, 0x6 - bhi _080BC55C - lsls r0, 2 - ldr r1, =_080BC540 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080BC540: - .4byte _080BC55C - .4byte _080BC6CC - .4byte _080BC6FC - .4byte _080BC704 - .4byte _080BC768 - .4byte _080BC790 - .4byte _080BC818 -_080BC55C: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0 - beq _080BC56E - b _080BC838 -_080BC56E: - movs r0, 0 - bl SetVBlankCallback - ldr r4, =gUnknown_02039B4C - ldr r0, [r4] - ldr r1, =0x0000064a - adds r0, r1 - strb r5, [r0] - movs r0, 0 - bl sub_80C09B0 - ldr r0, [r4] - ldr r2, =0x0000062d - adds r0, r2 - ldrb r1, [r0] - movs r0, 0x1A - bl SetGpuReg - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gBgTemplates_0855D298 - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - movs r4, 0x80 - lsls r4, 4 - adds r0, r4, 0 - bl AllocZeroed - adds r1, r0, 0 - movs r0, 0x3 - bl SetBgTilemapBuffer - adds r0, r4, 0 - bl AllocZeroed - adds r1, r0, 0 - movs r0, 0x2 - bl SetBgTilemapBuffer - adds r0, r4, 0 - bl AllocZeroed - adds r1, r0, 0 - movs r0, 0x1 - bl SetBgTilemapBuffer - adds r0, r4, 0 - bl AllocZeroed - adds r1, r0, 0 - movs r0, 0 - bl SetBgTilemapBuffer - ldr r1, =gPokedexMenu_Gfx - movs r2, 0x80 - lsls r2, 6 - str r6, [sp] - movs r0, 0x3 - movs r3, 0 - bl copy_decompressed_tile_data_to_vram_autofree - ldr r1, =gUnknown_08DC2C5C - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - ldr r1, =gUnknown_08DC2DAC - movs r0, 0x3 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - cmp r5, 0 - bne _080BC640 - ldr r1, =gUnknown_08DC2A08 - movs r3, 0xA0 - lsls r3, 2 - movs r0, 0 - movs r2, 0 - bl CopyToBgTilemapBuffer - b _080BC64E - .pool -_080BC640: - ldr r1, =gUnknown_08DC2B1C - movs r3, 0xA0 - lsls r3, 2 - movs r0, 0 - movs r2, 0 - bl CopyToBgTilemapBuffer -_080BC64E: - bl ResetPaletteFade - cmp r5, 0 - bne _080BC674 - ldr r3, =gUnknown_02039B4C - ldr r1, [r3] - ldr r0, =0x0000064c - adds r1, r0 - ldrb r2, [r1] - movs r0, 0x2 - negs r0, r0 - ands r0, r2 - b _080BC682 - .pool -_080BC674: - ldr r3, =gUnknown_02039B4C - ldr r1, [r3] - ldr r2, =0x0000064c - adds r1, r2 - ldrb r0, [r1] - movs r2, 0x1 - orrs r0, r2 -_080BC682: - strb r0, [r1] - ldr r0, [r3] - ldr r1, =0x0000064c - adds r0, r1 - ldrb r0, [r0] - lsls r0, 31 - lsrs r0, 31 - bl sub_80BC844 - ldr r0, =sWindowTemplates_0855D2A8 - bl InitWindows - bl DeactivateAllTextPrinters - movs r0, 0 - bl PutWindowTilemap - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r2 - movs r1, 0x1 - strb r1, [r0] - b _080BC838 - .pool -_080BC6CC: - bl ResetSpriteData - bl FreeAllSpritePalettes - ldr r1, =gReservedSpritePaletteCount - movs r0, 0x8 - strb r0, [r1] - ldr r0, =gSpriteSheets_0855D26C - bl LoadCompressedObjectPic - ldr r0, =gSpritePalettes_0855D26C - bl LoadSpritePalettes - adds r0, r5, 0 - bl sub_80BDB7C - b _080BC7F8 - .pool -_080BC6FC: - movs r2, 0x87 - lsls r2, 3 - adds r1, r3, r2 - b _080BC800 -_080BC704: - cmp r5, 0 - bne _080BC71C - ldr r0, =gUnknown_02039B4C - ldr r1, [r0] - ldr r2, =0x00000612 - adds r0, r1, r2 - ldrb r0, [r0] - adds r2, 0x4 - adds r1, r2 - ldrb r1, [r1] - bl sub_80BC8D4 -_080BC71C: - ldr r4, =gUnknown_02039B4C - ldr r0, [r4] - ldr r1, =0x0000060e - adds r0, r1 - ldrh r0, [r0] - movs r1, 0xE - bl sub_80BD2B4 - ldr r0, [r4] - ldr r2, =0x0000064f - adds r0, r2 - movs r1, 0 - strb r1, [r0] - ldr r0, [r4] - adds r2, 0x3 - adds r0, r2 - strh r1, [r0] - movs r0, 0 - bl CopyBgTilemapBufferToVram - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - b _080BC7F8 - .pool -_080BC768: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, =sub_80BB370 - bl SetVBlankCallback - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _080BC800 - .pool -_080BC790: - ldr r1, =0x00003f3f - movs r0, 0x48 - bl SetGpuReg - ldr r1, =0x00001d3f - movs r0, 0x4A - bl SetGpuReg - movs r0, 0x40 - movs r1, 0 - bl SetGpuReg - movs r0, 0x44 - movs r1, 0 - bl SetGpuReg - movs r0, 0x42 - movs r1, 0 - bl SetGpuReg - movs r0, 0x46 - movs r1, 0 - bl SetGpuReg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - ldr r1, =0x00009040 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg -_080BC7F8: - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 -_080BC800: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080BC838 - .pool -_080BC818: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - bne _080BC838 - movs r1, 0x87 - lsls r1, 3 - adds r0, r3, r1 - strb r2, [r0] - movs r0, 0x1 - b _080BC83A - .pool -_080BC838: - movs r0, 0 -_080BC83A: - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80BC514 - - thumb_func_start sub_80BC844 -sub_80BC844: @ 80BC844 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080BC858 - ldr r0, =gPokedexHoennBg_Pal + 0x2 - b _080BC862 - .pool -_080BC858: - bl IsNationalPokedexEnabled - cmp r0, 0 - bne _080BC870 - ldr r0, =gPokedexText_Pal + 2 -_080BC862: - movs r1, 0x1 - movs r2, 0xBE - bl LoadPalette - b _080BC87A - .pool -_080BC870: - ldr r0, =gPokedexNationalBg_Pal + 0x2 - movs r1, 0x1 - movs r2, 0xBE - bl LoadPalette -_080BC87A: - bl GetOverworldTextboxPalettePtr - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BC844 - - thumb_func_start sub_80BC890 -sub_80BC890: @ 80BC890 - push {lr} - bl FreeAllWindowBuffers - movs r0, 0 - bl GetBgTilemapBuffer - cmp r0, 0 - beq _080BC8A4 - bl Free -_080BC8A4: - movs r0, 0x1 - bl GetBgTilemapBuffer - cmp r0, 0 - beq _080BC8B2 - bl Free -_080BC8B2: - movs r0, 0x2 - bl GetBgTilemapBuffer - cmp r0, 0 - beq _080BC8C0 - bl Free -_080BC8C0: - movs r0, 0x3 - bl GetBgTilemapBuffer - cmp r0, 0 - beq _080BC8CE - bl Free -_080BC8CE: - pop {r0} - bx r0 - thumb_func_end sub_80BC890 - - thumb_func_start sub_80BC8D4 -sub_80BC8D4: @ 80BC8D4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r6, r1, 24 - ldr r0, =gUnknown_02039B4C - ldr r0, [r0] - ldr r1, =0x0000060c - adds r0, r1 - movs r5, 0 - strh r5, [r0] - cmp r4, 0 - beq _080BC8FC - cmp r4, 0x1 - beq _080BC910 -_080BC8FC: - mov r1, sp - movs r0, 0xCA - strh r0, [r1] - movs r0, 0x1 - strh r0, [r1, 0x2] - b _080BC92C - .pool -_080BC910: - bl IsNationalPokedexEnabled - cmp r0, 0 - beq _080BC924 - mov r0, sp - movs r1, 0xC1 - lsls r1, 1 - strh r1, [r0] - strh r5, [r0, 0x2] - b _080BC92C -_080BC924: - mov r0, sp - movs r1, 0xCA - strh r1, [r0] - strh r4, [r0, 0x2] -_080BC92C: - cmp r6, 0x5 - bls _080BC932 - b _080BCDB4 -_080BC932: - lsls r0, r6, 2 - ldr r1, =_080BC940 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080BC940: - .4byte _080BC958 - .4byte _080BCACC - .4byte _080BCB78 - .4byte _080BCC08 - .4byte _080BCCA0 - .4byte _080BCD30 -_080BC958: - mov r0, sp - ldrh r0, [r0, 0x2] - cmp r0, 0 - beq _080BCA00 - movs r4, 0 - mov r0, sp - ldrh r0, [r0] - cmp r4, r0 - blt _080BC96C - b _080BCDB4 -_080BC96C: - mov r5, sp - ldr r2, =gUnknown_02039B4C - mov r8, r2 - movs r3, 0x1 - mov r9, r3 -_080BC976: - lsls r4, 16 - asrs r4, 16 - adds r7, r4, 0x1 - mov r10, r7 - lsls r0, r7, 16 - lsrs r6, r0, 16 - adds r0, r6, 0 - bl HoennToNationalOrder - strh r0, [r5, 0x4] - mov r2, r8 - ldr r1, [r2] - lsls r4, 2 - adds r1, r4 - strh r0, [r1] - ldrh r0, [r5, 0x4] - movs r1, 0 - bl GetSetPokedexFlag - mov r3, r8 - ldr r2, [r3] - adds r2, r4 - mov r3, r9 - ands r3, r0 - ldrb r0, [r2, 0x2] - movs r7, 0x2 - negs r7, r7 - adds r1, r7, 0 - ands r0, r1 - orrs r0, r3 - strb r0, [r2, 0x2] - ldrh r0, [r5, 0x4] - movs r1, 0x1 - bl GetSetPokedexFlag - mov r1, r8 - ldr r3, [r1] - adds r3, r4 - mov r2, r9 - ands r2, r0 - lsls r2, 1 - ldrb r0, [r3, 0x2] - subs r7, 0x1 - adds r1, r7, 0 - ands r0, r1 - orrs r0, r2 - strb r0, [r3, 0x2] - mov r0, r8 - ldr r1, [r0] - adds r4, r1, r4 - ldrb r0, [r4, 0x2] - lsls r0, 31 - cmp r0, 0 - beq _080BC9EA - ldr r2, =0x0000060c - adds r0, r1, r2 - mov r3, r10 - strh r3, [r0] -_080BC9EA: - adds r4, r6, 0 - lsls r0, r4, 16 - asrs r0, 16 - ldrh r7, [r5] - cmp r0, r7 - blt _080BC976 - b _080BCDB4 - .pool -_080BCA00: - movs r4, 0 - movs r5, 0 - mov r10, r5 - mov r0, sp - ldrh r0, [r0] - cmp r4, r0 - blt _080BCA10 - b _080BCDB4 -_080BCA10: - mov r6, sp - ldr r0, =gUnknown_02039B4C - mov r8, r0 - movs r1, 0x1 - mov r9, r1 -_080BCA1A: - lsls r4, 16 - asrs r0, r4, 16 - adds r0, 0x1 - strh r0, [r6, 0x4] - ldrh r0, [r6, 0x4] - movs r1, 0 - bl GetSetPokedexFlag - lsls r0, 24 - adds r7, r4, 0 - cmp r0, 0 - beq _080BCA36 - movs r2, 0x1 - mov r10, r2 -_080BCA36: - mov r3, r10 - cmp r3, 0 - beq _080BCAB2 - mov r4, r8 - ldr r1, [r4] - lsls r0, r5, 16 - asrs r5, r0, 16 - lsls r4, r5, 2 - adds r1, r4 - ldrh r0, [r6, 0x4] - strh r0, [r1] - ldrh r0, [r6, 0x4] - movs r1, 0 - bl GetSetPokedexFlag - mov r1, r8 - ldr r2, [r1] - adds r2, r4 - mov r3, r9 - ands r3, r0 - mov r12, r3 - ldrb r0, [r2, 0x2] - movs r3, 0x2 - negs r3, r3 - adds r1, r3, 0 - ands r0, r1 - mov r1, r12 - orrs r0, r1 - strb r0, [r2, 0x2] - ldrh r0, [r6, 0x4] - movs r1, 0x1 - bl GetSetPokedexFlag - mov r2, r8 - ldr r3, [r2] - adds r3, r4 - mov r2, r9 - ands r2, r0 - lsls r2, 1 - mov r12, r2 - ldrb r0, [r3, 0x2] - movs r2, 0x3 - negs r2, r2 - adds r1, r2, 0 - ands r0, r1 - mov r1, r12 - orrs r0, r1 - strb r0, [r3, 0x2] - mov r3, r8 - ldr r2, [r3] - adds r4, r2, r4 - ldrb r0, [r4, 0x2] - lsls r0, 31 - cmp r0, 0 - beq _080BCAAC - adds r1, r5, 0x1 - ldr r4, =0x0000060c - adds r0, r2, r4 - strh r1, [r0] -_080BCAAC: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 -_080BCAB2: - movs r1, 0x80 - lsls r1, 9 - adds r0, r7, r1 - lsrs r4, r0, 16 - asrs r0, 16 - ldrh r2, [r6] - cmp r0, r2 - blt _080BCA1A - b _080BCDB4 - .pool -_080BCACC: - movs r4, 0 - mov r5, sp - ldr r3, =gUnknown_02039B4C - mov r8, r3 - ldr r6, =0x0000060c - movs r7, 0x1 - mov r9, r7 -_080BCADA: - ldr r1, =gPokedexOrder_Alphabetical - lsls r4, 16 - asrs r0, r4, 15 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r5, 0x4] - ldrh r0, [r5, 0x4] - bl NationalToHoennOrder - lsls r0, 16 - lsrs r0, 16 - adds r7, r4, 0 - ldrh r1, [r5] - cmp r0, r1 - bhi _080BCB58 - ldrh r0, [r5, 0x4] - movs r1, 0 - bl GetSetPokedexFlag - lsls r0, 24 - cmp r0, 0 - beq _080BCB58 - mov r3, r8 - ldr r2, [r3] - adds r3, r2, r6 - ldrh r0, [r3] - lsls r0, 2 - adds r0, r2, r0 - ldrh r1, [r5, 0x4] - strh r1, [r0] - ldrh r0, [r3] - lsls r0, 2 - adds r2, r0 - ldrb r0, [r2, 0x2] - mov r4, r9 - orrs r0, r4 - strb r0, [r2, 0x2] - ldrh r0, [r5, 0x4] - movs r1, 0x1 - bl GetSetPokedexFlag - mov r1, r8 - ldr r3, [r1] - adds r1, r3, r6 - ldrh r1, [r1] - lsls r1, 2 - adds r3, r1 - mov r2, r9 - ands r2, r0 - lsls r2, 1 - ldrb r0, [r3, 0x2] - movs r4, 0x3 - negs r4, r4 - adds r1, r4, 0 - ands r0, r1 - orrs r0, r2 - strb r0, [r3, 0x2] - mov r0, r8 - ldr r1, [r0] - adds r1, r6 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080BCB58: - movs r2, 0x80 - lsls r2, 9 - adds r1, r7, r2 - lsrs r4, r1, 16 - movs r0, 0xCD - lsls r0, 17 - cmp r1, r0 - ble _080BCADA - b _080BCDB4 - .pool -_080BCB78: - ldr r4, =0x00000181 - lsls r0, r4, 16 - mov r5, sp - ldr r7, =gUnknown_02039B4C - ldr r6, =0x0000060c -_080BCB82: - ldr r1, =gPokedexOrder_Weight - asrs r0, 15 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r5, 0x4] - ldrh r0, [r5, 0x4] - bl NationalToHoennOrder - lsls r0, 16 - lsrs r0, 16 - ldrh r3, [r5] - cmp r0, r3 - bhi _080BCBE2 - ldrh r0, [r5, 0x4] - movs r1, 0x1 - bl GetSetPokedexFlag - lsls r0, 24 - cmp r0, 0 - beq _080BCBE2 - ldr r2, [r7] - adds r3, r2, r6 - ldrh r0, [r3] - lsls r0, 2 - adds r0, r2, r0 - ldrh r1, [r5, 0x4] - strh r1, [r0] - ldrh r0, [r3] - lsls r0, 2 - adds r2, r0 - ldrb r0, [r2, 0x2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2, 0x2] - ldr r2, [r7] - adds r0, r2, r6 - ldrh r0, [r0] - lsls r0, 2 - adds r2, r0 - ldrb r0, [r2, 0x2] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2, 0x2] - ldr r1, [r7] - adds r1, r6 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080BCBE2: - lsls r0, r4, 16 - ldr r4, =0xffff0000 - adds r0, r4 - lsrs r4, r0, 16 - lsls r0, r4, 16 - cmp r0, 0 - bge _080BCB82 - b _080BCDB4 - .pool -_080BCC08: - movs r4, 0 - mov r5, sp - ldr r7, =gUnknown_02039B4C - mov r8, r7 - ldr r6, =0x0000060c - ldr r0, =0x00000181 - mov r9, r0 -_080BCC16: - ldr r1, =gPokedexOrder_Weight - lsls r4, 16 - asrs r0, r4, 15 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r5, 0x4] - ldrh r0, [r5, 0x4] - bl NationalToHoennOrder - lsls r0, 16 - lsrs r0, 16 - adds r7, r4, 0 - ldrh r1, [r5] - cmp r0, r1 - bhi _080BCC7E - ldrh r0, [r5, 0x4] - movs r1, 0x1 - bl GetSetPokedexFlag - lsls r0, 24 - cmp r0, 0 - beq _080BCC7E - mov r3, r8 - ldr r2, [r3] - adds r3, r2, r6 - ldrh r0, [r3] - lsls r0, 2 - adds r0, r2, r0 - ldrh r1, [r5, 0x4] - strh r1, [r0] - ldrh r0, [r3] - lsls r0, 2 - adds r2, r0 - ldrb r0, [r2, 0x2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2, 0x2] - mov r4, r8 - ldr r2, [r4] - adds r0, r2, r6 - ldrh r0, [r0] - lsls r0, 2 - adds r2, r0 - ldrb r0, [r2, 0x2] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2, 0x2] - ldr r1, [r4] - adds r1, r6 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080BCC7E: - movs r1, 0x80 - lsls r1, 9 - adds r0, r7, r1 - lsrs r4, r0, 16 - asrs r0, 16 - cmp r0, r9 - ble _080BCC16 - b _080BCDB4 - .pool -_080BCCA0: - ldr r4, =0x00000181 - lsls r0, r4, 16 - mov r5, sp - ldr r7, =gUnknown_02039B4C - ldr r6, =0x0000060c -_080BCCAA: - ldr r1, =gPokedexOrder_Height - asrs r0, 15 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r5, 0x4] - ldrh r0, [r5, 0x4] - bl NationalToHoennOrder - lsls r0, 16 - lsrs r0, 16 - ldrh r2, [r5] - cmp r0, r2 - bhi _080BCD0A - ldrh r0, [r5, 0x4] - movs r1, 0x1 - bl GetSetPokedexFlag - lsls r0, 24 - cmp r0, 0 - beq _080BCD0A - ldr r2, [r7] - adds r3, r2, r6 - ldrh r0, [r3] - lsls r0, 2 - adds r0, r2, r0 - ldrh r1, [r5, 0x4] - strh r1, [r0] - ldrh r0, [r3] - lsls r0, 2 - adds r2, r0 - ldrb r0, [r2, 0x2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2, 0x2] - ldr r2, [r7] - adds r0, r2, r6 - ldrh r0, [r0] - lsls r0, 2 - adds r2, r0 - ldrb r0, [r2, 0x2] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2, 0x2] - ldr r1, [r7] - adds r1, r6 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080BCD0A: - lsls r0, r4, 16 - ldr r3, =0xffff0000 - adds r0, r3 - lsrs r4, r0, 16 - lsls r0, r4, 16 - cmp r0, 0 - bge _080BCCAA - b _080BCDB4 - .pool -_080BCD30: - movs r4, 0 - mov r5, sp - ldr r7, =gUnknown_02039B4C - mov r8, r7 - ldr r6, =0x0000060c - ldr r0, =0x00000181 - mov r9, r0 -_080BCD3E: - ldr r1, =gPokedexOrder_Height - lsls r4, 16 - asrs r0, r4, 15 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r5, 0x4] - ldrh r0, [r5, 0x4] - bl NationalToHoennOrder - lsls r0, 16 - lsrs r0, 16 - adds r7, r4, 0 - ldrh r1, [r5] - cmp r0, r1 - bhi _080BCDA6 - ldrh r0, [r5, 0x4] - movs r1, 0x1 - bl GetSetPokedexFlag - lsls r0, 24 - cmp r0, 0 - beq _080BCDA6 - mov r3, r8 - ldr r2, [r3] - adds r3, r2, r6 - ldrh r0, [r3] - lsls r0, 2 - adds r0, r2, r0 - ldrh r1, [r5, 0x4] - strh r1, [r0] - ldrh r0, [r3] - lsls r0, 2 - adds r2, r0 - ldrb r0, [r2, 0x2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2, 0x2] - mov r4, r8 - ldr r2, [r4] - adds r0, r2, r6 - ldrh r0, [r0] - lsls r0, 2 - adds r2, r0 - ldrb r0, [r2, 0x2] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2, 0x2] - ldr r1, [r4] - adds r1, r6 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080BCDA6: - movs r1, 0x80 - lsls r1, 9 - adds r0, r7, r1 - lsrs r4, r0, 16 - asrs r0, 16 - cmp r0, r9 - ble _080BCD3E -_080BCDB4: - ldr r1, =gUnknown_02039B4C - ldr r0, [r1] - ldr r2, =0x0000060c - adds r0, r2 - ldrh r4, [r0] - lsls r3, r4, 16 - asrs r0, r3, 16 - ldr r2, =0x00000181 - cmp r0, r2 - bgt _080BCE08 - adds r5, r1, 0 - movs r4, 0x2 - negs r4, r4 - mov r9, r4 - movs r7, 0x3 - negs r7, r7 - mov r8, r7 - adds r7, r2, 0 - ldr r0, =0x0000ffff - adds r6, r0, 0 -_080BCDDC: - ldr r1, [r5] - asrs r3, 16 - lsls r4, r3, 2 - adds r1, r4 - ldrh r0, [r1] - orrs r0, r6 - strh r0, [r1] - ldrb r2, [r1, 0x2] - mov r0, r9 - ands r0, r2 - strb r0, [r1, 0x2] - ldr r1, [r5] - adds r1, r4 - ldrb r2, [r1, 0x2] - mov r0, r8 - ands r0, r2 - strb r0, [r1, 0x2] - adds r3, 0x1 - lsls r3, 16 - asrs r0, r3, 16 - cmp r0, r7 - ble _080BCDDC -_080BCE08: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BC8D4 - - thumb_func_start sub_80BCE2C -sub_80BCE2C: @ 80BCE2C - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x18 - mov r8, r3 - ldr r3, [sp, 0x2C] - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r3, 24 - add r4, sp, 0x14 - movs r6, 0 - strb r6, [r4] - adds r5, r4, 0 - movs r4, 0xF - strb r4, [r5, 0x1] - movs r4, 0x3 - strb r4, [r5, 0x2] - mov r4, r8 - lsls r4, 27 - lsrs r4, 24 - mov r8, r4 - lsrs r3, 21 - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - str r6, [sp] - str r6, [sp, 0x4] - str r5, [sp, 0x8] - movs r4, 0x1 - negs r4, r4 - str r4, [sp, 0xC] - str r2, [sp, 0x10] - mov r2, r8 - bl AddTextPrinterParameterized2 - add sp, 0x18 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80BCE2C - - thumb_func_start sub_80BCE84 -sub_80BCE84: @ 80BCE84 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r7, r2, 16 - cmp r0, 0x1 - beq _080BCF7C - cmp r0, 0x1 - ble _080BCEA8 - cmp r0, 0x2 - bne _080BCEA8 - b _080BD074 -_080BCEA8: - subs r0, r1, 0x5 - lsls r0, 16 - lsrs r1, r0, 16 - movs r0, 0 - mov r9, r0 -_080BCEB2: - lsls r0, r1, 16 - lsrs r5, r0, 16 - mov r10, r0 - ldr r1, =0x00000181 - cmp r5, r1 - bhi _080BCED2 - ldr r2, =gUnknown_02039B4C - mov r8, r2 - ldr r0, [r2] - mov r3, r10 - asrs r6, r3, 14 - adds r0, r6 - ldrh r0, [r0] - ldr r1, =0x0000ffff - cmp r0, r1 - bne _080BCEF0 -_080BCED2: - mov r2, r9 - lsls r1, r2, 25 - lsrs r1, 24 - movs r0, 0x11 - adds r2, r7, 0 - bl sub_80BD28C - b _080BCF64 - .pool -_080BCEF0: - mov r3, r9 - lsls r0, r3, 25 - lsrs r4, r0, 24 - movs r0, 0x11 - adds r1, r4, 0 - adds r2, r7, 0 - bl sub_80BD28C - mov r1, r8 - ldr r0, [r1] - adds r0, r6 - ldrb r0, [r0, 0x2] - lsls r0, 31 - cmp r0, 0 - beq _080BCF42 - adds r0, r5, 0 - movs r1, 0x12 - adds r2, r4, 0 - adds r3, r7, 0 - bl sub_80BD154 - mov r2, r8 - ldr r0, [r2] - adds r0, r6 - ldrb r0, [r0, 0x2] - lsls r0, 30 - lsrs r0, 31 - movs r1, 0x11 - adds r2, r4, 0 - adds r3, r7, 0 - bl sub_80BD1F4 - mov r3, r8 - ldr r0, [r3] - adds r0, r6 - ldrh r0, [r0] - movs r1, 0x16 - adds r2, r4, 0 - bl sub_80BD23C - b _080BCF64 -_080BCF42: - adds r0, r5, 0 - movs r1, 0x12 - adds r2, r4, 0 - adds r3, r7, 0 - bl sub_80BD154 - movs r0, 0 - movs r1, 0x11 - adds r2, r4, 0 - adds r3, r7, 0 - bl sub_80BD1F4 - movs r0, 0 - movs r1, 0x16 - adds r2, r4, 0 - bl sub_80BD23C -_080BCF64: - movs r0, 0x80 - lsls r0, 9 - add r0, r10 - lsrs r1, r0, 16 - mov r0, r9 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - cmp r0, 0xA - bls _080BCEB2 - b _080BD13E -_080BCF7C: - subs r0, r1, 0x5 - lsls r1, r0, 16 - lsrs r5, r1, 16 - ldr r0, =0x00000181 - ldr r2, =gUnknown_02039B4C - cmp r5, r0 - bhi _080BCF9A - adds r6, r2, 0 - ldr r3, [r6] - asrs r4, r1, 14 - adds r0, r3, r4 - ldrh r1, [r0] - ldr r0, =0x0000ffff - cmp r1, r0 - bne _080BCFB8 -_080BCF9A: - ldr r0, [r2] - movs r1, 0xC6 - lsls r1, 3 - adds r0, r1 - movs r2, 0 - ldrsh r1, [r0, r2] - lsls r1, 25 - b _080BD0B2 - .pool -_080BCFB8: - movs r1, 0xC6 - lsls r1, 3 - adds r0, r3, r1 - movs r2, 0 - ldrsh r1, [r0, r2] - lsls r1, 25 - lsrs r1, 24 - movs r0, 0x11 - adds r2, r7, 0 - bl sub_80BD28C - ldr r1, [r6] - adds r0, r1, r4 - ldrb r0, [r0, 0x2] - lsls r0, 31 - cmp r0, 0 - beq _080BD028 - movs r3, 0xC6 - lsls r3, 3 - adds r0, r1, r3 - movs r1, 0 - ldrsh r2, [r0, r1] - lsls r2, 25 - lsrs r2, 24 - adds r0, r5, 0 - movs r1, 0x12 - adds r3, r7, 0 - bl sub_80BD154 - ldr r1, [r6] - adds r0, r1, r4 - ldrb r0, [r0, 0x2] - lsls r0, 30 - lsrs r0, 31 - movs r2, 0xC6 - lsls r2, 3 - adds r1, r2 - movs r3, 0 - ldrsh r2, [r1, r3] - lsls r2, 25 - lsrs r2, 24 - movs r1, 0x11 - adds r3, r7, 0 - bl sub_80BD1F4 - ldr r1, [r6] - adds r0, r1, r4 - ldrh r0, [r0] - movs r2, 0xC6 - lsls r2, 3 - adds r1, r2 - movs r3, 0 - ldrsh r2, [r1, r3] - lsls r2, 25 - lsrs r2, 24 - b _080BD06C -_080BD028: - movs r2, 0xC6 - lsls r2, 3 - adds r0, r1, r2 - movs r3, 0 - ldrsh r2, [r0, r3] - lsls r2, 25 - lsrs r2, 24 - adds r0, r5, 0 - movs r1, 0x12 - adds r3, r7, 0 - bl sub_80BD154 - ldr r0, [r6] - movs r1, 0xC6 - lsls r1, 3 - adds r0, r1 - movs r3, 0 - ldrsh r2, [r0, r3] - lsls r2, 25 - lsrs r2, 24 - movs r0, 0 - movs r1, 0x11 - adds r3, r7, 0 - bl sub_80BD1F4 - ldr r0, [r6] - movs r1, 0xC6 - lsls r1, 3 - adds r0, r1 - movs r3, 0 - ldrsh r2, [r0, r3] - lsls r2, 25 - lsrs r2, 24 - movs r0, 0 -_080BD06C: - movs r1, 0x16 - bl sub_80BD23C - b _080BD13E -_080BD074: - adds r0, r1, 0x5 - lsls r0, 16 - lsrs r1, r0, 16 - ldr r0, =gUnknown_02039B4C - mov r8, r0 - ldr r3, [r0] - movs r2, 0xC6 - lsls r2, 3 - adds r0, r3, r2 - ldrh r0, [r0] - adds r0, 0xA - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0xF - bls _080BD09A - adds r0, r2, 0 - subs r0, 0x10 - lsls r0, 16 - lsrs r2, r0, 16 -_080BD09A: - lsls r1, 16 - lsrs r5, r1, 16 - ldr r0, =0x00000181 - cmp r5, r0 - bhi _080BD0B0 - asrs r6, r1, 14 - adds r0, r3, r6 - ldrh r1, [r0] - ldr r0, =0x0000ffff - cmp r1, r0 - bne _080BD0CC -_080BD0B0: - lsls r1, r2, 25 -_080BD0B2: - lsrs r1, 24 - movs r0, 0x11 - adds r2, r7, 0 - bl sub_80BD28C - b _080BD13E - .pool -_080BD0CC: - lsls r0, r2, 25 - lsrs r4, r0, 24 - movs r0, 0x11 - adds r1, r4, 0 - adds r2, r7, 0 - bl sub_80BD28C - mov r3, r8 - ldr r0, [r3] - adds r0, r6 - ldrb r0, [r0, 0x2] - lsls r0, 31 - cmp r0, 0 - beq _080BD11C - adds r0, r5, 0 - movs r1, 0x12 - adds r2, r4, 0 - adds r3, r7, 0 - bl sub_80BD154 - mov r1, r8 - ldr r0, [r1] - adds r0, r6 - ldrb r0, [r0, 0x2] - lsls r0, 30 - lsrs r0, 31 - movs r1, 0x11 - adds r2, r4, 0 - adds r3, r7, 0 - bl sub_80BD1F4 - mov r2, r8 - ldr r0, [r2] - adds r0, r6 - ldrh r0, [r0] - movs r1, 0x16 - adds r2, r4, 0 - bl sub_80BD23C - b _080BD13E -_080BD11C: - adds r0, r5, 0 - movs r1, 0x12 - adds r2, r4, 0 - adds r3, r7, 0 - bl sub_80BD154 - movs r0, 0 - movs r1, 0x11 - adds r2, r4, 0 - adds r3, r7, 0 - bl sub_80BD1F4 - movs r0, 0 - movs r1, 0x16 - adds r2, r4, 0 - bl sub_80BD23C -_080BD13E: - movs r0, 0 - movs r1, 0x2 - bl CopyWindowToVram - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80BCE84 - - thumb_func_start sub_80BD154 -sub_80BD154: @ 80BD154 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - lsls r2, 24 - lsrs r7, r2, 24 - ldr r1, =gUnknown_0855D2B8 - add r0, sp, 0x4 - movs r2, 0x6 - bl memcpy - ldr r0, =gUnknown_02039B4C - ldr r0, [r0] - lsls r4, 2 - adds r4, r0, r4 - ldrh r6, [r4] - ldr r1, =0x00000612 - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0 - bne _080BD194 - adds r0, r6, 0 - bl NationalToHoennOrder - lsls r0, 16 - lsrs r6, r0, 16 -_080BD194: - add r4, sp, 0x4 - adds r0, r6, 0 - movs r1, 0x64 - bl __udivsi3 - adds r0, 0xA1 - strb r0, [r4, 0x2] - add r5, sp, 0x4 - adds r0, r6, 0 - movs r1, 0x64 - bl __umodsi3 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r4, 0 - movs r1, 0xA - bl __udivsi3 - adds r0, 0xA1 - strb r0, [r5, 0x3] - add r5, sp, 0x4 - adds r0, r4, 0 - movs r1, 0xA - bl __umodsi3 - adds r0, 0xA1 - strb r0, [r5, 0x4] - str r7, [sp] - movs r0, 0 - movs r1, 0x7 - add r2, sp, 0x4 - mov r3, r8 - bl sub_80BCE2C - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BD154 - - thumb_func_start sub_80BD1F4 -sub_80BD1F4: @ 80BD1F4 - push {r4,lr} - sub sp, 0x8 - lsls r0, 16 - lsls r1, 24 - lsrs r3, r1, 24 - lsls r2, 24 - lsrs r4, r2, 24 - cmp r0, 0 - beq _080BD220 - ldr r1, =gUnknown_0855D2BE - lsls r2, r3, 3 - lsls r3, r4, 3 - movs r0, 0x8 - str r0, [sp] - movs r0, 0x10 - str r0, [sp, 0x4] - movs r0, 0 - bl BlitBitmapToWindow - b _080BD234 - .pool -_080BD220: - lsls r2, r3, 3 - lsls r3, r4, 3 - movs r0, 0x8 - str r0, [sp] - movs r0, 0x10 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - bl FillWindowPixelRect -_080BD234: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80BD1F4 - - thumb_func_start sub_80BD23C -sub_80BD23C: @ 80BD23C - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 16 - lsrs r0, 16 - lsls r1, 24 - lsrs r6, r1, 24 - lsls r2, 24 - lsrs r5, r2, 24 - bl NationalPokedexNumToSpecies - adds r1, r0, 0 - cmp r1, 0 - beq _080BD264 - movs r0, 0xB - muls r1, r0 - ldr r0, =gSpeciesNames - adds r4, r1, r0 - b _080BD266 - .pool -_080BD264: - ldr r4, =sText_TenDashes -_080BD266: - str r5, [sp] - movs r0, 0 - movs r1, 0x7 - adds r2, r4, 0 - adds r3, r6, 0 - bl sub_80BCE2C - adds r0, r4, 0 - bl StringLength - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80BD23C - - thumb_func_start sub_80BD28C -sub_80BD28C: @ 80BD28C - push {lr} - sub sp, 0x8 - adds r2, r0, 0 - adds r3, r1, 0 - lsls r2, 24 - lsls r3, 24 - lsrs r2, 21 - lsrs r3, 21 - movs r0, 0x60 - str r0, [sp] - movs r0, 0x10 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - bl FillWindowPixelRect - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_80BD28C - - thumb_func_start sub_80BD2B4 -sub_80BD2B4: @ 80BD2B4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 16 - lsrs r1, 16 - mov r8, r1 - ldr r2, =gPaletteFade - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x8] - movs r2, 0 - ldr r7, =gUnknown_02039B4C - adds r5, r7, 0 - ldr r4, =0x0000061e - ldr r0, =0x0000ffff - adds r3, r0, 0 -_080BD2DA: - ldr r1, [r5] - lsls r0, r2, 1 - adds r1, r4 - adds r1, r0 - ldrh r0, [r1] - orrs r0, r3 - strh r0, [r1] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3 - bls _080BD2DA - ldr r0, [r7] - ldr r1, =0x00000626 - adds r0, r1 - ldr r1, =0x0000ffff - strh r1, [r0] - subs r0, r6, 0x1 - lsls r0, 16 - lsrs r0, 16 - bl sub_80BDA8C - lsls r0, 16 - lsrs r0, 16 - ldr r4, =0x0000ffff - cmp r0, r4 - beq _080BD334 - movs r1, 0x60 - movs r2, 0x50 - bl sub_80BDACC - lsls r0, 24 - lsrs r1, r0, 24 - ldr r3, =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r3, 0 - adds r1, 0x1C - adds r1, r0, r1 - ldr r2, =sub_80BE4E0 - str r2, [r1] - adds r0, r3 - ldr r1, =0x0000ffe0 - strh r1, [r0, 0x38] -_080BD334: - adds r0, r6, 0 - bl sub_80BDA8C - lsls r0, 16 - lsrs r0, 16 - cmp r0, r4 - beq _080BD366 - movs r1, 0x60 - movs r2, 0x50 - bl sub_80BDACC - lsls r0, 24 - lsrs r1, r0, 24 - ldr r3, =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r3, 0 - adds r1, 0x1C - adds r1, r0, r1 - ldr r2, =sub_80BE4E0 - str r2, [r1] - adds r0, r3 - movs r1, 0 - strh r1, [r0, 0x38] -_080BD366: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r0, 16 - bl sub_80BDA8C - lsls r0, 16 - lsrs r0, 16 - cmp r0, r4 - beq _080BD39C - movs r1, 0x60 - movs r2, 0x50 - bl sub_80BDACC - lsls r0, 24 - lsrs r1, r0, 24 - ldr r3, =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r3, 0 - adds r1, 0x1C - adds r1, r0, r1 - ldr r2, =sub_80BE4E0 - str r2, [r1] - adds r0, r3 - movs r1, 0x20 - strh r1, [r0, 0x38] -_080BD39C: - movs r0, 0 - adds r1, r6, 0 - mov r2, r8 - bl sub_80BCE84 - ldr r0, [r7] - ldr r2, =0x0000062d - adds r0, r2 - ldrb r1, [r0] - movs r0, 0x1A - bl SetGpuReg - ldr r0, [r7] - movs r2, 0xC6 - lsls r2, 3 - adds r1, r0, r2 - movs r2, 0 - strh r2, [r1] - ldr r1, =0x00000632 - adds r0, r1 - strh r2, [r0] - ldr r2, =gPaletteFade - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BD2B4 - - thumb_func_start sub_80BD404 -sub_80BD404: @ 80BD404 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 24 - lsrs r6, r2, 24 - ldr r0, =gUnknown_02039B4C - ldr r1, [r0] - ldr r3, =0x0000062e - adds r2, r1, r3 - ldrb r3, [r2] - adds r7, r0, 0 - cmp r3, 0 - bne _080BD428 - b _080BD578 -_080BD428: - subs r0, r3, 0x1 - strb r0, [r2] - cmp r4, 0x1 - beq _080BD440 - cmp r4, 0x2 - beq _080BD4DC - b _080BD558 - .pool -_080BD440: - movs r3, 0 - ldr r4, =0x0000ffff - mov r12, r4 - ldr r0, =gSprites - mov r8, r0 - adds r2, r7, 0 -_080BD44C: - ldr r0, [r2] - lsls r1, r3, 1 - ldr r4, =0x0000061e - adds r0, r4 - adds r1, r0, r1 - ldrh r0, [r1] - cmp r0, r12 - beq _080BD46A - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r8 - ldrh r0, [r1, 0x38] - adds r0, r5 - strh r0, [r1, 0x38] -_080BD46A: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x3 - bls _080BD44C - ldr r4, [r7] - ldr r1, =0x0000062e - adds r0, r4, r1 - ldrb r0, [r0] - subs r0, r6, r0 - lsls r0, 4 - adds r1, r6, 0 - bl __divsi3 - lsls r0, 24 - lsrs r2, r0, 24 - ldr r3, =0x0000062d - adds r0, r4, r3 - ldr r1, =0x00000632 - adds r4, r1 - movs r3, 0 - ldrsh r1, [r4, r3] - lsls r1, 4 - ldrb r0, [r0] - adds r1, r0 - subs r1, r2 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x1A - bl SetGpuReg - ldr r0, [r7] - ldr r4, =0x0000062c - adds r2, r0, r4 - movs r1, 0xC5 - lsls r1, 3 - adds r0, r1 - ldrb r1, [r0] - ldrb r0, [r2] - subs r0, r1 - strb r0, [r2] - b _080BD558 - .pool -_080BD4DC: - movs r3, 0 - ldr r2, =0x0000ffff - mov r12, r2 - ldr r4, =gSprites - mov r8, r4 - adds r2, r7, 0 -_080BD4E8: - ldr r0, [r2] - lsls r1, r3, 1 - ldr r4, =0x0000061e - adds r0, r4 - adds r1, r0, r1 - ldrh r0, [r1] - cmp r0, r12 - beq _080BD506 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r8 - ldrh r0, [r1, 0x38] - subs r0, r5 - strh r0, [r1, 0x38] -_080BD506: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x3 - bls _080BD4E8 - ldr r4, [r7] - ldr r1, =0x0000062e - adds r0, r4, r1 - ldrb r0, [r0] - subs r0, r6, r0 - lsls r0, 4 - adds r1, r6, 0 - bl __divsi3 - lsls r0, 24 - lsrs r2, r0, 24 - ldr r3, =0x0000062d - adds r0, r4, r3 - ldr r1, =0x00000632 - adds r4, r1 - movs r3, 0 - ldrsh r1, [r4, r3] - lsls r1, 4 - ldrb r0, [r0] - adds r1, r0 - adds r1, r2 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x1A - bl SetGpuReg - ldr r0, [r7] - ldr r4, =0x0000062c - adds r1, r0, r4 - movs r2, 0xC5 - lsls r2, 3 - adds r0, r2 - ldrb r0, [r0] - ldrb r3, [r1] - adds r0, r3 - strb r0, [r1] -_080BD558: - movs r0, 0 - b _080BD598 - .pool -_080BD578: - ldr r4, =0x0000062d - adds r2, r1, r4 - movs r3, 0xC6 - lsls r3, 3 - adds r0, r1, r3 - movs r4, 0 - ldrsh r1, [r0, r4] - lsls r1, 4 - ldrb r2, [r2] - adds r1, r2 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x1A - bl SetGpuReg - movs r0, 0x1 -_080BD598: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80BD404 - - thumb_func_start sub_80BD5A8 -sub_80BD5A8: @ 80BD5A8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 16 - lsrs r3, r1, 16 - ldr r4, =gUnknown_02039B4C - ldr r0, [r4] - movs r5, 0xC6 - lsls r5, 3 - adds r1, r0, r5 - ldrh r1, [r1] - ldr r6, =0x00000632 - adds r0, r6 - strh r1, [r0] - cmp r2, 0x1 - beq _080BD5D8 - cmp r2, 0x2 - beq _080BD638 - b _080BD694 - .pool -_080BD5D8: - subs r0, r3, 0x1 - lsls r0, 16 - lsrs r0, 16 - bl sub_80BDA8C - lsls r0, 16 - lsrs r1, r0, 16 - ldr r0, =0x0000ffff - cmp r1, r0 - beq _080BD612 - adds r0, r1, 0 - movs r1, 0x60 - movs r2, 0x50 - bl sub_80BDACC - lsls r0, 24 - lsrs r1, r0, 24 - ldr r3, =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r3, 0 - adds r1, 0x1C - adds r1, r0, r1 - ldr r2, =sub_80BE4E0 - str r2, [r1] - adds r0, r3 - ldr r1, =0x0000ffc0 - strh r1, [r0, 0x38] -_080BD612: - ldr r0, [r4] - adds r1, r0, r5 - ldrh r2, [r1] - movs r3, 0 - ldrsh r0, [r1, r3] - cmp r0, 0 - ble _080BD634 - subs r0, r2, 0x1 - b _080BD692 - .pool -_080BD634: - movs r0, 0xF - b _080BD692 -_080BD638: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r0, 16 - bl sub_80BDA8C - lsls r0, 16 - lsrs r1, r0, 16 - ldr r0, =0x0000ffff - cmp r1, r0 - beq _080BD672 - adds r0, r1, 0 - movs r1, 0x60 - movs r2, 0x50 - bl sub_80BDACC - lsls r0, 24 - lsrs r1, r0, 24 - ldr r3, =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r3, 0 - adds r1, 0x1C - adds r1, r0, r1 - ldr r2, =sub_80BE4E0 - str r2, [r1] - adds r0, r3 - movs r1, 0x40 - strh r1, [r0, 0x38] -_080BD672: - ldr r0, [r4] - adds r1, r0, r5 - ldrh r2, [r1] - movs r6, 0 - ldrsh r0, [r1, r6] - cmp r0, 0xE - bgt _080BD690 - adds r0, r2, 0x1 - b _080BD692 - .pool -_080BD690: - movs r0, 0 -_080BD692: - strh r0, [r1] -_080BD694: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80BD5A8 - - thumb_func_start sub_80BD69C -sub_80BD69C: @ 80BD69C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 16 - lsrs r7, r0, 16 - lsls r1, 16 - lsrs r4, r1, 16 - movs r0, 0 - mov r10, r0 - ldr r2, =gMain - ldrh r1, [r2, 0x2C] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080BD6FC - cmp r7, 0 - beq _080BD6FC - movs r1, 0x1 - mov r10, r1 - ldr r0, =gUnknown_02039B4C - ldr r0, [r0] - ldr r2, =0x0000060c - adds r0, r2 - ldrh r3, [r0] - subs r3, 0x1 - lsls r3, 16 - lsrs r3, 16 - movs r0, 0x1 - adds r1, r7, 0 - movs r2, 0 - bl sub_80C0E0C - adds r7, r0, 0 - movs r0, 0x1 - adds r1, r7, 0 - bl sub_80BD5A8 - movs r0, 0x1 - b _080BD734 - .pool -_080BD6FC: - ldrh r1, [r2, 0x2C] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080BD74C - ldr r0, =gUnknown_02039B4C - ldr r0, [r0] - ldr r3, =0x0000060c - adds r0, r3 - ldrh r0, [r0] - subs r0, 0x1 - cmp r7, r0 - bge _080BD74C - movs r1, 0x2 - mov r10, r1 - lsls r3, r0, 16 - lsrs r3, 16 - movs r0, 0 - adds r1, r7, 0 - movs r2, 0 - bl sub_80C0E0C - adds r7, r0, 0 - movs r0, 0x2 - adds r1, r7, 0 - bl sub_80BD5A8 - movs r0, 0x2 -_080BD734: - adds r1, r7, 0 - adds r2, r4, 0 - bl sub_80BCE84 - movs r0, 0x6C - bl PlaySE - b _080BD81A - .pool -_080BD74C: - ldrh r1, [r2, 0x2E] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080BD7B4 - cmp r7, 0 - beq _080BD7B4 - adds r6, r7, 0 - movs r4, 0 -_080BD75E: - ldr r5, =gUnknown_02039B4C - ldr r0, [r5] - ldr r2, =0x0000060c - adds r0, r2 - ldrh r3, [r0] - subs r3, 0x1 - lsls r3, 16 - lsrs r3, 16 - movs r0, 0x1 - adds r1, r7, 0 - movs r2, 0 - bl sub_80C0E0C - adds r7, r0, 0 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x6 - bls _080BD75E - ldr r1, [r5] - ldr r3, =0x0000062c - adds r1, r3 - subs r0, r7, r6 - lsls r0, 4 - ldrb r2, [r1] - adds r0, r2 - strb r0, [r1] - bl sub_80BDA40 - adds r0, r7, 0 - movs r1, 0xE - bl sub_80BD2B4 - movs r0, 0x6D - bl PlaySE - b _080BD81A - .pool -_080BD7B4: - ldrh r1, [r2, 0x2E] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080BD81A - ldr r0, =gUnknown_02039B4C - ldr r0, [r0] - ldr r3, =0x0000060c - adds r0, r3 - ldrh r0, [r0] - subs r0, 0x1 - cmp r7, r0 - bge _080BD81A - adds r6, r7, 0 - movs r4, 0 -_080BD7D2: - ldr r5, =gUnknown_02039B4C - ldr r0, [r5] - ldr r1, =0x0000060c - adds r0, r1 - ldrh r3, [r0] - subs r3, 0x1 - lsls r3, 16 - lsrs r3, 16 - movs r0, 0 - adds r1, r7, 0 - movs r2, 0 - bl sub_80C0E0C - adds r7, r0, 0 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x6 - bls _080BD7D2 - ldr r1, [r5] - ldr r2, =0x0000062c - adds r1, r2 - subs r0, r7, r6 - lsls r0, 4 - ldrb r3, [r1] - adds r0, r3 - strb r0, [r1] - bl sub_80BDA40 - adds r0, r7, 0 - movs r1, 0xE - bl sub_80BD2B4 - movs r0, 0x6D - bl PlaySE -_080BD81A: - mov r0, r10 - cmp r0, 0 - bne _080BD83C - ldr r0, =gUnknown_02039B4C - ldr r0, [r0] - movs r1, 0xC7 - lsls r1, 3 - adds r0, r1 - mov r2, r10 - strh r2, [r0] - b _080BD8A2 - .pool -_080BD83C: - ldr r1, =gUnknown_0855D28C - ldr r6, =gUnknown_02039B4C - ldr r2, [r6] - movs r3, 0xC7 - lsls r3, 3 - mov r9, r3 - adds r0, r2, r3 - ldrh r0, [r0] - lsrs r0, 2 - adds r1, r0, r1 - ldrb r5, [r1] - ldr r1, =gUnknown_0855D291 - adds r0, r1 - ldrb r3, [r0] - ldr r0, =0x0000062e - adds r2, r0 - strb r3, [r2] - ldr r1, [r6] - ldr r2, =0x00000636 - mov r8, r2 - adds r0, r1, r2 - strh r3, [r0] - ldr r4, =0x00000634 - adds r0, r1, r4 - strh r5, [r0] - ldr r3, =0x0000062f - adds r1, r3 - mov r0, r10 - strb r0, [r1] - ldr r2, [r6] - lsrs r5, 1 - movs r1, 0xC5 - lsls r1, 3 - adds r0, r2, r1 - strh r5, [r0] - adds r3, r2, r3 - ldrb r0, [r3] - adds r4, r2, r4 - ldrb r1, [r4] - add r2, r8 - ldrb r2, [r2] - bl sub_80BD404 - ldr r0, [r6] - mov r2, r9 - adds r1, r0, r2 - ldrh r0, [r1] - cmp r0, 0xB - bhi _080BD8A2 - adds r0, 0x1 - strh r0, [r1] -_080BD8A2: - adds r0, r7, 0 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80BD69C - - thumb_func_start sub_80BD8D0 -sub_80BD8D0: @ 80BD8D0 - push {r4-r7,lr} - movs r4, 0 - ldr r0, =gUnknown_02039B4C - mov r12, r0 - ldr r6, =gSprites - ldr r5, =0x0000ffff -_080BD8DC: - mov r1, r12 - ldr r3, [r1] - lsls r1, r4, 1 - ldr r2, =0x0000061e - adds r0, r3, r2 - adds r0, r1 - ldrh r2, [r0] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r1, r0, r6 - movs r7, 0x24 - ldrsh r0, [r1, r7] - cmp r0, 0 - bne _080BD90C - movs r7, 0x26 - ldrsh r0, [r1, r7] - cmp r0, 0 - bne _080BD90C - cmp r2, r5 - beq _080BD90C - ldr r1, =0x00000626 - adds r0, r3, r1 - strh r2, [r0] -_080BD90C: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x3 - bls _080BD8DC - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BD8D0 - - thumb_func_start sub_80BD930 -sub_80BD930: @ 80BD930 - push {r4-r6,lr} - ldr r3, =gUnknown_02039B4C - ldr r0, [r3] - ldr r1, =0x0000060e - adds r0, r1 - ldrh r4, [r0] - ldr r2, =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080BD9B8 - cmp r4, 0 - beq _080BD9B8 - adds r2, r4, 0 - adds r5, r3, 0 -_080BD950: - ldr r0, [r5] - ldr r1, =0x0000060c - adds r0, r1 - ldrh r3, [r0] - subs r3, 0x1 - lsls r3, 16 - lsrs r3, 16 - movs r0, 0x1 - adds r1, r2, 0 - movs r2, 0 - bl sub_80C0E0C - lsls r0, 16 - lsrs r2, r0, 16 - ldr r0, [r5] - lsls r1, r2, 2 - adds r0, r1 - ldrb r0, [r0, 0x2] - lsls r0, 31 - cmp r0, 0 - bne _080BD9A0 - cmp r2, 0 - bne _080BD950 -_080BD97E: - ldr r0, =gUnknown_02039B4C - ldr r1, [r0] - ldr r0, =0x0000060e - adds r2, r1, r0 - ldrh r0, [r2] - cmp r0, r4 - bne _080BD9A4 - b _080BDA38 - .pool -_080BD9A0: - adds r4, r2, 0 - b _080BD97E -_080BD9A4: - strh r4, [r2] - ldr r0, =0x0000062c - adds r1, r0 - ldrb r0, [r1] - subs r0, 0x10 - b _080BDA20 - .pool -_080BD9B4: - adds r4, r2, 0 - b _080BDA08 -_080BD9B8: - ldrh r1, [r2, 0x2E] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080BDA38 - ldr r0, [r3] - ldr r1, =0x0000060c - adds r0, r1 - ldrh r0, [r0] - subs r0, 0x1 - cmp r4, r0 - bge _080BDA38 - adds r2, r4, 0 - adds r6, r3, 0 - adds r5, r1, 0 -_080BD9D6: - ldr r0, [r6] - adds r0, r5 - ldrh r3, [r0] - subs r3, 0x1 - lsls r3, 16 - lsrs r3, 16 - movs r0, 0 - adds r1, r2, 0 - movs r2, 0 - bl sub_80C0E0C - lsls r0, 16 - lsrs r2, r0, 16 - ldr r1, [r6] - lsls r0, r2, 2 - adds r0, r1, r0 - ldrb r0, [r0, 0x2] - lsls r0, 31 - cmp r0, 0 - bne _080BD9B4 - adds r0, r1, r5 - ldrh r0, [r0] - subs r0, 0x1 - cmp r2, r0 - blt _080BD9D6 -_080BDA08: - ldr r0, =gUnknown_02039B4C - ldr r1, [r0] - ldr r0, =0x0000060e - adds r2, r1, r0 - ldrh r0, [r2] - cmp r0, r4 - beq _080BDA38 - strh r4, [r2] - ldr r0, =0x0000062c - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x10 -_080BDA20: - strb r0, [r1] - movs r0, 0x1 - b _080BDA3A - .pool -_080BDA38: - movs r0, 0 -_080BDA3A: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80BD930 - - thumb_func_start sub_80BDA40 -sub_80BDA40: @ 80BDA40 - push {r4-r7,lr} - movs r5, 0 - ldr r6, =gUnknown_02039B4C - ldr r7, =0x0000ffff -_080BDA48: - ldr r0, [r6] - lsls r4, r5, 1 - ldr r1, =0x0000061e - adds r0, r1 - adds r1, r0, r4 - ldrh r0, [r1] - cmp r0, r7 - beq _080BDA6C - bl sub_818D820 - ldr r1, [r6] - ldr r0, =0x0000061e - adds r1, r0 - adds r1, r4 - ldrh r2, [r1] - adds r0, r7, 0 - orrs r0, r2 - strh r0, [r1] -_080BDA6C: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x3 - bls _080BDA48 - movs r0, 0 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80BDA40 - - thumb_func_start sub_80BDA8C -sub_80BDA8C: @ 80BDA8C - push {lr} - lsls r0, 16 - lsrs r2, r0, 16 - ldr r0, =0x00000181 - cmp r2, r0 - bhi _080BDAA8 - ldr r0, =gUnknown_02039B4C - ldr r1, [r0] - lsls r0, r2, 2 - adds r2, r1, r0 - ldrh r1, [r2] - ldr r0, =0x0000ffff - cmp r1, r0 - bne _080BDAB8 -_080BDAA8: - ldr r0, =0x0000ffff - b _080BDAC6 - .pool -_080BDAB8: - ldrb r0, [r2, 0x2] - lsls r0, 31 - cmp r0, 0 - bne _080BDAC4 - movs r0, 0 - b _080BDAC6 -_080BDAC4: - ldrh r0, [r2] -_080BDAC6: - pop {r1} - bx r1 - thumb_func_end sub_80BDA8C - - thumb_func_start sub_80BDACC -sub_80BDACC: @ 80BDACC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - lsls r2, 16 - lsrs r2, 16 - movs r6, 0 - ldr r0, =gUnknown_02039B4C - mov r9, r0 - ldr r3, =0x0000ffff - lsls r1, 16 -_080BDAE8: - mov r4, r9 - ldr r0, [r4] - lsls r7, r6, 1 - ldr r4, =0x0000061e - adds r0, r4 - adds r0, r7 - ldrh r0, [r0] - cmp r0, r3 - bne _080BDB60 - lsls r2, 16 - mov r0, r8 - asrs r1, 16 - asrs r2, 16 - adds r3, r6, 0 - bl sub_80C0E9C - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r0, =gSprites - lsls r4, r5, 4 - adds r4, r5 - lsls r4, 2 - adds r4, r0 - ldrb r1, [r4, 0x1] - movs r2, 0x4 - negs r2, r2 - adds r0, r2, 0 - ands r1, r0 - movs r0, 0x1 - orrs r1, r0 - strb r1, [r4, 0x1] - ldrb r0, [r4, 0x5] - movs r1, 0xC - orrs r0, r1 - strb r0, [r4, 0x5] - movs r0, 0 - strh r0, [r4, 0x2E] - strh r6, [r4, 0x30] - mov r0, r8 - bl NationalPokedexNumToSpecies - strh r0, [r4, 0x32] - mov r4, r9 - ldr r0, [r4] - ldr r1, =0x0000061e - adds r0, r1 - adds r0, r7 - strh r5, [r0] - adds r0, r5, 0 - b _080BDB6C - .pool -_080BDB60: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x3 - bls _080BDAE8 - ldr r0, =0x0000ffff -_080BDB6C: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80BDACC - - thumb_func_start sub_80BDB7C -sub_80BDB7C: @ 80BDB7C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r8, r0 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r4, =gUnknown_0855D1AC - adds r0, r4, 0 - movs r1, 0xB8 - movs r2, 0x4 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, =gSprites - mov r10, r1 - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - add r0, r10 - movs r1, 0 - strh r1, [r0, 0x30] - adds r0, r4, 0 - movs r1, 0xB8 - movs r2, 0x9C - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - add r0, r10 - movs r1, 0x1 - strh r1, [r0, 0x30] - adds r0, 0x3F - ldrb r1, [r0] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r0] - ldr r0, =gUnknown_0855D194 - movs r1, 0xE6 - movs r2, 0x14 - movs r3, 0 - bl CreateSprite - ldr r5, =gUnknown_0855D1C4 - adds r0, r5, 0 - movs r1, 0x10 - movs r2, 0x78 - movs r3, 0 - bl CreateSprite - adds r0, r5, 0 - movs r1, 0x30 - movs r2, 0x78 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - add r0, r10 - movs r1, 0x3 - bl StartSpriteAnim - adds r0, r5, 0 - movs r1, 0x10 - movs r2, 0x90 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - lsls r4, r7, 4 - adds r4, r7 - lsls r4, 2 - add r4, r10 - adds r0, r4, 0 - movs r1, 0x2 - bl StartSpriteAnim - movs r0, 0x80 - mov r9, r0 - mov r1, r9 - strh r1, [r4, 0x32] - adds r0, r5, 0 - movs r1, 0x30 - movs r2, 0x90 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - add r0, r10 - movs r1, 0x1 - bl StartSpriteAnim - ldr r6, =gUnknown_0855D1DC - adds r0, r6, 0 - movs r1, 0 - movs r2, 0x50 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - lsls r1, r7, 4 - adds r1, r7 - lsls r1, 2 - add r1, r10 - ldrb r2, [r1, 0x1] - movs r4, 0x4 - negs r4, r4 - adds r0, r4, 0 - ands r0, r2 - movs r5, 0x1 - orrs r0, r5 - strb r0, [r1, 0x1] - ldrb r2, [r1, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r2 - movs r2, 0x3C - orrs r0, r2 - strb r0, [r1, 0x3] - movs r0, 0x1E - strh r0, [r1, 0x2E] - movs r0, 0 - strh r0, [r1, 0x30] - adds r0, r6, 0 - movs r1, 0 - movs r2, 0x50 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - lsls r1, r7, 4 - adds r1, r7 - lsls r1, 2 - add r1, r10 - ldrb r0, [r1, 0x1] - ands r4, r0 - orrs r4, r5 - strb r4, [r1, 0x1] - ldrb r0, [r1, 0x3] - movs r2, 0x3E - orrs r0, r2 - strb r0, [r1, 0x3] - movs r0, 0x1F - strh r0, [r1, 0x2E] - mov r0, r9 - strh r0, [r1, 0x30] - mov r1, r8 - cmp r1, 0 - beq _080BDCCC - b _080BE414 -_080BDCCC: - bl IsNationalPokedexEnabled - cmp r0, 0 - beq _080BDCD6 - b _080BDF4C -_080BDCD6: - ldr r4, =gUnknown_0855D1F4 - adds r0, r4, 0 - movs r1, 0x20 - movs r2, 0x28 - movs r3, 0x1 - bl CreateSprite - adds r0, r4, 0 - movs r1, 0x20 - movs r2, 0x48 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - add r0, r10 - movs r1, 0x1 - bl StartSpriteAnim - movs r0, 0 - mov r8, r0 - ldr r0, =gUnknown_0855D224 - movs r1, 0x18 - movs r2, 0x30 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =gUnknown_02039B4C - ldr r0, [r0] - ldr r1, =0x0000061a - adds r0, r1 - ldrh r0, [r0] - movs r1, 0x64 - bl __udivsi3 - lsls r0, 16 - lsrs r5, r0, 16 - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - mov r1, r10 - adds r4, r0, r1 - lsls r1, r5, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - cmp r5, 0 - beq _080BDD6C - movs r0, 0x1 - mov r8, r0 - b _080BDD78 - .pool -_080BDD6C: - adds r0, r4, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_080BDD78: - ldr r0, =gUnknown_0855D224 - movs r1, 0x20 - movs r2, 0x30 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =gUnknown_02039B4C - ldr r0, [r0] - ldr r1, =0x0000061a - adds r0, r1 - ldrh r0, [r0] - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __udivsi3 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0 - bne _080BDDB0 - mov r0, r8 - cmp r0, 0 - beq _080BDDD4 -_080BDDB0: - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - lsls r1, r5, 24 - lsrs r1, 24 - bl StartSpriteAnim - b _080BDDE8 - .pool -_080BDDD4: - ldr r1, =gSprites - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - adds r0, r1 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_080BDDE8: - ldr r6, =gUnknown_0855D224 - adds r0, r6, 0 - movs r1, 0x28 - movs r2, 0x30 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - ldr r5, =gUnknown_02039B4C - ldr r0, [r5] - ldr r1, =0x0000061a - adds r0, r1 - ldrh r0, [r0] - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - adds r1, r0, 0 - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - ldr r4, =gSprites - adds r0, r4 - lsls r1, 24 - lsrs r1, 24 - bl StartSpriteAnim - movs r0, 0 - mov r8, r0 - adds r0, r6, 0 - movs r1, 0x18 - movs r2, 0x50 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, [r5] - ldr r1, =0x0000061c - adds r0, r1 - ldrh r0, [r0] - movs r1, 0x64 - bl __udivsi3 - lsls r0, 16 - lsrs r5, r0, 16 - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - adds r4, r0, r4 - lsls r1, r5, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - cmp r5, 0 - beq _080BDE80 - movs r0, 0x1 - mov r8, r0 - b _080BDE8C - .pool -_080BDE80: - adds r0, r4, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_080BDE8C: - ldr r0, =gUnknown_0855D224 - movs r1, 0x20 - movs r2, 0x50 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =gUnknown_02039B4C - ldr r0, [r0] - ldr r1, =0x0000061c - adds r0, r1 - ldrh r0, [r0] - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __udivsi3 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0 - bne _080BDEC4 - mov r0, r8 - cmp r0, 0 - beq _080BDEE8 -_080BDEC4: - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - lsls r1, r5, 24 - lsrs r1, 24 - bl StartSpriteAnim - b _080BDEFC - .pool -_080BDEE8: - ldr r1, =gSprites - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - adds r0, r1 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_080BDEFC: - ldr r0, =gUnknown_0855D224 - movs r1, 0x28 - movs r2, 0x50 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =gUnknown_02039B4C - ldr r0, [r0] - ldr r1, =0x0000061c - adds r0, r1 - ldrh r0, [r0] - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - adds r1, r0, 0 - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - ldr r2, =gSprites - adds r0, r2 - lsls r1, 24 - lsrs r1, 24 - bl StartSpriteAnim - b _080BE3E2 - .pool -_080BDF4C: - ldr r4, =gUnknown_0855D1F4 - adds r0, r4, 0 - movs r1, 0x20 - movs r2, 0x28 - movs r3, 0x1 - bl CreateSprite - adds r0, r4, 0 - movs r1, 0x20 - movs r2, 0x4C - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - add r0, r10 - movs r1, 0x1 - bl StartSpriteAnim - ldr r4, =gUnknown_0855D20C - adds r0, r4, 0 - movs r1, 0x11 - movs r2, 0x2D - movs r3, 0x1 - bl CreateSprite - adds r0, r4, 0 - movs r1, 0x11 - movs r2, 0x37 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - add r0, r10 - movs r1, 0x1 - bl StartSpriteAnim - adds r0, r4, 0 - movs r1, 0x11 - movs r2, 0x51 - movs r3, 0x1 - bl CreateSprite - adds r0, r4, 0 - movs r1, 0x11 - movs r2, 0x5B - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - add r0, r10 - movs r1, 0x1 - bl StartSpriteAnim - movs r0, 0 - bl GetHoennPokedexCount - lsls r0, 16 - lsrs r6, r0, 16 - movs r0, 0 - mov r8, r0 - ldr r0, =gUnknown_0855D23C - movs r1, 0x28 - movs r2, 0x2D - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r6, 0 - movs r1, 0x64 - bl __udivsi3 - lsls r0, 16 - lsrs r5, r0, 16 - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - mov r1, r10 - adds r4, r0, r1 - lsls r1, r5, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - cmp r5, 0 - beq _080BE024 - movs r0, 0x1 - mov r8, r0 - b _080BE030 - .pool -_080BE024: - adds r0, r4, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_080BE030: - ldr r0, =gUnknown_0855D23C - movs r1, 0x30 - movs r2, 0x2D - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r6, 0 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __udivsi3 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0 - bne _080BE060 - mov r1, r8 - cmp r1, 0 - beq _080BE07C -_080BE060: - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - lsls r1, r5, 24 - lsrs r1, 24 - bl StartSpriteAnim - b _080BE090 - .pool -_080BE07C: - ldr r1, =gSprites - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - adds r0, r1 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_080BE090: - ldr r5, =gUnknown_0855D23C - adds r0, r5, 0 - movs r1, 0x38 - movs r2, 0x2D - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r6, 0 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - adds r1, r0, 0 - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - ldr r4, =gSprites - adds r0, r4 - lsls r1, 24 - lsrs r1, 24 - bl StartSpriteAnim - movs r0, 0 - mov r8, r0 - adds r0, r5, 0 - movs r1, 0x28 - movs r2, 0x37 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =gUnknown_02039B4C - ldr r0, [r0] - ldr r1, =0x0000061a - adds r0, r1 - ldrh r0, [r0] - movs r1, 0x64 - bl __udivsi3 - lsls r0, 16 - lsrs r5, r0, 16 - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - adds r4, r0, r4 - lsls r1, r5, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - cmp r5, 0 - beq _080BE11C - movs r0, 0x1 - mov r8, r0 - b _080BE128 - .pool -_080BE11C: - adds r0, r4, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_080BE128: - ldr r0, =gUnknown_0855D23C - movs r1, 0x30 - movs r2, 0x37 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =gUnknown_02039B4C - ldr r0, [r0] - ldr r1, =0x0000061a - adds r0, r1 - ldrh r0, [r0] - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __udivsi3 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0 - bne _080BE160 - mov r0, r8 - cmp r0, 0 - beq _080BE184 -_080BE160: - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - lsls r1, r5, 24 - lsrs r1, 24 - bl StartSpriteAnim - b _080BE198 - .pool -_080BE184: - ldr r1, =gSprites - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - adds r0, r1 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_080BE198: - ldr r5, =gUnknown_0855D23C - adds r0, r5, 0 - movs r1, 0x38 - movs r2, 0x37 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =gUnknown_02039B4C - ldr r0, [r0] - ldr r1, =0x0000061a - adds r0, r1 - ldrh r0, [r0] - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - adds r1, r0, 0 - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - ldr r4, =gSprites - adds r0, r4 - lsls r1, 24 - lsrs r1, 24 - bl StartSpriteAnim - movs r0, 0x1 - bl GetHoennPokedexCount - lsls r0, 16 - lsrs r6, r0, 16 - movs r0, 0 - mov r8, r0 - adds r0, r5, 0 - movs r1, 0x28 - movs r2, 0x51 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r6, 0 - movs r1, 0x64 - bl __udivsi3 - lsls r0, 16 - lsrs r5, r0, 16 - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - adds r4, r0, r4 - lsls r1, r5, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - cmp r5, 0 - beq _080BE230 - movs r1, 0x1 - mov r8, r1 - b _080BE23C - .pool -_080BE230: - adds r0, r4, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_080BE23C: - ldr r0, =gUnknown_0855D23C - movs r1, 0x30 - movs r2, 0x51 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r6, 0 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __udivsi3 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0 - bne _080BE26C - mov r0, r8 - cmp r0, 0 - beq _080BE288 -_080BE26C: - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - lsls r1, r5, 24 - lsrs r1, 24 - bl StartSpriteAnim - b _080BE29C - .pool -_080BE288: - ldr r1, =gSprites - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - adds r0, r1 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_080BE29C: - ldr r5, =gUnknown_0855D23C - adds r0, r5, 0 - movs r1, 0x38 - movs r2, 0x51 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r6, 0 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - adds r1, r0, 0 - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - ldr r4, =gSprites - adds r0, r4 - lsls r1, 24 - lsrs r1, 24 - bl StartSpriteAnim - movs r1, 0 - mov r8, r1 - adds r0, r5, 0 - movs r1, 0x28 - movs r2, 0x5B - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =gUnknown_02039B4C - ldr r0, [r0] - ldr r1, =0x0000061c - adds r0, r1 - ldrh r0, [r0] - movs r1, 0x64 - bl __udivsi3 - lsls r0, 16 - lsrs r5, r0, 16 - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - adds r4, r0, r4 - lsls r1, r5, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - cmp r5, 0 - beq _080BE328 - movs r0, 0x1 - mov r8, r0 - b _080BE334 - .pool -_080BE328: - adds r0, r4, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_080BE334: - ldr r0, =gUnknown_0855D23C - movs r1, 0x30 - movs r2, 0x5B - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =gUnknown_02039B4C - ldr r0, [r0] - ldr r1, =0x0000061c - adds r0, r1 - ldrh r0, [r0] - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __udivsi3 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0 - bne _080BE36C - mov r0, r8 - cmp r0, 0 - beq _080BE390 -_080BE36C: - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - lsls r1, r5, 24 - lsrs r1, 24 - bl StartSpriteAnim - b _080BE3A4 - .pool -_080BE390: - ldr r1, =gSprites - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - adds r0, r1 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_080BE3A4: - ldr r0, =gUnknown_0855D23C - movs r1, 0x38 - movs r2, 0x5B - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =gUnknown_02039B4C - ldr r0, [r0] - ldr r1, =0x0000061c - adds r0, r1 - ldrh r0, [r0] - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - adds r1, r0, 0 - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - ldr r2, =gSprites - adds r0, r2 - lsls r1, 24 - lsrs r1, 24 - bl StartSpriteAnim -_080BE3E2: - ldr r0, =gUnknown_0855D254 - movs r1, 0x88 - movs r2, 0x60 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, =gSprites - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - adds r0, r1 - b _080BE42C - .pool -_080BE414: - ldr r0, =gUnknown_0855D254 - movs r1, 0x88 - movs r2, 0x50 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - add r0, r10 -_080BE42C: - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BDB7C - - thumb_func_start nullsub_38 -nullsub_38: @ 80BE448 - bx lr - thumb_func_end nullsub_38 - - thumb_func_start sub_80BE44C -sub_80BE44C: @ 80BE44C - push {lr} - adds r1, r0, 0 - ldr r0, =gUnknown_02039B4C - ldr r0, [r0] - ldr r2, =0x0000064a - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _080BE464 - adds r0, r1, 0 - bl DestroySprite -_080BE464: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BE44C - - thumb_func_start sub_80BE470 -sub_80BE470: @ 80BE470 - push {lr} - adds r2, r0, 0 - ldrb r1, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x5] - ldrb r1, [r2, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x1] - movs r0, 0 - strh r0, [r2, 0x24] - strh r0, [r2, 0x26] - ldr r1, [r2, 0x20] - ldr r0, =0x00380030 - cmp r1, r0 - beq _080BE4D4 - ldrh r1, [r2, 0x20] - movs r3, 0x20 - ldrsh r0, [r2, r3] - cmp r0, 0x30 - ble _080BE4A4 - subs r0, r1, 0x1 - strh r0, [r2, 0x20] -_080BE4A4: - ldrh r1, [r2, 0x20] - movs r3, 0x20 - ldrsh r0, [r2, r3] - cmp r0, 0x2F - bgt _080BE4B2 - adds r0, r1, 0x1 - strh r0, [r2, 0x20] -_080BE4B2: - ldrh r1, [r2, 0x22] - movs r3, 0x22 - ldrsh r0, [r2, r3] - cmp r0, 0x38 - ble _080BE4C0 - subs r0, r1, 0x1 - strh r0, [r2, 0x22] -_080BE4C0: - ldrh r1, [r2, 0x22] - movs r3, 0x22 - ldrsh r0, [r2, r3] - cmp r0, 0x37 - bgt _080BE4D8 - adds r0, r1, 0x1 - strh r0, [r2, 0x22] - b _080BE4D8 - .pool -_080BE4D4: - ldr r0, =nullsub_38 - str r0, [r2, 0x1C] -_080BE4D8: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BE470 - - thumb_func_start sub_80BE4E0 -sub_80BE4E0: @ 80BE4E0 - push {r4-r7,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldrh r0, [r4, 0x30] - lsls r0, 24 - lsrs r6, r0, 24 - ldr r7, =gUnknown_02039B4C - ldr r1, [r7] - ldr r2, =0x0000064a - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _080BE520 - cmp r0, 0x3 - beq _080BE520 - lsls r5, r6, 1 - ldr r4, =0x0000061e - adds r0, r1, r4 - adds r0, r5 - ldrh r0, [r0] - bl sub_818D820 - ldr r0, [r7] - adds r0, r4 - adds r0, r5 - b _080BE5EC - .pool -_080BE520: - ldr r2, =gSineTable - ldrh r0, [r4, 0x38] - lsls r0, 24 - lsrs r0, 23 - adds r0, r2 - movs r3, 0 - ldrsh r1, [r0, r3] - movs r0, 0x4C - muls r0, r1 - cmp r0, 0 - bge _080BE538 - adds r0, 0xFF -_080BE538: - asrs r0, 8 - strh r0, [r4, 0x26] - movs r1, 0x38 - ldrsh r0, [r4, r1] - adds r0, 0x40 - lsls r0, 1 - adds r0, r2 - movs r2, 0 - ldrsh r1, [r0, r2] - movs r0, 0x80 - lsls r0, 9 - bl __divsi3 - adds r2, r0, 0 - ldr r0, =0x0000ffff - cmp r2, r0 - bls _080BE55C - adds r2, r0, 0 -_080BE55C: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x80 - lsls r1, 1 - lsls r2, 16 - lsrs r2, 16 - str r2, [sp] - movs r2, 0 - movs r3, 0 - bl SetOamMatrix - adds r1, r6, 0x1 - movs r0, 0x1F - ands r1, r0 - lsls r1, 1 - ldrb r2, [r4, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x3] - ldrh r0, [r4, 0x38] - adds r0, 0x3F - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x7E - bhi _080BE5B4 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x5 - negs r1, r1 - ands r1, r0 - strb r1, [r2] - movs r0, 0x1 - strh r0, [r4, 0x2E] - b _080BE5C0 - .pool -_080BE5B4: - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_080BE5C0: - ldrh r0, [r4, 0x38] - adds r0, 0x3F - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x7E - bls _080BE5F0 - movs r3, 0x2E - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _080BE5F0 - ldr r5, =gUnknown_02039B4C - ldr r0, [r5] - lsls r6, 1 - ldr r4, =0x0000061e - adds r0, r4 - adds r0, r6 - ldrh r0, [r0] - bl sub_818D820 - ldr r0, [r5] - adds r0, r4 - adds r0, r6 -_080BE5EC: - ldr r1, =0x0000ffff - strh r1, [r0] -_080BE5F0: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BE4E0 - - thumb_func_start sub_80BE604 -sub_80BE604: @ 80BE604 - push {r4,lr} - adds r4, r0, 0 - ldr r1, =gUnknown_02039B4C - ldr r0, [r1] - ldr r2, =0x0000064a - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _080BE62C - cmp r0, 0x3 - beq _080BE62C - adds r0, r4, 0 - bl DestroySprite - b _080BE648 - .pool -_080BE62C: - ldr r2, [r1] - ldr r1, =0x0000060e - adds r0, r2, r1 - ldrh r1, [r0] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 3 - ldr r1, =0x0000060c - adds r2, r1 - ldrh r1, [r2] - subs r1, 0x1 - bl __divsi3 - strh r0, [r4, 0x26] -_080BE648: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BE604 - - thumb_func_start sub_80BE658 -sub_80BE658: @ 80BE658 - push {r4,r5,lr} - adds r3, r0, 0 - ldr r1, =gUnknown_02039B4C - ldr r0, [r1] - ldr r2, =0x0000064a - adds r0, r2 - ldrb r0, [r0] - adds r5, r1, 0 - cmp r0, 0 - beq _080BE680 - cmp r0, 0x3 - beq _080BE680 - adds r0, r3, 0 - bl DestroySprite - b _080BE750 - .pool -_080BE680: - movs r1, 0x30 - ldrsh r0, [r3, r1] - cmp r0, 0 - beq _080BE6C2 - ldr r0, [r5] - ldr r2, =0x0000060e - adds r1, r0, r2 - ldrh r1, [r1] - subs r2, 0x2 - adds r0, r2 - ldrh r0, [r0] - subs r0, 0x1 - cmp r1, r0 - bne _080BE6AC - adds r0, r3, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - b _080BE6B8 - .pool -_080BE6AC: - adds r0, r3, 0 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 -_080BE6B8: - strb r1, [r0] - adds r2, r0, 0 - ldrh r1, [r3, 0x32] - lsls r0, r1, 24 - b _080BE6F8 -_080BE6C2: - ldr r0, [r5] - ldr r1, =0x0000060e - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0 - bne _080BE6E0 - adds r0, r3, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - b _080BE6EC - .pool -_080BE6E0: - adds r0, r3, 0 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 -_080BE6EC: - strb r1, [r0] - adds r2, r0, 0 - ldrh r1, [r3, 0x32] - adds r0, r1, 0 - subs r0, 0x80 - lsls r0, 24 -_080BE6F8: - lsrs r0, 24 - adds r4, r1, 0 - ldr r1, =gSineTable - lsls r0, 1 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bge _080BE70C - adds r0, 0x3F -_080BE70C: - asrs r0, 6 - strh r0, [r3, 0x26] - adds r0, r4, 0 - adds r0, 0x8 - strh r0, [r3, 0x32] - ldr r1, [r5] - ldr r3, =0x0000064f - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, 0 - bne _080BE748 - adds r3, 0x3 - adds r0, r1, r3 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080BE748 - ldrb r1, [r2] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _080BE748 - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - b _080BE74E - .pool -_080BE748: - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 -_080BE74E: - strb r0, [r2] -_080BE750: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80BE658 - - thumb_func_start sub_80BE758 -sub_80BE758: @ 80BE758 - push {lr} - adds r1, r0, 0 - ldr r0, =gUnknown_02039B4C - ldr r0, [r0] - ldr r2, =0x0000064a - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _080BE774 - cmp r0, 0x3 - beq _080BE774 - adds r0, r1, 0 - bl DestroySprite -_080BE774: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BE758 - - thumb_func_start sub_80BE780 -sub_80BE780: @ 80BE780 - push {r4-r7,lr} - sub sp, 0x4 - adds r6, r0, 0 - ldr r1, =gUnknown_02039B4C - ldr r0, [r1] - ldr r2, =0x0000064a - adds r0, r2 - ldrb r0, [r0] - adds r7, r1, 0 - cmp r0, 0 - beq _080BE7AC - cmp r0, 0x3 - beq _080BE7AC - adds r0, r6, 0 - bl DestroySprite - b _080BE824 - .pool -_080BE7AC: - ldr r0, [r7] - ldr r5, =0x0000062c - adds r0, r5 - ldrb r1, [r0] - ldrh r0, [r6, 0x30] - adds r1, r0 - lsls r1, 24 - lsrs r1, 24 - ldr r4, =gSineTable - lsls r0, r1, 1 - adds r0, r4 - ldrh r3, [r0] - adds r1, 0x40 - lsls r1, 1 - adds r1, r4 - ldrh r0, [r6, 0x2E] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r1] - lsls r3, 16 - lsrs r2, r3, 16 - negs r3, r3 - lsrs r3, 16 - str r1, [sp] - bl SetOamMatrix - ldr r1, [r7] - adds r1, r5 - ldrh r0, [r6, 0x30] - adds r0, 0x40 - ldrb r1, [r1] - adds r0, r1 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r4 - ldrh r3, [r1] - adds r0, 0x40 - lsls r0, 1 - adds r0, r4 - movs r2, 0 - ldrsh r1, [r0, r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - cmp r0, 0 - bge _080BE80C - adds r0, 0xFF -_080BE80C: - asrs r0, 8 - strh r0, [r6, 0x24] - lsls r1, r3, 16 - asrs r1, 16 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - cmp r0, 0 - bge _080BE820 - adds r0, 0xFF -_080BE820: - asrs r0, 8 - strh r0, [r6, 0x26] -_080BE824: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BE780 - - thumb_func_start sub_80BE834 -sub_80BE834: @ 80BE834 - push {r4,lr} - adds r3, r0, 0 - ldr r1, =gUnknown_02039B4C - ldr r0, [r1] - ldr r2, =0x0000064a - adds r0, r2 - ldrb r2, [r0] - cmp r2, 0 - beq _080BE85C - cmp r2, 0x3 - beq _080BE85C - adds r0, r3, 0 - bl DestroySprite - b _080BE8D4 - .pool -_080BE85C: - ldr r4, [r1] - ldr r1, =0x0000064a - adds r0, r4, r1 - ldrb r0, [r0] - movs r1, 0x60 - cmp r0, 0 - bne _080BE86C - movs r1, 0x50 -_080BE86C: - ldr r2, =0x0000064f - adds r0, r4, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _080BE8C8 - adds r2, 0x3 - adds r0, r4, r2 - movs r2, 0 - ldrsh r0, [r0, r2] - cmp r0, r1 - bne _080BE8C8 - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - movs r1, 0xCA - lsls r1, 3 - adds r0, r4, r1 - ldrh r0, [r0] - lsls r0, 4 - strh r0, [r3, 0x26] - ldr r1, =gSineTable - ldrh r2, [r3, 0x32] - lsls r0, r2, 24 - lsrs r0, 23 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bge _080BE8B0 - adds r0, 0x3F -_080BE8B0: - asrs r0, 6 - strh r0, [r3, 0x24] - adds r0, r2, 0 - adds r0, 0x8 - strh r0, [r3, 0x32] - b _080BE8D4 - .pool -_080BE8C8: - adds r0, r3, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_080BE8D4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80BE834 - - thumb_func_start sub_80BE8DC -sub_80BE8DC: @ 80BE8DC - push {r4,r5,lr} - sub sp, 0x18 - adds r5, r1, 0 - adds r3, r2, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r3, 24 - lsrs r3, 24 - add r1, sp, 0x14 - movs r4, 0 - strb r4, [r1] - adds r2, r1, 0 - movs r1, 0xF - strb r1, [r2, 0x1] - movs r1, 0x3 - strb r1, [r2, 0x2] - str r4, [sp] - str r4, [sp, 0x4] - str r2, [sp, 0x8] - subs r1, 0x4 - str r1, [sp, 0xC] - str r0, [sp, 0x10] - movs r0, 0 - movs r1, 0x1 - adds r2, r5, 0 - bl AddTextPrinterParameterized2 - add sp, 0x18 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80BE8DC - - thumb_func_start sub_80BE91C -sub_80BE91C: @ 80BE91C - push {r4,r5,lr} - lsls r4, r1, 24 - lsrs r4, 24 - ldr r1, =gUnknown_02039B54 - str r0, [r1] - ldr r0, =sub_80BEA24 - movs r1, 0 - bl CreateTask - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r2, 0 - strh r2, [r0, 0x8] - movs r1, 0x1 - strh r1, [r0, 0xA] - strh r2, [r0, 0xC] - strh r2, [r0, 0xE] - strh r4, [r0, 0x10] - movs r1, 0xFF - strh r1, [r0, 0x12] - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_0856E630 - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - movs r4, 0x80 - lsls r4, 4 - adds r0, r4, 0 - bl AllocZeroed - adds r1, r0, 0 - movs r0, 0x3 - bl SetBgTilemapBuffer - adds r0, r4, 0 - bl AllocZeroed - adds r1, r0, 0 - movs r0, 0x2 - bl SetBgTilemapBuffer - adds r0, r4, 0 - bl AllocZeroed - adds r1, r0, 0 - movs r0, 0x1 - bl SetBgTilemapBuffer - adds r0, r4, 0 - bl AllocZeroed - adds r1, r0, 0 - movs r0, 0 - bl SetBgTilemapBuffer - ldr r0, =gUnknown_0856E640 - bl InitWindows - bl DeactivateAllTextPrinters - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80BE91C - - thumb_func_start sub_80BE9C4 -sub_80BE9C4: @ 80BE9C4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _080BE9F0 - ldr r1, [r1] - ldr r0, =sub_80BEDF4 - cmp r1, r0 - bne _080BE9F0 - movs r0, 0 - b _080BE9F2 - .pool -_080BE9F0: - movs r0, 0x1 -_080BE9F2: - pop {r1} - bx r1 - thumb_func_end sub_80BE9C4 - - thumb_func_start sub_80BE9F8 -sub_80BE9F8: @ 80BE9F8 - adds r2, r0, 0 - lsls r0, r1, 24 - lsrs r0, 24 - ldr r1, =gUnknown_02039B54 - str r2, [r1] - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r3, 0 - movs r2, 0x1 - strh r2, [r1, 0x8] - strh r3, [r1, 0xA] - strh r3, [r1, 0xC] - strh r3, [r1, 0xE] - bx lr - .pool - thumb_func_end sub_80BE9F8 - - thumb_func_start sub_80BEA24 -sub_80BEA24: @ 80BEA24 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r1, r2 - ldrb r0, [r0] - adds r5, r1, 0 - cmp r0, 0xA - bhi _080BEA7C - lsls r0, 2 - ldr r1, =_080BEA50 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080BEA50: - .4byte _080BEA7C - .4byte _080BEAF0 - .4byte _080BEB50 - .4byte _080BEB90 - .4byte _080BEB98 - .4byte _080BEC08 - .4byte _080BEC60 - .4byte _080BECBC - .4byte _080BED04 - .4byte _080BED5E - .4byte _080BED7C -_080BEA7C: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080BEA8A - b _080BEDA0 -_080BEA8A: - ldr r0, =gUnknown_02039B4C - ldr r0, [r0] - ldr r3, =0x0000064a - adds r0, r3 - movs r6, 0x1 - strb r6, [r0] - ldr r1, =gUnknown_030060B4 - ldr r0, [r5, 0xC] - str r0, [r1] - movs r0, 0 - bl SetVBlankCallback - movs r2, 0 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r1 - movs r3, 0xA - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _080BEABA - movs r2, 0x80 - lsls r2, 5 -_080BEABA: - movs r3, 0xC - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _080BEACA - movs r1, 0x80 - lsls r1, 2 - adds r0, r1, 0 - orrs r2, r0 -_080BEACA: - adds r0, r2, 0 - bl sub_80C09B0 - movs r2, 0x87 - lsls r2, 3 - adds r0, r5, r2 - strb r6, [r0] - b _080BEDA0 - .pool -_080BEAF0: - ldr r1, =gPokedexMenu_Gfx - movs r2, 0x80 - lsls r2, 6 - movs r0, 0 - str r0, [sp] - movs r0, 0x3 - movs r3, 0 - bl copy_decompressed_tile_data_to_vram_autofree - ldr r1, =gUnknown_08DC3080 - movs r0, 0x3 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0 - bl PutWindowTilemap - movs r0, 0x1 - bl PutWindowTilemap - ldr r0, =gUnknown_02039B54 - ldr r0, [r0] - ldrh r1, [r0] - movs r0, 0x1 - bl sub_80C0D30 - movs r0, 0x1 - movs r1, 0x2 - bl CopyWindowToVram - ldr r1, =gMain - movs r3, 0x87 - lsls r3, 3 - adds r1, r3 - b _080BED70 - .pool -_080BEB50: - movs r0, 0xD - bl sub_80BFCDC - ldr r4, =gUnknown_02039B4C - ldr r0, [r4] - ldr r1, =0x0000064d - adds r0, r1 - ldrb r0, [r0] - movs r1, 0xD - bl sub_80BFD0C - ldr r0, [r4] - ldr r2, =0x0000064c - adds r0, r2 - ldrb r0, [r0] - lsls r0, 31 - lsrs r0, 31 - bl sub_80BC844 - ldr r1, =gMain - movs r3, 0x87 - lsls r3, 3 - adds r1, r3 - b _080BED70 - .pool -_080BEB90: - movs r0, 0x87 - lsls r0, 3 - adds r1, r5, r0 - b _080BED70 -_080BEB98: - ldr r4, =gUnknown_02039B54 - ldr r3, [r4] - ldrh r0, [r3] - ldr r1, =gUnknown_02039B4C - ldr r1, [r1] - ldr r2, =0x00000612 - adds r1, r2 - ldrh r2, [r1] - negs r1, r2 - orrs r1, r2 - lsrs r1, 31 - ldr r2, [r3] - lsls r2, 14 - lsrs r2, 31 - movs r3, 0 - bl sub_80C020C - ldr r0, [r4] - ldrb r1, [r0, 0x2] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _080BEBD0 - ldr r0, =gPlttBufferUnfaded + 2 - movs r1, 0x31 - movs r2, 0x1E - bl LoadPalette -_080BEBD0: - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - ldr r1, =gMain - movs r3, 0x87 - lsls r3, 3 - adds r1, r3 - b _080BED70 - .pool -_080BEC08: - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r4, r1, r0 - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080BEC44 - ldr r0, =gUnknown_02039B54 - ldr r0, [r0] - ldrh r0, [r0] - movs r1, 0x30 - movs r2, 0x38 - movs r3, 0 - bl sub_80C0E9C - strh r0, [r4, 0x10] - ldr r2, =gSprites - movs r3, 0x10 - ldrsh r0, [r4, r3] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x5] -_080BEC44: - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _080BED70 - .pool -_080BEC60: - movs r3, 0 - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - movs r2, 0xC - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _080BEC76 - movs r3, 0x14 -_080BEC76: - movs r2, 0xA - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _080BEC98 - ldr r2, =gSprites - movs r0, 0x10 - ldrsh r1, [r1, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x5] - lsrs r1, 4 - adds r1, 0x10 - movs r0, 0x1 - lsls r0, r1 - orrs r3, r0 -_080BEC98: - mvns r0, r3 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, =gUnknown_030060B4 - ldr r0, [r0] - bl SetVBlankCallback - b _080BED68 - .pool -_080BECBC: - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl HideBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg - ldr r1, =gMain - movs r3, 0x87 - lsls r3, 3 - adds r1, r3 - b _080BED70 - .pool -_080BED04: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080BEDA0 - movs r0, 0x87 - lsls r0, 3 - adds r2, r5, r0 - ldrb r0, [r2] - adds r3, r0, 0x1 - strb r3, [r2] - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0xE - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080BED58 - bl StopCryAndClearCrySongs - ldr r0, =gUnknown_02039B54 - ldr r0, [r0] - ldrh r0, [r0] - bl NationalPokedexNumToSpecies - lsls r0, 16 - lsrs r0, 16 - movs r1, 0 - movs r2, 0x7D - movs r3, 0xA - bl PlayCry2 - b _080BEDA0 - .pool -_080BED58: - adds r0, r3, 0x1 - strb r0, [r2] - b _080BEDA0 -_080BED5E: - bl IsCryPlayingOrClearCrySongs - lsls r0, 24 - cmp r0, 0 - bne _080BEDA0 -_080BED68: - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 -_080BED70: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080BEDA0 - .pool -_080BED7C: - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r2, 0 - movs r1, 0 - strh r1, [r0, 0x8] - strh r1, [r0, 0xA] - movs r1, 0x1 - strh r1, [r0, 0xC] - strh r1, [r0, 0xE] - ldr r1, =sub_80BEDF4 - str r1, [r0] - movs r3, 0x87 - lsls r3, 3 - adds r0, r5, r3 - strb r2, [r0] -_080BEDA0: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BEA24 - - thumb_func_start sub_80BEDB0 -sub_80BEDB0: @ 80BEDB0 - push {lr} - bl FreeAllWindowBuffers - movs r0, 0 - bl GetBgTilemapBuffer - cmp r0, 0 - beq _080BEDC4 - bl Free -_080BEDC4: - movs r0, 0x1 - bl GetBgTilemapBuffer - cmp r0, 0 - beq _080BEDD2 - bl Free -_080BEDD2: - movs r0, 0x2 - bl GetBgTilemapBuffer - cmp r0, 0 - beq _080BEDE0 - bl Free -_080BEDE0: - movs r0, 0x3 - bl GetBgTilemapBuffer - cmp r0, 0 - beq _080BEDEE - bl Free -_080BEDEE: - pop {r0} - bx r0 - thumb_func_end sub_80BEDB0 - - thumb_func_start sub_80BEDF4 -sub_80BEDF4: @ 80BEDF4 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - movs r0, 0x8 - ldrsh r5, [r4, r0] - cmp r5, 0 - beq _080BEE34 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =sub_80BF038 - str r0, [r4] - movs r0, 0x6C - bl PlaySE - b _080BEFBA - .pool -_080BEE34: - ldr r1, =gMain - ldrh r2, [r1, 0x2E] - movs r0, 0x2 - ands r0, r2 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0 - beq _080BEE50 - movs r0, 0x1 - negs r0, r0 - str r5, [sp] - b _080BEF0E - .pool -_080BEE50: - movs r0, 0x1 - ands r0, r2 - cmp r0, 0 - beq _080BEF28 - ldr r5, =gUnknown_02039B4C - ldr r0, [r5] - ldr r1, =0x0000064d - adds r0, r1 - ldrb r1, [r0] - cmp r1, 0x1 - beq _080BEEA0 - cmp r1, 0x1 - bgt _080BEE78 - cmp r1, 0 - beq _080BEE82 - b _080BEFBA - .pool -_080BEE78: - cmp r1, 0x2 - beq _080BEEC0 - cmp r1, 0x3 - beq _080BEF08 - b _080BEFBA -_080BEE82: - movs r0, 0x15 - negs r0, r0 - str r3, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, [r5] - ldr r3, =0x0000064e - adds r0, r3 - movs r1, 0x1 - b _080BEEF0 - .pool -_080BEEA0: - movs r0, 0x15 - negs r0, r0 - str r3, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, [r5] - ldr r1, =0x0000064e - adds r0, r1 - movs r1, 0x2 - b _080BEEF0 - .pool -_080BEEC0: - ldr r0, =gUnknown_02039B54 - ldr r0, [r0] - ldrb r0, [r0, 0x2] - ands r1, r0 - cmp r1, 0 - bne _080BEED8 - movs r0, 0x20 - bl PlaySE - b _080BEFBA - .pool -_080BEED8: - movs r0, 0x15 - negs r0, r0 - str r3, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, [r5] - ldr r3, =0x0000064e - adds r0, r3 - movs r1, 0x3 -_080BEEF0: - strb r1, [r0] - ldr r0, =sub_80BEFD0 - str r0, [r4] - movs r0, 0x15 - bl PlaySE - b _080BEFBA - .pool -_080BEF08: - movs r0, 0x1 - negs r0, r0 - str r3, [sp] -_080BEF0E: - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =sub_80BF070 - str r0, [r4] - movs r0, 0x3 - bl PlaySE - b _080BEFBA - .pool -_080BEF28: - movs r0, 0x20 - ands r0, r2 - cmp r0, 0 - bne _080BEF44 - movs r0, 0x80 - lsls r0, 2 - ands r0, r2 - cmp r0, 0 - beq _080BEF78 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x13] - cmp r0, 0x1 - bne _080BEF78 -_080BEF44: - ldr r3, =gUnknown_02039B4C - ldr r0, [r3] - ldr r4, =0x0000064d - adds r2, r0, r4 - ldrb r0, [r2] - cmp r0, 0 - beq _080BEF78 - subs r0, 0x1 - strb r0, [r2] - ldr r0, [r3] - adds r0, r4 - ldrb r0, [r0] - movs r1, 0xD - bl sub_80BFD0C - movs r0, 0x6D - bl PlaySE - b _080BEFBA - .pool -_080BEF78: - ldrh r1, [r1, 0x2E] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _080BEF96 - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _080BEFBA - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x13] - cmp r0, 0x1 - bne _080BEFBA -_080BEF96: - ldr r2, =gUnknown_02039B4C - ldr r0, [r2] - ldr r3, =0x0000064d - adds r1, r0, r3 - ldrb r0, [r1] - cmp r0, 0x2 - bhi _080BEFBA - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r2] - adds r0, r3 - ldrb r0, [r0] - movs r1, 0xD - bl sub_80BFD0C - movs r0, 0x6D - bl PlaySE -_080BEFBA: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BEDF4 - - thumb_func_start sub_80BEFD0 -sub_80BEFD0: @ 80BEFD0 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080BF02C - ldr r1, =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r4, r0, r1 - ldrh r0, [r4, 0x10] - bl sub_818D820 - ldr r0, =gUnknown_02039B4C - ldr r0, [r0] - ldr r1, =0x0000064e - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x2 - beq _080BF020 - cmp r0, 0x2 - ble _080BF008 - cmp r0, 0x3 - beq _080BF028 -_080BF008: - ldr r0, =sub_80BF0AC - b _080BF02A - .pool -_080BF020: - ldr r0, =sub_80BF250 - b _080BF02A - .pool -_080BF028: - ldr r0, =sub_80BF82C -_080BF02A: - str r0, [r4] -_080BF02C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BEFD0 - - thumb_func_start sub_80BF038 -sub_80BF038: @ 80BF038 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080BF05E - ldr r0, =gTasks - lsls r4, r2, 2 - adds r4, r2 - lsls r4, 3 - adds r4, r0 - ldrh r0, [r4, 0x10] - bl sub_818D820 - ldr r0, =sub_80BEA24 - str r0, [r4] -_080BF05E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BF038 - - thumb_func_start sub_80BF070 -sub_80BF070: @ 80BF070 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080BF09C - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x10] - bl sub_818D820 - bl sub_80BEDB0 - adds r0, r4, 0 - bl DestroyTask -_080BF09C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BF070 - - thumb_func_start sub_80BF0AC -sub_80BF0AC: @ 80BF0AC - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r2, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r7, r2, r0 - ldrb r0, [r7] - cmp r0, 0x1 - beq _080BF120 - cmp r0, 0x1 - ble _080BF0C8 - cmp r0, 0x2 - beq _080BF15C -_080BF0C8: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _080BF196 - ldr r4, =gUnknown_02039B4C - ldr r0, [r4] - ldr r1, =0x0000064a - adds r0, r1 - movs r1, 0x5 - strb r1, [r0] - ldr r1, =gUnknown_030060B4 - ldr r0, [r2, 0xC] - str r0, [r1] - movs r0, 0 - bl SetVBlankCallback - movs r0, 0x80 - lsls r0, 2 - bl sub_80C09B0 - ldr r0, [r4] - ldr r1, =0x0000064d - adds r0, r1 - strb r5, [r0] - movs r0, 0x1 - strb r0, [r7] - b _080BF196 - .pool -_080BF120: - movs r0, 0xD - bl sub_80BFCF4 - movs r0, 0 - movs r1, 0xD - bl sub_80BFD7C - ldr r0, =gUnknown_02039B4C - ldr r0, [r0] - ldr r1, =0x0000064c - adds r0, r1 - ldrb r0, [r0] - lsls r0, 31 - lsrs r0, 31 - bl sub_80BC844 - movs r1, 0xD0 - lsls r1, 4 - movs r0, 0xA - bl SetGpuReg - ldrb r0, [r7] - adds r0, 0x1 - strb r0, [r7] - b _080BF196 - .pool -_080BF15C: - ldr r0, =gUnknown_02039B54 - ldr r0, [r0] - ldrh r0, [r0] - bl NationalPokedexNumToSpecies - lsls r0, 16 - lsrs r0, 16 - ldr r5, =gUnknown_02039B4C - ldr r1, [r5] - ldr r4, =0x0000064e - adds r1, r4 - bl sub_813D3D8 - ldr r0, =gUnknown_030060B4 - ldr r0, [r0] - bl SetVBlankCallback - ldr r0, [r5] - adds r0, r4 - movs r1, 0 - strb r1, [r0] - strb r1, [r7] - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_80BF1B4 - str r1, [r0] -_080BF196: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BF0AC - - thumb_func_start sub_80BF1B4 -sub_80BF1B4: @ 80BF1B4 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gUnknown_02039B4C - ldr r0, [r0] - ldr r1, =0x0000064e - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _080BF1D6 - ldr r0, =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80BF1EC - str r0, [r1] -_080BF1D6: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BF1B4 - - thumb_func_start sub_80BF1EC -sub_80BF1EC: @ 80BF1EC - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080BF242 - ldr r0, =gUnknown_02039B4C - ldr r0, [r0] - ldr r1, =0x0000064e - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - beq _080BF210 - cmp r0, 0x2 - beq _080BF234 -_080BF210: - ldr r0, =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80BEA24 - b _080BF240 - .pool -_080BF234: - ldr r0, =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80BF250 -_080BF240: - str r0, [r1] -_080BF242: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BF1EC - - thumb_func_start sub_80BF250 -sub_80BF250: @ 80BF250 - push {r4,r5,lr} - sub sp, 0x14 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r1, r2 - ldrb r0, [r0] - adds r2, r1, 0 - cmp r0, 0xA - bhi _080BF2A8 - lsls r0, 2 - ldr r1, =_080BF27C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080BF27C: - .4byte _080BF2A8 - .4byte _080BF310 - .4byte _080BF360 - .4byte _080BF38C - .4byte _080BF3A0 - .4byte _080BF3D0 - .4byte _080BF41C - .4byte _080BF498 - .4byte _080BF514 - .4byte _080BF540 - .4byte _080BF590 -_080BF2A8: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080BF2B6 - b _080BF5B2 -_080BF2B6: - ldr r0, =gMPlayInfo_BGM - bl m4aMPlayStop - ldr r5, =gUnknown_02039B4C - ldr r0, [r5] - ldr r3, =0x0000064a - adds r0, r3 - movs r1, 0x6 - strb r1, [r0] - ldr r1, =gUnknown_030060B4 - ldr r4, =gMain - ldr r0, [r4, 0xC] - str r0, [r1] - movs r0, 0 - bl SetVBlankCallback - movs r0, 0x80 - lsls r0, 2 - bl sub_80C09B0 - ldr r0, [r5] - ldr r1, =0x0000064d - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - movs r2, 0x87 - lsls r2, 3 - adds r4, r2 - strb r1, [r4] - b _080BF5B2 - .pool -_080BF310: - ldr r1, =gPokedexMenu_Gfx - movs r2, 0x80 - lsls r2, 6 - movs r0, 0 - str r0, [sp] - movs r0, 0x3 - movs r3, 0 - bl copy_decompressed_tile_data_to_vram_autofree - ldr r1, =gUnknown_08DC3198 - movs r0, 0x3 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0 - bl PutWindowTilemap - movs r0, 0x3 - bl PutWindowTilemap - movs r0, 0x2 - bl PutWindowTilemap - ldr r1, =gMain - movs r3, 0x87 - lsls r3, 3 - adds r1, r3 - b _080BF582 - .pool -_080BF360: - movs r0, 0xD - bl sub_80BFCF4 - movs r0, 0x1 - movs r1, 0xD - bl sub_80BFD7C - ldr r0, =gUnknown_02039B4C - ldr r0, [r0] - ldr r4, =0x0000064c - adds r0, r4 - ldrb r0, [r0] - lsls r0, 31 - lsrs r0, 31 - bl sub_80BC844 - b _080BF57A - .pool -_080BF38C: - bl ResetPaletteFade - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _080BF582 - .pool -_080BF3A0: - ldr r0, =gText_CryOf - movs r1, 0x52 - movs r2, 0x21 - bl sub_80BE8DC - ldr r0, =gUnknown_02039B54 - ldr r0, [r0] - ldrh r1, [r0] - movs r0, 0 - movs r2, 0x52 - movs r3, 0x31 - bl sub_80C0B44 - ldr r1, =gMain - movs r3, 0x87 - lsls r3, 3 - adds r1, r3 - b _080BF582 - .pool -_080BF3D0: - ldr r0, =gUnknown_02039B54 - ldr r0, [r0] - ldrh r0, [r0] - movs r1, 0x30 - movs r2, 0x38 - movs r3, 0 - bl sub_80C0E9C - ldr r2, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r2 - movs r3, 0 - strh r0, [r1, 0x10] - ldr r2, =gSprites - movs r4, 0x10 - ldrsh r0, [r1, r4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x5] - ldr r0, =gUnknown_030061EC - strb r3, [r0] - b _080BF57A - .pool -_080BF41C: - ldr r1, =0xffff0000 - ldr r0, [sp, 0x4] - ands r0, r1 - ldr r1, =0x00004020 - orrs r0, r1 - ldr r1, =0xff00ffff - ands r0, r1 - movs r1, 0xF8 - lsls r1, 13 - orrs r0, r1 - ldr r1, =0x00ffffff - ands r0, r1 - movs r1, 0x80 - lsls r1, 20 - orrs r0, r1 - str r0, [sp, 0x4] - ldr r1, =0xffff00ff - ldr r0, [sp, 0x8] - ands r0, r1 - movs r1, 0xF0 - lsls r1, 5 - orrs r0, r1 - ldr r1, =0xffffff00 - ands r0, r1 - movs r1, 0xC - orrs r0, r1 - str r0, [sp, 0x8] - add r0, sp, 0x4 - movs r1, 0x2 - bl sub_8145354 - lsls r0, 24 - cmp r0, 0 - bne _080BF462 - b _080BF5B2 -_080BF462: - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - ldrb r0, [r1] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1] - ldr r0, =gUnknown_030061EC - strb r2, [r0] - b _080BF5B2 - .pool -_080BF498: - ldr r1, =0x00ffffff - ldr r0, [sp, 0xC] - ands r0, r1 - movs r1, 0x90 - lsls r1, 20 - orrs r0, r1 - str r0, [sp, 0xC] - ldr r2, =0xffffff00 - add r0, sp, 0xC - ldr r1, [r0, 0x4] - ands r1, r2 - movs r2, 0x12 - orrs r1, r2 - ldr r2, =0xffff00ff - ands r1, r2 - movs r2, 0xC0 - lsls r2, 2 - orrs r1, r2 - str r1, [r0, 0x4] - movs r1, 0x3 - bl sub_8145850 - lsls r0, 24 - cmp r0, 0 - beq _080BF4D8 - ldr r1, =gMain - movs r3, 0x87 - lsls r3, 3 - adds r1, r3 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_080BF4D8: - movs r0, 0x3 - movs r1, 0x2 - bl CopyWindowToVram - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - movs r0, 0 - bl CopyBgTilemapBufferToVram - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - b _080BF5B2 - .pool -_080BF514: - movs r0, 0x15 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, =gUnknown_030060B4 - ldr r0, [r0] - bl SetVBlankCallback - ldr r1, =gMain - movs r4, 0x87 - lsls r4, 3 - adds r1, r4 - b _080BF582 - .pool -_080BF540: - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg -_080BF57A: - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 -_080BF582: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080BF5B2 - .pool -_080BF590: - ldr r0, =gUnknown_02039B4C - ldr r0, [r0] - ldr r1, =0x0000064e - adds r0, r1 - movs r1, 0 - strb r1, [r0] - movs r3, 0x87 - lsls r3, 3 - adds r0, r2, r3 - strb r1, [r0] - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_80BF5CC - str r1, [r0] -_080BF5B2: - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BF250 - - thumb_func_start sub_80BF5CC -sub_80BF5CC: @ 80BF5CC - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x2 - bl sub_814545C - bl IsCryPlaying - lsls r0, 24 - cmp r0, 0 - beq _080BF5EC - movs r0, 0x1 - bl sub_80BF7FC - b _080BF5F2 -_080BF5EC: - movs r0, 0 - bl sub_80BF7FC -_080BF5F2: - ldr r1, =gMain - ldrh r2, [r1, 0x2E] - movs r0, 0x1 - ands r0, r2 - adds r5, r1, 0 - cmp r0, 0 - beq _080BF624 - movs r0, 0x1 - bl sub_80BF7FC - ldr r0, =gUnknown_02039B54 - ldr r0, [r0] - ldrh r0, [r0] - bl NationalPokedexNumToSpecies - lsls r0, 16 - lsrs r0, 16 - bl sub_8145534 - b _080BF772 - .pool -_080BF624: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _080BF636 - b _080BF772 -_080BF636: - movs r0, 0x2 - ands r0, r2 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0 - beq _080BF694 - movs r0, 0x15 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =gMPlayInfo_BGM - bl m4aMPlayContinue - ldr r0, =gUnknown_02039B4C - ldr r0, [r0] - ldr r1, =0x0000064e - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_80BF790 - str r1, [r0] - movs r0, 0x3 - bl PlaySE - b _080BF772 - .pool -_080BF694: - movs r0, 0x20 - ands r0, r2 - cmp r0, 0 - bne _080BF6B0 - movs r0, 0x80 - lsls r0, 2 - ands r0, r2 - cmp r0, 0 - beq _080BF700 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x13] - cmp r0, 0x1 - bne _080BF700 -_080BF6B0: - movs r0, 0x15 - negs r0, r0 - str r3, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =gMPlayInfo_BGM - bl m4aMPlayContinue - ldr r0, =gUnknown_02039B4C - ldr r0, [r0] - ldr r1, =0x0000064e - adds r0, r1 - movs r1, 0x2 - strb r1, [r0] - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_80BF790 - str r1, [r0] - movs r0, 0x6D - bl PlaySE - b _080BF772 - .pool -_080BF700: - ldrh r1, [r5, 0x2E] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _080BF71E - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _080BF772 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x13] - cmp r0, 0x1 - bne _080BF772 -_080BF71E: - ldr r0, =gUnknown_02039B54 - ldr r0, [r0] - ldrb r1, [r0, 0x2] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _080BF73C - movs r0, 0x20 - bl PlaySE - b _080BF772 - .pool -_080BF73C: - movs r0, 0x15 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =gMPlayInfo_BGM - bl m4aMPlayContinue - ldr r0, =gUnknown_02039B4C - ldr r0, [r0] - ldr r1, =0x0000064e - adds r0, r1 - movs r1, 0x3 - strb r1, [r0] - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_80BF790 - str r1, [r0] - movs r0, 0x6D - bl PlaySE -_080BF772: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BF5CC - - thumb_func_start sub_80BF790 -sub_80BF790: @ 80BF790 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080BF7F0 - bl sub_8145914 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r4, r0, r1 - ldrh r0, [r4, 0x10] - bl sub_818D820 - ldr r0, =gUnknown_02039B4C - ldr r0, [r0] - ldr r1, =0x0000064e - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x2 - beq _080BF7E4 - cmp r0, 0x2 - ble _080BF7CC - cmp r0, 0x3 - beq _080BF7EC -_080BF7CC: - ldr r0, =sub_80BEA24 - b _080BF7EE - .pool -_080BF7E4: - ldr r0, =sub_80BF0AC - b _080BF7EE - .pool -_080BF7EC: - ldr r0, =sub_80BF82C -_080BF7EE: - str r0, [r4] -_080BF7F0: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BF790 - - thumb_func_start sub_80BF7FC -sub_80BF7FC: @ 80BF7FC - push {lr} - sub sp, 0x4 - lsls r0, 24 - cmp r0, 0 - beq _080BF810 - ldr r1, =0x00000392 - b _080BF812 - .pool -_080BF810: - ldr r1, =0x000002af -_080BF812: - mov r0, sp - strh r1, [r0] - mov r0, sp - movs r1, 0x5D - movs r2, 0x2 - bl LoadPalette - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BF7FC - - thumb_func_start sub_80BF82C -sub_80BF82C: @ 80BF82C - push {r4-r7,lr} - sub sp, 0x44 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r1, r2 - ldrb r0, [r0] - adds r5, r1, 0 - cmp r0, 0x9 - bhi _080BF880 - lsls r0, 2 - ldr r1, =_080BF858 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080BF858: - .4byte _080BF880 - .4byte _080BF8D8 - .4byte _080BF910 - .4byte _080BF93C - .4byte _080BF97C - .4byte _080BF982 - .4byte _080BFA34 - .4byte _080BFAE8 - .4byte _080BFB14 - .4byte _080BFB64 -_080BF880: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080BF88E - b _080BFB94 -_080BF88E: - ldr r4, =gUnknown_02039B4C - ldr r0, [r4] - ldr r1, =0x0000064a - adds r0, r1 - movs r1, 0x7 - strb r1, [r0] - ldr r1, =gUnknown_030060B4 - ldr r0, [r5, 0xC] - str r0, [r1] - movs r0, 0 - bl SetVBlankCallback - movs r0, 0x80 - lsls r0, 2 - bl sub_80C09B0 - ldr r0, [r4] - ldr r2, =0x0000064d - adds r0, r2 - movs r1, 0x2 - strb r1, [r0] - movs r0, 0x87 - lsls r0, 3 - adds r1, r5, r0 - movs r0, 0x1 - strb r0, [r1] - b _080BFB94 - .pool -_080BF8D8: - ldr r1, =gPokedexMenu_Gfx - movs r2, 0x80 - lsls r2, 6 - movs r0, 0 - str r0, [sp] - movs r0, 0x3 - movs r3, 0 - bl copy_decompressed_tile_data_to_vram_autofree - ldr r1, =gUnknown_08DC2E6C - movs r0, 0x3 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0 - bl PutWindowTilemap - b _080BFB4E - .pool -_080BF910: - movs r0, 0xD - bl sub_80BFCF4 - movs r0, 0x2 - movs r1, 0xD - bl sub_80BFD7C - ldr r0, =gUnknown_02039B4C - ldr r0, [r0] - ldr r1, =0x0000064c - adds r0, r1 - ldrb r0, [r0] - lsls r0, 31 - lsrs r0, 31 - bl sub_80BC844 - b _080BFB4E - .pool -_080BF93C: - ldr r1, =gText_SizeComparedTo - add r0, sp, 0x4 - bl StringCopy - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - add r0, sp, 0x4 - bl StringAppend - movs r0, 0x1 - add r1, sp, 0x4 - movs r2, 0xF0 - bl GetStringCenterAlignXOffset - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - add r0, sp, 0x4 - movs r2, 0x79 - bl sub_80BE8DC - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _080BFB56 - .pool -_080BF97C: - bl ResetPaletteFade - b _080BFB4E -_080BF982: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - bl PlayerGenderToFrontTrainerPicId - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x98 - movs r2, 0x38 - movs r3, 0 - bl sub_80C0EF8 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, =gSprites - lsls r4, r6, 4 - adds r4, r6 - lsls r4, 2 - adds r4, r0 - ldrb r1, [r4, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r4, 0x1] - ldrb r1, [r4, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4, 0x3] - ldrb r1, [r4, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x5] - ldr r2, =gPokedexEntries - ldr r0, =gUnknown_02039B54 - ldr r1, [r0] - ldrh r0, [r1] - lsls r0, 5 - adds r0, r2 - ldrh r0, [r0, 0x1C] - strh r0, [r4, 0x26] - ldrh r0, [r1] - lsls r0, 5 - adds r0, r2 - ldrh r1, [r0, 0x1A] - str r1, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl SetOamMatrix - ldr r0, =gUnknown_0856E610 - ldrb r1, [r4, 0x5] - lsrs r1, 4 - adds r1, 0x10 - lsls r1, 4 - movs r2, 0x20 - bl LoadPalette - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - strh r6, [r0, 0x12] - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _080BFB56 - .pool -_080BFA34: - ldr r5, =gUnknown_02039B54 - ldr r0, [r5] - ldrh r0, [r0] - movs r1, 0x58 - movs r2, 0x38 - movs r3, 0x1 - bl sub_80C0E9C - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, =gSprites - lsls r4, r6, 4 - adds r4, r6 - lsls r4, 2 - adds r4, r0 - ldrb r1, [r4, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r4, 0x1] - ldrb r1, [r4, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r4, 0x3] - ldrb r1, [r4, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x5] - ldr r2, =gPokedexEntries - ldr r1, [r5] - ldrh r0, [r1] - lsls r0, 5 - adds r0, r2 - ldrh r0, [r0, 0x18] - strh r0, [r4, 0x26] - ldrh r0, [r1] - lsls r0, 5 - adds r0, r2 - ldrh r1, [r0, 0x16] - str r1, [sp] - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl SetOamMatrix - ldr r0, =gUnknown_0856E610 - ldrb r1, [r4, 0x5] - lsrs r1, 4 - adds r1, 0x10 - lsls r1, 4 - movs r2, 0x20 - bl LoadPalette - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - strh r6, [r0, 0x10] - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - b _080BFB4E - .pool -_080BFAE8: - movs r0, 0x15 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, =gUnknown_030060B4 - ldr r0, [r0] - bl SetVBlankCallback - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _080BFB56 - .pool -_080BFB14: - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl HideBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg -_080BFB4E: - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 -_080BFB56: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080BFB94 - .pool -_080BFB64: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - bne _080BFB94 - ldr r0, =gUnknown_02039B4C - ldr r0, [r0] - ldr r1, =0x0000064e - adds r0, r1 - strb r2, [r0] - movs r1, 0x87 - lsls r1, 3 - adds r0, r5, r1 - strb r2, [r0] - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_80BFBB0 - str r1, [r0] -_080BFB94: - add sp, 0x44 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BF82C - - thumb_func_start sub_80BFBB0 -sub_80BFBB0: @ 80BFBB0 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0 - beq _080BFC10 - movs r0, 0x15 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =gUnknown_02039B4C - ldr r0, [r0] - ldr r1, =0x0000064e - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_80BFC78 - str r1, [r0] - movs r0, 0x3 - bl PlaySE - b _080BFC5C - .pool -_080BFC10: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - bne _080BFC2C - movs r0, 0x80 - lsls r0, 2 - ands r0, r1 - cmp r0, 0 - beq _080BFC5C - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x13] - cmp r0, 0x1 - bne _080BFC5C -_080BFC2C: - movs r0, 0x15 - negs r0, r0 - str r2, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =gUnknown_02039B4C - ldr r0, [r0] - ldr r1, =0x0000064e - adds r0, r1 - movs r1, 0x2 - strb r1, [r0] - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_80BFC78 - str r1, [r0] - movs r0, 0x6D - bl PlaySE -_080BFC5C: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BFBB0 - - thumb_func_start sub_80BFC78 -sub_80BFC78: @ 80BFC78 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080BFCD0 - ldr r1, =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r4, r0, r1 - ldrh r0, [r4, 0x10] - bl sub_818D820 - ldrh r0, [r4, 0x12] - bl sub_818D8F0 - ldr r0, =gUnknown_02039B4C - ldr r0, [r0] - ldr r1, =0x0000064e - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - beq _080BFCB2 - cmp r0, 0x2 - beq _080BFCCC -_080BFCB2: - ldr r0, =sub_80BEA24 - b _080BFCCE - .pool -_080BFCCC: - ldr r0, =sub_80BF250 -_080BFCCE: - str r0, [r4] -_080BFCD0: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BFC78 - - thumb_func_start sub_80BFCDC -sub_80BFCDC: @ 80BFCDC - push {lr} - ldr r1, =gUnknown_08DC2F5C - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BFCDC - - thumb_func_start sub_80BFCF4 -sub_80BFCF4: @ 80BFCF4 - push {lr} - ldr r1, =gUnknown_08DC2FEC - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BFCF4 - - thumb_func_start sub_80BFD0C -sub_80BFD0C: @ 80BFD0C - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r0, 0x1 - bl GetBgTilemapBuffer - adds r7, r0, 0 - movs r1, 0 -_080BFD22: - lsls r0, r1, 3 - subs r0, r1 - adds r0, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - movs r3, 0x80 - lsls r3, 7 - cmp r1, r8 - bne _080BFD38 - movs r3, 0x80 - lsls r3, 6 -_080BFD38: - movs r2, 0 - adds r6, r1, 0x1 - ldr r4, =0x00000fff -_080BFD3E: - adds r1, r5, r2 - lsls r1, 1 - adds r1, r7 - ldrh r0, [r1] - ands r0, r4 - orrs r0, r3 - strh r0, [r1] - adds r1, 0x40 - ldrh r0, [r1] - ands r0, r4 - orrs r0, r3 - strh r0, [r1] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x6 - bls _080BFD3E - lsls r0, r6, 24 - lsrs r1, r0, 24 - cmp r1, 0x3 - bls _080BFD22 - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BFD0C - - thumb_func_start sub_80BFD7C -sub_80BFD7C: @ 80BFD7C - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r0, 0x1 - bl GetBgTilemapBuffer - adds r7, r0, 0 - movs r1, 0 -_080BFD92: - lsls r0, r1, 3 - subs r0, r1 - adds r0, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r1, r8 - beq _080BFDA4 - cmp r1, 0x3 - bne _080BFDAA -_080BFDA4: - movs r3, 0x80 - lsls r3, 6 - b _080BFDAE -_080BFDAA: - movs r3, 0x80 - lsls r3, 7 -_080BFDAE: - movs r2, 0 - adds r5, r1, 0x1 - ldr r4, =0x00000fff -_080BFDB4: - adds r1, r6, r2 - lsls r1, 1 - adds r1, r7 - ldrh r0, [r1] - ands r0, r4 - orrs r0, r3 - strh r0, [r1] - adds r1, 0x40 - ldrh r0, [r1] - ands r0, r4 - orrs r0, r3 - strh r0, [r1] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x6 - bls _080BFDB4 - lsls r0, r5, 24 - lsrs r1, r0, 24 - cmp r1, 0x3 - bls _080BFD92 - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BFD7C - - thumb_func_start CreateDexDisplayMonDataTask -CreateDexDisplayMonDataTask: @ 80BFDF4 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =sub_80BFE38 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - strh r2, [r1, 0x8] - strh r4, [r1, 0xA] - strh r5, [r1, 0x20] - lsrs r5, 16 - strh r5, [r1, 0x22] - strh r6, [r1, 0x24] - lsrs r6, 16 - strh r6, [r1, 0x26] - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end CreateDexDisplayMonDataTask - - thumb_func_start sub_80BFE38 -sub_80BFE38: @ 80BFE38 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldrh r4, [r0, 0xA] - movs r2, 0x8 - ldrsh r0, [r0, r2] - adds r2, r1, 0 - cmp r0, 0x6 - bhi _080BFE84 - lsls r0, 2 - ldr r1, =_080BFE68 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080BFE68: - .4byte _080BFE84 - .4byte _080BFF0C - .4byte _080BFF78 - .4byte _080BFF82 - .4byte _080BFFA8 - .4byte _080C0000 - .4byte _080C0044 -_080BFE84: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080BFE92 - b _080C0074 -_080BFE92: - ldr r1, =gUnknown_030060B4 - ldr r0, =gMain - ldr r0, [r0, 0xC] - str r0, [r1] - movs r0, 0 - bl SetVBlankCallback - movs r0, 0x80 - lsls r0, 1 - bl sub_80C09B0 - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_0856E668 - movs r0, 0 - movs r2, 0x2 - bl InitBgsFromTemplates - movs r4, 0x80 - lsls r4, 4 - adds r0, r4, 0 - bl AllocZeroed - adds r1, r0, 0 - movs r0, 0x3 - bl SetBgTilemapBuffer - adds r0, r4, 0 - bl AllocZeroed - adds r1, r0, 0 - movs r0, 0x2 - bl SetBgTilemapBuffer - ldr r0, =gUnknown_0856E670 - bl InitWindows - bl DeactivateAllTextPrinters - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0x1 - strh r1, [r0, 0x8] - b _080C0074 - .pool -_080BFF0C: - ldr r1, =gPokedexMenu_Gfx - movs r2, 0x80 - lsls r2, 6 - movs r0, 0 - str r0, [sp] - movs r0, 0x3 - movs r3, 0 - bl copy_decompressed_tile_data_to_vram_autofree - ldr r1, =gUnknown_08DC3080 - movs r0, 0x3 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0 - bl PutWindowTilemap - movs r0, 0x1 - bl PutWindowTilemap - ldr r0, =gTasks - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r0 - ldrh r1, [r4, 0xA] - movs r0, 0x1 - bl sub_80C0D30 - movs r0, 0x1 - movs r1, 0x2 - bl CopyWindowToVram - bl ResetPaletteFade - movs r0, 0 - bl sub_80BC844 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080C0074 - .pool -_080BFF78: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r2 - b _080C0038 -_080BFF82: - bl IsNationalPokedexEnabled - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0x1 - bl sub_80C020C - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - b _080C002E -_080BFFA8: - adds r0, r4, 0 - movs r1, 0x30 - movs r2, 0x38 - movs r3, 0 - bl sub_80C0E9C - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gSprites - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x5] - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, =gUnknown_030060B4 - ldr r0, [r0] - bl SetVBlankCallback - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - strh r4, [r0, 0xE] - b _080C0038 - .pool -_080C0000: - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg -_080C002E: - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 -_080C0038: - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - b _080C0074 - .pool -_080C0044: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0 - bne _080C0074 - adds r0, r4, 0 - bl NationalPokedexNumToSpecies - lsls r0, 16 - lsrs r0, 16 - movs r1, 0 - bl PlayCry1 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - strh r6, [r0, 0xC] - ldr r1, =sub_80C0088 - str r1, [r0] -_080C0074: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BFE38 - - thumb_func_start sub_80C0088 -sub_80C0088: @ 80C0088 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _080C00E8 - ldr r0, =0x0000ffff - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r3, =gSprites - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - movs r0, 0xE - ldrsh r2, [r1, r0] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r3, 0x1C - adds r0, r3 - ldr r2, =sub_80C01CC - str r2, [r0] - ldr r0, =blockset_load_palette_to_gpu - str r0, [r1] - b _080C011E - .pool -_080C00E8: - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0xC] - adds r1, 0x1 - strh r1, [r0, 0xC] - movs r0, 0x10 - ands r1, r0 - cmp r1, 0 - beq _080C0114 - ldr r0, =gPokedexText_Pal + 2 - movs r1, 0x31 - movs r2, 0xE - bl LoadPalette - b _080C011E - .pool -_080C0114: - ldr r0, =gPokedexCaughtScreenFade_Pal + 0x2 - movs r1, 0x31 - movs r2, 0xE - bl LoadPalette -_080C011E: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C0088 - - thumb_func_start blockset_load_palette_to_gpu -blockset_load_palette_to_gpu: @ 80C012C - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080C01BA - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - bl FreeAllWindowBuffers - movs r0, 0x2 - bl GetBgTilemapBuffer - cmp r0, 0 - beq _080C015A - bl Free -_080C015A: - movs r0, 0x3 - bl GetBgTilemapBuffer - cmp r0, 0 - beq _080C0168 - bl Free -_080C0168: - ldr r0, =gTasks - lsls r4, r6, 2 - adds r4, r6 - lsls r4, 3 - adds r4, r0 - ldrh r0, [r4, 0xA] - bl NationalPokedexNumToSpecies - lsls r0, 16 - lsrs r0, 16 - ldrh r1, [r4, 0x22] - lsls r1, 16 - ldrh r2, [r4, 0x20] - orrs r1, r2 - ldrh r2, [r4, 0x26] - lsls r2, 16 - ldrh r3, [r4, 0x24] - orrs r2, r3 - ldr r5, =gSprites - movs r3, 0xE - ldrsh r4, [r4, r3] - lsls r3, r4, 4 - adds r3, r4 - lsls r3, 2 - adds r3, r5 - ldrb r4, [r3, 0x5] - lsrs r4, 4 - bl GetFrontSpritePalFromSpeciesAndPersonality - lsls r4, 4 - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - orrs r4, r1 - adds r1, r4, 0 - movs r2, 0x20 - bl LoadCompressedPalette - adds r0, r6, 0 - bl DestroyTask -_080C01BA: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end blockset_load_palette_to_gpu - - thumb_func_start sub_80C01CC -sub_80C01CC: @ 80C01CC - push {lr} - adds r1, r0, 0 - ldrh r2, [r1, 0x20] - movs r3, 0x20 - ldrsh r0, [r1, r3] - cmp r0, 0x77 - bgt _080C01DE - adds r0, r2, 0x2 - strh r0, [r1, 0x20] -_080C01DE: - ldrh r2, [r1, 0x20] - movs r3, 0x20 - ldrsh r0, [r1, r3] - cmp r0, 0x78 - ble _080C01EC - subs r0, r2, 0x2 - strh r0, [r1, 0x20] -_080C01EC: - ldrh r2, [r1, 0x22] - movs r3, 0x22 - ldrsh r0, [r1, r3] - cmp r0, 0x4F - bgt _080C01FA - adds r0, r2, 0x1 - strh r0, [r1, 0x22] -_080C01FA: - ldrh r2, [r1, 0x22] - movs r3, 0x22 - ldrsh r0, [r1, r3] - cmp r0, 0x50 - ble _080C0208 - subs r0, r2, 0x1 - strh r0, [r1, 0x22] -_080C0208: - pop {r0} - bx r0 - thumb_func_end sub_80C01CC - - thumb_func_start sub_80C020C -sub_80C020C: @ 80C020C - push {r4-r7,lr} - sub sp, 0x30 - adds r6, r0, 0 - adds r5, r1, 0 - adds r7, r2, 0 - cmp r3, 0 - beq _080C0234 - ldr r4, =gText_PokedexRegistration - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0xF0 - bl GetStringCenterAlignXOffset - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - movs r2, 0 - bl sub_80BE8DC -_080C0234: - cmp r5, 0 - bne _080C024C - lsls r4, r6, 16 - lsrs r0, r4, 16 - bl NationalToHoennOrder - lsls r0, 16 - lsrs r5, r0, 16 - b _080C0250 - .pool -_080C024C: - adds r5, r6, 0 - lsls r4, r6, 16 -_080C0250: - ldr r1, =gText_UnkCtrlF908Clear01 - mov r0, sp - bl StringCopy - adds r1, r5, 0 - movs r2, 0x2 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - mov r0, sp - movs r1, 0x60 - movs r2, 0x19 - bl sub_80BE8DC - lsrs r0, r4, 16 - bl NationalPokedexNumToSpecies - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - beq _080C028C - movs r0, 0xB - muls r1, r0 - ldr r0, =gSpeciesNames - adds r0, r1, r0 - b _080C028E - .pool -_080C028C: - ldr r0, =sText_TenDashes2 -_080C028E: - movs r1, 0x84 - movs r2, 0x19 - bl sub_80BE8DC - cmp r7, 0 - beq _080C02AC - add r4, sp, 0x10 - adds r0, r6, 0 - adds r1, r4, 0 - bl CopyMonCategoryText - adds r0, r4, 0 - b _080C02AE - .pool -_080C02AC: - ldr r0, =gText_5MarksPokemon -_080C02AE: - movs r1, 0x64 - movs r2, 0x29 - bl sub_80BE8DC - ldr r0, =gText_HTHeight - movs r1, 0x60 - movs r2, 0x39 - bl sub_80BE8DC - ldr r0, =gText_WTWeight - movs r1, 0x60 - movs r2, 0x49 - bl sub_80BE8DC - cmp r7, 0 - beq _080C02FC - ldr r0, =gPokedexEntries - lsls r4, r6, 5 - adds r4, r0 - ldrh r0, [r4, 0xC] - movs r1, 0x81 - movs r2, 0x39 - bl sub_80C0354 - ldrh r0, [r4, 0xE] - movs r1, 0x81 - movs r2, 0x49 - bl sub_80C0460 - b _080C0310 - .pool -_080C02FC: - ldr r0, =gText_UnkHeight - movs r1, 0x81 - movs r2, 0x39 - bl sub_80BE8DC - ldr r0, =gText_UnkWeight - movs r1, 0x81 - movs r2, 0x49 - bl sub_80BE8DC -_080C0310: - cmp r7, 0 - beq _080C032C - ldr r0, =gPokedexEntries - lsls r1, r6, 5 - adds r0, 0x10 - adds r1, r0 - ldr r4, [r1] - b _080C032E - .pool -_080C032C: - ldr r4, =gUnknown_0855D30C -_080C032E: - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0xF0 - bl GetStringCenterAlignXOffset - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - movs r2, 0x5F - bl sub_80BE8DC - add sp, 0x30 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C020C - - thumb_func_start sub_80C0354 -sub_80C0354: @ 80C0354 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - lsls r0, 16 - lsrs r0, 16 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - ldr r1, =0x00002710 - muls r0, r1 - movs r1, 0xFE - bl __divsi3 - adds r7, r0, 0 - movs r1, 0xA - bl __umodsi3 - cmp r0, 0x4 - bls _080C0386 - adds r7, 0xA -_080C0386: - adds r0, r7, 0 - movs r1, 0x78 - bl __udivsi3 - adds r6, r0, 0 - lsls r0, r6, 4 - subs r0, r6 - lsls r0, 3 - subs r0, r7, r0 - movs r1, 0xA - bl __udivsi3 - adds r7, r0, 0 - mov r1, sp - movs r0, 0xFC - strb r0, [r1] - adds r1, 0x1 - movs r0, 0x13 - strb r0, [r1] - adds r0, r6, 0 - movs r1, 0xA - bl __udivsi3 - adds r2, r0, 0 - cmp r2, 0 - bne _080C03D4 - mov r1, sp - adds r1, 0x2 - movs r0, 0x12 - strb r0, [r1] - movs r5, 0x4 - adds r1, 0x1 - adds r0, r6, 0 - adds r0, 0xA1 - strb r0, [r1] - b _080C03F4 - .pool -_080C03D4: - mov r1, sp - adds r1, 0x2 - movs r0, 0xC - strb r0, [r1] - adds r1, 0x1 - adds r0, r2, 0 - adds r0, 0xA1 - strb r0, [r1] - movs r5, 0x5 - add r4, sp, 0x4 - adds r0, r6, 0 - movs r1, 0xA - bl __umodsi3 - adds r0, 0xA1 - strb r0, [r4] -_080C03F4: - adds r1, r5, 0 - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r2, r5, 0 - add r1, sp - movs r0, 0xB4 - strb r0, [r1] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - mov r0, sp - adds r4, r0, r2 - adds r0, r7, 0 - movs r1, 0xA - bl __udivsi3 - adds r0, 0xA1 - strb r0, [r4] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - mov r1, sp - adds r4, r1, r6 - adds r0, r7, 0 - movs r1, 0xA - bl __umodsi3 - adds r0, 0xA1 - strb r0, [r4] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - adds r2, r1, r5 - movs r1, 0xB2 - strb r1, [r2] - mov r2, sp - adds r1, r2, r0 - movs r0, 0xFF - strb r0, [r1] - mov r0, sp - mov r1, r9 - mov r2, r8 - bl sub_80BE8DC - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80C0354 - - thumb_func_start sub_80C0460 -sub_80C0460: @ 80C0460 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - lsls r0, 16 - lsrs r0, 16 - lsls r1, 24 - lsrs r1, 24 - mov r10, r1 - lsls r2, 24 - lsrs r2, 24 - str r2, [sp, 0x10] - ldr r5, =0x000186a0 - muls r0, r5 - ldr r1, =0x000011b8 - bl __divsi3 - adds r7, r0, 0 - movs r1, 0xA - bl __umodsi3 - cmp r0, 0x4 - bls _080C0494 - adds r7, 0xA -_080C0494: - movs r0, 0 - mov r8, r0 - mov r4, sp - adds r0, r7, 0 - adds r1, r5, 0 - bl __udivsi3 - adds r0, 0xA1 - strb r0, [r4] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xA1 - bne _080C04C0 - movs r6, 0x1 - mov r1, sp - movs r0, 0x77 - strb r0, [r1] - b _080C04C6 - .pool -_080C04C0: - movs r1, 0x1 - mov r8, r1 - movs r6, 0x1 -_080C04C6: - ldr r1, =0x000186a0 - adds r0, r7, 0 - bl __umodsi3 - adds r7, r0, 0 - mov r4, sp - adds r4, 0x1 - ldr r1, =0x00002710 - bl __udivsi3 - adds r0, 0xA1 - strb r0, [r4] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xA1 - bne _080C0504 - mov r2, r8 - cmp r2, 0 - bne _080C0504 - adds r1, r6, 0 - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - add r1, sp - movs r0, 0x77 - strb r0, [r1] - b _080C050E - .pool -_080C0504: - movs r3, 0x1 - mov r8, r3 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_080C050E: - ldr r1, =0x00002710 - adds r0, r7, 0 - bl __umodsi3 - adds r7, r0, 0 - mov r0, sp - adds r4, r0, r6 - movs r1, 0xFA - lsls r1, 2 - adds r0, r7, 0 - bl __udivsi3 - adds r0, 0xA1 - strb r0, [r4] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xA1 - bne _080C054C - mov r1, r8 - cmp r1, 0 - bne _080C054C - adds r1, r6, 0 - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - add r1, sp - movs r0, 0x77 - strb r0, [r1] - b _080C0552 - .pool -_080C054C: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_080C0552: - movs r1, 0xFA - lsls r1, 2 - adds r0, r7, 0 - bl __umodsi3 - adds r7, r0, 0 - adds r1, r6, 0 - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r5, r6, 0 - mov r2, sp - adds r4, r2, r1 - adds r0, r7, 0 - movs r1, 0x64 - bl __udivsi3 - adds r0, 0xA1 - movs r3, 0 - mov r9, r3 - strb r0, [r4] - adds r0, r7, 0 - movs r1, 0x64 - bl __umodsi3 - adds r7, r0, 0 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r1, r6, 0 - mov r2, sp - adds r0, r2, r5 - movs r3, 0xAD - mov r8, r3 - mov r2, r8 - strb r2, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r5, r6, 0 - mov r3, sp - adds r4, r3, r1 - adds r0, r7, 0 - movs r1, 0xA - bl __udivsi3 - adds r0, 0xA1 - strb r0, [r4] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r1, r6, 0 - mov r2, sp - adds r0, r2, r5 - mov r3, r9 - strb r3, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r2, r6, 0 - add r1, sp - movs r0, 0xE0 - strb r0, [r1] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r3, r6, 0 - mov r0, sp - adds r1, r0, r2 - movs r0, 0xD6 - strb r0, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r2, r6, 0 - mov r0, sp - adds r1, r0, r3 - movs r0, 0xE7 - strb r0, [r1] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r3, sp - adds r1, r3, r2 - mov r2, r8 - strb r2, [r1] - adds r1, r3, r0 - movs r0, 0xFF - strb r0, [r1] - mov r0, sp - mov r1, r10 - ldr r2, [sp, 0x10] - bl sub_80BE8DC - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80C0460 - - thumb_func_start sub_80C0620 -sub_80C0620: @ 80C0620 - lsls r0, 16 - lsrs r0, 11 - ldr r1, =gPokedexEntries - adds r0, r1 - bx lr - .pool - thumb_func_end sub_80C0620 - - thumb_func_start GetPokedexHeightWeight -GetPokedexHeightWeight: @ 80C0630 - push {lr} - lsls r0, 16 - lsrs r2, r0, 16 - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0 - beq _080C0646 - cmp r1, 0x1 - beq _080C0654 - movs r0, 0x1 - b _080C065C -_080C0646: - ldr r0, =gPokedexEntries - lsls r1, r2, 5 - adds r1, r0 - ldrh r0, [r1, 0xC] - b _080C065C - .pool -_080C0654: - ldr r0, =gPokedexEntries - lsls r1, r2, 5 - adds r1, r0 - ldrh r0, [r1, 0xE] -_080C065C: - pop {r1} - bx r1 - .pool - thumb_func_end GetPokedexHeightWeight - - thumb_func_start GetSetPokedexFlag -@ u8 GetSetPokedexFlag(u16 nationalPokedexNum, u8 op) -GetSetPokedexFlag: @ 80C0664 - push {r4-r7,lr} - lsls r0, 16 - lsls r1, 24 - lsrs r2, r1, 24 - adds r3, r2, 0 - ldr r1, =0xffff0000 - adds r0, r1 - lsrs r1, r0, 16 - lsrs r0, 19 - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x7 - ands r1, r0 - movs r0, 0x80 - lsls r0, 17 - lsls r0, r1 - lsrs r5, r0, 24 - movs r6, 0 - cmp r2, 0x1 - beq _080C06FC - cmp r2, 0x1 - bgt _080C069C - cmp r2, 0 - beq _080C06AA - b _080C07E8 - .pool -_080C069C: - cmp r3, 0x2 - bne _080C06A2 - b _080C079C -_080C06A2: - cmp r3, 0x3 - bne _080C06A8 - b _080C07D8 -_080C06A8: - b _080C07E8 -_080C06AA: - ldr r1, =gSaveBlock2Ptr - ldr r0, [r1] - adds r0, 0x5C - adds r0, r4 - ldrb r2, [r0] - ands r2, r5 - adds r7, r1, 0 - cmp r2, 0 - bne _080C06BE - b _080C07E8 -_080C06BE: - ldr r0, =gSaveBlock1Ptr - ldr r3, [r0] - ldr r6, =0x00000988 - adds r1, r3, r6 - adds r1, r4 - ldrb r1, [r1] - ands r1, r5 - adds r6, r0, 0 - cmp r2, r1 - bne _080C06E0 - ldr r1, =0x00003b24 - adds r0, r3, r1 - adds r0, r4 - ldrb r0, [r0] - ands r0, r5 - cmp r2, r0 - beq _080C073E -_080C06E0: - ldr r1, [r7] - adds r1, 0x5C - adds r1, r4 - mvns r3, r5 - b _080C076A - .pool -_080C06FC: - ldr r1, =gSaveBlock2Ptr - ldr r3, [r1] - adds r0, r3, 0 - adds r0, 0x28 - adds r0, r4 - ldrb r2, [r0] - ands r2, r5 - adds r7, r1, 0 - cmp r2, 0 - beq _080C07E8 - adds r0, r3, 0 - adds r0, 0x5C - adds r0, r4 - ldrb r0, [r0] - ands r0, r5 - ldr r6, =gSaveBlock1Ptr - cmp r2, r0 - bne _080C0754 - ldr r1, [r6] - ldr r3, =0x00000988 - adds r0, r1, r3 - adds r0, r4 - ldrb r0, [r0] - ands r0, r5 - cmp r2, r0 - bne _080C0754 - ldr r3, =0x00003b24 - adds r0, r1, r3 - adds r0, r4 - ldrb r0, [r0] - ands r0, r5 - cmp r2, r0 - bne _080C0754 -_080C073E: - movs r6, 0x1 - b _080C07E8 - .pool -_080C0754: - ldr r1, [r7] - adds r1, 0x28 - adds r1, r4 - mvns r3, r5 - ldrb r2, [r1] - adds r0, r3, 0 - ands r0, r2 - strb r0, [r1] - ldr r1, [r7] - adds r1, 0x5C - adds r1, r4 -_080C076A: - ldrb r2, [r1] - adds r0, r3, 0 - ands r0, r2 - strb r0, [r1] - ldr r1, [r6] - ldr r0, =0x00000988 - adds r1, r0 - adds r1, r4 - ldrb r2, [r1] - adds r0, r3, 0 - ands r0, r2 - strb r0, [r1] - ldr r0, [r6] - ldr r1, =0x00003b24 - adds r0, r1 - adds r0, r4 - ldrb r1, [r0] - ands r3, r1 - strb r3, [r0] - movs r6, 0 - b _080C07E8 - .pool -_080C079C: - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - adds r1, 0x5C - adds r1, r4 - ldrb r2, [r1] - adds r0, r5, 0 - orrs r0, r2 - strb r0, [r1] - ldr r3, =gSaveBlock1Ptr - ldr r1, [r3] - ldr r0, =0x00000988 - adds r1, r0 - adds r1, r4 - ldrb r2, [r1] - adds r0, r5, 0 - orrs r0, r2 - strb r0, [r1] - ldr r1, [r3] - ldr r3, =0x00003b24 - adds r1, r3 - b _080C07DE - .pool -_080C07D8: - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - adds r1, 0x28 -_080C07DE: - adds r1, r4 - ldrb r2, [r1] - adds r0, r5, 0 - orrs r0, r2 - strb r0, [r1] -_080C07E8: - adds r0, r6, 0 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end GetSetPokedexFlag - - thumb_func_start GetNationalPokedexCount -GetNationalPokedexCount: @ 80C07F4 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - movs r5, 0 - movs r0, 0 - ldr r7, =0x00000181 -_080C0800: - cmp r6, 0 - beq _080C0810 - cmp r6, 0x1 - beq _080C081A - adds r4, r0, 0x1 - b _080C0832 - .pool -_080C0810: - adds r4, r0, 0x1 - lsls r0, r4, 16 - lsrs r0, 16 - movs r1, 0 - b _080C0822 -_080C081A: - adds r4, r0, 0x1 - lsls r0, r4, 16 - lsrs r0, 16 - movs r1, 0x1 -_080C0822: - bl GetSetPokedexFlag - lsls r0, 24 - cmp r0, 0 - beq _080C0832 - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 -_080C0832: - lsls r0, r4, 16 - lsrs r0, 16 - cmp r0, r7 - bls _080C0800 - adds r0, r5, 0 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end GetNationalPokedexCount - - thumb_func_start GetHoennPokedexCount -GetHoennPokedexCount: @ 80C0844 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - movs r5, 0 - movs r0, 0 -_080C084E: - cmp r6, 0 - beq _080C085A - cmp r6, 0x1 - beq _080C086C - adds r4, r0, 0x1 - b _080C088C -_080C085A: - adds r4, r0, 0x1 - lsls r0, r4, 16 - lsrs r0, 16 - bl HoennToNationalOrder - lsls r0, 16 - lsrs r0, 16 - movs r1, 0 - b _080C087C -_080C086C: - adds r4, r0, 0x1 - lsls r0, r4, 16 - lsrs r0, 16 - bl HoennToNationalOrder - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 -_080C087C: - bl GetSetPokedexFlag - lsls r0, 24 - cmp r0, 0 - beq _080C088C - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 -_080C088C: - lsls r0, r4, 16 - lsrs r0, 16 - cmp r0, 0xC9 - bls _080C084E - adds r0, r5, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end GetHoennPokedexCount - - thumb_func_start sub_80C089C -sub_80C089C: @ 80C089C - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - movs r5, 0 - movs r0, 0 -_080C08A6: - cmp r6, 0 - beq _080C08B2 - cmp r6, 0x1 - beq _080C08BC - adds r4, r0, 0x1 - b _080C08D4 -_080C08B2: - adds r4, r0, 0x1 - lsls r0, r4, 16 - lsrs r0, 16 - movs r1, 0 - b _080C08C4 -_080C08BC: - adds r4, r0, 0x1 - lsls r0, r4, 16 - lsrs r0, 16 - movs r1, 0x1 -_080C08C4: - bl GetSetPokedexFlag - lsls r0, 24 - cmp r0, 0 - beq _080C08D4 - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 -_080C08D4: - lsls r0, r4, 16 - lsrs r0, 16 - cmp r0, 0x96 - bls _080C08A6 - adds r0, r5, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80C089C - - thumb_func_start sub_80C08E4 -sub_80C08E4: @ 80C08E4 - push {r4,lr} - movs r0, 0 -_080C08E8: - adds r0, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - bl HoennToNationalOrder - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - bl GetSetPokedexFlag - lsls r0, 24 - cmp r0, 0 - bne _080C0908 - movs r0, 0 - b _080C0910 -_080C0908: - adds r0, r4, 0 - cmp r0, 0xC7 - bls _080C08E8 - movs r0, 0x1 -_080C0910: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80C08E4 - - thumb_func_start sub_80C0918 -sub_80C0918: @ 80C0918 - push {r4,lr} - movs r0, 0 -_080C091C: - adds r0, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - movs r1, 0x1 - bl GetSetPokedexFlag - lsls r0, 24 - cmp r0, 0 - bne _080C0934 - movs r0, 0 - b _080C093C -_080C0934: - adds r0, r4, 0 - cmp r0, 0x95 - bls _080C091C - movs r0, 0x1 -_080C093C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80C0918 - - thumb_func_start sub_80C0944 -sub_80C0944: @ 80C0944 - push {r4,r5,lr} - movs r0, 0 -_080C0948: - adds r0, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - movs r1, 0x1 - bl GetSetPokedexFlag - lsls r0, 24 - cmp r0, 0 - beq _080C0996 - adds r0, r4, 0 - cmp r0, 0x95 - bls _080C0948 - movs r0, 0x97 -_080C0964: - adds r0, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - movs r1, 0x1 - bl GetSetPokedexFlag - lsls r0, 24 - cmp r0, 0 - beq _080C0996 - adds r0, r4, 0 - cmp r0, 0xF7 - bls _080C0964 - movs r0, 0xFB - ldr r5, =0x0000017f -_080C0982: - adds r0, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - movs r1, 0x1 - bl GetSetPokedexFlag - lsls r0, 24 - cmp r0, 0 - bne _080C09A0 -_080C0996: - movs r0, 0 - b _080C09A8 - .pool -_080C09A0: - adds r0, r4, 0 - cmp r0, r5 - bls _080C0982 - movs r0, 0x1 -_080C09A8: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80C0944 - - thumb_func_start sub_80C09B0 -sub_80C09B0: @ 80C09B0 - push {r4,r5,lr} - lsls r0, 16 - lsrs r4, r0, 16 - adds r5, r4, 0 - movs r1, 0x80 - lsls r1, 1 - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - bne _080C09E2 - movs r0, 0 - bl ClearGpuRegBits - movs r0, 0x8 - movs r1, 0 - bl SetGpuReg - movs r0, 0x10 - movs r1, 0 - bl SetGpuReg - movs r0, 0x12 - movs r1, 0 - bl SetGpuReg -_080C09E2: - movs r1, 0x80 - lsls r1, 2 - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - bne _080C0A0C - movs r0, 0 - bl ClearGpuRegBits - movs r0, 0xA - movs r1, 0 - bl SetGpuReg - movs r0, 0x14 - movs r1, 0 - bl SetGpuReg - movs r0, 0x16 - movs r1, 0 - bl SetGpuReg -_080C0A0C: - movs r1, 0x80 - lsls r1, 3 - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - bne _080C0A36 - movs r0, 0 - bl ClearGpuRegBits - movs r0, 0xC - movs r1, 0 - bl SetGpuReg - movs r0, 0x18 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1A - movs r1, 0 - bl SetGpuReg -_080C0A36: - movs r1, 0x80 - lsls r1, 4 - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - bne _080C0A60 - movs r0, 0 - bl ClearGpuRegBits - movs r0, 0xE - movs r1, 0 - bl SetGpuReg - movs r0, 0x1C - movs r1, 0 - bl SetGpuReg - movs r0, 0x1E - movs r1, 0 - bl SetGpuReg -_080C0A60: - movs r1, 0x80 - lsls r1, 5 - ands r5, r1 - cmp r5, 0 - bne _080C0A7E - movs r0, 0 - bl ClearGpuRegBits - bl ResetSpriteData - bl FreeAllSpritePalettes - ldr r1, =gReservedSpritePaletteCount - movs r0, 0x8 - strb r0, [r1] -_080C0A7E: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C09B0 - - thumb_func_start sub_80C0A88 -sub_80C0A88: @ 80C0A88 - push {r4-r6,lr} - sub sp, 0x18 - lsls r0, 24 - lsrs r0, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - add r4, sp, 0x14 - movs r6, 0 - strb r6, [r4] - adds r5, r4, 0 - movs r4, 0xF - strb r4, [r5, 0x1] - movs r4, 0x3 - strb r4, [r5, 0x2] - str r6, [sp] - str r6, [sp, 0x4] - str r5, [sp, 0x8] - subs r4, 0x4 - str r4, [sp, 0xC] - str r1, [sp, 0x10] - movs r1, 0x1 - bl AddTextPrinterParameterized2 - add sp, 0x18 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80C0A88 - - thumb_func_start sub_80C0AC4 -sub_80C0AC4: @ 80C0AC4 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x4 - adds r6, r0, 0 - adds r4, r1, 0 - mov r8, r2 - mov r9, r3 - lsls r6, 24 - lsrs r6, 24 - lsls r4, 16 - lsrs r4, 16 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - mov r0, r9 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - mov r5, sp - adds r0, r4, 0 - movs r1, 0x64 - bl __udivsi3 - adds r0, 0xA1 - strb r0, [r5] - mov r5, sp - adds r0, r4, 0 - movs r1, 0x64 - bl __umodsi3 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r4, 0 - movs r1, 0xA - bl __udivsi3 - adds r0, 0xA1 - strb r0, [r5, 0x1] - mov r5, sp - adds r0, r4, 0 - movs r1, 0xA - bl __umodsi3 - adds r0, 0xA1 - strb r0, [r5, 0x2] - mov r1, sp - movs r0, 0xFF - strb r0, [r1, 0x3] - adds r0, r6, 0 - mov r2, r8 - mov r3, r9 - bl sub_80C0A88 - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80C0AC4 - - thumb_func_start sub_80C0B44 -sub_80C0B44: @ 80C0B44 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, 16 - lsrs r5, r1, 16 - lsls r2, 24 - lsrs r7, r2, 24 - lsls r3, 24 - lsrs r6, r3, 24 - movs r4, 0 - movs r2, 0xFF -_080C0B62: - mov r1, sp - adds r0, r1, r4 - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xA - bls _080C0B62 - adds r0, r5, 0 - bl NationalPokedexNumToSpecies - adds r5, r0, 0 - cmp r5, 0 - beq _080C0BC0 - movs r4, 0 - ldr r2, =gSpeciesNames - movs r0, 0xB - adds r1, r5, 0 - muls r1, r0 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0xFF - beq _080C0BD4 - adds r3, r2, 0 - adds r2, r1, 0 -_080C0B98: - mov r0, sp - adds r1, r0, r4 - adds r0, r4, r2 - adds r0, r3 - ldrb r0, [r0] - strb r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, r2 - adds r0, r3 - ldrb r0, [r0] - cmp r0, 0xFF - beq _080C0BD4 - cmp r4, 0x9 - bls _080C0B98 - b _080C0BD4 - .pool -_080C0BC0: - movs r4, 0 - movs r1, 0xAE -_080C0BC4: - mov r2, sp - adds r0, r2, r4 - strb r1, [r0] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bls _080C0BC4 -_080C0BD4: - mov r0, r8 - mov r1, sp - adds r2, r7, 0 - adds r3, r6, 0 - bl sub_80C0A88 - adds r0, r4, 0 - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80C0B44 - - thumb_func_start sub_80C0BF0 -sub_80C0BF0: @ 80C0BF0 - push {r4-r7,lr} - sub sp, 0xC - adds r4, r1, 0 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r2, 24 - lsrs r2, 24 - mov r12, r2 - lsls r3, 24 - lsrs r5, r3, 24 - movs r2, 0 - movs r1, 0 -_080C0C08: - mov r3, sp - adds r0, r3, r2 - strb r1, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xA - bls _080C0C08 - movs r3, 0 - ldrb r0, [r4] - cmp r0, 0 - beq _080C0C32 -_080C0C20: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - adds r0, r4, r3 - ldrb r0, [r0] - cmp r0, 0 - beq _080C0C32 - cmp r3, 0xA - bls _080C0C20 -_080C0C32: - movs r2, 0 - cmp r2, r3 - bcs _080C0C52 -_080C0C38: - adds r0, r2, 0 - adds r0, 0xB - subs r0, r3 - mov r7, sp - adds r1, r7, r0 - adds r0, r4, r2 - ldrb r0, [r0] - strb r0, [r1] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, r3 - bcc _080C0C38 -_080C0C52: - mov r1, sp - movs r0, 0xFF - strb r0, [r1, 0xB] - adds r0, r6, 0 - mov r2, r12 - adds r3, r5, 0 - bl sub_80C0A88 - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80C0BF0 - - thumb_func_start sub_80C0C6C -sub_80C0C6C: @ 80C0C6C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, 16 - lsrs r4, r1, 16 - lsls r2, 24 - lsrs r7, r2, 24 - lsls r3, 24 - lsrs r6, r3, 24 - movs r5, 0 - movs r1, 0xFA - lsls r1, 2 - adds r0, r4, 0 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _080C0CA2 - mov r1, sp - movs r0, 0x77 - strb r0, [r1] - b _080C0CAA -_080C0CA2: - mov r1, sp - adds r0, 0xA1 - strb r0, [r1] - movs r5, 0x1 -_080C0CAA: - movs r1, 0xFA - lsls r1, 2 - adds r0, r4, 0 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _080C0CD0 - cmp r5, 0 - bne _080C0CD0 - mov r1, sp - movs r0, 0x77 - b _080C0CD4 -_080C0CD0: - mov r1, sp - adds r0, 0xA1 -_080C0CD4: - strb r0, [r1, 0x1] - mov r5, sp - movs r1, 0xFA - lsls r1, 2 - adds r0, r4, 0 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r4, 0 - movs r1, 0xA - bl __udivsi3 - adds r0, 0xA1 - strb r0, [r5, 0x2] - mov r1, sp - movs r0, 0xAD - strb r0, [r1, 0x3] - mov r5, sp - adds r0, r4, 0 - movs r1, 0xA - bl __umodsi3 - adds r0, 0xA1 - strb r0, [r5, 0x4] - mov r1, sp - movs r0, 0xFF - strb r0, [r1, 0x5] - mov r0, r8 - adds r2, r7, 0 - adds r3, r6, 0 - bl sub_80C0A88 - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80C0C6C - - thumb_func_start sub_80C0D30 -sub_80C0D30: @ 80C0D30 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x80 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, 16 - lsrs r1, 16 - ldr r4, =gMonFootprintTable - adds r0, r1, 0 - bl NationalPokedexNumToSpecies - lsls r0, 16 - lsrs r0, 14 - adds r0, r4 - ldr r0, [r0] - mov r12, r0 - movs r5, 0 - movs r1, 0 - movs r7, 0x2 -_080C0D5A: - mov r2, r12 - adds r0, r2, r1 - ldrb r3, [r0] - movs r4, 0 - adds r6, r1, 0x1 -_080C0D64: - lsls r2, r4, 1 - adds r1, r3, 0 - asrs r1, r2 - movs r0, 0x1 - ands r1, r0 - negs r0, r1 - orrs r0, r1 - asrs r1, r0, 31 - ands r1, r7 - adds r0, r7, 0 - lsls r0, r2 - ands r0, r3 - cmp r0, 0 - beq _080C0D84 - movs r0, 0x20 - orrs r1, r0 -_080C0D84: - mov r2, sp - adds r0, r2, r5 - strb r1, [r0] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x3 - bls _080C0D64 - lsls r0, r6, 16 - lsrs r1, r0, 16 - cmp r1, 0x1F - bls _080C0D5A - mov r0, r8 - mov r1, sp - movs r2, 0x80 - movs r3, 0 - bl CopyToWindowPixelBuffer - add sp, 0x80 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C0D30 - - thumb_func_start sub_80C0DC0 -sub_80C0DC0: @ 80C0DC0 - push {r4,lr} - lsls r0, 16 - lsls r1, 16 - lsrs r1, 16 - lsrs r0, 5 - ldr r2, =0x06000232 - adds r3, r0, r2 - movs r4, 0xF0 - lsls r4, 8 - adds r2, r1, r4 - strh r2, [r3] - ldr r2, =0x06000234 - adds r3, r0, r2 - adds r4, 0x1 - adds r2, r1, r4 - strh r2, [r3] - ldr r2, =0x06000272 - adds r3, r0, r2 - adds r4, 0x1 - adds r2, r1, r4 - strh r2, [r3] - ldr r2, =0x06000274 - adds r0, r2 - adds r4, 0x1 - adds r1, r4 - strh r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C0DC0 - - thumb_func_start sub_80C0E0C -sub_80C0E0C: @ 80C0E0C - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - lsls r1, 16 - lsrs r0, r1, 16 - lsls r2, 16 - lsrs r2, 16 - lsls r3, 16 - lsrs r3, 16 - cmp r4, 0x1 - beq _080C0E38 - cmp r4, 0x1 - bgt _080C0E2E - cmp r4, 0 - beq _080C0E40 - b _080C0E60 -_080C0E2E: - cmp r5, 0x2 - beq _080C0E52 - cmp r5, 0x3 - beq _080C0E46 - b _080C0E60 -_080C0E38: - cmp r0, r2 - bls _080C0E60 - subs r0, 0x1 - b _080C0E58 -_080C0E40: - cmp r0, r3 - bcs _080C0E60 - b _080C0E56 -_080C0E46: - cmp r0, r2 - bls _080C0E4E - subs r0, 0x1 - b _080C0E58 -_080C0E4E: - adds r0, r3, 0 - b _080C0E60 -_080C0E52: - cmp r0, r3 - bcs _080C0E5E -_080C0E56: - adds r0, 0x1 -_080C0E58: - lsls r0, 16 - lsrs r0, 16 - b _080C0E60 -_080C0E5E: - adds r0, r2, 0 -_080C0E60: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80C0E0C - - thumb_func_start sub_80C0E68 -sub_80C0E68: @ 80C0E68 - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0xC9 - beq _080C0E88 - movs r0, 0x9A - lsls r0, 1 - cmp r1, r0 - bne _080C0E94 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r0, [r0, 0x20] - b _080C0E96 - .pool -_080C0E88: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r0, [r0, 0x1C] - b _080C0E96 - .pool -_080C0E94: - movs r0, 0 -_080C0E96: - pop {r1} - bx r1 - thumb_func_end sub_80C0E68 - - thumb_func_start sub_80C0E9C -sub_80C0E9C: @ 80C0E9C - push {r4-r6,lr} - sub sp, 0x14 - adds r4, r1, 0 - adds r5, r2, 0 - adds r6, r3, 0 - lsls r0, 16 - lsrs r0, 16 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - lsls r6, 16 - lsrs r6, 16 - bl NationalPokedexNumToSpecies - adds r1, r0, 0 - adds r0, r1, 0 - str r1, [sp, 0x10] - bl sub_80C0E68 - adds r2, r0, 0 - lsls r4, 16 - asrs r4, 16 - str r4, [sp] - lsls r5, 16 - asrs r5, 16 - str r5, [sp, 0x4] - lsls r6, 24 - lsrs r6, 24 - str r6, [sp, 0x8] - ldr r0, =0x0000ffff - str r0, [sp, 0xC] - ldr r1, [sp, 0x10] - adds r0, r1, 0 - movs r1, 0x8 - movs r3, 0x1 - bl sub_818D7D8 - lsls r0, 16 - lsrs r0, 16 - add sp, 0x14 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80C0E9C - - thumb_func_start sub_80C0EF8 -sub_80C0EF8: @ 80C0EF8 - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r1, 0 - adds r5, r2, 0 - lsls r0, 16 - lsrs r0, 16 - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 16 - lsls r3, 24 - lsrs r3, 24 - str r3, [sp] - ldr r1, =0x0000ffff - str r1, [sp, 0x4] - movs r1, 0x1 - adds r2, r4, 0 - adds r3, r5, 0 - bl sub_818D8AC - lsls r0, 16 - lsrs r0, 16 - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80C0EF8 - - thumb_func_start sub_80C0F30 -sub_80C0F30: @ 80C0F30 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - ldr r4, [sp, 0x34] - ldr r5, [sp, 0x38] - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r7, r2, 24 - lsls r3, 24 - lsrs r3, 24 - str r3, [sp, 0x4] - lsls r4, 24 - lsrs r4, 24 - str r4, [sp, 0x8] - lsls r5, 24 - lsrs r5, 24 - mov r10, r5 - bl sub_80BC8D4 - movs r5, 0 - movs r6, 0 - ldr r4, =0x00000181 - ldr r3, =gUnknown_02039B4C -_080C0F6A: - ldr r2, [r3] - lsls r0, r5, 2 - adds r1, r2, r0 - ldrb r0, [r1, 0x2] - lsls r0, 31 - cmp r0, 0 - beq _080C0F86 - lsls r0, r6, 2 - adds r0, r2, r0 - ldr r1, [r1] - str r1, [r0] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 -_080C0F86: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, r4 - bls _080C0F6A - ldr r1, =gUnknown_02039B4C - ldr r0, [r1] - ldr r2, =0x0000060c - adds r0, r2 - adds r1, r6, 0 - strh r6, [r0] - cmp r7, 0xFF - beq _080C103C - movs r5, 0 - lsls r0, r1, 16 - movs r6, 0 - cmp r0, 0 - beq _080C1032 - lsls r7, 2 - ldr r0, =gUnknown_0856ED08 - adds r0, 0x3 - adds r0, r7, r0 - str r0, [sp, 0xC] - ldr r0, =gUnknown_0856ED08 - adds r0, r7 - mov r9, r0 -_080C0FBA: - ldr r1, =gUnknown_02039B4C - ldr r0, [r1] - lsls r4, r5, 2 - adds r0, r4 - ldrh r0, [r0] - bl NationalPokedexNumToSpecies - lsls r0, 16 - lsrs r2, r0, 16 - ldr r1, =gSpeciesNames - movs r0, 0xB - muls r0, r2 - adds r0, r1 - ldrb r2, [r0] - adds r3, r2, 0 - mov r0, r9 - ldrb r0, [r0] - cmp r2, r0 - bcc _080C0FF2 - mov r1, r9 - ldrb r0, [r1] - ldr r1, =gUnknown_0856ED08 - adds r1, 0x1 - adds r1, r7, r1 - ldrb r1, [r1] - adds r0, r1 - cmp r2, r0 - blt _080C100A -_080C0FF2: - ldr r0, =gUnknown_0856ED08 - adds r0, 0x2 - adds r0, r7, r0 - ldrb r2, [r0] - cmp r3, r2 - bcc _080C101E - ldrb r1, [r0] - ldr r2, [sp, 0xC] - ldrb r0, [r2] - adds r1, r0 - cmp r3, r1 - bge _080C101E -_080C100A: - ldr r2, =gUnknown_02039B4C - ldr r0, [r2] - lsls r1, r6, 2 - adds r1, r0, r1 - adds r0, r4 - ldr r0, [r0] - str r0, [r1] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 -_080C101E: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r1, =gUnknown_02039B4C - ldr r0, [r1] - ldr r2, =0x0000060c - adds r0, r2 - ldrh r0, [r0] - cmp r5, r0 - bcc _080C0FBA -_080C1032: - ldr r1, =gUnknown_02039B4C - ldr r0, [r1] - ldr r2, =0x0000060c - adds r0, r2 - strh r6, [r0] -_080C103C: - ldr r0, [sp, 0x4] - cmp r0, 0xFF - beq _080C10AC - movs r5, 0 - movs r6, 0 - ldr r1, =gUnknown_02039B4C - ldr r0, [r1] - ldr r2, =0x0000060c - adds r0, r2 - ldrh r0, [r0] - cmp r6, r0 - bcs _080C10A2 - adds r7, r1, 0 - ldr r0, =gBaseStats - mov r8, r0 -_080C105A: - ldr r0, [r7] - lsls r4, r5, 2 - adds r0, r4 - ldrh r0, [r0] - bl NationalPokedexNumToSpecies - lsls r0, 16 - lsrs r2, r0, 16 - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - add r0, r8 - ldrb r0, [r0, 0x19] - lsls r0, 25 - lsrs r0, 25 - ldr r1, [sp, 0x4] - cmp r1, r0 - bne _080C1090 - ldr r0, [r7] - lsls r1, r6, 2 - adds r1, r0, r1 - adds r0, r4 - ldr r0, [r0] - str r0, [r1] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 -_080C1090: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, [r7] - ldr r2, =0x0000060c - adds r0, r2 - ldrh r0, [r0] - cmp r5, r0 - bcc _080C105A -_080C10A2: - ldr r1, =gUnknown_02039B4C - ldr r0, [r1] - ldr r2, =0x0000060c - adds r0, r2 - strh r6, [r0] -_080C10AC: - ldr r0, [sp, 0x8] - cmp r0, 0xFF - bne _080C10C2 - mov r1, r10 - cmp r1, 0xFF - bne _080C10BA - b _080C11DE -_080C10BA: - mov r2, r10 - str r2, [sp, 0x8] - movs r0, 0xFF - mov r10, r0 -_080C10C2: - mov r1, r10 - cmp r1, 0xFF - bne _080C1158 - movs r5, 0 - movs r6, 0 - ldr r2, =gUnknown_02039B4C - ldr r0, [r2] - ldr r1, =0x0000060c - adds r0, r1 - ldrh r0, [r0] - cmp r6, r0 - bcs _080C11D4 - adds r3, r2, 0 - mov r7, sp - mov r8, r2 -_080C10E0: - ldr r0, [r3] - lsls r4, r5, 2 - adds r1, r0, r4 - ldrb r0, [r1, 0x2] - lsls r0, 30 - cmp r0, 0 - bge _080C112A - ldrh r0, [r1] - str r3, [sp, 0x10] - bl NationalPokedexNumToSpecies - lsls r0, 16 - lsrs r2, r0, 16 - ldr r1, =gBaseStats - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x6] - strb r1, [r7] - ldrb r0, [r0, 0x7] - strb r0, [r7, 0x1] - ldr r3, [sp, 0x10] - ldr r2, [sp, 0x8] - cmp r1, r2 - beq _080C1118 - cmp r0, r2 - bne _080C112A -_080C1118: - ldr r0, [r3] - lsls r1, r6, 2 - adds r1, r0, r1 - adds r0, r4 - ldr r0, [r0] - str r0, [r1] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 -_080C112A: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - mov r1, r8 - ldr r0, [r1] - ldr r2, =0x0000060c - adds r0, r2 - ldrh r0, [r0] - cmp r5, r0 - bcc _080C10E0 - b _080C11D4 - .pool -_080C1158: - movs r5, 0 - movs r6, 0 - ldr r1, =gUnknown_02039B4C - ldr r0, [r1] - ldr r2, =0x0000060c - adds r0, r2 - ldrh r0, [r0] - cmp r6, r0 - bcs _080C11D4 - mov r7, sp -_080C116C: - ldr r0, [r1] - lsls r1, r5, 2 - adds r2, r0, r1 - ldrb r0, [r2, 0x2] - lsls r0, 30 - adds r4, r1, 0 - cmp r0, 0 - bge _080C11C0 - ldrh r0, [r2] - bl NationalPokedexNumToSpecies - lsls r0, 16 - lsrs r2, r0, 16 - ldr r1, =gBaseStats - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x6] - strb r1, [r7] - ldrb r0, [r0, 0x7] - strb r0, [r7, 0x1] - ldr r2, [sp, 0x8] - cmp r1, r2 - bne _080C11A2 - cmp r0, r10 - beq _080C11AC -_080C11A2: - cmp r1, r10 - bne _080C11C0 - ldr r1, [sp, 0x8] - cmp r0, r1 - bne _080C11C0 -_080C11AC: - ldr r2, =gUnknown_02039B4C - ldr r0, [r2] - lsls r1, r6, 2 - adds r1, r0, r1 - adds r0, r4 - ldr r0, [r0] - str r0, [r1] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 -_080C11C0: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r1, =gUnknown_02039B4C - ldr r0, [r1] - ldr r2, =0x0000060c - adds r0, r2 - ldrh r0, [r0] - cmp r5, r0 - bcc _080C116C -_080C11D4: - ldr r1, =gUnknown_02039B4C - ldr r0, [r1] - ldr r2, =0x0000060c - adds r0, r2 - strh r6, [r0] -_080C11DE: - ldr r1, =gUnknown_02039B4C - ldr r0, [r1] - ldr r2, =0x0000060c - adds r1, r0, r2 - ldrh r0, [r1] - cmp r0, 0 - beq _080C1232 - adds r5, r0, 0 - ldr r0, =0x00000181 - cmp r5, r0 - bhi _080C1232 - ldr r4, =gUnknown_02039B4C - movs r1, 0x2 - negs r1, r1 - mov r10, r1 - movs r2, 0x3 - negs r2, r2 - mov r9, r2 - mov r8, r0 - ldr r0, =0x0000ffff - adds r7, r0, 0 -_080C1208: - ldr r1, [r4] - lsls r3, r5, 2 - adds r1, r3 - ldrh r0, [r1] - orrs r0, r7 - strh r0, [r1] - ldrb r2, [r1, 0x2] - mov r0, r10 - ands r0, r2 - strb r0, [r1, 0x2] - ldr r1, [r4] - adds r1, r3 - ldrb r2, [r1, 0x2] - mov r0, r9 - ands r0, r2 - strb r0, [r1, 0x2] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, r8 - bls _080C1208 -_080C1232: - adds r0, r6, 0 - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80C0F30 - - thumb_func_start sub_80C1258 -sub_80C1258: @ 80C1258 - push {lr} - ldr r0, =sub_80C12E0 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80C1258 - - thumb_func_start sub_80C1270 -sub_80C1270: @ 80C1270 - push {r4,r5,lr} - sub sp, 0x18 - adds r5, r1, 0 - adds r3, r2, 0 - add r1, sp, 0x14 - movs r4, 0 - strb r4, [r1] - adds r2, r1, 0 - movs r1, 0xF - strb r1, [r2, 0x1] - movs r1, 0x2 - strb r1, [r2, 0x2] - lsls r5, 24 - lsrs r5, 24 - lsls r3, 24 - lsrs r3, 24 - str r4, [sp] - str r4, [sp, 0x4] - str r2, [sp, 0x8] - subs r1, 0x3 - str r1, [sp, 0xC] - str r0, [sp, 0x10] - movs r0, 0 - movs r1, 0x1 - adds r2, r5, 0 - bl AddTextPrinterParameterized2 - add sp, 0x18 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80C1270 - - thumb_func_start sub_80C12B0 -sub_80C12B0: @ 80C12B0 - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - lsls r2, 16 - lsrs r2, 16 - str r2, [sp] - lsls r3, 16 - lsrs r3, 16 - str r3, [sp, 0x4] - movs r0, 0 - movs r1, 0 - adds r2, r4, 0 - adds r3, r5, 0 - bl FillWindowPixelRect - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80C12B0 - - thumb_func_start sub_80C12E0 -sub_80C12E0: @ 80C12E0 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r1, r2 - ldrb r0, [r0] - adds r3, r1, 0 - cmp r0, 0x4 - bhi _080C1320 - lsls r0, 2 - ldr r1, =_080C130C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080C130C: - .4byte _080C1320 - .4byte _080C1414 - .4byte _080C1480 - .4byte _080C14A0 - .4byte _080C14F0 -_080C1320: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - beq _080C1332 - b _080C1516 -_080C1332: - ldr r0, =gUnknown_02039B4C - ldr r0, [r0] - ldr r1, =0x0000064a - adds r0, r1 - movs r1, 0x2 - strb r1, [r0] - movs r0, 0 - bl sub_80C09B0 - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_0856EFF8 - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - movs r4, 0x80 - lsls r4, 4 - adds r0, r4, 0 - bl AllocZeroed - adds r1, r0, 0 - movs r0, 0x3 - bl SetBgTilemapBuffer - adds r0, r4, 0 - bl AllocZeroed - adds r1, r0, 0 - movs r0, 0x2 - bl SetBgTilemapBuffer - adds r0, r4, 0 - bl AllocZeroed - adds r1, r0, 0 - movs r0, 0x1 - bl SetBgTilemapBuffer - adds r0, r4, 0 - bl AllocZeroed - adds r1, r0, 0 - movs r0, 0 - bl SetBgTilemapBuffer - ldr r0, =gUnknown_0856F008 - bl InitWindows - bl DeactivateAllTextPrinters - movs r0, 0 - bl PutWindowTilemap - ldr r1, =gPokedexSearchMenu_Gfx - movs r2, 0x80 - lsls r2, 6 - str r5, [sp] - movs r0, 0x3 - movs r3, 0 - bl copy_decompressed_tile_data_to_vram_autofree - bl IsNationalPokedexEnabled - cmp r0, 0 - bne _080C13E4 - ldr r1, =gPokedexSearch2_Tilemap - movs r0, 0x3 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - b _080C13F0 - .pool -_080C13E4: - ldr r1, =gPokedexSearch1_Tilemap - movs r0, 0x3 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer -_080C13F0: - ldr r0, =gPokedexSearchMenu_Pal + 0x2 - movs r1, 0x1 - movs r2, 0x7E - bl LoadPalette - ldr r0, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r2 - movs r1, 0x1 - strb r1, [r0] - b _080C1516 - .pool -_080C1414: - ldr r0, =gSpriteSheets_0855D26C - bl LoadCompressedObjectPic - ldr r0, =gSpritePalettes_0855D26C - bl LoadSpritePalettes - adds r0, r4, 0 - bl sub_80C2594 - movs r1, 0 - lsls r0, r4, 2 - adds r0, r4 - lsls r2, r0, 3 - ldr r5, =gTasks + 0x8 - movs r3, 0 -_080C1432: - lsls r0, r1, 1 - adds r0, r2 - adds r0, r5 - strh r3, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0xF - bls _080C1432 - adds r0, r4, 0 - bl sub_80C23B8 - movs r0, 0 - bl sub_80C2040 - adds r0, r4, 0 - bl sub_80C20F8 - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - b _080C14DA - .pool -_080C1480: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _080C14E2 - .pool -_080C14A0: - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl HideBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg -_080C14DA: - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 -_080C14E2: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080C1516 - .pool -_080C14F0: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - bne _080C1516 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_80C1570 - str r1, [r0] - movs r1, 0x87 - lsls r1, 3 - adds r0, r3, r1 - strb r2, [r0] -_080C1516: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C12E0 - - thumb_func_start sub_80C152C -sub_80C152C: @ 80C152C - push {lr} - bl FreeAllWindowBuffers - movs r0, 0 - bl GetBgTilemapBuffer - cmp r0, 0 - beq _080C1540 - bl Free -_080C1540: - movs r0, 0x1 - bl GetBgTilemapBuffer - cmp r0, 0 - beq _080C154E - bl Free -_080C154E: - movs r0, 0x2 - bl GetBgTilemapBuffer - cmp r0, 0 - beq _080C155C - bl Free -_080C155C: - movs r0, 0x3 - bl GetBgTilemapBuffer - cmp r0, 0 - beq _080C156A - bl Free -_080C156A: - pop {r0} - bx r0 - thumb_func_end sub_80C152C - - thumb_func_start sub_80C1570 -sub_80C1570: @ 80C1570 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gTasks - lsls r5, r4, 2 - adds r5, r4 - lsls r5, 3 - adds r5, r0 - ldrb r0, [r5, 0x8] - bl sub_80C2040 - adds r0, r4, 0 - bl sub_80C20F8 - movs r0, 0 - movs r1, 0x2 - bl CopyWindowToVram - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - ldr r0, =sub_80C15B0 - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C1570 - - thumb_func_start sub_80C15B0 -sub_80C15B0: @ 80C15B0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080C15E4 - movs r0, 0x3 - bl PlaySE - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80C1D38 - str r0, [r1] - b _080C16BC - .pool -_080C15E4: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080C1640 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r5, r0, r1 - movs r0, 0x8 - ldrsh r4, [r5, r0] - cmp r4, 0x1 - beq _080C161C - cmp r4, 0x1 - bgt _080C160C - cmp r4, 0 - beq _080C1612 - b _080C16BC - .pool -_080C160C: - cmp r4, 0x2 - beq _080C1630 - b _080C16BC -_080C1612: - movs r0, 0x15 - bl PlaySE - strh r4, [r5, 0xA] - b _080C1626 -_080C161C: - movs r0, 0x15 - bl PlaySE - movs r0, 0x4 - strh r0, [r5, 0xA] -_080C1626: - ldr r0, =sub_80C16CC - str r0, [r5] - b _080C16BC - .pool -_080C1630: - movs r0, 0x3 - bl PlaySE - ldr r0, =sub_80C1D38 - str r0, [r5] - b _080C16BC - .pool -_080C1640: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080C167C - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r4, r1, r0 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - ble _080C167C - movs r0, 0x6D - bl PlaySE - ldrh r0, [r4, 0x8] - subs r0, 0x1 - strh r0, [r4, 0x8] - lsls r0, 24 - lsrs r0, 24 - bl sub_80C2040 - movs r0, 0 - movs r1, 0x2 - bl CopyWindowToVram - movs r0, 0x3 - bl CopyBgTilemapBufferToVram -_080C167C: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080C16BC - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r4, r1, r0 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - bgt _080C16BC - movs r0, 0x6D - bl PlaySE - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - lsls r0, 24 - lsrs r0, 24 - bl sub_80C2040 - movs r0, 0 - movs r1, 0x2 - bl CopyWindowToVram - movs r0, 0x3 - bl CopyBgTilemapBufferToVram -_080C16BC: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C15B0 - - thumb_func_start sub_80C16CC -sub_80C16CC: @ 80C16CC - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gTasks - lsls r5, r4, 2 - adds r5, r4 - lsls r5, 3 - adds r5, r0 - ldrb r0, [r5, 0x8] - ldrb r1, [r5, 0xA] - bl sub_80C2064 - adds r0, r4, 0 - bl sub_80C20F8 - movs r0, 0 - movs r1, 0x2 - bl CopyWindowToVram - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - ldr r0, =sub_80C170C - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C16CC - - thumb_func_start sub_80C170C -sub_80C170C: @ 80C170C - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0x8 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _080C1740 - bl IsNationalPokedexEnabled - ldr r6, =gUnknown_0856EDB8 - cmp r0, 0 - bne _080C174C - ldr r6, =gUnknown_0856EDF0 - b _080C174C - .pool -_080C1740: - bl IsNationalPokedexEnabled - ldr r6, =gUnknown_0856ED9C - cmp r0, 0 - bne _080C174C - ldr r6, =gUnknown_0856EDD4 -_080C174C: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0 - beq _080C178C - movs r0, 0x17 - bl PlaySE - adds r0, r5, 0 - bl sub_80C23B8 - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80C1570 - str r0, [r1] - b _080C1994 - .pool -_080C178C: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080C1870 - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r6, r1, r0 - movs r2, 0xA - ldrsh r0, [r6, r2] - cmp r0, 0x6 - bne _080C1860 - movs r1, 0x8 - ldrsh r0, [r6, r1] - cmp r0, 0 - beq _080C183C - ldr r1, =gUnknown_02039B52 - movs r0, 0x40 - strb r0, [r1] - ldr r7, =gUnknown_02039B4C - ldr r1, [r7] - ldr r0, =0x0000062a - adds r2, r1, r0 - movs r0, 0x40 - strh r0, [r2] - ldr r0, =gUnknown_02039B50 - strh r3, [r0] - movs r2, 0xC2 - lsls r2, 3 - adds r1, r2 - strh r3, [r1] - adds r0, r5, 0 - movs r1, 0x5 - bl sub_80C2318 - ldr r4, =gSaveBlock2Ptr - ldr r1, [r4] - strb r0, [r1, 0x19] - bl IsNationalPokedexEnabled - cmp r0, 0 - bne _080C17E8 - ldr r1, [r4] - movs r0, 0 - strb r0, [r1, 0x19] -_080C17E8: - ldr r0, [r7] - ldr r1, [r4] - ldrb r1, [r1, 0x19] - ldr r2, =0x00000614 - adds r0, r2 - strh r1, [r0] - adds r0, r5, 0 - movs r1, 0x4 - bl sub_80C2318 - ldr r1, [r4] - strb r0, [r1, 0x18] - ldr r0, [r7] - ldr r1, [r4] - ldrb r1, [r1, 0x18] - movs r2, 0xC3 - lsls r2, 3 - adds r0, r2 - strh r1, [r0] - movs r0, 0x3 - bl PlaySE - ldr r0, =sub_80C1D38 - str r0, [r6] - b _080C1994 - .pool -_080C183C: - ldr r0, =gText_SearchingPleaseWait - bl sub_80C2618 - ldr r0, =sub_80C19A4 - str r0, [r6] - movs r0, 0x70 - bl PlaySE - movs r0, 0 - movs r1, 0x2 - bl CopyWindowToVram - b _080C1994 - .pool -_080C1860: - movs r0, 0x15 - bl PlaySE - ldr r0, =sub_80C1B64 - str r0, [r6] - b _080C1994 - .pool -_080C1870: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080C18B6 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0xA - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r6 - ldrb r0, [r0] - cmp r0, 0xFF - beq _080C18B6 - movs r0, 0x5 - bl PlaySE - movs r2, 0xA - ldrsh r0, [r4, r2] - lsls r0, 2 - adds r0, r6 - ldrb r1, [r0] - strh r1, [r4, 0xA] - ldrb r0, [r4, 0x8] - bl sub_80C2064 - movs r0, 0 - movs r1, 0x2 - bl CopyWindowToVram - movs r0, 0x3 - bl CopyBgTilemapBufferToVram -_080C18B6: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080C1900 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0xA - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r6 - ldrb r0, [r0, 0x1] - cmp r0, 0xFF - beq _080C1900 - movs r0, 0x5 - bl PlaySE - movs r2, 0xA - ldrsh r0, [r4, r2] - lsls r0, 2 - adds r0, r6 - ldrb r1, [r0, 0x1] - strh r1, [r4, 0xA] - ldrb r0, [r4, 0x8] - bl sub_80C2064 - movs r0, 0 - movs r1, 0x2 - bl CopyWindowToVram - movs r0, 0x3 - bl CopyBgTilemapBufferToVram -_080C1900: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080C194A - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0xA - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r6 - ldrb r0, [r0, 0x2] - cmp r0, 0xFF - beq _080C194A - movs r0, 0x5 - bl PlaySE - movs r2, 0xA - ldrsh r0, [r4, r2] - lsls r0, 2 - adds r0, r6 - ldrb r1, [r0, 0x2] - strh r1, [r4, 0xA] - ldrb r0, [r4, 0x8] - bl sub_80C2064 - movs r0, 0 - movs r1, 0x2 - bl CopyWindowToVram - movs r0, 0x3 - bl CopyBgTilemapBufferToVram -_080C194A: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080C1994 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0xA - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r6 - ldrb r0, [r0, 0x3] - cmp r0, 0xFF - beq _080C1994 - movs r0, 0x5 - bl PlaySE - movs r2, 0xA - ldrsh r0, [r4, r2] - lsls r0, 2 - adds r0, r6 - ldrb r1, [r0, 0x3] - strh r1, [r4, 0xA] - ldrb r0, [r4, 0x8] - bl sub_80C2064 - movs r0, 0 - movs r1, 0x2 - bl CopyWindowToVram - movs r0, 0x3 - bl CopyBgTilemapBufferToVram -_080C1994: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C170C - - thumb_func_start sub_80C19A4 -sub_80C19A4: @ 80C19A4 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0x8 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - adds r0, r5, 0 - movs r1, 0x5 - bl sub_80C2318 - mov r10, r0 - mov r0, r10 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - adds r0, r5, 0 - movs r1, 0x4 - bl sub_80C2318 - mov r9, r0 - mov r0, r9 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - adds r0, r5, 0 - movs r1, 0 - bl sub_80C2318 - mov r8, r0 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - adds r0, r5, 0 - movs r1, 0x1 - bl sub_80C2318 - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - adds r0, r5, 0 - movs r1, 0x2 - bl sub_80C2318 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0x3 - bl sub_80C2318 - lsls r0, 24 - lsrs r0, 24 - str r4, [sp] - str r0, [sp, 0x4] - mov r0, r10 - mov r1, r9 - mov r2, r8 - adds r3, r6, 0 - bl sub_80C0F30 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_80C1A4C - str r1, [r0] - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C19A4 - - thumb_func_start sub_80C1A4C -sub_80C1A4C: @ 80C1A4C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl IsSEPlaying - lsls r0, 24 - cmp r0, 0 - bne _080C1AA6 - ldr r0, =gUnknown_02039B4C - ldr r0, [r0] - ldr r1, =0x0000060c - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0 - beq _080C1A84 - movs r0, 0x1F - bl PlaySE - ldr r0, =gText_SearchCompleted - bl sub_80C2618 - b _080C1A90 - .pool -_080C1A84: - movs r0, 0x20 - bl PlaySE - ldr r0, =gUnknown_085E8785 - bl sub_80C2618 -_080C1A90: - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80C1AB8 - str r0, [r1] - movs r0, 0 - movs r1, 0x2 - bl CopyWindowToVram -_080C1AA6: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C1A4C - - thumb_func_start sub_80C1AB8 -sub_80C1AB8: @ 80C1AB8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r2, r4, 0 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080C1B54 - ldr r5, =gUnknown_02039B4C - ldr r1, [r5] - ldr r3, =0x0000060c - adds r0, r1, r3 - ldrh r0, [r0] - cmp r0, 0 - beq _080C1B40 - ldr r0, =0x0000064e - adds r1, r0 - movs r0, 0x1 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x5 - bl sub_80C2318 - ldr r1, [r5] - lsls r0, 24 - lsrs r0, 24 - ldr r2, =0x00000612 - adds r1, r2 - strh r0, [r1] - adds r0, r4, 0 - movs r1, 0x4 - bl sub_80C2318 - ldr r1, [r5] - lsls r0, 24 - lsrs r0, 24 - ldr r3, =0x00000616 - adds r1, r3 - strh r0, [r1] - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_80C1D38 - str r1, [r0] - movs r0, 0x3 - bl PlaySE - b _080C1B54 - .pool -_080C1B40: - ldr r0, =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80C16CC - str r0, [r1] - movs r0, 0x17 - bl PlaySE -_080C1B54: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C1AB8 - - thumb_func_start sub_80C1B64 -sub_80C1B64: @ 80C1B64 - push {r4-r6,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - movs r0, 0 - bl sub_80C21D4 - ldr r2, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r6, r1, r2 - ldrb r0, [r6, 0xA] - adds r2, 0x8 - adds r1, r2 - ldr r2, =gUnknown_0856EFC8 - lsls r0, 3 - adds r0, r2 - ldrb r4, [r0, 0x4] - lsls r4, 1 - adds r4, r1, r4 - ldrb r0, [r0, 0x5] - lsls r0, 1 - adds r1, r0 - ldrh r0, [r4] - strh r0, [r6, 0x24] - ldrh r0, [r1] - strh r0, [r6, 0x26] - adds r0, r5, 0 - bl sub_80C2294 - ldrh r0, [r4] - bl sub_80C2650 - ldr r0, =sub_80C1BCC - str r0, [r6] - movs r0, 0 - movs r1, 0x2 - bl CopyWindowToVram - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C1B64 - - thumb_func_start sub_80C1BCC -sub_80C1BCC: @ 80C1BCC - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r3, =gTasks - lsls r2, r7, 2 - adds r2, r7 - lsls r2, 3 - adds r5, r2, r3 - ldrb r1, [r5, 0xA] - ldr r0, =gUnknown_0856EFC8 - lsls r1, 3 - adds r1, r0 - ldr r0, [r1] - mov r8, r0 - adds r3, 0x8 - adds r2, r3 - ldrb r0, [r1, 0x4] - lsls r0, 1 - adds r4, r2, r0 - ldrb r0, [r1, 0x5] - lsls r0, 1 - adds r6, r2, r0 - ldrh r0, [r1, 0x6] - subs r0, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - ldr r0, =gMain - mov r12, r0 - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080C1C30 - movs r0, 0x15 - bl PlaySE - bl sub_80C267C - movs r0, 0x1 - bl sub_80C21D4 - b _080C1C50 - .pool -_080C1C30: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080C1C68 - movs r0, 0x17 - bl PlaySE - bl sub_80C267C - movs r0, 0x1 - bl sub_80C21D4 - ldrh r0, [r5, 0x24] - strh r0, [r4] - ldrh r0, [r5, 0x26] - strh r0, [r6] -_080C1C50: - ldr r0, =sub_80C16CC - str r0, [r5] - movs r0, 0 - movs r1, 0x2 - bl CopyWindowToVram - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - b _080C1D2E - .pool -_080C1C68: - movs r3, 0 - mov r0, r12 - ldrh r1, [r0, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080C1CCA - ldrh r0, [r4] - cmp r0, 0 - beq _080C1C8E - bl sub_80C2638 - ldrh r0, [r4] - subs r0, 0x1 - strh r0, [r4] - ldrh r0, [r4] - bl sub_80C2650 - b _080C1CAA -_080C1C8E: - ldrh r0, [r6] - cmp r0, 0 - beq _080C1CA6 - subs r0, 0x1 - strh r0, [r6] - adds r0, r7, 0 - bl sub_80C2294 - ldrh r0, [r4] - bl sub_80C2650 - movs r3, 0x1 -_080C1CA6: - cmp r3, 0 - beq _080C1D2E -_080C1CAA: - movs r0, 0x5 - bl PlaySE - ldrh r0, [r4] - ldrh r1, [r6] - adds r0, r1 - lsls r0, 3 - add r0, r8 - ldr r0, [r0] - bl sub_80C2618 - movs r0, 0 - movs r1, 0x2 - bl CopyWindowToVram - b _080C1D2E -_080C1CCA: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080C1D2E - ldrh r0, [r4] - cmp r0, 0x4 - bhi _080C1CEE - cmp r0, r2 - bcs _080C1CEE - bl sub_80C2638 - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - ldrh r0, [r4] - bl sub_80C2650 - b _080C1D10 -_080C1CEE: - cmp r2, 0x5 - bls _080C1D0C - ldrh r1, [r6] - subs r0, r2, 0x5 - cmp r1, r0 - bge _080C1D0C - adds r0, r1, 0x1 - strh r0, [r6] - adds r0, r7, 0 - bl sub_80C2294 - movs r0, 0x5 - bl sub_80C2650 - movs r3, 0x1 -_080C1D0C: - cmp r3, 0 - beq _080C1D2E -_080C1D10: - movs r0, 0x5 - bl PlaySE - ldrh r0, [r4] - ldrh r1, [r6] - adds r0, r1 - lsls r0, 3 - add r0, r8 - ldr r0, [r0] - bl sub_80C2618 - movs r0, 0 - movs r1, 0x2 - bl CopyWindowToVram -_080C1D2E: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80C1BCC - - thumb_func_start sub_80C1D38 -sub_80C1D38: @ 80C1D38 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_80C1D70 - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C1D38 - - thumb_func_start sub_80C1D70 -sub_80C1D70: @ 80C1D70 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080C1D8C - bl sub_80C152C - adds r0, r4, 0 - bl DestroyTask -_080C1D8C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C1D70 - - thumb_func_start sub_80C1D98 -sub_80C1D98: @ 80C1D98 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r3, 0 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - lsls r2, 24 - lsrs r5, r2, 24 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x3 - bl GetBgTilemapBuffer - adds r2, r0, 0 - movs r3, 0 - cmp r3, r4 - bcs _080C1DEC - lsls r0, r5, 6 - adds r7, r0, r2 - ldr r5, =0x00000fff - lsls r2, r6, 12 -_080C1DC8: - mov r0, r8 - adds r1, r0, r3 - lsls r1, 1 - adds r1, r7 - ldrh r0, [r1] - ands r0, r5 - orrs r0, r2 - strh r0, [r1] - adds r1, 0x40 - ldrh r0, [r1] - ands r0, r5 - orrs r0, r2 - strh r0, [r1] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, r4 - bcc _080C1DC8 -_080C1DEC: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C1D98 - - thumb_func_start sub_80C1DFC -sub_80C1DFC: @ 80C1DFC - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 24 - lsrs r2, 24 - movs r0, 0x1 - ands r5, r0 - ands r2, r0 - lsls r2, 1 - orrs r5, r2 - cmp r4, 0xA - bhi _080C1EE8 - lsls r0, r4, 2 - ldr r1, =_080C1E28 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080C1E28: - .4byte _080C1E54 - .4byte _080C1E54 - .4byte _080C1E54 - .4byte _080C1E64 - .4byte _080C1E64 - .4byte _080C1E7C - .4byte _080C1E7C - .4byte _080C1E64 - .4byte _080C1E64 - .4byte _080C1EA4 - .4byte _080C1E94 -_080C1E54: - ldr r1, =gUnknown_0856ED30 - lsls r0, r4, 3 - adds r0, r1 - ldrb r1, [r0, 0x4] - ldrb r2, [r0, 0x5] - b _080C1EC2 - .pool -_080C1E64: - ldr r2, =gUnknown_0856ED48 - subs r1, r4, 0x3 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x4] - ldrb r2, [r0, 0x5] - ldrb r3, [r0, 0x6] - adds r0, r5, 0 - bl sub_80C1D98 -_080C1E7C: - ldr r2, =gUnknown_0856ED48 - subs r1, r4, 0x3 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x7] - ldrb r2, [r0, 0x8] - ldrb r3, [r0, 0x9] - b _080C1EC4 - .pool -_080C1E94: - ldr r0, =gUnknown_0856ED48 - ldrb r1, [r0, 0x1C] - ldrb r2, [r0, 0x1D] - ldrb r3, [r0, 0x1E] - b _080C1EC4 - .pool -_080C1EA4: - bl IsNationalPokedexEnabled - cmp r0, 0 - bne _080C1ED0 - ldr r2, =gUnknown_0856ED48 - subs r1, r4, 0x3 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x4] - ldrb r2, [r0, 0x5] - subs r2, 0x2 - lsls r2, 24 - lsrs r2, 24 -_080C1EC2: - ldrb r3, [r0, 0x6] -_080C1EC4: - adds r0, r5, 0 - bl sub_80C1D98 - b _080C1EE8 - .pool -_080C1ED0: - ldr r2, =gUnknown_0856ED48 - subs r1, r4, 0x3 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x4] - ldrb r2, [r0, 0x5] - ldrb r3, [r0, 0x6] - adds r0, r5, 0 - bl sub_80C1D98 -_080C1EE8: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C1DFC - - thumb_func_start sub_80C1EF4 -sub_80C1EF4: @ 80C1EF4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x1 - beq _080C1F5E - cmp r0, 0x1 - bgt _080C1F0A - cmp r0, 0 - beq _080C1F10 - b _080C203C -_080C1F0A: - cmp r1, 0x2 - beq _080C1FCE - b _080C203C -_080C1F10: - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl sub_80C1DFC - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0 - bl sub_80C1DFC - movs r0, 0x2 - movs r1, 0x1 - movs r2, 0 - bl sub_80C1DFC - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0 - bl sub_80C1DFC - movs r0, 0x4 - movs r1, 0x1 - movs r2, 0 - bl sub_80C1DFC - movs r0, 0xA - movs r1, 0x1 - movs r2, 0 - bl sub_80C1DFC - movs r0, 0x5 - movs r1, 0x1 - movs r2, 0 - bl sub_80C1DFC - movs r0, 0x6 - movs r1, 0x1 - movs r2, 0 - b _080C1FAA -_080C1F5E: - movs r0, 0 - movs r1, 0x1 - movs r2, 0 - bl sub_80C1DFC - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl sub_80C1DFC - movs r0, 0x2 - movs r1, 0x1 - movs r2, 0 - bl sub_80C1DFC - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0x1 - bl sub_80C1DFC - movs r0, 0x4 - movs r1, 0x1 - movs r2, 0x1 - bl sub_80C1DFC - movs r0, 0xA - movs r1, 0x1 - movs r2, 0x1 - bl sub_80C1DFC - movs r0, 0x5 - movs r1, 0x1 - movs r2, 0x1 - bl sub_80C1DFC - movs r0, 0x6 - movs r1, 0x1 - movs r2, 0x1 -_080C1FAA: - bl sub_80C1DFC - movs r0, 0x7 - movs r1, 0x1 - movs r2, 0 - bl sub_80C1DFC - movs r0, 0x8 - movs r1, 0x1 - movs r2, 0 - bl sub_80C1DFC - movs r0, 0x9 - movs r1, 0x1 - movs r2, 0 - bl sub_80C1DFC - b _080C203C -_080C1FCE: - movs r0, 0 - movs r1, 0x1 - movs r2, 0 - bl sub_80C1DFC - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0 - bl sub_80C1DFC - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl sub_80C1DFC - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0x1 - bl sub_80C1DFC - movs r0, 0x4 - movs r1, 0x1 - movs r2, 0x1 - bl sub_80C1DFC - movs r0, 0xA - movs r1, 0x1 - movs r2, 0x1 - bl sub_80C1DFC - movs r0, 0x5 - movs r1, 0x1 - movs r2, 0x1 - bl sub_80C1DFC - movs r0, 0x6 - movs r1, 0x1 - movs r2, 0x1 - bl sub_80C1DFC - movs r0, 0x7 - movs r1, 0x1 - movs r2, 0x1 - bl sub_80C1DFC - movs r0, 0x8 - movs r1, 0x1 - movs r2, 0x1 - bl sub_80C1DFC - movs r0, 0x9 - movs r1, 0x1 - movs r2, 0x1 - bl sub_80C1DFC -_080C203C: - pop {r0} - bx r0 - thumb_func_end sub_80C1EF4 - - thumb_func_start sub_80C2040 -sub_80C2040: @ 80C2040 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl sub_80C1EF4 - ldr r0, =gUnknown_0856ED30 - lsls r4, 3 - adds r4, r0 - ldr r0, [r4] - bl sub_80C2618 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C2040 - - thumb_func_start sub_80C2064 -sub_80C2064: @ 80C2064 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - bl sub_80C1EF4 - cmp r4, 0x6 - bhi _080C20DE - lsls r0, r4, 2 - ldr r1, =_080C2084 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080C2084: - .4byte _080C20A0 - .4byte _080C20A4 - .4byte _080C20A8 - .4byte _080C20B6 - .4byte _080C20C4 - .4byte _080C20C8 - .4byte _080C20D4 -_080C20A0: - movs r0, 0x3 - b _080C20CA -_080C20A4: - movs r0, 0x4 - b _080C20CA -_080C20A8: - movs r0, 0xA - movs r1, 0 - movs r2, 0 - bl sub_80C1DFC - movs r0, 0x5 - b _080C20CA -_080C20B6: - movs r0, 0xA - movs r1, 0 - movs r2, 0 - bl sub_80C1DFC - movs r0, 0x6 - b _080C20CA -_080C20C4: - movs r0, 0x7 - b _080C20CA -_080C20C8: - movs r0, 0x8 -_080C20CA: - movs r1, 0 - movs r2, 0 - bl sub_80C1DFC - b _080C20DE -_080C20D4: - movs r0, 0x9 - movs r1, 0 - movs r2, 0 - bl sub_80C1DFC -_080C20DE: - ldr r0, =gUnknown_0856ED48 - lsls r1, r4, 1 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - bl sub_80C2618 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C2064 - - thumb_func_start sub_80C20F8 -sub_80C20F8: @ 80C20F8 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x28 - movs r1, 0x10 - movs r2, 0x60 - movs r3, 0x50 - bl sub_80C12B0 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r5, r0, r1 - ldrh r0, [r5, 0x16] - ldrh r1, [r5, 0x14] - adds r0, r1 - lsls r0, 16 - ldr r1, =gUnknown_0856EE5C - lsrs r0, 13 - adds r1, 0x4 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x2D - movs r2, 0x11 - bl sub_80C1270 - ldrh r0, [r5, 0x1A] - ldrh r1, [r5, 0x18] - adds r0, r1 - lsls r0, 16 - ldr r1, =gUnknown_0856EEB4 - lsrs r0, 13 - adds r1, 0x4 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x2D - movs r2, 0x21 - bl sub_80C1270 - ldrh r0, [r5, 0x1E] - ldrh r1, [r5, 0x1C] - adds r0, r1 - lsls r0, 16 - ldr r4, =gUnknown_0856EF14 - lsrs r0, 13 - adds r4, 0x4 - adds r0, r4 - ldr r0, [r0] - movs r1, 0x2D - movs r2, 0x31 - bl sub_80C1270 - ldrh r0, [r5, 0x22] - ldrh r1, [r5, 0x20] - adds r0, r1 - lsls r0, 16 - lsrs r0, 13 - adds r0, r4 - ldr r0, [r0] - movs r1, 0x5D - movs r2, 0x31 - bl sub_80C1270 - ldrh r0, [r5, 0x12] - ldrh r1, [r5, 0x10] - adds r0, r1 - lsls r0, 16 - ldr r1, =gUnknown_0856EE24 - lsrs r0, 13 - adds r1, 0x4 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x2D - movs r2, 0x41 - bl sub_80C1270 - bl IsNationalPokedexEnabled - cmp r0, 0 - beq _080C21B6 - ldrh r0, [r5, 0xE] - ldrh r5, [r5, 0xC] - adds r0, r5 - lsls r0, 16 - ldr r1, =gUnknown_0856EE0C - lsrs r0, 13 - adds r1, 0x4 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x2D - movs r2, 0x51 - bl sub_80C1270 -_080C21B6: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C20F8 - - thumb_func_start sub_80C21D4 -sub_80C21D4: @ 80C21D4 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x3 - bl GetBgTilemapBuffer - adds r5, r0, 0 - cmp r4, 0 - bne _080C2268 - ldr r1, =0x00000c0b - adds r0, r1, 0 - strh r0, [r5, 0x22] - movs r1, 0x12 - ldr r0, =0x0000080d - adds r2, r0, 0 -_080C21F4: - lsls r0, r1, 1 - adds r0, r5 - strh r2, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0x1E - bls _080C21F4 - movs r2, 0x1 - ldr r1, =0x0000040a - adds r6, r1, 0 - movs r4, 0x2 -_080C220C: - lsls r0, r2, 6 - adds r0, r5 - strh r6, [r0, 0x22] - movs r1, 0x12 - adds r3, r2, 0x1 - adds r2, r0, 0 -_080C2218: - lsls r0, r1, 1 - adds r0, r2 - strh r4, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0x1E - bls _080C2218 - lsls r0, r3, 16 - lsrs r2, r0, 16 - cmp r2, 0xC - bls _080C220C - ldr r2, =0x00000362 - adds r1, r5, r2 - adds r2, 0xA9 - adds r0, r2, 0 - strh r0, [r1] - movs r1, 0x12 - movs r3, 0xD0 - lsls r3, 2 - movs r2, 0xD -_080C2242: - lsls r0, r1, 1 - adds r0, r5 - adds r0, r3 - strh r2, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0x1E - bls _080C2242 - b _080C228C - .pool -_080C2268: - movs r2, 0 - movs r4, 0x4F -_080C226C: - movs r1, 0x11 - lsls r0, r2, 6 - adds r3, r2, 0x1 - adds r2, r0, r5 -_080C2274: - lsls r0, r1, 1 - adds r0, r2 - strh r4, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0x1D - bls _080C2274 - lsls r0, r3, 16 - lsrs r2, r0, 16 - cmp r2, 0xD - bls _080C226C -_080C228C: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80C21D4 - - thumb_func_start sub_80C2294 -sub_80C2294: @ 80C2294 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - ldr r4, =gUnknown_0856EFC8 - ldr r3, =gTasks - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 3 - adds r0, r2, r3 - movs r5, 0xA - ldrsh r1, [r0, r5] - lsls r1, 3 - adds r1, r4 - ldr r6, [r1] - adds r3, 0x8 - adds r2, r3 - ldrb r0, [r1, 0x4] - lsls r0, 1 - adds r0, r2 - mov r8, r0 - ldrb r0, [r1, 0x5] - lsls r0, 1 - adds r7, r2, r0 - bl sub_80C267C - movs r5, 0 - ldrh r4, [r7] - b _080C22F2 - .pool -_080C22D8: - adds r0, r1, r6 - ldr r1, [r0, 0x4] - adds r0, r5, 0 - bl sub_80C2668 - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r5, 0x5 - bhi _080C22FC -_080C22F2: - lsls r1, r4, 3 - adds r0, r1, r6 - ldr r0, [r0, 0x4] - cmp r0, 0 - bne _080C22D8 -_080C22FC: - mov r1, r8 - ldrh r0, [r1] - ldrh r1, [r7] - adds r0, r1 - lsls r0, 3 - adds r0, r6 - ldr r0, [r0] - bl sub_80C2618 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80C2294 - - thumb_func_start sub_80C2318 -sub_80C2318: @ 80C2318 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r3, r1, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r1, r0 - ldr r2, =gUnknown_0856EFC8 - lsls r0, r3, 3 - adds r0, r2 - ldrb r2, [r0, 0x4] - lsls r2, 1 - adds r2, r1, r2 - ldrb r0, [r0, 0x5] - lsls r0, 1 - adds r1, r0 - ldrh r0, [r1] - ldrh r2, [r2] - adds r0, r2 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r3, 0x5 - bhi _080C237C - lsls r0, r3, 2 - ldr r1, =_080C2364 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080C2364: - .4byte _080C2390 - .4byte _080C239A - .4byte _080C23AA - .4byte _080C23AA - .4byte _080C2388 - .4byte _080C2380 -_080C237C: - movs r0, 0 - b _080C23B0 -_080C2380: - ldr r0, =gUnknown_0856EFAC - b _080C23AC - .pool -_080C2388: - ldr r0, =gUnknown_0856EFAE - b _080C23AC - .pool -_080C2390: - cmp r2, 0 - beq _080C239E - lsls r0, r2, 24 - lsrs r0, 24 - b _080C23B0 -_080C239A: - cmp r2, 0 - bne _080C23A2 -_080C239E: - movs r0, 0xFF - b _080C23B0 -_080C23A2: - subs r0, r2, 0x1 - lsls r0, 24 - lsrs r0, 24 - b _080C23B0 -_080C23AA: - ldr r0, =gUnknown_0856EFB4 -_080C23AC: - adds r0, r2, r0 - ldrb r0, [r0] -_080C23B0: - pop {r1} - bx r1 - .pool - thumb_func_end sub_80C2318 - - thumb_func_start sub_80C23B8 -sub_80C23B8: @ 80C23B8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gUnknown_02039B4C - ldr r0, [r1] - ldr r2, =0x00000614 - adds r0, r2 - ldrh r0, [r0] - adds r5, r1, 0 - cmp r0, 0 - beq _080C23D2 - cmp r0, 0x1 - beq _080C23E0 -_080C23D2: - movs r3, 0 - b _080C23E2 - .pool -_080C23E0: - movs r3, 0x1 -_080C23E2: - ldr r1, =gTasks - lsls r2, r4, 2 - adds r0, r2, r4 - lsls r0, 3 - adds r0, r1 - strh r3, [r0, 0xC] - ldr r0, [r5] - movs r3, 0xC3 - lsls r3, 3 - adds r0, r3 - ldrh r0, [r0] - adds r5, r1, 0 - cmp r0, 0x5 - bhi _080C2428 - lsls r0, 2 - ldr r1, =_080C2410 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080C2410: - .4byte _080C2428 - .4byte _080C242C - .4byte _080C2430 - .4byte _080C2434 - .4byte _080C2438 - .4byte _080C243C -_080C2428: - movs r3, 0 - b _080C243E -_080C242C: - movs r3, 0x1 - b _080C243E -_080C2430: - movs r3, 0x2 - b _080C243E -_080C2434: - movs r3, 0x3 - b _080C243E -_080C2438: - movs r3, 0x4 - b _080C243E -_080C243C: - movs r3, 0x5 -_080C243E: - adds r0, r2, r4 - lsls r0, 3 - adds r0, r5 - strh r3, [r0, 0x10] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80C23B8 - - thumb_func_start sub_80C244C -sub_80C244C: @ 80C244C - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r3, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r0, r1, r3 - ldrb r2, [r0, 0xA] - adds r3, 0x8 - adds r1, r3 - ldr r0, =gUnknown_0856EFC8 - lsls r2, 3 - adds r2, r0 - ldrb r0, [r2, 0x5] - lsls r0, 1 - adds r1, r0 - ldrh r0, [r2, 0x6] - subs r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x5 - bls _080C248C - ldrh r0, [r1] - cmp r0, 0 - beq _080C248C - movs r0, 0 - b _080C248E - .pool -_080C248C: - movs r0, 0x1 -_080C248E: - pop {r1} - bx r1 - thumb_func_end sub_80C244C - - thumb_func_start sub_80C2494 -sub_80C2494: @ 80C2494 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r3, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r0, r1, r3 - ldrb r2, [r0, 0xA] - adds r3, 0x8 - adds r1, r3 - ldr r0, =gUnknown_0856EFC8 - lsls r2, 3 - adds r2, r0 - ldrb r0, [r2, 0x5] - lsls r0, 1 - adds r1, r0 - ldrh r0, [r2, 0x6] - subs r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x5 - bls _080C24D8 - ldrh r1, [r1] - subs r0, 0x5 - cmp r1, r0 - bge _080C24D8 - movs r0, 0 - b _080C24DA - .pool -_080C24D8: - movs r0, 0x1 -_080C24DA: - pop {r1} - bx r1 - thumb_func_end sub_80C2494 - - thumb_func_start sub_80C24E0 -sub_80C24E0: @ 80C24E0 - push {r4,lr} - adds r4, r0, 0 - ldr r2, =gTasks - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldr r1, [r0] - ldr r0, =sub_80C1BCC - cmp r1, r0 - bne _080C2580 - movs r1, 0x30 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080C2528 - ldrh r0, [r4, 0x2E] - lsls r0, 24 - lsrs r0, 24 - bl sub_80C2494 - lsls r0, 24 - cmp r0, 0 - beq _080C2544 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - b _080C2550 - .pool -_080C2528: - ldrh r0, [r4, 0x2E] - lsls r0, 24 - lsrs r0, 24 - bl sub_80C244C - lsls r0, 24 - cmp r0, 0 - beq _080C2544 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - b _080C2550 -_080C2544: - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 -_080C2550: - strb r0, [r2] - ldrh r2, [r4, 0x32] - movs r1, 0x30 - ldrsh r0, [r4, r1] - lsls r0, 7 - adds r0, r2, r0 - lsls r0, 24 - ldr r1, =gSineTable - lsrs r0, 23 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bge _080C256E - adds r0, 0x7F -_080C256E: - asrs r0, 7 - strh r0, [r4, 0x26] - adds r0, r2, 0 - adds r0, 0x8 - strh r0, [r4, 0x32] - b _080C258C - .pool -_080C2580: - adds r0, r4, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_080C258C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80C24E0 - - thumb_func_start sub_80C2594 -sub_80C2594: @ 80C2594 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r6, =gUnknown_0855D1AC - adds r0, r6, 0 - movs r1, 0xB8 - movs r2, 0x4 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r4, =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r0, r1, r4 - movs r2, 0 - strh r5, [r0, 0x2E] - strh r2, [r0, 0x30] - movs r0, 0x1C - adds r0, r4 - mov r9, r0 - add r1, r9 - ldr r0, =sub_80C24E0 - mov r8, r0 - str r0, [r1] - adds r0, r6, 0 - movs r1, 0xB8 - movs r2, 0x6C - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r4, r1, r4 - strh r5, [r4, 0x2E] - movs r0, 0x1 - strh r0, [r4, 0x30] - adds r4, 0x3F - ldrb r0, [r4] - movs r2, 0x2 - orrs r0, r2 - strb r0, [r4] - add r1, r9 - mov r0, r8 - str r0, [r1] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C2594 - - thumb_func_start sub_80C2618 -sub_80C2618: @ 80C2618 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x8 - movs r1, 0x78 - movs r2, 0xE0 - movs r3, 0x20 - bl sub_80C12B0 - adds r0, r4, 0 - movs r1, 0x8 - movs r2, 0x79 - bl sub_80C1270 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80C2618 - - thumb_func_start sub_80C2638 -sub_80C2638: @ 80C2638 - push {lr} - adds r1, r0, 0 - lsls r1, 4 - adds r1, 0x8 - movs r0, 0x90 - movs r2, 0x8 - movs r3, 0x10 - bl sub_80C12B0 - pop {r0} - bx r0 - thumb_func_end sub_80C2638 - - thumb_func_start sub_80C2650 -sub_80C2650: @ 80C2650 - push {lr} - adds r2, r0, 0 - ldr r0, =gText_SelectorArrow - lsls r2, 4 - adds r2, 0x9 - movs r1, 0x90 - bl sub_80C1270 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C2650 - - thumb_func_start sub_80C2668 -sub_80C2668: @ 80C2668 - push {lr} - adds r2, r0, 0 - adds r0, r1, 0 - lsls r2, 4 - adds r2, 0x9 - movs r1, 0x98 - bl sub_80C1270 - pop {r0} - bx r0 - thumb_func_end sub_80C2668 - - thumb_func_start sub_80C267C -sub_80C267C: @ 80C267C - push {lr} - movs r0, 0x90 - movs r1, 0x8 - movs r2, 0x60 - movs r3, 0x60 - bl sub_80C12B0 - pop {r0} - bx r0 - thumb_func_end sub_80C267C - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s index 5988eb732..24e041b7f 100644 --- a/asm/pokemon_storage_system.s +++ b/asm/pokemon_storage_system.s @@ -1837,7 +1837,7 @@ _080C805E: movs r0, 0x1 movs r1, 0xB movs r2, 0xE0 - bl sub_809882C + bl LoadUserWindowBorderGfx b _080C8198 .pool _080C808C: @@ -6712,7 +6712,7 @@ sub_80CAC1C: @ 80CAC1C movs r0, 0x1 movs r1, 0x2 movs r2, 0xD0 - bl sub_809882C + bl LoadUserWindowBorderGfx movs r0, 0x20 str r0, [sp] movs r0, 0x14 @@ -6737,7 +6737,7 @@ sub_80CAC58: @ 80CAC58 sub sp, 0xC lsls r0, 24 lsrs r6, r0, 24 - bl UnkTextUtil_Reset + bl DynamicPlaceholderTextUtil_Reset ldr r1, =gUnknown_0857276C lsls r0, r6, 3 adds r0, r1 @@ -6774,7 +6774,7 @@ _080CACB8: adds r1, r2 _080CACC0: movs r0, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr b _080CAD30 .pool _080CACD0: @@ -6817,7 +6817,7 @@ _080CAD16: ldr r0, =0x000021eb adds r1, r0 movs r0, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr _080CAD30: ldr r5, =gUnknown_02039D08 ldr r0, [r5] @@ -6827,7 +6827,7 @@ _080CAD30: lsls r1, r6, 3 adds r1, r2 ldr r1, [r1] - bl UnkTextUtil_StringExpandPlaceholders + bl DynamicPlaceholderTextUtil_ExpandPlaceholders movs r0, 0x1 movs r1, 0x11 bl FillWindowPixelBuffer diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s index c7f2ad085..b2cba6dab 100644 --- a/asm/pokemon_summary_screen.s +++ b/asm/pokemon_summary_screen.s @@ -5,869 +5,7 @@ .text - thumb_func_start sub_81C3E2C -sub_81C3E2C: @ 81C3E2C - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x4 - bne _081C3E48 - ldr r0, =gUnknown_0203CF1C - ldr r0, [r0] - ldr r1, =0x000040c4 - b _081C3E50 - .pool -_081C3E48: - ldr r0, =gUnknown_0203CF1C - ldr r0, [r0] - lsls r1, 1 - adds r0, 0x84 -_081C3E50: - adds r0, r1 - ldrh r4, [r0] - cmp r4, 0 - beq _081C3E82 - ldr r0, =gUnknown_0861CD14 - movs r1, 0x2 - bl sub_81C2D2C - lsls r0, 24 - lsrs r0, 24 - ldr r3, =gContestEffectDescriptionPointers - ldr r2, =gContestMoves - lsls r1, r4, 3 - adds r1, r2 - ldrb r1, [r1] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - movs r2, 0 - str r2, [sp] - str r2, [sp, 0x4] - movs r2, 0x6 - movs r3, 0x1 - bl sub_81C25A4 -_081C3E82: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C3E2C - - thumb_func_start sub_81C3E9C -sub_81C3E9C: @ 81C3E9C - push {r4-r6,lr} - sub sp, 0x8 - lsls r0, 16 - lsrs r4, r0, 16 - adds r6, r4, 0 - ldr r0, =gUnknown_0861CD14 - movs r1, 0x2 - bl sub_81C2D2C - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r5, 0 - movs r1, 0 - bl FillWindowPixelBuffer - cmp r4, 0 - beq _081C3F30 - ldr r0, =gUnknown_0203CF1C - ldr r0, [r0] - ldr r1, =0x000040c0 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x2 - bne _081C3F00 - adds r0, r4, 0 - bl sub_81C3C5C - ldr r1, =gMoveDescriptionPointers - subs r0, r4, 0x1 - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - movs r0, 0 - str r0, [sp] - str r0, [sp, 0x4] - adds r0, r5, 0 - movs r2, 0x6 - movs r3, 0x1 - bl sub_81C25A4 - b _081C3F20 - .pool -_081C3F00: - ldr r2, =gContestEffectDescriptionPointers - ldr r1, =gContestMoves - lsls r0, r6, 3 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r2 - ldr r1, [r0] - movs r0, 0 - str r0, [sp] - str r0, [sp, 0x4] - adds r0, r5, 0 - movs r2, 0x6 - movs r3, 0x1 - bl sub_81C25A4 -_081C3F20: - adds r0, r5, 0 - bl PutWindowTilemap - b _081C3F36 - .pool -_081C3F30: - adds r0, r5, 0 - bl ClearWindowTilemap -_081C3F36: - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81C3E9C - - thumb_func_start sub_81C3F44 -sub_81C3F44: @ 81C3F44 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - ldr r4, =gUnknown_0861CD14 - adds r0, r4, 0 - movs r1, 0 - bl sub_81C2D2C - lsls r0, 24 - lsrs r6, r0, 24 - adds r7, r6, 0 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_81C2D2C - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, =gUnknown_0203CF1C - ldr r1, [r0] - ldr r2, =0x000040c4 - adds r0, r1, r2 - ldrh r2, [r0] - cmp r2, 0 - bne _081C3F9C - ldr r1, =gText_Cancel - str r2, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - adds r0, r6, 0 - movs r2, 0 - movs r3, 0x41 - bl sub_81C25A4 - b _081C4044 - .pool -_081C3F9C: - ldrh r5, [r0] - ldr r2, =0x000040c0 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0x2 - bne _081C3FD0 - movs r0, 0xD - adds r1, r5, 0 - muls r1, r0 - ldr r0, =gMoveNames - adds r1, r0 - movs r0, 0 - str r0, [sp] - movs r0, 0x6 - str r0, [sp, 0x4] - adds r0, r6, 0 - movs r2, 0 - movs r3, 0x41 - bl sub_81C25A4 - b _081C3FEC - .pool -_081C3FD0: - movs r0, 0xD - adds r1, r5, 0 - muls r1, r0 - ldr r0, =gMoveNames - adds r1, r0 - movs r0, 0 - str r0, [sp] - movs r0, 0x5 - str r0, [sp, 0x4] - adds r0, r7, 0 - movs r2, 0 - movs r3, 0x41 - bl sub_81C25A4 -_081C3FEC: - ldr r4, =gStringVar1 - ldr r1, =gBattleMoves - lsls r0, r5, 1 - adds r0, r5 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x4] - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - bl UnkTextUtil_Reset - movs r0, 0 - adds r1, r4, 0 - bl UnkTextUtil_SetPtrI - movs r0, 0x1 - adds r1, r4, 0 - bl UnkTextUtil_SetPtrI - ldr r4, =gStringVar4 - ldr r1, =gUnknown_0861CE97 - adds r0, r4, 0 - bl UnkTextUtil_StringExpandPlaceholders - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0x2C - bl GetStringRightAlignXOffset - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - movs r0, 0 - str r0, [sp] - movs r0, 0xC - str r0, [sp, 0x4] - mov r0, r8 - adds r1, r4, 0 - movs r3, 0x41 - bl sub_81C25A4 -_081C4044: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C3F44 - - thumb_func_start sub_81C4064 -sub_81C4064: @ 81C4064 - push {r4,lr} - sub sp, 0x8 - ldr r0, =gUnknown_0861CD14 - movs r1, 0 - bl sub_81C2D2C - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x48 - str r0, [sp] - movs r0, 0x10 - str r0, [sp, 0x4] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0x42 - bl FillWindowPixelRect - adds r0, r4, 0 - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4064 - - thumb_func_start sub_81C40A0 -sub_81C40A0: @ 81C40A0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - mov r9, r0 - mov r10, r1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - mov r0, r10 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - ldr r5, =gUnknown_0861CD14 - adds r0, r5, 0 - movs r1, 0 - bl sub_81C2D2C - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0x1 - bl sub_81C2D2C - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - mov r0, r9 - lsls r6, r0, 4 - movs r0, 0x48 - mov r8, r0 - str r0, [sp] - movs r0, 0x10 - str r0, [sp, 0x4] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0 - adds r3, r6, 0 - bl FillWindowPixelRect - mov r0, r10 - lsls r7, r0, 4 - mov r0, r8 - str r0, [sp] - movs r0, 0x10 - str r0, [sp, 0x4] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0 - adds r3, r7, 0 - bl FillWindowPixelRect - movs r4, 0x30 - str r4, [sp] - movs r0, 0x10 - str r0, [sp, 0x4] - adds r0, r5, 0 - movs r1, 0 - movs r2, 0 - adds r3, r6, 0 - bl FillWindowPixelRect - str r4, [sp] - movs r0, 0x10 - str r0, [sp, 0x4] - adds r0, r5, 0 - movs r1, 0 - movs r2, 0 - adds r3, r7, 0 - bl FillWindowPixelRect - mov r0, r9 - bl sub_81C3B08 - mov r0, r10 - bl sub_81C3B08 - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C40A0 - - thumb_func_start sub_81C4154 -sub_81C4154: @ 81C4154 - push {r4,lr} - sub sp, 0x8 - ldr r0, =gUnknown_0861CD14 - movs r1, 0x2 - bl sub_81C2D2C - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0 - bl FillWindowPixelBuffer - ldr r1, =gText_HMMovesCantBeForgotten2 - movs r0, 0 - str r0, [sp] - str r0, [sp, 0x4] - adds r0, r4, 0 - movs r2, 0x6 - movs r3, 0x1 - bl sub_81C25A4 - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4154 - - thumb_func_start sub_81C4190 -sub_81C4190: @ 81C4190 - push {r4,r5,lr} - movs r2, 0 - ldr r5, =gUnknown_0203CF1C - ldr r4, =0x000040d3 - movs r3, 0xFF -_081C419A: - ldr r0, [r5] - adds r0, r4 - adds r0, r2 - ldrb r1, [r0] - orrs r1, r3 - strb r1, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x1B - bls _081C419A - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4190 - - thumb_func_start sub_81C41C0 -sub_81C41C0: @ 81C41C0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r5, =gUnknown_0203CF1C - ldr r0, [r5] - ldr r1, =0x000040d3 - adds r0, r1 - adds r1, r0, r4 - ldrb r0, [r1] - cmp r0, 0xFF - beq _081C41F2 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl DestroySprite - ldr r0, [r5] - ldr r1, =0x000040d3 - adds r0, r1 - adds r0, r4 - movs r1, 0xFF - strb r1, [r0] -_081C41F2: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C41C0 - - thumb_func_start sub_81C4204 -sub_81C4204: @ 81C4204 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r3, =gSprites - ldr r2, =gUnknown_0203CF1C - ldr r2, [r2] - ldr r4, =0x000040d3 - adds r2, r4 - adds r2, r0 - ldrb r0, [r2] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r3 - adds r2, 0x3E - movs r0, 0x1 - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4204 - - thumb_func_start sub_81C424C -sub_81C424C: @ 81C424C - push {r4,lr} - movs r4, 0x3 -_081C4250: - ldr r0, =gUnknown_0203CF1C - ldr r0, [r0] - ldr r1, =0x000040d3 - adds r0, r1 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0xFF - beq _081C4268 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_81C4204 -_081C4268: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1B - bls _081C4250 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C424C - thumb_func_start sub_81C4280 -sub_81C4280: @ 81C4280 - push {lr} - ldr r0, =gUnknown_0203CF1C - ldr r0, [r0] - ldr r1, =0x000040c0 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x2 - beq _081C42B0 - cmp r0, 0x2 - bgt _081C42A4 - cmp r0, 0 - beq _081C42AA - b _081C42C2 - .pool -_081C42A4: - cmp r0, 0x3 - beq _081C42BA - b _081C42C2 -_081C42AA: - bl sub_81C43A0 - b _081C42C2 -_081C42B0: - bl sub_81C4420 - bl sub_81C44F0 - b _081C42C2 -_081C42BA: - bl sub_81C4484 - bl sub_81C44F0 -_081C42C2: - pop {r0} - bx r0 - thumb_func_end sub_81C4280 - - thumb_func_start sub_81C42C8 -sub_81C42C8: @ 81C42C8 - push {r4,r5,lr} - movs r4, 0x3 - ldr r5, =gUnknown_0203CF1C -_081C42CE: - ldr r0, [r5] - ldr r1, =0x000040d3 - adds r0, r1 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0xFF - bne _081C42F2 - ldr r0, =gUnknown_0861CFC4 - movs r1, 0 - movs r2, 0 - movs r3, 0x2 - bl CreateSprite - ldr r1, [r5] - ldr r2, =0x000040d3 - adds r1, r2 - adds r1, r4 - strb r0, [r1] -_081C42F2: - adds r0, r4, 0 - movs r1, 0x1 - bl sub_81C4204 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x7 - bls _081C42CE - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C42C8 - - thumb_func_start sub_81C4318 -sub_81C4318: @ 81C4318 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x4 - adds r5, r0, 0 - adds r6, r1, 0 - mov r8, r2 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r3, 24 - lsrs r3, 24 - ldr r0, =gUnknown_0203CF1C - ldr r0, [r0] - ldr r1, =0x000040d3 - adds r0, r1 - adds r0, r3 - ldrb r0, [r0] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, =gSprites - adds r4, r0 - adds r0, r4, 0 - adds r1, r5, 0 - str r3, [sp] - bl StartSpriteAnim - ldr r0, =gUnknown_0861CFDC - adds r5, r0 - ldrb r1, [r5] - lsls r1, 4 - ldrb r2, [r4, 0x5] - movs r0, 0xF - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x5] - adds r6, 0x10 - strh r6, [r4, 0x20] - movs r0, 0x8 - add r8, r0 - mov r1, r8 - strh r1, [r4, 0x22] - ldr r3, [sp] - adds r0, r3, 0 - movs r1, 0 - bl sub_81C4204 - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4318 - - thumb_func_start sub_81C43A0 -sub_81C43A0: @ 81C43A0 - push {r4,r5,lr} - ldr r0, =gUnknown_0203CF1C - ldr r0, [r0] - adds r5, r0, 0 - adds r5, 0x70 - ldrb r0, [r5, 0x4] - cmp r0, 0 - beq _081C43CC - movs r0, 0x9 - movs r1, 0x78 - movs r2, 0x30 - movs r3, 0x3 - bl sub_81C4318 - movs r0, 0x4 - movs r1, 0x1 - bl sub_81C4204 - b _081C4418 - .pool -_081C43CC: - ldr r4, =gBaseStats - ldrh r1, [r5] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x6] - movs r1, 0x78 - movs r2, 0x30 - movs r3, 0x3 - bl sub_81C4318 - ldrh r1, [r5] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r1, r0, r4 - ldrb r0, [r1, 0x6] - ldrb r2, [r1, 0x7] - cmp r0, r2 - beq _081C4410 - ldrb r0, [r1, 0x7] - movs r1, 0xA0 - movs r2, 0x30 - movs r3, 0x4 - bl sub_81C4318 - movs r0, 0x4 - movs r1, 0 - bl sub_81C4204 - b _081C4418 - .pool -_081C4410: - movs r0, 0x4 - movs r1, 0x1 - bl sub_81C4204 -_081C4418: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81C43A0 - - thumb_func_start sub_81C4420 -sub_81C4420: @ 81C4420 - push {r4-r6,lr} - ldr r0, =gUnknown_0203CF1C - ldr r0, [r0] - adds r5, r0, 0 - adds r5, 0x70 - movs r4, 0 - ldr r6, =gBattleMoves -_081C442E: - lsls r0, r4, 1 - adds r1, r5, 0 - adds r1, 0x14 - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0 - beq _081C4468 - adds r1, r0, 0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrb r0, [r0, 0x2] - lsls r2, r4, 28 - movs r1, 0x80 - lsls r1, 22 - adds r2, r1 - lsrs r2, 24 - adds r3, r4, 0x3 - lsls r3, 24 - lsrs r3, 24 - movs r1, 0x55 - bl sub_81C4318 - b _081C4474 - .pool -_081C4468: - adds r0, r4, 0x3 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_81C4204 -_081C4474: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _081C442E - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81C4420 - - thumb_func_start sub_81C4484 -sub_81C4484: @ 81C4484 - push {r4,r5,lr} - ldr r0, =gUnknown_0203CF1C - ldr r0, [r0] - adds r5, r0, 0 - adds r5, 0x70 - movs r4, 0 -_081C4490: - lsls r0, r4, 1 - adds r1, r5, 0 - adds r1, 0x14 - adds r2, r1, r0 - ldrh r0, [r2] - cmp r0, 0 - beq _081C44D4 - ldr r1, =gContestMoves - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0, 0x1] - lsls r0, 29 - lsrs r0, 5 - movs r1, 0x90 - lsls r1, 21 - adds r0, r1 - lsrs r0, 24 - lsls r2, r4, 28 - movs r1, 0x80 - lsls r1, 22 - adds r2, r1 - lsrs r2, 24 - adds r3, r4, 0x3 - lsls r3, 24 - lsrs r3, 24 - movs r1, 0x55 - bl sub_81C4318 - b _081C44E0 - .pool -_081C44D4: - adds r0, r4, 0x3 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_81C4204 -_081C44E0: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _081C4490 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81C4484 - - thumb_func_start sub_81C44F0 -sub_81C44F0: @ 81C44F0 - push {lr} - ldr r0, =gUnknown_0203CF1C - ldr r1, [r0] - ldr r0, =0x000040c4 - adds r3, r1, r0 - ldrh r0, [r3] - cmp r0, 0 - bne _081C4514 - movs r0, 0x7 - movs r1, 0x1 - bl sub_81C4204 - b _081C4560 - .pool -_081C4514: - ldr r2, =0x000040c0 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0x2 - bne _081C4540 - ldr r2, =gBattleMoves - ldrh r1, [r3] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x2] - movs r1, 0x55 - movs r2, 0x60 - movs r3, 0x7 - bl sub_81C4318 - b _081C4560 - .pool -_081C4540: - ldr r1, =gContestMoves - ldrh r0, [r3] - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0, 0x1] - lsls r0, 29 - lsrs r0, 5 - movs r1, 0x90 - lsls r1, 21 - adds r0, r1 - lsrs r0, 24 - movs r1, 0x55 - movs r2, 0x60 - movs r3, 0x7 - bl sub_81C4318 -_081C4560: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C44F0 thumb_func_start sub_81C4568 sub_81C4568: @ 81C4568 @@ -1092,7 +230,7 @@ _081C4750: bl LoadCompressedObjectPalette ldrh r0, [r4, 0x4] movs r1, 0x1 - bl sub_806A068 + bl SetMultiuseSpriteTemplateToPokemon _081C4768: ldrh r0, [r6] adds r0, 0x1 @@ -1116,7 +254,7 @@ sub_81C4778: @ 81C4778 bne _081C47AE adds r0, r1, 0 adds r0, 0xC - bl ShouldPlayNormalPokeCry + bl ShouldPlayNormalMonCry cmp r0, 0x1 bne _081C47A4 ldrh r0, [r4, 0x2] @@ -1144,7 +282,7 @@ sub_81C47B4: @ 81C47B4 ldr r0, =gUnknown_0203CF1C ldr r6, [r0] adds r6, 0x70 - ldr r0, =gUnknown_0202499C + ldr r0, =gMultiuseSpriteTemplate movs r1, 0x28 movs r2, 0x40 movs r3, 0x5 @@ -2070,7 +1208,7 @@ sub_81C4F44: @ 81C4F44 cmp r0, 0 bne _081C4F6E bl overworld_free_bg_tilemaps - ldr r0, =gUnknown_03005DB0 + ldr r0, =gFieldCallback2 ldr r1, =hm_add_c3_without_phase_2 str r1, [r0] ldr r1, =CB2_ReturnToField @@ -2869,7 +2007,7 @@ sub_81C5674: @ 81C5674 movs r1, 0xAC movs r2, 0xC movs r3, 0x94 - bl AddScrollIndicatorArrowPairParametrized + bl AddScrollIndicatorArrowPairParameterized ldr r1, [r4] ldr r2, =0x00000816 adds r1, r2 @@ -4868,7 +4006,7 @@ sub_81C67CC: @ 81C67CC ldrb r0, [r5] movs r1, 0x10 movs r2, 0x1 - bl sub_81AF15C + bl ListMenuSetUnkIndicatorsStructField ldr r0, =gSaveBlock2Ptr ldr r3, [r0] movs r0, 0x2 @@ -5293,11 +4431,11 @@ sub_81C6BD8: @ 81C6BD8 movs r0, 0 movs r1, 0x1 movs r2, 0xE0 - bl sub_809882C + bl LoadUserWindowBorderGfx movs r0, 0 movs r1, 0xA movs r2, 0xD0 - bl copy_textbox_border_tile_patterns_to_vram + bl LoadMessageBoxGfx ldr r0, =gUnknown_0860F074 movs r1, 0xF0 movs r2, 0x20 diff --git a/asm/pokenav.s b/asm/pokenav.s index c36dfbeca..dd2dbf4e0 100644 --- a/asm/pokenav.s +++ b/asm/pokenav.s @@ -66,7 +66,7 @@ sub_81C72BC: @ 81C72BC str r0, [r4] cmp r0, 0 bne _081C72F0 - ldr r0, =CB2_ReturnToFieldContinueScript + ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic bl SetMainCallback2 b _081C7320 .pool @@ -351,7 +351,7 @@ _081C752C: bl sub_81C7334 cmp r4, 0 beq _081C755C - ldr r0, =CB2_ReturnToFieldContinueScript + ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic bl SetMainCallback2 b _081C7562 .pool @@ -1568,7 +1568,7 @@ sub_81C7E58: @ 81C7E58 ldr r2, [r6] mov r8, r2 mov r0, r8 - bl sub_8034974 + bl GetDecompressedDataSize adds r5, r0, 0 lsls r4, 5 ldr r0, =gPokenavLeftHeader_Pal @@ -1650,7 +1650,7 @@ sub_81C7F24: @ 81C7F24 adds r1, r2 ldr r6, [r1] adds r0, r6, 0 - bl sub_8034974 + bl GetDecompressedDataSize adds r5, r0, 0 lsls r4, 5 ldr r0, =gPokenavLeftHeader_Pal @@ -10101,7 +10101,7 @@ sub_81CC09C: @ 81CC09C ldrb r0, [r4, 0x14] movs r1, 0x1 movs r2, 0x40 - bl sub_809882C + bl LoadUserWindowBorderGfx ldrb r0, [r4, 0x14] movs r1, 0x1 movs r2, 0x4 @@ -11351,7 +11351,7 @@ sub_81CCA1C: @ 81CCA1C lsrs r0, 24 movs r1, 0x42 movs r2, 0x40 - bl box_border_load_tiles_and_pal + bl LoadUserWindowBorderGfx_ ldrb r0, [r5, 0x8] movs r1, 0x42 movs r2, 0x4 @@ -16941,17 +16941,17 @@ sub_81CF7F4: @ 81CF7F4 mov r8, r0 bl sub_81CF0F0 adds r7, r0, 0 - bl UnkTextUtil_Reset + bl DynamicPlaceholderTextUtil_Reset ldr r4, =gStringVar1 movs r0, 0 adds r1, r4, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr movs r0, 0xFF strb r0, [r4] ldr r5, =gStringVar2 ldr r1, =gText_NumberF700 adds r0, r5, 0 - bl UnkTextUtil_StringExpandPlaceholders + bl DynamicPlaceholderTextUtil_ExpandPlaceholders mov r1, r8 ldrb r0, [r1, 0x8] movs r1, 0x1 @@ -19854,14 +19854,14 @@ sub_81D0E84: @ 81D0E84 movs r2, 0 movs r3, 0x2 bl ConvertIntToDecimalStringN - bl UnkTextUtil_Reset + bl DynamicPlaceholderTextUtil_Reset movs r0, 0 adds r1, r4, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr ldr r4, =gStringVar4 ldr r1, =gText_RibbonsF700 adds r0, r4, 0 - bl UnkTextUtil_StringExpandPlaceholders + bl DynamicPlaceholderTextUtil_ExpandPlaceholders ldrb r0, [r5, 0xA] movs r1, 0x44 bl FillWindowPixelBuffer @@ -21001,7 +21001,7 @@ sub_81D1E90: @ 81D1E90 movs r1, 0xC8 movs r2, 0xC movs r3, 0x94 - bl AddScrollIndicatorArrowPairParametrized + bl AddScrollIndicatorArrowPairParameterized strb r0, [r4, 0x9] add sp, 0x10 pop {r4} @@ -22282,7 +22282,7 @@ sub_81D2824: @ 81D2824 movs r0, 0 movs r1, 0x1 movs r2, 0xE0 - bl sub_809882C + bl LoadUserWindowBorderGfx ldr r0, =gUnknown_0860F074 movs r1, 0xF0 movs r2, 0x20 @@ -25584,7 +25584,7 @@ sub_81D4258: @ 81D4258 ldrb r2, [r0, 0x4] movs r0, 0x1 mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap + bl TryGetEventObjectIdByLocalIdAndMap mov r0, sp ldrb r0, [r0] add sp, 0x4 @@ -25606,7 +25606,7 @@ sub_81D427C: @ 81D427C lsls r1, r0, 3 adds r1, r0 lsls r1, 2 - ldr r2, =gMapObjects + ldr r2, =gEventObjects adds r5, r1, r2 ldr r4, =gUnknown_030012F8 ldr r3, =gPlayerAvatar @@ -25644,7 +25644,7 @@ _081D42CA: mov r8, r0 cmp r0, 0x3 bls _081D42CA - ldr r2, =gMapObjects + ldr r2, =gEventObjects ldr r0, =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 @@ -25700,7 +25700,7 @@ _081D4356: _081D4360: movs r4, 0 mov r8, r4 - ldr r6, =gMapObjects + ldr r6, =gEventObjects mov r10, r6 _081D4368: ldr r3, =gPlayerAvatar @@ -25718,7 +25718,7 @@ _081D4368: ldrsh r2, [r4, r6] movs r6, 0 ldrsh r0, [r0, r6] - ldr r6, =gMapObjects + ldr r6, =gEventObjects mov r9, r6 mov r12, r3 adds r7, r1, 0 @@ -25866,7 +25866,7 @@ _081D449E: ldrsh r1, [r4, r3] movs r3, 0 ldrsh r0, [r0, r3] - ldr r3, =gMapObjects + ldr r3, =gEventObjects mov r9, r3 mov r12, r2 cmp r1, r0 @@ -26124,7 +26124,7 @@ _081D46D0: ldrsh r0, [r0, r3] cmp r0, 0 bne _081D476E - ldr r2, =gMapObjects + ldr r2, =gEventObjects ldr r0, =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 @@ -26149,7 +26149,7 @@ _081D46D0: beq _081D470C b _081D447C _081D470C: - ldr r2, =gMapObjects + ldr r2, =gEventObjects ldr r0, =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 @@ -26203,7 +26203,7 @@ _081D476E: ldrsh r0, [r0, r2] cmp r0, 0 bne _081D480C - ldr r2, =gMapObjects + ldr r2, =gEventObjects ldr r0, =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 @@ -26228,7 +26228,7 @@ _081D476E: beq _081D47AA b _081D45AA _081D47AA: - ldr r2, =gMapObjects + ldr r2, =gEventObjects ldr r0, =gPlayerAvatar ldrb r1, [r0, 0x5] lsls r0, r1, 3 @@ -26299,7 +26299,7 @@ sub_81D4834: @ 81D4834 lsls r0, 16 lsls r1, 16 lsrs r4, r1, 16 - ldr r3, =gMapObjects + ldr r3, =gEventObjects ldr r1, =gPlayerAvatar ldrb r2, [r1, 0x5] lsls r1, r2, 3 @@ -26350,7 +26350,7 @@ sub_81D4890: @ 81D4890 lsls r1, r0, 3 adds r1, r0 lsls r1, 2 - ldr r0, =gMapObjects + ldr r0, =gEventObjects adds r4, r1, r0 movs r1, 0 ldr r3, =gUnknown_030012FC @@ -26503,9 +26503,9 @@ _081D49E0: bx r0 thumb_func_end sub_81D4998 - thumb_func_start FieldObjectIsFarawayIslandMew -@ bool8 FieldObjectIsFarawayIslandMew(struct npc_state *fieldObject) -FieldObjectIsFarawayIslandMew: @ 81D49E8 + thumb_func_start EventObjectIsFarawayIslandMew +@ bool8 EventObjectIsFarawayIslandMew(struct npc_state *eventObject) +EventObjectIsFarawayIslandMew: @ 81D49E8 push {lr} adds r2, r0, 0 ldr r0, =gSaveBlock1Ptr @@ -26525,10 +26525,10 @@ _081D4A0C: _081D4A0E: pop {r1} bx r1 - thumb_func_end FieldObjectIsFarawayIslandMew + thumb_func_end EventObjectIsFarawayIslandMew - thumb_func_start unown_chamber_related -unown_chamber_related: @ 81D4A14 + thumb_func_start IsMewPlayingHideAndSeek +IsMewPlayingHideAndSeek: @ 81D4A14 push {lr} ldr r0, =gSaveBlock1Ptr ldr r0, [r0] @@ -26557,7 +26557,7 @@ _081D4A50: _081D4A52: pop {r1} bx r1 - thumb_func_end unown_chamber_related + thumb_func_end IsMewPlayingHideAndSeek thumb_func_start sub_81D4A58 sub_81D4A58: @ 81D4A58 @@ -26598,7 +26598,7 @@ sub_81D4A90: @ 81D4A90 lsls r1, r0, 3 adds r1, r0 lsls r1, 2 - ldr r0, =gMapObjects + ldr r0, =gEventObjects adds r5, r1, r0 ldrb r1, [r5, 0x1] movs r0, 0x21 @@ -29331,7 +29331,7 @@ sub_81D6180: @ 81D6180 thumb_func_end sub_81D6180 thumb_func_start GetTrainerHillTrainerFlag -@ u8 GetTrainerHillTrainerFlag(u8 fieldObjectId) +@ u8 GetTrainerHillTrainerFlag(u8 eventObjectId) GetTrainerHillTrainerFlag: @ 81D619C push {r4,lr} adds r4, r0, 0 @@ -29340,7 +29340,7 @@ GetTrainerHillTrainerFlag: @ 81D619C bl sub_81D5520 lsls r0, 24 lsrs r0, 23 - ldr r2, =gMapObjects + ldr r2, =gEventObjects lsls r1, r4, 3 adds r1, r4 lsls r1, 2 diff --git a/asm/record_mixing.s b/asm/record_mixing.s deleted file mode 100644 index acfcf48ed..000000000 --- a/asm/record_mixing.s +++ /dev/null @@ -1,3711 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_80E6BE8 -sub_80E6BE8: @ 80E6BE8 - push {lr} - ldr r0, =sub_80E715C - bl sub_80B37D4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E6BE8 - - thumb_func_start sub_80E6BF8 -sub_80E6BF8: @ 80E6BF8 - push {r4,lr} - ldr r2, =gUnknown_03001134 - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldr r3, =0x00001a9c - adds r0, r1, r3 - str r0, [r2] - ldr r2, =gUnknown_03001138 - ldr r4, =0x000027cc - adds r0, r1, r4 - str r0, [r2] - ldr r2, =gUnknown_0300113C - ldr r3, =0x00002b50 - adds r0, r1, r3 - str r0, [r2] - ldr r2, =gUnknown_03001140 - ldr r4, =0x00002e28 - adds r0, r1, r4 - str r0, [r2] - ldr r2, =gUnknown_03001144 - ldr r3, =0x00002e68 - adds r0, r1, r3 - str r0, [r2] - ldr r2, =gUnknown_03001148 - ldr r0, =gUnknown_02039F9C - str r0, [r2] - ldr r2, =gUnknown_0300114C - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r4, =0x0000064c - adds r3, r0, r4 - str r3, [r2] - ldr r2, =gUnknown_03001150 - ldr r4, =0x00003b58 - adds r1, r4 - str r1, [r2] - ldr r1, =gUnknown_03001154 - adds r0, 0xDC - str r0, [r1] - ldr r0, =gUnknown_03001158 - str r3, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E6BF8 - - thumb_func_start sub_80E6CA0 -sub_80E6CA0: @ 80E6CA0 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, =gUnknown_03001134 - ldr r1, [r0] - movs r4, 0xC8 - lsls r4, 4 - adds r0, r5, 0 - adds r2, r4, 0 - bl memcpy - adds r4, r5, r4 - ldr r0, =gUnknown_03001138 - ldr r1, [r0] - movs r2, 0xE1 - lsls r2, 2 - adds r0, r4, 0 - bl memcpy - adds r0, r4, 0 - bl sub_80F14F8 - ldr r1, =0x00001004 - adds r0, r5, r1 - ldr r1, =gUnknown_0300113C - ldr r1, [r1] - movs r2, 0x40 - bl memcpy - ldr r2, =0x00001044 - adds r0, r5, r2 - ldr r1, =gUnknown_03001140 - ldr r1, [r1] - movs r2, 0x40 - bl memcpy - ldr r1, =0x00001084 - adds r0, r5, r1 - ldr r1, =gUnknown_03001144 - ldr r1, [r1] - movs r2, 0x28 - bl memcpy - ldr r2, =0x000010ac - adds r0, r5, r2 - bl sub_80E89F8 - ldr r0, =gUnknown_0300114C - ldr r0, [r0] - ldr r2, =0x00001124 - adds r1, r5, r2 - bl sub_81659DC - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _080E6D1C - bl GetRecordMixingGift - ldr r2, =0x000011c8 - adds r1, r5, r2 - strh r0, [r1] -_080E6D1C: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E6CA0 - - thumb_func_start sub_80E6D54 -sub_80E6D54: @ 80E6D54 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, =gUnknown_03001134 - ldr r1, [r0] - movs r4, 0xC8 - lsls r4, 4 - adds r0, r5, 0 - adds r2, r4, 0 - bl memcpy - adds r0, r5, 0 - bl sub_80EB18C - adds r4, r5, r4 - ldr r0, =gUnknown_03001138 - ldr r1, [r0] - movs r2, 0xE1 - lsls r2, 2 - adds r0, r4, 0 - bl memcpy - adds r0, r4, 0 - bl sub_80F1208 - ldr r1, =0x00001004 - adds r0, r5, r1 - ldr r1, =gUnknown_0300113C - ldr r1, [r1] - movs r2, 0x40 - bl memcpy - ldr r2, =0x00001044 - adds r4, r5, r2 - ldr r0, =gUnknown_03001140 - ldr r1, [r0] - adds r0, r4, 0 - movs r2, 0x40 - bl memcpy - adds r0, r4, 0 - bl sub_8120B70 - ldr r1, =0x00001084 - adds r0, r5, r1 - ldr r1, =gUnknown_03001144 - ldr r1, [r1] - movs r2, 0x28 - bl memcpy - ldr r2, =0x000010ac - adds r4, r5, r2 - adds r0, r4, 0 - bl sub_80E89F8 - adds r0, r4, 0 - bl sub_80E8A54 - ldr r0, =gUnknown_0300114C - ldr r0, [r0] - ldr r1, =0x00001124 - adds r4, r5, r1 - adds r1, r4, 0 - bl sub_81659DC - adds r0, r4, 0 - bl TaskDummy4 - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _080E6DEE - bl GetRecordMixingGift - ldr r2, =0x000011c8 - adds r1, r5, r2 - strh r0, [r1] -_080E6DEE: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E6D54 - - thumb_func_start sub_80E6E24 -sub_80E6E24: @ 80E6E24 - push {r4,r5,lr} - bl sub_80E9914 - bl sub_80F0BB8 - bl sub_80E6BF8 - bl sub_800A064 - cmp r0, 0 - beq _080E6E60 - bl sub_800A03C - cmp r0, 0 - bne _080E6E50 - ldr r0, =gUnknown_0203A018 - ldr r0, [r0] - bl sub_80E6CA0 - b _080E6F12 - .pool -_080E6E50: - ldr r0, =gUnknown_0203A018 - ldr r0, [r0] - bl sub_80E6D54 - b _080E6F12 - .pool -_080E6E60: - ldr r5, =gUnknown_0203A018 - ldr r0, [r5] - ldr r1, =gUnknown_03001134 - ldr r1, [r1] - movs r4, 0xC8 - lsls r4, 4 - adds r2, r4, 0 - bl memcpy - ldr r0, [r5] - adds r0, r4 - ldr r1, =gUnknown_03001138 - ldr r1, [r1] - movs r2, 0xE1 - lsls r2, 2 - bl memcpy - ldr r0, [r5] - ldr r1, =0x00001004 - adds r0, r1 - ldr r1, =gUnknown_0300113C - ldr r1, [r1] - movs r2, 0x40 - bl memcpy - ldr r0, [r5] - ldr r2, =0x00001044 - adds r0, r2 - ldr r1, =gUnknown_03001140 - ldr r1, [r1] - movs r2, 0x40 - bl memcpy - ldr r0, [r5] - ldr r1, =0x00001214 - adds r0, r1 - ldr r1, =gUnknown_03001150 - ldr r1, [r1] - movs r2, 0x40 - bl memcpy - ldr r0, [r5] - ldr r2, =0x00001084 - adds r0, r2 - ldr r1, =gUnknown_03001144 - ldr r1, [r1] - movs r2, 0x28 - bl memcpy - ldr r0, [r5] - ldr r1, =0x000010ac - adds r0, r1 - bl sub_80E89F8 - ldr r0, [r5] - ldr r4, =0x00001124 - adds r0, r4 - ldr r1, =gUnknown_0300114C - ldr r1, [r1] - movs r2, 0xEC - bl memcpy - ldr r0, [r5] - adds r0, r4 - bl sub_80E8AC0 - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _080E6EFA - bl GetRecordMixingGift - ldr r1, [r5] - ldr r2, =0x00001210 - adds r1, r2 - strh r0, [r1] -_080E6EFA: - ldr r0, [r5] - ldr r1, =0x00001254 - adds r0, r1 - ldr r1, =gUnknown_03001154 - ldr r1, [r1] - bl sub_80E8110 - ldr r0, [r5] - ldr r2, =0x000012dc - adds r0, r2 - bl sub_80E8260 -_080E6F12: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E6E24 - - thumb_func_start sub_80E6F60 -sub_80E6F60: @ 80E6F60 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r4, r0, 0 - bl sub_800A064 - cmp r0, 0 - beq _080E7014 - ldr r5, =gUnknown_0203A014 - ldr r0, [r5] - movs r1, 0xC8 - lsls r1, 4 - mov r8, r1 - add r0, r8 - bl sub_80E7B2C - ldr r0, [r5] - ldr r6, =0x00001230 - lsls r4, 24 - lsrs r4, 24 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_80EAF80 - ldr r3, [r5] - ldr r1, =0x000010ac - adds r0, r3, r1 - add r3, r8 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_80E7B60 - ldr r0, [r5] - ldr r1, =0x00001124 - adds r0, r1 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_80E7948 - ldr r0, [r5] - add r0, r8 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_80F01E8 - ldr r0, [r5] - ldr r1, =0x00001004 - adds r0, r1 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_80F0C7C - ldr r0, [r5] - ldr r1, =0x00001044 - adds r0, r1 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_80E78C4 - ldr r0, [r5] - ldr r1, =0x00001084 - adds r0, r1 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_812287C - ldr r0, [r5] - ldr r1, =0x000011c8 - adds r0, r1 - adds r1, r4, 0 - bl sub_80E7F68 - b _080E70BE - .pool -_080E7014: - ldr r5, =gUnknown_0203A014 - ldr r0, [r5] - movs r1, 0xC8 - lsls r1, 4 - mov r8, r1 - add r0, r8 - bl sub_80E7B2C - ldr r0, [r5] - ldr r6, =0x00001444 - lsls r4, 24 - lsrs r4, 24 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_80EAF80 - ldr r0, [r5] - add r0, r8 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_80F01E8 - ldr r0, [r5] - ldr r1, =0x00001004 - adds r0, r1 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_80F0C7C - ldr r0, [r5] - ldr r1, =0x00001044 - adds r0, r1 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_80E78C4 - ldr r0, [r5] - ldr r1, =0x00001084 - adds r0, r1 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_812287C - ldr r3, [r5] - ldr r1, =0x000010ac - adds r0, r3, r1 - add r3, r8 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_80E7B60 - ldr r0, [r5] - ldr r1, =0x00001124 - adds r0, r1 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_80E7948 - ldr r0, [r5] - ldr r1, =0x00001210 - adds r0, r1 - adds r1, r4, 0 - bl sub_80E7F68 - ldr r0, [r5] - ldr r1, =0x00001214 - adds r0, r1 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_80E7A14 - ldr r0, [r5] - ldr r1, =0x00001254 - adds r0, r1 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_80E8468 - ldr r0, [r5] - ldr r1, =0x000012dc - adds r0, r1 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_80E89AC -_080E70BE: - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E6F60 - - thumb_func_start sub_80E70F4 -sub_80E70F4: @ 80E70F4 - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - movs r0, 0 - movs r1, 0 - bl NewMenuHelpers_DrawDialogueFrame - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r1, 0x1 - adds r2, r4, 0 - movs r3, 0 - bl PrintTextOnWindow - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80E70F4 - - thumb_func_start sub_80E7128 -sub_80E7128: @ 80E7128 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x32 - bne _080E7150 - movs r0, 0xE2 - bl PlaySE - movs r0, 0 - strh r0, [r4, 0x8] -_080E7150: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E7128 - - thumb_func_start sub_80E715C -sub_80E715C: @ 80E715C - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r5, r0, r1 - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0x5 - bls _080E7176 - b _080E730A -_080E7176: - lsls r0, 2 - ldr r1, =_080E7188 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080E7188: - .4byte _080E71A0 - .4byte _080E7218 - .4byte _080E724C - .4byte _080E726C - .4byte _080E72AC - .4byte _080E72C0 -_080E71A0: - ldr r4, =gUnknown_0203A018 - ldr r0, =0x00001444 - bl Alloc - str r0, [r4] - ldr r4, =gUnknown_0203A014 - ldr r0, =0x00005110 - bl Alloc - str r0, [r4] - ldr r0, =gSpecialVar_0x8005 - ldrb r0, [r0] - bl sub_8009628 - movs r0, 0x80 - lsls r0, 7 - movs r1, 0x1 - bl VarSet - ldr r1, =gUnknown_03001130 - movs r0, 0 - strb r0, [r1] - bl sub_80E6E24 - bl sub_80FB00C - movs r0, 0x1 - strh r0, [r5] - ldr r0, =sub_80E7324 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x14] - ldr r0, =sub_80E7128 - movs r1, 0x51 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x1E] - b _080E730A - .pool -_080E7218: - ldr r2, =gTasks - movs r0, 0x14 - ldrsh r1, [r5, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x4] - cmp r0, 0 - bne _080E730A - movs r0, 0x2 - strh r0, [r5] - ldr r0, =0x00000894 - bl FlagSet - bl sub_80FB074 - ldrb r0, [r5, 0x1E] - bl DestroyTask - b _080E730A - .pool -_080E724C: - ldr r0, =sub_80E7FF8 - movs r1, 0xA - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x14] - movs r0, 0x3 - strh r0, [r5] - movs r0, 0xE0 - bl PlaySE - b _080E730A - .pool -_080E726C: - ldr r2, =gTasks - movs r0, 0x14 - ldrsh r1, [r5, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r4, [r0, 0x4] - cmp r4, 0 - bne _080E730A - movs r0, 0x4 - strh r0, [r5] - ldr r0, =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - bne _080E7296 - bl sub_80B3050 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x14] -_080E7296: - ldr r0, =gText_RecordMixingComplete - bl sub_80E70F4 - strh r4, [r5, 0x10] - b _080E730A - .pool -_080E72AC: - ldrh r0, [r5, 0x10] - adds r0, 0x1 - strh r0, [r5, 0x10] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3C - ble _080E730A - movs r0, 0x5 - strh r0, [r5] - b _080E730A -_080E72C0: - ldr r2, =gTasks - movs r0, 0x14 - ldrsh r1, [r5, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x4] - cmp r0, 0 - bne _080E730A - ldr r0, =gUnknown_0203A014 - ldr r0, [r0] - bl Free - ldr r0, =gUnknown_0203A018 - ldr r0, [r0] - bl Free - bl sub_808729C - ldr r0, =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _080E72F8 - ldr r0, =sub_80AF2B4 - movs r1, 0xA - bl CreateTask -_080E72F8: - movs r0, 0 - movs r1, 0x1 - bl sub_8197434 - adds r0, r4, 0 - bl DestroyTask - bl EnableBothScriptContexts -_080E730A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E715C - - thumb_func_start sub_80E7324 -sub_80E7324: @ 80E7324 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r6, =gTasks - adds r5, r0, r6 - movs r0, 0x8 - ldrsh r1, [r5, r0] - cmp r1, 0x64 - beq _080E73A0 - cmp r1, 0x64 - bgt _080E7362 - cmp r1, 0x1 - bne _080E7346 - b _080E7464 -_080E7346: - cmp r1, 0x1 - bgt _080E7354 - cmp r1, 0 - beq _080E7384 - b _080E7566 - .pool -_080E7354: - cmp r1, 0x2 - bne _080E735A - b _080E7490 -_080E735A: - cmp r1, 0x5 - bne _080E7360 - b _080E7550 -_080E7360: - b _080E7566 -_080E7362: - cmp r1, 0xC9 - beq _080E73F8 - cmp r1, 0xC9 - bgt _080E7370 - cmp r1, 0x65 - beq _080E73B8 - b _080E7566 -_080E7370: - ldr r0, =0x0000012d - cmp r1, r0 - beq _080E7432 - adds r0, 0x63 - cmp r1, r0 - beq _080E744A - b _080E7566 - .pool -_080E7384: - ldr r0, =gText_MixingRecords - bl sub_80E70F4 - movs r0, 0xE1 - lsls r0, 3 - strh r0, [r5, 0x18] - movs r0, 0xC8 - lsls r0, 1 - strh r0, [r5, 0x8] - bl ClearLinkCallback_2 - b _080E7566 - .pool -_080E73A0: - ldrh r0, [r5, 0x20] - adds r0, 0x1 - strh r0, [r5, 0x20] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - bgt _080E73B0 - b _080E7566 -_080E73B0: - movs r0, 0 - strh r0, [r5, 0x20] - movs r0, 0x65 - b _080E7564 -_080E73B8: - bl GetLinkPlayerCount_2 - lsls r0, 24 - lsrs r4, r0, 24 - bl IsLinkMaster - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080E73EA - bl sub_800AA48 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - beq _080E73DA - b _080E7566 -_080E73DA: - movs r0, 0x15 - bl PlaySE - movs r1, 0 - movs r0, 0xC9 - strh r0, [r5, 0x8] - strh r1, [r5, 0x20] - b _080E7566 -_080E73EA: - movs r0, 0x16 - bl PlaySE - ldr r0, =0x0000012d - b _080E7564 - .pool -_080E73F8: - bl sub_800AA48 - adds r4, r0, 0 - bl GetLinkPlayerCount_2 - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - beq _080E740C - b _080E7566 -_080E740C: - ldrh r4, [r5, 0x20] - adds r4, 0x1 - strh r4, [r5, 0x20] - lsls r4, 16 - asrs r4, 16 - bl GetLinkPlayerCount_2 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - subs r1, r0 - lsls r1, 1 - cmp r4, r1 - bgt _080E742A - b _080E7566 -_080E742A: - bl sub_800A620 - movs r0, 0x1 - b _080E7564 -_080E7432: - bl sub_800AA48 - adds r4, r0, 0 - bl GetLinkPlayerCount_2 - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - beq _080E7446 - b _080E7566 -_080E7446: - movs r0, 0x1 - b _080E7564 -_080E744A: - ldrh r0, [r5, 0x20] - adds r0, 0x1 - strh r0, [r5, 0x20] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - bgt _080E745A - b _080E7566 -_080E745A: - movs r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0 - strh r0, [r5, 0x20] - b _080E7566 -_080E7464: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _080E746E - b _080E7566 -_080E746E: - ldr r4, =gStringVar1 - bl sub_80E7810 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - movs r0, 0x5 - b _080E7564 - .pool -_080E7490: - bl GetLinkPlayerCount_2 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - strh r0, [r5, 0x14] - strh r1, [r5, 0x8] - bl sub_80E7810 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x12] - ldr r0, =sub_80E756C - str r0, [r5] - bl sub_800A064 - cmp r0, 0 - beq _080E7504 - ldr r0, =gUnknown_0203A018 - ldr r0, [r0] - adds r1, r5, 0 - adds r1, 0xC - bl sub_80E7808 - ldr r0, =sub_80E7630 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x1C] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r0, r1, r6 - strh r4, [r0, 0x8] - ldr r0, =gUnknown_0203A014 - ldr r0, [r0] - adds r1, r6, r1 - adds r1, 0x12 - bl sub_80E7808 - ldr r1, =gUnknown_0300115C - ldr r0, =0x00001230 - str r0, [r1] - b _080E7566 - .pool -_080E7504: - ldr r0, =gUnknown_0203A018 - ldr r0, [r0] - adds r1, r5, 0 - adds r1, 0xC - bl sub_80E7808 - ldr r0, =sub_80E7630 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x1C] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r0, r1, r6 - strh r4, [r0, 0x8] - ldr r0, =gUnknown_0203A014 - ldr r0, [r0] - adds r1, r6, r1 - adds r1, 0x12 - bl sub_80E7808 - ldr r1, =gUnknown_0300115C - ldr r0, =0x00001444 - str r0, [r1] - b _080E7566 - .pool -_080E7550: - ldrh r0, [r5, 0x1C] - adds r0, 0x1 - strh r0, [r5, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3C - ble _080E7566 - movs r0, 0 - strh r0, [r5, 0x1C] - movs r0, 0x2 -_080E7564: - strh r0, [r5, 0x8] -_080E7566: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80E7324 - - thumb_func_start sub_80E756C -sub_80E756C: @ 80E756C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r5, r1, r0 - movs r2, 0x8 - ldrsh r1, [r5, r2] - adds r2, r0, 0 - cmp r1, 0x4 - bhi _080E7624 - lsls r0, r1, 2 - ldr r1, =_080E7598 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080E7598: - .4byte _080E75AC - .4byte _080E75D0 - .4byte _080E7624 - .4byte _080E75E2 - .4byte _080E760E -_080E75AC: - adds r0, r5, 0 - adds r0, 0xC - bl sub_80E77FC - adds r1, r0, 0 - movs r0, 0x10 - ldrsh r2, [r5, r0] - movs r0, 0xC8 - muls r0, r2 - adds r1, r0 - ldr r0, =gBlockSendBuffer - movs r2, 0xC8 - bl memcpy - b _080E75FC - .pool -_080E75D0: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _080E75FC - movs r0, 0x1 - bl sub_800A4D8 - b _080E75FC -_080E75E2: - ldrh r0, [r5, 0x10] - adds r0, 0x1 - strh r0, [r5, 0x10] - movs r1, 0x10 - ldrsh r4, [r5, r1] - ldr r0, =gUnknown_0300115C - ldr r0, [r0] - movs r1, 0xC8 - bl __udivsi3 - adds r0, 0x1 - cmp r4, r0 - bne _080E7608 -_080E75FC: - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - b _080E7624 - .pool -_080E7608: - movs r0, 0 - strh r0, [r5, 0x8] - b _080E7624 -_080E760E: - movs r1, 0x1C - ldrsh r0, [r5, r1] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrb r0, [r1, 0x4] - cmp r0, 0 - bne _080E7624 - ldr r0, =sub_80E77D4 - str r0, [r5] -_080E7624: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E756C - - thumb_func_start sub_80E7630 -sub_80E7630: @ 80E7630 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - lsls r0, 2 - ldr r1, [sp] - adds r0, r1 - lsls r0, 3 - ldr r1, =gTasks - adds r0, r1 - mov r10, r0 - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - movs r2, 0 - str r2, [sp, 0x8] - bl sub_800A9D8 - lsls r0, 24 - lsrs r0, 24 - ldr r3, [sp, 0x4] - cmp r3, r0 - bne _080E773E - movs r4, 0 - mov r8, r4 - b _080E771C - .pool -_080E7678: - ldr r1, [sp, 0x4] - mov r0, r8 - asrs r1, r0 - movs r0, 0x1 - ands r1, r0 - movs r2, 0x1 - add r2, r8 - mov r9, r2 - cmp r1, 0 - beq _080E7714 - mov r0, r10 - adds r0, 0x12 - bl sub_80E77FC - mov r3, r9 - lsls r4, r3, 1 - mov r5, r10 - adds r5, 0x8 - adds r4, r5, r4 - movs r2, 0 - ldrsh r1, [r4, r2] - movs r7, 0xC8 - muls r1, r7 - adds r0, r1 - ldr r3, =gUnknown_0300115C - ldr r1, [r3] - mov r2, r8 - muls r2, r1 - adds r1, r2, 0 - adds r6, r0, r1 - mov r0, r8 - bl sub_80E7820 - adds r1, r0, 0 - movs r3, 0 - ldrsh r2, [r4, r3] - adds r0, r2, 0x1 - muls r0, r7 - ldr r4, =gUnknown_0300115C - ldr r3, [r4] - cmp r0, r3 - bls _080E76DC - muls r2, r7 - subs r2, r3, r2 - adds r0, r6, 0 - bl memcpy - b _080E76E4 - .pool -_080E76DC: - adds r0, r6, 0 - movs r2, 0xC8 - bl memcpy -_080E76E4: - mov r0, r8 - bl ResetBlockReceivedFlag - mov r0, r9 - lsls r1, r0, 1 - adds r1, r5, r1 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - movs r2, 0 - ldrsh r4, [r1, r2] - ldr r3, =gUnknown_0300115C - ldr r0, [r3] - movs r1, 0xC8 - bl __udivsi3 - adds r0, 0x1 - cmp r4, r0 - bne _080E7714 - ldr r0, [sp, 0x8] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x8] -_080E7714: - mov r4, r9 - lsls r0, r4, 24 - lsrs r0, 24 - mov r8, r0 -_080E771C: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r8, r0 - bcc _080E7678 - ldr r2, =gTasks - mov r0, r10 - movs r3, 0x8 - ldrsh r1, [r0, r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] -_080E773E: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - ldr r4, [sp, 0x8] - cmp r4, r0 - bne _080E7752 - ldr r0, [sp] - bl DestroyTask -_080E7752: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E7630 - - thumb_func_start sub_80E776C -sub_80E776C: @ 80E776C - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - ldr r2, =gTasks - adds r0, r2 - movs r4, 0x1C - ldrsh r1, [r0, r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x4] - cmp r0, 0 - bne _080E7794 - adds r0, r3, 0 - bl DestroyTask -_080E7794: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E776C - - thumb_func_start sub_80E77A0 -sub_80E77A0: @ 80E77A0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r1, r0 - ldr r0, =sub_80E776C - str r0, [r1] - ldr r0, =gUnknown_03001130 - ldrb r0, [r0] - cmp r0, 0x1 - bne _080E77C4 - movs r2, 0x12 - ldrsh r0, [r1, r2] - bl sub_80E6F60 -_080E77C4: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E77A0 - - thumb_func_start sub_80E77D4 -sub_80E77D4: @ 80E77D4 - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, =sub_80E77A0 - str r0, [r1] - ldr r1, =gUnknown_03001130 - movs r0, 0x1 - strb r0, [r1] - bx lr - .pool - thumb_func_end sub_80E77D4 - - thumb_func_start sub_80E77FC -sub_80E77FC: @ 80E77FC - adds r1, r0, 0 - ldrh r0, [r1] - ldrh r1, [r1, 0x2] - lsls r1, 16 - orrs r0, r1 - bx lr - thumb_func_end sub_80E77FC - - thumb_func_start sub_80E7808 -sub_80E7808: @ 80E7808 - strh r0, [r1] - lsrs r0, 16 - strh r0, [r1, 0x2] - bx lr - thumb_func_end sub_80E7808 - - thumb_func_start sub_80E7810 -sub_80E7810: @ 80E7810 - push {lr} - bl GetMultiplayerId - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_80E7810 - - thumb_func_start sub_80E7820 -sub_80E7820: @ 80E7820 - lsls r0, 24 - lsrs r0, 16 - ldr r1, =gBlockRecvBuffer - adds r0, r1 - bx lr - .pool - thumb_func_end sub_80E7820 - - thumb_func_start sub_80E7830 -sub_80E7830: @ 80E7830 - push {r4,lr} - adds r4, r0, 0 - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - beq _080E7868 - cmp r0, 0x3 - bhi _080E784A - cmp r0, 0x2 - beq _080E7850 - b _080E78B8 -_080E784A: - cmp r0, 0x4 - beq _080E7894 - b _080E78B8 -_080E7850: - movs r3, 0 - ldr r2, =gUnknown_0858CF8C - adds r1, r4, 0 -_080E7856: - adds r0, r3, r2 - ldrb r0, [r0] - stm r1!, {r0} - adds r3, 0x1 - cmp r3, 0x1 - bls _080E7856 - b _080E78B8 - .pool -_080E7868: - movs r0, 0 - bl GetLinkPlayerTrainerId - adds r2, r0, 0 - movs r0, 0x1 - ands r2, r0 - movs r3, 0 - ldr r1, =gUnknown_0858CF8E - lsls r0, r2, 1 - adds r0, r2 - adds r1, r0, r1 - adds r2, r4, 0 -_080E7880: - ldrb r0, [r1] - stm r2!, {r0} - adds r1, 0x1 - adds r3, 0x1 - cmp r3, 0x2 - bls _080E7880 - b _080E78B8 - .pool -_080E7894: - movs r0, 0 - bl GetLinkPlayerTrainerId - movs r1, 0x9 - bl __umodsi3 - adds r2, r0, 0 - movs r3, 0 - ldr r1, =gUnknown_0858CF94 - lsls r0, r2, 2 - adds r1, r0, r1 - adds r2, r4, 0 -_080E78AC: - ldrb r0, [r1] - stm r2!, {r0} - adds r1, 0x1 - adds r3, 0x1 - cmp r3, 0x3 - bls _080E78AC -_080E78B8: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E7830 - - thumb_func_start sub_80E78C4 -sub_80E78C4: @ 80E78C4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - mov r9, r0 - mov r8, r1 - lsls r2, 24 - lsrs r7, r2, 24 - mov r0, sp - bl sub_80E7830 - lsls r0, r7, 2 - add r0, sp - ldr r1, [r0] - mov r0, r8 - muls r0, r1 - mov r2, r9 - adds r6, r2, r0 - ldr r2, =gLinkPlayers - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r4, [r0] - ldrh r5, [r0, 0x1A] - bl sub_800A064 - cmp r0, 0 - beq _080E7910 - adds r0, r6, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_8120D34 - b _080E791A - .pool -_080E7910: - adds r0, r6, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_8120CD0 -_080E791A: - ldr r0, =gUnknown_03001140 - ldr r0, [r0] - lsls r1, r7, 2 - add r1, sp - ldr r1, [r1] - mov r2, r8 - muls r2, r1 - adds r1, r2, 0 - add r1, r9 - movs r2, 0x40 - bl memcpy - bl ResetMauvilleOldManFlag - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E78C4 - - thumb_func_start sub_80E7948 -sub_80E7948: @ 80E7948 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - mov r8, r0 - adds r7, r1, 0 - lsls r2, 24 - lsrs r6, r2, 24 - mov r0, sp - bl sub_80E7830 - bl sub_800A064 - cmp r0, 0 - beq _080E79AC - lsls r0, r6, 2 - mov r1, sp - adds r5, r1, r0 - ldr r0, [r5] - muls r0, r7 - add r0, r8 - adds r4, r7, 0 - muls r4, r6 - mov r1, r8 - adds r6, r1, r4 - adds r1, r6, 0 - bl sub_816587C - mov r9, r4 - cmp r0, 0x1 - bne _080E79FE - adds r7, r6, 0 - ldr r2, =gLinkPlayers - ldr r1, [r5] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x1A] - adds r0, r7, 0 - adds r0, 0xE4 - strb r1, [r0] - adds r0, r7, 0 - bl sub_8164F70 - b _080E79FE - .pool -_080E79AC: - adds r5, r7, 0 - muls r5, r6 - mov r0, r8 - adds r4, r0, r5 - lsls r0, r6, 2 - add r0, sp - ldr r0, [r0] - adds r1, r7, 0 - muls r1, r0 - add r1, r8 - adds r0, r4, 0 - movs r2, 0xEC - bl memcpy - adds r7, r4, 0 - movs r6, 0 - mov r9, r5 -_080E79CE: - movs r0, 0x2C - muls r0, r6 - adds r0, 0x34 - adds r1, r7, r0 - ldrh r0, [r1] - cmp r0, 0 - beq _080E79F2 - adds r4, r1, 0 - adds r4, 0x20 - adds r0, r4, 0 - bl IsStringJapanese - cmp r0, 0 - beq _080E79F2 - adds r0, r4, 0 - movs r1, 0x1 - bl ConvertInternationalString -_080E79F2: - adds r6, 0x1 - cmp r6, 0x3 - ble _080E79CE - adds r0, r7, 0 - bl sub_8164F70 -_080E79FE: - mov r0, r8 - add r0, r9 - bl sub_81628A0 - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80E7948 - - thumb_func_start sub_80E7A14 -sub_80E7A14: @ 80E7A14 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - mov r8, r0 - adds r7, r1, 0 - lsls r2, 24 - lsrs r5, r2, 24 - mov r0, sp - bl sub_80E7830 - adds r0, r7, 0 - muls r0, r5 - add r0, r8 - ldr r6, =gUnknown_03001150 - ldr r1, [r6] - movs r2, 0x40 - bl memcpy - bl GetLilycoveLadyId - lsls r0, 24 - cmp r0, 0 - bne _080E7A60 - movs r0, 0x40 - bl Alloc - adds r4, r0, 0 - cmp r4, 0 - beq _080E7A8A - ldr r1, [r6] - movs r2, 0x40 - bl memcpy - b _080E7A62 - .pool -_080E7A60: - movs r4, 0 -_080E7A62: - ldr r0, =gUnknown_03001150 - ldr r0, [r0] - lsls r1, r5, 2 - add r1, sp - ldr r1, [r1] - muls r1, r7 - add r1, r8 - movs r2, 0x40 - bl memcpy - bl sub_818DA78 - cmp r4, 0 - beq _080E7A8A - adds r0, r4, 0 - bl sub_818E570 - adds r0, r4, 0 - bl Free -_080E7A8A: - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E7A14 - - thumb_func_start sub_80E7A9C -sub_80E7A9C: @ 80E7A9C - ldrh r0, [r0, 0x20] - lsls r0, 24 - lsrs r0, 24 - bx lr - thumb_func_end sub_80E7A9C - - thumb_func_start sub_80E7AA4 -sub_80E7AA4: @ 80E7AA4 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0x38 - mov r8, r0 - mov r10, r1 - mov r9, r2 - adds r4, r3, 0 - ldr r5, [sp, 0x54] - lsls r4, 24 - lsls r5, 24 - lsrs r5, 24 - lsrs r4, 23 - add r4, r9 - ldrb r0, [r4] - mov r6, r10 - muls r6, r0 - add r6, r8 - ldrb r0, [r4, 0x1] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 3 - adds r1, r6, r1 - mov r0, sp - movs r2, 0x38 - bl memcpy - lsls r5, 1 - add r5, r9 - ldrb r0, [r5] - mov r1, r10 - muls r1, r0 - adds r0, r1, 0 - add r8, r0 - ldrb r1, [r4, 0x1] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 3 - adds r6, r0 - ldrb r0, [r5, 0x1] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 3 - add r1, r8 - adds r0, r6, 0 - movs r2, 0x38 - bl memcpy - ldrb r1, [r5, 0x1] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 3 - add r8, r0 - mov r0, r8 - mov r1, sp - movs r2, 0x38 - bl memcpy - add sp, 0x38 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80E7AA4 - - thumb_func_start sub_80E7B2C -sub_80E7B2C: @ 80E7B2C - push {r4,lr} - adds r3, r0, 0 - movs r2, 0 - movs r1, 0 - ldr r4, =gUnknown_03001160 -_080E7B36: - adds r0, r3, r1 - ldrb r0, [r0] - adds r0, r2, r0 - lsls r0, 24 - lsrs r2, r0, 24 - adds r1, 0x1 - cmp r1, 0xFF - ble _080E7B36 - strb r2, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E7B2C - - thumb_func_start sub_80E7B54 -sub_80E7B54: @ 80E7B54 - ldr r0, =gUnknown_03001160 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_80E7B54 - - thumb_func_start sub_80E7B60 -sub_80E7B60: @ 80E7B60 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x58 - str r0, [sp, 0x2C] - str r1, [sp, 0x30] - lsls r2, 24 - lsrs r2, 24 - mov r9, r2 - bl Random2 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x38] - ldr r0, =gLinkPlayers - ldrh r0, [r0, 0x4] - bl SeedRng2 - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0 - mov r8, r0 - mov r1, sp - adds r1, 0x1C - str r1, [sp, 0x4C] - mov r2, sp - adds r2, 0x1D - str r2, [sp, 0x50] - mov r3, sp - adds r3, 0xC - str r3, [sp, 0x48] - movs r7, 0xFF - add r3, sp, 0x8 - movs r2, 0 - adds r6, r1, 0 - ldr r5, [sp, 0x50] -_080E7BB0: - mov r1, sp - add r1, r8 - adds r1, 0x4 - ldrb r0, [r1] - orrs r0, r7 - strb r0, [r1] - mov r1, r8 - adds r0, r3, r1 - strb r2, [r0] - lsls r1, 1 - adds r0, r6, r1 - strb r2, [r0] - adds r1, r5, r1 - strb r2, [r1] - mov r0, r8 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - cmp r0, 0x3 - bls _080E7BB0 - bl sub_800A064 - str r0, [sp, 0x3C] - movs r2, 0 - mov r8, r2 - lsls r4, 16 - str r4, [sp, 0x54] - ldr r0, [sp, 0x30] - mov r3, r9 - muls r3, r0 - str r3, [sp, 0x44] - b _080E7D04 - .pool -_080E7BF8: - ldr r1, [sp, 0x30] - mov r0, r8 - muls r0, r1 - ldr r2, [sp, 0x2C] - adds r7, r2, r0 - ldr r1, =gLinkPlayers - mov r3, r8 - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - adds r0, r1 - ldrh r1, [r0, 0x1A] - mov r9, r1 - ldrb r0, [r0] - str r0, [sp, 0x40] - movs r6, 0 - ldr r0, [r7, 0x70] - cmp r6, r0 - bcs _080E7CFA - movs r2, 0x10 - negs r2, r2 - mov r10, r2 -_080E7C24: - lsls r0, r6, 3 - subs r0, r6 - lsls r0, 3 - adds r5, r7, r0 - ldrh r0, [r5, 0x20] - cmp r0, 0 - beq _080E7CEE - ldr r3, [sp, 0x3C] - cmp r3, 0 - beq _080E7C9A - adds r4, r5, 0 - adds r4, 0x24 - adds r0, r4, 0 - bl StringLength - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x5 - bhi _080E7C54 - movs r4, 0x1 - b _080E7C5C - .pool -_080E7C54: - adds r0, r4, 0 - bl StripExtCtrlCodes - mov r4, r9 -_080E7C5C: - ldrh r1, [r5, 0x2C] - ldr r0, =0x000015fc - cmp r1, r0 - bne _080E7C74 - adds r0, r5, 0 - adds r0, 0x2C - bl StripExtCtrlCodes - movs r1, 0x1 - b _080E7C76 - .pool -_080E7C74: - mov r1, r9 -_080E7C76: - ldr r0, [sp, 0x40] - subs r0, 0x1 - cmp r0, 0x1 - bhi _080E7CEE - adds r2, r5, 0 - adds r2, 0x37 - movs r0, 0xF - ands r4, r0 - ldrb r0, [r2] - mov r3, r10 - ands r0, r3 - orrs r0, r4 - lsls r1, 4 - movs r3, 0xF - ands r0, r3 - orrs r0, r1 - strb r0, [r2] - b _080E7CEE -_080E7C9A: - mov r0, r9 - cmp r0, 0x1 - bne _080E7CEE - adds r0, r5, 0 - adds r0, 0x24 - bl IsStringJapanese - cmp r0, 0 - beq _080E7CBA - adds r0, r5, 0 - adds r0, 0x37 - ldrb r1, [r0] - mov r2, r10 - ands r1, r2 - movs r2, 0x1 - b _080E7CC6 -_080E7CBA: - adds r0, r5, 0 - adds r0, 0x37 - ldrb r1, [r0] - mov r3, r10 - ands r1, r3 - movs r2, 0x2 -_080E7CC6: - orrs r1, r2 - strb r1, [r0] - adds r4, r0, 0 - adds r0, r5, 0 - adds r0, 0x2C - bl IsStringJapanese - cmp r0, 0 - beq _080E7CE2 - ldrb r0, [r4] - movs r1, 0xF - ands r1, r0 - movs r0, 0x10 - b _080E7CEA -_080E7CE2: - ldrb r0, [r4] - movs r1, 0xF - ands r1, r0 - movs r0, 0x20 -_080E7CEA: - orrs r1, r0 - strb r1, [r4] -_080E7CEE: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, [r7, 0x70] - cmp r6, r0 - bcc _080E7C24 -_080E7CFA: - mov r0, r8 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 -_080E7D04: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r8, r0 - bcs _080E7D12 - b _080E7BF8 -_080E7D12: - movs r0, 0 - str r0, [sp, 0x34] - mov r8, r0 - ldr r1, [sp, 0x54] - lsrs r0, r1, 16 - ldr r2, [sp, 0x34] - cmp r2, r0 - bcs _080E7D70 - adds r5, r0, 0 -_080E7D24: - ldr r3, [sp, 0x30] - mov r0, r8 - muls r0, r3 - ldr r1, [sp, 0x2C] - adds r7, r1, r0 - ldr r0, [r7, 0x70] - cmp r0, 0 - beq _080E7D62 - movs r6, 0 - cmp r6, r0 - bcs _080E7D62 - adds r3, r7, 0 - adds r3, 0x74 - ldr r2, [sp, 0x4C] - mov r0, r8 - lsls r1, r0, 1 - movs r4, 0x1 -_080E7D46: - lsls r0, r6, 1 - adds r0, r3, r0 - ldrh r0, [r0] - cmp r0, 0 - bne _080E7D56 - adds r0, r6, r1 - adds r0, r2, r0 - strb r4, [r0] -_080E7D56: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, [r7, 0x70] - cmp r6, r0 - bcc _080E7D46 -_080E7D62: - mov r0, r8 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - cmp r8, r5 - bcc _080E7D24 -_080E7D70: - movs r6, 0 - mov r8, r6 - ldr r1, [sp, 0x54] - cmp r1, 0 - beq _080E7E64 - add r2, sp, 0x24 - mov r10, r2 - movs r3, 0x25 - add r3, sp - mov r9, r3 -_080E7D84: - ldr r1, [sp, 0x30] - mov r0, r8 - muls r0, r1 - ldr r2, [sp, 0x2C] - adds r7, r2, r0 - mov r3, r8 - lsls r1, r3, 1 - ldr r2, [sp, 0x4C] - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0x1 - beq _080E7DA6 - ldr r3, [sp, 0x50] - adds r0, r3, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _080E7DB0 -_080E7DA6: - ldr r0, [sp, 0x34] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x34] -_080E7DB0: - ldr r2, [sp, 0x4C] - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _080E7DD4 - ldr r3, [sp, 0x50] - adds r0, r3, r1 - ldrb r2, [r0] - cmp r2, 0 - bne _080E7DD4 -_080E7DC4: - lsls r1, r6, 1 - mov r3, r10 - adds r0, r3, r1 - mov r3, r8 - strb r3, [r0] - add r1, r9 - strb r2, [r1] - b _080E7E4E -_080E7DD4: - ldr r2, [sp, 0x4C] - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080E7DE8 - ldr r3, [sp, 0x50] - adds r0, r3, r1 - ldrb r2, [r0] - cmp r2, 0x1 - beq _080E7DC4 -_080E7DE8: - ldr r2, [sp, 0x4C] - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _080E7E54 - ldr r3, [sp, 0x50] - adds r0, r3, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _080E7E54 - lsls r5, r6, 1 - mov r1, r10 - adds r0, r1, r5 - mov r2, r8 - strb r2, [r0] - adds r0, r7, 0 - bl sub_80E7A9C - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r7, 0 - adds r0, 0x38 - bl sub_80E7A9C - lsls r0, 24 - lsrs r1, r0, 24 - cmp r4, 0 - bne _080E7E30 - cmp r1, 0 - beq _080E7E34 - mov r3, r9 - adds r1, r3, r5 - movs r0, 0x1 - strb r0, [r1] - b _080E7E4E -_080E7E30: - cmp r1, 0 - beq _080E7E48 -_080E7E34: - bl Random2 - mov r1, r9 - adds r2, r1, r5 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - ands r0, r1 - strb r0, [r2] - b _080E7E4E -_080E7E48: - mov r2, r9 - adds r0, r2, r5 - strb r1, [r0] -_080E7E4E: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 -_080E7E54: - mov r0, r8 - adds r0, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - mov r8, r3 - ldr r1, [sp, 0x54] - cmp r0, r1 - bcc _080E7D84 -_080E7E64: - movs r2, 0 - mov r8, r2 - ldr r3, [sp, 0x44] - lsls r0, r3, 4 - subs r0, r3 - lsls r0, 3 - ldr r1, [sp, 0x2C] - adds r7, r1, r0 - ldr r1, [sp, 0x48] -_080E7E76: - mov r2, r8 - lsls r0, r2, 2 - adds r0, r1, r0 - str r7, [r0] - mov r0, r8 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - cmp r0, 0x3 - bls _080E7E76 - bl sub_80E7B54 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 24 - lsrs r1, r0, 24 - ldr r3, [sp, 0x34] - cmp r3, 0x3 - beq _080E7EC8 - cmp r3, 0x3 - bgt _080E7EAE - cmp r3, 0x2 - beq _080E7EB6 - b _080E7F1C -_080E7EAE: - ldr r0, [sp, 0x34] - cmp r0, 0x4 - beq _080E7EE8 - b _080E7F1C -_080E7EB6: - add r2, sp, 0x24 - movs r0, 0x1 - str r0, [sp] - ldr r0, [sp, 0x2C] - ldr r1, [sp, 0x30] - movs r3, 0 - bl sub_80E7AA4 - b _080E7F1C -_080E7EC8: - ldr r0, =gUnknown_0858CFB8 - lsls r1, 1 - adds r2, r1, r0 - ldrb r3, [r2] - adds r0, 0x1 - adds r1, r0 - ldrb r0, [r1] - add r2, sp, 0x24 - str r0, [sp] - ldr r0, [sp, 0x2C] - ldr r1, [sp, 0x30] - bl sub_80E7AA4 - b _080E7F1C - .pool -_080E7EE8: - add r6, sp, 0x24 - ldr r4, =gUnknown_0858CFBE - lsls r5, r1, 2 - adds r0, r5, r4 - ldrb r3, [r0] - adds r0, r4, 0x1 - adds r0, r5, r0 - ldrb r0, [r0] - str r0, [sp] - ldr r0, [sp, 0x2C] - ldr r1, [sp, 0x30] - adds r2, r6, 0 - bl sub_80E7AA4 - adds r0, r4, 0x2 - adds r0, r5, r0 - ldrb r3, [r0] - adds r4, 0x3 - adds r5, r4 - ldrb r0, [r5] - str r0, [sp] - ldr r0, [sp, 0x2C] - ldr r1, [sp, 0x30] - adds r2, r6, 0 - bl sub_80E7AA4 -_080E7F1C: - ldr r1, [sp, 0x2C] - ldr r2, [sp, 0x44] - adds r7, r1, r2 - ldr r4, =gSaveBlock1Ptr - ldr r0, [r4] - movs r3, 0xC2 - lsls r3, 6 - adds r0, r3 - adds r1, r7, 0 - movs r2, 0x38 - bl memcpy - ldr r0, [r4] - ldr r1, =0x0000310c - adds r0, r1 - adds r1, r7, 0 - adds r1, 0x38 - movs r2, 0x38 - bl memcpy - ldr r0, [sp, 0x38] - bl SeedRng - add sp, 0x58 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E7B60 - - thumb_func_start sub_80E7F68 -sub_80E7F68: @ 80E7F68 - push {r4,lr} - adds r4, r0, 0 - lsls r1, 24 - cmp r1, 0 - beq _080E7FEC - ldrh r0, [r4] - cmp r0, 0 - beq _080E7FEC - bl GetPocketByItemId - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bne _080E7FEC - ldrh r0, [r4] - movs r1, 0x1 - bl CheckBagHasItem - lsls r0, 24 - cmp r0, 0 - bne _080E7FE4 - ldrh r0, [r4] - movs r1, 0x1 - bl CheckPCHasItem - lsls r0, 24 - cmp r0, 0 - bne _080E7FE4 - ldrh r0, [r4] - movs r1, 0x1 - bl AddBagItem - lsls r0, 24 - cmp r0, 0 - beq _080E7FE4 - ldr r0, =0x00004001 - ldrh r1, [r4] - bl VarSet - ldr r0, =gStringVar1 - ldr r1, =gLinkPlayers + 8 - bl StringCopy - ldrh r1, [r4] - ldr r0, =0x00000113 - cmp r1, r0 - bne _080E7FEC - ldr r0, =0x000008b3 - bl FlagSet - b _080E7FEC - .pool -_080E7FE4: - ldr r0, =0x00004001 - movs r1, 0 - bl VarSet -_080E7FEC: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E7F68 - - thumb_func_start sub_80E7FF8 -sub_80E7FF8: @ 80E7FF8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x9 - bls _080E8012 - b _080E810A -_080E8012: - lsls r0, 2 - ldr r1, =_080E8024 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080E8024: - .4byte _080E80F2 - .4byte _080E804C - .4byte _080E805A - .4byte _080E8064 - .4byte _080E807C - .4byte _080E8090 - .4byte _080E80A4 - .4byte _080E80C0 - .4byte _080E80EE - .4byte _080E80FA -_080E804C: - bl sub_800A064 - cmp r0, 0 - bne _080E80F2 - movs r0, 0x6 - strh r0, [r4, 0x8] - b _080E810A -_080E805A: - bl sub_8076D5C - bl sub_8153430 - b _080E80F2 -_080E8064: - bl sub_8153474 - lsls r0, 24 - cmp r0, 0 - beq _080E810A - bl sav2_gender2_inplace_and_xFE - movs r1, 0 - movs r0, 0x4 - strh r0, [r4, 0x8] - strh r1, [r4, 0xA] - b _080E810A -_080E807C: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - ble _080E810A - bl sub_800AC34 - b _080E80F2 -_080E8090: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _080E810A - adds r0, r5, 0 - bl DestroyTask - b _080E810A - .pool -_080E80A4: - movs r0, 0 - bl sub_801048C - lsls r0, 24 - cmp r0, 0 - bne _080E810A - ldr r0, =sub_8153688 - movs r1, 0x5 - bl CreateTask - b _080E80F2 - .pool -_080E80C0: - ldr r0, =sub_8153688 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _080E810A - ldr r0, =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _080E80E8 - movs r0, 0x1 - bl sub_801048C - movs r0, 0x8 - strh r0, [r4, 0x8] - b _080E810A - .pool -_080E80E8: - movs r0, 0x4 - strh r0, [r4, 0x8] - b _080E810A -_080E80EE: - bl sub_800ADF8 -_080E80F2: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080E810A -_080E80FA: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - beq _080E810A - adds r0, r5, 0 - bl DestroyTask -_080E810A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80E7FF8 - - thumb_func_start sub_80E8110 -sub_80E8110: @ 80E8110 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - str r0, [sp] - mov r10, r1 - adds r1, r0, 0 - adds r1, 0x38 - movs r0, 0xFF - strb r0, [r1] - ldr r1, [sp] - adds r1, 0x7C - movs r0, 0x1 - negs r0, r0 - strb r0, [r1] - ldr r0, [sp] - mov r1, r10 - movs r2, 0x44 - bl memcpy - movs r0, 0 - str r0, [sp, 0x8] - movs r1, 0 - str r1, [sp, 0xC] - movs r2, 0 - str r2, [sp, 0x4] - mov r8, r2 - movs r7, 0 - ldr r0, =gSaveBlock2Ptr - mov r9, r0 -_080E8150: - mov r1, r9 - ldr r0, [r1] - adds r0, 0xB2 - ldrb r0, [r0] - lsls r0, 27 - lsrs r0, 30 - adds r0, r7, r0 - movs r1, 0x3 - bl __modsi3 - adds r6, r0, 0x1 - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - mov r2, r10 - adds r1, r0, r2 - adds r0, r1, 0 - adds r0, 0x38 - ldrb r0, [r0] - cmp r0, 0xFF - beq _080E81B8 - adds r5, r1, 0 - adds r5, 0x34 - adds r0, r5, 0 - bl ReadUnalignedWord - adds r4, r0, 0 - mov r1, r9 - ldr r0, [r1] - adds r0, 0xA - bl ReadUnalignedWord - cmp r4, r0 - beq _080E819A - movs r2, 0x1 - add r8, r2 - str r6, [sp, 0x4] -_080E819A: - adds r0, r5, 0 - bl ReadUnalignedWord - adds r4, r0, 0 - mov r1, r9 - ldr r0, [r1] - adds r0, 0xA - bl ReadUnalignedWord - cmp r4, r0 - bne _080E81B8 - ldr r2, [sp, 0xC] - adds r2, 0x1 - str r2, [sp, 0xC] - str r6, [sp, 0x8] -_080E81B8: - adds r7, 0x1 - cmp r7, 0x1 - ble _080E8150 - mov r0, r8 - cmp r0, 0 - bne _080E81D0 - ldr r1, [sp, 0xC] - cmp r1, 0 - beq _080E81D0 - mov r8, r1 - ldr r2, [sp, 0x8] - str r2, [sp, 0x4] -_080E81D0: - mov r0, r8 - cmp r0, 0x1 - beq _080E81E0 - cmp r0, 0x2 - beq _080E81EC - b _080E824C - .pool -_080E81E0: - ldr r2, [sp, 0x4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - add r1, r10 - b _080E820E -_080E81EC: - bl Random2 - lsls r0, 16 - ldr r1, =0x33330000 - cmp r0, r1 - bls _080E8224 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - adds r0, 0xB2 - ldrb r0, [r0] - lsls r0, 27 - lsrs r0, 30 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r10 - adds r1, 0x44 -_080E820E: - ldr r0, [sp] - adds r0, 0x44 - movs r2, 0x44 - bl memcpy - b _080E824C - .pool -_080E8224: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - adds r0, 0xB2 - ldrb r0, [r0] - lsls r0, 27 - lsrs r0, 30 - adds r0, 0x1 - movs r1, 0x3 - bl __modsi3 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r10 - adds r1, 0x44 - ldr r0, [sp] - adds r0, 0x44 - movs r2, 0x44 - bl memcpy -_080E824C: - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E8110 - - thumb_func_start sub_80E8260 -sub_80E8260: @ 80E8260 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - mov r8, r0 - movs r6, 0 - ldr r0, =gSaveBlock2Ptr - mov r10, r0 -_080E8274: - movs r7, 0 - lsls r0, r6, 5 - adds r6, 0x1 - mov r9, r6 - mov r1, r8 - adds r4, r0, r1 - adds r0, 0x6 - adds r6, r1, r0 - adds r5, r4, 0 -_080E8286: - mov r2, r10 - ldr r1, [r2] - adds r1, 0xA - adds r0, r5, 0 - bl CopyUnalignedWord - movs r0, 0x2 - strb r0, [r4, 0xE] - mov r0, r10 - ldr r1, [r0] - adds r0, r6, 0 - bl StringCopy - adds r4, 0x10 - adds r6, 0x10 - adds r5, 0x10 - adds r7, 0x1 - cmp r7, 0x1 - ble _080E8286 - mov r6, r9 - cmp r6, 0x8 - ble _080E8274 - ldr r1, =gSaveBlock2Ptr - mov r10, r1 - ldr r2, =0x00000ee1 - str r2, [sp, 0x4] - movs r4, 0x99 - lsls r4, 1 - add r4, r8 - movs r0, 0x95 - lsls r0, 1 - add r0, r8 - mov r9, r0 - ldr r1, =0x00000ef1 - str r1, [sp, 0x8] - movs r6, 0x92 - lsls r6, 1 - add r6, r8 - movs r5, 0x90 - lsls r5, 1 - add r5, r8 - movs r7, 0x1 -_080E82DA: - movs r0, 0x2 - strb r0, [r4, 0x8] - mov r2, r10 - ldr r1, [r2] - adds r1, 0xA - adds r0, r5, 0 - bl CopyUnalignedWord - mov r0, r10 - ldr r1, [r0] - ldr r2, [sp, 0x8] - adds r1, r2 - adds r0, r6, 0 - bl CopyUnalignedWord - mov r0, r10 - ldr r1, [r0] - mov r0, r9 - bl StringCopy - mov r2, r10 - ldr r1, [r2] - ldr r0, [sp, 0x4] - adds r1, r0 - adds r0, r4, 0 - bl StringCopy - ldr r1, [sp, 0x4] - adds r1, 0x8 - str r1, [sp, 0x4] - adds r4, 0x1C - movs r2, 0x1C - add r9, r2 - ldr r0, [sp, 0x8] - adds r0, 0x4 - str r0, [sp, 0x8] - adds r6, 0x1C - adds r5, 0x1C - subs r7, 0x1 - cmp r7, 0 - bge _080E82DA - movs r6, 0 - ldr r0, =gSaveBlock2Ptr - ldr r3, [r0] - mov r4, r8 - movs r1, 0xC4 - adds r1, r4 - mov r9, r1 - movs r2, 0x84 - adds r2, r4 - mov r8, r2 - movs r0, 0x44 - adds r0, r4 - mov r12, r0 - adds r7, r4, 0x4 - movs r1, 0xCF - lsls r1, 4 - adds r1, r3, r1 - str r1, [sp] - mov r10, r4 - ldr r2, =0x00000cf4 - adds r5, r3, r2 -_080E8356: - lsls r2, r6, 1 - ldr r1, [sp] - ldrh r0, [r1] - strh r0, [r7] - ldrh r0, [r5] - strh r0, [r7, 0x20] - ldrh r0, [r5, 0x4] - mov r1, r12 - strh r0, [r1] - ldr r1, =0x00000d14 - adds r0, r3, r1 - adds r0, r2 - ldrh r0, [r0] - mov r1, r12 - strh r0, [r1, 0x20] - movs r1, 0xDD - lsls r1, 4 - adds r0, r3, r1 - adds r0, r2 - ldrh r0, [r0] - mov r1, r8 - strh r0, [r1] - ldr r1, =0x00000dde - adds r0, r3, r1 - adds r0, r2 - ldrh r0, [r0] - mov r1, r8 - strh r0, [r1, 0x20] - ldr r1, =0x00000dea - adds r0, r3, r1 - adds r0, r2 - ldrh r0, [r0] - mov r1, r9 - strh r0, [r1] - ldr r1, =0x00000e08 - adds r0, r3, r1 - adds r0, r2 - ldrh r0, [r0] - mov r1, r9 - strh r0, [r1, 0x20] - ldr r1, =0x00000e1e - adds r0, r3, r1 - adds r0, r2 - ldrh r1, [r0] - movs r0, 0x82 - lsls r0, 1 - add r0, r10 - strh r1, [r0] - ldr r1, =0x00000cfc - adds r0, r3, r1 - adds r0, r2 - ldrh r1, [r0] - movs r2, 0x94 - lsls r2, 1 - adds r0, r4, r2 - strh r1, [r0] - adds r4, 0x1C - movs r0, 0x10 - add r9, r0 - add r8, r0 - add r12, r0 - adds r7, 0x10 - ldr r1, [sp] - adds r1, 0x2 - str r1, [sp] - add r10, r0 - adds r5, 0x2 - adds r6, 0x1 - cmp r6, 0x1 - ble _080E8356 - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E8260 - - thumb_func_start sub_80E841C -sub_80E841C: @ 80E841C - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r7, r0, 0 - movs r0, 0 - mov r8, r0 - adds r6, r1, 0 - adds r6, 0x34 - adds r5, r1, 0 -_080E842E: - adds r0, r7, 0 - adds r0, 0x34 - bl ReadUnalignedWord - adds r4, r0, 0 - adds r0, r6, 0 - bl ReadUnalignedWord - cmp r4, r0 - bne _080E844E - ldrb r0, [r7, 0x2] - ldrb r1, [r5, 0x2] - cmp r0, r1 - bne _080E844E - movs r0, 0x1 - b _080E845E -_080E844E: - adds r6, 0x44 - adds r5, 0x44 - movs r0, 0x1 - add r8, r0 - mov r1, r8 - cmp r1, 0x3 - ble _080E842E - movs r0, 0 -_080E845E: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80E841C - - thumb_func_start sub_80E8468 -sub_80E8468: @ 80E8468 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x14 - adds r6, r0, 0 - adds r5, r1, 0 - adds r4, r2, 0 - mov r0, sp - bl sub_80E7830 - lsls r4, 2 - mov r1, sp - adds r0, r1, r4 - ldr r0, [r0] - muls r0, r5 - adds r3, r6, r0 - movs r7, 0 - movs r2, 0 - mov r8, r2 - movs r5, 0 - adds r6, r3, 0 - adds r6, 0x38 - adds r4, r3, 0 -_080E8496: - ldrb r0, [r6] - cmp r0, 0xFF - beq _080E84B4 - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - adds r1, 0xDC - adds r0, r4, 0 - str r3, [sp, 0x10] - bl sub_80E841C - ldr r3, [sp, 0x10] - cmp r0, 0 - bne _080E84B4 - adds r7, 0x1 - mov r8, r5 -_080E84B4: - adds r6, 0x44 - adds r4, 0x44 - adds r5, 0x1 - cmp r5, 0x1 - ble _080E8496 - cmp r7, 0x1 - beq _080E84CC - cmp r7, 0x2 - beq _080E8508 - b _080E8566 - .pool -_080E84CC: - ldr r4, =gSaveBlock2Ptr - ldr r0, [r4] - adds r1, r0, 0 - adds r1, 0xB2 - ldrb r1, [r1] - lsls r1, 27 - lsrs r1, 30 - adds r2, r1, 0x1 - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r0, r1 - adds r0, 0xDC - mov r2, r8 - lsls r1, r2, 4 - add r1, r8 - lsls r1, 2 - adds r1, r3 - movs r2, 0x44 - bl memcpy - ldr r4, [r4] - adds r4, 0xB2 - ldrb r5, [r4] - lsls r0, r5, 27 - lsrs r0, 30 - adds r0, 0x1 - b _080E8550 - .pool -_080E8508: - movs r5, 0 - adds r6, r3, 0 -_080E850C: - movs r0, 0x1 - eors r0, r5 - ldr r7, =gSaveBlock2Ptr - ldr r4, [r7] - adds r1, r4, 0 - adds r1, 0xB2 - ldrb r1, [r1] - lsls r1, 27 - lsrs r1, 30 - adds r0, r1 - movs r1, 0x3 - bl __modsi3 - adds r2, r0, 0x1 - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r4, r0 - adds r4, 0xDC - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0x44 - bl memcpy - adds r6, 0x44 - adds r5, 0x1 - cmp r5, 0x1 - ble _080E850C - ldr r4, [r7] - adds r4, 0xB2 - ldrb r5, [r4] - lsls r0, r5, 27 - lsrs r0, 30 - adds r0, 0x2 -_080E8550: - movs r1, 0x3 - bl __modsi3 - movs r1, 0x3 - ands r0, r1 - lsls r0, 3 - movs r1, 0x19 - negs r1, r1 - ands r1, r5 - orrs r1, r0 - strb r1, [r4] -_080E8566: - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E8468 - - thumb_func_start sub_80E8578 -sub_80E8578: @ 80E8578 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x54 - str r0, [sp] - ldr r0, [sp, 0x74] - movs r4, 0 - mov r8, r4 - movs r5, 0 - str r5, [sp, 0x4] - ldr r4, =gUnknown_03001168 - b _080E85A0 - .pool -_080E8598: - adds r1, r2 - ldr r6, [sp, 0x4] - adds r6, 0x1 - str r6, [sp, 0x4] -_080E85A0: - ldr r5, [sp, 0x4] - cmp r5, r0 - bge _080E85B6 - cmp r5, r3 - beq _080E85B0 - stm r4!, {r1} - movs r6, 0x1 - add r8, r6 -_080E85B0: - mov r5, r8 - cmp r5, 0x3 - bne _080E8598 -_080E85B6: - movs r6, 0 - str r6, [sp, 0x4] - subs r0, 0x1 - str r0, [sp, 0x24] -_080E85BE: - movs r0, 0 - str r0, [sp, 0x8] - ldr r1, [sp, 0x4] - adds r1, 0x1 - str r1, [sp, 0x28] - ldr r2, [sp, 0x4] - lsls r2, 1 - str r2, [sp, 0x34] - ldr r3, [sp, 0x4] - adds r3, r2, r3 - str r3, [sp, 0x10] - movs r4, 0 - str r4, [sp, 0x44] - movs r5, 0 - str r5, [sp, 0x48] -_080E85DC: - movs r6, 0 - mov r8, r6 - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - ldr r2, [sp, 0x10] - lsls r0, r2, 5 - ldr r3, [sp, 0x48] - adds r0, r3, r0 - adds r3, r0, r1 - lsls r0, r2, 6 - ldr r4, [sp, 0x44] - adds r0, r4, r0 - ldr r5, [sp] - adds r2, r0, r5 -_080E85F8: - adds r0, r2, 0 - movs r6, 0x87 - lsls r6, 2 - adds r1, r3, r6 - ldm r1!, {r4-r6} - stm r0!, {r4-r6} - ldr r1, [r1] - str r1, [r0] - adds r3, 0x10 - adds r2, 0x10 - movs r0, 0x1 - add r8, r0 - mov r1, r8 - cmp r1, 0x2 - ble _080E85F8 - movs r2, 0 - mov r8, r2 - ldr r3, [sp, 0x24] - cmp r8, r3 - bge _080E86DC - ldr r4, [sp, 0x4] - lsls r4, 5 - mov r9, r4 - ldr r5, [sp, 0x8] - lsls r7, r5, 4 - ldr r6, [sp, 0x34] - ldr r1, [sp, 0x4] - adds r0, r6, r1 - lsls r0, 6 - str r0, [sp, 0x14] - ldr r2, [sp] - adds r0, r2, r0 - ldr r3, [sp, 0x44] - str r3, [sp, 0x18] - adds r0, r3 - str r0, [sp, 0x1C] - ldr r4, [sp, 0x14] - adds r0, r3, r4 - adds r0, r2 - adds r0, 0x30 - mov r10, r0 -_080E864A: - movs r5, 0 - str r5, [sp, 0xC] - movs r3, 0 - mov r6, r8 - lsls r6, 2 - str r6, [sp, 0x38] - ldr r1, [sp, 0x18] - ldr r2, [sp, 0x14] - adds r0, r1, r2 - ldr r4, [sp] - adds r5, r0, r4 - ldr r0, =gUnknown_03001168 - adds r0, r6, r0 - str r0, [sp, 0x50] -_080E8666: - lsls r0, r3, 4 - ldr r6, [sp, 0x1C] - adds r0, r6, r0 - str r3, [sp, 0x4C] - bl ReadUnalignedWord - adds r4, r0, 0 - ldr r1, [sp, 0x50] - ldr r0, [r1] - add r0, r9 - adds r0, r7 - bl ReadUnalignedWord - ldr r3, [sp, 0x4C] - cmp r4, r0 - bne _080E86A8 - ldr r2, [sp, 0xC] - adds r2, 0x1 - str r2, [sp, 0xC] - ldr r4, [sp, 0x50] - ldr r0, [r4] - mov r6, r9 - adds r1, r7, r6 - adds r1, r0, r1 - ldrh r0, [r5, 0x4] - ldrh r2, [r1, 0x4] - cmp r0, r2 - bcs _080E86A8 - adds r0, r5, 0 - ldm r1!, {r2,r4,r6} - stm r0!, {r2,r4,r6} - ldr r1, [r1] - str r1, [r0] -_080E86A8: - adds r5, 0x10 - adds r3, 0x1 - cmp r3, 0x2 - ble _080E8666 - ldr r3, [sp, 0xC] - cmp r3, 0 - bne _080E86CE - ldr r0, =gUnknown_03001168 - ldr r4, [sp, 0x38] - adds r0, r4, r0 - ldr r0, [r0] - mov r5, r9 - adds r2, r7, r5 - mov r1, r10 - adds r0, r2 - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldr r0, [r0] - str r0, [r1] -_080E86CE: - movs r4, 0x10 - add r10, r4 - movs r5, 0x1 - add r8, r5 - ldr r6, [sp, 0x24] - cmp r8, r6 - blt _080E864A -_080E86DC: - ldr r0, [sp, 0x44] - adds r0, 0x60 - str r0, [sp, 0x44] - ldr r1, [sp, 0x48] - adds r1, 0x30 - str r1, [sp, 0x48] - ldr r2, [sp, 0x8] - adds r2, 0x1 - str r2, [sp, 0x8] - cmp r2, 0x1 - bgt _080E86F4 - b _080E85DC -_080E86F4: - ldr r3, [sp, 0x28] - str r3, [sp, 0x4] - cmp r3, 0x8 - bgt _080E86FE - b _080E85BE -_080E86FE: - movs r4, 0 - str r4, [sp, 0x8] -_080E8702: - ldr r5, [sp, 0x8] - adds r5, 0x1 - str r5, [sp, 0x2C] - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - movs r0, 0x54 - ldr r6, [sp, 0x8] - muls r0, r6 - adds r3, r0, r1 - movs r0, 0xA8 - muls r0, r6 - ldr r1, [sp] - adds r2, r0, r1 - movs r4, 0x2 - mov r8, r4 -_080E8720: - movs r5, 0xD8 - lsls r5, 3 - adds r0, r2, r5 - ldr r6, =0x0000057c - adds r1, r3, r6 - ldm r1!, {r4-r6} - stm r0!, {r4-r6} - ldm r1!, {r4-r6} - stm r0!, {r4-r6} - ldr r1, [r1] - str r1, [r0] - adds r3, 0x1C - adds r2, 0x1C - movs r0, 0x1 - negs r0, r0 - add r8, r0 - mov r1, r8 - cmp r1, 0 - bge _080E8720 - movs r2, 0 - mov r8, r2 - ldr r3, [sp, 0x24] - cmp r8, r3 - blt _080E8752 - b _080E885A -_080E8752: - ldr r4, [sp, 0x8] - lsls r1, r4, 3 - movs r0, 0xA8 - adds r5, r4, 0 - muls r5, r0 - str r5, [sp, 0x20] - str r5, [sp, 0x3C] - subs r1, r4 - lsls r1, 2 - mov r10, r1 -_080E8766: - movs r6, 0 - str r6, [sp, 0xC] - mov r0, r8 - lsls r0, 2 - str r0, [sp, 0x38] - mov r1, r8 - adds r1, 0x1 - str r1, [sp, 0x30] - ldr r0, =gUnknown_03001168 - ldr r2, [sp, 0x38] - adds r2, r0 - mov r9, r2 - ldr r3, [sp] - movs r4, 0xD8 - lsls r4, 3 - adds r0, r3, r4 - ldr r5, [sp, 0x3C] - adds r7, r5, r0 - str r6, [sp, 0x40] - movs r3, 0x2 -_080E878E: - ldr r1, [sp, 0x20] - movs r2, 0xD8 - lsls r2, 3 - adds r0, r1, r2 - ldr r4, [sp] - adds r0, r4, r0 - ldr r6, [sp, 0x40] - adds r5, r0, r6 - adds r0, r5, 0 - str r3, [sp, 0x4C] - bl ReadUnalignedWord - adds r4, r0, 0 - movs r6, 0x90 - lsls r6, 1 - add r6, r10 - mov r1, r9 - ldr r0, [r1] - adds r0, r6 - bl ReadUnalignedWord - ldr r3, [sp, 0x4C] - cmp r4, r0 - bne _080E8808 - adds r0, r5, 0x4 - bl ReadUnalignedWord - adds r4, r0, 0 - mov r2, r9 - ldr r0, [r2] - adds r0, r6 - adds r0, 0x4 - bl ReadUnalignedWord - ldr r3, [sp, 0x4C] - cmp r4, r0 - bne _080E8808 - ldr r4, [sp, 0xC] - adds r4, 0x1 - str r4, [sp, 0xC] - mov r5, r9 - ldr r0, [r5] - mov r6, r10 - adds r2, r0, r6 - movs r0, 0x94 - lsls r0, 1 - adds r1, r2, r0 - ldrh r0, [r7, 0x8] - ldrh r1, [r1] - cmp r0, r1 - bcs _080E8808 - adds r0, r7, 0 - movs r4, 0x90 - lsls r4, 1 - adds r1, r2, r4 - ldm r1!, {r2,r5,r6} - stm r0!, {r2,r5,r6} - ldm r1!, {r4-r6} - stm r0!, {r4-r6} - ldr r1, [r1] - str r1, [r0] -_080E8808: - adds r7, 0x1C - ldr r0, [sp, 0x40] - adds r0, 0x1C - str r0, [sp, 0x40] - subs r3, 0x1 - cmp r3, 0 - bge _080E878E - ldr r1, [sp, 0xC] - cmp r1, 0 - bne _080E8850 - mov r0, r8 - adds r0, 0x3 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - ldr r2, [sp, 0x20] - adds r1, r2 - ldr r3, [sp] - adds r1, r3, r1 - ldr r0, =gUnknown_03001168 - ldr r4, [sp, 0x38] - adds r0, r4, r0 - ldr r0, [r0] - add r0, r10 - movs r5, 0xD8 - lsls r5, 3 - adds r1, r5 - movs r6, 0x90 - lsls r6, 1 - adds r0, r6 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2,r5,r6} - stm r1!, {r2,r5,r6} - ldr r0, [r0] - str r0, [r1] -_080E8850: - ldr r3, [sp, 0x30] - mov r8, r3 - ldr r4, [sp, 0x24] - cmp r8, r4 - blt _080E8766 -_080E885A: - ldr r5, [sp, 0x2C] - str r5, [sp, 0x8] - cmp r5, 0x1 - bgt _080E8864 - b _080E8702 -_080E8864: - add sp, 0x54 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E8578 - - thumb_func_start sub_80E8880 -sub_80E8880: @ 80E8880 - push {r4-r7,lr} - mov r12, r0 - adds r7, r1, 0 - movs r5, 0 -_080E8888: - movs r2, 0 - movs r4, 0x1 - negs r4, r4 - movs r1, 0 - adds r6, r5, 0x1 - adds r3, r7, 0 -_080E8894: - ldrh r0, [r3, 0x4] - cmp r0, r2 - ble _080E889E - adds r4, r1, 0 - adds r2, r0, 0 -_080E889E: - adds r3, 0x10 - adds r1, 0x1 - cmp r1, 0x5 - ble _080E8894 - cmp r4, 0 - blt _080E88C0 - lsls r1, r5, 4 - lsls r2, r4, 4 - adds r2, r7 - add r1, r12 - adds r0, r2, 0 - ldm r0!, {r3-r5} - stm r1!, {r3-r5} - ldr r0, [r0] - str r0, [r1] - movs r0, 0 - strh r0, [r2, 0x4] -_080E88C0: - adds r5, r6, 0 - cmp r5, 0x2 - ble _080E8888 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80E8880 - - thumb_func_start sub_80E88CC -sub_80E88CC: @ 80E88CC - push {r4-r7,lr} - mov r12, r0 - adds r6, r1, 0 - movs r5, 0 -_080E88D4: - movs r3, 0 - movs r4, 0x1 - negs r4, r4 - movs r2, 0 - adds r7, r5, 0x1 - adds r1, r6, 0 -_080E88E0: - ldrh r0, [r1, 0x8] - cmp r0, r3 - ble _080E88EA - adds r4, r2, 0 - adds r3, r0, 0 -_080E88EA: - adds r1, 0x1C - adds r2, 0x1 - cmp r2, 0x5 - ble _080E88E0 - cmp r4, 0 - blt _080E8918 - lsls r1, r5, 3 - subs r1, r5 - lsls r1, 2 - lsls r2, r4, 3 - subs r2, r4 - lsls r2, 2 - adds r2, r6 - add r1, r12 - adds r0, r2, 0 - ldm r0!, {r3-r5} - stm r1!, {r3-r5} - ldm r0!, {r3-r5} - stm r1!, {r3-r5} - ldr r0, [r0] - str r0, [r1] - movs r0, 0 - strh r0, [r2, 0x8] -_080E8918: - adds r5, r7, 0 - cmp r5, 0x2 - ble _080E88D4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80E88CC - - thumb_func_start sub_80E8924 -sub_80E8924: @ 80E8924 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r9, r0 - movs r0, 0 - ldr r1, =gSaveBlock2Ptr - mov r10, r1 -_080E8936: - lsls r1, r0, 1 - adds r2, r0, 0x1 - mov r8, r2 - adds r1, r0 - lsls r0, r1, 5 - movs r2, 0x87 - lsls r2, 2 - adds r7, r0, r2 - lsls r1, 6 - mov r0, r9 - adds r4, r0, r1 - movs r6, 0 - movs r5, 0x1 -_080E8950: - mov r1, r10 - ldr r0, [r1] - adds r0, r7 - adds r0, r6 - adds r1, r4, 0 - bl sub_80E8880 - adds r4, 0x60 - adds r6, 0x30 - subs r5, 0x1 - cmp r5, 0 - bge _080E8950 - mov r0, r8 - cmp r0, 0x8 - ble _080E8936 - movs r5, 0 - ldr r4, =gSaveBlock2Ptr -_080E8972: - movs r0, 0x54 - adds r1, r5, 0 - muls r1, r0 - ldr r2, =0x0000057c - adds r1, r2 - ldr r0, [r4] - adds r0, r1 - movs r1, 0xA8 - muls r1, r5 - movs r2, 0xD8 - lsls r2, 3 - adds r1, r2 - add r1, r9 - bl sub_80E88CC - adds r5, 0x1 - cmp r5, 0x1 - ble _080E8972 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E8924 - - thumb_func_start sub_80E89AC -sub_80E89AC: @ 80E89AC - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x4 - adds r6, r0, 0 - mov r8, r1 - mov r9, r2 - bl GetLinkPlayerCount - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x81 - lsls r0, 4 - bl AllocZeroed - adds r5, r0, 0 - str r4, [sp] - adds r1, r6, 0 - mov r2, r8 - mov r3, r9 - bl sub_80E8578 - adds r0, r5, 0 - bl sub_80E8924 - adds r0, r5, 0 - bl Free - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80E89AC - - thumb_func_start sub_80E89F8 -sub_80E89F8: @ 80E89F8 - push {r4-r6,lr} - adds r6, r0, 0 - ldr r5, =gUnknown_02039F9C - ldr r4, =gSaveBlock1Ptr - ldr r1, [r4] - movs r0, 0xC2 - lsls r0, 6 - adds r1, r0 - adds r0, r5, 0 - movs r2, 0x38 - bl memcpy - ldr r1, [r4] - ldr r0, =0x0000310c - adds r1, r0 - adds r0, r5, 0 - adds r0, 0x38 - movs r2, 0x38 - bl memcpy - ldr r0, [r4] - ldr r1, =0x00003030 - adds r0, r1 - adds r1, r5, 0 - bl InitDaycareMailRecordMixing - ldr r0, =gUnknown_03001148 - ldr r1, [r0] - adds r0, r6, 0 - movs r2, 0x78 - bl memcpy - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E89F8 - - thumb_func_start sub_80E8A54 -sub_80E8A54: @ 80E8A54 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r5, r0, 0 - movs r0, 0 - mov r9, r0 - ldr r0, [r5, 0x70] - cmp r9, r0 - bcs _080E8AAE - adds r4, r5, 0 - adds r4, 0x2C - movs r0, 0x24 - adds r0, r5 - mov r8, r0 - adds r7, r5, 0 - adds r7, 0x37 - adds r6, r5, 0 -_080E8A78: - ldrh r0, [r6, 0x20] - cmp r0, 0 - beq _080E8A9A - ldrb r1, [r4, 0xB] - movs r0, 0xF - ands r0, r1 - cmp r0, 0x1 - beq _080E8A90 - mov r0, r8 - movs r1, 0xFC - bl PadNameString -_080E8A90: - ldrb r1, [r7] - lsrs r1, 4 - adds r0, r4, 0 - bl ConvertInternationalString -_080E8A9A: - adds r4, 0x38 - movs r0, 0x38 - add r8, r0 - adds r7, 0x38 - adds r6, 0x38 - movs r0, 0x1 - add r9, r0 - ldr r0, [r5, 0x70] - cmp r9, r0 - bcc _080E8A78 -_080E8AAE: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80E8A54 - - thumb_func_start TaskDummy4 -TaskDummy4: @ 80E8ABC - bx lr - thumb_func_end TaskDummy4 - - thumb_func_start sub_80E8AC0 -sub_80E8AC0: @ 80E8AC0 - push {r4,r5,lr} - adds r5, r0, 0 - movs r4, 0 -_080E8AC6: - movs r0, 0x2C - muls r0, r4 - adds r0, 0x34 - adds r1, r5, r0 - ldrh r0, [r1] - cmp r0, 0 - beq _080E8ADC - adds r0, r1, 0 - adds r0, 0x20 - bl StripExtCtrlCodes -_080E8ADC: - adds r4, 0x1 - cmp r4, 0x3 - ble _080E8AC6 - adds r0, r5, 0 - bl sub_8164F70 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80E8AC0 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/rom_8011DC0.s b/asm/rom_8011DC0.s index 2ba5926aa..fd2cccca3 100644 --- a/asm/rom_8011DC0.s +++ b/asm/rom_8011DC0.s @@ -5,5467 +5,6 @@ .text - thumb_func_start nullsub_89 -nullsub_89: @ 80124E8 - bx lr - thumb_func_end nullsub_89 - - thumb_func_start sub_80124EC -sub_80124EC: @ 80124EC - push {r4-r6,lr} - sub sp, 0x8 - adds r4, r1, 0 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r2, 24 - lsrs r5, r2, 24 - adds r0, r6, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - lsls r4, 8 - movs r0, 0x90 - lsls r0, 6 - cmp r4, r0 - beq _08012588 - cmp r4, r0 - bgt _08012526 - movs r0, 0x80 - lsls r0, 2 - cmp r4, r0 - beq _08012538 - movs r0, 0x80 - lsls r0, 3 - cmp r4, r0 - beq _08012544 - b _080125A6 -_08012526: - movs r0, 0x94 - lsls r0, 6 - cmp r4, r0 - beq _08012554 - movs r0, 0xD4 - lsls r0, 6 - cmp r4, r0 - beq _08012564 - b _080125A6 -_08012538: - ldr r1, =gUnknown_082EDB60 - subs r0, r5, 0x1 - lsls r0, 2 - b _0801256C - .pool -_08012544: - ldr r1, =gUnknown_082EDB60 - subs r0, r5, 0x1 - lsls r0, 2 - adds r1, 0x14 - b _0801256C - .pool -_08012554: - ldr r1, =gUnknown_082EDB60 - subs r0, r5, 0x1 - lsls r0, 2 - adds r1, 0x28 - b _0801256C - .pool -_08012564: - ldr r1, =gUnknown_082EDB60 - subs r0, r5, 0x1 - lsls r0, 2 - adds r1, 0x3C -_0801256C: - adds r0, r1 - ldr r2, [r0] - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - adds r0, r6, 0 - movs r1, 0x1 - movs r3, 0 - bl sub_80173E0 - b _080125A6 - .pool -_08012588: - ldr r1, =gUnknown_082EDB60 - subs r0, r5, 0x1 - lsls r0, 2 - adds r1, 0x50 - adds r0, r1 - ldr r2, [r0] - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - adds r0, r6, 0 - movs r1, 0x1 - movs r3, 0 - bl sub_80173E0 -_080125A6: - adds r0, r6, 0 - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80124EC - - thumb_func_start sub_80125BC -sub_80125BC: @ 80125BC - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x28 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r6, =gSaveBlock2Ptr - ldr r2, [r6] - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - mov r8, r0 - str r0, [sp, 0x4] - adds r0, r4, 0 - movs r1, 0x1 - movs r3, 0 - bl sub_80173E0 - ldr r1, =gText_UnkCtrlCodeF907 - add r0, sp, 0x8 - bl StringCopy - adds r5, r0, 0 - ldr r0, [r6] - adds r0, 0xA - bl sub_8015658 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r5, 0 - movs r2, 0x2 - movs r3, 0x5 - bl ConvertIntToDecimalStringN - movs r0, 0x11 - str r0, [sp] - mov r0, r8 - str r0, [sp, 0x4] - adds r0, r4, 0 - movs r1, 0x1 - add r2, sp, 0x8 - movs r3, 0 - bl sub_80173E0 - add sp, 0x28 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80125BC - - thumb_func_start sub_801262C -sub_801262C: @ 801262C - push {lr} - lsls r1, 24 - lsrs r1, 24 - subs r0, r1, 0x1 - cmp r0, 0x1B - bhi _080126C0 - lsls r0, 2 - ldr r1, =_08012648 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08012648: - .4byte _080126B8 - .4byte _080126B8 - .4byte _080126B8 - .4byte _080126B8 - .4byte _080126C0 - .4byte _080126C0 - .4byte _080126C0 - .4byte _080126C0 - .4byte _080126B8 - .4byte _080126B8 - .4byte _080126B8 - .4byte _080126C0 - .4byte _080126C0 - .4byte _080126B8 - .4byte _080126B8 - .4byte _080126B8 - .4byte _080126C0 - .4byte _080126C0 - .4byte _080126C0 - .4byte _080126C0 - .4byte _080126B8 - .4byte _080126B8 - .4byte _080126B8 - .4byte _080126B8 - .4byte _080126B8 - .4byte _080126B8 - .4byte _080126B8 - .4byte _080126B8 -_080126B8: - ldr r0, =gStringVar4 - ldr r1, =gText_AwaitingCommunication - bl StringExpandPlaceholders -_080126C0: - pop {r0} - bx r0 - .pool - thumb_func_end sub_801262C - - thumb_func_start sub_80126CC -sub_80126CC: @ 80126CC - push {lr} - subs r0, 0x9 - cmp r0, 0x12 - bhi _08012734 - lsls r0, 2 - ldr r1, =_080126E4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080126E4: - .4byte _08012730 - .4byte _08012730 - .4byte _08012730 - .4byte _08012734 - .4byte _08012734 - .4byte _08012734 - .4byte _08012730 - .4byte _08012730 - .4byte _08012734 - .4byte _08012734 - .4byte _08012734 - .4byte _08012734 - .4byte _08012734 - .4byte _08012734 - .4byte _08012730 - .4byte _08012730 - .4byte _08012730 - .4byte _08012730 - .4byte _08012730 -_08012730: - movs r0, 0x1 - b _08012736 -_08012734: - movs r0, 0 -_08012736: - pop {r1} - bx r1 - thumb_func_end sub_80126CC - - thumb_func_start BerryBlenderLinkBecomeLeader -BerryBlenderLinkBecomeLeader: @ 801273C - push {lr} - ldr r0, =sub_8012780 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gUnknown_02022C30 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r1, r0 - str r1, [r2] - ldr r0, =gUnknown_03000DA0 - str r1, [r0] - movs r0, 0 - strb r0, [r1, 0xC] - strb r0, [r1, 0xD] - ldr r1, =gSpecialVar_Result - strh r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end BerryBlenderLinkBecomeLeader - - thumb_func_start sub_8012780 -sub_8012780: @ 8012780 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gUnknown_02022C30 - ldr r6, [r0] - ldrb r0, [r6, 0xC] - cmp r0, 0x1E - bls _0801279A - bl _08012F50 -_0801279A: - lsls r0, 2 - ldr r1, =_080127AC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080127AC: - .4byte _08012828 - .4byte _08012F50 - .4byte _08012F50 - .4byte _080128A0 - .4byte _080129C8 - .4byte _08012A50 - .4byte _08012A6C - .4byte _08012B8C - .4byte _08012F50 - .4byte _08012AFC - .4byte _08012B14 - .4byte _08012BA8 - .4byte _08012C5C - .4byte _08012D5A - .4byte _08012D78 - .4byte _08012D8A - .4byte _08012DA8 - .4byte _08012E62 - .4byte _08012E78 - .4byte _08012DF2 - .4byte _08012E10 - .4byte _08012ED0 - .4byte _08012EFC - .4byte _08012ED0 - .4byte _08012EE6 - .4byte _08012F50 - .4byte _08012F14 - .4byte _08012F50 - .4byte _08012F50 - .4byte _08012B54 - .4byte _08012EB6 -_08012828: - ldr r0, =gSpecialVar_0x8004 - ldrh r2, [r0] - adds r3, r0, 0 - cmp r2, 0x14 - bne _08012848 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000ca9 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0x1 - bne _08012848 - adds r0, r2, 0x1 - strh r0, [r3] -_08012848: - ldr r2, =gUnknown_02022C2C - ldr r1, =gUnknown_082F00C4 - ldrh r0, [r3] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - strb r0, [r2] - ldr r4, =gUnknown_02022C2D - ldrh r0, [r3] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - lsrs r0, 8 - strb r0, [r4] - ldrb r0, [r2] - movs r1, 0 - movs r2, 0 - bl sub_8010F84 - bl sub_800B488 - bl OpenLink - ldrb r1, [r4] - movs r0, 0xF - ands r0, r1 - bl sub_8011C10 - movs r0, 0x3 - strb r0, [r6, 0xC] - b _08012F50 - .pool -_080128A0: - movs r0, 0x70 - bl AllocZeroed - str r0, [r6, 0x4] - movs r0, 0xA0 - bl AllocZeroed - str r0, [r6] - movs r0, 0xA0 - bl AllocZeroed - str r0, [r6, 0x8] - ldr r0, [r6, 0x4] - movs r1, 0x4 - bl sub_80175EC - ldr r0, [r6] - movs r1, 0x5 - bl sub_8017580 - ldr r0, [r6] - adds r1, r0, 0 - adds r1, 0x10 - bl sub_800DF90 - ldr r1, [r6] - movs r3, 0 - movs r0, 0 - strh r0, [r1, 0x18] - ldr r2, [r6] - ldrb r1, [r2, 0x1A] - subs r0, 0x4 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2, 0x1A] - ldr r2, [r6] - ldrb r1, [r2, 0x1A] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x1A] - ldr r0, [r6] - strb r3, [r0, 0x1B] - ldr r0, [r6, 0x4] - movs r1, 0xFF - bl sub_8016FC0 - strb r0, [r6, 0x17] - ldr r0, =gUnknown_082F00BC - bl AddWindow - strb r0, [r6, 0x10] - ldr r0, =gUnknown_02022C2D - ldrb r0, [r0] - movs r1, 0xF - ands r1, r0 - cmp r1, 0x2 - blt _08012938 - cmp r1, 0x4 - ble _08012928 - cmp r1, 0x5 - beq _08012930 - b _08012938 - .pool -_08012928: - ldr r0, =gUnknown_082F011C - b _08012932 - .pool -_08012930: - ldr r0, =gUnknown_082F0124 -_08012932: - bl AddWindow - strb r0, [r6, 0xF] -_08012938: - ldr r0, =gUnknown_082F012C - bl AddWindow - strb r0, [r6, 0x11] - ldrb r0, [r6, 0x10] - movs r1, 0x22 - bl FillWindowPixelBuffer - ldrb r0, [r6, 0x10] - ldr r2, =gUnknown_082EDBC4 - movs r3, 0x1 - mov r8, r3 - str r3, [sp] - movs r4, 0x4 - str r4, [sp, 0x4] - movs r1, 0 - movs r3, 0x8 - bl sub_80173E0 - ldrb r0, [r6, 0x10] - bl PutWindowTilemap - ldrb r0, [r6, 0x10] - movs r1, 0x2 - bl CopyWindowToVram - ldrb r0, [r6, 0xF] - movs r1, 0 - bl NewMenuHelpers_DrawStdWindowFrame - ldr r0, =gMultiuseListMenuTemplate - adds r2, r0, 0 - ldr r1, =gUnknown_082F015C - ldm r1!, {r3,r5,r7} - stm r2!, {r3,r5,r7} - ldm r1!, {r3,r5,r7} - stm r2!, {r3,r5,r7} - ldrb r1, [r6, 0xF] - strb r1, [r0, 0x10] - movs r1, 0 - movs r2, 0 - bl ListMenuInit - strb r0, [r6, 0x12] - ldrb r0, [r6, 0x11] - movs r1, 0 - bl NewMenuHelpers_DrawStdWindowFrame - ldrb r0, [r6, 0x11] - bl PutWindowTilemap - ldrb r0, [r6, 0x11] - movs r1, 0x2 - bl CopyWindowToVram - movs r0, 0 - bl CopyBgTilemapBufferToVram - mov r5, r8 - strb r5, [r6, 0x13] - strb r4, [r6, 0xC] - b _08012F50 - .pool -_080129C8: - ldr r0, =gStringVar1 - ldr r2, =gUnknown_082F0048 - ldr r4, =gUnknown_02022C2C - ldrb r1, [r4] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl StringCopy - ldr r0, =gUnknown_02022C2D - ldrb r2, [r0] - lsrs r0, r2, 4 - cmp r0, 0 - beq _08012A2C - ldrb r1, [r6, 0x13] - subs r0, 0x1 - cmp r1, r0 - ble _08012A18 - movs r0, 0xF - ands r0, r2 - cmp r0, 0 - beq _08012A18 - ldr r0, =gStringVar4 - ldr r1, =gText_AwaitingLink - bl StringExpandPlaceholders - b _08012A34 - .pool -_08012A18: - ldr r0, =gStringVar4 - ldr r1, =gText_AwaitingCommunication - bl StringExpandPlaceholders - b _08012A34 - .pool -_08012A2C: - ldr r0, =gStringVar4 - ldrb r1, [r4] - bl sub_801262C -_08012A34: - ldrb r0, [r6, 0x11] - ldr r1, =gUnknown_02022C2D - ldrb r1, [r1] - ldrb r2, [r6, 0x13] - bl sub_80124EC - movs r0, 0x5 - strb r0, [r6, 0xC] - b _08012F50 - .pool -_08012A50: - adds r0, r6, 0 - adds r0, 0xD - ldr r1, =gStringVar4 - bl sub_8017064 - lsls r0, 24 - cmp r0, 0 - bne _08012A62 - b _08012F50 -_08012A62: - movs r0, 0x6 - strb r0, [r6, 0xC] - b _08012F50 - .pool -_08012A6C: - adds r0, r6, 0 - movs r1, 0x7 - movs r2, 0xA - bl sub_801320C - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08012AA8 - ldrb r0, [r6, 0x13] - cmp r0, 0x1 - bne _08012A90 - movs r0, 0x17 - b _08012AA6 - .pool -_08012A90: - ldr r0, =gUnknown_02022C2D - ldrb r1, [r0] - movs r0, 0xF0 - ands r0, r1 - cmp r0, 0 - beq _08012AA4 - movs r0, 0x1E - b _08012AA6 - .pool -_08012AA4: - movs r0, 0x13 -_08012AA6: - strb r0, [r6, 0xC] -_08012AA8: - ldr r0, =gUnknown_02022C2D - ldrb r2, [r0] - lsrs r0, r2, 4 - cmp r0, 0 - beq _08012ADE - ldrb r1, [r6, 0x13] - subs r0, 0x1 - cmp r1, r0 - ble _08012ADE - movs r4, 0xF - adds r0, r4, 0 - ands r0, r2 - cmp r0, 0 - beq _08012ADE - bl sub_8012240 - cmp r0, 0 - beq _08012ADE - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _08012ADE - strb r4, [r6, 0xC] - bl sub_800EF38 -_08012ADE: - ldrb r0, [r6, 0xC] - cmp r0, 0x6 - beq _08012AE6 - b _08012F50 -_08012AE6: - bl sub_80105EC - cmp r0, 0 - bne _08012AF0 - b _08012F50 -_08012AF0: - b _08012C56 - .pool -_08012AFC: - bl sub_80105EC - cmp r0, 0 - beq _08012B06 - b _08012F50 -_08012B06: - movs r0, 0x6 - strb r0, [r6, 0xC] - ldr r0, [r6] - bl sub_8013398 - strb r0, [r6, 0x13] - b _08012F50 -_08012B14: - movs r3, 0 - ldr r0, =gUnknown_02022C2C - ldrb r1, [r0] - movs r0, 0xF - ands r0, r1 - cmp r0, 0x2 - bne _08012B24 - movs r3, 0x1 -_08012B24: - adds r0, r6, 0 - adds r0, 0xD - ldr r2, =gUnknown_082EDDC4 - lsls r1, r3, 2 - adds r1, r2 - ldr r1, [r1] - bl sub_8017064 - lsls r0, 24 - cmp r0, 0 - bne _08012B3C - b _08012F50 -_08012B3C: - ldr r0, [r6] - bl sub_8013398 - strb r0, [r6, 0x13] - ldrb r0, [r6, 0x12] - bl sub_81AE70C - b _08012E5C - .pool -_08012B54: - ldr r0, =gUnknown_02022C2D - ldrb r0, [r0] - movs r1, 0xF - ands r1, r0 - movs r0, 0x2 - eors r1, r0 - negs r0, r1 - orrs r0, r1 - lsrs r3, r0, 31 - adds r0, r6, 0 - adds r0, 0xD - ldr r2, =gUnknown_082EDDC4 - lsls r1, r3, 2 - adds r1, r2 - ldr r1, [r1] - bl sub_8017064 - lsls r0, 24 - cmp r0, 0 - bne _08012B7E - b _08012F50 -_08012B7E: - movs r0, 0x15 - strb r0, [r6, 0xC] - b _08012F50 - .pool -_08012B8C: - adds r0, r6, 0 - adds r0, 0xD - ldr r1, =gStringVar4 - bl sub_8017064 - lsls r0, 24 - cmp r0, 0 - bne _08012B9E - b _08012F50 -_08012B9E: - movs r0, 0xB - strb r0, [r6, 0xC] - b _08012F50 - .pool -_08012BA8: - adds r4, r6, 0 - adds r4, 0xD - ldrb r1, [r6, 0x13] - lsls r1, 5 - ldr r0, [r6] - adds r0, r1 - adds r0, 0x2 - bl sub_8015658 - lsls r0, 16 - lsrs r0, 16 - ldrb r2, [r6, 0x13] - lsls r2, 5 - ldr r1, [r6] - adds r1, r2 - adds r1, 0x10 - bl sub_801064C - adds r1, r0, 0 - adds r0, r4, 0 - bl sub_80170B8 - lsls r0, 24 - asrs r1, r0, 24 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _08012C28 - cmp r1, r0 - bgt _08012BEC - subs r0, 0x2 - cmp r1, r0 - beq _08012C56 - b _08012F50 -_08012BEC: - cmp r1, 0 - beq _08012BF6 - cmp r1, 0x1 - beq _08012C28 - b _08012F50 -_08012BF6: - bl sub_800E0E8 - movs r0, 0 - movs r1, 0 - bl CreateWirelessStatusIndicatorSprite - movs r0, 0x5 - strb r0, [r6, 0x19] - ldrb r1, [r6, 0x13] - lsls r1, 5 - ldr r0, [r6] - adds r0, r1 - adds r0, 0x2 - bl sub_8015658 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - ldrb r0, [r6, 0x13] - lsls r0, 5 - ldr r2, [r6] - adds r2, r0 - adds r2, 0x10 - movs r0, 0x5 - b _08012C4C -_08012C28: - movs r0, 0x6 - strb r0, [r6, 0x19] - ldrb r1, [r6, 0x13] - lsls r1, 5 - ldr r0, [r6] - adds r0, r1 - adds r0, 0x2 - bl sub_8015658 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - ldrb r0, [r6, 0x13] - lsls r0, 5 - ldr r2, [r6] - adds r2, r0 - adds r2, 0x10 - movs r0, 0x6 -_08012C4C: - bl sub_8010688 - movs r0, 0xC - strb r0, [r6, 0xC] - b _08012F50 -_08012C56: - movs r0, 0x9 - strb r0, [r6, 0xC] - b _08012F50 -_08012C5C: - ldrb r1, [r6, 0x13] - lsls r1, 5 - ldr r0, [r6] - adds r0, r1 - adds r0, 0x2 - bl sub_8015658 - lsls r0, 16 - lsrs r0, 16 - ldrb r2, [r6, 0x13] - lsls r2, 5 - ldr r1, [r6] - adds r1, r2 - adds r1, 0x10 - bl sub_8010714 - cmp r0, 0x1 - bne _08012D4A - ldrb r0, [r6, 0x19] - cmp r0, 0x5 - bne _08012D04 - ldr r1, [r6] - ldrb r0, [r6, 0x13] - lsls r0, 5 - adds r1, r0 - movs r0, 0 - strb r0, [r1, 0x1B] - ldrb r0, [r6, 0x12] - bl sub_81AE70C - ldrb r0, [r6, 0x13] - adds r0, 0x1 - strb r0, [r6, 0x13] - ldr r1, =gUnknown_02022C2D - ldrb r1, [r1] - movs r3, 0xF - lsls r0, 24 - lsrs r2, r0, 24 - adds r0, r3, 0 - ands r0, r1 - cmp r2, r0 - bne _08012D40 - movs r0, 0xF0 - ands r0, r1 - cmp r0, 0 - bne _08012CBC - cmp r2, 0x4 - bne _08012CC4 -_08012CBC: - strb r3, [r6, 0xC] - b _08012CE0 - .pool -_08012CC4: - ldr r0, =gStringVar1 - ldrb r2, [r6, 0x13] - lsls r2, 5 - subs r2, 0x20 - ldr r1, [r6] - adds r1, r2 - bl sub_8018404 - ldr r0, =gStringVar4 - ldr r1, =gUnknown_082EDC9C - bl StringExpandPlaceholders - movs r0, 0xD - strb r0, [r6, 0xC] -_08012CE0: - bl sub_800EF38 - ldrb r0, [r6, 0x11] - ldr r1, =gUnknown_02022C2D - ldrb r1, [r1] - ldrb r2, [r6, 0x13] - bl sub_80124EC - b _08012D44 - .pool -_08012D04: - ldrb r1, [r6, 0x13] - lsls r1, 5 - ldr r0, [r6] - adds r0, r1 - adds r4, r0, 0 - adds r4, 0x10 - adds r0, 0x2 - bl sub_8015658 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl sub_8011DC0 - ldr r1, [r6] - ldrb r0, [r6, 0x13] - lsls r0, 5 - adds r1, r0 - ldrb r2, [r1, 0x1A] - movs r0, 0x4 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x1A] - ldr r0, [r6] - bl sub_8013398 - ldrb r0, [r6, 0x12] - bl sub_81AE70C -_08012D40: - movs r0, 0x4 - strb r0, [r6, 0xC] -_08012D44: - movs r0, 0 - strb r0, [r6, 0x19] - b _08012F50 -_08012D4A: - cmp r0, 0x2 - beq _08012D50 - b _08012F50 -_08012D50: - movs r0, 0 - movs r1, 0 - bl sub_8011A64 - b _08012E5C -_08012D5A: - adds r0, r6, 0 - adds r0, 0xD - ldr r1, =gStringVar4 - bl sub_8017064 - lsls r0, 24 - cmp r0, 0 - bne _08012D6C - b _08012F50 -_08012D6C: - movs r0, 0xE - strb r0, [r6, 0xC] - b _08012F50 - .pool -_08012D78: - ldrb r0, [r6, 0xE] - adds r0, 0x1 - strb r0, [r6, 0xE] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x78 - bhi _08012D88 - b _08012F50 -_08012D88: - b _08012DCE -_08012D8A: - adds r0, r6, 0 - adds r0, 0xD - ldr r1, =gUnknown_082EDC5C - bl sub_8017064 - lsls r0, 24 - cmp r0, 0 - bne _08012D9C - b _08012F50 -_08012D9C: - movs r0, 0x10 - strb r0, [r6, 0xC] - b _08012F50 - .pool -_08012DA8: - adds r0, r6, 0 - adds r0, 0xD - movs r1, 0 - bl sub_80170B8 - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _08012DCE - cmp r1, 0 - bgt _08012DC8 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _08012DD4 - b _08012F50 -_08012DC8: - cmp r1, 0x1 - beq _08012DD4 - b _08012F50 -_08012DCE: - movs r0, 0x11 - strb r0, [r6, 0xC] - b _08012F50 -_08012DD4: - ldr r0, =gUnknown_02022C2D - ldrb r1, [r0] - movs r0, 0xF0 - ands r0, r1 - cmp r0, 0 - beq _08012DEC - movs r0, 0x1E - strb r0, [r6, 0xC] - b _08012F50 - .pool -_08012DEC: - movs r0, 0x13 - strb r0, [r6, 0xC] - b _08012F50 -_08012DF2: - adds r0, r6, 0 - adds r0, 0xD - ldr r1, =gUnknown_082EDC78 - bl sub_8017064 - lsls r0, 24 - cmp r0, 0 - bne _08012E04 - b _08012F50 -_08012E04: - movs r0, 0x14 - strb r0, [r6, 0xC] - b _08012F50 - .pool -_08012E10: - adds r0, r6, 0 - adds r0, 0xD - movs r1, 0 - bl sub_80170B8 - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _08012EC6 - cmp r1, 0 - bgt _08012E30 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _08012E36 - b _08012F50 -_08012E30: - cmp r1, 0x1 - beq _08012E36 - b _08012F50 -_08012E36: - ldr r0, =gUnknown_02022C2D - ldrb r2, [r0] - movs r0, 0xF0 - ands r0, r2 - cmp r0, 0 - beq _08012E4C - movs r0, 0xF - strb r0, [r6, 0xC] - b _08012F50 - .pool -_08012E4C: - movs r3, 0xF - ldrb r1, [r6, 0x13] - adds r0, r3, 0 - ands r0, r2 - cmp r1, r0 - bne _08012E5C - strb r3, [r6, 0xC] - b _08012F50 -_08012E5C: - movs r0, 0x4 - strb r0, [r6, 0xC] - b _08012F50 -_08012E62: - adds r0, r6, 0 - movs r1, 0x7 - movs r2, 0x1D - bl sub_801320C - lsls r0, 24 - cmp r0, 0 - bne _08012F50 - movs r0, 0x12 - strb r0, [r6, 0xC] - b _08012F50 -_08012E78: - bl sub_800EF1C - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _08012EAE - movs r0, 0 - bl sub_800EF58 - cmp r0, 0 - beq _08012E94 - movs r0, 0x1A - strb r0, [r6, 0xC] - b _08012F50 -_08012E94: - ldrh r0, [r6, 0x1A] - adds r0, 0x1 - strh r0, [r6, 0x1A] - lsls r0, 16 - movs r1, 0x96 - lsls r1, 17 - cmp r0, r1 - bls _08012F50 - movs r0, 0x1D - strb r0, [r6, 0xC] - movs r0, 0 - strb r0, [r6, 0xD] - b _08012F50 -_08012EAE: - movs r0, 0x1D - strb r0, [r6, 0xC] - strb r1, [r6, 0xD] - b _08012F50 -_08012EB6: - adds r0, r6, 0 - adds r0, 0xD - ldr r1, =gUnknown_082EDD58 - bl sub_8017064 - lsls r0, 24 - cmp r0, 0 - beq _08012F50 -_08012EC6: - movs r0, 0x17 - strb r0, [r6, 0xC] - b _08012F50 - .pool -_08012ED0: - bl sub_800E084 - bl sub_800EDD4 - adds r0, r6, 0 - bl sub_8012F64 - ldrb r0, [r6, 0xC] - adds r0, 0x1 - strb r0, [r6, 0xC] - b _08012F50 -_08012EE6: - bl EnableBothScriptContexts - adds r0, r4, 0 - bl DestroyTask - ldr r1, =gSpecialVar_Result - movs r0, 0x5 - strh r0, [r1] - b _08012F50 - .pool -_08012EFC: - bl EnableBothScriptContexts - adds r0, r4, 0 - bl DestroyTask - ldr r1, =gSpecialVar_Result - movs r0, 0x8 - strh r0, [r1] - b _08012F50 - .pool -_08012F14: - bl sub_8011A80 - cmp r0, 0 - beq _08012F22 - movs r0, 0x1D - strb r0, [r6, 0xC] - b _08012F50 -_08012F22: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _08012F50 - ldr r0, =gUnknown_02022C2C - ldrb r0, [r0] - bl sub_80126CC - cmp r0, 0 - beq _08012F3A - bl sub_801103C -_08012F3A: - movs r0, 0x1 - bl sub_8011068 - bl sub_80149C4 - adds r0, r6, 0 - bl sub_8012F64 - adds r0, r4, 0 - bl DestroyTask -_08012F50: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8012780 - - thumb_func_start sub_8012F64 -sub_8012F64: @ 8012F64 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0x11] - bl ClearWindowTilemap - ldrb r0, [r4, 0x11] - movs r1, 0 - bl sub_819746C - ldrb r0, [r4, 0x12] - movs r1, 0 - movs r2, 0 - bl DestroyListMenuTask - ldrb r0, [r4, 0x10] - bl ClearWindowTilemap - ldrb r0, [r4, 0xF] - movs r1, 0 - bl sub_819746C - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldrb r0, [r4, 0x11] - bl RemoveWindow - ldrb r0, [r4, 0xF] - bl RemoveWindow - ldrb r0, [r4, 0x10] - bl RemoveWindow - ldrb r0, [r4, 0x17] - bl DestroyTask - ldr r0, [r4, 0x8] - bl Free - ldr r0, [r4] - bl Free - ldr r0, [r4, 0x4] - bl Free - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8012F64 - - thumb_func_start sub_8012FC4 -sub_8012FC4: @ 8012FC4 - push {lr} - adds r2, r0, 0 - lsls r1, 24 - lsrs r1, 24 - subs r0, r1, 0x1 - cmp r0, 0x1B - bhi _08013070 - lsls r0, 2 - ldr r1, =_08012FE0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08012FE0: - .4byte _08013050 - .4byte _08013050 - .4byte _08013068 - .4byte _08013050 - .4byte _08013070 - .4byte _08013070 - .4byte _08013070 - .4byte _08013070 - .4byte _08013068 - .4byte _08013068 - .4byte _08013068 - .4byte _08013070 - .4byte _08013070 - .4byte _08013050 - .4byte _08013068 - .4byte _08013068 - .4byte _08013070 - .4byte _08013070 - .4byte _08013070 - .4byte _08013070 - .4byte _08013058 - .4byte _08013058 - .4byte _08013068 - .4byte _08013068 - .4byte _08013068 - .4byte _08013068 - .4byte _08013068 - .4byte _08013050 -_08013050: - ldr r1, =gUnknown_082EDBE8 - b _0801305A - .pool -_08013058: - ldr r1, =gUnknown_082EDC0C -_0801305A: - adds r0, r2, 0 - bl StringExpandPlaceholders - b _08013070 - .pool -_08013068: - ldr r1, =gUnknown_082EDC34 - adds r0, r2, 0 - bl StringExpandPlaceholders -_08013070: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8012FC4 - - thumb_func_start sub_8013078 -sub_8013078: @ 8013078 - push {lr} - lsls r1, 24 - lsrs r1, 24 - adds r2, r1, 0 - cmp r1, 0x44 - beq _08013098 - cmp r1, 0x44 - bgt _0801308E - cmp r1, 0x41 - beq _08013098 - b _080130AA -_0801308E: - cmp r2, 0x45 - beq _080130A4 - cmp r2, 0x48 - beq _080130A4 - b _080130AA -_08013098: - ldr r1, =gUnknown_082EE560 - bl StringExpandPlaceholders - b _080130AA - .pool -_080130A4: - ldr r1, =gUnknown_082EE57C - bl StringExpandPlaceholders -_080130AA: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8013078 - - thumb_func_start sub_80130B4 -sub_80130B4: @ 80130B4 - push {lr} - adds r2, r0, 0 - lsls r1, 24 - lsrs r1, 24 - subs r0, r1, 0x1 - cmp r0, 0x1B - bhi _08013158 - lsls r0, 2 - ldr r1, =_080130D0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080130D0: - .4byte _08013140 - .4byte _08013140 - .4byte _08013150 - .4byte _08013140 - .4byte _08013158 - .4byte _08013158 - .4byte _08013158 - .4byte _08013158 - .4byte _08013150 - .4byte _08013150 - .4byte _08013150 - .4byte _08013158 - .4byte _08013158 - .4byte _08013140 - .4byte _08013150 - .4byte _08013150 - .4byte _08013158 - .4byte _08013158 - .4byte _08013158 - .4byte _08013158 - .4byte _08013140 - .4byte _08013140 - .4byte _08013150 - .4byte _08013150 - .4byte _08013150 - .4byte _08013150 - .4byte _08013150 - .4byte _08013140 -_08013140: - ldr r1, =gUnknown_082EFC3C - adds r0, r2, 0 - bl StringExpandPlaceholders - b _08013158 - .pool -_08013150: - ldr r1, =gUnknown_082EFC54 - adds r0, r2, 0 - bl StringExpandPlaceholders -_08013158: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80130B4 - - thumb_func_start sub_8013160 -sub_8013160: @ 8013160 - push {lr} - adds r2, r0, 0 - lsls r1, 24 - lsrs r1, 24 - subs r0, r1, 0x1 - cmp r0, 0x1B - bhi _08013204 - lsls r0, 2 - ldr r1, =_0801317C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0801317C: - .4byte _080131EC - .4byte _080131EC - .4byte _080131FC - .4byte _080131EC - .4byte _08013204 - .4byte _08013204 - .4byte _08013204 - .4byte _08013204 - .4byte _080131FC - .4byte _080131FC - .4byte _080131FC - .4byte _08013204 - .4byte _08013204 - .4byte _080131EC - .4byte _080131FC - .4byte _080131FC - .4byte _08013204 - .4byte _08013204 - .4byte _08013204 - .4byte _08013204 - .4byte _080131EC - .4byte _080131EC - .4byte _080131FC - .4byte _080131FC - .4byte _080131FC - .4byte _080131FC - .4byte _080131FC - .4byte _080131EC -_080131EC: - ldr r1, =gUnknown_082EDDF4 - adds r0, r2, 0 - bl StringExpandPlaceholders - b _08013204 - .pool -_080131FC: - ldr r1, =gUnknown_082EDE0C - adds r0, r2, 0 - bl StringExpandPlaceholders -_08013204: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8013160 - - thumb_func_start sub_801320C -sub_801320C: @ 801320C - push {r4-r6,lr} - adds r4, r0, 0 - adds r6, r1, 0 - adds r5, r2, 0 - ldr r0, [r4] - bl sub_80132D4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08013228 - cmp r0, 0x2 - beq _0801325C - b _08013270 -_08013228: - movs r0, 0x2 - bl PlaySE - ldrb r0, [r4, 0x12] - bl sub_81AE70C - ldr r0, =gStringVar2 - ldrb r2, [r4, 0x13] - lsls r2, 5 - ldr r1, [r4] - adds r1, r2 - bl sub_8018404 - ldr r0, =gStringVar4 - ldr r1, =gUnknown_02022C2C - ldrb r1, [r1] - bl sub_8012FC4 - strb r6, [r4, 0xC] - b _08013270 - .pool -_0801325C: - movs r0, 0 - movs r1, 0 - bl sub_8011A64 - ldrb r0, [r4, 0x12] - bl sub_81AE70C - strb r5, [r4, 0xC] - movs r0, 0x1 - b _08013272 -_08013270: - movs r0, 0 -_08013272: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_801320C - - thumb_func_start sub_8013278 -sub_8013278: @ 8013278 - push {r4-r6,lr} - sub sp, 0x8 - adds r4, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r2, 24 - lsrs r6, r2, 24 - ldr r0, =gUnknown_02022C30 - ldr r3, [r0] - movs r2, 0 - ldr r1, [r3] - lsls r0, r4, 5 - adds r1, r0 - ldrb r0, [r1, 0x1A] - lsls r0, 30 - lsrs r0, 30 - cmp r0, 0x1 - beq _080132A8 - cmp r0, 0x2 - beq _080132B2 - b _080132B4 - .pool -_080132A8: - ldrb r0, [r1, 0x1B] - cmp r0, 0 - beq _080132B4 - movs r2, 0x2 - b _080132B4 -_080132B2: - movs r2, 0x1 -_080132B4: - lsls r0, r4, 5 - ldr r3, [r3] - adds r3, r0 - str r2, [sp] - lsls r0, r4, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - adds r0, r5, 0 - movs r1, 0 - adds r2, r6, 0 - bl sub_80178A0 - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8013278 - - thumb_func_start sub_80132D4 -sub_80132D4: @ 80132D4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - ldr r0, =gUnknown_02022C30 - ldr r5, [r0] - movs r0, 0 - mov r8, r0 - movs r3, 0x1 -_080132E8: - ldr r0, [r5] - lsls r6, r3, 5 - adds r2, r0, r6 - ldrb r0, [r2, 0x1A] - lsls r0, 30 - lsrs r0, 30 - mov r9, r0 - cmp r0, 0x1 - bne _08013348 - ldr r1, [r5, 0x4] - adds r0, r2, 0 - str r3, [sp] - bl sub_80176E4 - adds r4, r0, 0 - ldr r3, [sp] - cmp r4, 0xFF - beq _08013330 - ldr r1, [r5] - ldr r0, [r5, 0x4] - lsls r2, r4, 3 - subs r2, r4 - lsls r2, 2 - adds r1, r6 - adds r0, r2 - ldm r0!, {r2,r4,r7} - stm r1!, {r2,r4,r7} - ldm r0!, {r2,r4,r7} - stm r1!, {r2,r4,r7} - ldr r0, [r5] - adds r0, r6 - mov r1, r9 - strh r1, [r0, 0x18] - b _08013348 - .pool -_08013330: - ldr r2, [r5] - adds r2, r6 - ldrb r1, [r2, 0x1A] - movs r4, 0x4 - negs r4, r4 - adds r0, r4, 0 - ands r1, r0 - movs r0, 0x2 - orrs r1, r0 - strb r1, [r2, 0x1A] - movs r7, 0x2 - mov r8, r7 -_08013348: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x4 - bls _080132E8 - movs r6, 0 - movs r4, 0x3 -_08013356: - ldr r0, [r5] - ldr r1, [r5, 0x4] - adds r1, r6 - movs r2, 0x5 - bl sub_8017734 - adds r6, 0x1C - subs r4, 0x1 - ldr r0, [r5] - cmp r4, 0 - bge _08013356 - mov r1, r8 - cmp r1, 0x2 - beq _08013388 - adds r1, r0, 0 - movs r4, 0x4 -_08013376: - ldrb r0, [r1, 0x1B] - cmp r0, 0 - beq _08013380 - movs r2, 0x1 - mov r8, r2 -_08013380: - adds r1, 0x20 - subs r4, 0x1 - cmp r4, 0 - bge _08013376 -_08013388: - mov r0, r8 - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80132D4 - - thumb_func_start sub_8013398 -sub_8013398: @ 8013398 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r0, =gUnknown_02022C30 - ldr r4, [r0] - movs r3, 0 -_080133A8: - ldr r0, [r4, 0x8] - lsls r2, r3, 5 - ldr r1, [r4] - adds r0, r2 - adds r1, r2 - ldm r1!, {r2,r5,r6} - stm r0!, {r2,r5,r6} - ldm r1!, {r2,r5,r7} - stm r0!, {r2,r5,r7} - ldm r1!, {r6,r7} - stm r0!, {r6,r7} - adds r3, 0x1 - ldr r0, [r4, 0x8] - ldr r1, [r4] - cmp r3, 0x4 - ble _080133A8 - movs r5, 0 - mov r8, r1 - mov r9, r0 - movs r3, 0x4 -_080133D0: - mov r1, r9 - ldrb r0, [r1, 0x1A] - lsls r0, 30 - lsrs r0, 30 - cmp r0, 0x1 - bne _080133F2 - lsls r0, r5, 5 - add r0, r8 - ldm r1!, {r2,r6,r7} - stm r0!, {r2,r6,r7} - ldm r1!, {r2,r6,r7} - stm r0!, {r2,r6,r7} - ldm r1!, {r2,r6} - stm r0!, {r2,r6} - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_080133F2: - movs r7, 0x20 - add r9, r7 - subs r3, 0x1 - cmp r3, 0 - bge _080133D0 - mov r10, r5 - cmp r5, 0x4 - bhi _08013454 - ldr r0, =gUnknown_082F045C - mov r9, r0 - movs r1, 0 - mov r12, r1 - movs r2, 0x4 - negs r2, r2 - mov r8, r2 -_08013410: - ldr r1, [r4] - lsls r3, r5, 5 - adds r1, r3 - mov r0, r9 - ldm r0!, {r2,r6,r7} - stm r1!, {r2,r6,r7} - ldm r0!, {r2,r6,r7} - stm r1!, {r2,r6,r7} - ldr r0, [r4] - adds r0, r3 - movs r1, 0 - strh r1, [r0, 0x18] - ldr r1, [r4] - adds r1, r3 - ldrb r2, [r1, 0x1A] - mov r0, r8 - ands r0, r2 - strb r0, [r1, 0x1A] - ldr r1, [r4] - adds r1, r3 - ldrb r2, [r1, 0x1A] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x1A] - ldr r0, [r4] - adds r0, r3 - mov r6, r12 - strb r6, [r0, 0x1B] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x4 - bls _08013410 -_08013454: - movs r3, 0 - ldr r1, [r4] - ldrb r0, [r1, 0x1A] - lsls r0, 30 - lsrs r0, 30 - cmp r0, 0x1 - bne _08013474 - ldrb r0, [r1, 0x1B] - cmp r0, 0x40 - bne _08013474 - mov r10, r3 - b _08013494 - .pool -_08013474: - adds r3, 0x1 - cmp r3, 0x4 - bgt _08013494 - lsls r0, r3, 5 - adds r2, r1, r0 - ldrb r0, [r2, 0x1A] - lsls r0, 30 - lsrs r0, 30 - cmp r0, 0x1 - bne _08013474 - ldrb r0, [r2, 0x1B] - cmp r0, 0x40 - bne _08013474 - lsls r0, r3, 24 - lsrs r0, 24 - mov r10, r0 -_08013494: - mov r0, r10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8013398 - - thumb_func_start BerryBlenderLinkJoinGroup -BerryBlenderLinkJoinGroup: @ 80134A4 - push {lr} - ldr r0, =sub_80134E8 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gUnknown_02022C30 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r1, r0 - str r1, [r2] - ldr r0, =gUnknown_03000DA4 - str r1, [r0] - movs r0, 0 - strb r0, [r1, 0x8] - strb r0, [r1, 0x9] - ldr r1, =gSpecialVar_Result - strh r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end BerryBlenderLinkJoinGroup - - thumb_func_start sub_80134E8 -sub_80134E8: @ 80134E8 - push {r4-r7,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gUnknown_02022C30 - ldr r6, [r0] - ldrb r0, [r6, 0x8] - cmp r0, 0x17 - bls _080134FC - b _08013B82 -_080134FC: - lsls r0, 2 - ldr r1, =_08013510 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08013510: - .4byte _08013570 - .4byte _080135E0 - .4byte _0801360C - .4byte _080136D8 - .4byte _08013B82 - .4byte _08013788 - .4byte _080137C4 - .4byte _08013A10 - .4byte _08013A2C - .4byte _08013A7A - .4byte _08013A8C - .4byte _08013B14 - .4byte _08013A8C - .4byte _08013AE4 - .4byte _08013A8C - .4byte _08013B24 - .4byte _08013B82 - .4byte _08013B82 - .4byte _08013A8C - .4byte _08013B44 - .4byte _08013A8C - .4byte _08013B78 - .4byte _08013B82 - .4byte _08013B68 -_08013570: - ldr r0, =gSpecialVar_0x8004 - ldrh r2, [r0] - adds r3, r0, 0 - cmp r2, 0x14 - bne _08013590 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000ca9 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0x1 - bne _08013590 - adds r0, r2, 0x1 - strh r0, [r3] -_08013590: - ldr r2, =gUnknown_02022C2C - ldr r1, =gUnknown_082F0530 - ldrh r0, [r3] - adds r0, r1 - ldrb r0, [r0] - strb r0, [r2] - ldrb r0, [r2] - movs r1, 0 - movs r2, 0 - bl sub_8010F84 - bl sub_800B488 - bl OpenLink - bl sub_8011C5C - movs r0, 0x70 - bl AllocZeroed - str r0, [r6, 0x4] - movs r0, 0x80 - lsls r0, 2 - bl AllocZeroed - str r0, [r6] - movs r0, 0x1 - strb r0, [r6, 0x8] - b _08013B82 - .pool -_080135E0: - adds r0, r6, 0 - adds r0, 0x9 - ldr r2, =gUnknown_082EFB70 - ldr r1, =gSpecialVar_0x8004 - ldrh r1, [r1] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl sub_8017064 - lsls r0, 24 - cmp r0, 0 - bne _080135FC - b _08013B82 -_080135FC: - movs r0, 0x2 - strb r0, [r6, 0x8] - b _08013B82 - .pool -_0801360C: - ldr r0, [r6, 0x4] - movs r1, 0x4 - bl sub_80175EC - ldr r0, [r6] - movs r1, 0x10 - bl sub_8017580 - ldr r0, [r6, 0x4] - ldr r1, =gSpecialVar_0x8004 - ldrh r1, [r1] - bl sub_8016FC0 - movs r4, 0 - strb r0, [r6, 0x11] - ldr r0, =gUnknown_082F00BC - bl AddWindow - strb r0, [r6, 0xC] - ldr r0, =gUnknown_082F0174 - bl AddWindow - strb r0, [r6, 0xB] - ldr r0, =gUnknown_082F017C - bl AddWindow - strb r0, [r6, 0xD] - ldrb r0, [r6, 0xC] - movs r1, 0x22 - bl FillWindowPixelBuffer - ldrb r0, [r6, 0xC] - ldr r2, =gUnknown_082EF7DC - movs r1, 0x1 - str r1, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - movs r1, 0 - movs r3, 0x8 - bl sub_80173E0 - ldrb r0, [r6, 0xC] - bl PutWindowTilemap - ldrb r0, [r6, 0xC] - movs r1, 0x2 - bl CopyWindowToVram - ldrb r0, [r6, 0xB] - movs r1, 0 - bl NewMenuHelpers_DrawStdWindowFrame - ldr r0, =gMultiuseListMenuTemplate - adds r2, r0, 0 - ldr r1, =gUnknown_082F0204 - ldm r1!, {r3,r5,r7} - stm r2!, {r3,r5,r7} - ldm r1!, {r3,r5,r7} - stm r2!, {r3,r5,r7} - ldrb r1, [r6, 0xB] - strb r1, [r0, 0x10] - movs r1, 0 - movs r2, 0 - bl ListMenuInit - strb r0, [r6, 0xE] - ldrb r0, [r6, 0xD] - movs r1, 0 - bl NewMenuHelpers_DrawStdWindowFrame - ldrb r0, [r6, 0xD] - bl PutWindowTilemap - ldrb r0, [r6, 0xD] - bl sub_80125BC - ldrb r0, [r6, 0xD] - movs r1, 0x2 - bl CopyWindowToVram - movs r0, 0 - bl CopyBgTilemapBufferToVram - strb r4, [r6, 0xF] - movs r0, 0x3 - strb r0, [r6, 0x8] - b _08013B82 - .pool -_080136D8: - bl sub_8013E44 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - beq _080136F2 - cmp r4, 0x1 - beq _080136EA - b _08013A72 -_080136EA: - movs r0, 0x2 - bl PlaySE - b _08013A72 -_080136F2: - ldrb r0, [r6, 0xE] - bl ListMenuHandleInputGetItemId - adds r4, r0, 0 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08013770 - movs r0, 0x1 - negs r0, r0 - cmp r4, r0 - beq _08013770 - ldr r0, [r6] - lsls r1, r4, 5 - adds r0, r1 - ldrb r1, [r0, 0xA] - ldrb r0, [r0, 0x1A] - lsls r0, 30 - lsrs r0, 30 - cmp r0, 0x1 - bne _08013768 - lsrs r0, r1, 7 - cmp r0, 0 - bne _08013768 - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_8013B8C - adds r1, r0, 0 - cmp r1, 0 - bne _08013744 - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_8013BD8 - movs r0, 0x5 - b _08013756 - .pool -_08013744: - ldr r0, =gStringVar4 - ldr r2, =gUnknown_082EDD50 - subs r1, 0x1 - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl StringCopy - movs r0, 0x12 -_08013756: - strb r0, [r6, 0x8] - movs r0, 0x6E - bl PlaySE - b _08013B82 - .pool -_08013768: - movs r0, 0x7 - bl PlaySE - b _08013B82 -_08013770: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _0801377E - b _08013B82 -_0801377E: - movs r0, 0xA - strb r0, [r6, 0x8] - b _08013B82 - .pool -_08013788: - ldr r4, =gStringVar4 - ldr r0, =gUnknown_02022C2C - ldrb r1, [r0] - adds r0, r4, 0 - bl sub_80130B4 - adds r0, r6, 0 - adds r0, 0x9 - adds r1, r4, 0 - bl sub_8017064 - lsls r0, 24 - cmp r0, 0 - bne _080137A6 - b _08013B82 -_080137A6: - ldr r0, =gStringVar1 - ldrb r2, [r6, 0xF] - lsls r2, 5 - ldr r1, [r6] - adds r1, r2 - bl sub_8018404 - b _08013A86 - .pool -_080137C4: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _0801387A - ldr r4, =gUnknown_02022C2C - ldr r1, [r6] - ldrb r0, [r6, 0xF] - lsls r0, 5 - adds r1, r0 - ldrb r0, [r1, 0xA] - lsls r0, 25 - lsrs r0, 25 - strb r0, [r4] - movs r0, 0 - movs r1, 0 - bl sub_8011A64 - ldrb r0, [r4] - subs r0, 0x1 - cmp r0, 0x1B - bhi _0801387A - lsls r0, 2 - ldr r1, =_08013804 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08013804: - .4byte _08013874 - .4byte _08013874 - .4byte _08013874 - .4byte _08013874 - .4byte _08013874 - .4byte _0801387A - .4byte _0801387A - .4byte _0801387A - .4byte _08013874 - .4byte _08013874 - .4byte _08013874 - .4byte _0801387A - .4byte _08013874 - .4byte _08013874 - .4byte _08013874 - .4byte _08013874 - .4byte _0801387A - .4byte _0801387A - .4byte _0801387A - .4byte _0801387A - .4byte _08013874 - .4byte _08013874 - .4byte _08013874 - .4byte _08013874 - .4byte _08013874 - .4byte _08013874 - .4byte _08013874 - .4byte _08013874 -_08013874: - movs r0, 0x14 - strb r0, [r6, 0x8] - b _08013B82 -_0801387A: - bl sub_8011A74 - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x1 - cmp r0, 0x8 - bls _0801388A - b _080139EC -_0801388A: - lsls r0, 2 - ldr r1, =_08013898 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08013898: - .4byte _080138BC - .4byte _080138C2 - .4byte _080139EC - .4byte _080139EC - .4byte _080138C8 - .4byte _080138C2 - .4byte _08013934 - .4byte _080139EC - .4byte _080138C2 -_080138BC: - movs r0, 0xC - strb r0, [r6, 0x8] - b _080139EC -_080138C2: - movs r0, 0xE - strb r0, [r6, 0x8] - b _080139EC -_080138C8: - ldr r5, =gStringVar4 - ldr r4, =gUnknown_02022C2C - ldrb r1, [r4] - adds r0, r5, 0 - bl sub_8013160 - adds r0, r6, 0 - adds r0, 0x9 - adds r1, r5, 0 - bl sub_8017064 - lsls r0, 24 - cmp r0, 0 - bne _080138E6 - b _080139EC -_080138E6: - ldrb r0, [r4] - cmp r0, 0x1C - beq _080138F0 - cmp r0, 0xE - bne _08013904 -_080138F0: - movs r0, 0xC - movs r1, 0 - bl sub_8011A64 - b _080139EC - .pool -_08013904: - movs r0, 0x7 - movs r1, 0 - bl sub_8011A64 - ldr r0, =gStringVar1 - ldr r2, =gUnknown_082F0048 - ldrb r1, [r4] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl StringCopy - ldr r1, =gUnknown_082EDE48 - adds r0, r5, 0 - bl StringExpandPlaceholders - b _080139EC - .pool -_08013934: - ldrb r0, [r6, 0x15] - adds r2, r0, 0 - cmp r2, 0xF0 - bls _0801395C - adds r0, r6, 0 - adds r0, 0x9 - ldr r1, =gStringVar4 - bl sub_8017064 - lsls r0, 24 - cmp r0, 0 - beq _080139EC - movs r0, 0xC - movs r1, 0 - bl sub_8011A64 - movs r0, 0 - b _080139EA - .pool -_0801395C: - ldr r0, =gUnknown_02022C2C - ldrb r0, [r0] - subs r0, 0x1 - cmp r0, 0x1B - bhi _080139E8 - lsls r0, 2 - ldr r1, =_08013978 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08013978: - .4byte _080139EC - .4byte _080139EC - .4byte _080139E8 - .4byte _080139EC - .4byte _080139E8 - .4byte _080139E8 - .4byte _080139E8 - .4byte _080139E8 - .4byte _080139E8 - .4byte _080139E8 - .4byte _080139E8 - .4byte _080139E8 - .4byte _080139E8 - .4byte _080139EC - .4byte _080139E8 - .4byte _080139E8 - .4byte _080139E8 - .4byte _080139E8 - .4byte _080139E8 - .4byte _080139E8 - .4byte _080139E8 - .4byte _080139E8 - .4byte _080139E8 - .4byte _080139E8 - .4byte _080139E8 - .4byte _080139E8 - .4byte _080139E8 - .4byte _080139EC -_080139E8: - adds r0, r2, 0x1 -_080139EA: - strb r0, [r6, 0x15] -_080139EC: - bl sub_8011A74 - lsls r0, 24 - cmp r0, 0 - beq _080139F8 - b _08013B82 -_080139F8: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _08013A06 - b _08013B82 -_08013A06: - movs r0, 0x7 - strb r0, [r6, 0x8] - b _08013B82 - .pool -_08013A10: - adds r0, r6, 0 - adds r0, 0x9 - ldr r1, =gUnknown_082EDE64 - bl sub_8017064 - lsls r0, 24 - cmp r0, 0 - bne _08013A22 - b _08013B82 -_08013A22: - movs r0, 0x8 - strb r0, [r6, 0x8] - b _08013B82 - .pool -_08013A2C: - adds r4, r6, 0 - adds r4, 0x9 - bl sub_8011A74 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_80170B8 - lsls r0, 24 - asrs r1, r0, 24 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _08013A6A - cmp r1, r0 - bgt _08013A58 - subs r0, 0x2 - cmp r1, r0 - beq _08013A6E - b _08013B82 -_08013A58: - cmp r1, 0 - beq _08013A62 - cmp r1, 0x1 - beq _08013A6A - b _08013B82 -_08013A62: - bl sub_80106D4 - movs r0, 0x9 - b _08013A70 -_08013A6A: - movs r0, 0x5 - b _08013A70 -_08013A6E: - movs r0, 0x6 -_08013A70: - strb r0, [r6, 0x8] -_08013A72: - ldrb r0, [r6, 0xE] - bl sub_81AE70C - b _08013B82 -_08013A7A: - bl sub_8011A74 - lsls r0, 24 - cmp r0, 0 - bne _08013A86 - b _08013B82 -_08013A86: - movs r0, 0x6 - strb r0, [r6, 0x8] - b _08013B82 -_08013A8C: - ldrb r0, [r6, 0xD] - bl ClearWindowTilemap - ldrb r0, [r6, 0xD] - movs r1, 0 - bl sub_819746C - ldrb r0, [r6, 0xE] - movs r1, 0 - movs r2, 0 - bl DestroyListMenuTask - ldrb r0, [r6, 0xC] - bl ClearWindowTilemap - ldrb r0, [r6, 0xB] - movs r1, 0 - bl sub_819746C - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldrb r0, [r6, 0xD] - bl RemoveWindow - ldrb r0, [r6, 0xB] - bl RemoveWindow - ldrb r0, [r6, 0xC] - bl RemoveWindow - ldrb r0, [r6, 0x11] - bl DestroyTask - ldr r0, [r6] - bl Free - ldr r0, [r6, 0x4] - bl Free - ldrb r0, [r6, 0x8] - adds r0, 0x1 - strb r0, [r6, 0x8] - b _08013B82 -_08013AE4: - bl sub_800E084 - adds r5, r6, 0 - adds r5, 0x9 - ldr r4, =gUnknown_082EDE9C - bl sub_8011A74 - lsls r0, 24 - lsrs r0, 22 - adds r0, r4 - ldr r1, [r0] - adds r0, r5, 0 - bl sub_8017064 - lsls r0, 24 - cmp r0, 0 - beq _08013B82 - ldr r0, =gSpecialVar_Result - movs r1, 0x6 - b _08013B58 - .pool -_08013B14: - bl sub_800E084 - ldr r0, =gSpecialVar_Result - movs r1, 0x5 - b _08013B58 - .pool -_08013B24: - bl sub_800E084 - adds r5, r6, 0 - adds r5, 0x9 - ldr r4, =gUnknown_082EDE9C - bl sub_8011A74 - lsls r0, 24 - lsrs r0, 22 - adds r0, r4 - ldr r1, [r0] - adds r0, r5, 0 - b _08013B4A - .pool -_08013B44: - adds r0, r6, 0 - adds r0, 0x9 - ldr r1, =gStringVar4 -_08013B4A: - bl sub_8017064 - lsls r0, 24 - cmp r0, 0 - beq _08013B82 - ldr r0, =gSpecialVar_Result - movs r1, 0x8 -_08013B58: - strh r1, [r0] - movs r0, 0x17 - strb r0, [r6, 0x8] - b _08013B82 - .pool -_08013B68: - adds r0, r4, 0 - bl DestroyTask - bl sub_80173D4 - bl sub_800EDD4 - b _08013B82 -_08013B78: - bl sub_80149C4 - adds r0, r4, 0 - bl DestroyTask -_08013B82: - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80134E8 - - thumb_func_start sub_8013B8C -sub_8013B8C: @ 8013B8C - push {lr} - lsls r1, 5 - ldr r0, [r0] - adds r3, r0, r1 - ldr r0, =gUnknown_02022C2C - ldrb r0, [r0] - cmp r0, 0x4 - bne _08013BCE - ldrb r1, [r3, 0x1] - movs r0, 0x3C - ands r0, r1 - cmp r0, 0xC - beq _08013BCE - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r1, [r0, 0x9] - movs r2, 0x80 - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - bne _08013BC4 - movs r0, 0x1 - b _08013BD4 - .pool -_08013BC4: - ldrb r1, [r3] - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - beq _08013BD2 -_08013BCE: - movs r0, 0 - b _08013BD4 -_08013BD2: - movs r0, 0x2 -_08013BD4: - pop {r1} - bx r1 - thumb_func_end sub_8013B8C - - thumb_func_start sub_8013BD8 -sub_8013BD8: @ 8013BD8 - push {r4,lr} - adds r4, r0, 0 - strb r1, [r4, 0xF] - bl sub_800E0E8 - movs r0, 0 - movs r1, 0 - bl CreateWirelessStatusIndicatorSprite - ldrb r0, [r4, 0xE] - bl sub_81AE70C - ldr r0, =gStringVar1 - ldrb r2, [r4, 0xF] - lsls r2, 5 - ldr r1, [r4] - adds r1, r2 - bl sub_8018404 - ldr r1, =gUnknown_082F0530 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - adds r0, r1 - ldrb r0, [r0] - movs r1, 0 - movs r2, 0x1 - bl sub_8011090 - ldrb r1, [r4, 0xF] - lsls r1, 5 - ldr r0, [r4] - adds r0, r1 - adds r4, r0, 0 - adds r4, 0x10 - adds r0, 0x2 - bl sub_8015658 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl sub_8011FC8 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8013BD8 - - thumb_func_start sub_8013C40 -sub_8013C40: @ 8013C40 - push {lr} - ldr r0, =sub_8013C7C - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r3, =gUnknown_02022C30 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r2, =gTasks + 0x8 - adds r1, r2 - str r1, [r3] - movs r2, 0 - strb r2, [r1, 0x8] - strb r2, [r1, 0x9] - ldr r2, =gUnknown_03000DA4 - str r1, [r2] - pop {r1} - bx r1 - .pool - thumb_func_end sub_8013C40 - - thumb_func_start sub_8013C7C -sub_8013C7C: @ 8013C7C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gUnknown_02022C30 - ldr r4, [r0] - ldrb r0, [r4, 0x8] - cmp r0, 0xB - bhi _08013D80 - lsls r0, 2 - ldr r1, =_08013CA0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08013CA0: - .4byte _08013CD0 - .4byte _08013D80 - .4byte _08013D04 - .4byte _08013D28 - .4byte _08013D80 - .4byte _08013D80 - .4byte _08013D80 - .4byte _08013D80 - .4byte _08013D80 - .4byte _08013D80 - .4byte _08013D58 - .4byte _08013D76 -_08013CD0: - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl sub_8010F84 - bl sub_800B488 - bl OpenLink - bl sub_8011C5C - movs r0, 0x1 - bl sub_80111B0 - movs r0, 0x70 - bl AllocZeroed - str r0, [r4, 0x4] - movs r0, 0x80 - lsls r0, 2 - bl AllocZeroed - str r0, [r4] - movs r0, 0x2 - strb r0, [r4, 0x8] - b _08013D80 -_08013D04: - ldr r0, [r4, 0x4] - movs r1, 0x4 - bl sub_80175EC - ldr r0, [r4] - movs r1, 0x10 - bl sub_8017580 - ldr r0, [r4, 0x4] - movs r1, 0xFF - bl sub_8016FC0 - movs r1, 0 - strb r0, [r4, 0x11] - strb r1, [r4, 0xF] - movs r0, 0x3 - strb r0, [r4, 0x8] - b _08013D80 -_08013D28: - bl sub_8013E44 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08013D3A - movs r0, 0x2 - bl PlaySE -_08013D3A: - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - movs r2, 0x26 - ldrsh r0, [r1, r2] - cmp r0, 0xFF - bne _08013D80 - movs r0, 0xA - strb r0, [r4, 0x8] - b _08013D80 - .pool -_08013D58: - ldrb r0, [r4, 0x11] - bl DestroyTask - ldr r0, [r4] - bl Free - ldr r0, [r4, 0x4] - bl Free - bl sub_800EDD4 - ldrb r0, [r4, 0x8] - adds r0, 0x1 - strb r0, [r4, 0x8] - b _08013D80 -_08013D76: - bl sub_800EDD4 - adds r0, r5, 0 - bl DestroyTask -_08013D80: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8013C7C - - thumb_func_start sub_8013D88 -sub_8013D88: @ 8013D88 - push {lr} - adds r2, r0, 0 - cmp r1, 0xFF - bne _08013D94 -_08013D90: - movs r0, 0x1 - b _08013DB8 -_08013D94: - cmp r1, 0x16 - bhi _08013DB6 - ldr r0, =gUnknown_082F04D8 - lsls r1, 2 - adds r1, r0 - ldr r1, [r1] - b _08013DB0 - .pool -_08013DA8: - ldrb r0, [r1] - cmp r0, r2 - beq _08013D90 - adds r1, 0x1 -_08013DB0: - ldrb r0, [r1] - cmp r0, 0xFF - bne _08013DA8 -_08013DB6: - movs r0, 0 -_08013DB8: - pop {r1} - bx r1 - thumb_func_end sub_8013D88 - - thumb_func_start sub_8013DBC -sub_8013DBC: @ 8013DBC - push {lr} - ldr r0, [r0] - lsls r1, 5 - adds r1, r0, r1 - ldrb r2, [r1, 0x1A] - lsls r0, r2, 30 - lsrs r0, 30 - cmp r0, 0x1 - bne _08013DEE - ldrb r0, [r1, 0xA] - lsrs r0, 7 - cmp r0, 0 - beq _08013DDA - movs r0, 0x3 - b _08013DF0 -_08013DDA: - lsls r0, r2, 29 - cmp r0, 0 - bge _08013DE4 - movs r0, 0x1 - b _08013DF0 -_08013DE4: - ldrb r0, [r1, 0x1B] - cmp r0, 0 - beq _08013DEE - movs r0, 0x2 - b _08013DF0 -_08013DEE: - movs r0, 0 -_08013DF0: - pop {r1} - bx r1 - thumb_func_end sub_8013DBC - - thumb_func_start sub_8013DF4 -sub_8013DF4: @ 8013DF4 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x8 - adds r5, r0, 0 - adds r4, r1, 0 - adds r6, r2, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - ldr r0, =gUnknown_02022C30 - ldr r0, [r0] - mov r8, r0 - bl sub_8013DBC - lsls r0, 24 - lsrs r0, 24 - lsls r1, r4, 5 - mov r2, r8 - ldr r3, [r2] - adds r3, r1 - str r0, [sp] - lsls r4, 24 - lsrs r4, 24 - str r4, [sp, 0x4] - adds r0, r5, 0 - movs r1, 0x8 - adds r2, r6, 0 - bl sub_80177B8 - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8013DF4 - - thumb_func_start sub_8013E44 -sub_8013E44: @ 8013E44 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - ldr r0, =gUnknown_02022C30 - ldr r6, [r0] - movs r7, 0 - movs r3, 0 -_08013E54: - ldr r0, [r6] - lsls r5, r3, 5 - adds r2, r0, r5 - ldrb r0, [r2, 0x1A] - lsls r0, 30 - mov r8, r5 - cmp r0, 0 - beq _08013F20 - ldr r1, [r6, 0x4] - adds r0, r2, 0 - str r3, [sp] - bl sub_80176E4 - adds r4, r0, 0 - ldr r3, [sp] - cmp r4, 0xFF - beq _08013EEE - ldr r0, [r6] - adds r2, r0, r5 - ldrb r1, [r2, 0x1A] - lsls r0, r1, 30 - lsrs r0, 30 - cmp r0, 0x1 - bne _08013ECC - lsls r0, r4, 3 - subs r0, r4 - lsls r4, r0, 2 - ldr r1, [r6, 0x4] - adds r1, r4 - adds r0, r2, 0 - bl sub_8017678 - ldr r3, [sp] - cmp r0, 0 - beq _08013EB0 - ldr r1, [r6] - ldr r0, [r6, 0x4] - adds r1, r5 - adds r0, r4 - ldm r0!, {r2,r4,r7} - stm r1!, {r2,r4,r7} - ldm r0!, {r2,r4,r7} - stm r1!, {r2,r4,r7} - b _08013EDA - .pool -_08013EB0: - ldr r0, [r6] - adds r1, r0, r5 - ldrb r0, [r1, 0x1B] - cmp r0, 0 - beq _08013EE4 - subs r0, 0x1 - strb r0, [r1, 0x1B] - ldr r0, [r6] - adds r0, r5 - ldrb r0, [r0, 0x1B] - cmp r0, 0 - bne _08013EE4 - movs r7, 0x2 - b _08013EE4 -_08013ECC: - movs r4, 0x4 - negs r4, r4 - adds r0, r4, 0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2, 0x1A] -_08013EDA: - ldr r0, [r6] - adds r0, r5 - movs r1, 0x40 - strb r1, [r0, 0x1B] - movs r7, 0x1 -_08013EE4: - ldr r0, [r6] - add r0, r8 - movs r1, 0 - strh r1, [r0, 0x18] - b _08013F20 -_08013EEE: - ldr r0, [r6] - adds r1, r0, r5 - ldrb r0, [r1, 0x1A] - lsls r0, 30 - lsrs r0, 30 - cmp r0, 0x2 - beq _08013F20 - ldrh r0, [r1, 0x18] - adds r0, 0x1 - strh r0, [r1, 0x18] - ldr r0, [r6] - adds r2, r0, r5 - ldrh r1, [r2, 0x18] - ldr r0, =0x0000012b - cmp r1, r0 - bls _08013F20 - ldrb r0, [r2, 0x1A] - movs r7, 0x4 - negs r7, r7 - adds r1, r7, 0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2, 0x1A] - movs r7, 0x2 -_08013F20: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0xF - bls _08013E54 - movs r5, 0 - movs r4, 0x3 -_08013F2E: - ldr r0, [r6] - ldr r1, [r6, 0x4] - adds r1, r5 - movs r2, 0x10 - bl sub_8017734 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _08013F44 - movs r7, 0x1 -_08013F44: - adds r5, 0x1C - subs r4, 0x1 - cmp r4, 0 - bge _08013F2E - adds r0, r7, 0 - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8013E44 - - thumb_func_start sub_8013F60 -sub_8013F60: @ 8013F60 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_80773AC - adds r0, r4, 0 - bl DestroyTask - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8013F60 - - thumb_func_start sub_8013F78 -sub_8013F78: @ 8013F78 - push {lr} - ldr r0, =sub_8013F60 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end sub_8013F78 - - thumb_func_start sub_8013F90 -sub_8013F90: @ 8013F90 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, =gUnknown_02022C40 - mov r8, r0 - bl GetMultiplayerId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r0, r8 - bl sub_8018120 - adds r7, r0, 0 - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r5, r0, r1 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _08013FFC - cmp r0, 0x1 - bgt _08013FD4 - cmp r0, 0 - beq _08013FDE - b _080140BC - .pool -_08013FD4: - cmp r0, 0x2 - beq _08014038 - cmp r0, 0x3 - beq _08014070 - b _080140BC -_08013FDE: - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0x64 - adds r1, r7, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r1, r0 - movs r0, 0 - movs r2, 0x64 - bl SendBlock - b _080140BC - .pool -_08013FFC: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bne _080140BC - bl GetMultiplayerId - adds r1, r0, 0 - ldr r0, =gEnemyParty - movs r2, 0x1 - eors r1, r2 - lsls r1, 24 - lsrs r1, 16 - ldr r2, =gBlockRecvBuffer - adds r1, r2 - movs r2, 0x64 - bl memcpy - movs r0, 0x32 - bl IncrementGameStat - bl ResetBlockReceivedFlags - b _0801405A - .pool -_08014038: - ldr r4, =gBlockSendBuffer - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldr r0, =0x00002be0 - adds r1, r0 - adds r0, r4, 0 - movs r2, 0xDC - bl memcpy - movs r0, 0 - adds r1, r4, 0 - movs r2, 0xDC - bl SendBlock - lsls r0, 24 - cmp r0, 0 - beq _080140BC -_0801405A: - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - b _080140BC - .pool -_08014070: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bne _080140BC - ldr r4, =gUnknown_020321C0 - bl GetMultiplayerId - adds r1, r0, 0 - movs r0, 0x1 - eors r1, r0 - lsls r1, 24 - lsrs r1, 16 - ldr r0, =gBlockRecvBuffer - adds r1, r0 - adds r0, r4, 0 - movs r2, 0xD8 - bl memcpy - bl ResetBlockReceivedFlags - ldr r1, =gUnknown_02032298 - strb r7, [r1] - movs r0, 0x6 - strb r0, [r1, 0x1] - ldr r1, =gMain - ldr r0, =CB2_ReturnToField - str r0, [r1, 0x8] - ldr r0, =sub_807AE50 - bl SetMainCallback2 - mov r0, r8 - bl sub_801807C - adds r0, r6, 0 - bl DestroyTask -_080140BC: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8013F90 - - thumb_func_start sub_80140E0 -sub_80140E0: @ 80140E0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _08014104 - cmp r0, 0x1 - beq _0801411C - b _0801419E - .pool -_08014104: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _08014114 - movs r0, 0x2 - bl sub_800A4D8 -_08014114: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0801419E -_0801411C: - bl GetBlockReceivedStatus - adds r4, r0, 0 - bl sub_800A9D8 - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bne _0801419E - movs r4, 0 - ldr r5, =gLinkPlayers - b _08014152 - .pool -_08014138: - lsls r1, r4, 8 - ldr r0, =gBlockRecvBuffer - adds r3, r1, r0 - movs r0, 0x64 - muls r0, r4 - ldr r1, =gTrainerCards - adds r0, r1 - ldrb r2, [r5] - adds r1, r3, 0 - bl sub_80C3120 - adds r5, 0x1C - adds r4, 0x1 -_08014152: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - blt _08014138 - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _08014190 - bl GetMultiplayerId - movs r1, 0x1 - eors r0, r1 - lsls r0, 24 - lsrs r0, 16 - ldr r1, =gBlockRecvBuffer - adds r3, r0, r1 - adds r0, r3, 0 - adds r0, 0x60 - ldrh r0, [r0] - bl sub_801B94C - b _08014194 - .pool -_08014190: - bl sub_801B940 -_08014194: - bl ResetBlockReceivedFlags - adds r0, r6, 0 - bl DestroyTask -_0801419E: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80140E0 - - thumb_func_start sub_80141A4 -sub_80141A4: @ 80141A4 - push {r4,lr} - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r4, r0, r1 - ldrb r0, [r4] - cmp r0, 0 - beq _080141C0 - cmp r0, 0x1 - beq _080141D4 - b _080141F2 - .pool -_080141C0: - ldr r0, =sub_80140E0 - movs r1, 0x5 - bl CreateTask - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _080141F2 - .pool -_080141D4: - ldr r0, =sub_80140E0 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _080141F2 - bl GetMultiplayerId - movs r1, 0x1 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - ldr r1, =CB2_ReturnToField - bl sub_80C4E74 -_080141F2: - bl RunTasks - bl RunTextPrinters - bl AnimateSprites - bl BuildOamBuffer - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80141A4 - - thumb_func_start sub_8014210 -sub_8014210: @ 8014210 - push {r4-r6,lr} - adds r6, r0, 0 - lsls r6, 16 - lsrs r6, 16 - bl HealPlayerParty - bl SavePlayerParty - bl LoadPlayerBag - ldr r5, =gLinkPlayers - ldr r0, =0x00002211 - str r0, [r5, 0x14] - bl GetMultiplayerId - adds r4, r0, 0 - bl GetMultiplayerId - lsls r4, 24 - lsrs r4, 24 - lsls r1, r4, 3 - subs r1, r4 - lsls r1, 2 - adds r1, r5 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x18] - bl GetMultiplayerId - adds r4, r0, 0 - bl GetMultiplayerId - movs r2, 0x1 - eors r4, r2 - lsls r4, 24 - lsrs r4, 24 - lsls r1, r4, 3 - subs r1, r4 - lsls r1, 2 - adds r1, r5 - eors r0, r2 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x18] - ldr r1, =gMain - ldr r0, =sub_80B360C - str r0, [r1, 0x8] - ldr r0, =gBattleTypeFlags - str r6, [r0] - bl PlayBattleBGM - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8014210 - - thumb_func_start sub_8014290 -sub_8014290: @ 8014290 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x8 - adds r3, r0, 0 - adds r4, r1, 0 - adds r5, r2, 0 - lsls r3, 16 - lsrs r3, 16 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - ldr r0, =0x00004087 - adds r1, r3, 0 - bl VarSet - ldr r6, =gSaveBlock1Ptr - ldr r1, [r6] - movs r0, 0x4 - ldrsb r0, [r1, r0] - ldrb r1, [r1, 0x5] - lsls r1, 24 - asrs r1, 24 - movs r2, 0x1 - negs r2, r2 - mov r8, r2 - lsls r4, 24 - asrs r4, 24 - lsls r5, 24 - asrs r5, 24 - str r5, [sp] - adds r3, r4, 0 - bl Overworld_SetWarpDestination - ldr r0, [r6] - movs r1, 0x4 - ldrsb r1, [r0, r1] - movs r2, 0x5 - ldrsb r2, [r0, r2] - str r4, [sp] - str r5, [sp, 0x4] - movs r0, 0 - mov r3, r8 - bl saved_warp2_set_2 - bl warp_in - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8014290 - - thumb_func_start sub_8014304 -sub_8014304: @ 8014304 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - mov r8, r2 - adds r6, r3, 0 - ldr r1, [sp, 0x18] - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r1, 16 - lsrs r1, 16 - ldr r0, =gSpecialVar_0x8004 - strh r1, [r0] - ldr r0, =0x00004087 - bl VarSet - bl GetLinkPlayerCount - ldr r1, =gFieldLinkPlayerCount - strb r0, [r1] - bl GetMultiplayerId - ldr r1, =gUnknown_03005DB4 - strb r0, [r1] - bl sub_809D2BC - lsls r4, 24 - asrs r4, 24 - lsls r5, 24 - asrs r5, 24 - movs r2, 0x1 - negs r2, r2 - mov r0, r8 - lsls r0, 24 - asrs r0, 24 - mov r8, r0 - lsls r6, 24 - asrs r6, 24 - str r6, [sp] - adds r0, r4, 0 - adds r1, r5, 0 - mov r3, r8 - bl Overworld_SetWarpDestination - bl warp_in - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8014304 - - thumb_func_start sub_8014384 -sub_8014384: @ 8014384 - push {r4,lr} - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r4, r0, r1 - ldrb r0, [r4] - cmp r0, 0 - beq _080143A0 - cmp r0, 0x1 - beq _080143B4 - b _080143C6 - .pool -_080143A0: - ldr r0, =sub_80140E0 - movs r1, 0x5 - bl CreateTask - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _080143C6 - .pool -_080143B4: - ldr r0, =sub_80140E0 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _080143C6 - ldr r0, =sub_8086074 - bl SetMainCallback2 -_080143C6: - bl RunTasks - bl RunTextPrinters - bl AnimateSprites - bl BuildOamBuffer - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8014384 - - thumb_func_start sub_80143E4 -sub_80143E4: @ 80143E4 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl sub_80C30A4 - cmp r5, 0 - beq _080143FE - bl sub_801B39C - adds r1, r4, 0 - adds r1, 0x60 - strh r0, [r1] - b _08014404 -_080143FE: - adds r0, r4, 0 - adds r0, 0x60 - strh r5, [r0] -_08014404: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80143E4 - - thumb_func_start sub_801440C -sub_801440C: @ 801440C - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_801B940 - ldr r0, =gUnknown_02022C2C - ldrb r0, [r0] - subs r0, 0x1 - cmp r0, 0xE - bhi _08014474 - lsls r0, 2 - ldr r1, =_08014434 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08014434: - .4byte _08014470 - .4byte _08014470 - .4byte _08014470 - .4byte _08014470 - .4byte _08014474 - .4byte _08014474 - .4byte _08014474 - .4byte _08014474 - .4byte _08014470 - .4byte _08014470 - .4byte _08014470 - .4byte _08014474 - .4byte _08014470 - .4byte _08014474 - .4byte _08014470 -_08014470: - bl sub_800E3A8 -_08014474: - ldr r0, =gUnknown_02022C2C - ldrb r0, [r0] - subs r0, 0x1 - cmp r0, 0x50 - bls _08014480 - b _08014764 -_08014480: - lsls r0, 2 - ldr r1, =_08014494 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08014494: - .4byte _080145F4 - .4byte _08014620 - .4byte _0801464C - .4byte _08014678 - .4byte _080146D8 - .4byte _08014764 - .4byte _08014764 - .4byte _080146FC - .4byte _08014714 - .4byte _08014734 - .4byte _0801474C - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014698 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _080145D8 - .4byte _08014764 - .4byte _08014764 - .4byte _080146C4 - .4byte _080146D8 - .4byte _08014764 - .4byte _08014764 - .4byte _080146FC - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _080145D8 -_080145D8: - bl overworld_free_bg_tilemaps - ldr r1, =gMain - ldr r0, =sub_801AC54 - str r0, [r1, 0x8] - movs r0, 0x3 - bl sub_81B8518 - b _08014764 - .pool -_080145F4: - bl overworld_free_bg_tilemaps - ldr r0, =gBlockSendBuffer - movs r1, 0x1 - bl sub_80143E4 - bl HealPlayerParty - bl SavePlayerParty - bl LoadPlayerBag - movs r0, 0x1 - str r0, [sp] - movs r0, 0x19 - movs r1, 0x18 - movs r2, 0x6 - movs r3, 0x8 - b _080146B0 - .pool -_08014620: - bl overworld_free_bg_tilemaps - bl HealPlayerParty - bl SavePlayerParty - bl LoadPlayerBag - ldr r0, =gBlockSendBuffer - movs r1, 0x1 - bl sub_80143E4 - movs r0, 0x2 - str r0, [sp] - movs r0, 0x19 - movs r1, 0x18 - movs r2, 0x6 - movs r3, 0x8 - b _080146B0 - .pool -_0801464C: - bl overworld_free_bg_tilemaps - bl HealPlayerParty - bl SavePlayerParty - bl LoadPlayerBag - ldr r0, =gBlockSendBuffer - movs r1, 0x1 - bl sub_80143E4 - movs r0, 0x5 - str r0, [sp] - movs r0, 0x19 - movs r1, 0x1B - movs r2, 0x5 - movs r3, 0x8 - b _080146B0 - .pool -_08014678: - ldr r0, =gBlockSendBuffer - movs r1, 0x1 - bl sub_80143E4 - bl overworld_free_bg_tilemaps - movs r0, 0x3 - str r0, [sp] - movs r0, 0x19 - movs r1, 0x19 - movs r2, 0x5 - movs r3, 0x8 - b _080146B0 - .pool -_08014698: - ldr r0, =gBlockSendBuffer - movs r1, 0x1 - bl sub_80143E4 - bl overworld_free_bg_tilemaps - movs r0, 0x4 - str r0, [sp] - movs r0, 0x19 - movs r1, 0x1A - movs r2, 0x8 - movs r3, 0x9 -_080146B0: - bl sub_8014304 - ldr r0, =sub_8014384 - bl SetMainCallback2 - b _08014764 - .pool -_080146C4: - bl overworld_free_bg_tilemaps - ldr r0, =sub_8013F90 - movs r1, 0 - bl CreateTask - b _08014764 - .pool -_080146D8: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _080146E8 - bl sub_800ED10 - b _080146F6 -_080146E8: - bl sub_800ED28 - movs r0, 0x45 - movs r1, 0 - movs r2, 0x1 - bl sub_8010F84 -_080146F6: - bl sub_801DD98 - b _08014764 -_080146FC: - ldr r0, =gBlockSendBuffer - movs r1, 0 - bl sub_80143E4 - ldr r0, =sub_80141A4 - bl SetMainCallback2 - b _08014764 - .pool -_08014714: - movs r0, 0x8 - movs r1, 0x5 - movs r2, 0x1 - bl sub_8014290 - bl GetCursorSelectionMonId - lsls r0, 24 - lsrs r0, 24 - ldr r1, =CB2_LoadMap - bl sub_802A9A8 - b _08014764 - .pool -_08014734: - movs r0, 0x7 - movs r1, 0x9 - movs r2, 0x1 - bl sub_8014290 - ldr r0, =CB2_LoadMap - bl sub_8020C70 - b _08014764 - .pool -_0801474C: - movs r0, 0x8 - movs r1, 0x5 - movs r2, 0x1 - bl sub_8014290 - bl GetCursorSelectionMonId - lsls r0, 24 - lsrs r0, 24 - ldr r1, =CB2_LoadMap - bl sub_802493C -_08014764: - adds r0, r4, 0 - bl DestroyTask - ldr r1, =gSpecialVar_Result - movs r0, 0x1 - strh r0, [r1] - ldr r0, =gUnknown_02022C2C - ldrb r0, [r0] - cmp r0, 0x44 - beq _0801477C - bl ScriptContext2_Disable -_0801477C: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_801440C - - thumb_func_start sub_8014790 -sub_8014790: @ 8014790 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r7, r0, r1 - ldr r0, =gBlockSendBuffer - mov r9, r0 - movs r1, 0 - ldrsh r0, [r7, r1] - mov r2, r9 - cmp r0, 0x8 - bls _080147B6 - b _080149B2 -_080147B6: - lsls r0, 2 - ldr r1, =_080147CC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080147CC: - .4byte _080147F0 - .4byte _080148CC - .4byte _080148E4 - .4byte _0801491E - .4byte _08014934 - .4byte _0801494A - .4byte _08014986 - .4byte _08014992 - .4byte _0801499C -_080147F0: - ldr r1, =gSpecialVar_Result - movs r0, 0x1 - strh r0, [r1] - ldr r0, =gUnknown_02022C2C - ldrb r0, [r0] - subs r0, 0xE - cmp r0, 0xE - bhi _080148C2 - lsls r0, 2 - ldr r1, =_08014818 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08014818: - .4byte _08014854 - .4byte _080148C2 - .4byte _080148B8 - .4byte _080148C2 - .4byte _080148C2 - .4byte _080148C2 - .4byte _080148C2 - .4byte _080148C2 - .4byte _080148C2 - .4byte _080148B8 - .4byte _080148B8 - .4byte _080148B8 - .4byte _080148B8 - .4byte _080148B8 - .4byte _08014854 -_08014854: - ldr r1, =gLinkPlayers - ldr r0, =0x00002211 - str r0, [r1, 0x14] - movs r2, 0 - mov r8, r2 - mov r0, r8 - strh r0, [r1, 0x18] - movs r0, 0x2 - strh r0, [r1, 0x34] - ldr r6, =gUnknown_0203CEF8 - ldrb r0, [r6] - movs r5, 0x64 - muls r0, r5 - ldr r4, =gBattleScripting + 0x14 - adds r0, r4 - movs r1, 0xB - bl GetMonData - mov r1, r9 - strh r0, [r1] - ldrb r0, [r6, 0x1] - muls r0, r5 - adds r0, r4 - movs r1, 0xB - movs r2, 0 - bl GetMonData - mov r2, r9 - strh r0, [r2, 0x2] - ldr r0, =gMain - mov r1, r8 - str r1, [r0, 0x8] - movs r0, 0x4 - strh r0, [r7] - bl sub_800E3A8 - bl ResetBlockReceivedFlags - b _080149B2 - .pool -_080148B8: - bl sub_800E3A8 - adds r0, r4, 0 - bl DestroyTask -_080148C2: - bl EnableBothScriptContexts - movs r0, 0x1 - strh r0, [r7] - b _080149B2 -_080148CC: - bl ScriptContext1_IsScriptSetUp - lsls r0, 24 - cmp r0, 0 - bne _080149B2 - movs r0, 0x1 - movs r1, 0 - bl FadeScreen - movs r0, 0x2 - strh r0, [r7] - b _080149B2 -_080148E4: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080149B2 - ldr r0, =gUnknown_02022C2C - ldrb r0, [r0] - cmp r0, 0x1D - bne _08014914 - adds r0, r4, 0 - bl DestroyTask - ldr r0, =sub_80773AC - bl SetMainCallback2 - b _080149B2 - .pool -_08014914: - bl sub_800ADF8 - movs r0, 0x3 - strh r0, [r7] - b _080149B2 -_0801491E: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - beq _080149B2 - adds r0, r4, 0 - bl DestroyTask - bl sub_80149D8 - b _080149B2 -_08014934: - movs r0, 0 - adds r1, r2, 0 - movs r2, 0xE - bl SendBlock - lsls r0, 24 - cmp r0, 0 - beq _080149B2 - movs r0, 0x5 - strh r0, [r7] - b _080149B2 -_0801494A: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bne _080149B2 - bl ResetBlockReceivedFlags - ldr r0, =gBlockRecvBuffer - movs r2, 0x80 - lsls r2, 1 - adds r1, r0, r2 - bl sub_80B2AF4 - cmp r0, 0 - beq _08014980 - ldr r0, =gSpecialVar_Result - movs r1, 0xB - strh r1, [r0] - movs r0, 0x7 - strh r0, [r7] - b _080149B2 - .pool -_08014980: - movs r0, 0x6 - strh r0, [r7] - b _080149B2 -_08014986: - bl EnableBothScriptContexts - adds r0, r4, 0 - bl DestroyTask - b _080149B2 -_08014992: - bl sub_800AC34 - movs r0, 0x8 - strh r0, [r7] - b _080149B2 -_0801499C: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _080149B2 - bl sub_800E084 - bl EnableBothScriptContexts - adds r0, r4, 0 - bl DestroyTask -_080149B2: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8014790 - - thumb_func_start sub_80149C4 -sub_80149C4: @ 80149C4 - push {lr} - ldr r0, =sub_8014790 - movs r1, 0 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_80149C4 - - thumb_func_start sub_80149D8 -sub_80149D8: @ 80149D8 - push {lr} - ldr r0, =sub_801440C - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0 - strh r0, [r1, 0x8] - pop {r0} - bx r0 - .pool - thumb_func_end sub_80149D8 - - thumb_func_start sub_8014A00 -sub_8014A00: @ 8014A00 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =sub_8014A40 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gUnknown_02022C30 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r1, r0 - str r1, [r2] - movs r2, 0 - strb r2, [r1, 0xC] - strb r2, [r1, 0xD] - strb r4, [r1, 0x18] - ldr r0, =gSpecialVar_Result - strh r2, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8014A00 - - thumb_func_start sub_8014A40 -sub_8014A40: @ 8014A40 - push {r4-r6,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gUnknown_02022C30 - ldr r5, [r0] - ldrb r0, [r5, 0xC] - cmp r0, 0x11 - bls _08014A54 - b _08014EF2 -_08014A54: - lsls r0, 2 - ldr r1, =_08014A68 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08014A68: - .4byte _08014AB0 - .4byte _08014AEC - .4byte _08014BBC - .4byte _08014BEC - .4byte _08014BFC - .4byte _08014C4C - .4byte _08014C24 - .4byte _08014C52 - .4byte _08014CF2 - .4byte _08014DBC - .4byte _08014DCC - .4byte _08014DE2 - .4byte _08014DFA - .4byte _08014E16 - .4byte _08014E4E - .4byte _08014E74 - .4byte _08014EA8 - .4byte _08014EE2 -_08014AB0: - ldr r1, =gUnknown_02022C2C - ldrb r0, [r5, 0x18] - strb r0, [r1] - ldr r1, =gUnknown_02022C2D - movs r0, 0x2 - strb r0, [r1] - ldrb r0, [r5, 0x18] - movs r1, 0 - movs r2, 0 - bl sub_8010F84 - movs r0, 0 - movs r1, 0 - bl sub_8010FA0 - bl sub_800B488 - bl OpenLink - movs r0, 0x2 - bl sub_8011C10 - movs r0, 0x1 - strb r0, [r5, 0xC] - b _08014EF2 - .pool -_08014AEC: - movs r0, 0x70 - bl AllocZeroed - str r0, [r5, 0x4] - movs r0, 0xA0 - bl AllocZeroed - str r0, [r5] - movs r0, 0xA0 - bl AllocZeroed - str r0, [r5, 0x8] - ldr r0, [r5, 0x4] - movs r1, 0x4 - bl sub_80175EC - ldr r0, [r5] - movs r1, 0x5 - bl sub_8017580 - ldr r0, [r5] - adds r1, r0, 0 - adds r1, 0x10 - bl sub_800DF90 - ldr r1, [r5] - movs r3, 0 - movs r0, 0 - strh r0, [r1, 0x18] - ldr r2, [r5] - ldrb r1, [r2, 0x1A] - subs r0, 0x4 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2, 0x1A] - ldr r2, [r5] - ldrb r1, [r2, 0x1A] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x1A] - ldr r0, [r5] - strb r3, [r0, 0x1B] - ldr r0, [r5, 0x4] - movs r1, 0xFF - bl sub_8016FC0 - strb r0, [r5, 0x17] - ldr r0, =gUnknown_082F011C - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp] - str r1, [sp, 0x4] - bl sub_8019930 - lsls r0, 16 - ldr r2, =0x0000ffff - ldr r1, [sp, 0x4] - ands r1, r2 - orrs r1, r0 - ldr r0, =0xffff00ff - ands r1, r0 - movs r0, 0xC0 - lsls r0, 4 - orrs r1, r0 - str r1, [sp, 0x4] - mov r0, sp - bl AddWindow - strb r0, [r5, 0xF] - ldrb r0, [r5, 0xF] - bl sub_8018784 - ldr r0, =gMultiuseListMenuTemplate - adds r2, r0, 0 - ldr r1, =gUnknown_082F015C - ldm r1!, {r3,r4,r6} - stm r2!, {r3,r4,r6} - ldm r1!, {r3,r4,r6} - stm r2!, {r3,r4,r6} - ldrb r1, [r5, 0xF] - strb r1, [r0, 0x10] - movs r1, 0 - movs r2, 0 - bl ListMenuInit - strb r0, [r5, 0x12] - movs r0, 0 - bl CopyBgTilemapBufferToVram - movs r0, 0x1 - strb r0, [r5, 0x13] - b _08014C42 - .pool -_08014BBC: - ldr r0, =gStringVar1 - ldr r2, =gUnknown_082F0048 - ldr r4, =gUnknown_02022C2C - ldrb r1, [r4] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl StringCopy - ldr r0, =gStringVar4 - ldrb r1, [r4] - bl sub_801262C - movs r0, 0x3 - strb r0, [r5, 0xC] - b _08014EF2 - .pool -_08014BEC: - ldr r0, =gStringVar4 - bl sub_8018884 - movs r0, 0x4 - strb r0, [r5, 0xC] - b _08014EF2 - .pool -_08014BFC: - adds r0, r5, 0 - movs r1, 0x5 - movs r2, 0x6 - bl sub_801320C - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _08014C14 - b _08014EF2 -_08014C14: - movs r0, 0xD - strb r0, [r5, 0xC] - bl sub_800E084 - b _08014EF2 - .pool -_08014C24: - adds r0, r5, 0 - adds r0, 0xD - ldr r1, =gUnknown_082EDF40 - bl mevent_0814257C - cmp r0, 0 - bne _08014C34 - b _08014EF2 -_08014C34: - ldr r0, [r5] - bl sub_8013398 - strb r0, [r5, 0x13] - ldrb r0, [r5, 0x12] - bl sub_81AE70C -_08014C42: - movs r0, 0x2 - strb r0, [r5, 0xC] - b _08014EF2 - .pool -_08014C4C: - movs r0, 0x7 - strb r0, [r5, 0xC] - b _08014EF2 -_08014C52: - adds r0, r5, 0 - adds r0, 0xD - adds r1, r5, 0 - adds r1, 0x14 - ldr r3, =gStringVar4 - movs r2, 0 - bl sub_8018B08 - lsls r0, 24 - asrs r4, r0, 24 - cmp r4, 0 - beq _08014C82 - cmp r4, 0 - bgt _08014C7C - movs r0, 0x1 - negs r0, r0 - cmp r4, r0 - beq _08014CC4 - b _08014EF2 - .pool -_08014C7C: - cmp r4, 0x1 - beq _08014CC4 - b _08014EF2 -_08014C82: - bl sub_800E0E8 - movs r0, 0 - movs r1, 0 - bl CreateWirelessStatusIndicatorSprite - ldr r1, [r5] - ldrb r0, [r5, 0x13] - lsls r0, 5 - adds r1, r0 - strb r4, [r1, 0x1B] - ldrb r0, [r5, 0x12] - bl sub_81AE70C - movs r0, 0x5 - strb r0, [r5, 0x19] - ldrb r1, [r5, 0x13] - lsls r1, 5 - ldr r0, [r5] - adds r0, r1 - adds r0, 0x2 - bl sub_8015658 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - ldrb r0, [r5, 0x13] - lsls r0, 5 - ldr r2, [r5] - adds r2, r0 - adds r2, 0x10 - movs r0, 0x5 - b _08014CE8 -_08014CC4: - movs r0, 0x6 - strb r0, [r5, 0x19] - ldrb r1, [r5, 0x13] - lsls r1, 5 - ldr r0, [r5] - adds r0, r1 - adds r0, 0x2 - bl sub_8015658 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - ldrb r0, [r5, 0x13] - lsls r0, 5 - ldr r2, [r5] - adds r2, r0 - adds r2, 0x10 - movs r0, 0x6 -_08014CE8: - bl sub_8010688 - movs r0, 0x8 - strb r0, [r5, 0xC] - b _08014EF2 -_08014CF2: - ldrb r1, [r5, 0x13] - lsls r1, 5 - ldr r0, [r5] - adds r0, r1 - adds r0, 0x2 - bl sub_8015658 - lsls r0, 16 - lsrs r0, 16 - ldrb r2, [r5, 0x13] - lsls r2, 5 - ldr r1, [r5] - adds r1, r2 - adds r1, 0x10 - bl sub_8010714 - adds r4, r0, 0 - cmp r4, 0x1 - bne _08014DAA - ldrb r0, [r5, 0x19] - cmp r0, 0x5 - bne _08014D64 - ldr r1, [r5] - ldrb r0, [r5, 0x13] - lsls r0, 5 - adds r1, r0 - movs r0, 0 - strb r0, [r1, 0x1B] - ldrb r0, [r5, 0x12] - bl sub_81AE70C - ldrb r0, [r5, 0x13] - adds r0, 0x1 - strb r0, [r5, 0x13] - ldr r0, =gStringVar1 - ldrb r2, [r5, 0x13] - lsls r2, 5 - subs r2, 0x20 - ldr r1, [r5] - adds r1, r2 - bl sub_8018404 - ldr r0, =gStringVar4 - ldr r1, =gUnknown_082EDC9C - bl StringExpandPlaceholders - movs r0, 0x9 - strb r0, [r5, 0xC] - bl sub_800EF38 - b _08014DA4 - .pool -_08014D64: - ldrb r1, [r5, 0x13] - lsls r1, 5 - ldr r0, [r5] - adds r0, r1 - adds r4, r0, 0 - adds r4, 0x10 - adds r0, 0x2 - bl sub_8015658 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl sub_8011DC0 - ldr r1, [r5] - ldrb r0, [r5, 0x13] - lsls r0, 5 - adds r1, r0 - ldrb r2, [r1, 0x1A] - movs r0, 0x4 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x1A] - ldr r0, [r5] - bl sub_8013398 - ldrb r0, [r5, 0x12] - bl sub_81AE70C - movs r0, 0x2 - strb r0, [r5, 0xC] -_08014DA4: - movs r0, 0 - strb r0, [r5, 0x19] - b _08014EF2 -_08014DAA: - cmp r4, 0x2 - beq _08014DB0 - b _08014EF2 -_08014DB0: - movs r0, 0 - movs r1, 0 - bl sub_8011A64 - strb r4, [r5, 0xC] - b _08014EF2 -_08014DBC: - ldr r0, =gStringVar4 - bl sub_8018884 - movs r0, 0xA - strb r0, [r5, 0xC] - b _08014EF2 - .pool -_08014DCC: - ldrb r0, [r5, 0xE] - adds r0, 0x1 - strb r0, [r5, 0xE] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x78 - bhi _08014DDC - b _08014EF2 -_08014DDC: - movs r0, 0xB - strb r0, [r5, 0xC] - b _08014EF2 -_08014DE2: - adds r0, r5, 0 - movs r1, 0x5 - movs r2, 0x6 - bl sub_801320C - lsls r0, 24 - cmp r0, 0 - beq _08014DF4 - b _08014EF2 -_08014DF4: - movs r0, 0xC - strb r0, [r5, 0xC] - b _08014EF2 -_08014DFA: - bl sub_800EF1C - lsls r0, 24 - cmp r0, 0 - beq _08014E10 - movs r0, 0 - bl sub_800EF58 - movs r0, 0xF - strb r0, [r5, 0xC] - b _08014EF2 -_08014E10: - movs r0, 0x6 - strb r0, [r5, 0xC] - b _08014EF2 -_08014E16: - bl sub_800E084 - bl sub_800EDD4 - ldrb r0, [r5, 0x12] - movs r1, 0 - movs r2, 0 - bl DestroyListMenuTask - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldrb r0, [r5, 0xF] - bl RemoveWindow - ldrb r0, [r5, 0x17] - bl DestroyTask - ldr r0, [r5, 0x8] - bl Free - ldr r0, [r5] - bl Free - ldr r0, [r5, 0x4] - bl Free - b _08014EDA -_08014E4E: - adds r0, r5, 0 - adds r0, 0xD - ldr r1, =gText_PleaseStartOver - bl mevent_0814257C - cmp r0, 0 - beq _08014EF2 - adds r0, r4, 0 - bl DestroyTask - ldr r1, =gSpecialVar_Result - movs r0, 0x5 - strh r0, [r1] - b _08014EF2 - .pool -_08014E74: - bl sub_8011A74 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08014E8C - bl sub_8011A74 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _08014E92 -_08014E8C: - movs r0, 0xD - strb r0, [r5, 0xC] - b _08014EF2 -_08014E92: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _08014EF2 - movs r0, 0x1 - bl sub_8011068 - b _08014EDA - .pool -_08014EA8: - ldrb r0, [r5, 0x12] - movs r1, 0 - movs r2, 0 - bl DestroyListMenuTask - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldrb r0, [r5, 0xF] - bl RemoveWindow - ldrb r0, [r5, 0x17] - bl DestroyTask - ldr r0, [r5, 0x8] - bl Free - ldr r0, [r5] - bl Free - ldr r0, [r5, 0x4] - bl Free - bl sub_800ADF8 -_08014EDA: - ldrb r0, [r5, 0xC] - adds r0, 0x1 - strb r0, [r5, 0xC] - b _08014EF2 -_08014EE2: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - beq _08014EF2 - adds r0, r4, 0 - bl DestroyTask -_08014EF2: - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8014A40 - - thumb_func_start sub_8014EFC -sub_8014EFC: @ 8014EFC - push {r4,lr} - adds r4, r0, 0 - ldr r0, =sub_8014F48 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gUnknown_02022C30 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r1, r0 - str r1, [r2] - ldr r0, =gUnknown_03000DA4 - str r1, [r0] - movs r2, 0 - strb r2, [r1, 0x8] - strb r2, [r1, 0x9] - subs r4, 0x15 - strb r4, [r1, 0x12] - ldr r0, =gSpecialVar_Result - strh r2, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8014EFC - - thumb_func_start sub_8014F48 -sub_8014F48: @ 8014F48 - push {r4-r7,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, =gUnknown_02022C30 - ldr r7, [r0] - ldrb r0, [r7, 0x8] - cmp r0, 0xC - bls _08014F5C - b _080152A0 -_08014F5C: - lsls r0, 2 - ldr r1, =_08014F70 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08014F70: - .4byte _08014FA4 - .4byte _08014FD8 - .4byte _08014FE8 - .4byte _080150B8 - .4byte _08015180 - .4byte _080151A4 - .4byte _08015204 - .4byte _08015260 - .4byte _08015204 - .4byte _0801523A - .4byte _08015204 - .4byte _08015284 - .4byte _08015290 -_08014FA4: - ldrb r0, [r7, 0x12] - adds r0, 0x15 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - movs r2, 0 - bl sub_8010F84 - bl sub_800B488 - bl OpenLink - bl sub_8011C5C - movs r0, 0x70 - bl AllocZeroed - str r0, [r7, 0x4] - movs r0, 0x80 - lsls r0, 2 - bl AllocZeroed - str r0, [r7] - movs r0, 0x1 - strb r0, [r7, 0x8] - b _080152A0 -_08014FD8: - ldr r0, =gUnknown_082EF7F8 - bl sub_8018884 - movs r0, 0x2 - strb r0, [r7, 0x8] - b _080152A0 - .pool -_08014FE8: - ldr r0, [r7, 0x4] - movs r1, 0x4 - bl sub_80175EC - ldr r0, [r7] - movs r1, 0x10 - bl sub_8017580 - ldr r0, [r7, 0x4] - ldrb r1, [r7, 0x12] - adds r1, 0x7 - bl sub_8016FC0 - movs r6, 0 - strb r0, [r7, 0x11] - ldr r0, =gUnknown_082F0174 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp] - str r1, [sp, 0x4] - bl sub_8019930 - lsls r0, 16 - ldr r2, =0x0000ffff - ldr r1, [sp, 0x4] - ands r1, r2 - orrs r1, r0 - ldr r5, =0xffff00ff - ands r1, r5 - movs r4, 0xC0 - lsls r4, 4 - orrs r1, r4 - str r1, [sp, 0x4] - mov r0, sp - bl AddWindow - strb r0, [r7, 0xB] - ldr r0, =gUnknown_082F017C - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp, 0x8] - str r1, [sp, 0xC] - add r0, sp, 0x8 - ldr r1, [r0, 0x4] - ands r1, r5 - orrs r1, r4 - str r1, [r0, 0x4] - bl AddWindow - strb r0, [r7, 0xD] - ldrb r0, [r7, 0xB] - bl sub_8018784 - ldr r0, =gMultiuseListMenuTemplate - adds r2, r0, 0 - ldr r1, =gUnknown_082F0204 - ldm r1!, {r3-r5} - stm r2!, {r3-r5} - ldm r1!, {r3-r5} - stm r2!, {r3-r5} - ldrb r1, [r7, 0xB] - strb r1, [r0, 0x10] - movs r1, 0 - movs r2, 0 - bl ListMenuInit - strb r0, [r7, 0xE] - ldrb r0, [r7, 0xD] - bl sub_8018784 - ldrb r0, [r7, 0xD] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldrb r0, [r7, 0xD] - bl PutWindowTilemap - ldrb r0, [r7, 0xD] - bl sub_80125BC - ldrb r0, [r7, 0xD] - movs r1, 0x2 - bl CopyWindowToVram - movs r0, 0 - bl CopyBgTilemapBufferToVram - strb r6, [r7, 0xF] - movs r0, 0x3 - strb r0, [r7, 0x8] - b _080152A0 - .pool -_080150B8: - bl sub_8013E44 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _080150D6 - cmp r2, 0x1 - bne _080150CE - movs r0, 0x2 - bl PlaySE -_080150CE: - ldrb r0, [r7, 0xE] - bl sub_81AE70C - b _080152A0 -_080150D6: - ldrb r0, [r7, 0xE] - bl ListMenuHandleInputGetItemId - adds r2, r0, 0 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08015168 - movs r0, 0x1 - negs r0, r0 - cmp r2, r0 - beq _08015168 - ldr r0, [r7] - lsls r1, r2, 5 - adds r0, r1 - ldrb r1, [r0, 0xA] - ldrb r0, [r0, 0x1A] - lsls r0, 30 - lsrs r0, 30 - cmp r0, 0x1 - bne _08015160 - lsrs r0, r1, 7 - cmp r0, 0 - bne _08015160 - strb r2, [r7, 0xF] - bl sub_800E0E8 - movs r0, 0 - movs r1, 0 - bl CreateWirelessStatusIndicatorSprite - ldrb r0, [r7, 0xE] - bl sub_81AE70C - ldr r0, =gStringVar1 - ldrb r2, [r7, 0xF] - lsls r2, 5 - ldr r1, [r7] - adds r1, r2 - bl sub_8018404 - ldrb r1, [r7, 0xF] - lsls r1, 5 - ldr r0, [r7] - adds r0, r1 - adds r4, r0, 0 - adds r4, 0x10 - adds r0, 0x2 - bl sub_8015658 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl sub_8011FC8 - movs r0, 0x6E - bl PlaySE - movs r0, 0x4 - strb r0, [r7, 0x8] - b _080152A0 - .pool -_08015160: - movs r0, 0x7 - bl PlaySE - b _080152A0 -_08015168: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _08015176 - b _080152A0 -_08015176: - movs r0, 0x6 - strb r0, [r7, 0x8] - b _080152A0 - .pool -_08015180: - ldr r0, =gUnknown_082EFC3C - bl sub_8018884 - ldr r0, =gStringVar1 - ldrb r2, [r7, 0xF] - lsls r2, 5 - ldr r1, [r7] - adds r1, r2 - bl sub_8018404 - movs r0, 0x5 - strb r0, [r7, 0x8] - b _080152A0 - .pool -_080151A4: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _080151C2 - ldr r2, =gUnknown_02022C2C - ldr r1, [r7] - ldrb r0, [r7, 0xF] - lsls r0, 5 - adds r1, r0 - ldrb r0, [r1, 0xA] - lsls r0, 25 - lsrs r0, 25 - strb r0, [r2] - movs r0, 0xA - strb r0, [r7, 0x8] -_080151C2: - bl sub_8011A74 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - beq _080151EE - cmp r0, 0x5 - bgt _080151E4 - cmp r0, 0x2 - bgt _080152A0 - cmp r0, 0x1 - blt _080152A0 - b _080151E8 - .pool -_080151E4: - cmp r0, 0x6 - bne _080152A0 -_080151E8: - movs r0, 0x8 - strb r0, [r7, 0x8] - b _080152A0 -_080151EE: - ldr r0, =gUnknown_082EDDF4 - bl sub_8018884 - movs r0, 0 - movs r1, 0 - bl sub_8011A64 - b _080152A0 - .pool -_08015204: - ldrb r0, [r7, 0xE] - movs r1, 0 - movs r2, 0 - bl DestroyListMenuTask - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldrb r0, [r7, 0xD] - bl RemoveWindow - ldrb r0, [r7, 0xB] - bl RemoveWindow - ldrb r0, [r7, 0x11] - bl DestroyTask - ldr r0, [r7] - bl Free - ldr r0, [r7, 0x4] - bl Free - ldrb r0, [r7, 0x8] - adds r0, 0x1 - strb r0, [r7, 0x8] - b _080152A0 -_0801523A: - adds r5, r7, 0 - adds r5, 0x9 - ldr r4, =gUnknown_082EDF80 - bl sub_8011A74 - lsls r0, 24 - lsrs r0, 22 - adds r0, r4 - ldr r1, [r0] - adds r0, r5, 0 - bl mevent_0814257C - cmp r0, 0 - beq _080152A0 - bl sub_800E084 - b _0801526A - .pool -_08015260: - bl sub_800E084 - ldr r0, =gText_PleaseStartOver - bl sub_8018884 -_0801526A: - adds r0, r6, 0 - bl DestroyTask - bl sub_800EDD4 - ldr r1, =gSpecialVar_Result - movs r0, 0x5 - strh r0, [r1] - b _080152A0 - .pool -_08015284: - ldrb r0, [r7, 0x8] - adds r0, 0x1 - strb r0, [r7, 0x8] - bl sub_800ADF8 - b _080152A0 -_08015290: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - beq _080152A0 - adds r0, r6, 0 - bl DestroyTask -_080152A0: - add sp, 0x10 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8014F48 - - thumb_func_start sub_80152A8 -sub_80152A8: @ 80152A8 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =task00_081182DC - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gUnknown_02022C30 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r1, r0 - str r1, [r2] - ldr r0, =gUnknown_03000DA4 - str r1, [r0] - movs r2, 0 - strb r2, [r1, 0x8] - strb r2, [r1, 0x9] - subs r4, 0x15 - strb r4, [r1, 0x12] - ldr r0, =gSpecialVar_Result - strh r2, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80152A8 - - thumb_func_start task00_081182DC -task00_081182DC: @ 80152F4 - push {r4-r6,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gUnknown_02022C30 - ldr r5, [r0] - ldrb r0, [r5, 0x8] - cmp r0, 0xE - bls _08015308 - b _08015604 -_08015308: - lsls r0, 2 - ldr r1, =_0801531C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0801531C: - .4byte _08015358 - .4byte _08015386 - .4byte _08015398 - .4byte _08015420 - .4byte _080154E0 - .4byte _08015504 - .4byte _08015564 - .4byte _080155A8 - .4byte _08015564 - .4byte _0801559A - .4byte _08015564 - .4byte _080155B4 - .4byte _08015564 - .4byte _080155E8 - .4byte _080155F4 -_08015358: - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl sub_8010F84 - bl sub_800B488 - bl OpenLink - bl sub_8011C5C - movs r0, 0x70 - bl AllocZeroed - str r0, [r5, 0x4] - movs r0, 0x80 - lsls r0, 2 - bl AllocZeroed - str r0, [r5] - movs r0, 0x1 - strb r0, [r5, 0x8] - b _08015604 -_08015386: - ldr r0, =gUnknown_082EFBC8 - bl sub_8018884 - movs r0, 0x2 - strb r0, [r5, 0x8] - b _08015604 - .pool -_08015398: - ldr r0, [r5, 0x4] - movs r1, 0x4 - bl sub_80175EC - ldr r0, [r5] - movs r1, 0x10 - bl sub_8017580 - ldr r0, [r5, 0x4] - ldrb r1, [r5, 0x12] - adds r1, 0x7 - bl sub_8016FF0 - strb r0, [r5, 0x11] - ldrb r0, [r5, 0x13] - cmp r0, 0 - beq _08015404 - ldr r0, =gUnknown_082F0174 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp] - str r1, [sp, 0x4] - bl sub_8019930 - lsls r0, 16 - ldr r2, =0x0000ffff - ldr r1, [sp, 0x4] - ands r1, r2 - orrs r1, r0 - str r1, [sp, 0x4] - mov r0, sp - bl AddWindow - strb r0, [r5, 0xB] - ldrb r0, [r5, 0xB] - bl sub_8018784 - ldr r0, =gMultiuseListMenuTemplate - adds r2, r0, 0 - ldr r1, =gUnknown_082F0204 - ldm r1!, {r3,r4,r6} - stm r2!, {r3,r4,r6} - ldm r1!, {r3,r4,r6} - stm r2!, {r3,r4,r6} - ldrb r1, [r5, 0xB] - strb r1, [r0, 0x10] - movs r1, 0 - movs r2, 0 - bl ListMenuInit - strb r0, [r5, 0xE] - movs r0, 0 - bl CopyBgTilemapBufferToVram -_08015404: - movs r0, 0 - strb r0, [r5, 0xF] - movs r0, 0x3 - strb r0, [r5, 0x8] - b _08015604 - .pool -_08015420: - bl sub_8013E44 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _08015446 - cmp r0, 0x1 - bne _08015436 - movs r0, 0x2 - bl PlaySE -_08015436: - ldrb r0, [r5, 0x13] - cmp r0, 0 - bne _0801543E - b _08015604 -_0801543E: - ldrb r0, [r5, 0xE] - bl sub_81AE70C - b _08015604 -_08015446: - ldrb r0, [r5, 0x13] - cmp r0, 0 - beq _08015452 - ldrb r0, [r5, 0xE] - bl ListMenuHandleInputGetItemId -_08015452: - ldrb r0, [r5, 0x14] - cmp r0, 0x78 - bls _080154C0 - ldr r2, [r5] - ldrb r1, [r2, 0x1A] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0x1 - bne _080154D4 - ldrb r1, [r2, 0xA] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _080154D4 - ldrb r1, [r5, 0x12] - adds r1, 0x7 - adds r0, r2, 0 - bl sub_8016F1C - cmp r0, 0 - beq _080154B4 - strb r4, [r5, 0xF] - strb r4, [r5, 0x14] - bl sub_800E0E8 - movs r0, 0 - movs r1, 0 - bl CreateWirelessStatusIndicatorSprite - ldr r0, [r5] - adds r4, r0, 0 - adds r4, 0x10 - adds r0, 0x2 - bl sub_8015658 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl sub_8011FC8 - movs r0, 0x6E - bl PlaySE - movs r0, 0x4 - strb r0, [r5, 0x8] - b _080154D4 -_080154B4: - movs r0, 0x16 - bl PlaySE - movs r0, 0xA - strb r0, [r5, 0x8] - b _080154D4 -_080154C0: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080154D4 - movs r1, 0 - movs r0, 0x6 - strb r0, [r5, 0x8] - strb r1, [r5, 0x14] -_080154D4: - ldrb r0, [r5, 0x14] - adds r0, 0x1 - strb r0, [r5, 0x14] - b _08015604 - .pool -_080154E0: - ldr r0, =gUnknown_082EFC90 - bl sub_8018884 - ldr r0, =gStringVar1 - ldrb r2, [r5, 0xF] - lsls r2, 5 - ldr r1, [r5] - adds r1, r2 - bl sub_8018404 - movs r0, 0x5 - strb r0, [r5, 0x8] - b _08015604 - .pool -_08015504: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _08015522 - ldr r2, =gUnknown_02022C2C - ldr r1, [r5] - ldrb r0, [r5, 0xF] - lsls r0, 5 - adds r1, r0 - ldrb r0, [r1, 0xA] - lsls r0, 25 - lsrs r0, 25 - strb r0, [r2] - movs r0, 0xC - strb r0, [r5, 0x8] -_08015522: - bl sub_8011A74 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - beq _0801554E - cmp r0, 0x5 - bgt _08015544 - cmp r0, 0x2 - bgt _08015604 - cmp r0, 0x1 - blt _08015604 - b _08015548 - .pool -_08015544: - cmp r0, 0x6 - bne _08015604 -_08015548: - movs r0, 0x8 - strb r0, [r5, 0x8] - b _08015604 -_0801554E: - ldr r0, =gUnknown_082EDEC4 - bl sub_8018884 - movs r0, 0 - movs r1, 0 - bl sub_8011A64 - b _08015604 - .pool -_08015564: - ldrb r0, [r5, 0x13] - cmp r0, 0 - beq _08015580 - ldrb r0, [r5, 0xE] - movs r1, 0 - movs r2, 0 - bl DestroyListMenuTask - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldrb r0, [r5, 0xB] - bl RemoveWindow -_08015580: - ldrb r0, [r5, 0x11] - bl DestroyTask - ldr r0, [r5] - bl Free - ldr r0, [r5, 0x4] - bl Free - ldrb r0, [r5, 0x8] - adds r0, 0x1 - strb r0, [r5, 0x8] - b _08015604 -_0801559A: - adds r0, r5, 0 - adds r0, 0x9 - ldr r1, =gUnknown_082EDF04 - b _080155C2 - .pool -_080155A8: - adds r0, r5, 0 - adds r0, 0x9 - ldr r1, =gText_WirelessSearchCanceled - b _080155C2 - .pool -_080155B4: - adds r0, r5, 0 - adds r0, 0x9 - ldr r2, =gUnknown_082EFD58 - ldrb r1, [r5, 0x12] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] -_080155C2: - bl mevent_0814257C - cmp r0, 0 - beq _08015604 - bl sub_800E084 - adds r0, r4, 0 - bl DestroyTask - bl sub_800EDD4 - ldr r1, =gSpecialVar_Result - movs r0, 0x5 - strh r0, [r1] - b _08015604 - .pool -_080155E8: - ldrb r0, [r5, 0x8] - adds r0, 0x1 - strb r0, [r5, 0x8] - bl sub_800ADF8 - b _08015604 -_080155F4: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - beq _08015604 - adds r0, r4, 0 - bl DestroyTask -_08015604: - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end task00_081182DC - - thumb_func_start UnionRoomSpecial -UnionRoomSpecial: @ 801560C - push {r4,lr} - bl sub_8010F60 - ldr r0, =sub_80156E0 - movs r1, 0xA - bl CreateTask - ldr r4, =gUnknown_02022C30 - movs r0, 0x9B - lsls r0, 2 - bl AllocZeroed - str r0, [r4] - ldr r1, =gUnknown_03000DA8 - str r0, [r1] - movs r1, 0 - strb r1, [r0, 0x14] - strb r1, [r0, 0x16] - strh r1, [r0, 0x10] - strh r1, [r0, 0x12] - ldr r0, =gSpecialVar_Result - strh r1, [r0] - movs r0, 0xD0 - movs r1, 0x1 - bl sub_819A2BC - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end UnionRoomSpecial - - thumb_func_start sub_8015658 -sub_8015658: @ 8015658 - ldrb r1, [r0, 0x1] - lsls r1, 8 - ldrb r0, [r0] - orrs r0, r1 - bx lr - thumb_func_end sub_8015658 - - thumb_func_start sub_8015664 -sub_8015664: @ 8015664 - push {lr} - adds r3, r1, 0 - ldr r1, =gUnknown_02022C30 - ldr r2, [r1] - movs r1, 0x8 - strb r1, [r2, 0x14] - strb r0, [r2, 0x15] - ldr r0, =gStringVar4 - cmp r3, r0 - beq _0801567E - adds r1, r3, 0 - bl StringExpandPlaceholders -_0801567E: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8015664 - - thumb_func_start sub_801568C -sub_801568C: @ 801568C - push {lr} - adds r2, r0, 0 - ldr r0, =gUnknown_02022C30 - ldr r1, [r0] - movs r0, 0x1A - strb r0, [r1, 0x14] - ldr r0, =gStringVar4 - cmp r2, r0 - beq _080156A4 - adds r1, r2, 0 - bl StringExpandPlaceholders -_080156A4: - pop {r0} - bx r0 - .pool - thumb_func_end sub_801568C - - thumb_func_start sub_80156B0 -sub_80156B0: @ 80156B0 - push {lr} - ldr r3, =0x0201ff00 - ldr r1, [r0] - movs r2, 0x80 - lsls r2, 1 - adds r0, r3, 0 - bl memcpy - pop {r0} - bx r0 - .pool - thumb_func_end sub_80156B0 - - thumb_func_start sub_80156C8 -sub_80156C8: @ 80156C8 - push {lr} - ldr r0, [r0] - ldr r1, =0x0201ff00 - movs r2, 0x80 - lsls r2, 1 - bl memcpy - pop {r0} - bx r0 - .pool - thumb_func_end sub_80156C8 - thumb_func_start sub_80156E0 sub_80156E0: @ 80156E0 push {r4-r7,lr} @@ -6123,7 +662,7 @@ _08015D4C: adds r1, r2 adds r1, r3 ldr r1, [r1] - bl sub_8017064 + bl PrintOnTextbox lsls r0, 24 cmp r0, 0 bne _08015D8C @@ -6235,7 +774,7 @@ _08015E94: adds r0, r6, 0 adds r0, 0x16 ldr r1, =gStringVar4 - bl sub_8017064 + bl PrintOnTextbox lsls r0, 24 cmp r0, 0 bne _08015EA8 @@ -6531,7 +1070,7 @@ _08016158: adds r0, r6, 0 adds r0, 0x16 ldr r1, =gStringVar4 - bl sub_8017064 + bl PrintOnTextbox lsls r0, 24 cmp r0, 0 bne _08016170 @@ -6849,7 +1388,7 @@ _0801645C: adds r0, r6, 0 adds r0, 0x16 ldr r1, =gUnknown_082EF20C - bl sub_8017064 + bl PrintOnTextbox lsls r0, 24 cmp r0, 0 bne _0801646E @@ -7018,7 +1557,7 @@ _080165DC: adds r0, r6, 0 adds r0, 0x16 ldr r1, =gUnknown_082EF5B8 - bl sub_8017064 + bl PrintOnTextbox lsls r0, 24 cmp r0, 0 bne _080165EE @@ -7039,7 +1578,7 @@ _08016610: adds r0, r6, 0 adds r0, 0x16 ldr r1, =gUnknown_082EF1EC - bl sub_8017064 + bl PrintOnTextbox lsls r0, 24 cmp r0, 0 bne _08016622 @@ -7190,7 +1729,7 @@ _0801676C: adds r0, r6, 0 adds r0, 0x16 ldr r1, =gUnknown_082EF4C4 - bl sub_8017064 + bl PrintOnTextbox lsls r0, 24 cmp r0, 0 bne _0801677E @@ -7268,7 +1807,7 @@ _08016838: adds r0, r6, 0 adds r0, 0x16 ldr r1, =gStringVar4 - bl sub_8017064 + bl PrintOnTextbox lsls r0, 24 cmp r0, 0 beq _08016878 @@ -7287,7 +1826,7 @@ _08016864: adds r0, r6, 0 adds r0, 0x16 ldr r1, =gStringVar4 - bl sub_8017064 + bl PrintOnTextbox lsls r0, 24 cmp r0, 0 beq _08016878 @@ -7315,7 +1854,7 @@ _08016894: pop {r0} bx r0 .pool - thumb_func_end var_800D_set_xB +thumb_func_end var_800D_set_xB thumb_func_start sub_801689C sub_801689C: @ 801689C @@ -7528,7 +2067,7 @@ _08016A4A: ldr r0, [r5] adds r0, r4 adds r0, 0x2 - bl sub_8015658 + bl ReadAsU16 lsls r0, 16 lsrs r0, 16 mov r1, sp @@ -8305,8 +2844,8 @@ _0801705E: bx r1 thumb_func_end sub_801704C - thumb_func_start sub_8017064 -sub_8017064: @ 8017064 + thumb_func_start PrintOnTextbox +PrintOnTextbox: @ 8017064 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 @@ -8346,7 +2885,7 @@ _080170B0: pop {r4,r5} pop {r1} bx r1 - thumb_func_end sub_8017064 + thumb_func_end PrintOnTextbox thumb_func_start sub_80170B8 sub_80170B8: @ 80170B8 @@ -9531,7 +4070,7 @@ sub_80179AC: @ 80179AC bl sub_8018404 adds r4, 0x2 adds r0, r4, 0 - bl sub_8015658 + bl ReadAsU16 lsls r0, 16 lsrs r0, 16 mov r1, sp @@ -9563,7 +4102,7 @@ sub_80179D4: @ 80179D4 adds r1, r5, 0 bl sub_8018404 adds r0, r5, 0x2 - bl sub_8015658 + bl ReadAsU16 lsls r0, 16 lsrs r0, 16 adds r1, r4, 0 @@ -10246,14 +4785,14 @@ _08017F8A: lsls r0, r4, 24 lsrs r0, 24 adds r1, r5, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr adds r5, 0x10 adds r4, 0x1 cmp r4, 0x3 ble _08017F8A ldr r1, =gUnknown_082EE47C adds r0, r7, 0 - bl UnkTextUtil_StringExpandPlaceholders + bl DynamicPlaceholderTextUtil_ExpandPlaceholders b _08017FB4 .pool _08017FAC: @@ -10551,7 +5090,7 @@ _080181BC: sub_80181CC: @ 80181CC push {lr} bl ScriptContext2_Enable - bl ScriptFreezeMapObjects + bl ScriptFreezeEventObjects pop {r0} bx r0 thumb_func_end sub_80181CC @@ -10618,7 +5157,7 @@ sub_8018220: @ 8018220 ldr r0, =gTrainerCards adds r1, r0 mov r8, r1 - bl UnkTextUtil_Reset + bl DynamicPlaceholderTextUtil_Reset mov r6, r9 adds r6, 0xC0 bl sub_8068BB0 @@ -10632,11 +5171,11 @@ sub_8018220: @ 8018220 bl StringCopy movs r0, 0 adds r1, r6, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr mov r1, r8 adds r1, 0x30 movs r0, 0x1 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr movs r4, 0xBA lsls r4, 1 add r4, r9 @@ -10650,7 +5189,7 @@ sub_8018220: @ 8018220 bl StringCopy movs r0, 0x2 adds r1, r4, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr mov r5, r9 adds r5, 0xDE mov r0, r8 @@ -10661,7 +5200,7 @@ sub_8018220: @ 8018220 bl ConvertIntToDecimalStringN movs r0, 0x3 adds r1, r5, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr movs r2, 0xED add r2, r9 mov r10, r2 @@ -10681,16 +5220,16 @@ sub_8018220: @ 8018220 bl ConvertIntToDecimalStringN movs r0, 0x4 mov r1, r10 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr movs r0, 0x5 adds r1, r4, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr movs r4, 0xD2 lsls r4, 1 add r4, r9 ldr r1, =gUnknown_082EFF64 adds r0, r4, 0 - bl UnkTextUtil_StringExpandPlaceholders + bl DynamicPlaceholderTextUtil_ExpandPlaceholders ldr r0, =gStringVar4 adds r1, r4, 0 bl StringCopy @@ -10707,7 +5246,7 @@ _0801830C: bl ConvertIntToDecimalStringN movs r0, 0 adds r1, r6, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr mov r2, r8 ldrh r1, [r2, 0x16] cmp r1, r4 @@ -10722,7 +5261,7 @@ _08018328: bl ConvertIntToDecimalStringN movs r0, 0x2 adds r1, r4, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr mov r0, r8 ldrh r1, [r0, 0x20] adds r0, r5, 0 @@ -10731,7 +5270,7 @@ _08018328: bl ConvertIntToDecimalStringN movs r0, 0x3 adds r1, r5, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr movs r7, 0 movs r6, 0x80 lsls r6, 19 @@ -10744,7 +5283,7 @@ _08018360: bl CopyEasyChatWord lsrs r0, r6, 24 adds r1, r4, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr movs r2, 0x80 lsls r2, 17 adds r6, r2 @@ -10758,7 +5297,7 @@ _08018360: add r4, r9 ldr r1, =gUnknown_082EFFA4 adds r0, r4, 0 - bl UnkTextUtil_StringExpandPlaceholders + bl DynamicPlaceholderTextUtil_ExpandPlaceholders ldr r5, =gStringVar4 adds r0, r5, 0 adds r1, r4, 0 @@ -10768,7 +5307,7 @@ _08018360: bne _080183D0 ldr r1, =gUnknown_082F0020 adds r0, r4, 0 - bl UnkTextUtil_StringExpandPlaceholders + bl DynamicPlaceholderTextUtil_ExpandPlaceholders adds r0, r5, 0 adds r1, r4, 0 bl StringAppend @@ -10785,7 +5324,7 @@ _080183D0: adds r1, r0 ldr r1, [r1] adds r0, r4, 0 - bl UnkTextUtil_StringExpandPlaceholders + bl DynamicPlaceholderTextUtil_ExpandPlaceholders adds r0, r5, 0 adds r1, r4, 0 bl StringAppend @@ -10972,11 +5511,11 @@ _08018574: movs r0, 0 movs r1, 0xA movs r2, 0xE0 - bl sub_809882C + bl LoadUserWindowBorderGfx movs r0, 0 movs r1, 0x1 movs r2, 0xF0 - bl box_border_load_tiles_and_pal + bl LoadUserWindowBorderGfx_ movs r4, 0x20 str r4, [sp] str r4, [sp, 0x4] @@ -13578,7 +8117,7 @@ sub_8019AB8: @ 8019AB8 ldr r2, [r1] ldrb r1, [r2, 0x5] ldrb r2, [r2, 0x4] - bl RemoveFieldObjectByLocalIdAndMap + bl RemoveEventObjectByLocalIdAndMap pop {r0} bx r0 .pool @@ -13597,7 +8136,7 @@ sub_8019AD8: @ 8019AD8 ldrb r1, [r2, 0x5] ldrb r2, [r2, 0x4] mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap + bl TryGetEventObjectIdByLocalIdAndMap lsls r0, 24 cmp r0, 0 bne _08019B30 @@ -13606,16 +8145,16 @@ sub_8019AD8: @ 8019AD8 lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, =gMapObjects + ldr r1, =gEventObjects adds r4, r0, r1 adds r0, r4, 0 - bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive + bl EventObjectIsMovementOverridden lsls r0, 24 cmp r0, 0 bne _08019B30 ldrb r1, [r5] adds r0, r4, 0 - bl FieldObjectSetSpecialAnim + bl EventObjectSetHeldMovement lsls r0, 24 cmp r0, 0 bne _08019B30 @@ -13643,7 +8182,7 @@ sub_8019B3C: @ 8019B3C ldrb r1, [r2, 0x5] ldrb r2, [r2, 0x4] mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap + bl TryGetEventObjectIdByLocalIdAndMap lsls r0, 24 cmp r0, 0 bne _08019B9C @@ -13652,10 +8191,10 @@ sub_8019B3C: @ 8019B3C lsls r0, r1, 3 adds r0, r1 lsls r0, 2 - ldr r1, =gMapObjects + ldr r1, =gEventObjects adds r4, r0, r1 adds r0, r4, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished + bl EventObjectClearHeldMovementIfFinished lsls r0, 24 cmp r0, 0 bne _08019B84 @@ -13668,11 +8207,11 @@ _08019B84: cmp r0, 0 bne _08019B96 adds r0, r4, 0 - bl npc_sync_anim_pause_bits + bl UnfreezeEventObject b _08019B9C _08019B96: adds r0, r4, 0 - bl FreezeMapObject + bl FreezeEventObject _08019B9C: movs r0, 0x1 _08019B9E: @@ -14619,7 +9158,7 @@ sub_801A2A8: @ 801A2A8 b _0801A396 _0801A2C4: ldr r4, =gUnknown_082F076A - bl player_get_direction_lower_nybble + bl GetPlayerFacingDirection lsls r0, 24 lsrs r0, 24 adds r0, r4 @@ -14898,7 +9437,7 @@ sub_801A43C: @ 801A43C bl LoadPalette movs r0, 0xF0 bl sub_81978B0 - bl UnkTextUtil_Reset + bl DynamicPlaceholderTextUtil_Reset movs r0, 0x20 str r0, [sp] str r0, [sp, 0x4] @@ -14941,7 +9480,7 @@ _0801A58C: ldr r0, =gUnknown_03000DAC ldr r0, [r0] bl Free - ldr r0, =CB2_ReturnToFieldContinueScript + ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic bl SetMainCallback2 pop {r4} pop {r0} @@ -15907,11 +10446,11 @@ _0801AD8C: movs r0, 0 movs r1, 0x1 movs r2, 0xD0 - bl sub_809882C + bl LoadUserWindowBorderGfx movs r0, 0 movs r1, 0x1 movs r2, 0xD0 - bl box_border_load_tiles_and_pal + bl LoadUserWindowBorderGfx_ bl sub_819789C ldr r0, =sub_801AC40 bl SetVBlankCallback @@ -24175,10 +18714,10 @@ _0801F020: ldrb r1, [r4, 0x8] cmp r0, r1 beq _0801F0A8 - bl UnkTextUtil_Reset + bl DynamicPlaceholderTextUtil_Reset movs r0, 0 adds r1, r4, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr ldr r1, =gText_F700JoinedChat b _0801F094 .pool @@ -24215,14 +18754,14 @@ _0801F07A: ldrb r5, [r5] cmp r0, r5 beq _0801F0A8 - bl UnkTextUtil_Reset + bl DynamicPlaceholderTextUtil_Reset movs r0, 0 adds r1, r4, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr ldr r1, =gText_F700LeftChat _0801F094: adds r0, r6, 0 - bl UnkTextUtil_StringExpandPlaceholders + bl DynamicPlaceholderTextUtil_ExpandPlaceholders movs r0, 0x1 b _0801F0AA .pool @@ -25695,11 +20234,11 @@ sub_801FBF8: @ 801FBF8 beq _0801FC38 b _0801FC42 _0801FC08: - bl UnkTextUtil_Reset + bl DynamicPlaceholderTextUtil_Reset bl sub_801F1D0 adds r1, r0, 0 movs r0, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr movs r0, 0x5 movs r1, 0 bl sub_801FF18 @@ -25856,11 +20395,11 @@ sub_801FD30: @ 801FD30 beq _0801FD74 b _0801FD7E _0801FD40: - bl UnkTextUtil_Reset + bl DynamicPlaceholderTextUtil_Reset ldr r0, =gSaveBlock2Ptr ldr r1, [r0] movs r0, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr movs r0, 0x9 movs r1, 0 bl sub_801FF18 @@ -26164,7 +20703,7 @@ _0801FF98: adds r0, r1, 0 adds r0, 0x22 ldr r1, [r4] - bl UnkTextUtil_StringExpandPlaceholders + bl DynamicPlaceholderTextUtil_ExpandPlaceholders ldr r0, [r5] adds r6, r0, 0 adds r6, 0x22 @@ -27081,11 +21620,11 @@ sub_8020740: @ 8020740 movs r0, 0x3 movs r1, 0x1 movs r2, 0xD0 - bl sub_809882C + bl LoadUserWindowBorderGfx movs r0, 0x3 movs r1, 0xA movs r2, 0x20 - bl box_border_load_tiles_and_pal + bl LoadUserWindowBorderGfx_ ldr r0, =gUnknown_0860F074 movs r1, 0xE0 movs r2, 0x20 @@ -29443,7 +23982,7 @@ _08021A92: lsls r4, 2 str r4, [sp, 0x24] _08021A98: - bl UnkTextUtil_Reset + bl DynamicPlaceholderTextUtil_Reset ldr r0, [sp, 0x10] cmp r0, 0x1 beq _08021B48 @@ -29702,10 +24241,10 @@ _08021CC8: ldr r0, [sp, 0xC] adds r1, r0, r1 movs r0, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr ldr r0, =gStringVar4 adds r1, r4, 0 - bl UnkTextUtil_StringExpandPlaceholders + bl DynamicPlaceholderTextUtil_ExpandPlaceholders ldr r1, [sp, 0xC] movs r2, 0xDD lsls r2, 1 @@ -30171,7 +24710,7 @@ _0802210C: ldr r4, =0x0000021d adds r1, r4, 0 movs r2, 0xD0 - bl box_border_load_tiles_and_pal + bl LoadUserWindowBorderGfx_ ldrb r0, [r5] movs r1, 0 adds r2, r4, 0 @@ -30370,7 +24909,7 @@ _08022296: ldr r4, =0x0000021d adds r1, r4, 0 movs r2, 0xD0 - bl box_border_load_tiles_and_pal + bl LoadUserWindowBorderGfx_ ldrb r0, [r6, 0x2] movs r1, 0 adds r2, r4, 0 @@ -35221,7 +29760,7 @@ sub_80248B0: @ 80248B0 ldr r5, =0x0000021d adds r1, r5, 0 movs r2, 0xD0 - bl box_border_load_tiles_and_pal + bl LoadUserWindowBorderGfx_ ldrb r4, [r4] bl sub_80247BC adds r3, r0, 0 @@ -41645,7 +36184,7 @@ sub_8027BEC: @ 8027BEC adds r0, r7, 0 adds r1, r4, 0 movs r2, 0xD0 - bl box_border_load_tiles_and_pal + bl LoadUserWindowBorderGfx_ adds r0, r7, 0 adds r1, r4, 0 movs r2, 0xD @@ -44214,7 +38753,7 @@ sub_802902C: @ 802902C movs r0, 0 movs r1, 0xA movs r2, 0xB0 - bl box_border_load_tiles_and_pal + bl LoadUserWindowBorderGfx_ pop {r0} bx r0 thumb_func_end sub_802902C @@ -45753,7 +40292,7 @@ _08029DA0: movs r1, 0x1 adds r2, r5, 0 bl PrintTextOnWindow - bl UnkTextUtil_Reset + bl DynamicPlaceholderTextUtil_Reset bl sub_802762C lsls r0, 16 lsrs r0, 16 @@ -45762,11 +40301,11 @@ _08029DA0: bl CopyItemName movs r0, 0 adds r1, r5, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr ldr r7, =gStringVar4 ldr r1, =gText_FirstPlacePrize adds r0, r7, 0 - bl UnkTextUtil_StringExpandPlaceholders + bl DynamicPlaceholderTextUtil_ExpandPlaceholders ldr r0, [r4] add r0, r10 ldrb r0, [r0] @@ -45787,7 +40326,7 @@ _08029DA0: beq _08029EC8 cmp r4, 0x3 beq _08029EC8 - bl UnkTextUtil_Reset + bl DynamicPlaceholderTextUtil_Reset bl sub_802762C lsls r0, 16 lsrs r0, 16 @@ -45795,12 +40334,12 @@ _08029DA0: bl CopyItemName movs r0, 0 adds r1, r5, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr cmp r4, 0x2 bne _08029E9C ldr r1, =gText_CantHoldAnyMore adds r0, r7, 0 - bl UnkTextUtil_StringExpandPlaceholders + bl DynamicPlaceholderTextUtil_ExpandPlaceholders b _08029EA8 .pool _08029E9C: @@ -45808,7 +40347,7 @@ _08029E9C: bne _08029EA8 ldr r1, =gText_FilledStorageSpace adds r0, r7, 0 - bl UnkTextUtil_StringExpandPlaceholders + bl DynamicPlaceholderTextUtil_ExpandPlaceholders _08029EA8: ldr r0, =gUnknown_02022CF8 ldr r0, [r0] @@ -52968,19 +47507,19 @@ sub_802D7E8: @ 802D7E8 movs r2, 0 movs r3, 0x1 bl ConvertIntToDecimalStringN - bl UnkTextUtil_Reset + bl DynamicPlaceholderTextUtil_Reset ldr r1, [r5] adds r1, 0x26 movs r0, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr ldr r1, [r5] adds r1, 0x66 movs r0, 0x1 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr ldr r0, [r5] adds r0, 0xA6 ldr r1, =gText_AwesomeWonF701F700 - bl UnkTextUtil_StringExpandPlaceholders + bl DynamicPlaceholderTextUtil_ExpandPlaceholders movs r0, 0x4 movs r1, 0x8 movs r2, 0x16 @@ -53025,15 +47564,15 @@ sub_802D884: @ 802D884 ldr r1, [r4] adds r1, 0x26 bl CopyItemName - bl UnkTextUtil_Reset + bl DynamicPlaceholderTextUtil_Reset ldr r1, [r4] adds r1, 0x26 movs r0, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr ldr r0, [r4] adds r0, 0xA6 ldr r1, =gText_FilledStorageSpace2 - bl UnkTextUtil_StringExpandPlaceholders + bl DynamicPlaceholderTextUtil_ExpandPlaceholders movs r0, 0x4 movs r1, 0x8 movs r2, 0x16 @@ -53078,15 +47617,15 @@ sub_802D8FC: @ 802D8FC ldr r1, [r4] adds r1, 0x26 bl CopyItemName - bl UnkTextUtil_Reset + bl DynamicPlaceholderTextUtil_Reset ldr r1, [r4] adds r1, 0x26 movs r0, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr ldr r0, [r4] adds r0, 0xA6 ldr r1, =gText_CantHoldMore - bl UnkTextUtil_StringExpandPlaceholders + bl DynamicPlaceholderTextUtil_ExpandPlaceholders movs r0, 0x4 movs r1, 0x9 movs r2, 0x16 @@ -54638,7 +49177,7 @@ sub_802E500: @ 802E500 adds r0, r4, 0 adds r1, r5, 0 movs r2, 0xD0 - bl box_border_load_tiles_and_pal + bl LoadUserWindowBorderGfx_ adds r0, r4, 0 adds r1, r5, 0 movs r2, 0xD diff --git a/asm/rom_8034C54.s b/asm/rom_8034C54.s deleted file mode 100644 index 4274f26b6..000000000 --- a/asm/rom_8034C54.s +++ /dev/null @@ -1,1312 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8034C54 -sub_8034C54: @ 8034C54 - push {r4-r7,lr} - adds r4, r0, 0 - ldr r5, =gUnknown_02022E10 - ldr r0, [r5] - cmp r0, 0 - beq _08034C64 - bl sub_8034CC8 -_08034C64: - movs r0, 0x8 - bl Alloc - str r0, [r5] - cmp r0, 0 - bne _08034C78 - movs r0, 0 - b _08034CC0 - .pool -_08034C78: - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - bl Alloc - ldr r1, [r5] - str r0, [r1, 0x4] - cmp r0, 0 - bne _08034C94 - adds r0, r1, 0 - bl Free - movs r0, 0 - b _08034CC0 -_08034C94: - str r4, [r1] - movs r3, 0 - cmp r3, r4 - bcs _08034CBE - movs r7, 0 - movs r6, 0xFF - movs r2, 0 -_08034CA2: - ldr r0, [r5] - ldr r0, [r0, 0x4] - adds r0, r2, r0 - strb r7, [r0] - ldr r0, [r5] - ldr r1, [r0, 0x4] - adds r1, r2, r1 - ldrb r0, [r1, 0x1] - orrs r0, r6 - strb r0, [r1, 0x1] - adds r2, 0x1C - adds r3, 0x1 - cmp r3, r4 - bcc _08034CA2 -_08034CBE: - movs r0, 0x1 -_08034CC0: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8034C54 - - thumb_func_start sub_8034CC8 -sub_8034CC8: @ 8034CC8 - push {r4,r5,lr} - ldr r2, =gUnknown_02022E10 - ldr r1, [r2] - cmp r1, 0 - beq _08034D08 - ldr r0, [r1, 0x4] - cmp r0, 0 - beq _08034CFC - movs r4, 0 - ldr r0, [r1] - cmp r4, r0 - bcs _08034CF2 - adds r5, r2, 0 -_08034CE2: - adds r0, r4, 0 - bl sub_80353DC - adds r4, 0x1 - ldr r0, [r5] - ldr r0, [r0] - cmp r4, r0 - bcc _08034CE2 -_08034CF2: - ldr r0, =gUnknown_02022E10 - ldr r0, [r0] - ldr r0, [r0, 0x4] - bl Free -_08034CFC: - ldr r4, =gUnknown_02022E10 - ldr r0, [r4] - bl Free - movs r0, 0 - str r0, [r4] -_08034D08: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8034CC8 - - thumb_func_start sub_8034D14 -sub_8034D14: @ 8034D14 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - mov r8, r0 - mov r10, r1 - adds r5, r2, 0 - ldr r6, =gUnknown_02022E10 - ldr r0, [r6] - cmp r0, 0 - beq _08034DD4 - ldr r1, [r0, 0x4] - mov r0, r8 - lsls r2, r0, 3 - subs r0, r2, r0 - lsls r4, r0, 2 - adds r1, r4, r1 - ldrb r0, [r1] - mov r9, r2 - cmp r0, 0 - bne _08034DD4 - ldrb r0, [r5, 0x1] - bl sub_8035518 - ldr r1, [r6] - ldr r1, [r1, 0x4] - adds r1, r4, r1 - strb r0, [r1, 0x1] - ldr r0, [r6] - ldr r0, [r0, 0x4] - adds r0, r4, r0 - ldrb r0, [r0, 0x1] - cmp r0, 0xFF - beq _08034DD4 - ldr r0, [r5, 0x8] - ldrh r0, [r0, 0x6] - bl GetSpriteTileStartByTag - ldr r2, [r6] - ldr r1, [r2, 0x4] - adds r1, r4, r1 - strh r0, [r1, 0xA] - ldr r0, [r2, 0x4] - adds r0, r4, r0 - ldrh r1, [r0, 0xA] - ldr r7, =0xffff0000 - lsrs r0, r7, 16 - cmp r1, r0 - bne _08034DE0 - ldr r2, [r5, 0x8] - ldrh r0, [r2, 0x4] - adds r1, r2, 0 - cmp r0, 0 - beq _08034D94 - adds r0, r1, 0 - bl LoadSpriteSheet - b _08034DB4 - .pool -_08034D94: - ldr r0, [r2] - ldr r1, [r2, 0x4] - str r0, [sp] - str r1, [sp, 0x4] - ldr r0, [r2] - bl sub_8034974 - lsls r0, 16 - lsrs r0, 16 - ldr r1, [sp, 0x4] - ands r1, r7 - orrs r1, r0 - str r1, [sp, 0x4] - mov r0, sp - bl LoadCompressedObjectPic -_08034DB4: - ldr r1, [r6] - ldr r1, [r1, 0x4] - adds r1, r4, r1 - strh r0, [r1, 0xA] - ldr r0, =gUnknown_02022E10 - ldr r0, [r0] - ldr r1, [r0, 0x4] - mov r2, r9 - mov r3, r8 - subs r0, r2, r3 - lsls r0, 2 - adds r0, r1 - ldrh r1, [r0, 0xA] - ldr r0, =0x0000ffff - cmp r1, r0 - bne _08034DE0 -_08034DD4: - movs r0, 0 - b _08034EE8 - .pool -_08034DE0: - ldr r0, [r5, 0xC] - ldrh r0, [r0, 0x4] - bl IndexOfSpritePaletteTag - ldr r6, =gUnknown_02022E10 - ldr r1, [r6] - ldr r1, [r1, 0x4] - mov r4, r9 - mov r3, r8 - subs r2, r4, r3 - lsls r4, r2, 2 - adds r1, r4, r1 - strb r0, [r1, 0x4] - ldr r0, [r6] - ldr r0, [r0, 0x4] - adds r0, r4, r0 - ldrb r0, [r0, 0x4] - cmp r0, 0xFF - bne _08034E14 - ldr r0, [r5, 0xC] - bl LoadSpritePalette - ldr r1, [r6] - ldr r1, [r1, 0x4] - adds r1, r4, r1 - strb r0, [r1, 0x4] -_08034E14: - ldr r0, [r6] - ldr r1, [r0, 0x4] - adds r1, r4, r1 - ldrb r0, [r5] - lsls r0, 30 - lsrs r0, 30 - strb r0, [r1, 0x2] - ldr r0, [r6] - ldr r0, [r0, 0x4] - adds r0, r4, r0 - ldrb r1, [r5, 0x1] - strb r1, [r0, 0x3] - ldr r2, [r6] - ldr r0, [r2, 0x4] - adds r0, r4, r0 - ldrh r1, [r5, 0x4] - strh r1, [r0, 0xC] - ldr r0, [r2, 0x4] - adds r0, r4, r0 - ldrh r1, [r5, 0x6] - strh r1, [r0, 0xE] - ldr r1, [r2, 0x4] - adds r1, r4, r1 - ldrb r0, [r5] - lsls r0, 28 - lsrs r0, 30 - strb r0, [r1, 0x6] - ldr r0, [r6] - ldr r1, [r0, 0x4] - adds r1, r4, r1 - ldrb r0, [r5] - lsls r0, 26 - lsrs r0, 30 - strb r0, [r1, 0x5] - ldr r0, [r6] - ldr r1, [r0, 0x4] - adds r1, r4, r1 - ldrb r0, [r5] - lsrs r0, 6 - strb r0, [r1, 0x7] - ldr r0, [r6] - ldr r0, [r0, 0x4] - adds r0, r4, r0 - ldrb r1, [r5, 0x2] - strb r1, [r0, 0x8] - ldrb r1, [r5] - lsls r0, r1, 28 - lsrs r0, 30 - lsls r1, 26 - lsrs r1, 30 - bl sub_80355F8 - ldr r1, [r6] - ldr r1, [r1, 0x4] - adds r1, r4, r1 - strb r0, [r1, 0x9] - ldr r2, [r6] - ldr r0, [r2, 0x4] - adds r0, r4, r0 - ldr r1, [r5, 0x8] - ldrh r1, [r1, 0x6] - strh r1, [r0, 0x10] - ldr r0, [r2, 0x4] - adds r0, r4, r0 - ldr r1, [r5, 0xC] - ldrh r1, [r1, 0x4] - strh r1, [r0, 0x12] - ldr r0, [r2, 0x4] - adds r0, r4, r0 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r6] - ldr r0, [r0, 0x4] - adds r0, r4, r0 - str r1, [r0, 0x14] - movs r3, 0x1 - ldrb r0, [r5, 0x1] - cmp r3, r0 - bcs _08034ECA -_08034EB2: - ldr r0, [r6] - ldr r2, [r0, 0x4] - adds r2, r4, r2 - ldr r1, [r2, 0x14] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 1 - str r0, [r2, 0x14] - adds r3, 0x1 - ldrb r2, [r5, 0x1] - cmp r3, r2 - bcc _08034EB2 -_08034ECA: - ldr r0, =gUnknown_02022E10 - ldr r0, [r0] - mov r3, r9 - mov r4, r8 - subs r1, r3, r4 - lsls r1, 2 - ldr r0, [r0, 0x4] - adds r0, r1 - bl sub_8034EFC - mov r0, r8 - mov r1, r10 - bl sub_8035044 - movs r0, 0x1 -_08034EE8: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8034D14 - - thumb_func_start sub_8034EFC -sub_8034EFC: @ 8034EFC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r4, r0, 0 - ldrb r5, [r4, 0x1] - movs r0, 0xC - ldrsh r7, [r4, r0] - ldrb r0, [r4, 0x3] - adds r0, 0x1 - mov r8, r0 - mov r1, sp - movs r0, 0 - strh r0, [r1] - lsls r1, r5, 3 - ldr r2, =gMain+0x38 - mov r9, r2 - add r1, r9 - mov r0, r8 - lsls r2, r0, 2 - movs r0, 0x80 - lsls r0, 17 - orrs r2, r0 - mov r0, sp - bl CpuSet - movs r6, 0 - ldrb r5, [r4, 0x1] - cmp r6, r8 - bcs _08034FCE - movs r1, 0x3F - mov r10, r1 - movs r2, 0xD - negs r2, r2 - mov r9, r2 -_08034F46: - lsls r0, r5, 3 - ldr r1, =gMain - adds r3, r0, r1 - ldrh r1, [r4, 0xE] - adds r0, r3, 0 - adds r0, 0x38 - strb r1, [r0] - ldr r2, =0x000001ff - adds r0, r2, 0 - adds r1, r7, 0 - ands r1, r0 - ldrh r2, [r3, 0x3A] - ldr r0, =0xfffffe00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, 0x3A] - ldrb r1, [r4, 0x6] - movs r0, 0x39 - adds r0, r3 - mov r12, r0 - lsls r1, 6 - ldrb r2, [r0] - mov r0, r10 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - ldrb r1, [r4, 0x5] - movs r2, 0x3B - adds r2, r3 - mov r12, r2 - lsls r1, 6 - ldrb r2, [r2] - mov r0, r10 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - ldrh r0, [r4, 0xA] - ldr r1, =0x000003ff - ands r1, r0 - ldrh r2, [r3, 0x3C] - ldr r0, =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, 0x3C] - adds r3, 0x3D - movs r0, 0x3 - ldrb r1, [r4, 0x7] - ands r1, r0 - lsls r1, 2 - ldrb r2, [r3] - mov r0, r9 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldrb r2, [r4, 0x4] - lsls r2, 4 - movs r1, 0xF - ands r0, r1 - orrs r0, r2 - strb r0, [r3] - ldrb r0, [r4, 0x8] - adds r7, r0 - adds r6, 0x1 - adds r5, 0x1 - cmp r6, r8 - bcc _08034F46 -_08034FCE: - subs r5, 0x1 - ldr r0, =gMain - lsls r3, r5, 3 - adds r3, r0 - movs r2, 0xC - ldrsh r1, [r4, r2] - ldrb r0, [r4, 0x8] - subs r1, r0 - ldr r2, =0x000001ff - adds r0, r2, 0 - ands r1, r0 - ldrh r2, [r3, 0x3A] - ldr r0, =0xfffffe00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, 0x3A] - adds r2, r3, 0 - adds r2, 0x39 - ldrb r1, [r2] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] - ldrb r0, [r4, 0x9] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 1 - ldrh r4, [r4, 0xA] - adds r1, r4 - ldr r2, =0x000003ff - adds r0, r2, 0 - ands r1, r0 - ldrh r2, [r3, 0x3C] - ldr r0, =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, 0x3C] - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8034EFC - - thumb_func_start sub_8035044 -sub_8035044: @ 8035044 - push {r4-r6,lr} - adds r3, r0, 0 - adds r4, r1, 0 - ldr r0, =gUnknown_02022E10 - ldr r1, [r0] - adds r6, r0, 0 - cmp r1, 0 - beq _080350A8 - ldr r2, [r1, 0x4] - lsls r1, r3, 3 - subs r0, r1, r3 - lsls r0, 2 - adds r2, r0, r2 - ldrb r0, [r2] - adds r5, r1, 0 - cmp r0, 0 - beq _080350A8 - str r4, [r2, 0x18] - cmp r4, 0 - bge _08035078 - movs r2, 0x1 - negs r4, r4 - b _0803507A - .pool -_08035078: - movs r2, 0 -_0803507A: - ldr r0, [r6] - ldr r1, [r0, 0x4] - subs r0, r5, r3 - lsls r0, 2 - adds r0, r1 - ldrb r3, [r0, 0x2] - cmp r3, 0x1 - beq _0803509A - cmp r3, 0x1 - ble _08035092 - cmp r3, 0x2 - beq _080350A2 -_08035092: - adds r1, r4, 0 - bl sub_80350B0 - b _080350A8 -_0803509A: - adds r1, r4, 0 - bl sub_8035164 - b _080350A8 -_080350A2: - adds r1, r4, 0 - bl sub_80352C0 -_080350A8: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8035044 - - thumb_func_start sub_80350B0 -sub_80350B0: @ 80350B0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r8, r0 - mov r9, r1 - str r2, [sp] - ldr r5, [r0, 0x14] - ldrb r7, [r0, 0x1] - ldr r0, =gMain - mov r10, r0 - cmp r5, 0 - beq _0803511A - lsls r0, r7, 3 - adds r0, 0x3C - mov r1, r10 - adds r6, r0, r1 -_080350D6: - mov r0, r9 - adds r1, r5, 0 - bl __udivsi3 - adds r4, r0, 0 - adds r0, r4, 0 - muls r0, r5 - mov r2, r9 - subs r2, r0 - mov r9, r2 - adds r0, r5, 0 - movs r1, 0xA - bl __udivsi3 - adds r5, r0, 0 - mov r1, r8 - ldrb r0, [r1, 0x9] - adds r1, r4, 0 - muls r1, r0 - mov r2, r8 - ldrh r2, [r2, 0xA] - adds r1, r2 - ldr r2, =0x000003ff - adds r0, r2, 0 - ands r1, r0 - ldrh r0, [r6] - ldr r2, =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r6] - adds r6, 0x8 - adds r7, 0x1 - cmp r5, 0 - bne _080350D6 -_0803511A: - ldr r0, [sp] - cmp r0, 0 - beq _08035140 - lsls r0, r7, 3 - add r0, r10 - adds r0, 0x39 - ldrb r2, [r0] - movs r1, 0x4 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - b _08035154 - .pool -_08035140: - lsls r2, r7, 3 - add r2, r10 - adds r2, 0x39 - ldrb r1, [r2] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] -_08035154: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80350B0 - - thumb_func_start sub_8035164 -sub_8035164: @ 8035164 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r6, r0, 0 - mov r8, r1 - str r2, [sp] - ldr r5, [r6, 0x14] - ldr r3, =gUnknown_03000DD4 - ldrb r0, [r6, 0x1] - str r0, [r3] - ldr r2, =gUnknown_03000DD8 - movs r0, 0 - str r0, [r2] - ldr r1, =gUnknown_03000DDC - subs r0, 0x1 - str r0, [r1] - adds r7, r3, 0 - mov r10, r1 - ldr r0, =gMain - mov r9, r0 - cmp r5, 0 - beq _0803524C -_08035196: - mov r0, r8 - adds r1, r5, 0 - bl __udivsi3 - adds r4, r0, 0 - adds r0, r4, 0 - muls r0, r5 - mov r1, r8 - subs r1, r0 - mov r8, r1 - adds r0, r5, 0 - movs r1, 0xA - bl __udivsi3 - adds r5, r0, 0 - cmp r4, 0 - bne _080351C8 - mov r2, r10 - ldr r1, [r2] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080351C8 - cmp r5, 0 - bne _08035224 -_080351C8: - ldr r2, [r7] - lsls r2, 3 - add r2, r9 - ldrb r0, [r6, 0x9] - adds r3, r4, 0 - muls r3, r0 - ldrh r4, [r6, 0xA] - adds r3, r4 - ldr r1, =0x000003ff - adds r0, r1, 0 - ands r3, r0 - ldrh r0, [r2, 0x3C] - ldr r4, =0xfffffc00 - adds r1, r4, 0 - ands r0, r1 - orrs r0, r3 - strh r0, [r2, 0x3C] - adds r2, 0x39 - ldrb r0, [r2] - movs r1, 0x4 - negs r1, r1 - ands r0, r1 - strb r0, [r2] - mov r2, r10 - ldr r1, [r2] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _0803523A - ldr r4, =gUnknown_03000DD8 - ldr r0, [r4] - str r0, [r2] - b _0803523A - .pool -_08035224: - ldr r0, [r7] - lsls r0, 3 - add r0, r9 - adds r0, 0x39 - ldrb r1, [r0] - movs r2, 0x4 - negs r2, r2 - ands r1, r2 - movs r2, 0x2 - orrs r1, r2 - strb r1, [r0] -_0803523A: - ldr r0, [r7] - adds r0, 0x1 - str r0, [r7] - ldr r4, =gUnknown_03000DD8 - ldr r0, [r4] - adds r0, 0x1 - str r0, [r4] - cmp r5, 0 - bne _08035196 -_0803524C: - ldr r0, [sp] - cmp r0, 0 - beq _08035298 - ldr r1, [r7] - lsls r1, 3 - add r1, r9 - adds r1, 0x39 - ldrb r2, [r1] - movs r0, 0x4 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldr r3, [r7] - lsls r3, 3 - add r3, r9 - movs r1, 0xC - ldrsh r2, [r6, r1] - mov r4, r10 - ldr r0, [r4] - subs r0, 0x1 - ldrb r1, [r6, 0x8] - muls r0, r1 - adds r2, r0 - ldr r1, =0x000001ff - adds r0, r1, 0 - ands r2, r0 - ldrh r1, [r3, 0x3A] - ldr r0, =0xfffffe00 - ands r0, r1 - orrs r0, r2 - strh r0, [r3, 0x3A] - b _080352AE - .pool -_08035298: - ldr r0, [r7] - lsls r0, 3 - add r0, r9 - adds r0, 0x39 - ldrb r2, [r0] - movs r1, 0x4 - negs r1, r1 - ands r1, r2 - movs r2, 0x2 - orrs r1, r2 - strb r1, [r0] -_080352AE: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8035164 - - thumb_func_start sub_80352C0 -sub_80352C0: @ 80352C0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - mov r8, r0 - mov r10, r1 - str r2, [sp] - ldr r5, [r0, 0x14] - ldrb r3, [r0, 0x1] - movs r0, 0 - str r0, [sp, 0x4] - mov r9, r0 - cmp r5, 0 - beq _0803535A -_080352E0: - lsls r0, r3, 3 - adds r1, r0, 0 - adds r1, 0x39 - ldr r2, =gMain - adds r7, r1, r2 - adds r0, 0x3C - adds r6, r0, r2 -_080352EE: - mov r0, r10 - adds r1, r5, 0 - str r3, [sp, 0x8] - bl __udivsi3 - adds r4, r0, 0 - adds r0, r4, 0 - muls r0, r5 - mov r1, r10 - subs r1, r0 - mov r10, r1 - adds r0, r5, 0 - movs r1, 0xA - bl __udivsi3 - adds r5, r0, 0 - ldr r3, [sp, 0x8] - cmp r4, 0 - bne _0803531E - ldr r2, [sp, 0x4] - cmp r2, 0 - bne _0803531E - cmp r5, 0 - bne _080352E0 -_0803531E: - movs r0, 0x1 - str r0, [sp, 0x4] - mov r1, r8 - ldrb r0, [r1, 0x9] - adds r2, r4, 0 - muls r2, r0 - ldrh r4, [r1, 0xA] - adds r2, r4 - ldr r1, =0x000003ff - adds r0, r1, 0 - ands r2, r0 - ldrh r0, [r6] - ldr r4, =0xfffffc00 - adds r1, r4, 0 - ands r0, r1 - orrs r0, r2 - strh r0, [r6] - ldrb r0, [r7] - movs r2, 0x4 - negs r2, r2 - adds r1, r2, 0 - ands r0, r1 - strb r0, [r7] - adds r7, 0x8 - adds r6, 0x8 - adds r3, 0x1 - movs r4, 0x1 - add r9, r4 - cmp r5, 0 - bne _080352EE -_0803535A: - mov r0, r8 - ldrb r0, [r0, 0x3] - cmp r9, r0 - bge _0803538A - ldr r1, =gMain - movs r5, 0x4 - negs r5, r5 - movs r4, 0x2 - lsls r0, r3, 3 - adds r0, 0x39 - adds r2, r0, r1 -_08035370: - ldrb r1, [r2] - adds r0, r5, 0 - ands r0, r1 - orrs r0, r4 - strb r0, [r2] - adds r2, 0x8 - adds r3, 0x1 - movs r1, 0x1 - add r9, r1 - mov r0, r8 - ldrb r0, [r0, 0x3] - cmp r9, r0 - blt _08035370 -_0803538A: - ldr r1, [sp] - cmp r1, 0 - beq _080353B0 - lsls r0, r3, 3 - ldr r2, =gMain - adds r0, r2 - adds r0, 0x39 - ldrb r2, [r0] - movs r1, 0x4 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - b _080353C6 - .pool -_080353B0: - lsls r2, r3, 3 - ldr r4, =gMain - adds r2, r4 - adds r2, 0x39 - ldrb r1, [r2] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] -_080353C6: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80352C0 - - thumb_func_start sub_80353DC -sub_80353DC: @ 80353DC - push {r4-r7,lr} - adds r4, r0, 0 - ldr r0, =gUnknown_02022E10 - ldr r0, [r0] - cmp r0, 0 - beq _0803546E - ldr r2, [r0, 0x4] - lsls r1, r4, 3 - subs r0, r1, r4 - lsls r0, 2 - adds r2, r0, r2 - ldrb r0, [r2] - adds r5, r1, 0 - cmp r0, 0 - beq _0803546E - ldrb r3, [r2, 0x3] - adds r0, r3, 0x1 - ldrb r2, [r2, 0x1] - cmp r0, 0 - beq _08035426 - ldr r1, =gMain - movs r7, 0x4 - negs r7, r7 - movs r6, 0x2 - adds r3, r0, 0 - lsls r0, r2, 3 - adds r0, 0x39 - adds r2, r0, r1 -_08035414: - ldrb r1, [r2] - adds r0, r7, 0 - ands r0, r1 - orrs r0, r6 - strb r0, [r2] - subs r3, 0x1 - adds r2, 0x8 - cmp r3, 0 - bne _08035414 -_08035426: - adds r0, r4, 0 - bl sub_8035570 - cmp r0, 0 - bne _08035442 - ldr r0, =gUnknown_02022E10 - ldr r0, [r0] - ldr r1, [r0, 0x4] - subs r0, r5, r4 - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0, 0x10] - bl FreeSpriteTilesByTag -_08035442: - adds r0, r4, 0 - bl sub_80355B4 - cmp r0, 0 - bne _0803545E - ldr r0, =gUnknown_02022E10 - ldr r0, [r0] - ldr r1, [r0, 0x4] - subs r0, r5, r4 - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0, 0x12] - bl FreeSpritePaletteByTag -_0803545E: - ldr r0, =gUnknown_02022E10 - ldr r0, [r0] - ldr r1, [r0, 0x4] - subs r0, r5, r4 - lsls r0, 2 - adds r0, r1 - movs r1, 0 - strb r1, [r0] -_0803546E: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80353DC - - thumb_func_start sub_803547C -sub_803547C: @ 803547C - push {r4-r7,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r0, =gUnknown_02022E10 - ldr r1, [r0] - adds r7, r0, 0 - cmp r1, 0 - beq _0803550C - ldr r2, [r1, 0x4] - lsls r1, r4, 3 - subs r0, r1, r4 - lsls r0, 2 - adds r2, r0, r2 - ldrb r0, [r2] - adds r6, r1, 0 - cmp r0, 0 - beq _0803550C - ldrb r3, [r2, 0x3] - adds r1, r3, 0x1 - ldrb r0, [r2, 0x1] - cmp r5, 0 - beq _080354D8 - cmp r1, 0 - beq _0803550C - ldr r1, =gMain - movs r5, 0x4 - negs r5, r5 - movs r4, 0x2 - adds r3, 0x1 - lsls r0, 3 - adds r0, 0x39 - adds r2, r0, r1 -_080354BC: - ldrb r1, [r2] - adds r0, r5, 0 - ands r0, r1 - orrs r0, r4 - strb r0, [r2] - subs r3, 0x1 - adds r2, 0x8 - cmp r3, 0 - bne _080354BC - b _0803550C - .pool -_080354D8: - cmp r1, 0 - beq _080354FA - ldr r1, =gMain - movs r5, 0x4 - negs r5, r5 - adds r3, 0x1 - lsls r0, 3 - adds r0, 0x39 - adds r2, r0, r1 -_080354EA: - ldrb r1, [r2] - adds r0, r5, 0 - ands r0, r1 - strb r0, [r2] - subs r3, 0x1 - adds r2, 0x8 - cmp r3, 0 - bne _080354EA -_080354FA: - ldr r0, [r7] - ldr r1, [r0, 0x4] - subs r0, r6, r4 - lsls r0, 2 - adds r0, r1 - ldr r1, [r0, 0x18] - adds r0, r4, 0 - bl sub_8035044 -_0803550C: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_803547C - - thumb_func_start sub_8035518 -sub_8035518: @ 8035518 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r5, 0x40 - movs r3, 0 - ldr r0, =gUnknown_02022E10 - ldr r0, [r0] - ldr r2, [r0] - cmp r3, r2 - bcs _0803555A - ldr r1, [r0, 0x4] -_0803552E: - ldrb r0, [r1] - cmp r0, 0 - bne _08035548 - ldrb r0, [r1, 0x1] - cmp r0, 0xFF - beq _08035552 - ldrb r0, [r1, 0x3] - cmp r0, r4 - bhi _08035552 - ldrb r0, [r1, 0x1] - b _0803556A - .pool -_08035548: - adds r0, r5, 0x1 - ldrb r5, [r1, 0x3] - adds r0, r5 - lsls r0, 16 - lsrs r5, r0, 16 -_08035552: - adds r1, 0x1C - adds r3, 0x1 - cmp r3, r2 - bcc _0803552E -_0803555A: - adds r0, r5, r4 - adds r0, 0x1 - cmp r0, 0x80 - bgt _08035568 - lsls r0, r5, 24 - lsrs r0, 24 - b _0803556A -_08035568: - movs r0, 0xFF -_0803556A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8035518 - - thumb_func_start sub_8035570 -sub_8035570: @ 8035570 - push {r4-r6,lr} - adds r3, r0, 0 - movs r2, 0 - ldr r0, =gUnknown_02022E10 - ldr r0, [r0] - ldr r4, [r0] - cmp r2, r4 - bcs _080355AC - ldr r1, [r0, 0x4] - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - adds r5, r0, r1 -_0803558A: - ldrb r0, [r1] - cmp r0, 0 - beq _080355A4 - cmp r2, r3 - beq _080355A4 - ldrh r0, [r1, 0x10] - ldrh r6, [r5, 0x10] - cmp r0, r6 - bne _080355A4 - movs r0, 0x1 - b _080355AE - .pool -_080355A4: - adds r1, 0x1C - adds r2, 0x1 - cmp r2, r4 - bcc _0803558A -_080355AC: - movs r0, 0 -_080355AE: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8035570 - - thumb_func_start sub_80355B4 -sub_80355B4: @ 80355B4 - push {r4-r6,lr} - adds r3, r0, 0 - movs r2, 0 - ldr r0, =gUnknown_02022E10 - ldr r0, [r0] - ldr r4, [r0] - cmp r2, r4 - bcs _080355F0 - ldr r1, [r0, 0x4] - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - adds r5, r0, r1 -_080355CE: - ldrb r0, [r1] - cmp r0, 0 - beq _080355E8 - cmp r2, r3 - beq _080355E8 - ldrh r0, [r1, 0x12] - ldrh r6, [r5, 0x12] - cmp r0, r6 - bne _080355E8 - movs r0, 0x1 - b _080355F2 - .pool -_080355E8: - adds r1, 0x1C - adds r2, 0x1 - cmp r2, r4 - bcc _080355CE -_080355F0: - movs r0, 0 -_080355F2: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80355B4 - - thumb_func_start sub_80355F8 -sub_80355F8: @ 80355F8 - ldr r2, =gUnknown_082FF1C8 - lsls r0, 2 - adds r1, r0 - adds r1, r2 - ldrb r0, [r1] - bx lr - .pool - thumb_func_end sub_80355F8 - - thumb_func_start sub_8035608 -sub_8035608: @ 8035608 - push {lr} - bl ResetSpriteData - ldr r0, =gUnknown_0831AC88 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - ldr r0, =sub_8035648 - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8035608 - - thumb_func_start sub_8035648 -sub_8035648: @ 8035648 - push {lr} - bl AnimateSprites - bl BuildOamBuffer - pop {r0} - bx r0 - thumb_func_end sub_8035648 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/script_pokemon_util_80F87D8.s b/asm/script_pokemon_util_80F87D8.s index 80c80c323..b7388b41b 100644 --- a/asm/script_pokemon_util_80F87D8.s +++ b/asm/script_pokemon_util_80F87D8.s @@ -390,7 +390,7 @@ _080F8AB6: thumb_func_start sub_80F8ACC sub_80F8ACC: @ 80F8ACC push {lr} - ldr r0, =CB2_ReturnToFieldContinueScript + ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic bl SetMainCallback2 pop {r0} bx r0 @@ -505,10 +505,10 @@ _080F8BBA: ldr r2, [r1] ldrb r1, [r2, 0x5] ldrb r2, [r2, 0x4] - bl GetFieldObjectIdByLocalIdAndMap + bl GetEventObjectIdByLocalIdAndMap lsls r0, 24 lsrs r0, 24 - ldr r2, =gMapObjects + ldr r2, =gEventObjects lsls r1, r0, 3 adds r1, r0 lsls r1, 2 @@ -534,12 +534,12 @@ _080F8BBA: cmp r0, 0 bne _080F8C2C lsrs r1, r4, 16 - ldr r0, =gFieldObjectPalette33 + ldr r0, =gEventObjectPalette33 b _080F8C42 .pool _080F8C2C: lsrs r1, r4, 16 - ldr r0, =gFieldObjectPalette34 + ldr r0, =gEventObjectPalette34 b _080F8C42 .pool _080F8C38: @@ -547,7 +547,7 @@ _080F8C38: cmp r0, 0 bne _080F8C50 lsrs r1, r4, 16 - ldr r0, =gFieldObjectPalette8 + ldr r0, =gEventObjectPalette8 _080F8C42: movs r2, 0x20 bl LoadPalette @@ -555,7 +555,7 @@ _080F8C42: .pool _080F8C50: lsrs r1, r4, 16 - ldr r0, =gFieldObjectPalette17 + ldr r0, =gEventObjectPalette17 movs r2, 0x20 bl LoadPalette _080F8C5A: @@ -737,8 +737,8 @@ _080F8DD8: bl LoadCompressedObjectPalette adds r0, r6, 0 movs r1, 0x1 - bl sub_806A068 - ldr r0, =gUnknown_0202499C + bl SetMultiuseSpriteTemplateToPokemon + ldr r0, =gMultiuseSpriteTemplate ldrh r1, [r4, 0x4] strh r1, [r0, 0x2] mov r1, r9 @@ -1559,7 +1559,7 @@ _080F9478: movs r0, 0x1 strh r0, [r1] _080F947E: - ldr r0, =CB2_ReturnToFieldContinueScript + ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic bl SetMainCallback2 pop {r0} bx r0 @@ -1599,7 +1599,7 @@ _080F94D0: movs r0, 0x1 strh r0, [r1] _080F94D6: - ldr r0, =CB2_ReturnToFieldContinueScript + ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic bl SetMainCallback2 pop {r0} bx r0 diff --git a/asm/shop.s b/asm/shop.s index a09d05323..1412fef22 100644 --- a/asm/shop.s +++ b/asm/shop.s @@ -877,7 +877,7 @@ BuyMenuAddScrollIndicatorArrows: @ 80E01C8 movs r1, 0xAC movs r2, 0xC movs r3, 0x94 - bl AddScrollIndicatorArrowPairParametrized + bl AddScrollIndicatorArrowPairParameterized ldr r1, [r5] adds r1, r4 strb r0, [r1] @@ -1157,11 +1157,11 @@ BuyMenuInitWindows: @ 80E0468 movs r0, 0 movs r1, 0x1 movs r2, 0xD0 - bl sub_809882C + bl LoadUserWindowBorderGfx movs r0, 0 movs r1, 0xA movs r2, 0xE0 - bl copy_textbox_border_tile_patterns_to_vram + bl LoadMessageBoxGfx movs r0, 0 bl PutWindowTilemap movs r0, 0x1 @@ -1277,8 +1277,8 @@ BuyMenuDrawGraphics: @ 80E0524 @ void BuyMenuDrawMapGraphics() BuyMenuDrawMapGraphics: @ 80E0570 push {lr} - bl BuyMenuCollectFieldObjectData - bl BuyMenuDrawFieldObjects + bl BuyMenuCollectEventObjectData + bl BuyMenuDrawEventObjects bl BuyMenuDrawMapBg pop {r0} bx r0 @@ -1525,9 +1525,9 @@ BuyMenuDrawMapMetatileLayer: @ 80E0734 bx lr thumb_func_end BuyMenuDrawMapMetatileLayer - thumb_func_start BuyMenuCollectFieldObjectData -@ void BuyMenuCollectFieldObjectData() -BuyMenuCollectFieldObjectData: @ 80E075C + thumb_func_start BuyMenuCollectEventObjectData +@ void BuyMenuCollectEventObjectData() +BuyMenuCollectEventObjectData: @ 80E075C push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -1584,7 +1584,7 @@ _080E07AA: lsls r1, 16 asrs r1, 16 str r3, [sp, 0x10] - bl GetFieldObjectIdByXY + bl GetEventObjectIdByXY lsls r0, 24 lsrs r6, r0, 24 ldr r3, [sp, 0x10] @@ -1633,7 +1633,7 @@ _080E07AA: lsrs r0, 24 mov r1, r12 strh r0, [r1] - ldr r1, =gMapObjects + ldr r1, =gEventObjects lsls r0, r6, 3 adds r0, r6 lsls r0, 2 @@ -1716,11 +1716,11 @@ _080E08DA: pop {r0} bx r0 .pool - thumb_func_end BuyMenuCollectFieldObjectData + thumb_func_end BuyMenuCollectEventObjectData - thumb_func_start BuyMenuDrawFieldObjects -@ void BuyMenuDrawFieldObjects() -BuyMenuDrawFieldObjects: @ 80E08F0 + thumb_func_start BuyMenuDrawEventObjects +@ void BuyMenuDrawEventObjects() +BuyMenuDrawEventObjects: @ 80E08F0 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -1730,7 +1730,7 @@ BuyMenuDrawFieldObjects: @ 80E08F0 movs r7, 0 ldr r0, =gUnknown_02039F70 mov r8, r0 - ldr r1, =gMapObjects + ldr r1, =gEventObjects mov r10, r1 ldr r2, =gSprites mov r9, r2 @@ -1753,7 +1753,7 @@ _080E090A: lsls r0, 2 add r0, r10 ldrb r0, [r0, 0x5] - bl GetFieldObjectGraphicsInfo + bl GetEventObjectGraphicsInfo mov r4, r8 ldr r3, [r4] ldr r2, =0x00002010 @@ -1792,7 +1792,7 @@ _080E090A: str r0, [sp] adds r0, r4, 0 ldr r1, =SpriteCallbackDummy - bl AddPseudoFieldObject + bl AddPseudoEventObject lsls r0, 24 lsrs r4, r0, 24 adds r6, r4, 0 @@ -1801,7 +1801,7 @@ _080E090A: mov r3, r8 ldr r0, [r3] adds r0, r1 - bl BuyMenuCheckIfFieldObjectOverlapsMenuBg + bl BuyMenuCheckIfEventObjectOverlapsMenuBg lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -1850,10 +1850,10 @@ _080E09D8: pop {r0} bx r0 .pool - thumb_func_end BuyMenuDrawFieldObjects + thumb_func_end BuyMenuDrawEventObjects - thumb_func_start BuyMenuCheckIfFieldObjectOverlapsMenuBg -BuyMenuCheckIfFieldObjectOverlapsMenuBg: @ 80E0A14 + thumb_func_start BuyMenuCheckIfEventObjectOverlapsMenuBg +BuyMenuCheckIfEventObjectOverlapsMenuBg: @ 80E0A14 push {r4,lr} adds r4, r0, 0 movs r1, 0x2 @@ -1877,7 +1877,7 @@ _080E0A3A: pop {r4} pop {r1} bx r1 - thumb_func_end BuyMenuCheckIfFieldObjectOverlapsMenuBg + thumb_func_end BuyMenuCheckIfEventObjectOverlapsMenuBg thumb_func_start BuyMenuCopyMenuBgToBg1TilemapBuffer @ void BuyMenuCopyMenuBgToBg1TilemapBuffer() diff --git a/asm/slot_machine.s b/asm/slot_machine.s index fc475c2e3..4f76d1b69 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -634,12 +634,12 @@ sub_812AA48: @ 812AA48 lsls r1, 2 movs r0, 0 movs r2, 0xF0 - bl copy_textbox_border_tile_patterns_to_vram + bl LoadMessageBoxGfx movs r1, 0x85 lsls r1, 2 movs r0, 0 movs r2, 0xE0 - bl sub_809882C + bl LoadUserWindowBorderGfx movs r0, 0 bl PutWindowTilemap pop {r0} diff --git a/asm/trade.s b/asm/trade.s index b96fb8ca9..911b56aec 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -241,11 +241,11 @@ _08077310: movs r0, 0 movs r1, 0x14 movs r2, 0xC0 - bl box_border_load_tiles_and_pal + bl LoadUserWindowBorderGfx_ movs r0, 0x2 movs r1, 0x1 movs r2, 0xE0 - bl sub_809882C + bl LoadUserWindowBorderGfx bl LoadMonIconPalettes ldr r2, =gUnknown_0203229C ldr r0, [r2] @@ -7174,8 +7174,8 @@ _0807ADE0: bl GetMonSpritePalStruct ldrh r0, [r0, 0x4] adds r1, r4, 0 - bl sub_806A068 - ldr r0, =gUnknown_0202499C + bl SetMultiuseSpriteTemplateToPokemon + ldr r0, =gMultiuseSpriteTemplate movs r1, 0x78 movs r2, 0x3C movs r3, 0x6 |