Files
2025-09-09 15:23:57 -04:00

101 lines
2.1 KiB
C++

#ifndef D_A_YKGR_H
#define D_A_YKGR_H
#include "f_op/f_op_actor.h"
#include "JSystem/JParticle/JPAEmitter.h"
#include "f_op/f_op_camera_mng.h"
#include "d/d_com_inf_game.h"
#include "m_Do/m_Do_hostIO.h"
struct dPath;
class JPABaseEmitter;
class JPABaseParticle;
class daYkgr_c : public fopAc_ac_c {
public:
static void init() {
m_emitter = NULL;
m_flag = 0;
m_alpha_flag = 1;
m_alpha = 0xFF;
}
static void stop() {
if (m_emitter) {
m_alpha_flag = 0;
}
};
static u8 m_flag;
static u8 m_alpha_flag;
static u8 m_alpha;
static f32 m_aim_rate;
static dPath* m_path;
static JPABaseEmitter* m_emitter;
static void show() {
if (m_emitter == NULL) {
return;
}
m_emitter->playDrawParticle();
return;
}
static void hide() {
if (m_emitter == NULL) {
return;
}
m_emitter->stopDrawParticle();
return;
}
static void start() {
if (m_emitter != NULL) {
m_alpha_flag = 1;
}
}
inline cPhs_State _create();
inline bool _delete();
inline bool _draw();
inline bool _execute();
void setAimRate(float) {}
void setAlpha(unsigned char alpha) { m_alpha = alpha; }
inline void set_mtx();
f32 getPosRate();
public:
/* 0x290 */ request_of_phase_process_class mPhase;
/* 0x298 */ Mtx mMtx;
/* 0x2C8 */ u8 m2C8[0x2CC - 0x2C8];
/* 0x2CC */ f32 m2CC;
/* 0x2D0 */ f32 m2D0;
}; // size = 0x2D4
class dPa_YkgrPcallBack : public JPACallBackBase2<JPABaseEmitter*, JPABaseParticle*> {
public:
dPa_YkgrPcallBack() {
m04 = 0.5f;
m08 = 0.0f;
m0C = 0.0f;
m10 = 0.0f;
m14 = 0.5f;
m18 = 0.0f;
m1C = true;
}
~dPa_YkgrPcallBack() {}
void draw(JPABaseEmitter*, JPABaseParticle*);
void setParam(float);
public:
/* 0x04 */ f32 m04;
/* 0x08 */ f32 m08;
/* 0x0C */ f32 m0C;
/* 0x10 */ f32 m10;
/* 0x14 */ f32 m14;
/* 0x18 */ f32 m18;
/* 0x1C */ s8 m1C;
}; // size = 0x20
#endif /* D_A_YKGR_H */