mirror of
https://github.com/zeldaret/tww.git
synced 2026-06-24 09:01:26 -04:00
a52bb789da
TP debug has an assert in d_a_obj showing the name of this variable is `M_no` there.
96 lines
2.3 KiB
C++
96 lines
2.3 KiB
C++
#ifndef D_A_PIRATE_FLAG_H
|
|
#define D_A_PIRATE_FLAG_H
|
|
|
|
#include "f_op/f_op_actor.h"
|
|
#include "m_Do/m_Do_hostIO.h"
|
|
#include "m_Do/m_Do_mtx.h"
|
|
#include "JSystem/J3DGraphBase/J3DPacket.h"
|
|
#include "SSystem/SComponent/c_lib.h"
|
|
#include "SSystem/SComponent/c_phase.h"
|
|
|
|
class daPirate_Flag_packet_c : public J3DPacket {
|
|
public:
|
|
daPirate_Flag_packet_c() {
|
|
m87E = 0;
|
|
m878 = 0;
|
|
m87C = 0;
|
|
m87A = 0;
|
|
m87F = 1;
|
|
}
|
|
|
|
virtual ~daPirate_Flag_packet_c() {}
|
|
|
|
MtxP getMtx() { return mMtx; }
|
|
void setTevStr(dKy_tevstr_c* i_tevStr) { mTevStr = i_tevStr; }
|
|
cXyz* getPos() { return mPos[m87E]; }
|
|
cXyz* getNrm() { return mNrm[m87E]; }
|
|
cXyz* getOffsetVec() { return m74C; } // Guessed based on size in debug maps
|
|
s16 getEscapeNrmAngle() { return m87A; }
|
|
void changeCurrentPos() { m87E ^= 1; }
|
|
void setNrmMtx() {
|
|
cMtx_YrotS(*calc_mtx, m878);
|
|
}
|
|
|
|
void setCorrectNrmAngle(s16, f32);
|
|
void setBackNrm();
|
|
void setNrmVtx(cXyz*, int, int);
|
|
void draw();
|
|
public:
|
|
/* 0x010 */ Mtx mMtx;
|
|
/* 0x040 */ dKy_tevstr_c* mTevStr;
|
|
/* 0x044 */ cXyz mPos[2][25];
|
|
/* 0x29C */ cXyz mNrm[2][25];
|
|
/* 0x4F4 */ cXyz m4F4[2][25];
|
|
/* 0x74C */ cXyz m74C[25];
|
|
/* 0x878 */ s16 m878;
|
|
/* 0x87A */ s16 m87A;
|
|
/* 0x87C */ s16 m87C;
|
|
/* 0x87E */ u8 m87E;
|
|
/* 0x87F */ u8 m87F;
|
|
};
|
|
|
|
class daPirate_Flag_HIO_c : public JORReflexible {
|
|
public:
|
|
daPirate_Flag_HIO_c() {
|
|
mNo = -1;
|
|
m06 = 0;
|
|
m1C = 0.0f;
|
|
m05 = 0;
|
|
m07 = 0;
|
|
m08 = 0x40;
|
|
m0C = 13.0f;
|
|
m10 = 7.0f;
|
|
m14 = -3.5f;
|
|
m18 = 0.45f;
|
|
}
|
|
virtual ~daPirate_Flag_HIO_c() {
|
|
mNo = -1;
|
|
}
|
|
|
|
void genMessage(JORMContext* ctx);
|
|
|
|
public:
|
|
/* 0x04 */ s8 mNo;
|
|
/* 0x05 */ u8 m05;
|
|
/* 0x06 */ u8 m06;
|
|
/* 0x07 */ u8 m07;
|
|
/* 0x08 */ s32 m08;
|
|
/* 0x0C */ f32 m0C;
|
|
/* 0x10 */ f32 m10;
|
|
/* 0x14 */ f32 m14;
|
|
/* 0x18 */ f32 m18;
|
|
/* 0x1C */ f32 m1C;
|
|
};
|
|
|
|
class pirate_flag_class : public fopAc_ac_c {
|
|
public:
|
|
/* 0x290 */ request_of_phase_process_class mPhs1;
|
|
/* 0x298 */ request_of_phase_process_class mPhs2;
|
|
/* 0x2A0 */ u8 pad2A0[0x08];
|
|
/* 0x2A8 */ s16 m2A8;
|
|
/* 0x2AA */ u8 pad2AA[0x0C];
|
|
/* 0x2B8 */ daPirate_Flag_packet_c mPacket;
|
|
};
|
|
|
|
#endif /* D_A_PIRATE_FLAG_H */
|