11#ifndef D_A_OBJ_KATATSUMURI_H
22#define D_A_OBJ_KATATSUMURI_H
33
4+ #include " JSystem/JHostIO/JORMContext.h"
5+ #include " JSystem/JHostIO/JORReflexible.h"
6+ #include " d/d_cc_d.h"
47#include " d/d_insect.h"
8+ #include " d/actor/d_a_player.h"
59
610/* *
711 * @ingroup actors-objects
1115 * @details
1216 *
1317 */
14- class daObjKAT_c : public fopAc_ac_c {
18+ class daObjKAT_c : public dInsect_c {
1519public:
1620 /* 80C39994 */ void InitCcSph ();
1721 /* 80C39A00 */ void SetCcSph ();
18- /* 80C39A58 */ void ctrlJoint (J3DJoint*, J3DModel*);
19- /* 80C39B98 */ void CreateHeap ();
22+ /* 80C39A58 */ int ctrlJoint (J3DJoint*, J3DModel*);
23+ /* 80C39B98 */ int CreateHeap ();
2024 /* 80C39F0C */ void WallWalk ();
2125 /* 80C3A4D8 */ void MoveAction ();
2226 /* 80C3A628 */ void Action ();
@@ -27,23 +31,87 @@ class daObjKAT_c : public fopAc_ac_c {
2731 /* 80C3A990 */ void ParticleSet ();
2832 /* 80C3AAB4 */ void BoomChk ();
2933 /* 80C3ADC8 */ void ObjHit ();
30- /* 80C3AEC8 */ void Execute ();
34+ /* 80C3AEC8 */ int Execute ();
3135 /* 80C3B754 */ void Z_BufferChk ();
32- /* 80C3B8D0 */ void Delete ();
36+ /* 80C3B8D0 */ int Delete ();
3337 /* 80C3B938 */ void setBaseMtx ();
34- /* 80C3BAAC */ void CreateChk ();
35- /* 80C3BC58 */ void create ();
38+ int Draw () {
39+ if (mDraw ) {
40+ Z_BufferChk ();
41+ J3DModel* model = mpMorfSO->getModel ();
42+ g_env_light.settingTevStruct (0x10 , ¤t.pos , &tevStr);
43+ g_env_light.setLightTevColorType_MAJI (model, &tevStr);
44+ mpBtkAnm->entry (model->getModelData ());
45+ mpBrkAnm->entry (model->getModelData ());
46+ fopAcM_setEffectMtx (this , model->getModelData ());
47+ mpMorfSO->entryDL ();
48+ if (field_0x808 == 0 ) {
49+ dComIfGd_setSimpleShadow (¤t.pos , mAcch .GetGroundH (), 15 .0f , mAcch .m_gnd , 0 ,
50+ -0 .6f , dDlst_shadowControl_c::getSimpleTex ());
51+ }
52+ }
53+ return 1 ;
54+ }
55+ /* 80C3BAAC */ bool CreateChk ();
56+ /* 80C3BC58 */ int create ();
3657
3758private:
38- /* 0x568 */ u8 field_0x568[0xa74 - 0x568 ];
59+ /* 0x590 */ dBgS_ObjAcch mAcch ;
60+ /* 0x768 */ dBgS_GndChk mGndChk ;
61+ /* 0x7BC */ u8 field_0x7bc[0x7c0 - 0x7bc ];
62+ /* 0x7C0 */ u8 field_0x7c0;
63+ /* 0x7C1 */ u8 field_0x7c1;
64+ /* 0x7C2 */ csXyz field_0x7c2;
65+ /* 0x7C8 */ cXyz field_0x7c8;
66+ /* 0x7D4 */ s16 field_0x7d4;
67+ /* 0x7D8 */ f32 field_0x7d8;
68+ /* 0x7DC */ u8 field_0x7dc[0x7e0 - 0x7dc ];
69+ /* 0x7E0 */ s16 field_0x7e0;
70+ /* 0x7E2 */ u8 field_0x7e2[0x7e8 - 0x7e2 ];
71+ /* 0x7E8 */ u8 field_0x7e8;
72+ /* 0x7EA */ csXyz field_0x7ea;
73+ /* 0x7F0 */ u8 field_0x7f0[0x7f2 - 0x7f0 ];
74+ /* 0x7F2 */ s16 field_0x7f2;
75+ /* 0x7F4 */ s16 field_0x7f4;
76+ /* 0x7F6 */ s16 field_0x7f6;
77+ /* 0x7F8 */ mDoExt_brkAnm * mpBrkAnm;
78+ /* 0x7FC */ mDoExt_btkAnm * mpBtkAnm;
79+ /* 0x800 */ f32 field_0x800;
80+ /* 0x804 */ u32 field_0x804;
81+ /* 0x808 */ u8 field_0x808;
82+ /* 0x809 */ f32 field_0x80c;
83+ /* 0x810 */ dCcD_Stts mStts ;
84+ /* 0x84C */ dCcD_Sph mSph ;
85+ /* 0x984 */ daPy_boomerangMove_c mBoomerangMove ;
86+ /* 0x990 */ u8 field_0x990;
87+ /* 0x994 */ Z2Creature mCreatureSound ;
88+ /* 0xA24 */ dBgS_AcchCir field_0xa24;
89+ /* 0xA64 */ mDoExt_McaMorfSO * mpMorfSO;
90+ /* 0xA68 */ request_of_phase_process_class mPhase ;
91+ /* 0xA70 */ u8 field_0xa70;
3992};
4093
4194STATIC_ASSERT (sizeof (daObjKAT_c) == 0xa74);
4295
43- class daObj_KatHIO_c {
96+ class daObj_KatHIO_c : public JORReflexible {
4497public:
4598 /* 80C3996C */ daObj_KatHIO_c();
46- /* 80C3C5CC */ ~daObj_KatHIO_c ();
99+ /* 80C3C5CC */ virtual ~daObj_KatHIO_c () {}
100+
101+ void genMessage (JORMContext* ctx) {
102+ // Golden Snail
103+ ctx->genLabel (" 黄金蟲(カタツムリ)" , 0x80000001 , 0 , NULL , -1 , -1 , 0x200 , 24 );
104+ // Model scale (male)
105+ ctx->genSlider (" モデルスケール(オス)" , &this ->mScaleMale , 0 .1f , 4 .0f , 0 , NULL , -1 , -1 ,
106+ 0x200 , 24 );
107+ // Model scale (female)
108+ ctx->genSlider (" モデルスケール(メス)" , &this ->mScaleFemale , 0 .1f , 4 .0f , 0 , NULL , -1 , -1 ,
109+ 0x200 , 24 );
110+ }
111+
112+ s8 field_0x4;
113+ f32 mScaleFemale ;
114+ f32 mScaleMale ;
47115};
48116
49117#endif /* D_A_OBJ_KATATSUMURI_H */
0 commit comments