mirror of https://github.com/nmlgc/ReC98.git
202 lines
5.0 KiB
C++
202 lines
5.0 KiB
C++
|
/* ReC98
|
||
|
* -----
|
||
|
* TH05 stage initialization
|
||
|
*/
|
||
|
|
||
|
void pascal near stage1_setup(void)
|
||
|
{
|
||
|
midboss_update_func = midboss1_update;
|
||
|
midboss_render_func = midboss1_render;
|
||
|
midboss.frames_until = 2500;
|
||
|
midboss.pos. cur.set(192, 96);
|
||
|
midboss.pos.prev.set(192, 96);
|
||
|
midboss.pos.velocity.set(0, 0);
|
||
|
midboss.hp = 1000;
|
||
|
midboss.sprite = 200;
|
||
|
|
||
|
boss_reset();
|
||
|
boss.pos.init(192, 64);
|
||
|
boss_bg_render_func = sara_bg_render;
|
||
|
boss_update_func = sara_update;
|
||
|
boss_fg_render_func = sara_fg_render;
|
||
|
boss.sprite = 180;
|
||
|
boss_hitbox_radius.set(24, 24);
|
||
|
boss_sprite_left = 186;
|
||
|
boss_sprite_right = 184;
|
||
|
boss_sprite_stay = 180;
|
||
|
boss_backdrop_colorfill = playfield_fillm_32_0_320_192;
|
||
|
|
||
|
super_entry_bfnt("st00.bmt");
|
||
|
cdg_load_all_noalpha(16, "st00bk.cdg");
|
||
|
bb_stage_load("st00.bb");
|
||
|
|
||
|
stage_render = nullfunc_near;
|
||
|
stage_invalidate = nullfunc_near;
|
||
|
}
|
||
|
|
||
|
void pascal near stage2_setup(void)
|
||
|
{
|
||
|
midboss_update_func = midboss2_update;
|
||
|
midboss_render_func = midboss2_render;
|
||
|
midboss.frames_until = 2750;
|
||
|
midboss.pos.init(192, -32);
|
||
|
midboss.pos.velocity.set(0, 0.5f);
|
||
|
midboss.hp = 1400;
|
||
|
midboss.sprite = 202;
|
||
|
|
||
|
boss_reset();
|
||
|
boss.pos.init(192, 64);
|
||
|
boss_bg_render_func = louise_bg_render;
|
||
|
boss_update_func = louise_update;
|
||
|
boss_fg_render_func = louise_fg_render;
|
||
|
boss.sprite = 180;
|
||
|
boss_hitbox_radius.set(24, 24);
|
||
|
boss_backdrop_colorfill = playfield_fillm_0_0_384_192__1;
|
||
|
|
||
|
super_entry_bfnt("st01.bmt");
|
||
|
cdg_load_all_noalpha(16, "st01bk.cdg");
|
||
|
bb_stage_load("st01.bb");
|
||
|
|
||
|
stage_render = stage2_update;
|
||
|
stage_invalidate = stage2_invalidate;
|
||
|
}
|
||
|
|
||
|
void pascal near stage3_setup(void)
|
||
|
{
|
||
|
midboss_update_func = midboss3_update;
|
||
|
midboss_render_func = midboss3_render;
|
||
|
midboss.frames_until = 5750;
|
||
|
midboss.pos.init(192, -32);
|
||
|
midboss.pos.velocity.set(0, 0.5f);
|
||
|
midboss.hp = 1400;
|
||
|
midboss.sprite = 208;
|
||
|
|
||
|
boss_reset();
|
||
|
boss.pos.init(192, 64);
|
||
|
boss_bg_render_func = alice_bg_render;
|
||
|
boss_update_func = alice_update;
|
||
|
boss_fg_render_func = alice_fg_render;
|
||
|
boss.sprite = 180;
|
||
|
boss_hitbox_radius.set(24, 24);
|
||
|
boss_backdrop_colorfill = playfield_fillm_0_205_384_163;
|
||
|
boss_sprite_left = 188;
|
||
|
boss_sprite_right = 186;
|
||
|
boss_sprite_stay = 180;
|
||
|
|
||
|
super_entry_bfnt("st02.bmt");
|
||
|
cdg_load_all_noalpha(16, "st02bk.cdg");
|
||
|
bb_stage_load("st02.bb");
|
||
|
|
||
|
stage_render = nullfunc_near;
|
||
|
stage_invalidate = nullfunc_near;
|
||
|
}
|
||
|
|
||
|
void pascal near stage4_setup(void)
|
||
|
{
|
||
|
midboss_update_func = midboss4_update;
|
||
|
midboss_render_func = midboss4_render;
|
||
|
midboss.frames_until = 3900;
|
||
|
midboss.pos.init(192, -32);
|
||
|
midboss.pos.velocity.set(0, 0.5f);
|
||
|
midboss.hp = 1100;
|
||
|
midboss.sprite = 208;
|
||
|
|
||
|
boss_reset();
|
||
|
boss.pos.init( 96, 64);
|
||
|
yuki.pos.init(288, 64);
|
||
|
boss_bg_render_func = mai_yuki_bg_render;
|
||
|
boss_update_func = mai_yuki_update;
|
||
|
boss_fg_render_func = mai_yuki_fg_render;
|
||
|
boss.sprite = 180;
|
||
|
yuki.sprite = 180;
|
||
|
boss_hitbox_radius.set(24, 24);
|
||
|
boss_backdrop_colorfill = playfield_fillm_64_56_256_256;
|
||
|
|
||
|
super_entry_bfnt("st03.bmt");
|
||
|
cdg_load_all_noalpha(16, "st03bk.cdg");
|
||
|
bb_stage_load("st03.bb");
|
||
|
|
||
|
stage_render = nullfunc_near;
|
||
|
stage_invalidate = nullfunc_near;
|
||
|
}
|
||
|
|
||
|
void pascal near stage5_setup(void)
|
||
|
{
|
||
|
midboss_update_func = midboss5_update;
|
||
|
midboss_render_func = midboss5_render;
|
||
|
midboss.frames_until = 4800;
|
||
|
midboss.pos.init(192, -32);
|
||
|
midboss.pos.velocity.set(0, 0.5f);
|
||
|
midboss.hp = 1550;
|
||
|
midboss.sprite = 212;
|
||
|
|
||
|
boss_reset();
|
||
|
boss.pos.init(96, 64);
|
||
|
boss2.pos.init(192, 64);
|
||
|
boss_bg_render_func = yumeko_bg_render;
|
||
|
boss_update_func = yumeko_update;
|
||
|
boss_fg_render_func = yumeko_fg_render;
|
||
|
boss.sprite = 180;
|
||
|
boss_hitbox_radius.set(24, 24);
|
||
|
boss_backdrop_colorfill = playfield_fillm_0_0_384_192__2;
|
||
|
|
||
|
super_entry_bfnt("st04.bmt");
|
||
|
cdg_load_all_noalpha(16, "st04bk.cdg");
|
||
|
bb_stage_load("st04.bb");
|
||
|
|
||
|
yumeko_interval_phase4 = select_for_rank(20, 10, 6, 6);
|
||
|
yumeko_interval_phase7 = select_for_rank(48, 32, 24, 24);
|
||
|
|
||
|
stage_render = nullfunc_near;
|
||
|
stage_invalidate = nullfunc_near;
|
||
|
}
|
||
|
|
||
|
void pascal near stage6_setup(void)
|
||
|
{
|
||
|
midboss_update_func = nullsub_1;
|
||
|
midboss_render_func = nullfunc_near;
|
||
|
midboss.frames_until = 30000;
|
||
|
|
||
|
boss_reset();
|
||
|
boss.pos.init(192, 64);
|
||
|
boss_bg_render_func = shinki_bg_render;
|
||
|
boss_update_func = shinki_update;
|
||
|
boss_fg_render_func = shinki_fg_render;
|
||
|
boss.sprite = 180;
|
||
|
boss_hitbox_radius.set(24, 24);
|
||
|
boss_backdrop_colorfill = playfield_fillm_0_104_384_192;
|
||
|
|
||
|
cdg_load_all_noalpha(16, "st05bk.cdg");
|
||
|
cdg_load_all_noalpha(17, "st05bk2.cdg");
|
||
|
bb_stage_load("st05.bb");
|
||
|
|
||
|
stage_render = nullfunc_near;
|
||
|
stage_invalidate = nullfunc_near;
|
||
|
}
|
||
|
|
||
|
void pascal near stagex_setup(void)
|
||
|
{
|
||
|
midboss_update_func = midbossx_update;
|
||
|
midboss_render_func = midbossx_render;
|
||
|
midboss.frames_until = 5800;
|
||
|
midboss.pos.init(192, -16);
|
||
|
midboss.angle = 64;
|
||
|
midboss.hp = 3000;
|
||
|
midboss.sprite = 220;
|
||
|
|
||
|
boss_reset();
|
||
|
boss.pos.init(192, 64);
|
||
|
boss_bg_render_func = exalice_bg_render;
|
||
|
boss_update_func = exalice_update;
|
||
|
boss_fg_render_func = exalice_fg_render;
|
||
|
boss.sprite = 180;
|
||
|
boss_hitbox_radius.set(24, 24);
|
||
|
boss_backdrop_colorfill = playfield_fillm_0_104_384_192;
|
||
|
|
||
|
super_entry_bfnt("st06.bmt");
|
||
|
bb_stage_load("st03.bb");
|
||
|
|
||
|
stage_render = nullfunc_near;
|
||
|
stage_invalidate = nullfunc_near;
|
||
|
}
|