mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-06-04 10:26:16 -04:00
a290c2d52c
* d_a_npc_ks debug code 100% * d_a_npc_rafrel debug code 100% * d_a_npc_inko minor improvements * d_a_npc_gro debug code 100% * d_a_npc_pachi_taro debug code 100% * d_a_npc_passer debug code 100% * d_a_npc_pachi_maro debug code 100% * d_a_npc_post debug code 100% * d_a_obj_bemos debug improvements * d_a_obj_scannon_ten debug code 100% * d_a_b_mgn debug code 100% * d_a_e_fb debug code 100% * d_a_e_gb debug code 100% * d_a_e_hz debug code 100% * d_a_e_cr_egg debug code 100% * d_a_e_md debug code 100% * d_a_e_wb debug code 100% * d_a_obj_mirror_6pole debug code 100% * d_a_obj_spinLift debug data fixes * d_a_obj_pdwall debug data fixes * d_a_obj_ss_drink debug code almost matching * d_a_obj_poFire debug code 100% * d_a_obj_picture debug code 100% * d_a_obj_dust debug code 100% * d_a_obj_fallobj debug code 100% * d_a_obj_itamato debug code almost matching * d_a_obj_syRock debug code 100% * d_a_obj_katatsumuri debug code 100% * d_a_obj_wood_statue debug code 100% * d_a_obj_lv6egate debug code 100% * d_a_tag_qs minor debug symbol fixes * d_a_obj_twGate debug code 100% * d_a_obj_lv6SwGate debug code 100% * d_a_obj_lv6swturn debug code 100% * d_a_obj_lv6Tenbin debug code 100% * d_a_obj_kwheel01 debug code 100% * Fix RTTI order regression (cM3dGCyl vs cBgS_*)
97 lines
2.8 KiB
C++
97 lines
2.8 KiB
C++
#ifndef D_A_OBJ_KATATSUMURI_H
|
|
#define D_A_OBJ_KATATSUMURI_H
|
|
|
|
#include "JSystem/JHostIO/JORMContext.h"
|
|
#include "JSystem/JHostIO/JORReflexible.h"
|
|
#include "d/d_cc_d.h"
|
|
#include "d/d_insect.h"
|
|
#include "d/actor/d_a_player.h"
|
|
|
|
/**
|
|
* @ingroup actors-objects
|
|
* @class daObjKAT_c
|
|
* @brief Insect - Snail (Katatsumuri)
|
|
*
|
|
* @details
|
|
*
|
|
*/
|
|
class daObjKAT_c : public dInsect_c {
|
|
public:
|
|
void InitCcSph();
|
|
void SetCcSph();
|
|
int ctrlJoint(J3DJoint*, J3DModel*);
|
|
int CreateHeap();
|
|
void WallWalk();
|
|
void MoveAction();
|
|
void Action();
|
|
void Insect_Release();
|
|
void checkGround();
|
|
void F_MoveAction();
|
|
void FallAction();
|
|
void ParticleSet();
|
|
void BoomChk();
|
|
void ObjHit();
|
|
int Execute();
|
|
void Z_BufferChk();
|
|
int Delete();
|
|
void setBaseMtx();
|
|
int Draw() {
|
|
if (mDraw) {
|
|
Z_BufferChk();
|
|
J3DModel* model = mpMorfSO->getModel();
|
|
g_env_light.settingTevStruct(0x10, ¤t.pos, &tevStr);
|
|
g_env_light.setLightTevColorType_MAJI(model, &tevStr);
|
|
mpBtkAnm->entry(model->getModelData());
|
|
mpBrkAnm->entry(model->getModelData());
|
|
fopAcM_setEffectMtx(this, model->getModelData());
|
|
mpMorfSO->entryDL();
|
|
if (field_0x808 == 0) {
|
|
dComIfGd_setSimpleShadow(¤t.pos, mAcch.GetGroundH(), 15.0f, mAcch.m_gnd, 0,
|
|
-0.6f, dDlst_shadowControl_c::getSimpleTex());
|
|
}
|
|
}
|
|
return 1;
|
|
}
|
|
bool CreateChk();
|
|
int create();
|
|
|
|
private:
|
|
/* 0x590 */ dBgS_ObjAcch mAcch;
|
|
/* 0x768 */ dBgS_GndChk mGndChk;
|
|
/* 0x7BC */ u8 field_0x7bc[0x7c0 - 0x7bc];
|
|
/* 0x7C0 */ u8 field_0x7c0;
|
|
/* 0x7C1 */ u8 field_0x7c1;
|
|
/* 0x7C2 */ csXyz field_0x7c2;
|
|
/* 0x7C8 */ cXyz field_0x7c8;
|
|
/* 0x7D4 */ s16 field_0x7d4;
|
|
/* 0x7D8 */ f32 field_0x7d8;
|
|
/* 0x7DC */ u8 field_0x7dc[0x7e0 - 0x7dc];
|
|
/* 0x7E0 */ s16 field_0x7e0;
|
|
/* 0x7E2 */ u8 field_0x7e2[0x7e8 - 0x7e2];
|
|
/* 0x7E8 */ u8 field_0x7e8;
|
|
/* 0x7EA */ csXyz field_0x7ea;
|
|
/* 0x7F0 */ u8 field_0x7f0[0x7f2 - 0x7f0];
|
|
/* 0x7F2 */ s16 field_0x7f2;
|
|
/* 0x7F4 */ s16 field_0x7f4;
|
|
/* 0x7F6 */ s16 field_0x7f6;
|
|
/* 0x7F8 */ mDoExt_brkAnm* mpBrkAnm;
|
|
/* 0x7FC */ mDoExt_btkAnm* mpBtkAnm;
|
|
/* 0x800 */ f32 field_0x800;
|
|
/* 0x804 */ u32 field_0x804;
|
|
/* 0x808 */ u8 field_0x808;
|
|
/* 0x809 */ f32 field_0x80c;
|
|
/* 0x810 */ dCcD_Stts mStts;
|
|
/* 0x84C */ dCcD_Sph mSph;
|
|
/* 0x984 */ daPy_boomerangMove_c mBoomerangMove;
|
|
/* 0x990 */ u8 field_0x990;
|
|
/* 0x994 */ Z2Creature mCreatureSound;
|
|
/* 0xA24 */ dBgS_AcchCir field_0xa24;
|
|
/* 0xA64 */ mDoExt_McaMorfSO* mpMorfSO;
|
|
/* 0xA68 */ request_of_phase_process_class mPhase;
|
|
/* 0xA70 */ u8 field_0xa70;
|
|
};
|
|
|
|
STATIC_ASSERT(sizeof(daObjKAT_c) == 0xa74);
|
|
|
|
#endif /* D_A_OBJ_KATATSUMURI_H */
|