mirror of
https://github.com/zeldaret/tww.git
synced 2026-07-09 06:03:22 -04:00
82 lines
2.4 KiB
C++
82 lines
2.4 KiB
C++
#ifndef D_A_MAJUU_FLAG_H
|
|
#define D_A_MAJUU_FLAG_H
|
|
|
|
#include "f_op/f_op_actor.h"
|
|
#include "SSystem/SComponent/c_phase.h"
|
|
#include "JSystem/J3DGraphBase/J3DPacket.h"
|
|
|
|
class daMajuu_Flag_packet_c : public J3DPacket {
|
|
public:
|
|
daMajuu_Flag_packet_c() {
|
|
mCurArr = 0;
|
|
mRotateY = 0;
|
|
m798 = 0;
|
|
m796 = 0;
|
|
m79B = 1;
|
|
}
|
|
virtual ~daMajuu_Flag_packet_c() {}
|
|
|
|
void changeCurrentPos() {
|
|
mCurArr ^= 1;
|
|
}
|
|
Mtx* getMtx() { return &mPosMtx; }
|
|
GXTexObj* getToonTexObj() { return &mToonTex; }
|
|
GXTexObj* getImageTexObj() { return &mFlagTex; }
|
|
cXyz* getPos() { return mpPosArr[mCurArr]; }
|
|
cXyz* getNrm() { return mpNrmArr[mCurArr]; }
|
|
cXyz* getBackNrm() { return mpNrmArrBack[mCurArr]; }
|
|
cXyz* getOffsetVec() { return mSpeed; }
|
|
|
|
void setTevStr(dKy_tevstr_c* tevStr) { mpTevStr = tevStr; }
|
|
void setNrmMtx();
|
|
void setBackNrm();
|
|
void setNrmVtx(cXyz*, int);
|
|
|
|
virtual void draw();
|
|
|
|
public:
|
|
/* 0x010 */ Mtx mPosMtx;
|
|
/* 0x040 */ dKy_tevstr_c* mpTevStr;
|
|
/* 0x044 */ GXTexObj mToonTex;
|
|
/* 0x064 */ GXTexObj mFlagTex;
|
|
/* 0x084 */ u8 m084[0x0A0 - 0x084];
|
|
/* 0x0A0 */ cXyz mpPosArr[2][21];
|
|
/* 0x298 */ u8 m298[0x2A0 - 0x298];
|
|
/* 0x2A0 */ cXyz mpNrmArr[2][21];
|
|
/* 0x498 */ u8 m498[0x4A0 - 0x498];
|
|
/* 0x4A0 */ cXyz mpNrmArrBack[2][21];
|
|
/* 0x698 */ cXyz mSpeed[21];
|
|
/* 0x794 */ s16 mRotateY;
|
|
/* 0x796 */ s16 m796;
|
|
/* 0x798 */ s16 m798;
|
|
/* 0x79A */ u8 mCurArr;
|
|
/* 0x79B */ u8 m79B;
|
|
}; // size = 0x79C
|
|
|
|
class daMajuu_Flag_c : public fopAc_ac_c {
|
|
public:
|
|
void setBaseScale(float scale) { mFlagScale = scale; }
|
|
void setOtherMatrix(Mtx* mtx) { mpParentMtx = *mtx; }
|
|
void setOtherOffset(cXyz* pos) { mpParentPos = pos; }
|
|
|
|
public:
|
|
/* 0x290 */ u8 m290[0x2A0 - 0x290];
|
|
/* 0x2A0 */ daMajuu_Flag_packet_c mPacket;
|
|
/* 0xA3C */ u8 mA3C[0xA40 - 0xA3C];
|
|
/* 0xA40 */ request_of_phase_process_class mPhsCloth;
|
|
/* 0xA48 */ request_of_phase_process_class mPhsFlag;
|
|
/* 0xA50 */ u8 mA50[0xA58 - 0xA50];
|
|
/* 0xA58 */ s16 mWave;
|
|
/* 0xA5A */ u8 mA5A[0xA60 - 0xA5A];
|
|
/* 0xA60 */ f32 mFlagScale;
|
|
/* 0xA64 */ u8 mFlagType;
|
|
/* 0xA65 */ u8 mTexType;
|
|
/* 0xA66 */ u8 mbUsePlayerTevStr;
|
|
/* 0xA67 */ u8 mA67[0xA68 - 0xA67];
|
|
/* 0xA68 */ Mtx mMtx;
|
|
/* 0xA98 */ MtxP mpParentMtx;
|
|
/* 0xA9C */ cXyz* mpParentPos;
|
|
}; // size = 0xAA0
|
|
|
|
#endif /* D_A_MAJUU_FLAG_H */
|