sm64/data/p/pathextyougan.p
2022-12-04 22:27:02 -05:00

154 lines
3.5 KiB
OpenEdge ABL

/********************************************************************************
-------------------------
Ultra 64 MARIO Brothers
-------------------------
File : pathextyougan.s
Description : yougan moving BG program
Date : 1995.
Author : H.yajima
********************************************************************************/
/*################*/
#ifdef ASSEMBLER
/*################*/
/********************************************************************************
==========
UKISIMA
==========
********************************************************************************/
e_ukishima:
p_initialize(moveBG)
p_setbit(flag,stf_moveON )
p_setshapeinfo(e2_ukishima_check_info)
p_save_nowpos
p_while
p_program(s_ukishima)
p_program(stMainMoveBG)
p_loop
/********************************************************************************
===========
AMI & BOU
===========
********************************************************************************/
e_nobori_ami:
p_initialize(moveBG)
p_setbit(flag,stf_moveON )
p_setshapeinfo(e2_amiyuka_check_info)
p_save_nowpos
p_makeshape(S_movebg04,e_nobori_bou)
p_while
p_program(s_nobori_ami)
p_program(stMainMoveBG)
p_loop
e_nobori_bou:
p_initialize(player_friend)
p_setbit(flag,stf_moveON )
p_setd(objname,OBJNAME_BAR)
p_sethitbox(80,710)
p_hitON
p_while
p_program(s_rendo_mother)
p_program(s_tree)
p_loop
/********************************************************************************
===========
===========
********************************************************************************/
e_ext3_guragura:
p_initialize(moveBG)
p_setbit( flag,stf_moveON | stf_YangleSAME | stf_playerdistON )
p_setshapeinfo(e2_gura_check_info)
p_save_nowpos
p_program(s_movebg_1_init)
p_while
p_program(s_movebg_1) /* moving bg program (1) */
p_program(stMainMoveBG)
p_loop
e_ext3_nobiru:
p_initialize(moveBG)
p_setbit( flag,stf_moveON | stf_YangleSAME | stf_playerdistON )
p_setshapeinfo(e2_nobiru_check_info)
p_setf(movebg_checkdist,10000)
p_program(s_movebg_1_init)
p_while
p_program(s_ext3_nobiru)
p_program(stMainMoveBG)
p_loop
/*################*/
#else
/*################*/
/********************************************************************************
C Program (extyougan)
********************************************************************************/
extern void s_ext3_nobiru(void)
{
execstp->map.scale[1] = 0.4 + (sin(obj_work0)+1.0)*(0.3);
obj_work0 += 0x80;
}
/********************************************************************************
ukishima
********************************************************************************/
extern void s_ukishima(void)
{
obj_worldY -= sin(obj_work0)* 0.58;
obj_work0 += 0x100;
}
/********************************************************************************
noboriami
********************************************************************************/
extern void s_rendo_mother(void)
{
s_copy_worldXYZ_angleXYZ( execstp, execstp->motherobj);
}
extern void s_nobori_ami(void)
{
if ( obj_programselect ){
if ( obj_timer == 0 ) obj_worldY -= 300;
obj_worldY += sin(obj_work0) * 7;
} else {
obj_worldY -= sin(obj_work0) * 3;
}
obj_work0 += 0x100;
}
/*################*/
#endif
/*################*/
/*===============================================================================
end end end end end end end end
===============================================================================*/