22#define D_A_HOZELDA_H
33
44#include " f_op/f_op_actor_mng.h"
5+ #include " d/actor/d_a_player.h"
56#include " JSystem/J3DGraphAnimator/J3DMaterialAnm.h"
67
78class daHoZelda_matAnm_c : public J3DMaterialAnm {
89public:
10+ daHoZelda_matAnm_c () {
11+ init ();
12+ }
13+
914 /* 80845EAC */ void init ();
1015
11- /* 80848D54 */ virtual ~daHoZelda_matAnm_c ();
16+ void setNowOffsetX (f32 i_offsetX) { mNowOffsetX = i_offsetX; }
17+ void setNowOffsetY (f32 i_offsetY) { mNowOffsetY = i_offsetY; }
18+ f32 * getNowOffsetXP () { return &mNowOffsetX ; }
19+ f32 * getNowOffsetYP () { return &mNowOffsetY ; }
20+
21+ /* 80848D54 */ virtual ~daHoZelda_matAnm_c () {}
1222 /* 80845EDC */ virtual void calc (J3DMaterial*) const ;
1323
24+ static bool getEyeMoveFlg () { return mEyeMoveFlg ; }
25+ static void offEyeMoveFlg () { mEyeMoveFlg = false ; }
26+ static void onEyeMoveFlg () { mEyeMoveFlg = true ; }
27+
28+ static u8 getMorfFrame () { return mMorfFrame ; }
29+ static void setMorfFrame (u8 i_frame) { mMorfFrame = i_frame; }
30+ static void decMorfFrame () { cLib_calcTimer<u8 >(&mMorfFrame ); }
31+
1432 static bool mEyeMoveFlg ;
1533 static u8 mMorfFrame ;
1634
@@ -20,7 +38,9 @@ class daHoZelda_matAnm_c : public J3DMaterialAnm {
2038 /* 0x100 */ f32 mNowOffsetY ;
2139};
2240
23- class daHoZelda_hio_c ;
41+ class daHoZelda_hio_c {
42+ public:
43+ };
2444
2545/* *
2646 * @ingroup actors-unsorted
@@ -32,14 +52,14 @@ class daHoZelda_hio_c;
3252 */
3353class daHoZelda_c : public fopAc_ac_c {
3454public:
35- /* 80846000 */ void createHeap ();
55+ /* 80846000 */ int createHeap ();
3656 /* 80846718 */ void modelCallBack (u16 );
37- /* 808469B0 */ void create ();
57+ /* 808469B0 */ int create ();
3858 /* 80846DB0 */ ~daHoZelda_c ();
39- /* 80846F4C */ void setDoubleAnime (f32 , f32 , f32 , u16 , u16 , f32 );
40- /* 8084718C */ void setUpperAnime (u16 );
59+ /* 80846F4C */ int setDoubleAnime (f32 , f32 , f32 , u16 , u16 , f32 );
60+ /* 8084718C */ int setUpperAnime (u16 );
4161 /* 80847234 */ void resetUpperAnime ();
42- /* 808472C0 */ void setSingleAnime (u16 , f32 , f32 , s16, f32 );
62+ /* 808472C0 */ int setSingleAnime (u16 , f32 , f32 , s16, f32 );
4363 /* 80847430 */ void animePlay ();
4464 /* 80847574 */ void setEyeBtp (u16 );
4565 /* 808475F0 */ void setEyeBtk (u16 , u8 );
@@ -55,53 +75,48 @@ class daHoZelda_c : public fopAc_ac_c {
5575 /* 80848254 */ void setEyeMove (cXyz const *, s16, s16);
5676 /* 808484B8 */ void setNeckAngle ();
5777 /* 80848774 */ void searchBodyAngle ();
58- /* 808489CC */ void execute ();
59- /* 80848B64 */ void draw ();
78+ /* 808489CC */ int execute ();
79+ /* 80848B64 */ int draw ();
6080
6181 MtxP getRightHandMtx () { return mpZeldaModel->getAnmMtx (22 ); }
6282 MtxP getRightFingerMtx () { return mpZeldaModel->getAnmMtx (23 ); }
6383
64- u8 checkBowMode () const { return field_0x6d8 ; }
65- void setDamageInit () { field_0x6db = 1 ; }
66- u8 checkSingleRide () const { return field_0x6df ; }
84+ u8 checkBowMode () const { return mBowMode ; }
85+ void setDamageInit () { mDamageInit = 1 ; }
86+ u8 checkSingleRide () const { return mIsSingleRide ; }
6787
6888 /* 0x568 */ request_of_phase_process_class mPhase ;
6989 /* 0x570 */ J3DModel* mpZeldaModel;
7090 /* 0x574 */ J3DModel* mpBowModel;
7191 /* 0x578 */ mDoExt_btpAnm mEyeBtp ;
7292 /* 0x590 */ mDoExt_btkAnm mEyeBtk ;
7393 /* 0x5A8 */ mDoExt_MtxCalcAnmBlendTblOld * field_0x5a8;
74- /* 0x5AC */ mDoExt_AnmRatioPack field_0x5ac [3 ];
94+ /* 0x5AC */ mDoExt_AnmRatioPack mAnmRatioPack [3 ];
7595 /* 0x5C4 */ mDoExt_MtxCalcOldFrame * field_0x5c4;
76- /* 0x5C8 */ daPy_frameCtrl_c field_0x5c8 [3 ];
77- /* 0x610 */ daHoZelda_matAnm_c* field_0x610 [2 ];
96+ /* 0x5C8 */ daPy_frameCtrl_c mFrameCtrl [3 ];
97+ /* 0x610 */ daHoZelda_matAnm_c* mpMatAnm [2 ];
7898 /* 0x618 */ Z2Creature mSound ;
7999 /* 0x6A8 */ mDoExt_bckAnm mBowBck ;
80100 /* 0x6C4 */ daPy_actorKeep_c mArrowAcKeep ;
81- /* 0x6CC */ daPy_actorKeep_c field_0x6cc ;
101+ /* 0x6CC */ daPy_actorKeep_c mGndAcKeep ;
82102 /* 0x6D4 */ daHoZelda_hio_c* mpHIO;
83- /* 0x6D8 */ u8 field_0x6d8 ;
84- /* 0x6D9 */ u8 field_0x6d9 ;
103+ /* 0x6D8 */ u8 mBowMode ;
104+ /* 0x6D9 */ u8 mAnmTimer ;
85105 /* 0x6DA */ u8 field_0x6da;
86- /* 0x6DB */ u8 field_0x6db ;
87- /* 0x6DC */ u8 field_0x6DC[ 0x6DD - 0x6DC ] ;
106+ /* 0x6DB */ u8 mDamageInit ;
107+ /* 0x6DC */ u8 field_0x6dc ;
88108 /* 0x6DD */ u8 field_0x6dd;
89109 /* 0x6DE */ u8 field_0x6de;
90- /* 0x6DF */ u8 field_0x6df ;
110+ /* 0x6DF */ u8 mIsSingleRide ;
91111 /* 0x6E0 */ s8 mReverb ;
92112 /* 0x6E1 */ u8 field_0x6E1[0x6E4 - 0x6E1 ];
93- /* 0x6E4 */ u16 field_0x6e4;
94- /* 0x6E6 */ u16 field_0x6e6;
113+ /* 0x6E4 */ u16 field_0x6e4[2 ];
95114 /* 0x6E8 */ u16 mUpperAnmID ;
96- /* 0x6EA */ s16 mBowAnmID ;
97- /* 0x6EC */ s16 field_0x6ec;
98- /* 0x6EE */ s16 field_0x6ee;
99- /* 0x6F0 */ u8 field_0x6F0[0x6F2 - 0x6F0 ];
100- /* 0x6F2 */ s16 field_0x6f2;
101- /* 0x6F4 */ s16 field_0x6f4;
102- /* 0x6F6 */ u8 field_0x6F6[0x6F8 - 0x6F6 ];
103- /* 0x6F8 */ Vec field_0x6f8;
104- /* 0x704 */ Vec* mpRideOffset;
115+ /* 0x6EA */ u16 mBowAnmID ;
116+ /* 0x6EC */ csXyz mNeckAngle ;
117+ /* 0x6F2 */ csXyz mBodyAngle ;
118+ /* 0x6F8 */ cXyz field_0x6f8;
119+ /* 0x704 */ const Vec* mpRideOffset;
105120};
106121
107122#endif /* D_A_HOZELDA_H */
0 commit comments