sm64/data/iwa_path/others.s
2022-12-04 22:27:02 -05:00

213 lines
5.2 KiB
ArmAsm

/********************************************************************************
-------------------------
Ultra 64 MARIO Brothers
-------------------------
Others Strategy
Feburary 27 1996 programed by Iwamoto Daiki
********************************************************************************/
/*################*/
#ifdef ASSEMBLER
/*################*/
/*===============================================================================
Path Data
================================================================================*/
/********************************************************************************
Falls Dummy
********************************************************************************/
e_falls:
p_initialize(option)
p_while
p_program(s_falls_main)
p_loop
/********************************************************************************
Falls Dummy
********************************************************************************/
e_magumafalls:
p_initialize(option)
p_while
p_program(s_magumafalls_main)
p_loop
/********************************************************************************
CastleFlag
********************************************************************************/
e_castle_flag:
p_initialize(option)
p_setbit(flag,stf_moveON)
p_set_pointer(skelanime,castle_flag_anime)
p_set_skelanime_number(0)
p_program(s_castle_flag_init)
p_while
p_loop
/********************************************************************************
Bird Sing Dummy
********************************************************************************/
e_birdsing:
p_initialize(option)
p_while
p_program(s_birdsing_main)
p_loop
/********************************************************************************
Soyokaze Dummy
********************************************************************************/
e_soyokaze:
p_initialize(option)
p_program(s_soyokaze_init)
p_while
p_loop
/********************************************************************************
Soyokaze Dummy
********************************************************************************/
e_sandfall:
p_initialize(option)
p_while
p_program(s_sandfall_main)
p_loop
/********************************************************************************
Main Castle Net2
********************************************************************************/
e_main_net2:
p_initialize(moveBG)
p_setbit(flag,stf_moveON )
p_setshapeinfo(main_net2_info)
p_setf(movebg_checkdist,4000)
p_program(s_main_net2)
p_while
p_program(stMainMoveBG)
p_loop
/*################*/
#else
/*################*/
/***************************************************************************************************
C Program
****************************************************************************************************/
/*===================================================================================================
Falls
====================================================================================================*/
extern void s_falls_main(void) {
objsound_level(NA_LSE2_FALL);
}
/*===================================================================================================
Maguma Falls
====================================================================================================*/
extern void s_magumafalls_main(void) {
objsound_level(NA_LSE2_MAGMA);
}
/*===================================================================================================
Castle Flag
====================================================================================================*/
extern void s_castle_flag_init(void)
{
execstp->map.skelanim.frame = (int)(Randomf()*28);
}
/*===================================================================================================
Bird Sing
====================================================================================================*/
extern void s_birdsing_main(void)
{
if (Camerawork->mode == CAM_WATER) return;
switch (obj_programselect) {
case 0: objsound_level(NA_ENV_BIRD1);
break;
case 1: objsound_level(NA_ENV_BIRD2);
break;
case 2: objsound_level(NA_ENV_BIRD3);
break;
}
}
/*===================================================================================================
Soyokaze
====================================================================================================*/
extern void s_soyokaze_init(void)
{
if (Camerawork->mode == CAM_WATER) return;
Na_FixSeFlagEntry(NA_ENV_BIRD0);
}
/*===================================================================================================
Soyokaze
====================================================================================================*/
extern void s_sandfall_main(void)
{
if (Camerawork->mode == CAM_WATER) return;
objsound_level(NA_LSE2_SANDFALL);
}
/**************************************************************************************************
Main Map Net2
***************************************************************************************************/
extern void s_main_net2()
{
if (BuGetTotalStars(activePlayerNo-1) >= 120) {
execstp->status = 0;
}
}
/*################*/
#endif
/*################*/