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

78 lines
1.9 KiB
OpenEdge ABL

/********************************************************************************
-------------------------
Ultra 64 MARIO Brothers
-------------------------
File : patheffectburn.s
Description :
Date : 1995.
Author : H.yajima
********************************************************************************/
/*################*/
#ifdef ASSEMBLER
/*################*/
/********************************************************************************
box burn effect
********************************************************************************/
e_boxburn:
p_initialize(effect)
p_setbit(flag,stf_moveON )
p_do(18)
p_program(s_move_animeangle)
p_program(s_optionmove_F)
p_next
p_killobj
/*################*/
#else
/*################*/
/********************************************************************************
BoxEffect Program
********************************************************************************/
extern void s_boxeffect(short count,short shape,float scale,short color)
{
StrategyRecord *stp;
int i;
for(i=0;i<count;i++){
stp = s_makeobj_nowpos(execstp,shape,e_boxburn);
stp->s[stw_animecounter].d = color;
stp->s[stw_worldY].f += 100;
stp->s[stw_angleY].d = Randomd();
stp->s[stw_animeangleY].d = stp->s[stw_angleY].d;
stp->s[stw_animeangleX].d = Randomd();
stp->s[stw_speedY].f = s_random_f(50);
if ( shape == S_sankaku || shape == S_movebg03 ){
stp->s[stw_anglespeedX].d = 0x80*30;
stp->s[stw_anglespeedY].d = 0x80*10;
stp->s[stw_speedF].f = 30;
} else {
stp->s[stw_anglespeedX].d = 0x80*(int)(50+Randomf());
stp->s[stw_speedF].f = 30;
}
s_scale(stp,scale);
}
}
/*################*/
#endif
/*################*/
/*===============================================================================
end end end end end end end end
===============================================================================*/