mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-12-26 03:34:15 +01:00
fldeff_teleport file completed
This commit is contained in:
parent
0250aefb73
commit
077089f0e5
@ -1,84 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start SetUpFieldMove_Teleport
|
||||
SetUpFieldMove_Teleport: @ 817C8BC
|
||||
push {lr}
|
||||
ldr r0, =gMapHeader
|
||||
ldrb r0, [r0, 0x17]
|
||||
bl is_light_level_1_2_3_or_6
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
beq _0817C8D8
|
||||
movs r0, 0
|
||||
b _0817C8E6
|
||||
.pool
|
||||
_0817C8D8:
|
||||
ldr r1, =gUnknown_03005DB0
|
||||
ldr r0, =hm_add_c3_launch_phase_2
|
||||
str r0, [r1]
|
||||
ldr r1, =gUnknown_0203CEEC
|
||||
ldr r0, =hm_teleport_run_dp02scr
|
||||
str r0, [r1]
|
||||
movs r0, 0x1
|
||||
_0817C8E6:
|
||||
pop {r1}
|
||||
bx r1
|
||||
.pool
|
||||
thumb_func_end SetUpFieldMove_Teleport
|
||||
|
||||
thumb_func_start hm_teleport_run_dp02scr
|
||||
hm_teleport_run_dp02scr: @ 817C8FC
|
||||
push {lr}
|
||||
bl sub_808469C
|
||||
movs r0, 0x3F
|
||||
bl FieldEffectStart
|
||||
bl GetCursorSelectionMonId
|
||||
ldr r1, =gFieldEffectArguments
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
str r0, [r1]
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end hm_teleport_run_dp02scr
|
||||
|
||||
thumb_func_start FldEff_UseTeleport
|
||||
FldEff_UseTeleport: @ 817C91C
|
||||
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_817C94C
|
||||
lsrs r0, r2, 16
|
||||
strh r0, [r1, 0x18]
|
||||
strh r2, [r1, 0x1A]
|
||||
movs r0, 0x1
|
||||
bl SetPlayerAvatarTransitionFlags
|
||||
movs r0, 0
|
||||
pop {r1}
|
||||
bx r1
|
||||
.pool
|
||||
thumb_func_end FldEff_UseTeleport
|
||||
|
||||
thumb_func_start sub_817C94C
|
||||
sub_817C94C: @ 817C94C
|
||||
push {lr}
|
||||
movs r0, 0x3F
|
||||
bl FieldEffectActiveListRemove
|
||||
bl sub_80B7FC8
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_817C94C
|
||||
|
||||
.align 2, 0 @ Don't pad with nop.
|
@ -226,7 +226,7 @@ SECTIONS {
|
||||
asm/intro_credits_graphics.o(.text);
|
||||
src/evolution_graphics.o(.text);
|
||||
src/bard_music.o(.text);
|
||||
asm/fldeff_teleport.o(.text);
|
||||
src/fldeff_teleport.o(.text);
|
||||
asm/battle_link_817C95C.o(.text);
|
||||
asm/pokemon_animation.o(.text);
|
||||
src/recorded_battle.o(.text);
|
||||
|
54
src/fldeff_teleport.c
Normal file
54
src/fldeff_teleport.c
Normal file
@ -0,0 +1,54 @@
|
||||
#include "global.h"
|
||||
#include "field_effect.h"
|
||||
#include "task.h"
|
||||
|
||||
extern bool8 is_light_level_1_2_3_or_6(u8 mapType);
|
||||
extern void* hm_add_c3_launch_phase_2(void);
|
||||
extern void hm_teleport_run_dp02scr(void);
|
||||
extern void* gUnknown_0203CEEC;
|
||||
extern void* gUnknown_03005DB0;
|
||||
extern void sub_808469C(void);
|
||||
extern u8 GetCursorSelectionMonId(void);
|
||||
extern void sub_817C94C(void);
|
||||
extern u8 oei_task_add(void);
|
||||
extern void FieldEffectActiveListRemove(u8 id);
|
||||
extern void sub_80B7FC8(void);
|
||||
|
||||
// 817C8BC
|
||||
bool8 SetUpFieldMove_Teleport()
|
||||
{
|
||||
if (is_light_level_1_2_3_or_6(gMapHeader.mapType) == TRUE)
|
||||
{
|
||||
gUnknown_03005DB0 = hm_add_c3_launch_phase_2;
|
||||
gUnknown_0203CEEC = hm_teleport_run_dp02scr;
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// 817C8FC
|
||||
void hm_teleport_run_dp02scr()
|
||||
{
|
||||
sub_808469C();
|
||||
FieldEffectStart(0x3F);
|
||||
gFieldEffectArguments[0] = (u32)GetCursorSelectionMonId();
|
||||
}
|
||||
|
||||
extern void SetPlayerAvatarTransitionFlags(u8);
|
||||
// 817C91C
|
||||
u8 FldEff_UseTeleport()
|
||||
{
|
||||
u8 taskID = oei_task_add();
|
||||
gTasks[taskID].data[8] = (u32)sub_817C94C >> 16;
|
||||
gTasks[taskID].data[9] = (u32)sub_817C94C;
|
||||
SetPlayerAvatarTransitionFlags(1);
|
||||
return 0;
|
||||
}
|
||||
|
||||
void sub_817C94C()
|
||||
{
|
||||
FieldEffectActiveListRemove(0x3F);
|
||||
sub_80B7FC8();
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user