1616 */
1717class daCanoe_c : public fopAc_ac_c {
1818public:
19- /* 804DA5F4 */ void createHeap ();
20- /* 804DA740 */ void create ();
19+ /* 804DA5F4 */ int createHeap ();
20+ /* 804DA740 */ int create ();
2121 /* 804DAEA8 */ ~daCanoe_c ();
2222 /* 804DB008 */ void setRoomInfo ();
2323 /* 804DB0B0 */ void setMatrix ();
@@ -28,8 +28,8 @@ class daCanoe_c : public fopAc_ac_c {
2828 /* 804DB828 */ void frontBackBgCheck ();
2929 /* 804DC330 */ void setPaddleEffect ();
3030 /* 804DC554 */ void setCanoeSliderEffect ();
31- /* 804DC7B4 */ void execute ();
32- /* 804DD35C */ void draw ();
31+ /* 804DC7B4 */ int execute ();
32+ /* 804DD35C */ int draw ();
3333
3434 J3DModel* getModel () { return mpModel; }
3535 MtxP getModelMtx () { return mpModel->getBaseTRMtx (); }
@@ -38,54 +38,55 @@ class daCanoe_c : public fopAc_ac_c {
3838 void incShapeOffsetY (f32 offset) { mShapeOffsetY += offset; }
3939 void incShapeAngleZ (s16 incZ) { shape_angle.z += incZ; }
4040 void onRodID (fpc_ProcID i_rodID) { mRodID = i_rodID; }
41- void setWaterFallDownSe () { field_0x141c .startSound (Z2SE_AL_CANOE_FALL_DW, 0 , -1 ); }
41+ void setWaterFallDownSe () { mSound .startSound (Z2SE_AL_CANOE_FALL_DW, 0 , -1 ); }
4242 bool checkPaddleChangeWater () { return mPaddleWaterType == 3 ; }
4343 void startInitPaddleWater () { mPaddleWaterType = 4 ; }
4444 fpc_ProcID getRodID () { return mRodID ; }
4545
4646 void setAimSpeed (f32 i_speed) { mAimSpeed = i_speed; }
4747 void setAimAngle (s16 i_angle) {
4848 mAimAngle = i_angle;
49- field_0x1442 = 1 ;
49+ mIsForceAimAngle = TRUE ;
5050 }
5151
5252 void setPosAndAngle (cXyz const * i_pos, s16 i_angle) {
53- field_0x14d0 = *i_pos;
54- field_0x144a = i_angle;
55- field_0x1446 = 1 ;
53+ mForcePos = *i_pos;
54+ mForceAngle = i_angle;
55+ mIsForcePosAngle = TRUE ;
5656 }
5757
5858 void setPaddleOffsetRight () {
59- field_0x1454 = 0x40 ;
60- field_0x1456 = 0xF ;
59+ field_0x1454 = 64 ;
60+ field_0x1456 = 15 ;
6161 }
6262
6363 void setPaddleOffsetLeft () {
64- field_0x1454 = -0x40 ;
65- field_0x1456 = 0xF ;
64+ field_0x1454 = -64 ;
65+ field_0x1456 = 15 ;
6666 }
6767
6868private:
6969 /* 0x0568 */ request_of_phase_process_class mPhaseReq ;
7070 /* 0x0570 */ J3DModel* mpModel;
7171 /* 0x0574 */ J3DModel* mpPaddleModel;
7272 /* 0x0578 */ J3DModel* mpMaskModel;
73- /* 0x057C */ dCcD_Stts field_0x57c ;
74- /* 0x05B8 */ dBgS_AcchCir field_0x5b8[ 9 ];
75- /* 0x07F8 */ dBgS_LinkAcch field_0x7f8 [3 ];
76- /* 0x0D80 */ dCcD_Cyl field_0xd80 [5 ];
77- /* 0x13AC */ dBgS_LinkLinChk field_0x13ac ;
78- /* 0x141C */ Z2SoundObjSimple field_0x141c ;
79- /* 0x143C */ char * mResName ;
73+ /* 0x057C */ dCcD_Stts mCcStts ;
74+ /* 0x05B8 */ dBgS_AcchCir mAcchCir [ 3 ][ 3 ];
75+ /* 0x07F8 */ dBgS_LinkAcch mAcch [3 ];
76+ /* 0x0D80 */ dCcD_Cyl mCcCyl [5 ];
77+ /* 0x13AC */ dBgS_LinkLinChk mLineChk ;
78+ /* 0x141C */ Z2SoundObjSimple mSound ;
79+ /* 0x143C */ const char * mArcName ;
8080 /* 0x1440 */ u8 mPaddleWaterType ;
8181 /* 0x1441 */ u8 field_0x1441;
82- /* 0x1442 */ u8 field_0x1442 ;
82+ /* 0x1442 */ u8 mIsForceAimAngle ;
8383 /* 0x1443 */ u8 mJumpRideFlg ;
8484 /* 0x1444 */ u8 field_0x1444;
85- /* 0x1445 */ u8 mReverb ;
86- /* 0x1446 */ u8 field_0x1446;
85+ /* 0x1445 */ s8 mReverb ;
86+ /* 0x1446 */ u8 mIsForcePosAngle ;
87+ /* 0x1447 */ u8 mIsSliderHit ;
8788 /* 0x1448 */ s16 field_0x1448;
88- /* 0x144A */ s16 field_0x144a ;
89+ /* 0x144A */ s16 mForceAngle ;
8990 /* 0x144C */ s16 mAimAngle ;
9091 /* 0x144E */ s16 field_0x144e;
9192 /* 0x1450 */ s16 field_0x1450;
@@ -94,24 +95,26 @@ class daCanoe_c : public fopAc_ac_c {
9495 /* 0x1456 */ s16 field_0x1456;
9596 /* 0x1458 */ s16 field_0x1458;
9697 /* 0x145A */ s16 field_0x145a;
97- /* 0x145C */ s16 field_0x145c ;
98- /* 0x145E */ s16 field_0x145e ;
98+ /* 0x145C */ s16 mHitInvulnerabilityTimer ;
99+ /* 0x145E */ u16 mHitCount ;
99100 /* 0x1460 */ s16 field_0x1460;
100101 /* 0x1464 */ fpc_ProcID mRodID ;
101102 /* 0x1468 */ f32 mAimSpeed ;
102103 /* 0x146C */ f32 mShapeOffsetY ;
103104 /* 0x1470 */ f32 field_0x1470;
104- /* 0x1474 */ u32 field_0x1474;
105- /* 0x1478 */ u8 field_0x1478[0x1480 - 0x1478 ];
105+ /* 0x1474 */ u32 mShadowId ;
106+ /* 0x1478 */ u32 field_0x1478;
107+ /* 0x147C */ u8 field_0x147c[0x1480 - 0x147C ];
106108 /* 0x1480 */ u32 field_0x1480;
107- /* 0x1484 */ u8 field_0x1484[0x1490 - 0x1484 ];
109+ /* 0x1484 */ u8 field_0x1484[0x1488 - 0x1484 ];
110+ /* 0x1488 */ u32 field_0x1488[2 ];
108111 /* 0x1490 */ u32 field_0x1490;
109- /* 0x1494 */ cXyz field_0x1494 ;
110- /* 0x14A0 */ cXyz field_0x14a0 ;
111- /* 0x14AC */ cXyz field_0x14ac ;
112- /* 0x14B8 */ cXyz field_0x14b8 ;
113- /* 0x14C4 */ cXyz field_0x14c4 ;
114- /* 0x14D0 */ cXyz field_0x14d0 ;
112+ /* 0x1494 */ cXyz mFrontPos ;
113+ /* 0x14A0 */ cXyz mBackPos ;
114+ /* 0x14AC */ cXyz mOldFrontPos ;
115+ /* 0x14B8 */ cXyz mOldBackPos ;
116+ /* 0x14C4 */ cXyz mWaterSpeed ;
117+ /* 0x14D0 */ cXyz mForcePos ;
115118};
116119
117120STATIC_ASSERT (sizeof (daCanoe_c) == 0x14dc);
0 commit comments