Fly field effect
This commit is contained in:
@@ -5,192 +5,6 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start ReturnToFieldFromFlyMapSelect
|
||||
ReturnToFieldFromFlyMapSelect: @ 80842C8
|
||||
push {lr}
|
||||
ldr r0, _080842DC @ =CB2_ReturnToField
|
||||
bl SetMainCallback2
|
||||
ldr r1, _080842E0 @ =gFieldCallback
|
||||
ldr r0, _080842E4 @ =FieldCallback_Fly
|
||||
str r0, [r1]
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080842DC: .4byte CB2_ReturnToField
|
||||
_080842E0: .4byte gFieldCallback
|
||||
_080842E4: .4byte FieldCallback_Fly
|
||||
thumb_func_end ReturnToFieldFromFlyMapSelect
|
||||
|
||||
thumb_func_start FieldCallback_Fly
|
||||
FieldCallback_Fly: @ 80842E8
|
||||
push {lr}
|
||||
bl FadeInFromBlack
|
||||
ldr r0, _08084308 @ =Task_FlyOut
|
||||
movs r1, 0
|
||||
bl CreateTask
|
||||
bl ScriptContext2_Enable
|
||||
bl FreezeObjectEvents
|
||||
ldr r1, _0808430C @ =gFieldCallback
|
||||
movs r0, 0
|
||||
str r0, [r1]
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08084308: .4byte Task_FlyOut
|
||||
_0808430C: .4byte gFieldCallback
|
||||
thumb_func_end FieldCallback_Fly
|
||||
|
||||
thumb_func_start Task_FlyOut
|
||||
Task_FlyOut: @ 8084310
|
||||
push {r4-r6,lr}
|
||||
lsls r0, 24
|
||||
lsrs r5, r0, 24
|
||||
lsls r0, r5, 2
|
||||
adds r0, r5
|
||||
lsls r0, 3
|
||||
ldr r1, _0808437C @ =gTasks
|
||||
adds r4, r0, r1
|
||||
movs r0, 0x8
|
||||
ldrsh r6, [r4, r0]
|
||||
cmp r6, 0
|
||||
bne _08084350
|
||||
bl IsWeatherNotFadingIn
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _08084376
|
||||
bl GetCursorSelectionMonId
|
||||
ldr r1, _08084380 @ =gFieldEffectArguments
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
str r0, [r1]
|
||||
cmp r0, 0x5
|
||||
ble _08084344
|
||||
str r6, [r1]
|
||||
_08084344:
|
||||
movs r0, 0x1F
|
||||
bl FieldEffectStart
|
||||
ldrh r0, [r4, 0x8]
|
||||
adds r0, 0x1
|
||||
strh r0, [r4, 0x8]
|
||||
_08084350:
|
||||
movs r0, 0x1F
|
||||
bl FieldEffectActiveListContains
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _08084376
|
||||
bl Overworld_ResetStateAfterFly
|
||||
bl WarpIntoMap
|
||||
ldr r0, _08084384 @ =CB2_LoadMap
|
||||
bl SetMainCallback2
|
||||
ldr r1, _08084388 @ =gFieldCallback
|
||||
ldr r0, _0808438C @ =FieldCallback_FlyArrive
|
||||
str r0, [r1]
|
||||
adds r0, r5, 0
|
||||
bl DestroyTask
|
||||
_08084376:
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0808437C: .4byte gTasks
|
||||
_08084380: .4byte gFieldEffectArguments
|
||||
_08084384: .4byte CB2_LoadMap
|
||||
_08084388: .4byte gFieldCallback
|
||||
_0808438C: .4byte FieldCallback_FlyArrive
|
||||
thumb_func_end Task_FlyOut
|
||||
|
||||
thumb_func_start FieldCallback_FlyArrive
|
||||
FieldCallback_FlyArrive: @ 8084390
|
||||
push {r4,lr}
|
||||
bl Overworld_PlaySpecialMapMusic
|
||||
bl FadeInFromBlack
|
||||
ldr r0, _080843E8 @ =Task_FlyIn
|
||||
movs r1, 0
|
||||
bl CreateTask
|
||||
ldr r4, _080843EC @ =gObjectEvents
|
||||
ldr r3, _080843F0 @ =gPlayerAvatar
|
||||
ldrb r1, [r3, 0x5]
|
||||
lsls r0, r1, 3
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
adds r0, r4
|
||||
ldrb r1, [r0, 0x1]
|
||||
movs r2, 0x20
|
||||
orrs r1, r2
|
||||
strb r1, [r0, 0x1]
|
||||
ldrb r1, [r3]
|
||||
movs r0, 0x8
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
beq _080843D2
|
||||
ldrb r1, [r3, 0x5]
|
||||
lsls r0, r1, 3
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
adds r0, r4
|
||||
movs r1, 0x3
|
||||
bl ObjectEventTurn
|
||||
_080843D2:
|
||||
bl ScriptContext2_Enable
|
||||
bl FreezeObjectEvents
|
||||
ldr r1, _080843F4 @ =gFieldCallback
|
||||
movs r0, 0
|
||||
str r0, [r1]
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080843E8: .4byte Task_FlyIn
|
||||
_080843EC: .4byte gObjectEvents
|
||||
_080843F0: .4byte gPlayerAvatar
|
||||
_080843F4: .4byte gFieldCallback
|
||||
thumb_func_end FieldCallback_FlyArrive
|
||||
|
||||
thumb_func_start Task_FlyIn
|
||||
Task_FlyIn: @ 80843F8
|
||||
push {r4,r5,lr}
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
adds r5, r0, 0
|
||||
lsls r0, r5, 2
|
||||
adds r0, r5
|
||||
lsls r0, 3
|
||||
ldr r1, _0808444C @ =gTasks
|
||||
adds r4, r0, r1
|
||||
movs r1, 0x8
|
||||
ldrsh r0, [r4, r1]
|
||||
cmp r0, 0
|
||||
bne _0808442A
|
||||
ldr r0, _08084450 @ =gPaletteFade
|
||||
ldrb r1, [r0, 0x7]
|
||||
movs r0, 0x80
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
bne _08084444
|
||||
movs r0, 0x20
|
||||
bl FieldEffectStart
|
||||
ldrh r0, [r4, 0x8]
|
||||
adds r0, 0x1
|
||||
strh r0, [r4, 0x8]
|
||||
_0808442A:
|
||||
movs r0, 0x20
|
||||
bl FieldEffectActiveListContains
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _08084444
|
||||
bl ScriptContext2_Disable
|
||||
bl UnfreezeObjectEvents
|
||||
adds r0, r5, 0
|
||||
bl DestroyTask
|
||||
_08084444:
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0808444C: .4byte gTasks
|
||||
_08084450: .4byte gPaletteFade
|
||||
thumb_func_end Task_FlyIn
|
||||
|
||||
thumb_func_start FieldCB_FallWarpExit
|
||||
FieldCB_FallWarpExit: @ 8084454
|
||||
push {lr}
|
||||
|
||||
Reference in New Issue
Block a user