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

103 lines
2.0 KiB
OpenEdge ABL

/********************************************************************************
-------------------------
Ultra 64 MARIO Brothers
-------------------------
File : pathsmoke.s
Description : pathstrategy smoke
Date : 1995.7.11
Author : H.yajima
********************************************************************************/
/*################*/
#ifdef ASSEMBLER
/*################*/
/********************************************************************************/
/* */
/* << OPTION >> player smoke */
/* */
/********************************************************************************/
e_smokeanime:
p_initialize(option)
p_mother_clrbit(effect,stf_smoke)
p_shapeDISABLE
p_makeshape(S_hiteffect,e_smokeanime_1)
p_makeshape(S_dust,e_dustanimation)
p_wait(1)
p_killshape
e_smokeanime_1:
p_initialize(option)
p_mother_clrbit(effect,stf_smoke)
p_setbit(flag,stf_moveON )
p_softspritemodeON
p_while
p_program(s_plsmoke)
p_loop
e_dustanimation:
p_initialize(effect)
p_setbit(flag,stf_moveON | stf_FspeedON )
p_softspritemodeON
p_animereset
p_do(7)
p_program(s_smoke)
p_animeinc
p_next
p_killshape
e_kemuri:
p_initialize(effect)
p_setbit(flag,stf_moveON )
p_softspritemodeON
p_animereset
p_do(7)
p_program(s_smoke)
p_program(s_optionmove_F)
p_animeinc
p_next
p_killshape
/*################*/
#else
/*################*/
extern void s_plsmoke(void)
{
float scalemin = 0.1;
float scale = 0.5;
if (obj_timer == 0 ){
s_random_XZ_offset(execstp,40);
obj_worldY += 30;
}
s_set_scale(scalemin+scale*obj_timer);
obj_alpha = 50;
s_optionmove_F();
if ( obj_timer > 4 ) s_remove_obj(execstp);
}
extern void s_smoke(void)
{
if (obj_timer == 0 ) s_random_XZ_offset(execstp,40);
}
/*################*/
#endif
/*################*/
/*===============================================================================
end end end end end end end end
===============================================================================*/