diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/battle_anim_80A5C6C.s | 4 | ||||
-rw-r--r-- | asm/battle_anim_sound_tasks.s | 1006 | ||||
-rw-r--r-- | asm/battle_frontier_1.s | 14 | ||||
-rw-r--r-- | asm/dewford_trend.s | 975 | ||||
-rw-r--r-- | asm/field_camera.s | 1153 | ||||
-rw-r--r-- | asm/field_player_avatar.s | 2 | ||||
-rw-r--r-- | asm/map_name_popup.s | 570 | ||||
-rw-r--r-- | asm/map_obj_lock.s | 474 | ||||
-rw-r--r-- | asm/mon_markings.s | 946 | ||||
-rw-r--r-- | asm/party_menu.s | 6 | ||||
-rw-r--r-- | asm/pokemon_icon.s | 822 | ||||
-rw-r--r-- | asm/pokemon_storage_system.s | 2 | ||||
-rw-r--r-- | asm/rom6.s | 452 | ||||
-rw-r--r-- | asm/rom_8011DC0.s | 4 | ||||
-rw-r--r-- | asm/rotating_gate.s | 1152 | ||||
-rw-r--r-- | asm/script_movement.s | 577 | ||||
-rw-r--r-- | asm/trade.s | 2 |
17 files changed, 17 insertions, 8144 deletions
diff --git a/asm/battle_anim_80A5C6C.s b/asm/battle_anim_80A5C6C.s index a3be18667..44ba33c08 100644 --- a/asm/battle_anim_80A5C6C.s +++ b/asm/battle_anim_80A5C6C.s @@ -554,7 +554,7 @@ _080A60E8: ldrh r0, [r1, 0x2] cmp r0, 0 bne _080A610C - ldr r1, =gAnimSpeciesByBanks + ldr r1, =gAnimBattlerSpecies lsls r0, r4, 1 adds r0, r1 ldrh r1, [r0] @@ -1224,7 +1224,7 @@ _080A65D8: bl sub_80A62DC _080A65DE: adds r0, r4, 0 - bl sub_80D30DC + bl UpdateMonIconFrame pop {r4} pop {r0} bx r0 diff --git a/asm/battle_anim_sound_tasks.s b/asm/battle_anim_sound_tasks.s deleted file mode 100644 index def934fab..000000000 --- a/asm/battle_anim_sound_tasks.s +++ /dev/null @@ -1,1006 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8158B30 -sub_8158B30: @ 8158B30 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gTasks - lsls r6, r0, 2 - adds r6, r0 - lsls r6, 3 - adds r6, r1 - ldr r1, =gBattleAnimArgs - ldrh r0, [r1] - strh r0, [r6, 0x8] - ldrh r0, [r1, 0x2] - strh r0, [r6, 0xA] - movs r0, 0x40 - negs r0, r0 - bl BattleAnimAdjustPanning - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x3F - bl BattleAnimAdjustPanning - adds r5, r0, 0 - lsls r4, 24 - asrs r4, 24 - lsls r5, 24 - asrs r5, 24 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x2 - bl CalculatePanIncrement - strh r4, [r6, 0xC] - strh r5, [r6, 0xE] - lsls r0, 24 - asrs r0, 24 - strh r0, [r6, 0x10] - movs r0, 0xA - strh r0, [r6, 0x1C] - ldr r0, =sub_8158B98 - str r0, [r6] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8158B30 - - thumb_func_start sub_8158B98 -sub_8158B98: @ 8158B98 - push {r4-r6,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 r5, [r4, 0xC] - ldrb r6, [r4, 0x10] - ldrh r0, [r4, 0x1E] - adds r0, 0x1 - movs r1, 0 - strh r0, [r4, 0x1E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x6F - bne _08158BD0 - movs r0, 0x5 - strh r0, [r4, 0x1C] - strh r1, [r4, 0x1E] - ldr r0, =sub_8158C04 - str r0, [r4] - b _08158BFE - .pool -_08158BD0: - ldrh r0, [r4, 0x1C] - adds r0, 0x1 - strh r0, [r4, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xB - bne _08158BEA - strh r1, [r4, 0x1C] - ldrh r0, [r4, 0x8] - lsls r1, r5, 24 - asrs r1, 24 - bl PlaySE12WithPanning -_08158BEA: - lsls r1, r6, 24 - asrs r1, 24 - lsls r0, r5, 16 - asrs r0, 16 - adds r0, r1 - lsls r0, 16 - asrs r0, 16 - bl sub_80A52EC - strh r0, [r4, 0xC] -_08158BFE: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8158B98 - - thumb_func_start sub_8158C04 -sub_8158C04: @ 8158C04 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - ldrh r0, [r4, 0x1C] - adds r0, 0x1 - strh r0, [r4, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x6 - bne _08158C4C - movs r0, 0 - strh r0, [r4, 0x1C] - movs r0, 0x3F - bl BattleAnimAdjustPanning - adds r1, r0, 0 - ldrh r0, [r4, 0xA] - lsls r1, 24 - asrs r1, 24 - bl PlaySE12WithPanning - ldrh r0, [r4, 0x1E] - adds r0, 0x1 - strh r0, [r4, 0x1E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - bne _08158C4C - adds r0, r5, 0 - bl DestroyAnimSoundTask -_08158C4C: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8158C04 - - thumb_func_start sub_8158C58 -sub_8158C58: @ 8158C58 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r8, r0 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, =gBattleAnimArgs - ldrh r1, [r0] - str r1, [sp] - ldrb r5, [r0, 0x4] - ldrb r6, [r0, 0x6] - ldrb r3, [r0, 0x8] - mov r10, r3 - ldrb r7, [r0, 0xA] - ldrb r1, [r0, 0xC] - mov r9, r1 - ldrb r0, [r0, 0x2] - lsls r0, 24 - asrs r0, 24 - bl BattleAnimAdjustPanning - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - asrs r5, 24 - adds r0, r5, 0 - bl BattleAnimAdjustPanning - adds r5, r0, 0 - lsls r4, 24 - asrs r4, 24 - lsls r5, 24 - asrs r5, 24 - lsls r6, 24 - asrs r6, 24 - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - bl CalculatePanIncrement - ldr r2, =gTasks - mov r3, r8 - lsls r1, r3, 2 - add r1, r8 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - mov r6, sp - ldrh r6, [r6] - strh r6, [r1, 0x8] - strh r4, [r1, 0xA] - strh r5, [r1, 0xC] - lsls r0, 24 - asrs r0, 24 - strh r0, [r1, 0xE] - mov r0, r10 - strh r0, [r1, 0x10] - strh r7, [r1, 0x12] - mov r3, r9 - strh r3, [r1, 0x14] - strh r2, [r1, 0x1C] - strh r4, [r1, 0x1E] - strh r3, [r1, 0x20] - ldr r2, =sub_8158D08 - str r2, [r1] - mov r0, r8 - bl _call_via_r2 - 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_8158C58 - - thumb_func_start sub_8158D08 -sub_8158D08: @ 8158D08 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - ldrh r0, [r4, 0x20] - adds r1, r0, 0x1 - strh r1, [r4, 0x20] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x14 - ldrsh r1, [r4, r2] - cmp r0, r1 - bne _08158D50 - movs r0, 0 - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x8] - movs r1, 0x1E - ldrsb r1, [r4, r1] - bl PlaySE12WithPanning - ldrh r0, [r4, 0x10] - subs r0, 0x1 - strh r0, [r4, 0x10] - lsls r0, 16 - cmp r0, 0 - bne _08158D50 - adds r0, r5, 0 - bl DestroyAnimSoundTask - b _08158D82 - .pool -_08158D50: - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - ldrh r0, [r4, 0x1C] - adds r1, r0, 0x1 - strh r1, [r4, 0x1C] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x12 - ldrsh r1, [r4, r2] - cmp r0, r1 - bne _08158D82 - movs r0, 0 - strh r0, [r4, 0x1C] - ldrh r0, [r4, 0xE] - ldrh r1, [r4, 0x1E] - adds r0, r1 - strh r0, [r4, 0x1E] - movs r2, 0x1E - ldrsh r0, [r4, r2] - bl sub_80A52EC - strh r0, [r4, 0x1E] -_08158D82: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8158D08 - - thumb_func_start sub_8158D8C -sub_8158D8C: @ 8158D8C - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - movs r0, 0x40 - negs r0, r0 - bl BattleAnimAdjustPanning - lsls r0, 24 - lsrs r6, r0, 24 - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _08158DD0 - ldr r0, =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08158DC8 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x18] - ldrh r4, [r0] - b _08158E76 - .pool -_08158DC8: - adds r0, r5, 0 - bl DestroyAnimVisualTask - b _08158E76 -_08158DD0: - ldr r0, =gBattleAnimArgs - movs r2, 0 - ldrsh r1, [r0, r2] - adds r2, r0, 0 - cmp r1, 0 - bne _08158DEC - ldr r0, =gBattleAnimAttacker - ldrb r4, [r0] - b _08158E12 - .pool -_08158DEC: - cmp r1, 0x1 - bne _08158DFC - ldr r0, =gBattleAnimTarget - ldrb r4, [r0] - b _08158E12 - .pool -_08158DFC: - cmp r1, 0x2 - bne _08158E08 - ldr r0, =gBattleAnimAttacker - b _08158E0A - .pool -_08158E08: - ldr r0, =gBattleAnimTarget -_08158E0A: - ldrb r1, [r0] - movs r0, 0x2 - adds r4, r0, 0 - eors r4, r1 -_08158E12: - movs r1, 0 - ldrsh r0, [r2, r1] - cmp r0, 0x1 - beq _08158E1E - cmp r0, 0x3 - bne _08158E38 -_08158E1E: - adds r0, r4, 0 - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - bne _08158E38 - adds r0, r5, 0 - bl DestroyAnimVisualTask - b _08158E8C - .pool -_08158E38: - adds r0, r4, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08158E5C - ldr r1, =gBattlerPartyIndexes - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gEnemyParty - b _08158E6A - .pool -_08158E5C: - ldr r1, =gBattlerPartyIndexes - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty -_08158E6A: - adds r0, r1 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r4, r0, 16 -_08158E76: - cmp r4, 0 - beq _08158E86 - lsls r1, r6, 24 - asrs r1, 24 - adds r0, r4, 0 - movs r2, 0x3 - bl PlayCry3 -_08158E86: - adds r0, r5, 0 - bl DestroyAnimVisualTask -_08158E8C: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8158D8C - - thumb_func_start sub_8158E9C -sub_8158E9C: @ 8158E9C - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - movs r4, 0 - movs r0, 0x40 - negs r0, r0 - bl BattleAnimAdjustPanning - lsls r0, 24 - lsrs r5, r0, 24 - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _08158EE0 - ldr r0, =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08158ED8 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x18] - ldrh r4, [r0] - b _08158F86 - .pool -_08158ED8: - adds r0, r6, 0 - bl DestroyAnimVisualTask - b _08158F86 -_08158EE0: - ldr r0, =gBattleAnimArgs - movs r2, 0 - ldrsh r1, [r0, r2] - adds r2, r0, 0 - cmp r1, 0 - bne _08158EFC - ldr r0, =gBattleAnimAttacker - ldrb r4, [r0] - b _08158F22 - .pool -_08158EFC: - cmp r1, 0x1 - bne _08158F0C - ldr r0, =gBattleAnimTarget - ldrb r4, [r0] - b _08158F22 - .pool -_08158F0C: - cmp r1, 0x2 - bne _08158F18 - ldr r0, =gBattleAnimAttacker - b _08158F1A - .pool -_08158F18: - ldr r0, =gBattleAnimTarget -_08158F1A: - ldrb r1, [r0] - movs r0, 0x2 - adds r4, r0, 0 - eors r4, r1 -_08158F22: - movs r1, 0 - ldrsh r0, [r2, r1] - cmp r0, 0x1 - beq _08158F2E - cmp r0, 0x3 - bne _08158F48 -_08158F2E: - adds r0, r4, 0 - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - bne _08158F48 - adds r0, r6, 0 - bl DestroyAnimVisualTask - b _08158FEE - .pool -_08158F48: - adds r0, r4, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08158F6C - ldr r1, =gBattlerPartyIndexes - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gEnemyParty - b _08158F7A - .pool -_08158F6C: - ldr r1, =gBattlerPartyIndexes - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty -_08158F7A: - adds r0, r1 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r4, r0, 16 -_08158F86: - ldr r1, =gTasks - lsls r2, r6, 2 - adds r0, r2, r6 - lsls r0, 3 - adds r0, r1 - ldr r3, =gBattleAnimArgs - ldrh r1, [r3, 0x2] - strh r1, [r0, 0x8] - strh r4, [r0, 0xA] - lsls r1, r5, 24 - asrs r1, 24 - strh r1, [r0, 0xC] - adds r5, r2, 0 - cmp r4, 0 - beq _08158FE8 - movs r2, 0x2 - ldrsh r0, [r3, r2] - cmp r0, 0xFF - bne _08158FC8 - adds r0, r4, 0 - movs r2, 0x9 - bl PlayCry3 - b _08158FD0 - .pool -_08158FC8: - adds r0, r4, 0 - movs r2, 0x7 - bl PlayCry3 -_08158FD0: - ldr r0, =gTasks - adds r1, r5, r6 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_8158FF4 - str r0, [r1] - b _08158FEE - .pool -_08158FE8: - adds r0, r6, 0 - bl DestroyAnimVisualTask -_08158FEE: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8158E9C - - thumb_func_start sub_8158FF4 -sub_8158FF4: @ 8158FF4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r4, r0, 24 - mov r9, r4 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r1 - ldrh r6, [r1, 0xA] - mov r8, r6 - ldrb r5, [r1, 0xC] - adds r7, r5, 0 - ldrh r2, [r1, 0x1A] - movs r3, 0x1A - ldrsh r0, [r1, r3] - cmp r0, 0x1 - bgt _08159028 - adds r0, r2, 0x1 - strh r0, [r1, 0x1A] - b _0815906A - .pool -_08159028: - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0xFF - bne _0815904E - bl IsCryPlaying - lsls r0, 24 - cmp r0, 0 - bne _0815906A - lsls r1, r5, 24 - asrs r1, 24 - adds r0, r6, 0 - movs r2, 0xA - bl PlayCry3 - adds r0, r4, 0 - bl DestroyAnimVisualTask - b _0815906A -_0815904E: - bl IsCryPlaying - lsls r0, 24 - cmp r0, 0 - bne _0815906A - lsls r1, r7, 24 - asrs r1, 24 - mov r0, r8 - movs r2, 0x8 - bl PlayCry3 - mov r0, r9 - bl DestroyAnimVisualTask -_0815906A: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8158FF4 - - thumb_func_start sub_8159078 -sub_8159078: @ 8159078 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r1 - ldrh r2, [r1, 0x1A] - movs r3, 0x1A - ldrsh r0, [r1, r3] - cmp r0, 0x1 - bgt _081590A0 - adds r0, r2, 0x1 - strh r0, [r1, 0x1A] - b _081590B0 - .pool -_081590A0: - bl IsCryPlaying - lsls r0, 24 - cmp r0, 0 - bne _081590B0 - adds r0, r4, 0 - bl DestroyAnimVisualTask -_081590B0: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8159078 - - thumb_func_start sub_81590B8 -sub_81590B8: @ 81590B8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =gBattleAnimArgs - ldrh r1, [r1] - strh r1, [r0, 0x1C] - movs r0, 0x40 - negs r0, r0 - bl BattleAnimAdjustPanning - lsls r0, 24 - lsrs r5, r0, 24 - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _081590F8 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x18] - b _08159102 - .pool -_081590F8: - ldr r1, =gAnimSpeciesByBanks - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 -_08159102: - ldrh r2, [r0] - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - strh r2, [r1, 0xA] - lsls r0, r5, 24 - asrs r0, 24 - strh r0, [r1, 0xC] - cmp r2, 0 - beq _08159130 - ldr r0, =sub_815913C - str r0, [r1] - b _08159136 - .pool -_08159130: - adds r0, r4, 0 - bl DestroyAnimVisualTask -_08159136: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81590B8 - - thumb_func_start sub_815913C -sub_815913C: @ 815913C - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrh r6, [r0, 0xA] - mov r8, r6 - ldrb r3, [r0, 0xC] - adds r5, r3, 0 - movs r7, 0x1A - ldrsh r2, [r0, r7] - mov r12, r1 - cmp r2, 0x5 - bhi _081591DC - lsls r0, r2, 2 - ldr r1, =_08159174 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08159174: - .4byte _081591C2 - .4byte _081591A8 - .4byte _0815918C - .4byte _081591A8 - .4byte _081591A8 - .4byte _081591B8 -_0815918C: - lsls r1, r5, 24 - asrs r1, 24 - mov r0, r8 - movs r2, 0x4 - bl PlayCry6 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - b _081591B0 - .pool -_081591A8: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - add r0, r12 -_081591B0: - ldrh r1, [r0, 0x1A] - adds r1, 0x1 - strh r1, [r0, 0x1A] - b _08159204 -_081591B8: - bl IsCryPlaying - lsls r0, 24 - cmp r0, 0 - bne _08159204 -_081591C2: - bl StopCryAndClearCrySongs - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x1A] - adds r0, 0x1 - strh r0, [r1, 0x1A] - b _08159204 - .pool -_081591DC: - movs r1, 0x1C - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _081591F2 - lsls r1, r3, 24 - asrs r1, 24 - adds r0, r6, 0 - movs r2, 0x6 - bl PlayCry6 - b _081591FE -_081591F2: - lsls r1, r5, 24 - asrs r1, 24 - mov r0, r8 - movs r2, 0x6 - bl PlayCry3 -_081591FE: - adds r0, r4, 0 - bl DestroyAnimVisualTask -_08159204: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_815913C - - thumb_func_start sub_8159210 -sub_8159210: @ 8159210 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gBattleAnimArgs - ldrh r5, [r0] - ldrb r0, [r0, 0x2] - lsls r0, 24 - asrs r0, 24 - bl BattleAnimAdjustPanning - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - adds r0, r5, 0 - bl PlaySE1WithPanning - adds r0, r4, 0 - bl DestroyAnimVisualTask - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8159210 - - thumb_func_start sub_8159244 -sub_8159244: @ 8159244 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gBattleAnimArgs - ldrh r5, [r0] - ldrb r0, [r0, 0x2] - lsls r0, 24 - asrs r0, 24 - bl BattleAnimAdjustPanning - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - adds r0, r5, 0 - bl PlaySE2WithPanning - adds r0, r4, 0 - bl DestroyAnimVisualTask - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8159244 - - thumb_func_start sub_8159278 -sub_8159278: @ 8159278 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - mov r8, r0 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, =gBattleAnimArgs - ldrb r5, [r0, 0x2] - ldrb r6, [r0, 0x4] - ldrh r1, [r0, 0x6] - mov r9, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - bl BattleAnimAdjustPanning - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - asrs r5, 24 - adds r0, r5, 0 - bl BattleAnimAdjustPanning - adds r5, r0, 0 - lsls r4, 24 - asrs r4, 24 - lsls r5, 24 - asrs r5, 24 - lsls r6, 24 - asrs r6, 24 - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - bl CalculatePanIncrement - ldr r2, =gTasks - mov r3, r8 - lsls r1, r3, 2 - add r1, r8 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - strh r4, [r1, 0xA] - strh r5, [r1, 0xC] - lsls r0, 24 - asrs r0, 24 - strh r0, [r1, 0xE] - mov r0, r9 - strh r0, [r1, 0x12] - strh r2, [r1, 0x1C] - strh r4, [r1, 0x1E] - ldr r2, =sub_8159308 - str r2, [r1] - mov r0, r8 - bl _call_via_r2 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8159278 - - thumb_func_start sub_8159308 -sub_8159308: @ 8159308 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - ldrh r2, [r4, 0xE] - ldrh r0, [r4, 0x1C] - adds r1, r0, 0x1 - strh r1, [r4, 0x1C] - lsls r0, 16 - asrs r0, 16 - movs r3, 0x12 - ldrsh r1, [r4, r3] - cmp r0, r1 - bne _08159342 - movs r0, 0 - strh r0, [r4, 0x1C] - ldrh r1, [r4, 0x1E] - adds r0, r2, r1 - strh r0, [r4, 0x1E] - movs r2, 0x1E - ldrsh r0, [r4, r2] - bl sub_80A52EC - strh r0, [r4, 0x1E] -_08159342: - ldr r1, =gUnknown_02038440 - ldrh r0, [r4, 0x1E] - strb r0, [r1] - movs r3, 0x1E - ldrsh r1, [r4, r3] - movs r2, 0xC - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _0815935A - adds r0, r5, 0 - bl DestroyAnimVisualTask -_0815935A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8159308 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_frontier_1.s b/asm/battle_frontier_1.s index e72b8b156..729140801 100644 --- a/asm/battle_frontier_1.s +++ b/asm/battle_frontier_1.s @@ -3326,7 +3326,7 @@ _0819064A: adds r6, 0x1 cmp r6, 0xF ble _0819064A - bl sub_80D2F04 + bl LoadMonIconPalettes ldr r0, =sub_8190CD4 movs r1, 0 bl CreateTask @@ -3695,7 +3695,7 @@ sub_8190938: @ 8190938 cmp r0, 0 bne _0819094A adds r0, r1, 0 - bl sub_80D30DC + bl UpdateMonIconFrame _0819094A: pop {r0} bx r0 @@ -3710,7 +3710,7 @@ sub_8190950: @ 8190950 cmp r0, 0 bne _08190962 adds r0, r4, 0 - bl sub_80D30DC + bl UpdateMonIconFrame _08190962: ldrh r0, [r4, 0x22] adds r1, r0, 0x4 @@ -3774,7 +3774,7 @@ sub_81909CC: @ 81909CC cmp r0, 0 bne _081909DE adds r0, r4, 0 - bl sub_80D30DC + bl UpdateMonIconFrame _081909DE: ldrh r0, [r4, 0x22] subs r1, r0, 0x4 @@ -3838,7 +3838,7 @@ sub_8190A48: @ 8190A48 cmp r0, 0 bne _08190A5A adds r0, r4, 0 - bl sub_80D30DC + bl UpdateMonIconFrame _08190A5A: ldrh r0, [r4, 0x20] adds r1, r0, 0x4 @@ -3902,7 +3902,7 @@ sub_8190AC4: @ 8190AC4 cmp r0, 0 bne _08190AD6 adds r0, r4, 0 - bl sub_80D30DC + bl UpdateMonIconFrame _08190AD6: ldrh r0, [r4, 0x20] subs r1, r0, 0x4 @@ -6471,7 +6471,7 @@ _0819218E: adds r6, 0x1 cmp r6, 0xF ble _08192158 - bl sub_80D2F9C + bl FreeMonIconPalettes ldr r4, =gUnknown_0203CD78 ldr r0, [r4] bl Free diff --git a/asm/dewford_trend.s b/asm/dewford_trend.s deleted file mode 100644 index 7d9d67902..000000000 --- a/asm/dewford_trend.s +++ /dev/null @@ -1,975 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start InitDewfordTrend -InitDewfordTrend: @ 81224D4 - push {r4-r7,lr} - movs r6, 0 - ldr r5, =gSaveBlock1Ptr -_081224DA: - movs r0, 0xA - bl sub_811EE38 - ldr r1, [r5] - lsls r4, r6, 3 - adds r1, r4 - ldr r2, =0x00002e6c - adds r1, r2 - strh r0, [r1] - bl Random - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - beq _08122514 - movs r0, 0xC - bl sub_811EE38 - ldr r1, [r5] - adds r1, r4 - ldr r7, =0x00002e6e - adds r1, r7 - b _08122522 - .pool -_08122514: - movs r0, 0xD - bl sub_811EE38 - ldr r1, [r5] - adds r1, r4 - ldr r2, =0x00002e6e - adds r1, r2 -_08122522: - strh r0, [r1] - bl Random - ldr r3, [r5] - adds r3, r4 - movs r2, 0x1 - ands r2, r0 - ldr r7, =0x00002e69 - adds r3, r7 - lsls r2, 6 - ldrb r0, [r3] - movs r7, 0x41 - negs r7, r7 - adds r1, r7, 0 - ands r0, r1 - orrs r0, r2 - strb r0, [r3] - ldr r0, =0x00002e68 - adds r1, r4, r0 - ldr r0, [r5] - adds r0, r1 - bl sub_8122B28 - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x4 - bls _081224DA - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00002e68 - adds r0, r1 - movs r1, 0x5 - movs r2, 0 - bl sub_8122804 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end InitDewfordTrend - - thumb_func_start UpdateDewfordTrendPerDay -UpdateDewfordTrendPerDay: @ 8122580 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - bne _08122596 - b _081226BE -_08122596: - lsls r0, r1, 2 - adds r0, r1 - str r0, [sp] - movs r0, 0 - mov r10, r0 - movs r1, 0x7F - mov r9, r1 - movs r2, 0x80 - negs r2, r2 - mov r8, r2 -_081225AA: - ldr r2, [sp] - mov r3, r10 - lsls r0, r3, 3 - ldr r4, =0x00002e68 - adds r0, r4 - ldr r3, =gSaveBlock1Ptr - ldr r1, [r3] - adds r5, r1, r0 - ldrb r6, [r5, 0x1] - movs r0, 0x40 - ands r0, r6 - cmp r0, 0 - bne _08122608 - ldrb r4, [r5] - lsls r3, r4, 25 - lsrs r1, r3, 25 - lsls r0, r2, 16 - lsrs r0, 16 - cmp r1, r0 - bcc _081225F8 - adds r0, r1, 0 - subs r0, r2 - mov r1, r9 - ands r0, r1 - mov r1, r8 - ands r1, r4 - orrs r1, r0 - strb r1, [r5] - movs r0, 0x7F - ands r1, r0 - cmp r1, 0 - bne _0812269E - movs r0, 0x40 - orrs r0, r6 - b _0812269C - .pool -_081225F8: - lsrs r0, r3, 25 - subs r2, r0 - mov r0, r8 - ands r0, r4 - strb r0, [r5] - movs r0, 0x40 - orrs r0, r6 - strb r0, [r5, 0x1] -_08122608: - ldrb r7, [r5] - lsls r0, r7, 25 - lsrs r0, 25 - adds r4, r0, r2 - ldrh r0, [r5] - lsls r6, r0, 18 - lsls r0, r4, 16 - lsrs r0, 16 - lsrs r1, r6, 25 - cmp r0, r1 - bls _08122678 - adds r0, r4, 0 - bl __umodsi3 - adds r3, r0, 0 - lsrs r1, r6, 25 - adds r0, r4, 0 - str r3, [sp, 0x4] - bl __udivsi3 - adds r4, r0, 0 - movs r0, 0x1 - eors r4, r0 - ands r4, r0 - lsls r2, r4, 6 - ldrb r0, [r5, 0x1] - movs r4, 0x41 - negs r4, r4 - adds r1, r4, 0 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, 0x1] - movs r1, 0x40 - ands r0, r1 - ldr r3, [sp, 0x4] - cmp r0, 0 - beq _08122662 - adds r1, r3, 0 - mov r0, r9 - ands r1, r0 - mov r0, r8 - ands r0, r7 - orrs r0, r1 - strb r0, [r5] - b _0812269E -_08122662: - ldrh r0, [r5] - lsls r0, 18 - lsrs r0, 25 - subs r0, r3 - mov r1, r9 - ands r0, r1 - mov r1, r8 - ands r1, r7 - orrs r1, r0 - strb r1, [r5] - b _0812269E -_08122678: - mov r2, r9 - ands r4, r2 - mov r0, r8 - ands r0, r7 - orrs r0, r4 - strb r0, [r5] - lsls r0, 25 - ldrh r1, [r5] - lsls r1, 18 - lsrs r0, 25 - lsrs r1, 25 - cmp r0, r1 - bne _0812269E - ldrb r0, [r5, 0x1] - movs r3, 0x41 - negs r3, r3 - adds r1, r3, 0 - ands r0, r1 -_0812269C: - strb r0, [r5, 0x1] -_0812269E: - mov r0, r10 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - cmp r0, 0x4 - bhi _081226AE - b _081225AA -_081226AE: - ldr r4, =gSaveBlock1Ptr - ldr r0, [r4] - ldr r1, =0x00002e68 - adds r0, r1 - movs r1, 0x5 - movs r2, 0 - bl sub_8122804 -_081226BE: - 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 UpdateDewfordTrendPerDay - - thumb_func_start sub_81226D8 -sub_81226D8: @ 81226D8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - mov r8, r0 - movs r0, 0 - movs r1, 0 - str r0, [sp] - str r1, [sp, 0x4] - mov r0, r8 - bl sub_8122BB0 - lsls r0, 24 - cmp r0, 0 - beq _081226F8 - b _081227F2 -_081226F8: - ldr r4, =0x00000893 - adds r0, r4, 0 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _08122744 - adds r0, r4, 0 - bl FlagSet - ldr r0, =0x00000894 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _08122744 - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - mov r0, r8 - ldrh r2, [r0] - ldr r3, =0x00002e6c - adds r0, r1, r3 - strh r2, [r0] - mov r2, r8 - ldrh r0, [r2, 0x2] - adds r3, 0x2 - adds r1, r3 - strh r0, [r1] - movs r0, 0x1 - b _081227F4 - .pool -_08122744: - mov r0, r8 - ldrh r1, [r0, 0x2] - lsls r1, 16 - ldrh r0, [r0] - orrs r0, r1 - str r0, [sp, 0x4] - movs r1, 0x80 - lsls r1, 7 - ldr r0, [sp] - orrs r0, r1 - str r0, [sp] - mov r0, sp - bl sub_8122B28 - movs r5, 0 -_08122762: - ldr r6, =gSaveBlock1Ptr - lsls r4, r5, 3 - ldr r1, =0x00002e68 - adds r0, r4, r1 - ldr r1, [r6] - adds r1, r0 - mov r0, sp - movs r2, 0 - bl atk90_changetypestoenemyattacktype - lsls r0, 24 - adds r7, r4, 0 - cmp r0, 0 - beq _081227D4 - movs r2, 0x4 - mov r12, r6 - cmp r2, r5 - bls _081227A6 - ldr r4, =0x00002e68 -_08122788: - ldr r0, [r6] - lsls r3, r2, 3 - adds r0, r4 - adds r3, r0, r3 - subs r2, 0x1 - lsls r1, r2, 3 - adds r0, r1 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [r3] - str r1, [r3, 0x4] - lsls r2, 16 - lsrs r2, 16 - cmp r2, r5 - bhi _08122788 -_081227A6: - mov r3, r12 - ldr r2, [r3] - ldr r0, =0x00002e68 - adds r2, r0 - adds r2, r7 - ldr r0, [sp] - ldr r1, [sp, 0x4] - str r0, [r2] - str r1, [r2, 0x4] - cmp r5, 0x4 - bne _081227C2 - mov r0, r8 - bl sub_80EDC60 -_081227C2: - movs r0, 0 - cmp r5, 0 - bne _081227F4 - movs r0, 0x1 - b _081227F4 - .pool -_081227D4: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x4 - bls _08122762 - ldr r2, [r6] - ldr r1, =0x00002e88 - adds r2, r1 - ldr r0, [sp] - ldr r1, [sp, 0x4] - str r0, [r2] - str r1, [r2, 0x4] - mov r0, r8 - bl sub_80EDC60 -_081227F2: - movs r0, 0 -_081227F4: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81226D8 - - thumb_func_start sub_8122804 -sub_8122804: @ 8122804 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r9, r0 - lsls r1, 16 - lsrs r7, r1, 16 - lsls r2, 24 - lsrs r2, 24 - mov r10, r2 - movs r2, 0 - cmp r2, r7 - bcs _0812286C -_08122820: - adds r1, r2, 0x1 - lsls r0, r1, 16 - lsrs r5, r0, 16 - mov r8, r1 - cmp r5, r7 - bcs _08122862 - lsls r0, r2, 3 - mov r1, r9 - adds r6, r1, r0 -_08122832: - lsls r0, r5, 3 - mov r1, r9 - adds r4, r1, r0 - adds r0, r4, 0 - adds r1, r6, 0 - mov r2, r10 - bl atk90_changetypestoenemyattacktype - lsls r0, 24 - cmp r0, 0 - beq _08122858 - ldr r2, [r4] - ldr r3, [r4, 0x4] - ldr r0, [r6] - ldr r1, [r6, 0x4] - str r0, [r4] - str r1, [r4, 0x4] - str r2, [r6] - str r3, [r6, 0x4] -_08122858: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, r7 - bcc _08122832 -_08122862: - mov r1, r8 - lsls r0, r1, 16 - lsrs r2, r0, 16 - cmp r2, r7 - bcc _08122820 -_0812286C: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8122804 - - thumb_func_start sub_812287C -sub_812287C: @ 812287C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r8, r0 - adds r6, r1, 0 - movs r4, 0x80 - lsls r4, 1 - adds r0, r4, 0 - bl Alloc - mov r10, r0 - cmp r0, 0 - beq _08122980 - adds r0, r4, 0 - bl Alloc - adds r7, r0, 0 - cmp r7, 0 - bne _081228B0 - mov r0, r10 - bl Free - b _08122980 -_081228B0: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - movs r5, 0 - cmp r5, r9 - bcs _081228DE -_081228C0: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - add r0, r10 - adds r1, r5, 0 - muls r1, r6 - add r1, r8 - movs r2, 0x28 - bl memcpy - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, r9 - bcc _081228C0 -_081228DE: - mov r4, r10 - mov r8, r7 - movs r3, 0 - movs r5, 0 - cmp r5, r9 - bcs _08122946 -_081228EA: - movs r6, 0 -_081228EC: - adds r0, r7, 0 - adds r1, r4, 0 - adds r2, r3, 0 - str r3, [sp] - bl sub_8122C1C - lsls r0, 16 - asrs r0, 16 - ldr r3, [sp] - cmp r0, 0 - bge _08122918 - ldr r0, [r4] - ldr r1, [r4, 0x4] - mov r2, r8 - adds r2, 0x8 - mov r8, r2 - subs r2, 0x8 - stm r2!, {r0,r1} - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - b _08122930 -_08122918: - lsls r0, 3 - adds r2, r7, r0 - ldrb r1, [r2] - lsls r1, 25 - ldrb r0, [r4] - lsls r0, 25 - cmp r1, r0 - bcs _08122930 - ldr r0, [r4] - ldr r1, [r4, 0x4] - str r0, [r2] - str r1, [r2, 0x4] -_08122930: - adds r4, 0x8 - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x4 - bls _081228EC - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, r9 - bcc _081228EA -_08122946: - adds r0, r7, 0 - adds r1, r3, 0 - movs r2, 0x2 - bl sub_8122804 - adds r4, r7, 0 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00002e68 - adds r1, r0 - mov r8, r1 - movs r5, 0 -_0812295E: - ldm r4!, {r0,r1} - mov r2, r8 - adds r2, 0x8 - mov r8, r2 - subs r2, 0x8 - stm r2!, {r0,r1} - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x4 - bls _0812295E - mov r0, r10 - bl Free - adds r0, r7, 0 - bl Free -_08122980: - 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_812287C - - thumb_func_start sub_8122998 -sub_8122998: @ 8122998 - push {lr} - ldr r2, =gSaveBlock1Ptr - ldr r0, =gSpecialVar_0x8004 - ldrh r1, [r0] - lsls r1, 3 - ldr r0, [r2] - adds r1, r0 - ldr r0, =gStringVar1 - ldr r2, =0x00002e6c - adds r1, r2 - movs r2, 0x2 - movs r3, 0x1 - bl ConvertEasyChatWordsToString - pop {r0} - bx r0 - .pool - thumb_func_end sub_8122998 - - thumb_func_start sub_81229C8 -sub_81229C8: @ 81229C8 - push {r4,lr} - movs r4, 0 - ldr r0, =gSaveBlock1Ptr - ldr r3, [r0] - ldr r1, =0x00002e68 - adds r0, r3, r1 - ldrb r1, [r0] - lsls r1, 25 - lsrs r1, 25 - ldr r2, =0x00002e70 - adds r0, r3, r2 - ldrb r0, [r0] - lsls r0, 25 - lsrs r0, 25 - subs r1, r0 - cmp r1, 0x1 - bgt _08122A0C - ldr r1, =0x00002e69 - adds r0, r3, r1 - ldrb r1, [r0] - movs r2, 0x40 - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - bne _08122A0C - ldr r1, =0x00002e71 - adds r0, r3, r1 - ldrb r1, [r0] - adds r0, r2, 0 - ands r0, r1 - lsls r0, 24 - lsrs r0, 24 - negs r0, r0 - lsrs r4, r0, 31 -_08122A0C: - ldr r0, =gSpecialVar_Result - strh r4, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81229C8 - - thumb_func_start sub_8122A30 -sub_8122A30: @ 8122A30 - ldr r2, =gSpecialVar_Result - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r3, =0x00002e6c - adds r1, r0, r3 - adds r3, 0x2 - adds r0, r3 - ldrh r0, [r0] - ldrh r1, [r1] - adds r0, r1 - movs r1, 0x7 - ands r0, r1 - strh r0, [r2] - bx lr - .pool - thumb_func_end sub_8122A30 - - thumb_func_start atk90_changetypestoenemyattacktype -atk90_changetypestoenemyattacktype: @ 8122A58 - push {r4,r5,lr} - adds r3, r0, 0 - adds r5, r1, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r2, 0 - cmp r2, 0x1 - beq _08122A9E - cmp r2, 0x1 - bgt _08122A72 - cmp r2, 0 - beq _08122A78 - b _08122B1A -_08122A72: - cmp r0, 0x2 - beq _08122ACA - b _08122B1A -_08122A78: - ldrb r0, [r3] - lsls r1, r0, 25 - ldrb r0, [r5] - lsls r0, 25 - cmp r1, r0 - bhi _08122B16 - cmp r1, r0 - bcc _08122AC6 - ldrh r0, [r3] - lsls r3, r0, 18 - ldrh r0, [r5] - lsls r2, r0, 18 - lsrs r1, r3, 25 - lsrs r0, r2, 25 - cmp r1, r0 - bhi _08122B16 - lsrs r1, r3, 25 - lsrs r0, r2, 25 - b _08122AC2 -_08122A9E: - ldrh r0, [r3] - lsls r4, r0, 18 - ldrh r0, [r5] - lsls r2, r0, 18 - lsrs r1, r4, 25 - lsrs r0, r2, 25 - cmp r1, r0 - bhi _08122B16 - lsrs r1, r4, 25 - lsrs r0, r2, 25 - cmp r1, r0 - bcc _08122AC6 - ldrb r0, [r3] - lsls r1, r0, 25 - ldrb r0, [r5] - lsls r0, 25 - cmp r1, r0 - bhi _08122B16 -_08122AC2: - cmp r1, r0 - bcs _08122B1A -_08122AC6: - movs r0, 0 - b _08122B22 -_08122ACA: - ldrb r0, [r3] - lsls r1, r0, 25 - ldrb r0, [r5] - lsls r0, 25 - cmp r1, r0 - bhi _08122B16 - cmp r1, r0 - bcc _08122AC6 - ldrh r0, [r3] - lsls r4, r0, 18 - ldrh r0, [r5] - lsls r2, r0, 18 - lsrs r1, r4, 25 - lsrs r0, r2, 25 - cmp r1, r0 - bhi _08122B16 - lsrs r1, r4, 25 - lsrs r0, r2, 25 - cmp r1, r0 - bcc _08122AC6 - ldrh r1, [r3, 0x2] - ldrh r0, [r5, 0x2] - cmp r1, r0 - bhi _08122B16 - cmp r1, r0 - bcc _08122AC6 - ldrh r1, [r3, 0x4] - ldrh r0, [r5, 0x4] - cmp r1, r0 - bhi _08122B16 - cmp r1, r0 - bcc _08122AC6 - ldrh r1, [r3, 0x6] - ldrh r0, [r5, 0x6] - cmp r1, r0 - bhi _08122B16 - cmp r1, r0 - bcc _08122AC6 -_08122B16: - movs r0, 0x1 - b _08122B22 -_08122B1A: - bl Random - movs r1, 0x1 - ands r0, r1 -_08122B22: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end atk90_changetypestoenemyattacktype - - thumb_func_start sub_8122B28 -sub_8122B28: @ 8122B28 - push {r4,r5,lr} - adds r5, r0, 0 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x62 - bl __umodsi3 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x32 - bls _08122B6A - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x62 - bl __umodsi3 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x50 - bls _08122B6A - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x62 - bl __umodsi3 - lsls r0, 16 - lsrs r4, r0, 16 -_08122B6A: - adds r1, r4, 0 - adds r1, 0x1E - movs r0, 0x7F - ands r1, r0 - lsls r1, 7 - ldrh r2, [r5] - ldr r0, =0xffffc07f - ands r0, r2 - orrs r0, r1 - strh r0, [r5] - bl Random - lsls r0, 16 - lsrs r0, 16 - adds r1, r4, 0x1 - bl __modsi3 - adds r0, 0x1E - movs r1, 0x7F - ands r0, r1 - ldrb r2, [r5] - movs r1, 0x80 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r5] - bl Random - strh r0, [r5, 0x2] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8122B28 - - thumb_func_start sub_8122BB0 -sub_8122BB0: @ 8122BB0 - push {r4-r6,lr} - adds r5, r0, 0 - movs r4, 0 - ldr r6, =gSaveBlock1Ptr -_08122BB8: - lsls r1, r4, 3 - ldr r0, [r6] - adds r1, r0 - ldr r0, =0x00002e6c - adds r1, r0 - adds r0, r5, 0 - bl sub_8122BF0 - lsls r0, 24 - cmp r0, 0 - beq _08122BDC - movs r0, 0x1 - b _08122BE8 - .pool -_08122BDC: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x4 - bls _08122BB8 - movs r0, 0 -_08122BE8: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8122BB0 - - thumb_func_start sub_8122BF0 -sub_8122BF0: @ 8122BF0 - push {r4,lr} - adds r3, r0, 0 - adds r2, r1, 0 - movs r4, 0 -_08122BF8: - ldrh r1, [r3] - ldrh r0, [r2] - adds r2, 0x2 - adds r3, 0x2 - cmp r1, r0 - beq _08122C08 - movs r0, 0 - b _08122C14 -_08122C08: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1 - bls _08122BF8 - movs r0, 0x1 -_08122C14: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8122BF0 - - thumb_func_start sub_8122C1C -sub_8122C1C: @ 8122C1C - push {r4-r7,lr} - adds r5, r0, 0 - adds r7, r1, 0 - lsls r2, 16 - lsrs r6, r2, 16 - movs r4, 0 - cmp r4, r6 - bge _08122C52 -_08122C2C: - adds r1, r5, 0x4 - adds r0, r7, 0x4 - bl sub_8122BF0 - lsls r0, 24 - cmp r0, 0 - beq _08122C40 - lsls r0, r4, 16 - asrs r0, 16 - b _08122C56 -_08122C40: - adds r5, 0x8 - lsls r0, r4, 16 - movs r1, 0x80 - lsls r1, 9 - adds r0, r1 - lsrs r4, r0, 16 - asrs r0, 16 - cmp r0, r6 - blt _08122C2C -_08122C52: - movs r0, 0x1 - negs r0, r0 -_08122C56: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8122C1C - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/field_camera.s b/asm/field_camera.s deleted file mode 100644 index 35359f444..000000000 --- a/asm/field_camera.s +++ /dev/null @@ -1,1153 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start move_tilemap_camera_to_upper_left_corner_ -@ void move_tilemap_camera_to_upper_left_corner_(struc_28 *a1) -move_tilemap_camera_to_upper_left_corner_: @ 8089B58 - movs r1, 0 - strb r1, [r0, 0x2] - strb r1, [r0, 0x3] - strb r1, [r0] - strb r1, [r0, 0x1] - movs r1, 0x1 - strb r1, [r0, 0x4] - bx lr - thumb_func_end move_tilemap_camera_to_upper_left_corner_ - - thumb_func_start tilemap_move_something -@ void tilemap_move_something(struct struc_28 *, u8 deltaX, u8 deltaY) -tilemap_move_something: @ 8089B68 - ldrb r3, [r0, 0x2] - adds r3, r1 - strb r3, [r0, 0x2] - ldrb r1, [r0, 0x2] - movs r3, 0x1F - ands r1, r3 - strb r1, [r0, 0x2] - ldrb r1, [r0, 0x3] - adds r1, r2 - strb r1, [r0, 0x3] - ldrb r1, [r0, 0x3] - ands r1, r3 - strb r1, [r0, 0x3] - bx lr - thumb_func_end tilemap_move_something - - thumb_func_start coords8_add -@ void coords8_add(struct coords8 *coords, u8 x, u8 y) -coords8_add: @ 8089B84 - ldrb r3, [r0] - adds r3, r1 - strb r3, [r0] - ldrb r1, [r0, 0x1] - adds r1, r2 - strb r1, [r0, 0x1] - bx lr - thumb_func_end coords8_add - - thumb_func_start move_tilemap_camera_to_upper_left_corner -@ void move_tilemap_camera_to_upper_left_corner() -move_tilemap_camera_to_upper_left_corner: @ 8089B94 - push {lr} - ldr r0, =gUnknown_03000E20 - bl move_tilemap_camera_to_upper_left_corner_ - pop {r0} - bx r0 - .pool - thumb_func_end move_tilemap_camera_to_upper_left_corner - - thumb_func_start FieldUpdateBgTilemapScroll -@ void FieldUpdateBgTilemapScroll() -FieldUpdateBgTilemapScroll: @ 8089BA4 - push {r4,r5,lr} - ldr r1, =gUnknown_03000E20 - ldr r0, =gUnknown_03000E28 - movs r2, 0 - ldrsh r5, [r0, r2] - ldrb r0, [r1] - adds r5, r0 - ldr r0, =gUnknown_03000E2A - movs r2, 0 - ldrsh r4, [r0, r2] - ldrb r1, [r1, 0x1] - adds r4, r1 - adds r4, 0x8 - lsls r5, 16 - lsrs r5, 16 - movs r0, 0x14 - adds r1, r5, 0 - bl SetGpuReg - lsls r4, 16 - lsrs r4, 16 - movs r0, 0x16 - adds r1, r4, 0 - bl SetGpuReg - movs r0, 0x18 - adds r1, r5, 0 - bl SetGpuReg - movs r0, 0x1A - adds r1, r4, 0 - bl SetGpuReg - movs r0, 0x1C - adds r1, r5, 0 - bl SetGpuReg - movs r0, 0x1E - adds r1, r4, 0 - bl SetGpuReg - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end FieldUpdateBgTilemapScroll - - thumb_func_start sub_8089C08 -sub_8089C08: @ 8089C08 - push {r4,lr} - ldr r3, =gUnknown_03000E20 - ldr r2, =gUnknown_03000E28 - ldrh r2, [r2] - ldrb r4, [r3] - adds r2, r4 - strh r2, [r0] - ldr r0, =gUnknown_03000E2A - ldrh r0, [r0] - ldrb r3, [r3, 0x1] - adds r0, r3 - adds r0, 0x8 - strh r0, [r1] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8089C08 - - thumb_func_start DrawWholeMapView -@ void DrawWholeMapView() -DrawWholeMapView: @ 8089C34 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - movs r2, 0 - ldrsh r0, [r1, r2] - movs r2, 0x2 - ldrsh r1, [r1, r2] - ldr r2, =gMapHeader - ldr r2, [r2] - bl DrawWholeMapViewInternal - ldr r1, =gUnknown_03000E20 - movs r0, 0x1 - strb r0, [r1, 0x4] - pop {r0} - bx r0 - .pool - thumb_func_end DrawWholeMapView - - thumb_func_start DrawWholeMapViewInternal -@ void DrawWholeMapViewInternal(s32 x, s32 y, struct mapdata_header *mapGrid) -DrawWholeMapViewInternal: @ 8089C60 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r10, r0 - mov r9, r1 - mov r8, r2 - movs r1, 0 -_08089C74: - ldr r2, =gUnknown_03000E20 - ldrb r0, [r2, 0x3] - adds r0, r1, r0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1F - bls _08089C88 - subs r0, 0x20 - lsls r0, 24 - lsrs r0, 24 -_08089C88: - lsls r6, r0, 5 - movs r4, 0 - adds r7, r1, 0x2 - str r7, [sp] - lsrs r5, r1, 1 -_08089C92: - ldr r1, =gUnknown_03000E20 - ldrb r0, [r1, 0x2] - adds r0, r4, r0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1F - bls _08089CA6 - subs r0, 0x20 - lsls r0, 24 - lsrs r0, 24 -_08089CA6: - adds r1, r6, r0 - lsls r1, 16 - lsrs r1, 16 - lsrs r2, r4, 1 - add r2, r10 - mov r0, r8 - mov r7, r9 - adds r3, r7, r5 - bl DrawMetatileAt - adds r0, r4, 0x2 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1F - bls _08089C92 - ldr r1, [sp] - lsls r0, r1, 24 - lsrs r1, r0, 24 - cmp r1, 0x1F - bls _08089C74 - 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 DrawWholeMapViewInternal - - thumb_func_start RedrawMapSlicesForCameraUpdate -@ void RedrawMapSlicesForCameraUpdate(struct struc_28 *, u8 deltaX, u8 deltaY) -RedrawMapSlicesForCameraUpdate: @ 8089CE4 - push {r4-r7,lr} - adds r5, r0, 0 - adds r6, r1, 0 - adds r7, r2, 0 - ldr r0, =gMapHeader - ldr r4, [r0] - cmp r6, 0 - ble _08089CFC - adds r0, r5, 0 - adds r1, r4, 0 - bl RedrawMapSliceWest -_08089CFC: - cmp r6, 0 - bge _08089D08 - adds r0, r5, 0 - adds r1, r4, 0 - bl RedrawMapSliceEast -_08089D08: - cmp r7, 0 - ble _08089D14 - adds r0, r5, 0 - adds r1, r4, 0 - bl RedrawMapSliceNorth -_08089D14: - cmp r7, 0 - bge _08089D20 - adds r0, r5, 0 - adds r1, r4, 0 - bl RedrawMapSliceSouth -_08089D20: - movs r0, 0x1 - strb r0, [r5, 0x4] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end RedrawMapSlicesForCameraUpdate - - thumb_func_start RedrawMapSliceNorth -@ void RedrawMapSliceNorth(struct struc_28 *, struct mapdata_header *mapGrid) -RedrawMapSliceNorth: @ 8089D30 - push {r4-r7,lr} - adds r5, r0, 0 - adds r7, r1, 0 - ldrb r0, [r5, 0x3] - adds r0, 0x1C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1F - bls _08089D48 - subs r0, 0x20 - lsls r0, 24 - lsrs r0, 24 -_08089D48: - lsls r6, r0, 5 - movs r4, 0 -_08089D4C: - ldrb r0, [r5, 0x2] - adds r0, r4, r0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1F - bls _08089D5E - subs r0, 0x20 - lsls r0, 24 - lsrs r0, 24 -_08089D5E: - adds r1, r6, r0 - lsls r1, 16 - lsrs r1, 16 - ldr r0, =gSaveBlock1Ptr - ldr r3, [r0] - movs r0, 0 - ldrsh r2, [r3, r0] - lsrs r0, r4, 1 - adds r2, r0 - movs r0, 0x2 - ldrsh r3, [r3, r0] - adds r3, 0xE - adds r0, r7, 0 - bl DrawMetatileAt - adds r0, r4, 0x2 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1F - bls _08089D4C - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end RedrawMapSliceNorth - - thumb_func_start RedrawMapSliceSouth -@ void RedrawMapSliceSouth(struct struc_28 *, struct mapdata_header *mapGrid) -RedrawMapSliceSouth: @ 8089D90 - push {r4-r7,lr} - adds r5, r0, 0 - adds r7, r1, 0 - ldrb r0, [r5, 0x3] - lsls r6, r0, 5 - movs r4, 0 -_08089D9C: - ldrb r0, [r5, 0x2] - adds r0, r4, r0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1F - bls _08089DAE - subs r0, 0x20 - lsls r0, 24 - lsrs r0, 24 -_08089DAE: - adds r1, r6, r0 - ldr r0, =gSaveBlock1Ptr - ldr r3, [r0] - movs r0, 0 - ldrsh r2, [r3, r0] - lsrs r0, r4, 1 - adds r2, r0 - movs r0, 0x2 - ldrsh r3, [r3, r0] - adds r0, r7, 0 - bl DrawMetatileAt - adds r0, r4, 0x2 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1F - bls _08089D9C - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end RedrawMapSliceSouth - - thumb_func_start RedrawMapSliceEast -@ void RedrawMapSliceEast(struct struc_28 *, struct mapdata_header *mapGrid) -RedrawMapSliceEast: @ 8089DDC - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - mov r8, r1 - ldrb r6, [r5, 0x2] - movs r4, 0 -_08089DEA: - ldrb r0, [r5, 0x3] - adds r0, r4, r0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1F - bls _08089DFC - subs r0, 0x20 - lsls r0, 24 - lsrs r0, 24 -_08089DFC: - lsls r1, r0, 5 - adds r1, r6 - lsls r1, 16 - lsrs r1, 16 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - movs r3, 0 - ldrsh r2, [r0, r3] - movs r7, 0x2 - ldrsh r3, [r0, r7] - lsrs r0, r4, 1 - adds r3, r0 - mov r0, r8 - bl DrawMetatileAt - adds r0, r4, 0x2 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1F - bls _08089DEA - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end RedrawMapSliceEast - - thumb_func_start RedrawMapSliceWest -@ void RedrawMapSliceWest(struct struc_28 *, struct mapdata_header *mapGrid) -RedrawMapSliceWest: @ 8089E34 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - mov r8, r1 - ldrb r0, [r6, 0x2] - adds r0, 0x1C - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x1F - bls _08089E52 - adds r0, r5, 0 - subs r0, 0x20 - lsls r0, 24 - lsrs r5, r0, 24 -_08089E52: - movs r4, 0 -_08089E54: - ldrb r0, [r6, 0x3] - adds r0, r4, r0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1F - bls _08089E66 - subs r0, 0x20 - lsls r0, 24 - lsrs r0, 24 -_08089E66: - lsls r1, r0, 5 - adds r1, r5 - lsls r1, 16 - lsrs r1, 16 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - movs r3, 0 - ldrsh r2, [r0, r3] - adds r2, 0xE - movs r7, 0x2 - ldrsh r3, [r0, r7] - lsrs r0, r4, 1 - adds r3, r0 - mov r0, r8 - bl DrawMetatileAt - adds r0, r4, 0x2 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1F - bls _08089E54 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end RedrawMapSliceWest - - thumb_func_start CurrentMapDrawMetatileAt -@ void CurrentMapDrawMetatileAt(u32 x, u32 y) -CurrentMapDrawMetatileAt: @ 8089EA0 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r6, =gUnknown_03000E20 - adds r0, r6, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl MapPosToBgTilemapOffset - adds r1, r0, 0 - cmp r1, 0 - blt _08089ECC - ldr r0, =gMapHeader - ldr r0, [r0] - lsls r1, 16 - lsrs r1, 16 - adds r2, r4, 0 - adds r3, r5, 0 - bl DrawMetatileAt - movs r0, 0x1 - strb r0, [r6, 0x4] -_08089ECC: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end CurrentMapDrawMetatileAt - - thumb_func_start DrawDoorMetatileAt -@ void DrawDoorMetatileAt(u32 x, u32 y, u16 *metatile) -DrawDoorMetatileAt: @ 8089EDC - push {r4-r6,lr} - adds r3, r0, 0 - adds r4, r1, 0 - adds r5, r2, 0 - ldr r6, =gUnknown_03000E20 - adds r0, r6, 0 - adds r1, r3, 0 - adds r2, r4, 0 - bl MapPosToBgTilemapOffset - cmp r0, 0 - blt _08089F04 - lsls r2, r0, 16 - lsrs r2, 16 - movs r0, 0x1 - adds r1, r5, 0 - bl DrawMetatile - movs r0, 0x1 - strb r0, [r6, 0x4] -_08089F04: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end DrawDoorMetatileAt - - thumb_func_start DrawMetatileAt -@ void DrawMetatileAt(struct mapdata_header *mapGrid, u16 offset, s32 x, s32 y) -DrawMetatileAt: @ 8089F10 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - adds r6, r2, 0 - adds r7, r3, 0 - lsls r1, 16 - lsrs r1, 16 - mov r8, r1 - adds r0, r6, 0 - adds r1, r7, 0 - bl MapGridGetMetatileIdAt - lsls r0, 16 - lsrs r4, r0, 16 - movs r0, 0x80 - lsls r0, 3 - cmp r4, r0 - bls _08089F38 - movs r4, 0 -_08089F38: - ldr r0, =0x000001ff - cmp r4, r0 - bhi _08089F48 - ldr r0, [r5, 0x10] - ldr r5, [r0, 0xC] - b _08089F54 - .pool -_08089F48: - ldr r0, [r5, 0x14] - ldr r5, [r0, 0xC] - ldr r1, =0xfffffe00 - adds r0, r4, r1 - lsls r0, 16 - lsrs r4, r0, 16 -_08089F54: - adds r0, r6, 0 - adds r1, r7, 0 - bl MapGridGetMetatileLayerTypeAt - lsls r0, 24 - lsrs r0, 24 - lsls r1, r4, 4 - adds r1, r5, r1 - mov r2, r8 - bl DrawMetatile - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end DrawMetatileAt - - thumb_func_start DrawMetatile -@ void DrawMetatile(u32 layerType, u16 *metatile, u16 offset) -DrawMetatile: @ 8089F78 - push {r4,lr} - adds r4, r1, 0 - lsls r2, 16 - lsrs r2, 16 - cmp r0, 0x1 - beq _08089FD0 - cmp r0, 0x1 - bgt _08089F8E - cmp r0, 0 - beq _0808A030 - b _0808A082 -_08089F8E: - cmp r0, 0x2 - bne _0808A082 - ldr r0, =gUnknown_03005DA4 - ldr r0, [r0] - lsls r3, r2, 1 - adds r0, r3, r0 - ldrh r1, [r4] - strh r1, [r0] - ldrh r1, [r4, 0x2] - strh r1, [r0, 0x2] - adds r2, r0, 0 - adds r2, 0x40 - ldrh r1, [r4, 0x4] - strh r1, [r2] - adds r0, 0x42 - ldrh r1, [r4, 0x6] - strh r1, [r0] - ldr r0, =gUnknown_03005D9C - ldr r0, [r0] - adds r0, r3, r0 - movs r2, 0 - strh r2, [r0] - strh r2, [r0, 0x2] - adds r1, r0, 0 - adds r1, 0x40 - strh r2, [r1] - adds r0, 0x42 - strh r2, [r0] - b _0808A066 - .pool -_08089FD0: - ldr r0, =gUnknown_03005DA4 - ldr r0, [r0] - lsls r3, r2, 1 - adds r0, r3, r0 - ldrh r1, [r4] - strh r1, [r0] - ldrh r1, [r4, 0x2] - strh r1, [r0, 0x2] - adds r2, r0, 0 - adds r2, 0x40 - ldrh r1, [r4, 0x4] - strh r1, [r2] - adds r0, 0x42 - ldrh r1, [r4, 0x6] - strh r1, [r0] - ldr r0, =gUnknown_03005D9C - ldr r0, [r0] - adds r0, r3, r0 - ldrh r1, [r4, 0x8] - strh r1, [r0] - ldrh r1, [r4, 0xA] - strh r1, [r0, 0x2] - adds r2, r0, 0 - adds r2, 0x40 - ldrh r1, [r4, 0xC] - strh r1, [r2] - adds r0, 0x42 - ldrh r1, [r4, 0xE] - strh r1, [r0] - ldr r0, =gUnknown_03005DA0 - ldr r0, [r0] - adds r3, r0 - movs r1, 0 - strh r1, [r3] - strh r1, [r3, 0x2] - adds r0, r3, 0 - adds r0, 0x40 - strh r1, [r0] - adds r3, 0x42 - strh r1, [r3] - b _0808A082 - .pool -_0808A030: - ldr r0, =gUnknown_03005DA4 - ldr r0, [r0] - lsls r3, r2, 1 - adds r0, r3, r0 - ldr r1, =0x00003014 - adds r2, r1, 0 - strh r2, [r0] - strh r2, [r0, 0x2] - adds r1, r0, 0 - adds r1, 0x40 - strh r2, [r1] - adds r0, 0x42 - strh r2, [r0] - ldr r0, =gUnknown_03005D9C - ldr r0, [r0] - adds r0, r3, r0 - ldrh r1, [r4] - strh r1, [r0] - ldrh r1, [r4, 0x2] - strh r1, [r0, 0x2] - adds r2, r0, 0 - adds r2, 0x40 - ldrh r1, [r4, 0x4] - strh r1, [r2] - adds r0, 0x42 - ldrh r1, [r4, 0x6] - strh r1, [r0] -_0808A066: - ldr r0, =gUnknown_03005DA0 - ldr r0, [r0] - adds r3, r0 - ldrh r0, [r4, 0x8] - strh r0, [r3] - ldrh r0, [r4, 0xA] - strh r0, [r3, 0x2] - adds r1, r3, 0 - adds r1, 0x40 - ldrh r0, [r4, 0xC] - strh r0, [r1] - adds r3, 0x42 - ldrh r0, [r4, 0xE] - strh r0, [r3] -_0808A082: - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x3 - bl schedule_bg_copy_tilemap_to_vram - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end DrawMetatile - - thumb_func_start MapPosToBgTilemapOffset -@ u32 MapPosToBgTilemapOffset(struct struc_28 *, u32 x, u32 y) -MapPosToBgTilemapOffset: @ 808A0AC - push {r4,r5,lr} - adds r4, r0, 0 - ldr r0, =gSaveBlock1Ptr - ldr r3, [r0] - movs r5, 0 - ldrsh r0, [r3, r5] - subs r1, r0 - lsls r1, 1 - cmp r1, 0x1F - bhi _0808A0D6 - ldrb r0, [r4, 0x2] - adds r1, r0 - cmp r1, 0x1F - ble _0808A0CA - subs r1, 0x20 -_0808A0CA: - movs r5, 0x2 - ldrsh r0, [r3, r5] - subs r0, r2, r0 - lsls r2, r0, 1 - cmp r2, 0x1F - bls _0808A0E0 -_0808A0D6: - movs r0, 0x1 - negs r0, r0 - b _0808A0EE - .pool -_0808A0E0: - ldrb r0, [r4, 0x3] - adds r2, r0 - cmp r2, 0x1F - ble _0808A0EA - subs r2, 0x20 -_0808A0EA: - lsls r0, r2, 5 - adds r0, r1 -_0808A0EE: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MapPosToBgTilemapOffset - - thumb_func_start CameraUpdateCallback -@ void CameraUpdateCallback(struct CameraUpdateInfo *info) -CameraUpdateCallback: @ 808A0F4 - push {lr} - adds r3, r0, 0 - ldr r2, [r3, 0x4] - cmp r2, 0 - beq _0808A114 - ldr r1, =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - movs r2, 0x32 - ldrsh r1, [r0, r2] - str r1, [r3, 0x8] - movs r1, 0x34 - ldrsh r0, [r0, r1] - str r0, [r3, 0xC] -_0808A114: - pop {r0} - bx r0 - .pool - thumb_func_end CameraUpdateCallback - - thumb_func_start ResetCameraUpdateInfo -@ void ResetCameraUpdateInfo() -ResetCameraUpdateInfo: @ 808A11C - ldr r1, =gUnknown_03005DD0 - movs r0, 0 - str r0, [r1, 0x8] - str r0, [r1, 0xC] - str r0, [r1, 0x10] - str r0, [r1, 0x14] - str r0, [r1, 0x4] - str r0, [r1] - bx lr - .pool - thumb_func_end ResetCameraUpdateInfo - - thumb_func_start InitCameraUpdateCallback -@ u8 InitCameraUpdateCallback(u8 followedObjectId) -InitCameraUpdateCallback: @ 808A134 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, =gUnknown_03005DD0 - ldr r1, [r4, 0x4] - cmp r1, 0 - beq _0808A150 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl DestroySprite -_0808A150: - adds r0, r5, 0 - bl AddCameraObject - lsls r0, 24 - lsrs r0, 24 - str r0, [r4, 0x4] - ldr r0, =CameraUpdateCallback - str r0, [r4] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end InitCameraUpdateCallback - - thumb_func_start CameraUpdate -@ void CameraUpdate() -CameraUpdate: @ 808A174 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r6, =gUnknown_03005DD0 - ldr r1, [r6] - cmp r1, 0 - beq _0808A188 - adds r0, r6, 0 - bl _call_via_r1 -_0808A188: - ldr r7, [r6, 0x8] - ldr r0, [r6, 0xC] - mov r8, r0 - movs r4, 0 - movs r5, 0 - ldr r1, [r6, 0x10] - ldr r0, [r6, 0x14] - cmp r1, 0 - bne _0808A1A6 - cmp r7, 0 - beq _0808A1A6 - subs r4, 0x1 - cmp r7, 0 - ble _0808A1A6 - movs r4, 0x1 -_0808A1A6: - cmp r0, 0 - bne _0808A1BA - mov r2, r8 - cmp r2, 0 - beq _0808A1BA - movs r5, 0x1 - negs r5, r5 - cmp r2, 0 - ble _0808A1BA - movs r5, 0x1 -_0808A1BA: - cmp r1, 0 - beq _0808A1CC - cmn r1, r7 - bne _0808A1CC - movs r4, 0x1 - negs r4, r4 - cmp r7, 0 - ble _0808A1CC - movs r4, 0x1 -_0808A1CC: - cmp r0, 0 - beq _0808A1E0 - mov r3, r8 - cmn r0, r3 - bne _0808A1E0 - movs r4, 0x1 - negs r4, r4 - cmp r3, 0 - ble _0808A1E0 - movs r4, 0x1 -_0808A1E0: - ldr r2, =gUnknown_03005DD0 - ldr r0, [r2, 0x10] - adds r1, r0, r7 - str r1, [r2, 0x10] - adds r0, r1, 0 - cmp r1, 0 - bge _0808A1F0 - adds r0, 0xF -_0808A1F0: - asrs r0, 4 - lsls r0, 4 - subs r0, r1, r0 - str r0, [r2, 0x10] - ldr r0, [r2, 0x14] - mov r3, r8 - adds r1, r0, r3 - str r1, [r2, 0x14] - adds r0, r1, 0 - cmp r1, 0 - bge _0808A208 - adds r0, 0xF -_0808A208: - asrs r0, 4 - lsls r0, 4 - subs r0, r1, r0 - str r0, [r2, 0x14] - cmp r4, 0 - bne _0808A218 - cmp r5, 0 - beq _0808A24E -_0808A218: - adds r0, r4, 0 - adds r1, r5, 0 - bl CameraMove - adds r0, r4, 0 - adds r1, r5, 0 - bl UpdateFieldObjectsForCameraUpdate - adds r0, r4, 0 - adds r1, r5, 0 - bl RotatingGatePuzzleCameraUpdate - bl ResetBerryTreeSparkleFlags - ldr r6, =gUnknown_03000E20 - lsls r4, 1 - lsls r5, 1 - adds r0, r6, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl tilemap_move_something - adds r0, r6, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl RedrawMapSlicesForCameraUpdate -_0808A24E: - ldr r0, =gUnknown_03000E20 - adds r1, r7, 0 - mov r2, r8 - bl coords8_add - ldr r1, =gUnknown_03005DEC - ldrh r0, [r1] - subs r0, r7 - strh r0, [r1] - ldr r1, =gUnknown_03005DE8 - ldrh r0, [r1] - mov r2, r8 - subs r0, r2 - strh r0, [r1] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end CameraUpdate - - thumb_func_start sub_808A284 -sub_808A284: @ 808A284 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl CameraMove - lsls r0, r4, 16 - asrs r0, 16 - lsls r1, r5, 16 - asrs r1, 16 - bl UpdateFieldObjectsForCameraUpdate - bl DrawWholeMapView - ldr r1, =gUnknown_03005DEC - lsls r4, 4 - ldrh r0, [r1] - subs r0, r4 - strh r0, [r1] - ldr r1, =gUnknown_03005DE8 - lsls r5, 4 - ldrh r0, [r1] - subs r0, r5 - strh r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_808A284 - - thumb_func_start SetCameraPanningCallback -@ void SetCameraPanningCallback(void ( *callback)()) -SetCameraPanningCallback: @ 808A2C0 - ldr r1, =gUnknown_03000E30 - str r0, [r1] - bx lr - .pool - thumb_func_end SetCameraPanningCallback - - thumb_func_start SetCameraPanning -@ void SetCameraPanning(s16 x, s16 y) -SetCameraPanning: @ 808A2CC - ldr r2, =gUnknown_03000E28 - strh r0, [r2] - ldr r0, =gUnknown_03000E2A - lsls r1, 16 - asrs r1, 16 - adds r1, 0x20 - strh r1, [r0] - bx lr - .pool - thumb_func_end SetCameraPanning - - thumb_func_start InstallCameraPanAheadCallback -@ void InstallCameraPanAheadCallback() -InstallCameraPanAheadCallback: @ 808A2E4 - ldr r1, =gUnknown_03000E30 - ldr r0, =CameraPanningCB_PanAhead - str r0, [r1] - ldr r1, =gUnknown_03000E2C - movs r0, 0 - strb r0, [r1] - ldr r1, =gUnknown_03000E28 - movs r0, 0 - strh r0, [r1] - ldr r1, =gUnknown_03000E2A - movs r0, 0x20 - strh r0, [r1] - bx lr - .pool - thumb_func_end InstallCameraPanAheadCallback - - thumb_func_start UpdateCameraPanning -@ void UpdateCameraPanning() -UpdateCameraPanning: @ 808A314 - push {lr} - ldr r0, =gUnknown_03000E30 - ldr r0, [r0] - cmp r0, 0 - beq _0808A322 - bl _call_via_r0 -_0808A322: - ldr r2, =gSpriteCoordOffsetX - ldr r0, =gUnknown_03005DEC - ldr r1, =gUnknown_03000E28 - ldrh r0, [r0] - ldrh r1, [r1] - subs r0, r1 - strh r0, [r2] - ldr r2, =gSpriteCoordOffsetY - ldr r0, =gUnknown_03005DE8 - ldr r1, =gUnknown_03000E2A - ldrh r0, [r0] - ldrh r1, [r1] - subs r0, r1 - subs r0, 0x8 - strh r0, [r2] - pop {r0} - bx r0 - .pool - thumb_func_end UpdateCameraPanning - - thumb_func_start CameraPanningCB_PanAhead -@ void CameraPanningCB_PanAhead() -CameraPanningCB_PanAhead: @ 808A360 - push {lr} - ldr r0, =gUnknown_02037348 - ldrb r0, [r0] - cmp r0, 0 - bne _0808A374 - bl InstallCameraPanAheadCallback - b _0808A3FC - .pool -_0808A374: - ldr r0, =gPlayerAvatar - ldrb r0, [r0, 0x3] - cmp r0, 0x1 - bne _0808A394 - ldr r0, =gUnknown_03000E2C - ldrb r1, [r0] - movs r2, 0x1 - eors r1, r2 - strb r1, [r0] - cmp r1, 0 - beq _0808A3FC - b _0808A39A - .pool -_0808A394: - ldr r1, =gUnknown_03000E2C - movs r0, 0 - strb r0, [r1] -_0808A39A: - bl player_get_direction_upper_nybble - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _0808A3C4 - ldr r2, =gUnknown_03000E2A - ldrh r3, [r2] - movs r0, 0 - ldrsh r1, [r2, r0] - movs r0, 0x8 - negs r0, r0 - cmp r1, r0 - ble _0808A3FC - subs r0, r3, 0x2 - b _0808A3FA - .pool -_0808A3C4: - cmp r0, 0x1 - bne _0808A3E0 - ldr r1, =gUnknown_03000E2A - ldrh r2, [r1] - movs r3, 0 - ldrsh r0, [r1, r3] - cmp r0, 0x47 - bgt _0808A3FC - adds r0, r2, 0x2 - strh r0, [r1] - b _0808A3FC - .pool -_0808A3E0: - ldr r2, =gUnknown_03000E2A - ldrh r0, [r2] - movs r3, 0 - ldrsh r1, [r2, r3] - cmp r1, 0x1F - bgt _0808A3F4 - adds r0, 0x2 - b _0808A3FA - .pool -_0808A3F4: - cmp r1, 0x20 - ble _0808A3FC - subs r0, 0x2 -_0808A3FA: - strh r0, [r2] -_0808A3FC: - pop {r0} - bx r0 - thumb_func_end CameraPanningCB_PanAhead - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/field_player_avatar.s b/asm/field_player_avatar.s index cd4f83681..f5acc1e3e 100644 --- a/asm/field_player_avatar.s +++ b/asm/field_player_avatar.s @@ -1071,7 +1071,7 @@ sub_808B164: @ 808B164 adds r0, r6, 0 adds r1, r5, 0 adds r2, r4, 0 - bl sub_80FBFD4 + bl CheckForRotatingGatePuzzleCollisionWithoutAnimation cmp r0, 0 beq _0808B1A2 movs r0, 0x8 diff --git a/asm/map_name_popup.s b/asm/map_name_popup.s deleted file mode 100644 index d4775389a..000000000 --- a/asm/map_name_popup.s +++ /dev/null @@ -1,570 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_80D47D4 -sub_80D47D4: @ 80D47D4 - push {lr} - bl HideStartMenu - bl ShowMapNamePopup - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end sub_80D47D4 - - thumb_func_start ShowMapNamePopup -ShowMapNamePopup: @ 80D47E4 - push {r4,lr} - movs r0, 0x80 - lsls r0, 7 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080D486C - ldr r4, =Task_MapNamePopUpWindow - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _080D4844 - adds r0, r4, 0 - movs r1, 0x5A - bl CreateTask - ldr r4, =gUnknown_02039DD4 - strb r0, [r4] - movs r0, 0x12 - movs r1, 0x28 - bl SetGpuReg - ldr r2, =gTasks - ldrb r1, [r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r1, 0x6 - strh r1, [r0, 0x8] - ldrb r1, [r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r1, 0x28 - strh r1, [r0, 0xC] - b _080D486C - .pool -_080D4844: - ldr r3, =gTasks - ldr r2, =gUnknown_02039DD4 - ldrb r0, [r2] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r3 - movs r4, 0x8 - ldrsh r0, [r1, r4] - cmp r0, 0x2 - beq _080D485E - movs r0, 0x2 - strh r0, [r1, 0x8] -_080D485E: - ldrb r0, [r2] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r3 - movs r0, 0x1 - strh r0, [r1, 0xE] -_080D486C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ShowMapNamePopup - - thumb_func_start Task_MapNamePopUpWindow -Task_MapNamePopUpWindow: @ 80D487C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r4, r1, r0 - movs r2, 0x8 - ldrsh r1, [r4, r2] - adds r3, r0, 0 - cmp r1, 0x6 - bhi _080D4966 - lsls r0, r1, 2 - ldr r1, =_080D48A8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080D48A8: - .4byte _080D48DE - .4byte _080D4908 - .4byte _080D4920 - .4byte _080D4966 - .4byte _080D494C - .4byte _080D4960 - .4byte _080D48C4 -_080D48C4: - ldrh r0, [r4, 0x10] - adds r0, 0x1 - movs r1, 0 - strh r0, [r4, 0x10] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1E - ble _080D4966 - strh r1, [r4, 0x8] - strh r1, [r4, 0x10] - bl ShowMapNamePopUpWindow - b _080D4966 -_080D48DE: - ldrh r0, [r4, 0xC] - subs r0, 0x2 - movs r2, 0 - strh r0, [r4, 0xC] - lsls r0, 16 - cmp r0, 0 - bgt _080D4966 - strh r2, [r4, 0xC] - movs r0, 0x1 - strh r0, [r4, 0x8] - ldr r0, =gUnknown_02039DD4 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r3 - strh r2, [r0, 0xA] - b _080D4966 - .pool -_080D4908: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x78 - ble _080D4966 - movs r0, 0 - strh r0, [r4, 0xA] - movs r0, 0x2 - strh r0, [r4, 0x8] - b _080D4966 -_080D4920: - ldrh r0, [r4, 0xC] - adds r0, 0x2 - movs r1, 0 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x27 - ble _080D4966 - movs r0, 0x28 - strh r0, [r4, 0xC] - movs r2, 0xE - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _080D4946 - movs r0, 0x6 - strh r0, [r4, 0x8] - strh r1, [r4, 0x10] - strh r1, [r4, 0xE] - b _080D4966 -_080D4946: - movs r0, 0x4 - strh r0, [r4, 0x8] - b _080D496E -_080D494C: - bl GetMapNamePopUpWindowId - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_819746C - movs r0, 0x5 - strh r0, [r4, 0x8] - b _080D4966 -_080D4960: - bl HideMapNamePopUpWindow - b _080D496E -_080D4966: - ldrh r1, [r4, 0xC] - movs r0, 0x12 - bl SetGpuReg -_080D496E: - pop {r4} - pop {r0} - bx r0 - thumb_func_end Task_MapNamePopUpWindow - - thumb_func_start HideMapNamePopUpWindow -HideMapNamePopUpWindow: @ 80D4974 - push {lr} - ldr r0, =Task_MapNamePopUpWindow - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - beq _080D49A4 - bl GetMapNamePopUpWindowId - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_819746C - bl RemoveMapNamePopUpWindow - movs r0, 0x12 - movs r1, 0 - bl SetGpuReg_ForcedBlank - ldr r0, =gUnknown_02039DD4 - ldrb r0, [r0] - bl DestroyTask -_080D49A4: - pop {r0} - bx r0 - .pool - thumb_func_end HideMapNamePopUpWindow - - thumb_func_start ShowMapNamePopUpWindow -ShowMapNamePopUpWindow: @ 80D49B0 - push {r4,r5,lr} - sub sp, 0x24 - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - beq _080D4A08 - ldr r0, =gMapHeader - ldrh r1, [r0, 0x12] - movs r0, 0xBD - lsls r0, 1 - cmp r1, r0 - bne _080D49DC - mov r4, sp - adds r4, 0xF - ldr r0, =gUnknown_0857F544 - ldr r1, [r0, 0x1C] - b _080D49F2 - .pool -_080D49DC: - mov r4, sp - adds r4, 0xF - ldr r1, =gUnknown_0857F544 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r2, =0x00000cb2 - adds r0, r2 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] -_080D49F2: - adds r0, r4, 0 - bl StringCopy - b _080D4A18 - .pool -_080D4A08: - mov r4, sp - adds r4, 0xF - ldr r0, =gMapHeader - ldrb r1, [r0, 0x14] - adds r0, r4, 0 - movs r2, 0 - bl GetMapName -_080D4A18: - bl AddMapNamePopUpWindow - bl LoadMapNamePopUpWindowBg - movs r0, 0x7 - adds r1, r4, 0 - movs r2, 0x50 - bl GetStringCenterAlignXOffset - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - add r1, sp, 0xC - movs r5, 0 - movs r0, 0xFC - strb r0, [r1] - movs r0, 0x2 - strb r0, [r1, 0x1] - adds r0, r1, 0 - strb r5, [r0, 0x2] - bl GetMapNamePopUpWindowId - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x3 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - str r5, [sp, 0x8] - movs r1, 0x7 - add r2, sp, 0xC - adds r3, r4, 0 - bl PrintTextOnWindow - bl GetMapNamePopUpWindowId - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0x24 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end ShowMapNamePopUpWindow - - thumb_func_start sub_80D4A78 -sub_80D4A78: @ 80D4A78 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - ldr r4, [sp, 0x3C] - lsls r0, 24 - lsrs r7, r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r10, r1 - lsls r2, 24 - lsls r3, 24 - lsrs r3, 24 - str r3, [sp, 0x10] - lsls r4, 24 - lsrs r4, 24 - str r4, [sp, 0x14] - movs r5, 0 - lsls r0, r1, 24 - asrs r1, r0, 24 - lsrs r3, r2, 24 - str r3, [sp, 0xC] - movs r6, 0xFF - lsls r6, 24 - adds r6, r2 - mov r8, r6 - str r0, [sp, 0x18] - subs r4, r1, 0x1 -_080D4AB4: - ldr r0, =0x0000021d - adds r1, r5, r0 - lsls r1, 16 - lsrs r1, 16 - lsls r2, r4, 24 - lsrs r2, 24 - movs r3, 0x1 - str r3, [sp] - str r3, [sp, 0x4] - movs r6, 0xE - mov r9, r6 - str r6, [sp, 0x8] - adds r0, r7, 0 - mov r6, r8 - lsrs r3, r6, 24 - bl FillBgTilemapBufferRect - adds r4, 0x1 - adds r5, 0x1 - cmp r5, 0xB - ble _080D4AB4 - ldr r1, =0x00000229 - movs r0, 0x1 - negs r0, r0 - add r0, r10 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r5, 0x1 - str r5, [sp] - str r5, [sp, 0x4] - mov r2, r9 - str r2, [sp, 0x8] - adds r0, r7, 0 - mov r2, r8 - ldr r3, [sp, 0xC] - bl FillBgTilemapBufferRect - ldr r1, =0x0000022a - ldr r6, [sp, 0x10] - add r6, r10 - lsls r6, 24 - lsrs r6, 24 - str r5, [sp] - str r5, [sp, 0x4] - mov r3, r9 - str r3, [sp, 0x8] - adds r0, r7, 0 - adds r2, r6, 0 - ldr r3, [sp, 0xC] - bl FillBgTilemapBufferRect - ldr r1, =0x0000022b - ldr r4, [sp, 0xC] - adds r4, 0x1 - lsls r4, 24 - lsrs r4, 24 - str r5, [sp] - str r5, [sp, 0x4] - mov r0, r9 - str r0, [sp, 0x8] - adds r0, r7, 0 - mov r2, r8 - adds r3, r4, 0 - bl FillBgTilemapBufferRect - movs r1, 0x8B - lsls r1, 2 - str r5, [sp] - str r5, [sp, 0x4] - mov r2, r9 - str r2, [sp, 0x8] - adds r0, r7, 0 - adds r2, r6, 0 - adds r3, r4, 0 - bl FillBgTilemapBufferRect - ldr r1, =0x0000022d - ldr r4, [sp, 0xC] - adds r4, 0x2 - lsls r4, 24 - lsrs r4, 24 - str r5, [sp] - str r5, [sp, 0x4] - mov r3, r9 - str r3, [sp, 0x8] - adds r0, r7, 0 - mov r2, r8 - adds r3, r4, 0 - bl FillBgTilemapBufferRect - ldr r1, =0x0000022e - str r5, [sp] - str r5, [sp, 0x4] - mov r0, r9 - str r0, [sp, 0x8] - adds r0, r7, 0 - adds r2, r6, 0 - adds r3, r4, 0 - bl FillBgTilemapBufferRect - movs r5, 0 - ldr r1, [sp, 0xC] - ldr r2, [sp, 0x14] - adds r0, r1, r2 - lsls r4, r0, 24 - movs r6, 0x1 -_080D4B8A: - ldr r3, =0x0000022f - adds r1, r5, r3 - lsls r1, 16 - lsrs r1, 16 - subs r0, r5, 0x1 - ldr r3, [sp, 0x18] - asrs r2, r3, 24 - adds r2, r0 - lsls r2, 24 - lsrs r2, 24 - str r6, [sp] - str r6, [sp, 0x4] - movs r0, 0xE - str r0, [sp, 0x8] - adds r0, r7, 0 - lsrs r3, r4, 24 - bl FillBgTilemapBufferRect - adds r5, 0x1 - cmp r5, 0xB - ble _080D4B8A - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D4A78 - - thumb_func_start LoadMapNamePopUpWindowBg -LoadMapNamePopUpWindowBg: @ 80D4BE0 - push {r4,r5,lr} - sub sp, 0x8 - bl GetMapNamePopUpWindowId - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gMapHeader - ldrb r1, [r0, 0x14] - cmp r1, 0x57 - bls _080D4C0A - cmp r1, 0xC4 - bls _080D4C08 - adds r0, r1, 0 - subs r0, 0x6D - lsls r0, 16 - lsrs r1, r0, 16 - b _080D4C0A - .pool -_080D4C08: - movs r1, 0 -_080D4C0A: - ldr r0, =gUnknown_0857F464 - adds r0, r1, r0 - ldrb r4, [r0] - adds r0, r5, 0 - movs r1, 0 - bl GetWindowAttribute - lsls r0, 24 - lsrs r0, 24 - lsls r1, r4, 4 - subs r1, r4 - lsls r1, 6 - ldr r2, =gMapPopUp_Outline_Table - adds r1, r2 - movs r2, 0x80 - lsls r2, 3 - ldr r3, =0x0000021d - bl LoadBgTiles - ldr r1, =sub_80D4A78 - adds r0, r5, 0 - bl CallWindowFunction - adds r0, r5, 0 - bl PutWindowTilemap - ldr r0, =gMapHeader - ldrb r0, [r0, 0x16] - cmp r0, 0xE - bne _080D4C6C - ldr r0, =gUnknown_0857F444 - movs r1, 0xE0 - movs r2, 0x20 - bl LoadPalette - b _080D4C7A - .pool -_080D4C6C: - lsls r0, r4, 5 - ldr r1, =gMapPopUp_Palette_Table - adds r0, r1 - movs r1, 0xE0 - movs r2, 0x20 - bl LoadPalette -_080D4C7A: - lsls r1, r4, 4 - subs r1, r4 - lsls r1, 6 - ldr r0, =gMapPopUp_Table - adds r1, r0 - movs r0, 0x50 - str r0, [sp] - movs r0, 0x18 - str r0, [sp, 0x4] - adds r0, r5, 0 - movs r2, 0 - movs r3, 0 - bl BlitBitmapToWindow - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end LoadMapNamePopUpWindowBg - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/map_obj_lock.s b/asm/map_obj_lock.s deleted file mode 100644 index 97abc7fec..000000000 --- a/asm/map_obj_lock.s +++ /dev/null @@ -1,474 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start walkrun_is_standing_still -walkrun_is_standing_still: @ 8098388 - push {lr} - ldr r0, =gPlayerAvatar - ldrb r0, [r0, 0x3] - cmp r0, 0x1 - beq _0809839C - movs r0, 0x1 - b _0809839E - .pool -_0809839C: - movs r0, 0 -_0809839E: - pop {r1} - bx r1 - thumb_func_end walkrun_is_standing_still - - thumb_func_start sub_80983A4 -sub_80983A4: @ 80983A4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl walkrun_is_standing_still - lsls r0, 24 - cmp r0, 0 - beq _080983BE - bl sub_808B864 - adds r0, r4, 0 - bl DestroyTask -_080983BE: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80983A4 - - thumb_func_start sub_80983C4 -sub_80983C4: @ 80983C4 - push {lr} - ldr r0, =sub_80983A4 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _080983E0 - bl sub_808BCF4 - movs r0, 0x1 - b _080983E2 - .pool -_080983E0: - movs r0, 0 -_080983E2: - pop {r1} - bx r1 - thumb_func_end sub_80983C4 - - thumb_func_start ScriptFreezeMapObjects -ScriptFreezeMapObjects: @ 80983E8 - push {lr} - bl FreezeMapObjects - ldr r0, =sub_80983A4 - movs r1, 0x50 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end ScriptFreezeMapObjects - - thumb_func_start sub_8098400 -sub_8098400: @ 8098400 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, =gTasks - adds r5, r0, r1 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _0809842A - bl walkrun_is_standing_still - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bne _0809842A - bl sub_808B864 - strh r4, [r5, 0x8] -_0809842A: - movs r1, 0xA - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _08098452 - ldr r2, =gMapObjects - ldr r0, =gSelectedMapObject - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - ldrb r0, [r1] - lsls r0, 30 - cmp r0, 0 - blt _08098452 - adds r0, r1, 0 - bl FreezeMapObject - movs r0, 0x1 - strh r0, [r5, 0xA] -_08098452: - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _08098468 - movs r1, 0xA - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _08098468 - adds r0, r6, 0 - bl DestroyTask -_08098468: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8098400 - - thumb_func_start sub_809847C -sub_809847C: @ 809847C - push {lr} - ldr r0, =sub_8098400 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _08098498 - bl sub_808BCF4 - movs r0, 0x1 - b _0809849A - .pool -_08098498: - movs r0, 0 -_0809849A: - pop {r1} - bx r1 - thumb_func_end sub_809847C - - thumb_func_start LockSelectedMapObject -LockSelectedMapObject: @ 80984A0 - push {r4,r5,lr} - ldr r4, =gSelectedMapObject - ldrb r0, [r4] - bl FreezeMapObjectsExceptOne - ldr r0, =sub_8098400 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r5, r0, 24 - ldr r2, =gMapObjects - ldrb r1, [r4] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - ldrb r0, [r1] - lsls r0, 30 - cmp r0, 0 - blt _080984DE - adds r0, r1, 0 - bl FreezeMapObject - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - movs r0, 0x1 - strh r0, [r1, 0xA] -_080984DE: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end LockSelectedMapObject - - thumb_func_start sub_80984F4 -sub_80984F4: @ 80984F4 - push {lr} - movs r0, 0xFF - movs r1, 0 - movs r2, 0 - bl GetFieldObjectIdByLocalIdAndMap - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r0, r1 - bl FieldObjectClearAnimIfSpecialAnimFinished - bl sub_80D338C - bl UnfreezeMapObjects - pop {r0} - bx r0 - .pool - thumb_func_end sub_80984F4 - - thumb_func_start sub_8098524 -sub_8098524: @ 8098524 - push {r4,lr} - ldr r4, =gMapObjects - ldr r0, =gSelectedMapObject - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r4 - ldrb r0, [r1] - lsls r0, 31 - cmp r0, 0 - beq _08098542 - adds r0, r1, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished -_08098542: - movs r0, 0xFF - movs r1, 0 - movs r2, 0 - bl GetFieldObjectIdByLocalIdAndMap - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl FieldObjectClearAnimIfSpecialAnimFinished - bl sub_80D338C - bl UnfreezeMapObjects - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8098524 - - thumb_func_start sub_8098574 -sub_8098574: @ 8098574 - push {lr} - ldr r0, =gSelectedMapObject - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r0, r1 - ldr r1, =gSpecialVar_Facing - ldrb r1, [r1] - bl FieldObjectFaceOppositeDirection - pop {r0} - bx r0 - .pool - thumb_func_end sub_8098574 - - thumb_func_start sub_809859C -sub_809859C: @ 809859C - push {lr} - ldr r0, =gSelectedMapObject - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r0, r1 - bl FieldObjectClearAnimIfSpecialAnimActive - pop {r0} - bx r0 - .pool - thumb_func_end sub_809859C - - thumb_func_start sub_80985BC -sub_80985BC: @ 80985BC - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, =gTasks - adds r5, r0, r1 - ldrb r7, [r5, 0xC] - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _080985E8 - bl walkrun_is_standing_still - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bne _080985E8 - bl sub_808B864 - strh r4, [r5, 0x8] -_080985E8: - movs r1, 0xA - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _0809860C - ldr r0, =gMapObjects - lsls r1, r7, 3 - adds r1, r7 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1] - lsls r0, 30 - cmp r0, 0 - blt _0809860C - adds r0, r1, 0 - bl FreezeMapObject - movs r0, 0x1 - strh r0, [r5, 0xA] -_0809860C: - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _08098622 - movs r1, 0xA - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _08098622 - adds r0, r6, 0 - bl DestroyTask -_08098622: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80985BC - - thumb_func_start sub_8098630 -sub_8098630: @ 8098630 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r0, 0 - bl GetChosenApproachingTrainerMapObjectId - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gNoOfApproachingTrainers - ldrb r0, [r0] - cmp r0, 0x2 - bne _080986E0 - movs r0, 0x1 - bl GetChosenApproachingTrainerMapObjectId - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_8098074 - ldr r7, =sub_80985BC - adds r0, r7, 0 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gTasks - mov r9, r0 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - mov r1, r9 - adds r6, r0, r1 - strh r4, [r6, 0xC] - ldr r2, =gMapObjects - mov r8, r2 - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 2 - adds r1, r0, r2 - ldrb r0, [r1] - lsls r0, 30 - cmp r0, 0 - blt _0809869A - adds r0, r1, 0 - bl FreezeMapObject - movs r0, 0x1 - strh r0, [r6, 0xA] -_0809869A: - adds r0, r7, 0 - movs r1, 0x51 - bl CreateTask - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - mov r1, r9 - adds r4, r0, r1 - strh r5, [r4, 0xC] - lsls r0, r5, 3 - adds r0, r5 - lsls r0, 2 - mov r2, r8 - adds r1, r0, r2 - ldrb r0, [r1] - lsls r0, 30 - cmp r0, 0 - blt _0809871A - adds r0, r1, 0 - bl FreezeMapObject - movs r0, 0x1 - strh r0, [r4, 0xA] - b _0809871A - .pool -_080986E0: - adds r0, r4, 0 - bl FreezeMapObjectsExceptOne - ldr r0, =sub_80985BC - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r5, r0, r1 - strh r4, [r5, 0xC] - ldr r1, =gMapObjects - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 2 - adds r1, r0, r1 - ldrb r0, [r1] - lsls r0, 30 - cmp r0, 0 - blt _0809871A - adds r0, r1, 0 - bl FreezeMapObject - movs r0, 0x1 - strh r0, [r5, 0xA] -_0809871A: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8098630 - - thumb_func_start sub_8098734 -sub_8098734: @ 8098734 - push {lr} - ldr r0, =sub_80985BC - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _08098750 - bl sub_808BCF4 - movs r0, 0x1 - b _08098752 - .pool -_08098750: - movs r0, 0 -_08098752: - pop {r1} - bx r1 - thumb_func_end sub_8098734 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/mon_markings.s b/asm/mon_markings.s deleted file mode 100644 index dfc375fdf..000000000 --- a/asm/mon_markings.s +++ /dev/null @@ -1,946 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_811F90C -sub_811F90C: @ 811F90C - ldr r1, =gUnknown_0203A124 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_811F90C - - thumb_func_start sub_811F918 -sub_811F918: @ 811F918 - push {lr} - sub sp, 0x4 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x14] - lsrs r0, 3 - bl GetWindowFrameTilesPal - ldr r3, =gUnknown_0203A124 - ldr r2, [r3] - ldr r1, [r0] - str r1, [r2, 0x2C] - ldr r0, [r0, 0x4] - str r0, [r2, 0x30] - ldr r0, =0x000010b4 - adds r2, r0 - movs r1, 0 - strb r1, [r2] - mov r0, sp - strh r1, [r0] - ldr r1, [r3] - adds r1, 0x34 - ldr r2, =0x01000800 - bl CpuSet - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_811F918 - - thumb_func_start sub_811F960 -sub_811F960: @ 811F960 - push {r4-r7,lr} - ldr r0, =gUnknown_0203A124 - ldr r1, [r0] - ldr r2, =0x000010b4 - adds r0, r1, r2 - ldrb r2, [r0] - lsls r0, r2, 8 - adds r0, 0x34 - adds r5, r1, r0 - cmp r2, 0xD - beq _0811FA30 - cmp r2, 0xD - bgt _0811F988 - cmp r2, 0 - beq _0811F98E - b _0811F9D8 - .pool -_0811F988: - cmp r2, 0xE - beq _0811FA7C - b _0811F9D8 -_0811F98E: - ldr r0, [r1, 0x2C] - adds r1, r5, 0 - movs r2, 0x8 - bl CpuFastSet - movs r4, 0 - adds r7, r5, 0 - adds r7, 0xE0 -_0811F99E: - ldr r6, =gUnknown_0203A124 - ldr r0, [r6] - ldr r0, [r0, 0x2C] - adds r0, 0x20 - adds r4, 0x1 - lsls r1, r4, 5 - adds r1, r5, r1 - movs r2, 0x8 - bl CpuFastSet - lsls r4, 16 - lsrs r4, 16 - cmp r4, 0x5 - bls _0811F99E - ldr r0, [r6] - ldr r0, [r0, 0x2C] - adds r0, 0x40 - adds r1, r7, 0 - movs r2, 0x8 - bl CpuFastSet - ldr r1, [r6] - ldr r0, =0x000010b4 - adds r1, r0 - b _0811FA1E - .pool -_0811F9D8: - ldr r0, =gUnknown_0203A124 - ldr r0, [r0] - ldr r0, [r0, 0x2C] - adds r0, 0x60 - adds r1, r5, 0 - movs r2, 0x8 - bl CpuFastSet - movs r4, 0 - adds r7, r5, 0 - adds r7, 0xE0 -_0811F9EE: - ldr r6, =gUnknown_0203A124 - ldr r0, [r6] - ldr r0, [r0, 0x2C] - adds r0, 0x80 - adds r4, 0x1 - lsls r1, r4, 5 - adds r1, r5, r1 - movs r2, 0x8 - bl CpuFastSet - lsls r4, 16 - lsrs r4, 16 - cmp r4, 0x5 - bls _0811F9EE - ldr r0, [r6] - ldr r0, [r0, 0x2C] - adds r0, 0xA0 - adds r1, r7, 0 - movs r2, 0x8 - bl CpuFastSet - ldr r1, [r6] - ldr r2, =0x000010b4 - adds r1, r2 -_0811FA1E: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0811FA88 - .pool -_0811FA30: - ldr r0, [r1, 0x2C] - adds r0, 0xC0 - adds r1, r5, 0 - movs r2, 0x8 - bl CpuFastSet - movs r4, 0 - adds r7, r5, 0 - adds r7, 0xE0 -_0811FA42: - ldr r6, =gUnknown_0203A124 - ldr r0, [r6] - ldr r0, [r0, 0x2C] - adds r0, 0xE0 - adds r4, 0x1 - lsls r1, r4, 5 - adds r1, r5, r1 - movs r2, 0x8 - bl CpuFastSet - lsls r4, 16 - lsrs r4, 16 - cmp r4, 0x5 - bls _0811FA42 - ldr r0, [r6] - ldr r0, [r0, 0x2C] - movs r1, 0x80 - lsls r1, 1 - adds r0, r1 - adds r1, r7, 0 - movs r2, 0x8 - bl CpuFastSet - ldr r1, [r6] - ldr r2, =0x000010b4 - adds r1, r2 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0811FA7C: - movs r0, 0 - b _0811FA8A - .pool -_0811FA88: - movs r0, 0x1 -_0811FA8A: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_811F960 - - thumb_func_start sub_811FA90 -sub_811FA90: @ 811FA90 - push {lr} - bl sub_811F918 -_0811FA96: - bl sub_811F960 - lsls r0, 24 - cmp r0, 0 - bne _0811FA96 - pop {r0} - bx r0 - thumb_func_end sub_811FA90 - - thumb_func_start sub_811FAA4 -sub_811FAA4: @ 811FAA4 - push {r4-r7,lr} - lsls r1, 16 - lsrs r5, r1, 16 - lsls r2, 16 - lsrs r6, r2, 16 - ldr r2, =gUnknown_0203A124 - ldr r3, [r2] - movs r1, 0 - strb r1, [r3, 0x5] - ldr r1, [r2] - strb r0, [r1, 0x4] - movs r3, 0 - adds r7, r2, 0 - adds r4, r7, 0 - movs r2, 0x1 -_0811FAC2: - ldr r0, [r4] - adds r1, r0, 0x6 - adds r1, r3 - ldrb r0, [r0, 0x4] - asrs r0, r3 - ands r0, r2 - strb r0, [r1] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x3 - bls _0811FAC2 - lsls r0, r5, 16 - asrs r0, 16 - lsls r1, r6, 16 - asrs r1, 16 - ldr r3, [r7] - ldrh r2, [r3] - ldrh r3, [r3, 0x2] - bl sub_811FC80 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811FAA4 - - thumb_func_start sub_811FAF8 -sub_811FAF8: @ 811FAF8 - push {r4-r7,lr} - movs r5, 0 - ldr r4, =gUnknown_0203A124 -_0811FAFE: - ldr r0, [r4] - ldrh r0, [r0] - adds r0, r5, r0 - lsls r0, 16 - lsrs r0, 16 - bl FreeSpriteTilesByTag - ldr r0, [r4] - ldrh r0, [r0, 0x2] - adds r0, r5, r0 - lsls r0, 16 - lsrs r0, 16 - bl FreeSpritePaletteByTag - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x1 - bls _0811FAFE - movs r5, 0 - ldr r6, =gUnknown_0203A124 -_0811FB28: - ldr r0, [r6] - lsls r4, r5, 2 - adds r0, 0xC - adds r0, r4 - ldr r0, [r0] - cmp r0, 0 - beq _0811FB9A - bl DestroySprite - ldr r0, [r6] - adds r0, 0xC - adds r0, r4 - movs r1, 0 - str r1, [r0] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x1 - bls _0811FB28 - movs r5, 0 - ldr r6, =gUnknown_0203A124 -_0811FB52: - ldr r0, [r6] - lsls r4, r5, 2 - adds r0, 0x14 - adds r0, r4 - ldr r0, [r0] - cmp r0, 0 - beq _0811FB9A - bl DestroySprite - ldr r0, [r6] - adds r0, 0x14 - adds r0, r4 - movs r7, 0 - str r7, [r0] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x3 - bls _0811FB52 - ldr r4, =gUnknown_0203A124 - ldr r0, [r4] - ldr r0, [r0, 0x24] - cmp r0, 0 - beq _0811FB8A - bl DestroySprite - ldr r0, [r4] - str r7, [r0, 0x24] -_0811FB8A: - ldr r0, [r4] - ldr r0, [r0, 0x28] - cmp r0, 0 - beq _0811FB9A - bl DestroySprite - ldr r0, [r4] - str r7, [r0, 0x28] -_0811FB9A: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811FAF8 - - thumb_func_start sub_811FBA4 -sub_811FBA4: @ 811FBA4 - push {r4,r5,lr} - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x40 - ands r0, r1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0 - beq _0811FBDC - movs r0, 0x5 - bl PlaySE - ldr r2, =gUnknown_0203A124 - ldr r1, [r2] - ldrb r0, [r1, 0x5] - subs r0, 0x1 - strb r0, [r1, 0x5] - lsls r0, 24 - cmp r0, 0 - bge _0811FC64 - ldr r1, [r2] - movs r0, 0x5 - strb r0, [r1, 0x5] - b _0811FC64 - .pool -_0811FBDC: - movs r0, 0x80 - ands r0, r1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - beq _0811FC0C - movs r0, 0x5 - bl PlaySE - ldr r2, =gUnknown_0203A124 - ldr r1, [r2] - ldrb r0, [r1, 0x5] - adds r0, 0x1 - strb r0, [r1, 0x5] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x5 - ble _0811FC64 - ldr r0, [r2] - strb r5, [r0, 0x5] - b _0811FC64 - .pool -_0811FC0C: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0811FC68 - movs r0, 0x5 - bl PlaySE - ldr r2, =gUnknown_0203A124 - ldr r0, [r2] - movs r1, 0x5 - ldrsb r1, [r0, r1] - cmp r1, 0x4 - beq _0811FC40 - cmp r1, 0x5 - beq _0811FC76 - adds r0, 0x6 - adds r1, r0, r1 - movs r2, 0 - ldrb r0, [r1] - cmp r0, 0 - bne _0811FC62 - movs r2, 0x1 - b _0811FC62 - .pool -_0811FC40: - strb r4, [r0, 0x4] - movs r3, 0 - adds r4, r2, 0 -_0811FC46: - ldr r2, [r4] - adds r0, r2, 0x6 - adds r0, r3 - ldrb r0, [r0] - lsls r0, r3 - ldrb r1, [r2, 0x4] - orrs r0, r1 - strb r0, [r2, 0x4] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x3 - bls _0811FC46 - b _0811FC76 -_0811FC62: - strb r2, [r1] -_0811FC64: - movs r0, 0x1 - b _0811FC78 -_0811FC68: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0811FC64 - movs r0, 0x5 - bl PlaySE -_0811FC76: - movs r0, 0 -_0811FC78: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_811FBA4 - - thumb_func_start sub_811FC80 -sub_811FC80: @ 811FC80 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x50 - mov r8, r0 - mov r9, r1 - adds r5, r2, 0 - adds r6, r3, 0 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - lsls r1, 16 - lsrs r1, 16 - mov r9, r1 - lsls r5, 16 - lsrs r5, 16 - lsls r6, 16 - lsrs r6, 16 - ldr r4, =gUnknown_0203A124 - ldr r0, [r4] - adds r0, 0x34 - str r0, [sp, 0x18] - add r1, sp, 0x1C - movs r7, 0 - movs r0, 0x80 - lsls r0, 5 - strh r0, [r1] - mov r0, sp - adds r0, 0x1E - strh r5, [r0] - add r1, sp, 0x20 - ldr r0, =gPokenavConditionMarker_Gfx - str r0, [sp, 0x20] - movs r0, 0xC8 - lsls r0, 2 - strh r0, [r1, 0x4] - adds r0, r5, 0x1 - strh r0, [r1, 0x6] - add r0, sp, 0x28 - movs r1, 0 - movs r2, 0x8 - bl memset - add r2, sp, 0x18 - mov r10, r2 - mov r0, sp - mov r1, r10 - movs r2, 0x18 - bl memcpy - ldr r0, [r4] - ldr r0, [r0, 0x30] - str r0, [sp, 0x30] - add r0, sp, 0x34 - strh r6, [r0] - add r1, sp, 0x38 - ldr r0, =gPokenavConditionMarker_Pal - str r0, [sp, 0x38] - adds r0, r6, 0x1 - strh r0, [r1, 0x4] - add r0, sp, 0x40 - movs r1, 0 - movs r2, 0x8 - bl memset - add r4, sp, 0x30 - mov r0, r10 - adds r1, r4, 0 - movs r2, 0x18 - bl memcpy - strh r5, [r4] - strh r6, [r4, 0x2] - ldr r0, =gUnknown_0859EE7C - str r0, [r4, 0x4] - ldr r0, =gUnknown_0859EF14 - str r0, [r4, 0x8] - str r7, [r4, 0xC] - ldr r0, =gDummySpriteAffineAnimTable - str r0, [r4, 0x10] - ldr r0, =TaskDummy7 - str r0, [r4, 0x14] - mov r0, sp - bl LoadSpriteSheets - mov r0, r10 - bl LoadSpritePalettes - movs r5, 0 - mov r3, r8 - lsls r3, 16 - mov r8, r3 - movs r0, 0x80 - lsls r0, 14 - add r0, r8 - mov r10, r0 - mov r1, r8 - str r1, [sp, 0x48] - mov r2, r9 - lsls r2, 16 - mov r9, r2 - movs r7, 0x80 - lsls r7, 14 - add r7, r9 - mov r3, r9 - str r3, [sp, 0x4C] -_0811FD58: - adds r0, r4, 0 - mov r2, r10 - asrs r1, r2, 16 - asrs r2, r7, 16 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x40 - bne _0811FD70 - b _0811FEFC -_0811FD70: - ldr r6, =gUnknown_0203A124 - ldr r2, [r6] - lsls r0, r5, 2 - adds r2, 0xC - adds r2, r0 - lsls r0, r3, 4 - adds r0, r3 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - str r0, [r2] - lsls r1, r5, 24 - lsrs r1, 24 - bl StartSpriteAnim - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x1 - bls _0811FD58 - ldr r0, [r6] - ldr r1, [r0, 0x10] - ldr r3, [sp, 0x4C] - asrs r0, r3, 16 - adds r0, 0x60 - strh r0, [r1, 0x22] - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - ldr r0, =gUnknown_0859EEDC - str r0, [r4, 0x8] - ldr r0, =sub_811FF40 - str r0, [r4, 0x14] - ldr r0, =gUnknown_0859EE84 - str r0, [r4, 0x4] - movs r5, 0 - ldr r0, [sp, 0x48] - movs r1, 0x80 - lsls r1, 14 - adds r0, r1 - mov r9, r0 -_0811FDC8: - lsls r2, r5, 4 - adds r2, 0x10 - ldr r3, [sp, 0x4C] - asrs r3, 16 - mov r8, r3 - add r2, r8 - lsls r2, 16 - asrs r2, 16 - adds r0, r4, 0 - mov r3, r9 - asrs r1, r3, 16 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x40 - bne _0811FDEE - b _0811FF0C -_0811FDEE: - ldr r6, =gUnknown_0203A124 - ldr r1, [r6] - lsls r0, r5, 2 - adds r1, 0x14 - adds r1, r0 - lsls r0, r3, 4 - adds r0, r3 - lsls r0, 2 - ldr r7, =gSprites - adds r0, r7 - str r0, [r1] - strh r5, [r0, 0x2E] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x3 - bls _0811FDC8 - ldr r0, =SpriteCallbackDummy - str r0, [r4, 0x14] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x40 - beq _0811FEA8 - ldr r0, [r6] - lsls r1, r3, 4 - adds r1, r3 - lsls r1, 2 - adds r1, r7 - str r1, [r0, 0x28] - ldrb r3, [r1, 0x1] - movs r2, 0x3F - adds r0, r2, 0 - ands r0, r3 - strb r0, [r1, 0x1] - ldr r0, [r6] - ldr r1, [r0, 0x28] - ldrb r0, [r1, 0x3] - ands r2, r0 - movs r0, 0x80 - orrs r2, r0 - strb r2, [r1, 0x3] - ldr r0, [r6] - ldr r0, [r0, 0x28] - movs r1, 0x9 - bl StartSpriteAnim - ldr r1, [r6] - ldr r2, [r1, 0x28] - ldr r3, [sp, 0x48] - asrs r0, r3, 16 - adds r0, 0x20 - strh r0, [r2, 0x20] - ldr r2, [r1, 0x28] - mov r0, r8 - adds r0, 0x50 - strh r0, [r2, 0x22] - ldr r0, [r1, 0x28] - movs r1, 0x1 - movs r2, 0x2 - movs r3, 0 - bl CalcCenterToCornerVec - b _0811FEAE - .pool -_0811FEA8: - ldr r1, [r6] - movs r0, 0 - str r0, [r1, 0x28] -_0811FEAE: - ldr r0, =sub_811FF7C - str r0, [r4, 0x14] - ldr r0, [sp, 0x48] - movs r2, 0xC0 - lsls r2, 12 - adds r1, r0, r2 - asrs r1, 16 - adds r0, r4, 0 - movs r2, 0 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x40 - beq _0811FF20 - ldr r0, =gUnknown_0203A124 - ldr r2, [r0] - lsls r1, r3, 4 - adds r1, r3 - lsls r1, 2 - ldr r0, =gSprites - adds r1, r0 - str r1, [r2, 0x24] - ldr r3, [sp, 0x4C] - asrs r0, r3, 16 - adds r0, 0x10 - strh r0, [r1, 0x2E] - ldr r0, [r2, 0x24] - movs r1, 0x8 - bl StartSpriteAnim - b _0811FF28 - .pool -_0811FEFC: - ldr r0, =gUnknown_0203A124 - ldr r0, [r0] - lsls r1, r5, 2 - adds r0, 0xC - b _0811FF14 - .pool -_0811FF0C: - ldr r0, =gUnknown_0203A124 - ldr r0, [r0] - lsls r1, r5, 2 - adds r0, 0x14 -_0811FF14: - adds r0, r1 - movs r1, 0 - str r1, [r0] - b _0811FF28 - .pool -_0811FF20: - ldr r0, =gUnknown_0203A124 - ldr r1, [r0] - movs r0, 0 - str r0, [r1, 0x24] -_0811FF28: - add sp, 0x50 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811FC80 - - thumb_func_start TaskDummy7 -TaskDummy7: @ 811FF3C - bx lr - thumb_func_end TaskDummy7 - - thumb_func_start sub_811FF40 -sub_811FF40: @ 811FF40 - push {lr} - adds r2, r0, 0 - ldr r0, =gUnknown_0203A124 - ldr r0, [r0] - movs r3, 0x2E - ldrsh r1, [r2, r3] - adds r0, 0x6 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _0811FF6C - lsls r1, 1 - adds r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - adds r0, r2, 0 - bl StartSpriteAnim - b _0811FF76 - .pool -_0811FF6C: - lsls r1, 25 - lsrs r1, 24 - adds r0, r2, 0 - bl StartSpriteAnim -_0811FF76: - pop {r0} - bx r0 - thumb_func_end sub_811FF40 - - thumb_func_start sub_811FF7C -sub_811FF7C: @ 811FF7C - ldr r1, =gUnknown_0203A124 - ldr r1, [r1] - ldrb r1, [r1, 0x5] - lsls r1, 24 - asrs r1, 24 - lsls r1, 4 - ldrh r2, [r0, 0x2E] - adds r1, r2 - strh r1, [r0, 0x22] - bx lr - .pool - thumb_func_end sub_811FF7C - - thumb_func_start sub_811FF94 -sub_811FF94: @ 811FF94 - push {lr} - lsls r0, 16 - lsrs r0, 16 - lsls r1, 16 - lsrs r1, 16 - cmp r2, 0 - bne _0811FFA4 - ldr r2, =gUnknown_0859E65C -_0811FFA4: - movs r3, 0x10 - bl sub_811FFD4 - pop {r1} - bx r1 - .pool - thumb_func_end sub_811FF94 - - thumb_func_start sub_811FFB4 -sub_811FFB4: @ 811FFB4 - push {lr} - lsls r0, 16 - lsrs r0, 16 - lsls r1, 16 - lsrs r1, 16 - cmp r2, 0 - bne _0811FFC4 - ldr r2, =gUnknown_0859E65C -_0811FFC4: - movs r3, 0x1 - bl sub_811FFD4 - pop {r1} - bx r1 - .pool - thumb_func_end sub_811FFB4 - - thumb_func_start sub_811FFD4 -sub_811FFD4: @ 811FFD4 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x28 - lsls r0, 16 - lsls r1, 16 - lsrs r1, 16 - ldr r4, =gUnknown_0859E67C - str r4, [sp, 0x18] - movs r4, 0x80 - add r5, sp, 0x18 - lsrs r6, r0, 16 - orrs r0, r4 - str r0, [r5, 0x4] - str r2, [sp, 0x20] - ldr r0, =0xffff0000 - mov r8, r0 - add r4, sp, 0x20 - ldr r0, [r4, 0x4] - mov r2, r8 - ands r0, r2 - orrs r0, r1 - str r0, [r4, 0x4] - mov r0, sp - movs r2, 0 - strh r6, [r0] - strh r1, [r0, 0x2] - ldr r0, =gUnknown_0859EF1C - str r0, [sp, 0x4] - ldr r0, =gUnknown_0859EFA4 - str r0, [sp, 0x8] - str r2, [sp, 0xC] - ldr r0, =gDummySpriteAffineAnimTable - str r0, [sp, 0x10] - ldr r0, =TaskDummy7 - str r0, [sp, 0x14] - lsls r3, 23 - lsrs r3, 16 - ldr r0, [r5, 0x4] - mov r1, r8 - ands r0, r1 - orrs r0, r3 - str r0, [r5, 0x4] - adds r0, r5, 0 - bl LoadSpriteSheet - adds r0, r4, 0 - bl LoadSpritePalette - mov r0, sp - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - bne _08120068 - movs r0, 0 - b _08120072 - .pool -_08120068: - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 -_08120072: - add sp, 0x28 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_811FFD4 - - thumb_func_start sub_8120084 -sub_8120084: @ 8120084 - push {lr} - lsls r0, 24 - lsrs r0, 17 - ldr r2, =gUnknown_0859E67C - adds r0, r2 - movs r2, 0x80 - movs r3, 0x10 - bl RequestDma3Copy - pop {r0} - bx r0 - .pool - thumb_func_end sub_8120084 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/party_menu.s b/asm/party_menu.s index 5d01bd745..29e2e67a6 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -410,7 +410,7 @@ _081B03A6: b _081B048C .pool _081B03B8: - bl sub_80D2F04 + bl LoadMonIconPalettes b _081B0484 _081B03BE: bl party_menu_add_per_mon_objects @@ -10793,7 +10793,7 @@ _081B5BD0: sub_81B5BDC: @ 81B5BDC push {r4,lr} adds r4, r0, 0 - bl sub_80D30DC + bl UpdateMonIconFrame lsls r0, 24 lsrs r0, 24 cmp r0, 0 @@ -10817,7 +10817,7 @@ _081B5C02: thumb_func_start sub_81B5C08 sub_81B5C08: @ 81B5C08 push {lr} - bl sub_80D30DC + bl UpdateMonIconFrame pop {r0} bx r0 thumb_func_end sub_81B5C08 diff --git a/asm/pokemon_icon.s b/asm/pokemon_icon.s deleted file mode 100644 index 40291bee4..000000000 --- a/asm/pokemon_icon.s +++ /dev/null @@ -1,822 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start CreateMonIcon -@ int CreateMonIcon(u16 speciesId, int a2, u16 a3, u16 a4, u8 a5, u32 personality, int a7) -CreateMonIcon: @ 80D2CC4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x30 - adds r4, r0, 0 - adds r6, r1, 0 - ldr r0, [sp, 0x4C] - ldr r1, [sp, 0x50] - ldr r5, [sp, 0x54] - lsls r4, 16 - lsrs r4, 16 - lsls r2, 16 - lsrs r2, 16 - mov r8, r2 - lsls r3, 16 - lsrs r7, r3, 16 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r0, =sMonIconOamData - str r0, [sp, 0x18] - adds r0, r4, 0 - adds r2, r5, 0 - bl GetMonIconPtr - str r0, [sp, 0x1C] - ldr r0, =sMonIconAnims - str r0, [sp, 0x20] - ldr r0, =sMonIconAffineAnims - str r0, [sp, 0x24] - str r6, [sp, 0x28] - ldr r0, =gMonIconPaletteIndices - adds r0, r4, r0 - ldr r1, =0x0000dac0 - adds r5, r1, 0 - ldrb r0, [r0] - adds r1, r5, r0 - add r0, sp, 0x2C - strh r1, [r0] - add r1, sp, 0x18 - mov r0, sp - movs r2, 0x18 - bl memcpy - movs r0, 0xCE - lsls r0, 1 - cmp r4, r0 - bls _080D2D2A - mov r0, sp - strh r5, [r0, 0x14] -_080D2D2A: - mov r0, r8 - lsls r1, r0, 16 - asrs r1, 16 - lsls r2, r7, 16 - asrs r2, 16 - mov r0, sp - mov r3, r9 - bl sub_80D31B4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl sub_80D30DC - adds r0, r4, 0 - add sp, 0x30 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end CreateMonIcon - - thumb_func_start sub_80D2D78 -sub_80D2D78: @ 80D2D78 - push {r4-r7,lr} - sub sp, 0x18 - adds r4, r2, 0 - adds r5, r3, 0 - ldr r6, [sp, 0x2C] - lsls r0, 16 - lsrs r0, 16 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - lsls r6, 24 - lsrs r6, 24 - mov r3, sp - ldr r2, =sMonIconOamData - str r2, [sp] - movs r2, 0 - str r2, [sp, 0x4] - ldr r2, =sMonIconAnims - str r2, [sp, 0x8] - ldr r2, =sMonIconAffineAnims - str r2, [sp, 0xC] - str r1, [sp, 0x10] - ldr r2, =gMonIconPaletteIndices - adds r2, r0, r2 - ldr r7, =0x0000dac0 - adds r1, r7, 0 - ldrb r2, [r2] - adds r1, r2 - strh r1, [r3, 0x14] - ldr r1, [sp, 0x30] - bl GetMonIconTiles - str r0, [sp, 0x4] - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 16 - mov r0, sp - adds r1, r4, 0 - adds r2, r5, 0 - adds r3, r6, 0 - bl sub_80D31B4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl sub_80D30DC - adds r0, r4, 0 - add sp, 0x18 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80D2D78 - - thumb_func_start mon_icon_convert_unown_species_id -@ u16 mon_icon_convert_unown_species_id(u16 speciesId, u32 personality) -mon_icon_convert_unown_species_id: @ 80D2E08 - push {lr} - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0xC9 - bne _080D2E32 - adds r0, r1, 0 - bl GetUnownLetterByPersonality - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - bne _080D2E24 - movs r0, 0xC9 - b _080D2E2E -_080D2E24: - movs r1, 0xCE - lsls r1, 1 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 -_080D2E2E: - adds r1, r0, 0 - b _080D2E40 -_080D2E32: - movs r0, 0xCE - lsls r0, 1 - adds r1, r2, 0 - cmp r1, r0 - bls _080D2E40 - movs r1, 0x82 - lsls r1, 1 -_080D2E40: - adds r0, r1, 0 - pop {r1} - bx r1 - thumb_func_end mon_icon_convert_unown_species_id - - thumb_func_start GetUnownLetterByPersonality -GetUnownLetterByPersonality: @ 80D2E48 - push {lr} - adds r2, r0, 0 - cmp r2, 0 - beq _080D2E7E - movs r0, 0xC0 - lsls r0, 18 - ands r0, r2 - lsrs r0, 18 - movs r1, 0xC0 - lsls r1, 10 - ands r1, r2 - lsrs r1, 12 - orrs r0, r1 - movs r1, 0xC0 - lsls r1, 2 - ands r1, r2 - lsrs r1, 6 - orrs r0, r1 - movs r1, 0x3 - ands r1, r2 - orrs r0, r1 - movs r1, 0x1C - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - b _080D2E80 -_080D2E7E: - movs r0, 0 -_080D2E80: - pop {r1} - bx r1 - thumb_func_end GetUnownLetterByPersonality - - thumb_func_start sub_80D2E84 -sub_80D2E84: @ 80D2E84 - push {r4,lr} - sub sp, 0x4 - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - mov r1, sp - bl MailSpeciesToSpecies - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xC9 - bne _080D2EBA - mov r0, sp - ldrh r0, [r0] - cmp r0, 0 - bne _080D2EAA - mov r1, sp - adds r0, 0xC9 - b _080D2EB2 -_080D2EAA: - mov r1, sp - movs r2, 0xCE - lsls r2, 1 - adds r0, r2 -_080D2EB2: - strh r0, [r1] - mov r0, sp - ldrh r0, [r0] - b _080D2ED2 -_080D2EBA: - movs r0, 0xCE - lsls r0, 1 - cmp r4, r0 - bls _080D2EC6 - movs r4, 0x82 - lsls r4, 1 -_080D2EC6: - adds r0, r4, 0 - movs r1, 0 - bl mon_icon_convert_unown_species_id - lsls r0, 16 - lsrs r0, 16 -_080D2ED2: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80D2E84 - - thumb_func_start GetMonIconPtr -@ void *GetMonIconPtr(u16 speciesId, u32 personality, bool32) -GetMonIconPtr: @ 80D2EDC - push {r4,lr} - adds r4, r2, 0 - lsls r0, 16 - lsrs r0, 16 - bl mon_icon_convert_unown_species_id - lsls r0, 16 - lsrs r0, 16 - adds r1, r4, 0 - bl GetMonIconTiles - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetMonIconPtr - - thumb_func_start sub_80D2EF8 -sub_80D2EF8: @ 80D2EF8 - push {lr} - bl sub_80D328C - pop {r0} - bx r0 - thumb_func_end sub_80D2EF8 - - thumb_func_start sub_80D2F04 -sub_80D2F04: @ 80D2F04 - push {r4,r5,lr} - movs r4, 0 - ldr r5, =gMonIconPaletteTable -_080D2F0A: - lsls r0, r4, 3 - adds r0, r5 - bl LoadSpritePalette - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _080D2F0A - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D2F04 - - thumb_func_start sub_80D2F28 -sub_80D2F28: @ 80D2F28 - push {r4,lr} - lsls r0, 16 - lsrs r1, r0, 16 - movs r0, 0xCE - lsls r0, 1 - cmp r1, r0 - bls _080D2F3A - movs r1, 0x82 - lsls r1, 1 -_080D2F3A: - ldr r0, =gMonIconPaletteIndices - adds r0, r1, r0 - ldrb r0, [r0] - ldr r1, =gMonIconPaletteTable - lsls r0, 3 - adds r4, r0, r1 - ldrh r0, [r4, 0x4] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - bne _080D2F5A - adds r0, r4, 0 - bl LoadSpritePalette -_080D2F5A: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D2F28 - - thumb_func_start sub_80D2F68 -sub_80D2F68: @ 80D2F68 - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - ldr r1, =gMonIconPaletteIndices - adds r0, r1 - ldrb r0, [r0] - ldr r1, =gMonIconPaletteTable - lsls r0, 3 - adds r4, r0, r1 - ldrh r0, [r4, 0x4] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - bne _080D2F8E - adds r0, r4, 0 - bl LoadSpritePalette -_080D2F8E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D2F68 - - thumb_func_start sub_80D2F9C -sub_80D2F9C: @ 80D2F9C - push {r4,r5,lr} - movs r4, 0 - ldr r5, =gMonIconPaletteTable -_080D2FA2: - lsls r0, r4, 3 - adds r0, r5 - ldrh r0, [r0, 0x4] - bl FreeSpritePaletteByTag - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _080D2FA2 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D2F9C - - thumb_func_start sub_80D2FC0 -sub_80D2FC0: @ 80D2FC0 - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - movs r0, 0xCE - lsls r0, 1 - cmp r1, r0 - bls _080D2FD2 - movs r1, 0x82 - lsls r1, 1 -_080D2FD2: - ldr r0, =gMonIconPaletteIndices - adds r0, r1, r0 - ldrb r0, [r0] - ldr r1, =gMonIconPaletteTable - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x4] - bl FreeSpritePaletteByTag - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D2FC0 - - thumb_func_start sub_80D2FF0 -sub_80D2FF0: @ 80D2FF0 - push {lr} - lsls r0, 16 - lsrs r0, 16 - ldr r1, =gMonIconPaletteIndices - adds r0, r1 - ldrb r0, [r0] - ldr r1, =gMonIconPaletteTable - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x4] - bl FreeSpritePaletteByTag - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D2FF0 - - thumb_func_start sub_80D3014 -sub_80D3014: @ 80D3014 - push {lr} - bl sub_80D30DC - pop {r0} - bx r0 - thumb_func_end sub_80D3014 - - thumb_func_start GetMonIconTiles -@ void *GetMonIconTiles(u16 speciesId, bool32) -GetMonIconTiles: @ 80D3020 - push {lr} - adds r3, r1, 0 - lsls r0, 16 - lsrs r0, 16 - ldr r2, =gMonIconTable - lsls r1, r0, 2 - adds r1, r2 - ldr r2, [r1] - movs r1, 0xCD - lsls r1, 1 - cmp r0, r1 - bne _080D3042 - cmp r3, 0x1 - bne _080D3042 - movs r0, 0x80 - lsls r0, 3 - adds r2, r0 -_080D3042: - adds r0, r2, 0 - pop {r1} - bx r1 - .pool - thumb_func_end GetMonIconTiles - - thumb_func_start sub_80D304C -sub_80D304C: @ 80D304C - push {r4-r6,lr} - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0xA0 - bhi _080D3074 - ldr r6, =gMonIconPaletteTable - movs r5, 0x5 -_080D305A: - ldr r0, [r6] - adds r1, r4, 0 - movs r2, 0x20 - bl LoadPalette - adds r0, r4, 0 - adds r0, 0x10 - lsls r0, 16 - lsrs r4, r0, 16 - adds r6, 0x8 - subs r5, 0x1 - cmp r5, 0 - bge _080D305A -_080D3074: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D304C - - thumb_func_start sub_80D3080 -sub_80D3080: @ 80D3080 - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - movs r0, 0xCE - lsls r0, 1 - cmp r1, r0 - bls _080D3092 - movs r1, 0x82 - lsls r1, 1 -_080D3092: - ldr r0, =gMonIconPaletteIndices - adds r0, r1, r0 - ldrb r0, [r0] - pop {r1} - bx r1 - .pool - thumb_func_end sub_80D3080 - - thumb_func_start sub_80D30A0 -sub_80D30A0: @ 80D30A0 - lsls r0, 16 - lsrs r0, 16 - ldr r1, =gMonIconPaletteIndices - adds r0, r1 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_80D30A0 - - thumb_func_start GetValidMonIconPalettePtr -GetValidMonIconPalettePtr: @ 80D30B0 - push {lr} - lsls r0, 16 - lsrs r2, r0, 16 - movs r0, 0xCE - lsls r0, 1 - cmp r2, r0 - bls _080D30C2 - movs r2, 0x82 - lsls r2, 1 -_080D30C2: - ldr r1, =gMonIconPaletteTable - ldr r0, =gMonIconPaletteIndices - adds r0, r2, r0 - ldrb r0, [r0] - lsls r0, 3 - adds r0, r1 - ldr r0, [r0] - pop {r1} - bx r1 - .pool - thumb_func_end GetValidMonIconPalettePtr - - thumb_func_start sub_80D30DC -sub_80D30DC: @ 80D30DC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r4, r0, 0 - movs r7, 0 - adds r6, r4, 0 - adds r6, 0x2C - ldrb r2, [r6] - movs r0, 0x3F - mov r9, r0 - ands r0, r2 - cmp r0, 0 - bne _080D3190 - movs r1, 0x2A - adds r1, r4 - mov r8, r1 - ldrb r1, [r1] - ldr r0, [r4, 0x8] - lsls r1, 2 - adds r1, r0 - adds r5, r4, 0 - adds r5, 0x2B - ldrb r0, [r5] - ldr r1, [r1] - lsls r0, 2 - adds r0, r1 - movs r1, 0 - ldrsh r3, [r0, r1] - movs r0, 0x2 - negs r0, r0 - cmp r3, r0 - beq _080D3126 - adds r0, 0x1 - cmp r3, r0 - bne _080D312A - b _080D31A4 -_080D3126: - strb r7, [r5] - b _080D31A4 -_080D312A: - ldr r2, =sSpriteImageSizes - ldrb r1, [r4, 0x3] - lsrs r1, 6 - lsls r1, 1 - ldrb r0, [r4, 0x1] - lsrs r0, 6 - lsls r0, 3 - adds r1, r0 - adds r1, r2 - ldrh r2, [r1] - adds r1, r2, 0 - muls r1, r3 - ldr r0, [r4, 0xC] - adds r0, r1 - ldrh r1, [r4, 0x4] - lsls r1, 22 - lsrs r1, 17 - ldr r3, =0x06010000 - adds r1, r3 - bl RequestSpriteCopy - mov r0, r8 - ldrb r1, [r0] - ldr r0, [r4, 0x8] - lsls r1, 2 - adds r1, r0 - ldrb r0, [r5] - ldr r1, [r1] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - lsls r0, 10 - lsrs r0, 26 - mov r1, r9 - ands r1, r0 - ldrb r2, [r6] - movs r0, 0x40 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r6] - ldrb r0, [r5] - adds r0, 0x1 - strb r0, [r5] - ldrb r7, [r5] - b _080D31A4 - .pool -_080D3190: - lsls r0, r2, 26 - lsrs r0, 26 - subs r0, 0x1 - movs r1, 0x3F - ands r0, r1 - movs r1, 0x40 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r6] -_080D31A4: - adds r0, r7, 0 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80D30DC - - thumb_func_start sub_80D31B4 -sub_80D31B4: @ 80D31B4 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x38 - mov r9, r0 - adds r4, r1, 0 - adds r5, r2, 0 - mov r8, r3 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r0, 0 - str r0, [sp, 0x30] - ldr r2, =sSpriteImageSizes - mov r0, r9 - ldr r6, [r0] - ldrb r1, [r6, 0x3] - lsrs r1, 6 - lsls r1, 1 - ldrb r0, [r6, 0x1] - lsrs r0, 6 - lsls r0, 3 - adds r1, r0 - adds r1, r2 - ldrh r2, [r1] - ldr r1, =0xffff0000 - add r3, sp, 0x30 - ldr r0, [r3, 0x4] - ands r0, r1 - orrs r0, r2 - str r0, [r3, 0x4] - add r1, sp, 0x18 - ldr r0, =0x0000ffff - strh r0, [r1] - mov r0, r9 - ldrh r2, [r0, 0x14] - mov r0, sp - adds r0, 0x1A - strh r2, [r0] - str r6, [sp, 0x1C] - mov r2, r9 - ldr r0, [r2, 0x8] - str r0, [sp, 0x20] - str r3, [sp, 0x24] - ldr r0, [r2, 0xC] - str r0, [sp, 0x28] - ldr r0, [r2, 0x10] - str r0, [sp, 0x2C] - mov r0, sp - movs r2, 0x18 - bl memcpy - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 16 - mov r0, sp - adds r1, r4, 0 - adds r2, r5, 0 - mov r3, r8 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r6, =gSprites - lsls r3, r0, 4 - adds r3, r0 - lsls r3, 2 - adds r4, r3, r6 - adds r5, r4, 0 - adds r5, 0x2C - ldrb r1, [r5] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r5] - adds r4, 0x3F - ldrb r2, [r4] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r4] - adds r6, 0xC - adds r3, r6 - mov r2, r9 - ldr r1, [r2, 0x4] - str r1, [r3] - add sp, 0x38 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80D31B4 - - thumb_func_start sub_80D328C -sub_80D328C: @ 80D328C - push {lr} - sub sp, 0x8 - movs r1, 0 - str r1, [sp] - ldr r3, =sSpriteImageSizes - ldrb r2, [r0, 0x3] - lsrs r2, 6 - lsls r2, 1 - ldrb r1, [r0, 0x1] - lsrs r1, 6 - lsls r1, 3 - adds r2, r1 - adds r2, r3 - ldrh r3, [r2] - ldr r2, =0xffff0000 - ldr r1, [sp, 0x4] - ands r1, r2 - orrs r1, r3 - str r1, [sp, 0x4] - mov r1, sp - str r1, [r0, 0xC] - bl DestroySprite - add sp, 0x8 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D328C - - thumb_func_start sub_80D32C8 -sub_80D32C8: @ 80D32C8 - mov r12, r0 - adds r0, 0x2A - movs r3, 0 - strb r1, [r0] - mov r2, r12 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x40 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - mov r0, r12 - adds r0, 0x2B - strb r3, [r0] - bx lr - thumb_func_end sub_80D32C8 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s index a74538fb1..21647dfdf 100644 --- a/asm/pokemon_storage_system.s +++ b/asm/pokemon_storage_system.s @@ -7034,7 +7034,7 @@ _080CAEFA: thumb_func_start sub_80CAF04 sub_80CAF04: @ 80CAF04 push {r4-r6,lr} - bl sub_80D2F04 + bl LoadMonIconPalettes movs r2, 0 ldr r3, =gUnknown_02039D08 ldr r5, =0x00000b08 diff --git a/asm/rom6.s b/asm/rom6.s deleted file mode 100644 index b103c0875..000000000 --- a/asm/rom6.s +++ /dev/null @@ -1,452 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start npc_before_player_of_type -npc_before_player_of_type: @ 8135424 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r4, =gUnknown_0203AB40 - adds r1, r4, 0x2 - adds r0, r4, 0 - bl GetXYCoordsOneStepInFrontOfPlayer - bl PlayerGetZCoord - strb r0, [r4, 0x4] - ldrh r0, [r4] - ldrh r1, [r4, 0x2] - ldrb r2, [r4, 0x4] - bl GetFieldObjectIdByXYZ - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gMapObjects - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r2, r1, r2 - ldrb r0, [r2, 0x5] - cmp r0, r5 - bne _08135470 - ldr r1, =gSpecialVar_LastTalked - ldrb r0, [r2, 0x8] - strh r0, [r1] - movs r0, 0x1 - b _08135472 - .pool -_08135470: - movs r0, 0 -_08135472: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end npc_before_player_of_type - - thumb_func_start oei_task_add -oei_task_add: @ 8135478 - push {lr} - ldr r0, =gUnknown_0203AB40 - adds r1, r0, 0x2 - bl GetXYCoordsOneStepInFrontOfPlayer - ldr r0, =task08_080C9820 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end oei_task_add - - thumb_func_start task08_080C9820 -task08_080C9820: @ 813549C - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - bl ScriptContext2_Enable - ldr r1, =gPlayerAvatar - movs r0, 0x1 - strb r0, [r1, 0x6] - ldrb r1, [r1, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r4, r0, r1 - adds r0, r4, 0 - bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive - lsls r0, 24 - cmp r0, 0 - beq _081354D2 - adds r0, r4, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished - lsls r0, 24 - cmp r0, 0 - beq _0813551E -_081354D2: - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x5 - bne _08135504 - movs r0, 0x3B - bl FieldEffectStart - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_8135578 - b _0813551C - .pool -_08135504: - bl sub_808C114 - adds r0, r4, 0 - movs r1, 0x39 - bl FieldObjectSetSpecialAnim - ldr r0, =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_813552C -_0813551C: - str r0, [r1] -_0813551E: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end task08_080C9820 - - thumb_func_start sub_813552C -sub_813552C: @ 813552C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r0, r1 - bl FieldObjectCheckIfSpecialAnimFinishedOrInactive - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08135560 - movs r0, 0x3B - bl FieldEffectStart - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_8135578 - str r0, [r1] -_08135560: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813552C - - thumb_func_start sub_8135578 -sub_8135578: @ 8135578 - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - movs r0, 0x6 - bl FieldEffectActiveListContains - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _081355FC - bl player_get_direction_lower_nybble - ldr r6, =gFieldEffectArguments - lsls r0, 24 - lsrs r0, 24 - str r0, [r6, 0x4] - cmp r0, 0x1 - bne _0813559E - str r4, [r6, 0x8] -_0813559E: - ldr r1, [r6, 0x4] - cmp r1, 0x2 - bne _081355A8 - movs r0, 0x1 - str r0, [r6, 0x8] -_081355A8: - cmp r1, 0x3 - bne _081355B0 - movs r0, 0x2 - str r0, [r6, 0x8] -_081355B0: - cmp r1, 0x4 - bne _081355B8 - movs r0, 0x3 - str r0, [r6, 0x8] -_081355B8: - ldr r5, =gPlayerAvatar - ldrb r0, [r5, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, =gMapObjects - adds r4, r0 - bl GetPlayerAvatarGraphicsIdByCurrentState - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl FieldObjectSetGraphicsId - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - ldrb r1, [r6, 0x8] - bl StartSpriteAnim - movs r0, 0x6 - bl FieldEffectActiveListRemove - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_813561C - str r1, [r0] -_081355FC: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8135578 - - thumb_func_start sub_813561C -sub_813561C: @ 813561C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x18] - lsls r1, 16 - ldrh r0, [r0, 0x1A] - orrs r1, r0 - bl _call_via_r1 - ldr r1, =gPlayerAvatar - movs r0, 0 - strb r0, [r1, 0x6] - adds r0, r4, 0 - bl DestroyTask - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813561C - - thumb_func_start sub_8135654 -sub_8135654: @ 8135654 - push {r4,lr} - bl ShouldDoBrailleStrengthEffect - lsls r0, 24 - cmp r0, 0 - beq _0813568C - ldr r4, =gSpecialVar_Result - bl GetCursorSelectionMonId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - ldr r1, =gUnknown_03005DB0 - ldr r0, =FieldCallback_Teleport - str r0, [r1] - ldr r1, =gUnknown_0203CEEC - ldr r0, =sub_8179834 - b _081356A8 - .pool -_0813568C: - movs r0, 0x56 - bl npc_before_player_of_type - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0813569E - movs r0, 0 - b _081356AC -_0813569E: - ldr r1, =gUnknown_03005DB0 - ldr r0, =FieldCallback_Teleport - str r0, [r1] - ldr r1, =gUnknown_0203CEEC - ldr r0, =sub_81356C4 -_081356A8: - str r0, [r1] - movs r0, 0x1 -_081356AC: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8135654 - - thumb_func_start sub_81356C4 -sub_81356C4: @ 81356C4 - push {lr} - bl GetCursorSelectionMonId - ldr r1, =gFieldEffectArguments - lsls r0, 24 - lsrs r0, 24 - str r0, [r1] - ldr r0, =Route111_EventScript_2907F0 - bl ScriptContext1_SetupScript - pop {r0} - bx r0 - .pool - thumb_func_end sub_81356C4 - - thumb_func_start oei_rocksmash -oei_rocksmash: @ 81356E4 - 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_8135714 - lsrs r0, r2, 16 - strh r0, [r1, 0x18] - strh r2, [r1, 0x1A] - movs r0, 0x13 - bl IncrementGameStat - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end oei_rocksmash - - thumb_func_start sub_8135714 -sub_8135714: @ 8135714 - push {lr} - movs r0, 0x83 - bl PlaySE - movs r0, 0x25 - bl FieldEffectActiveListRemove - bl EnableBothScriptContexts - pop {r0} - bx r0 - thumb_func_end sub_8135714 - - thumb_func_start sub_813572C -sub_813572C: @ 813572C - push {lr} - bl sub_80FE314 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0813573E - movs r0, 0 - b _0813574C -_0813573E: - ldr r1, =gUnknown_03005DB0 - ldr r0, =FieldCallback_Teleport - str r0, [r1] - ldr r1, =gUnknown_0203CEEC - ldr r0, =hm2_dig - str r0, [r1] - movs r0, 0x1 -_0813574C: - pop {r1} - bx r1 - .pool - thumb_func_end sub_813572C - - thumb_func_start hm2_dig -hm2_dig: @ 8135760 - push {lr} - bl Overworld_ResetStateAfterDigEscRope - movs r0, 0x26 - 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_dig - - thumb_func_start sub_8135780 -sub_8135780: @ 8135780 - 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_81357BC - lsrs r0, r2, 16 - strh r0, [r1, 0x18] - strh r2, [r1, 0x1A] - bl ShouldDoBrailleDigEffect - lsls r0, 24 - cmp r0, 0 - bne _081357AC - movs r0, 0x1 - bl SetPlayerAvatarTransitionFlags -_081357AC: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_8135780 - - thumb_func_start sub_81357BC -sub_81357BC: @ 81357BC - push {r4,lr} - movs r0, 0x26 - bl FieldEffectActiveListRemove - bl ShouldDoBrailleDigEffect - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - beq _081357D6 - bl DoBrailleDigEffect - b _081357EE -_081357D6: - ldr r0, =task08_080A1C44 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0x8] -_081357EE: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81357BC - - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/rom_8011DC0.s b/asm/rom_8011DC0.s index 4d50a5271..3a7f41d0b 100644 --- a/asm/rom_8011DC0.s +++ b/asm/rom_8011DC0.s @@ -17828,7 +17828,7 @@ _0801BD1A: bl CopyBgTilemapBufferToVram b _0801BD86 _0801BD34: - bl sub_80D2F04 + bl LoadMonIconPalettes b _0801BD86 _0801BD3A: movs r0, 0x1 @@ -17991,7 +17991,7 @@ _0801BE56: .pool _0801BE94: bl sub_801C61C - bl sub_80D2F9C + bl FreeMonIconPalettes b _0801BEDA _0801BE9E: ldr r0, =gUnknown_02022C60 diff --git a/asm/rotating_gate.s b/asm/rotating_gate.s deleted file mode 100644 index 9b57dc1b0..000000000 --- a/asm/rotating_gate.s +++ /dev/null @@ -1,1152 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start GetCurrentMapRotatingGatePuzzleType -GetCurrentMapRotatingGatePuzzleType: @ 80FB7E8 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - movs r0, 0x86 - lsls r0, 1 - cmp r1, r0 - bne _080FB800 - movs r0, 0x1 - b _080FB812 - .pool -_080FB800: - ldr r0, =0x0000081d - cmp r1, r0 - beq _080FB810 - movs r0, 0 - b _080FB812 - .pool -_080FB810: - movs r0, 0x2 -_080FB812: - pop {r1} - bx r1 - thumb_func_end GetCurrentMapRotatingGatePuzzleType - - thumb_func_start sub_80FB818 -sub_80FB818: @ 80FB818 - push {r4-r6,lr} - movs r0, 0x80 - lsls r0, 7 - bl GetVarPointer - adds r5, r0, 0 - movs r3, 0 - ldr r4, =gUnknown_0203A048 - ldrb r0, [r4] - cmp r3, r0 - bge _080FB844 - ldr r6, =gUnknown_0203A044 -_080FB830: - adds r2, r5, r3 - ldr r1, [r6] - lsls r0, r3, 3 - adds r0, r1 - ldrb r0, [r0, 0x5] - strb r0, [r2] - adds r3, 0x1 - ldrb r0, [r4] - cmp r3, r0 - blt _080FB830 -_080FB844: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FB818 - - thumb_func_start sub_80FB854 -sub_80FB854: @ 80FB854 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x80 - lsls r0, 7 - bl GetVarPointer - adds r0, r4 - ldrb r0, [r0] - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80FB854 - - thumb_func_start sub_80FB870 -sub_80FB870: @ 80FB870 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - movs r0, 0x80 - lsls r0, 7 - bl GetVarPointer - adds r0, r4 - strb r5, [r0] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80FB870 - - thumb_func_start sub_80FB890 -sub_80FB890: @ 80FB890 - push {r4,r5,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r5, 0 - bl sub_80FB854 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r4, 0x1 - bne _080FB8B4 - cmp r1, 0 - beq _080FB8B0 - subs r0, r1, 0x1 - lsls r0, 24 - b _080FB8BE -_080FB8B0: - movs r1, 0x3 - b _080FB8C0 -_080FB8B4: - adds r1, 0x1 - lsls r1, 24 - movs r0, 0xC0 - lsls r0, 18 - ands r0, r1 -_080FB8BE: - lsrs r1, r0, 24 -_080FB8C0: - adds r0, r5, 0 - bl sub_80FB870 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80FB890 - - thumb_func_start sub_80FB8CC -sub_80FB8CC: @ 80FB8CC - push {lr} - bl GetCurrentMapRotatingGatePuzzleType - cmp r0, 0x1 - beq _080FB8E0 - cmp r0, 0x1 - ble _080FB914 - cmp r0, 0x2 - beq _080FB8F8 - b _080FB914 -_080FB8E0: - ldr r1, =gUnknown_0203A044 - ldr r0, =gUnknown_0858E8B0 - str r0, [r1] - ldr r1, =gUnknown_0203A048 - movs r0, 0x8 - b _080FB902 - .pool -_080FB8F8: - ldr r1, =gUnknown_0203A044 - ldr r0, =gUnknown_0858E8F0 - str r0, [r1] - ldr r1, =gUnknown_0203A048 - movs r0, 0xB -_080FB902: - strb r0, [r1] - movs r1, 0 - ldr r3, =gUnknown_0203A038 - movs r2, 0x40 -_080FB90A: - adds r0, r1, r3 - strb r2, [r0] - adds r1, 0x1 - cmp r1, 0xA - bls _080FB90A -_080FB914: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FB8CC - - thumb_func_start sub_80FB928 -sub_80FB928: @ 80FB928 - 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 - str r0, [sp] - lsls r1, 16 - lsrs r1, 16 - mov r10, r1 - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - ldrh r1, [r2] - subs r0, r1, 0x2 - lsls r0, 16 - lsrs r3, r0, 16 - adds r1, 0x11 - lsls r1, 16 - lsrs r1, 16 - mov r9, r1 - ldrh r1, [r2, 0x2] - subs r0, r1, 0x2 - lsls r0, 16 - lsrs r2, r0, 16 - adds r1, 0xE - lsls r1, 16 - lsrs r1, 16 - mov r8, r1 - movs r5, 0 - ldr r0, =gUnknown_0203A048 - ldrb r0, [r0] - cmp r5, r0 - bcs _080FB9DA - lsls r0, r2, 16 - asrs r7, r0, 16 - lsls r0, r3, 16 - asrs r6, r0, 16 -_080FB976: - ldr r0, =gUnknown_0203A044 - ldr r0, [r0] - lsls r1, r5, 3 - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x7 - lsls r0, 16 - lsrs r2, r0, 16 - ldrh r0, [r1, 0x2] - adds r0, 0x7 - lsls r0, 16 - asrs r1, r0, 16 - cmp r7, r1 - bgt _080FB9CC - mov r3, r8 - lsls r0, r3, 16 - asrs r0, 16 - cmp r0, r1 - blt _080FB9CC - lsls r0, r2, 16 - asrs r1, r0, 16 - cmp r6, r1 - bgt _080FB9CC - mov r2, r9 - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, r1 - blt _080FB9CC - ldr r0, =gUnknown_0203A038 - adds r4, r5, r0 - ldrb r0, [r4] - cmp r0, 0x40 - bne _080FB9CC - ldr r3, [sp] - lsls r1, r3, 16 - mov r0, r10 - lsls r2, r0, 16 - adds r0, r5, 0 - asrs r1, 16 - asrs r2, 16 - bl sub_80FB9FC - strb r0, [r4] -_080FB9CC: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gUnknown_0203A048 - ldrb r0, [r0] - cmp r5, r0 - bcc _080FB976 -_080FB9DA: - 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_80FB928 - - thumb_func_start sub_80FB9FC -sub_80FB9FC: @ 80FB9FC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x18 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 16 - lsrs r7, r1, 16 - lsls r2, 16 - lsrs r2, 16 - mov r8, r2 - ldr r0, =gUnknown_0203A044 - lsls r1, r6, 3 - ldr r0, [r0] - adds r4, r0, r1 - ldrb r0, [r4, 0x4] - cmp r0, 0 - beq _080FBA24 - cmp r0, 0x4 - bne _080FBA34 -_080FBA24: - mov r1, sp - ldr r0, =gUnknown_08591FE0 - b _080FBA38 - .pool -_080FBA34: - mov r1, sp - ldr r0, =gUnknown_08591FC8 -_080FBA38: - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - mov r2, sp - ldrb r0, [r4, 0x4] - movs r3, 0x98 - lsls r3, 5 - adds r1, r3, 0 - adds r0, r1 - strh r0, [r2] - mov r0, sp - movs r1, 0 - movs r2, 0 - movs r3, 0x94 - bl CreateSprite - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x40 - beq _080FBAD4 - ldrh r0, [r4] - adds r0, 0x7 - ldrh r1, [r4, 0x2] - adds r1, 0x7 - lsls r4, r5, 4 - adds r4, r5 - lsls r4, 2 - ldr r2, =gSprites - adds r4, r2 - strh r6, [r4, 0x2E] - movs r2, 0x3E - adds r2, r4 - mov r12, r2 - ldrb r2, [r2] - movs r3, 0x2 - orrs r2, r3 - mov r3, r12 - strb r2, [r3] - lsls r0, 16 - asrs r0, 16 - lsls r2, r7, 16 - asrs r2, 16 - adds r0, r2 - lsls r0, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - mov r3, r8 - lsls r2, r3, 16 - asrs r2, 16 - adds r1, r2 - lsls r1, 16 - asrs r1, 16 - adds r2, r4, 0 - adds r2, 0x20 - adds r3, r4, 0 - adds r3, 0x22 - bl sub_8092FF0 - adds r0, r4, 0 - bl sub_80FBB64 - adds r0, r6, 0 - bl sub_80FB854 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAffineAnim - adds r0, r5, 0 - b _080FBAD6 - .pool -_080FBAD4: - movs r0, 0x40 -_080FBAD6: - add sp, 0x18 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80FB9FC - - thumb_func_start sub_80FBAE4 -sub_80FBAE4: @ 80FBAE4 - push {r4-r7,lr} - adds r6, r0, 0 - ldrh r0, [r6, 0x30] - lsls r0, 24 - lsrs r5, r0, 24 - ldrh r0, [r6, 0x32] - lsls r0, 24 - lsrs r4, r0, 24 - adds r7, r4, 0 - adds r0, r6, 0 - bl sub_80FBB64 - cmp r5, 0x1 - bne _080FBB2A - adds r0, r4, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - bl GetPlayerSpeed - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - beq _080FBB1A - adds r0, r4, 0 - adds r0, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 -_080FBB1A: - movs r0, 0x30 - bl PlaySE - adds r0, r6, 0 - adds r1, r4, 0 - bl StartSpriteAffineAnim - b _080FBB58 -_080FBB2A: - cmp r5, 0x2 - bne _080FBB58 - adds r0, r7, 0 - adds r0, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - bl GetPlayerSpeed - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - beq _080FBB4A - adds r0, r4, 0 - adds r0, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 -_080FBB4A: - movs r0, 0x30 - bl PlaySE - adds r0, r6, 0 - adds r1, r4, 0 - bl StartSpriteAffineAnim -_080FBB58: - movs r0, 0 - strh r0, [r6, 0x30] - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80FBAE4 - - thumb_func_start sub_80FBB64 -sub_80FBB64: @ 80FBB64 - push {r4-r6,lr} - mov r12, r0 - mov r4, r12 - adds r4, 0x3E - ldrb r0, [r4] - movs r5, 0x5 - negs r5, r5 - ands r5, r0 - strb r5, [r4] - mov r0, r12 - ldrh r1, [r0, 0x24] - ldrh r2, [r0, 0x20] - adds r1, r2 - adds r0, 0x28 - movs r2, 0 - ldrsb r2, [r0, r2] - ldr r0, =gSpriteCoordOffsetX - adds r2, r1 - ldrh r0, [r0] - adds r2, r0 - lsls r2, 16 - mov r3, r12 - ldrh r1, [r3, 0x26] - ldrh r0, [r3, 0x22] - adds r1, r0 - mov r0, r12 - adds r0, 0x29 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - ldr r3, =gSpriteCoordOffsetY - adds r0, r1 - ldrh r3, [r3] - adds r0, r3 - lsls r0, 16 - movs r3, 0x80 - lsls r3, 15 - adds r1, r2, r3 - lsrs r1, 16 - lsrs r6, r0, 16 - adds r0, r3 - lsrs r3, r0, 16 - asrs r2, 16 - cmp r2, 0xFF - bgt _080FBBCA - lsls r0, r1, 16 - asrs r0, 16 - movs r1, 0x10 - negs r1, r1 - cmp r0, r1 - bge _080FBBD2 -_080FBBCA: - movs r1, 0x4 - adds r0, r5, 0 - orrs r0, r1 - strb r0, [r4] -_080FBBD2: - lsls r0, r6, 16 - asrs r0, 16 - cmp r0, 0xAF - bgt _080FBBE6 - lsls r0, r3, 16 - asrs r0, 16 - movs r1, 0x10 - negs r1, r1 - cmp r0, r1 - bge _080FBBF2 -_080FBBE6: - mov r0, r12 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_080FBBF2: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FBB64 - - thumb_func_start LoadRotatingGatePics -@ void LoadRotatingGatePics() -LoadRotatingGatePics: @ 80FBC00 - push {lr} - ldr r0, =gUnknown_08591D58 - bl LoadSpriteSheets - pop {r0} - bx r0 - .pool - thumb_func_end LoadRotatingGatePics - - thumb_func_start sub_80FBC10 -sub_80FBC10: @ 80FBC10 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - ldrh r1, [r2] - subs r0, r1, 0x2 - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - adds r1, 0x11 - lsls r1, 16 - lsrs r1, 16 - mov r9, r1 - ldrh r1, [r2, 0x2] - subs r0, r1, 0x2 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - adds r1, 0xE - lsls r1, 16 - lsrs r7, r1, 16 - movs r6, 0 - b _080FBCB6 - .pool -_080FBC48: - ldr r0, =gUnknown_0203A044 - ldr r0, [r0] - lsls r1, r6, 3 - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x7 - lsls r0, 16 - lsrs r2, r0, 16 - ldrh r0, [r1, 0x2] - adds r0, 0x7 - lsls r0, 16 - lsrs r3, r0, 16 - ldr r0, =gUnknown_0203A038 - adds r0, r6, r0 - ldrb r0, [r0] - cmp r0, 0x40 - beq _080FBCB4 - lsls r0, r2, 16 - mov r2, r10 - lsls r1, r2, 16 - asrs r2, r0, 16 - cmp r0, r1 - blt _080FBC94 - mov r1, r9 - lsls r0, r1, 16 - asrs r0, 16 - cmp r2, r0 - bgt _080FBC94 - lsls r0, r3, 16 - mov r2, r8 - lsls r1, r2, 16 - asrs r2, r0, 16 - cmp r0, r1 - blt _080FBC94 - lsls r0, r7, 16 - asrs r0, 16 - cmp r2, r0 - ble _080FBCB4 -_080FBC94: - ldr r0, =gUnknown_0203A038 - adds r5, r6, r0 - ldrb r0, [r5] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, =gSprites - adds r4, r0 - adds r0, r4, 0 - bl FreeSpriteOamMatrix - adds r0, r4, 0 - bl DestroySprite - movs r0, 0x40 - strb r0, [r5] -_080FBCB4: - adds r6, 0x1 -_080FBCB6: - ldr r0, =gUnknown_0203A048 - ldrb r0, [r0] - cmp r6, r0 - blt _080FBC48 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FBC10 - - thumb_func_start sub_80FBCDC -sub_80FBCDC: @ 80FBCDC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - lsls r0, 24 - lsrs r4, r0, 24 - cmp r1, 0x1 - bne _080FBCFC - ldr r0, =gUnknown_08592058 - mov r10, r0 - b _080FBD08 - .pool -_080FBCFC: - cmp r1, 0x2 - beq _080FBD04 -_080FBD00: - movs r0, 0 - b _080FBD98 -_080FBD04: - ldr r1, =gUnknown_08592038 - mov r10, r1 -_080FBD08: - adds r0, r4, 0 - bl sub_80FB854 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - ldr r0, =gUnknown_0203A044 - ldr r1, [r0] - lsls r0, r4, 3 - adds r0, r1 - ldrb r2, [r0, 0x4] - ldrh r1, [r0] - adds r1, 0x7 - ldrh r0, [r0, 0x2] - adds r0, 0x7 - movs r3, 0 - lsls r2, 3 - str r2, [sp, 0x4] - lsls r1, 16 - asrs r1, 16 - mov r9, r1 - lsls r0, 16 - asrs r0, 16 - mov r8, r0 -_080FBD38: - movs r6, 0 - ldr r2, [sp] - adds r7, r2, r3 - lsls r0, r3, 1 - adds r5, r7, 0 - ldr r1, [sp, 0x4] - adds r0, r1 - ldr r2, =gUnknown_08592078 - adds r4, r0, r2 -_080FBD4A: - adds r0, r5, 0 - cmp r5, 0 - bge _080FBD52 - adds r0, r7, 0x3 -_080FBD52: - asrs r0, 2 - lsls r0, 2 - subs r0, r5, r0 - lsls r0, 1 - adds r0, r6 - lsls r0, 24 - lsrs r1, r0, 24 - ldrb r0, [r4] - cmp r0, 0 - beq _080FBD88 - lsls r1, 2 - add r1, r10 - movs r0, 0 - ldrsb r0, [r1, r0] - add r0, r9 - ldrb r1, [r1, 0x1] - lsls r1, 24 - asrs r1, 24 - add r1, r8 - str r3, [sp, 0x8] - bl MapGridIsImpassableAt - lsls r0, 24 - lsrs r0, 24 - ldr r3, [sp, 0x8] - cmp r0, 0x1 - beq _080FBD00 -_080FBD88: - adds r4, 0x1 - adds r6, 0x1 - cmp r6, 0x1 - ble _080FBD4A - adds r3, 0x1 - cmp r3, 0x3 - ble _080FBD38 - movs r0, 0x1 -_080FBD98: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80FBCDC - - thumb_func_start sub_80FBDB4 -sub_80FBDB4: @ 80FBDB4 - push {r4-r6,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - lsls r4, 24 - lsrs r5, r4, 24 - lsrs r4, 25 - movs r0, 0x1 - ands r5, r0 - adds r0, r6, 0 - bl sub_80FB854 - subs r4, r0 - adds r1, r4, 0x4 - adds r0, r1, 0 - cmp r1, 0 - bge _080FBDDA - adds r0, r4, 0x7 -_080FBDDA: - asrs r0, 2 - lsls r0, 2 - subs r0, r1, r0 - ldr r1, =gUnknown_0203A044 - ldr r2, [r1] - lsls r1, r6, 3 - adds r1, r2 - ldrb r1, [r1, 0x4] - ldr r2, =gUnknown_08592078 - lsls r0, 24 - asrs r0, 23 - adds r0, r5 - lsls r1, 3 - adds r0, r1 - adds r0, r2 - ldrb r0, [r0] - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80FBDB4 - - thumb_func_start sub_80FBE08 -sub_80FBE08: @ 80FBE08 - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r0, =gUnknown_0203A038 - adds r2, r3, r0 - ldrb r0, [r2] - cmp r0, 0x40 - beq _080FBE2C - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, =gSprites - adds r4, r0 - strh r1, [r4, 0x30] - adds r0, r3, 0 - bl sub_80FB854 - strh r0, [r4, 0x32] -_080FBE2C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FBE08 - - thumb_func_start sub_80FBE3C -sub_80FBE3C: @ 80FBE3C - push {lr} - lsls r0, 24 - lsrs r0, 24 - adds r3, r0, 0 - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r2, 16 - cmp r0, 0x2 - bne _080FBE58 - ldr r3, =gUnknown_08591FF8 - b _080FBE7A - .pool -_080FBE58: - cmp r0, 0x1 - bne _080FBE64 - ldr r3, =gUnknown_08592008 - b _080FBE7A - .pool -_080FBE64: - cmp r0, 0x3 - bne _080FBE70 - ldr r3, =gUnknown_08592018 - b _080FBE7A - .pool -_080FBE70: - cmp r3, 0x4 - beq _080FBE78 - movs r0, 0xFF - b _080FBE88 -_080FBE78: - ldr r3, =gUnknown_08592028 -_080FBE7A: - lsls r0, r2, 16 - lsls r1, 16 - asrs r1, 16 - asrs r0, 14 - adds r0, r1 - adds r0, r3, r0 - ldrb r0, [r0] -_080FBE88: - pop {r1} - bx r1 - .pool - thumb_func_end sub_80FBE3C - - thumb_func_start sub_80FBE90 -sub_80FBE90: @ 80FBE90 - push {lr} - bl GetCurrentMapRotatingGatePuzzleType - cmp r0, 0 - beq _080FBEA2 - bl sub_80FB8CC - bl sub_80FB818 -_080FBEA2: - pop {r0} - bx r0 - thumb_func_end sub_80FBE90 - - thumb_func_start RotatingGatePuzzleCameraUpdate -@ void RotatingGatePuzzleCameraUpdate(s32 deltaX, s32 deltaY) -RotatingGatePuzzleCameraUpdate: @ 80FBEA8 - push {r4,r5,lr} - lsls r0, 16 - lsrs r4, r0, 16 - lsls r1, 16 - lsrs r5, r1, 16 - bl GetCurrentMapRotatingGatePuzzleType - cmp r0, 0 - beq _080FBECA - lsls r0, r4, 16 - asrs r0, 16 - lsls r1, r5, 16 - asrs r1, 16 - bl sub_80FB928 - bl sub_80FBC10 -_080FBECA: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end RotatingGatePuzzleCameraUpdate - - thumb_func_start RotatingGate_InitPuzzleAndGraphics -RotatingGate_InitPuzzleAndGraphics: @ 80FBED0 - push {lr} - bl GetCurrentMapRotatingGatePuzzleType - cmp r0, 0 - beq _080FBEEA - bl LoadRotatingGatePics - bl sub_80FB8CC - movs r0, 0 - movs r1, 0 - bl sub_80FB928 -_080FBEEA: - pop {r0} - bx r0 - thumb_func_end RotatingGate_InitPuzzleAndGraphics - - thumb_func_start CheckForRotatingGatePuzzleCollision -CheckForRotatingGatePuzzleCollision: @ 80FBEF0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r1, 16 - lsrs r4, r1, 16 - lsls r2, 16 - lsrs r2, 16 - mov r8, r2 - bl GetCurrentMapRotatingGatePuzzleType - cmp r0, 0 - bne _080FBF24 - b _080FBFC2 -_080FBF12: - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80FBE08 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80FB890 - b _080FBFC2 -_080FBF24: - movs r6, 0 - ldr r0, =gUnknown_0203A048 - ldrb r0, [r0] - cmp r6, r0 - bge _080FBFC2 - lsls r0, r4, 16 - asrs r7, r0, 16 -_080FBF32: - ldr r0, =gUnknown_0203A044 - ldr r1, [r0] - lsls r0, r6, 3 - adds r0, r1 - ldrh r1, [r0] - adds r1, 0x7 - ldrh r0, [r0, 0x2] - adds r0, 0x7 - lsls r0, 16 - lsrs r2, r0, 16 - lsls r1, 16 - asrs r4, r1, 16 - subs r0, r4, 0x2 - cmp r0, r7 - bgt _080FBFB8 - adds r0, r4, 0x1 - cmp r7, r0 - bgt _080FBFB8 - lsls r0, r2, 16 - asrs r3, r0, 16 - subs r1, r3, 0x2 - mov r2, r8 - lsls r0, r2, 16 - asrs r2, r0, 16 - cmp r1, r2 - bgt _080FBFB8 - adds r0, r3, 0x1 - cmp r2, r0 - bgt _080FBFB8 - subs r1, r7, r4 - adds r1, 0x2 - subs r2, r3 - adds r2, 0x2 - lsls r1, 16 - asrs r1, 16 - lsls r2, 16 - asrs r2, 16 - mov r0, r9 - bl sub_80FBE3C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _080FBFB8 - lsrs r5, r0, 4 - movs r1, 0xF - ands r1, r0 - lsls r0, r6, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_80FBDB4 - cmp r0, 0 - beq _080FBFB8 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80FBCDC - cmp r0, 0 - bne _080FBF12 - movs r0, 0x1 - b _080FBFC4 - .pool -_080FBFB8: - adds r6, 0x1 - ldr r0, =gUnknown_0203A048 - ldrb r0, [r0] - cmp r6, r0 - blt _080FBF32 -_080FBFC2: - movs r0, 0 -_080FBFC4: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end CheckForRotatingGatePuzzleCollision - - thumb_func_start sub_80FBFD4 -sub_80FBFD4: @ 80FBFD4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r1, 16 - lsrs r4, r1, 16 - lsls r2, 16 - lsrs r2, 16 - mov r8, r2 - bl GetCurrentMapRotatingGatePuzzleType - cmp r0, 0 - bne _080FBFFA - b _080FC08A -_080FBFF6: - movs r0, 0x1 - b _080FC08C -_080FBFFA: - movs r6, 0 - ldr r0, =gUnknown_0203A048 - ldrb r0, [r0] - cmp r6, r0 - bge _080FC08A - lsls r0, r4, 16 - asrs r7, r0, 16 -_080FC008: - ldr r0, =gUnknown_0203A044 - ldr r1, [r0] - lsls r0, r6, 3 - adds r0, r1 - ldrh r1, [r0] - adds r1, 0x7 - ldrh r0, [r0, 0x2] - adds r0, 0x7 - lsls r0, 16 - lsrs r2, r0, 16 - lsls r1, 16 - asrs r4, r1, 16 - subs r0, r4, 0x2 - cmp r0, r7 - bgt _080FC080 - adds r0, r4, 0x1 - cmp r7, r0 - bgt _080FC080 - lsls r0, r2, 16 - asrs r3, r0, 16 - subs r1, r3, 0x2 - mov r2, r8 - lsls r0, r2, 16 - asrs r2, r0, 16 - cmp r1, r2 - bgt _080FC080 - adds r0, r3, 0x1 - cmp r2, r0 - bgt _080FC080 - subs r1, r7, r4 - adds r1, 0x2 - subs r2, r3 - adds r2, 0x2 - lsls r1, 16 - asrs r1, 16 - lsls r2, 16 - asrs r2, 16 - mov r0, r9 - bl sub_80FBE3C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _080FC080 - lsrs r5, r0, 4 - movs r1, 0xF - ands r1, r0 - lsls r0, r6, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_80FBDB4 - cmp r0, 0 - beq _080FC080 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80FBCDC - cmp r0, 0 - beq _080FBFF6 -_080FC080: - adds r6, 0x1 - ldr r0, =gUnknown_0203A048 - ldrb r0, [r0] - cmp r6, r0 - blt _080FC008 -_080FC08A: - movs r0, 0 -_080FC08C: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80FBFD4 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/script_movement.s b/asm/script_movement.s deleted file mode 100644 index 8c6a6257c..000000000 --- a/asm/script_movement.s +++ /dev/null @@ -1,577 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start ScriptMovement_StartObjectMovementScript -ScriptMovement_StartObjectMovementScript: @ 80D32E8 - push {r4,lr} - sub sp, 0x4 - adds r4, r3, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - beq _080D330A - movs r0, 0x1 - b _080D3332 -_080D330A: - ldr r0, =sub_80D3660 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _080D331C - movs r0, 0x32 - bl sub_80D33AC -_080D331C: - bl sub_80D33F4 - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - ldrb r1, [r1] - adds r2, r4, 0 - bl sub_80D3408 - lsls r0, 24 - lsrs r0, 24 -_080D3332: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end ScriptMovement_StartObjectMovementScript - - thumb_func_start ScriptMovement_IsObjectMovementFinished -ScriptMovement_IsObjectMovementFinished: @ 80D3340 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _080D3382 - bl sub_80D33F4 - lsls r0, 24 - lsrs r4, r0, 24 - mov r0, sp - ldrb r1, [r0] - adds r0, r4, 0 - bl sub_80D3474 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x10 - beq _080D3382 - adds r0, r4, 0 - bl sub_80D3584 - lsls r0, 24 - lsrs r0, 24 - b _080D3384 -_080D3382: - movs r0, 0x1 -_080D3384: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end ScriptMovement_IsObjectMovementFinished - - thumb_func_start sub_80D338C -sub_80D338C: @ 80D338C - push {r4,lr} - bl sub_80D33F4 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xFF - beq _080D33A6 - adds r0, r4, 0 - bl sub_80D361C - adds r0, r4, 0 - bl DestroyTask -_080D33A6: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80D338C - - thumb_func_start sub_80D33AC -sub_80D33AC: @ 80D33AC - push {r4,r5,lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r0, =sub_80D3660 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - movs r2, 0x1 - lsls r1, r0, 2 - adds r1, r0 - lsls r3, r1, 3 - ldr r5, =gTasks + 0x8 - ldr r0, =0x0000ffff - adds r4, r0, 0 -_080D33CC: - lsls r0, r2, 1 - adds r0, r3 - adds r0, r5 - ldrh r1, [r0] - orrs r1, r4 - strh r1, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xF - bls _080D33CC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D33AC - - thumb_func_start sub_80D33F4 -sub_80D33F4: @ 80D33F4 - push {lr} - ldr r0, =sub_80D3660 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80D33F4 - - thumb_func_start sub_80D3408 -sub_80D3408: @ 80D3408 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - mov r9, r2 - lsls r0, 24 - lsrs r5, r0, 24 - adds r7, r5, 0 - lsls r1, 24 - lsrs r6, r1, 24 - mov r8, r6 - adds r0, r5, 0 - adds r1, r6, 0 - bl sub_80D3474 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x10 - beq _080D3444 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80D3584 - lsls r0, 24 - cmp r0, 0 - beq _080D3464 - adds r0, r5, 0 - adds r1, r4, 0 - adds r2, r6, 0 - b _080D345A -_080D3444: - adds r0, r7, 0 - movs r1, 0xFF - bl sub_80D3474 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x10 - beq _080D3464 - adds r0, r7, 0 - adds r1, r4, 0 - mov r2, r8 -_080D345A: - mov r3, r9 - bl sub_80D35DC - movs r0, 0 - b _080D3466 -_080D3464: - movs r0, 0x1 -_080D3466: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80D3408 - - thumb_func_start sub_80D3474 -sub_80D3474: @ 80D3474 - 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 - adds r1, 0x2 - movs r2, 0 -_080D348C: - ldrb r0, [r1] - cmp r0, r3 - bne _080D349C - adds r0, r2, 0 - b _080D34AA - .pool -_080D349C: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - adds r1, 0x1 - cmp r2, 0xF - bls _080D348C - movs r0, 0x10 -_080D34AA: - pop {r1} - bx r1 - thumb_func_end sub_80D3474 - - thumb_func_start sub_80D34B0 -sub_80D34B0: @ 80D34B0 - 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 - adds r1, 0x2 - str r1, [r2] - movs r0, 0 - cmp r0, r3 - bcs _080D34DC -_080D34CE: - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - adds r1, 0x1 - cmp r0, r3 - bcc _080D34CE - str r1, [r2] -_080D34DC: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D34B0 - - thumb_func_start sub_80D34E4 -sub_80D34E4: @ 80D34E4 - push {r4,lr} - sub sp, 0x4 - adds r4, r2, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r4, 24 - lsrs r4, 24 - mov r2, sp - bl sub_80D34B0 - ldr r0, [sp] - strb r4, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80D34E4 - - thumb_func_start sub_80D3508 -sub_80D3508: @ 80D3508 - push {r4,lr} - sub sp, 0x4 - adds r4, r2, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r2, sp - bl sub_80D34B0 - ldr r0, [sp] - ldrb r0, [r0] - strb r0, [r4] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80D3508 - - thumb_func_start sub_80D352C -sub_80D352C: @ 80D352C - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - ldr r2, =gBitTable - lsrs r1, 22 - adds r1, r2 - ldr r2, [r1] - mvns r2, r2 - lsls r2, 16 - lsrs r2, 16 - ldr r3, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r3 - ldrh r0, [r1, 0x8] - ands r2, r0 - strh r2, [r1, 0x8] - bx lr - .pool - thumb_func_end sub_80D352C - - thumb_func_start sub_80D355C -sub_80D355C: @ 80D355C - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - ldr r3, =gTasks - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 3 - adds r2, r3 - ldr r0, =gBitTable - lsrs r1, 22 - adds r1, r0 - ldr r0, [r1] - ldrh r1, [r2, 0x8] - orrs r0, r1 - strh r0, [r2, 0x8] - bx lr - .pool - thumb_func_end sub_80D355C - - thumb_func_start sub_80D3584 -sub_80D3584: @ 80D3584 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - ldr r3, =gTasks - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 3 - adds r2, r3 - ldr r0, =gBitTable - lsrs r1, 22 - adds r1, r0 - ldr r0, [r1] - ldrh r1, [r2, 0x8] - ands r0, r1 - cmp r0, 0 - bne _080D35B4 - movs r0, 0 - b _080D35B6 - .pool -_080D35B4: - movs r0, 0x1 -_080D35B6: - pop {r1} - bx r1 - thumb_func_end sub_80D3584 - - thumb_func_start npc_obj_offscreen_culling_and_flag_update -npc_obj_offscreen_culling_and_flag_update: @ 80D35BC - lsls r0, 24 - ldr r2, =gUnknown_02039D90 - lsrs r0, 22 - adds r0, r2 - str r1, [r0] - bx lr - .pool - thumb_func_end npc_obj_offscreen_culling_and_flag_update - - thumb_func_start sub_80D35CC -sub_80D35CC: @ 80D35CC - lsls r0, 24 - ldr r1, =gUnknown_02039D90 - lsrs r0, 22 - adds r0, r1 - ldr r0, [r0] - bx lr - .pool - thumb_func_end sub_80D35CC - - thumb_func_start sub_80D35DC -sub_80D35DC: @ 80D35DC - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r5, r0, 0 - adds r4, r1, 0 - adds r6, r2, 0 - mov r8, r3 - lsls r5, 24 - lsrs r5, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r6, 24 - lsrs r6, 24 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80D352C - adds r0, r4, 0 - mov r1, r8 - bl npc_obj_offscreen_culling_and_flag_update - adds r0, r5, 0 - adds r1, r4, 0 - adds r2, r6, 0 - bl sub_80D34E4 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80D35DC - - thumb_func_start sub_80D361C -sub_80D361C: @ 80D361C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r1, r0 - adds r4, r1, 0x2 - movs r5, 0 -_080D3630: - ldrb r0, [r4] - cmp r0, 0xFF - beq _080D3646 - adds r1, r0, 0 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r0, r1 - bl npc_sync_anim_pause_bits -_080D3646: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, 0x1 - cmp r5, 0xF - bls _080D3630 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D361C - - thumb_func_start sub_80D3660 -sub_80D3660: @ 80D3660 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r7, r0, 24 - movs r5, 0 - mov r6, sp -_080D366C: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, sp - bl sub_80D3508 - ldrb r0, [r6] - cmp r0, 0xFF - beq _080D3690 - adds r4, r0, 0 - adds r0, r5, 0 - bl sub_80D35CC - adds r3, r0, 0 - adds r0, r7, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_80D36A4 -_080D3690: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xF - bls _080D366C - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80D3660 - - thumb_func_start sub_80D36A4 -sub_80D36A4: @ 80D36A4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r3, 0 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r1, 24 - lsrs r6, r1, 24 - mov r8, r6 - lsls r2, 24 - lsrs r2, 24 - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r1, =gMapObjects - adds r4, r0, r1 - adds r0, r4, 0 - bl FieldObjectIsSpecialAnimActive - lsls r0, 24 - cmp r0, 0 - beq _080D36DC - adds r0, r4, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished - lsls r0, 24 - cmp r0, 0 - beq _080D370E -_080D36DC: - ldrb r1, [r5] - cmp r1, 0xFE - bne _080D36F8 - adds r0, r7, 0 - adds r1, r6, 0 - bl sub_80D355C - adds r0, r4, 0 - bl FreezeMapObject - b _080D370E - .pool -_080D36F8: - adds r0, r4, 0 - bl FieldObjectSetSpecialAnim - lsls r0, 24 - cmp r0, 0 - bne _080D370E - adds r5, 0x1 - mov r0, r8 - adds r1, r5, 0 - bl npc_obj_offscreen_culling_and_flag_update -_080D370E: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80D36A4 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/trade.s b/asm/trade.s index 7d3ec4a8a..b96fb8ca9 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -246,7 +246,7 @@ _08077310: movs r1, 0x1 movs r2, 0xE0 bl sub_809882C - bl sub_80D2F04 + bl LoadMonIconPalettes ldr r2, =gUnknown_0203229C ldr r0, [r2] adds r0, 0x69 |