/******************************************************************************** ------------------------- Ultra 64 MARIO Brothers ------------------------- File : pathchimney.s Description : Date : 1995.10.9 Author : H.yajima ********************************************************************************/ /*################*/ #ifdef ASSEMBLER /*################*/ /******************************************************************************** chimny pathdata ********************************************************************************/ e_tripchimney: p_initialize(moveBG) p_setbit( flag,stf_moveON | stf_YangleSAME) p_setd(objname,OBJNAME_TRIPCHIMNEY) p_BGcheckYset p_setf(movebg_checkdist,8000) p_setshapeinfo(endoor_info) p_hitON p_sethitbox(50,50) p_while p_program(stMainMoveBG) p_setd(mail,0) p_loop e_warp: p_initialize(item) p_setd( enemyinfo,1) p_setbit( flag,stf_moveON | stf_YangleSAME) p_setd(objname,OBJNAME_TRIPCHIMNEY) p_hitON p_while p_program(s_warp) p_loop e_tripchimney2: p_initialize(item) p_setbit( flag,stf_moveON | stf_YangleSAME) p_setd(objname,OBJNAME_TRIPCHIMNEY) p_hitON p_while p_program(s_tripchimney2) p_loop e_dokan: p_initialize(moveBG) p_setbit( flag,stf_moveON | stf_YangleSAME) p_setd(objname,OBJNAME_TRIPCHIMNEY) p_setshapeinfo(dokan_check_info) p_setf(shapeLOD,16000) p_hitON p_sethitbox(70,50) p_while p_program(s_tripchimney2) p_program(stMainMoveBG) p_loop /*################*/ #else /*################*/ /******************************************************************************** chimny program ********************************************************************************/ extern void s_tripchimney2(void) { unsigned short R; if ( obj_timer == 0 ){ R = (( execstp->s[stw_actorcode].d ) >> 24 )&0xff; if ( R == 0 ) execstp->myobj_R = 50; else if ( R == 255 ) execstp->myobj_R = 10000; else execstp->myobj_R = R * 10.0; execstp->myobj_height = 50; } obj_mail = 0; } extern void s_warp(void) { unsigned short R; if ( obj_timer == 0 ){ R = (( execstp->s[stw_actorcode].d ) >> 24 )&0xff; if ( R == 0 ) execstp->myobj_R = 85; else if ( R == 255 ) execstp->myobj_R = 10000; else execstp->myobj_R = R * 10.0; execstp->myobj_height = 50; } obj_mail = 0; } /*################*/ #endif /*################*/ /*=============================================================================== end end end end end end end end ===============================================================================*/