154 lines
3.5 KiB
OpenEdge ABL
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
|
|
===============================================================================*/
|
|
|
|
|
|
|