summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/field_effect.s682
-rw-r--r--asm/overworld.s6
2 files changed, 12 insertions, 676 deletions
diff --git a/asm/field_effect.s b/asm/field_effect.s
index a1ecaf384..a331a0882 100644
--- a/asm/field_effect.s
+++ b/asm/field_effect.s
@@ -5,670 +5,6 @@
.text
- thumb_func_start StartEscalatorWarp
-StartEscalatorWarp: @ 8084784
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r0, _080847B8 @ =Task_EscalatorWarpFieldEffect
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080847BC @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0
- strh r0, [r1, 0xA]
- cmp r4, 0x6A
- bne _080847B0
- movs r0, 0x1
- strh r0, [r1, 0xA]
-_080847B0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080847B8: .4byte Task_EscalatorWarpFieldEffect
-_080847BC: .4byte gTasks
- thumb_func_end StartEscalatorWarp
-
- thumb_func_start Task_EscalatorWarpFieldEffect
-Task_EscalatorWarpFieldEffect: @ 80847C0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080847F0 @ =gTasks
- adds r4, r1, r0
- ldr r5, _080847F4 @ =sEscalatorWarpFieldEffectFuncs
-_080847D2:
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r5
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- lsls r0, 24
- cmp r0, 0
- bne _080847D2
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080847F0: .4byte gTasks
-_080847F4: .4byte sEscalatorWarpFieldEffectFuncs
- thumb_func_end Task_EscalatorWarpFieldEffect
-
- thumb_func_start EscalatorWarpEffect_1
-EscalatorWarpEffect_1: @ 80847F8
- push {r4,lr}
- adds r4, r0, 0
- bl FreezeObjectEvents
- bl CameraObjectReset2
- ldrb r0, [r4, 0xA]
- bl StartEscalator
- movs r0, 0x1
- bl sub_81128BC
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end EscalatorWarpEffect_1
-
- thumb_func_start EscalatorWarpEffect_2
-EscalatorWarpEffect_2: @ 8084820
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, _08084888 @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _0808488C @ =gObjectEvents
- adds r4, r0, r1
- adds r0, r4, 0
- bl ObjectEventIsMovementOverridden
- lsls r0, 24
- cmp r0, 0
- beq _0808484A
- adds r0, r4, 0
- bl ObjectEventClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- beq _0808487E
-_0808484A:
- bl GetPlayerFacingDirection
- lsls r0, 24
- lsrs r0, 24
- bl GetFaceDirectionMovementAction
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl ObjectEventSetHeldMovement
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r5, 0x8]
- strh r1, [r5, 0xC]
- strh r1, [r5, 0xE]
- ldrb r0, [r5, 0xA]
- cmp r0, 0
- bne _08084878
- movs r0, 0x4
- strh r0, [r5, 0x8]
-_08084878:
- movs r0, 0x49
- bl PlaySE
-_0808487E:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08084888: .4byte gPlayerAvatar
-_0808488C: .4byte gObjectEvents
- thumb_func_end EscalatorWarpEffect_2
-
- thumb_func_start EscalatorWarpEffect_3
-EscalatorWarpEffect_3: @ 8084890
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80848F8
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0x3
- ble _080848AA
- bl sub_8084990
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080848AA:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end EscalatorWarpEffect_3
-
- thumb_func_start EscalatorWarpEffect_4
-EscalatorWarpEffect_4: @ 80848B4
- push {lr}
- bl sub_80848F8
- bl sub_80849A0
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end EscalatorWarpEffect_4
-
- thumb_func_start EscalatorWarpEffect_5
-EscalatorWarpEffect_5: @ 80848C4
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8084944
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0x3
- ble _080848DE
- bl sub_8084990
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080848DE:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end EscalatorWarpEffect_5
-
- thumb_func_start EscalatorWarpEffect_6
-EscalatorWarpEffect_6: @ 80848E8
- push {lr}
- bl sub_8084944
- bl sub_80849A0
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end EscalatorWarpEffect_6
-
- thumb_func_start sub_80848F8
-sub_80848F8: @ 80848F8
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, _0808493C @ =gPlayerAvatar
- ldrb r0, [r0, 0x4]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, _08084940 @ =gSprites
- adds r4, r0
- movs r0, 0xC
- ldrsh r1, [r5, r0]
- movs r0, 0x84
- bl Cos
- strh r0, [r4, 0x24]
- movs r0, 0xC
- ldrsh r1, [r5, r0]
- movs r0, 0x94
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r5, 0xE]
- adds r0, 0x1
- strh r0, [r5, 0xE]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08084936
- ldrh r0, [r5, 0xC]
- adds r0, 0x1
- strh r0, [r5, 0xC]
-_08084936:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808493C: .4byte gPlayerAvatar
-_08084940: .4byte gSprites
- thumb_func_end sub_80848F8
-
- thumb_func_start sub_8084944
-sub_8084944: @ 8084944
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, _08084988 @ =gPlayerAvatar
- ldrb r0, [r0, 0x4]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, _0808498C @ =gSprites
- adds r4, r0
- movs r0, 0xC
- ldrsh r1, [r5, r0]
- movs r0, 0x7C
- bl Cos
- strh r0, [r4, 0x24]
- movs r0, 0xC
- ldrsh r1, [r5, r0]
- movs r0, 0x76
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r5, 0xE]
- adds r0, 0x1
- strh r0, [r5, 0xE]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08084982
- ldrh r0, [r5, 0xC]
- adds r0, 0x1
- strh r0, [r5, 0xC]
-_08084982:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08084988: .4byte gPlayerAvatar
-_0808498C: .4byte gSprites
- thumb_func_end sub_8084944
-
- thumb_func_start sub_8084990
-sub_8084990: @ 8084990
- push {lr}
- bl sub_8055F88
- bl sub_807DC18
- pop {r0}
- bx r0
- thumb_func_end sub_8084990
-
- thumb_func_start sub_80849A0
-sub_80849A0: @ 80849A0
- push {lr}
- ldr r0, _080849E0 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080849DC
- bl BGMusicStopped
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080849DC
- bl StopEscalator
- bl WarpIntoMap
- ldr r1, _080849E4 @ =gFieldCallback
- ldr r0, _080849E8 @ =sub_80849F4
- str r0, [r1]
- ldr r0, _080849EC @ =CB2_LoadMap
- bl SetMainCallback2
- ldr r0, _080849F0 @ =Task_EscalatorWarpFieldEffect
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_080849DC:
- pop {r0}
- bx r0
- .align 2, 0
-_080849E0: .4byte gPaletteFade
-_080849E4: .4byte gFieldCallback
-_080849E8: .4byte sub_80849F4
-_080849EC: .4byte CB2_LoadMap
-_080849F0: .4byte Task_EscalatorWarpFieldEffect
- thumb_func_end sub_80849A0
-
- thumb_func_start sub_80849F4
-sub_80849F4: @ 80849F4
- push {lr}
- bl Overworld_PlaySpecialMapMusic
- bl pal_fill_for_maplights
- bl sub_8111CF0
- bl ScriptContext2_Enable
- bl FreezeObjectEvents
- ldr r0, _08084A1C @ =sub_8084A24
- movs r1, 0
- bl CreateTask
- ldr r1, _08084A20 @ =gFieldCallback
- movs r0, 0
- str r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_08084A1C: .4byte sub_8084A24
-_08084A20: .4byte gFieldCallback
- thumb_func_end sub_80849F4
-
- thumb_func_start sub_8084A24
-sub_8084A24: @ 8084A24
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _08084A54 @ =gTasks
- adds r4, r1, r0
- ldr r5, _08084A58 @ =gUnknown_83CC068
-_08084A36:
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r5
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- lsls r0, 24
- cmp r0, 0
- bne _08084A36
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08084A54: .4byte gTasks
-_08084A58: .4byte gUnknown_83CC068
- thumb_func_end sub_8084A24
-
- thumb_func_start sub_8084A5C
-sub_8084A5C: @ 8084A5C
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- bl CameraObjectReset2
- ldr r0, _08084ABC @ =gPlayerAvatar
- ldrb r0, [r0, 0x5]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, _08084AC0 @ =gObjectEvents
- adds r4, r0
- movs r0, 0x4
- bl GetFaceDirectionMovementAction
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl ObjectEventSetHeldMovement
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl PlayerGetDestCoords
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r1, r0, 24
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0x10
- strh r0, [r5, 0xA]
- cmp r1, 0x6B
- bne _08084AC4
- movs r1, 0x1
- movs r0, 0x3
- strh r0, [r5, 0x8]
- b _08084AC6
- .align 2, 0
-_08084ABC: .4byte gPlayerAvatar
-_08084AC0: .4byte gObjectEvents
-_08084AC4:
- movs r1, 0
-_08084AC6:
- adds r0, r1, 0
- bl StartEscalator
- movs r0, 0x1
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8084A5C
-
- thumb_func_start sub_8084AD8
-sub_8084AD8: @ 8084AD8
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, _08084B10 @ =gPlayerAvatar
- ldrb r0, [r0, 0x4]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, _08084B14 @ =gSprites
- adds r4, r0
- movs r0, 0xA
- ldrsh r1, [r5, r0]
- movs r0, 0x84
- bl Cos
- strh r0, [r4, 0x24]
- movs r0, 0xA
- ldrsh r1, [r5, r0]
- movs r0, 0x94
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08084B10: .4byte gPlayerAvatar
-_08084B14: .4byte gSprites
- thumb_func_end sub_8084AD8
-
- thumb_func_start sub_8084B18
-sub_8084B18: @ 8084B18
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r0, _08084B70 @ =gPlayerAvatar
- ldrb r1, [r0, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08084B74 @ =gSprites
- adds r5, r0, r1
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- movs r0, 0x84
- bl Cos
- strh r0, [r5, 0x24]
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- movs r0, 0x94
- bl Sin
- strh r0, [r5, 0x26]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08084B56
- ldrh r0, [r4, 0xA]
- subs r0, 0x1
- strh r0, [r4, 0xA]
-_08084B56:
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08084B66
- strh r0, [r5, 0x24]
- strh r0, [r5, 0x26]
- movs r0, 0x5
- strh r0, [r4, 0x8]
-_08084B66:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08084B70: .4byte gPlayerAvatar
-_08084B74: .4byte gSprites
- thumb_func_end sub_8084B18
-
- thumb_func_start sub_8084B78
-sub_8084B78: @ 8084B78
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, _08084BB0 @ =gPlayerAvatar
- ldrb r0, [r0, 0x4]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, _08084BB4 @ =gSprites
- adds r4, r0
- movs r0, 0xA
- ldrsh r1, [r5, r0]
- movs r0, 0x7C
- bl Cos
- strh r0, [r4, 0x24]
- movs r0, 0xA
- ldrsh r1, [r5, r0]
- movs r0, 0x76
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08084BB0: .4byte gPlayerAvatar
-_08084BB4: .4byte gSprites
- thumb_func_end sub_8084B78
-
- thumb_func_start sub_8084BB8
-sub_8084BB8: @ 8084BB8
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r0, _08084C10 @ =gPlayerAvatar
- ldrb r1, [r0, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08084C14 @ =gSprites
- adds r5, r0, r1
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- movs r0, 0x7C
- bl Cos
- strh r0, [r5, 0x24]
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- movs r0, 0x76
- bl Sin
- strh r0, [r5, 0x26]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08084BF6
- ldrh r0, [r4, 0xA]
- subs r0, 0x1
- strh r0, [r4, 0xA]
-_08084BF6:
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08084C08
- strh r0, [r5, 0x24]
- strh r0, [r5, 0x26]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_08084C08:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08084C10: .4byte gPlayerAvatar
-_08084C14: .4byte gSprites
- thumb_func_end sub_8084BB8
-
- thumb_func_start sub_8084C18
-sub_8084C18: @ 8084C18
- push {r4,lr}
- adds r4, r0, 0
- bl IsEscalatorMoving
- lsls r0, 24
- cmp r0, 0
- bne _08084C34
- bl StopEscalator
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0x1
- b _08084C36
-_08084C34:
- movs r0, 0
-_08084C36:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8084C18
-
- thumb_func_start sub_8084C3C
-sub_8084C3C: @ 8084C3C
- push {r4,lr}
- ldr r0, _08084C94 @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _08084C98 @ =gObjectEvents
- adds r4, r0, r1
- adds r0, r4, 0
- bl ObjectEventClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- beq _08084C8A
- bl CameraObjectReset1
- bl ScriptContext2_Disable
- bl UnfreezeObjectEvents
- movs r0, 0x4
- bl GetWalkNormalMovementAction
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl ObjectEventSetHeldMovement
- ldr r0, _08084C9C @ =sub_8084A24
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- movs r0, 0x2
- bl sub_81128BC
-_08084C8A:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08084C94: .4byte gPlayerAvatar
-_08084C98: .4byte gObjectEvents
-_08084C9C: .4byte sub_8084A24
- thumb_func_end sub_8084C3C
-
thumb_func_start FldEff_UseWaterfall
FldEff_UseWaterfall: @ 8084CA0
push {r4,lr}
@@ -1304,8 +640,8 @@ _08085144:
LavaridgeGymB1FWarpEffect_5: @ 808514C
push {r4,lr}
adds r4, r0, 0
- bl sub_8055F88
- bl sub_807DC18
+ bl TryFadeOutOldMapMusic
+ bl WarpFadeOutScreen
ldrh r0, [r4, 0x8]
adds r0, 0x1
strh r0, [r4, 0x8]
@@ -1808,8 +1144,8 @@ LavaridgeGym1FWarpEffect_4: @ 8085524
lsls r0, 24
cmp r0, 0
bne _08085542
- bl sub_8055F88
- bl sub_807DC18
+ bl TryFadeOutOldMapMusic
+ bl WarpFadeOutScreen
ldrh r0, [r4, 0x8]
adds r0, 0x1
strh r0, [r4, 0x8]
@@ -2032,8 +1368,8 @@ _080856DC:
bl sub_80857F0
cmp r0, 0
bne _08085702
- bl sub_8055F88
- bl sub_807DC18
+ bl TryFadeOutOldMapMusic
+ bl WarpFadeOutScreen
movs r0, 0x1
strh r0, [r4, 0x8]
_08085702:
@@ -2823,8 +2159,8 @@ _08085D04:
ldrh r0, [r4, 0x8]
adds r0, 0x1
strh r0, [r4, 0x8]
- bl sub_8055F88
- bl sub_807DC18
+ bl TryFadeOutOldMapMusic
+ bl WarpFadeOutScreen
_08085D1A:
add sp, 0x8
pop {r4,r5}
@@ -5376,7 +4712,7 @@ sub_8087118: @ 8087118
lsls r0, 24
cmp r0, 0
beq _08087132
- bl sub_807DC18
+ bl WarpFadeOutScreen
ldrh r0, [r4, 0x8]
adds r0, 0x1
strh r0, [r4, 0x8]
diff --git a/asm/overworld.s b/asm/overworld.s
index 930b94de1..d8b87c987 100644
--- a/asm/overworld.s
+++ b/asm/overworld.s
@@ -2611,8 +2611,8 @@ _08055F82:
bx r1
thumb_func_end GetMapMusicFadeoutSpeed
- thumb_func_start sub_8055F88
-sub_8055F88: @ 8055F88
+ thumb_func_start TryFadeOutOldMapMusic
+TryFadeOutOldMapMusic: @ 8055F88
push {r4,lr}
bl sub_8055DA4
lsls r0, 16
@@ -2638,7 +2638,7 @@ _08055FB8:
bx r0
.align 2, 0
_08055FC0: .4byte 0x00004001
- thumb_func_end sub_8055F88
+ thumb_func_end TryFadeOutOldMapMusic
thumb_func_start BGMusicStopped
BGMusicStopped: @ 8055FC4