mirror of https://github.com/nmlgc/ReC98.git
[Decompilation] [th05] Resetting boss-related variables
Part of P0031, funded by zorg.
This commit is contained in:
parent
b0c2122eec
commit
3383a4558b
|
@ -0,0 +1,18 @@
|
||||||
|
char boss_phase_timed_out = 0;
|
||||||
|
|
||||||
|
void pascal near boss_reset(void)
|
||||||
|
{
|
||||||
|
boss_update = nullsub_1;
|
||||||
|
boss_fg_render = nullfunc_near;
|
||||||
|
#if GAME == 5
|
||||||
|
boss_custombullets_render = nullfunc_near;
|
||||||
|
#endif
|
||||||
|
boss.phase = 0;
|
||||||
|
boss.mode = 0;
|
||||||
|
boss.mode_change = 0;
|
||||||
|
boss.phase_frame = 0;
|
||||||
|
boss.pos.velocity.set(0, 0);
|
||||||
|
boss.damage_this_frame = 0;
|
||||||
|
explosions_small_reset();
|
||||||
|
boss_phase_timed_out = 1;
|
||||||
|
}
|
|
@ -107,6 +107,8 @@ extern boss_stuff_t boss;
|
||||||
extern SPPoint boss_hitbox_radius;
|
extern SPPoint boss_hitbox_radius;
|
||||||
|
|
||||||
// Callbacks
|
// Callbacks
|
||||||
|
extern farfunc_t_near boss_update;
|
||||||
|
extern nearfunc_t_near boss_fg_render;
|
||||||
extern farfunc_t_near boss_update_func;
|
extern farfunc_t_near boss_update_func;
|
||||||
extern nearfunc_t_near boss_backdrop_colorfill;
|
extern nearfunc_t_near boss_backdrop_colorfill;
|
||||||
extern nearfunc_t_near boss_bg_render_func;
|
extern nearfunc_t_near boss_bg_render_func;
|
||||||
|
@ -116,6 +118,9 @@ extern nearfunc_t_near boss_fg_render_func;
|
||||||
void pascal far name##_update(void); \
|
void pascal far name##_update(void); \
|
||||||
void pascal near name##_bg_render(void); \
|
void pascal near name##_bg_render(void); \
|
||||||
void pascal near name##_fg_render(void);
|
void pascal near name##_fg_render(void);
|
||||||
|
|
||||||
|
// Explosions
|
||||||
|
void pascal far explosions_small_reset(void);
|
||||||
// ------
|
// ------
|
||||||
|
|
||||||
/// Score
|
/// Score
|
||||||
|
|
|
@ -16,10 +16,7 @@ void pascal near playfield_fillm_64_56_256_256(void);
|
||||||
void pascal near playfield_fillm_0_0_384_192__1(void);
|
void pascal near playfield_fillm_0_0_384_192__1(void);
|
||||||
void pascal near playfield_fillm_0_104_384_192(void);
|
void pascal near playfield_fillm_0_104_384_192(void);
|
||||||
|
|
||||||
char boss_phase_timed_out = 0;
|
#include "th04/boss/reset.cpp"
|
||||||
|
|
||||||
void pascal near boss_reset(void);
|
|
||||||
|
|
||||||
#include "th04/formats/bb_stage.c"
|
#include "th04/formats/bb_stage.c"
|
||||||
#include "th05/stage/setup.cpp"
|
#include "th05/stage/setup.cpp"
|
||||||
|
|
||||||
|
|
|
@ -29,6 +29,9 @@ MIDBOSS_DEC(x);
|
||||||
|
|
||||||
/// Bosses
|
/// Bosses
|
||||||
/// ------
|
/// ------
|
||||||
|
// Callbacks
|
||||||
|
extern nearfunc_t_near boss_custombullets_render;
|
||||||
|
|
||||||
extern unsigned int boss_sprite_left;
|
extern unsigned int boss_sprite_left;
|
||||||
extern unsigned int boss_sprite_right;
|
extern unsigned int boss_sprite_right;
|
||||||
extern unsigned int boss_sprite_stay;
|
extern unsigned int boss_sprite_stay;
|
||||||
|
|
|
@ -17862,30 +17862,7 @@ loc_144C4:
|
||||||
jmp loc_14435
|
jmp loc_14435
|
||||||
score_update_and_render endp
|
score_update_and_render endp
|
||||||
|
|
||||||
|
BOSS_RESET procdesc near
|
||||||
; =============== S U B R O U T I N E =======================================
|
|
||||||
|
|
||||||
; Attributes: bp-based frame
|
|
||||||
public BOSS_RESET
|
|
||||||
boss_reset proc near
|
|
||||||
push bp
|
|
||||||
mov bp, sp
|
|
||||||
setfarfp _boss_update, nullsub_1
|
|
||||||
mov _boss_fg_render, offset nullfunc_near
|
|
||||||
mov _boss_custombullets_render, offset nullfunc_near
|
|
||||||
mov _boss_phase, 0
|
|
||||||
mov _boss_mode, 0
|
|
||||||
mov _boss_mode_change, 0
|
|
||||||
mov _boss_phase_frame, 0
|
|
||||||
mov _boss_pos.velocity.x, 0
|
|
||||||
mov _boss_pos.velocity.y, 0
|
|
||||||
mov _boss_damage_this_frame, 0
|
|
||||||
call explosions_small_reset
|
|
||||||
mov _boss_phase_timed_out, 1
|
|
||||||
pop bp
|
|
||||||
retn
|
|
||||||
boss_reset endp
|
|
||||||
|
|
||||||
BB_STAGE_LOAD procdesc near
|
BB_STAGE_LOAD procdesc near
|
||||||
BB_STAGE_FREE procdesc near
|
BB_STAGE_FREE procdesc near
|
||||||
STAGE1_SETUP procdesc near
|
STAGE1_SETUP procdesc near
|
||||||
|
|
Loading…
Reference in New Issue