mirror of
https://github.com/zeldaret/tp
synced 2026-07-07 06:04:58 -04:00
d_camera / m_Do_ext / d_particle + minor various wip (#210)
This commit is contained in:
@@ -63,6 +63,7 @@ public:
|
||||
Vec* getMax() { return &mMax; }
|
||||
Vec* getMin() { return &mMin; }
|
||||
void setCallBack(J3DJointCallBack callback) { mCallBack = callback; }
|
||||
void setMtxCalc(J3DMtxCalc* i_mtxCalc) { mMtxCalc = i_mtxCalc; }
|
||||
|
||||
static J3DMtxCalc* mCurrentMtxCalc;
|
||||
|
||||
|
||||
@@ -33,6 +33,7 @@ public:
|
||||
JUTNameTab* getTextureName() const { return mTextureName; }
|
||||
|
||||
u16 getMaterialNum() const { return mMaterialNum; }
|
||||
bool isLocked() const { return field_0x1c == 1; }
|
||||
|
||||
private:
|
||||
/* 0x04 */ u16 mMaterialNum;
|
||||
|
||||
@@ -28,12 +28,16 @@ typedef void (*J3DCalcCallBack)(J3DModel*, u32 timing);
|
||||
|
||||
class J3DModel {
|
||||
public:
|
||||
J3DModel() {
|
||||
initialize();
|
||||
}
|
||||
|
||||
/* 800CFFF4 */ void setBaseTRMtx(f32 (*)[4]);
|
||||
/* 80327100 */ void initialize();
|
||||
/* 80327184 */ s32 entryModelData(J3DModelData*, u32, u32);
|
||||
/* 80327300 */ s32 createShapePacket(J3DModelData*);
|
||||
/* 803273CC */ s32 createMatPacket(J3DModelData*, u32);
|
||||
/* 803275FC */ void newDifferedDisplayList(u32);
|
||||
/* 803275FC */ s32 newDifferedDisplayList(u32);
|
||||
/* 8032767C */ void lock();
|
||||
/* 803276B4 */ void unlock();
|
||||
/* 803279A0 */ void diff();
|
||||
@@ -60,6 +64,9 @@ public:
|
||||
void onFlag(u32 flag) { mFlags |= flag; }
|
||||
void offFlag(u32 flag) { mFlags &= ~flag; }
|
||||
bool checkFlag(u32 flag) const { return (mFlags & flag) ? true : false; }
|
||||
|
||||
bool isCpuSkinningOn() const { return (mFlags & 4) && (mFlags & 8); }
|
||||
|
||||
Mtx& getBaseTRMtx() { return mBaseTransformMtx; }
|
||||
void i_setBaseTRMtx(Mtx m) { PSMTXCopy(m, mBaseTransformMtx); }
|
||||
u32 getMtxCalcMode() const { return mFlags & 0x03; }
|
||||
@@ -67,8 +74,10 @@ public:
|
||||
J3DShapePacket* getShapePacket(u16 idx) const { return &mShapePacket[idx]; }
|
||||
Mtx33* getBumpMtxPtr(int idx) const { return mMtxBuffer->getBumpMtxPtr(idx); }
|
||||
Mtx33* getNrmMtxPtr() const { return mMtxBuffer->getNrmMtxPtr(); }
|
||||
Mtx* getDrawMtxPtr() const { return mMtxBuffer->getDrawMtxPtr(); }
|
||||
void setBaseScale(const Vec& scale) { mBaseScale = scale; }
|
||||
void setUserArea(u32 area) { mUserArea = area; }
|
||||
u32 getUserArea() const { return mUserArea; }
|
||||
Vec* getBaseScale() { return &mBaseScale; }
|
||||
|
||||
// is there a better way to handle inlines with same name as non-inlines?
|
||||
|
||||
@@ -43,6 +43,7 @@ public:
|
||||
bool checkFlag(u32 flag) const { return !!(mFlags & flag); }
|
||||
bool checkBumpFlag() const { return mbHasBumpArray; }
|
||||
bool checkBBoardFlag() const { return mbHasBillboard == 1; }
|
||||
bool isLocked() { return mMaterialTable.isLocked(); }
|
||||
void entryTexMtxAnimator(J3DAnmTextureSRTKey* anm) { mMaterialTable.entryTexMtxAnimator(anm); }
|
||||
void entryTevRegAnimator(J3DAnmTevRegKey* anm) { mMaterialTable.entryTevRegAnimator(anm); }
|
||||
int removeTexNoAnimator(J3DAnmTexPattern* anm) {
|
||||
|
||||
@@ -30,11 +30,24 @@ public:
|
||||
u32* getCurrentViewNoPtr() { return &mCurrentViewNo; }
|
||||
u8* getScaleFlagArray() const { return mScaleFlagArray; }
|
||||
Mtx** getDrawMtxPtrPtr() const { return mpDrawMtxArr; }
|
||||
Mtx* getDrawMtxPtr() const { return mpDrawMtxArr[mCurrentViewNo]; }
|
||||
Mtx33** getNrmMtxPtrPtr() const { return mpNrmMtxArr; }
|
||||
Mtx33* getNrmMtxPtr() const { return mpNrmMtxArr[mCurrentViewNo]; }
|
||||
Mtx33** getBumpMtxPtrPtr() const { return mpBumpMtxArr; }
|
||||
Mtx33* getBumpMtxPtr(int idx) const { return mpBumpMtxArr[idx]; }
|
||||
|
||||
void swapDrawMtx() {
|
||||
Mtx* tmp = mpOldDrawMtxArr[mCurrentViewNo];
|
||||
mpOldDrawMtxArr[mCurrentViewNo] = mpDrawMtxArr[mCurrentViewNo];
|
||||
mpDrawMtxArr[mCurrentViewNo] = tmp;
|
||||
}
|
||||
|
||||
void swapNrmMtx() {
|
||||
Mtx33* tmp = mpOldNrmMtxArr[mCurrentViewNo];
|
||||
mpOldNrmMtxArr[mCurrentViewNo] = mpNrmMtxArr[mCurrentViewNo];
|
||||
mpNrmMtxArr[mCurrentViewNo] = tmp;
|
||||
}
|
||||
|
||||
static Mtx sNoUseDrawMtx;
|
||||
static Mtx33 sNoUseNrmMtx;
|
||||
static Mtx* sNoUseDrawMtxPtr;
|
||||
@@ -60,4 +73,7 @@ public:
|
||||
/* 803283B4 */ virtual ~J3DMtxBuffer();
|
||||
};
|
||||
|
||||
void J3DCalcViewBaseMtx(f32 (*param_0)[4], Vec const& param_1, f32 const (¶m_2)[3][4],
|
||||
f32 (*param_3)[4]);
|
||||
|
||||
#endif /* J3DMTXBUFFER_H */
|
||||
|
||||
@@ -51,6 +51,7 @@ public:
|
||||
J3DTexGenBlock* getTexGenBlock() const { return mTexGenBlock; }
|
||||
J3DDisplayListObj* getSharedDisplayListObj() const { return mSharedDLObj; }
|
||||
J3DShape* getShape() { return mShape; }
|
||||
J3DJoint* getJoint() { return mJoint; }
|
||||
J3DMaterialAnm* getMaterialAnm() const {
|
||||
if ((u32)mMaterialAnm < 0xC0000000) {
|
||||
return mMaterialAnm;
|
||||
|
||||
@@ -123,6 +123,8 @@ struct J3DSys {
|
||||
|
||||
void setViewMtx(Mtx m) { PSMTXCopy(m, mViewMtx); }
|
||||
|
||||
J3DModel* getModel() { return mModel; }
|
||||
|
||||
static Mtx mCurrentMtx;
|
||||
static Vec mCurrentS;
|
||||
static Vec mParentS;
|
||||
|
||||
@@ -19,6 +19,11 @@ public:
|
||||
|
||||
u16 getNum() const { return mNum; }
|
||||
ResTIMG* getResTIMG(u16 entry) const { return &mpRes[entry]; }
|
||||
void setResTIMG(u16 entry, const ResTIMG& timg) {
|
||||
mpRes[entry] = timg;
|
||||
mpRes[entry].imageOffset = ((mpRes[entry].imageOffset - (u32)(mpRes + entry))) + (u32)&timg;
|
||||
mpRes[entry].paletteOffset = ((mpRes[entry].paletteOffset - (u32)(mpRes + entry))) + (u32)&timg;
|
||||
}
|
||||
};
|
||||
|
||||
struct J3DTextureSRTInfo {
|
||||
|
||||
@@ -54,6 +54,8 @@ private:
|
||||
|
||||
class J3DVertexBuffer {
|
||||
public:
|
||||
J3DVertexBuffer() { init(); }
|
||||
|
||||
/* 80310F78 */ void setVertexData(J3DVertexData*);
|
||||
/* 80310FD8 */ void init();
|
||||
/* 80311030 */ ~J3DVertexBuffer();
|
||||
|
||||
@@ -135,8 +135,6 @@ public:
|
||||
|
||||
u32 getMountMode() const { return mMountMode; }
|
||||
SDIFileEntry* findNameResource(const char*) const;
|
||||
|
||||
protected:
|
||||
bool isSameName(CArcName&, u32, u16) const;
|
||||
SDIDirEntry* findResType(u32) const;
|
||||
SDIDirEntry* findDirectory(const char*, u32) const;
|
||||
|
||||
@@ -22,7 +22,15 @@ public:
|
||||
private:
|
||||
/* 0x00 */ // vtable
|
||||
/* 0x04 */ // JKRArchive
|
||||
u8 unk[36];
|
||||
/* 0x5C */ int field_0x5c;
|
||||
/* 0x60 */ int field_0x60;
|
||||
/* 0x64 */ int field_0x64;
|
||||
/* 0x68 */ int field_0x68;
|
||||
/* 0x6C */ int field_0x6c;
|
||||
/* 0x70 */ JKRDvdFile* field_0x70;
|
||||
/* 0x74 */ u32 mSizeOfMemPart;
|
||||
/* 0x78 */ u32 mSizeOfAramPart;
|
||||
/* 0x7C */ int field_0x7c;
|
||||
};
|
||||
|
||||
#endif /* JKRCOMPARCHIVE_H */
|
||||
|
||||
@@ -6,6 +6,10 @@
|
||||
|
||||
class JKRExpHeap : public JKRHeap {
|
||||
public:
|
||||
enum EAllocMode {
|
||||
ALLOC_MODE_1 = 1,
|
||||
};
|
||||
|
||||
class CMemBlock {
|
||||
friend class JKRExpHeap;
|
||||
|
||||
@@ -18,25 +22,25 @@ public:
|
||||
int free(JKRExpHeap* heap);
|
||||
static CMemBlock* getHeapBlock(void* ptr);
|
||||
|
||||
void newGroupId(u8 groupId) { this->mGroupId = groupId; }
|
||||
bool isValid() const { return this->mMagic == 'HM'; }
|
||||
bool _isTempMemBlock() const { return (this->mFlags & 0x80) ? true : false; }
|
||||
int getAlignment() const { return this->mFlags & 0x7f; }
|
||||
void newGroupId(u8 groupId) { mGroupId = groupId; }
|
||||
bool isValid() const { return mMagic == 'HM'; }
|
||||
bool _isTempMemBlock() const { return (mFlags & 0x80) ? true : false; }
|
||||
int getAlignment() const { return mFlags & 0x7f; }
|
||||
void* getContent() const { return (void*)(this + 1); }
|
||||
CMemBlock* getPrevBlock() const { return this->mPrev; }
|
||||
CMemBlock* getNextBlock() const { return this->mNext; }
|
||||
u32 getSize() const { return this->size; }
|
||||
u8 getGroupId() const { return this->mGroupId; }
|
||||
CMemBlock* getPrevBlock() const { return mPrev; }
|
||||
CMemBlock* getNextBlock() const { return mNext; }
|
||||
u32 getSize() const { return size; }
|
||||
u8 getGroupId() const { return mGroupId; }
|
||||
static CMemBlock* getBlock(void* data) { return (CMemBlock*)((u32)data + -0x10); }
|
||||
|
||||
private:
|
||||
u16 mMagic;
|
||||
u8 mFlags; // a|bbbbbbb a=temporary b=alignment
|
||||
u8 mGroupId;
|
||||
u32 size;
|
||||
CMemBlock* mPrev;
|
||||
CMemBlock* mNext;
|
||||
};
|
||||
/* 0x0 */ u16 mMagic;
|
||||
/* 0x2 */ u8 mFlags; // a|bbbbbbb a=temporary b=alignment
|
||||
/* 0x3 */ u8 mGroupId;
|
||||
/* 0x4 */ u32 size;
|
||||
/* 0x8 */ CMemBlock* mPrev;
|
||||
/* 0xC */ CMemBlock* mNext;
|
||||
}; // Size: 0x10
|
||||
friend class CMemBlock;
|
||||
|
||||
protected:
|
||||
@@ -57,7 +61,11 @@ protected:
|
||||
public:
|
||||
s32 getUsedSize(u8 groupId) const;
|
||||
s32 getTotalUsedSize(void) const;
|
||||
|
||||
CMemBlock* getHeadUsedList() const { return mHeadUsedList; }
|
||||
void setAllocationMode(EAllocMode mode) {
|
||||
mAllocMode = mode;
|
||||
}
|
||||
|
||||
public:
|
||||
/* vt[04] */ virtual u32 getHeapType(); /* override */
|
||||
@@ -81,17 +89,17 @@ public:
|
||||
/* vt[22] */ virtual bool state_compare(JKRHeap::TState const& r1,
|
||||
JKRHeap::TState const& r2) const; /* override */
|
||||
|
||||
u8 field_0x6c;
|
||||
u8 mCurrentGroupId;
|
||||
bool field_0x6e;
|
||||
/* 0x6C */ u8 mAllocMode;
|
||||
/* 0x6D */ u8 mCurrentGroupId;
|
||||
/* 0x6E */ bool field_0x6e;
|
||||
|
||||
private:
|
||||
void* field_0x70;
|
||||
u32 field_0x74;
|
||||
CMemBlock* mHeadFreeList;
|
||||
CMemBlock* mTailFreeList;
|
||||
CMemBlock* mHeadUsedList;
|
||||
CMemBlock* mTailUsedList;
|
||||
/* 0x70 */ void* field_0x70;
|
||||
/* 0x74 */ u32 field_0x74;
|
||||
/* 0x78 */ CMemBlock* mHeadFreeList;
|
||||
/* 0x7C */ CMemBlock* mTailFreeList;
|
||||
/* 0x80 */ CMemBlock* mHeadUsedList;
|
||||
/* 0x84 */ CMemBlock* mTailUsedList;
|
||||
|
||||
public:
|
||||
static JKRExpHeap* createRoot(int maxHeaps, bool errorFlag);
|
||||
|
||||
@@ -14,12 +14,12 @@ class JKRHeap : public JKRDisposer {
|
||||
public:
|
||||
class TState {
|
||||
public:
|
||||
u32 mUsedSize;
|
||||
u32 mCheckCode;
|
||||
u32 mBuf;
|
||||
u32 field_0xc;
|
||||
JKRHeap* mHeap;
|
||||
u32 mId;
|
||||
/* 0x00 */ u32 mUsedSize;
|
||||
/* 0x04 */ u32 mCheckCode;
|
||||
/* 0x08 */ u32 mBuf;
|
||||
/* 0x0C */ u32 field_0xc;
|
||||
/* 0x10 */ JKRHeap* mHeap;
|
||||
/* 0x14 */ u32 mId;
|
||||
|
||||
public:
|
||||
u32 getUsedSize() const { return mUsedSize; }
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
#include "dolphin/types.h"
|
||||
|
||||
void JMAMTXApplyScale(const Mtx, Mtx, f32, f32, f32);
|
||||
void JMAEulerToQuat(s16 param_0, s16 param_1, s16 param_2, Quaternion* param_3);
|
||||
|
||||
inline f32 JMAFastReciprocal(f32 value) {
|
||||
return __fres(value);
|
||||
|
||||
@@ -207,6 +207,7 @@ enum {
|
||||
JPAEmtrStts_StopCalc = 0x02,
|
||||
JPAEmtrStts_FirstEmit = 0x10,
|
||||
JPAEmtrStts_RateStepEmit = 0x20,
|
||||
JPAEmtrStts_Immortal = 0x40,
|
||||
};
|
||||
|
||||
class JPABaseEmitter {
|
||||
@@ -232,12 +233,25 @@ public:
|
||||
u8 getGroupID() const { return mGroupID; }
|
||||
u8 getDrawTimes() const { return mDrawTimes; }
|
||||
void setRate(f32 rate) { mRate = rate; }
|
||||
void setEmitterCallBackPtr(JPAEmitterCallBack* ptr) { mpEmtrCallBack = ptr; }
|
||||
|
||||
f32 get_r_f() { return mRndm.get_rndm_f(); }
|
||||
f32 get_r_zp() { return mRndm.get_rndm_zp(); }
|
||||
f32 get_r_zh() { return mRndm.get_rndm_zh(); }
|
||||
s16 get_r_ss() { return mRndm.get_rndm_ss(); }
|
||||
|
||||
void stopCreateParticle() { setStatus(JPAEmtrStts_StopEmit); }
|
||||
void becomeImmortalEmitter() { setStatus(JPAEmtrStts_Immortal); }
|
||||
void becomeContinuousParticle() { mMaxFrame = 0; }
|
||||
void becomeInvalidEmitter() {
|
||||
stopCreateParticle();
|
||||
mMaxFrame = 1;
|
||||
}
|
||||
|
||||
void quitImmortalEmitter() { clearStatus(JPAEmtrStts_Immortal); }
|
||||
void stopCalcEmitter() { setStatus(JPAEmtrStts_StopCalc); }
|
||||
void playCalcEmitter() { clearStatus(JPAEmtrStts_StopCalc); }
|
||||
|
||||
public:
|
||||
/* 0x00 */ Vec mLocalScl;
|
||||
/* 0x0C */ Vec mLocalTrs;
|
||||
|
||||
@@ -73,7 +73,7 @@ public:
|
||||
/* 0x20 */ virtual u16 getDescent() const = 0;
|
||||
/* 0x24 */ virtual s32 getHeight() const = 0;
|
||||
/* 0x28 */ virtual s32 getWidth() const = 0;
|
||||
/* 0x2C */ virtual void getWidthEntry(int i_no, TWidth* width) const;
|
||||
/* 0x2C */ virtual void getWidthEntry(int i_no, TWidth* width) const = 0;
|
||||
/* 0x30 */ virtual int getCellWidth() const;
|
||||
/* 0x34 */ virtual u16 getCellHeight() const;
|
||||
/* 0x38 */ virtual u16 getFontType() const = 0;
|
||||
|
||||
@@ -26,12 +26,12 @@ public:
|
||||
s32 getIndex(char const*) const;
|
||||
const char* getName(u16 index) const;
|
||||
u16 calcKeyCode(char const* pName) const;
|
||||
const ResNTAB* getResNameTable() const { return mpNameTable; }
|
||||
const ResNTAB* getResNameTable() const { return mNameTable; }
|
||||
|
||||
private:
|
||||
const ResNTAB* mpNameTable;
|
||||
const char* mpStrData;
|
||||
u16 mNameNum;
|
||||
/* 0x4 */ const ResNTAB* mNameTable;
|
||||
/* 0x8 */ const char* mpStrData;
|
||||
/* 0xC */ u16 mNameNum;
|
||||
};
|
||||
|
||||
#endif /* JUTNAMETAB_H */
|
||||
|
||||
@@ -16,9 +16,9 @@ struct ResTIMG {
|
||||
/* 0x04 */ u16 height;
|
||||
/* 0x06 */ u8 wrapS;
|
||||
/* 0x07 */ u8 wrapT;
|
||||
/* 0x08 */ u8 palettesEnabled;
|
||||
/* 0x09 */ u8 paletteFormat;
|
||||
/* 0x0A */ u16 paletteCount;
|
||||
/* 0x08 */ u8 indexTexture;
|
||||
/* 0x09 */ u8 colorFormat;
|
||||
/* 0x0A */ u16 numColors;
|
||||
/* 0x0C */ u32 paletteOffset;
|
||||
/* 0x10 */ u8 mipmapEnabled;
|
||||
/* 0x11 */ u8 doEdgeLOD;
|
||||
@@ -31,7 +31,7 @@ struct ResTIMG {
|
||||
/* 0x18 */ u8 mipmapCount;
|
||||
/* 0x19 */ u8 unknown;
|
||||
/* 0x1A */ s16 LODBias;
|
||||
/* 0x1C */ u32 texDataOffset;
|
||||
/* 0x1C */ u32 imageOffset;
|
||||
}; // Size: 0x20
|
||||
|
||||
class JUTTexture {
|
||||
|
||||
@@ -6,18 +6,18 @@
|
||||
typedef int (*cPhs__Handler)(void*);
|
||||
|
||||
enum cPhs__Step {
|
||||
cPhs_ZERO_e = 0x00,
|
||||
cPhs_UNK_1 = 0x01,
|
||||
cPhs_UNK_2 = 0x02,
|
||||
// names from Wind Waker debug strings
|
||||
cPhs_COMPLEATE_e = 0x04,
|
||||
cPhs_ERROR_e = 0x05,
|
||||
cPhs_NEXT_e = 0x06,
|
||||
/* 0x0 */ cPhs_ZERO_e,
|
||||
/* 0x1 */ cPhs_ONE_e, // next?
|
||||
/* 0x2 */ cPhs_TWO_e, // ready?
|
||||
/* 0x3 */ cPhs_UNK3_e,
|
||||
/* 0x4 */ cPhs_COMPLEATE_e,
|
||||
/* 0x5 */ cPhs_ERROR_e,
|
||||
/* 0x6 */ cPhs_NEXT_e,
|
||||
};
|
||||
|
||||
typedef struct request_of_phase_process_class {
|
||||
cPhs__Handler* mpHandlerTable;
|
||||
int mPhaseStep;
|
||||
int id;
|
||||
} request_of_phase_process_class;
|
||||
|
||||
typedef int (**request_of_phase_process_fn)(void*);
|
||||
|
||||
+214
-68
@@ -174,33 +174,154 @@ struct daAlink_WlAnmData {
|
||||
/* 0x7 */ u8 field_0x7;
|
||||
}; // Size: 0x8
|
||||
|
||||
class daAlinkHIO_wolf_c {
|
||||
public:
|
||||
/* 80140B98 */ ~daAlinkHIO_wolf_c();
|
||||
};
|
||||
|
||||
class daAlinkHIO_cut_c {
|
||||
public:
|
||||
/* 80140BD4 */ ~daAlinkHIO_cut_c();
|
||||
};
|
||||
|
||||
class daAlinkHIO_c {
|
||||
public:
|
||||
/* 80140B88 */ daAlinkHIO_c();
|
||||
/* 80140C10 */ ~daAlinkHIO_c();
|
||||
};
|
||||
|
||||
class daAlink_c;
|
||||
typedef int (daAlink_c::*daAlink_procFunc)();
|
||||
|
||||
class daAlink_c : public daPy_py_c {
|
||||
public:
|
||||
enum daAlink_ANM {
|
||||
/* 0x013 */ ANM_DASH = 19,
|
||||
/* 0x001 */ ANM_ATN_L_WALK_FORWARD = 1,
|
||||
|
||||
/* 0x003 */ ANM_ATN_WALK_BACK = 3,
|
||||
|
||||
/* 0x005 */ ANM_ATN_L_WALK_BACK = 5,
|
||||
/* 0x006 */ ANM_ATN_HEAVY_WALK_LEFT,
|
||||
/* 0x007 */ ANM_ATN_READY_LEFT,
|
||||
/* 0x008 */ ANM_ATN_HEAVY_WALK_RIGHT,
|
||||
/* 0x009 */ ANM_ATN_READY_RIGHT,
|
||||
/* 0x00A */ ANM_ATN_WALK_LEFT,
|
||||
/* 0x00B */ ANM_ATN_L_WALK_LEFT,
|
||||
/* 0x00C */ ANM_ATN_WALK_RIGHT,
|
||||
/* 0x00D */ ANM_ATN_L_WALK_RIGHT,
|
||||
/* 0x00E */ ANM_HEAVY_WALK,
|
||||
/* 0x00F */ ANM_ATN_HEAVY_WALK_BACK,
|
||||
/* 0x010 */ ANM_HOOKSHOT_AIM,
|
||||
/* 0x011 */ ANM_BOW_AIM,
|
||||
|
||||
/* 0x013 */ ANM_RUN = 19,
|
||||
|
||||
/* 0x015 */ ANM_WAIT_TURN = 0x15,
|
||||
/* 0x019 */ ANM_IDLE = 0x19, // name might be inaccurate
|
||||
|
||||
/* 0x019 */ ANM_IDLE = 0x19, // name might be inaccurate, subjectivity
|
||||
|
||||
/* 0x01B */ ANM_WAIT_INIT = 0x1B,
|
||||
|
||||
/* 0x01D */ ANM_SIDE_STEP_LEFT = 0x1D,
|
||||
/* 0x01E */ ANM_SIDE_STEP_RIGHT,
|
||||
/* 0x01F */ ANM_SIDE_STEP_LEFT_LAND,
|
||||
/* 0x020 */ ANM_SIDE_STEP_RIGHT_LAND,
|
||||
/* 0x021 */ ANM_BACK_JUMP = 0x21,
|
||||
/* 0x021 */ ANM_BACK_JUMP,
|
||||
/* 0x022 */ ANM_BACK_JUMP_LAND,
|
||||
/* 0x023 */ ANM_FRONT_ROLL,
|
||||
/* 0x024 */ ANM_ROLL_CRASH,
|
||||
/* 0x071 */ ANM_CUT_JUMP = 0x71,
|
||||
/* 0x025 */ ANM_BARRIER_RECOIL,
|
||||
/* 0x026 */ ANM_BACKFLIP,
|
||||
/* 0x027 */ ANM_BACKFLIP_LAND,
|
||||
|
||||
/* 0x02C */ ANM_SHIELD_GUARD = 0x2C,
|
||||
|
||||
/* 0x02E */ ANM_SHIELD_ATTACK = 0x2E,
|
||||
/* 0x02F */ ANM_SHIELD_ATTACK_RECOIL,
|
||||
|
||||
/* 0x033 */ ANM_FALL_LAND = 0x33, // ?
|
||||
|
||||
/* 0x036 */ ANM_PUSH_PULL_READY = 0x36,
|
||||
/* 0x037 */ ANM_PUSH,
|
||||
|
||||
/* 0x03A */ ANM_PULL = 0x3A,
|
||||
|
||||
/* 0x062 */ ANM_CUT_NM_VERTICAL = 0x62,
|
||||
/* 0x063 */ ANM_CUT_NM_LEFT,
|
||||
/* 0x064 */ ANM_CUT_NM_RIGHT,
|
||||
/* 0x065 */ ANM_CUT_COMBO_STAB,
|
||||
/* 0x066 */ ANM_CUT_NM_STAB,
|
||||
/* 0x067 */ ANM_CUT_FINISH_LEFT,
|
||||
/* 0x068 */ ANM_CUT_FINISH_VERTICAL,
|
||||
/* 0x069 */ ANM_CUT_FINISH_STAB,
|
||||
|
||||
/* 0x06C */ ANM_CUT_FINISH_RIGHT = 0x6C,
|
||||
/* 0x06D */ ANM_CUT_TWIRL,
|
||||
/* 0x06E */ ANM_CUT_TWIRL_LAND,
|
||||
/* 0x06F */ ANM_CUT_RECOIL_1,
|
||||
/* 0x070 */ ANM_CUT_RECOIL_2,
|
||||
/* 0x071 */ ANM_CUT_JUMP,
|
||||
/* 0x072 */ ANM_CUT_JUMP_LAND,
|
||||
/* 0x073 */ ANM_CUT_TURN_LEFT,
|
||||
/* 0x074 */ ANM_CUT_TURN_RIGHT,
|
||||
/* 0x075 */ ANM_CUT_TURN_CHARGE_INIT,
|
||||
/* 0x076 */ ANM_CUT_TURN_CHARGE,
|
||||
|
||||
/* 0x078 */ ANM_CUT_FINISHING_BLOW_JUMP = 0x78,
|
||||
/* 0x079 */ ANM_CUT_FINISHING_BLOW_FALL,
|
||||
/* 0x07A */ ANM_CUT_FINISHING_BLOW_STAB,
|
||||
|
||||
/* 0x07C */ ANM_CUT_HEAD_JUMP = 0x7C,
|
||||
/* 0x07D */ ANM_CUT_HEAD,
|
||||
/* 0x07E */ ANM_CUT_HEAD_LAND,
|
||||
/* 0x07F */ ANM_DMG_SMALL,
|
||||
|
||||
/* 0x083 */ ANM_DMG_AIR = 0x83,
|
||||
/* 0x084 */ ANM_DMG_LARGE,
|
||||
|
||||
/* 0x087 */ ANM_DMG_AIR_LAND = 0x87,
|
||||
/* 0x088 */ ANM_DMG_LARGE_LAND,
|
||||
|
||||
/* 0x08C */ ANM_DMG_LARGE_UP_INIT = 0x8C,
|
||||
/* 0x08D */ ANM_DMG_LARGE_UP,
|
||||
|
||||
/* 0x090 */ ANM_SERVICE_WAIT = 0x90,
|
||||
/* 0x091 */ ANM_CLIMB_JUMP,
|
||||
/* 0x092 */ ANM_HANG_READY,
|
||||
/* 0x093 */ ANM_CLIMB_TOP_SMALL,
|
||||
/* 0x094 */ ANM_HANG_CLIMB_TOP,
|
||||
/* 0x095 */ ANM_HANG_ONE_HAND,
|
||||
/* 0x096 */ ANM_HANG_ONE_HAND_MOVE,
|
||||
/* 0x097 */ ANM_HANG_MOVE_LEFT,
|
||||
/* 0x098 */ ANM_HANG_MOVE_RIGHT,
|
||||
|
||||
/* 0x0A2 */ ANM_CLIMB_READY = 0xA2,
|
||||
/* 0x0A3 */ ANM_CLIMB_UP_RIGHT,
|
||||
/* 0x0A4 */ ANM_CLIMB_UP_LEFT,
|
||||
/* 0x0A5 */ ANM_CLIMB_MOVE_LEFT,
|
||||
/* 0x0A6 */ ANM_CLIMB_MOVE_RIGHT,
|
||||
/* 0x0A7 */ ANM_FALL_ONE_HAND_GRAB,
|
||||
|
||||
/* 0x0AF */ ANM_PICK_UP_INIT = 0xAF,
|
||||
/* 0x0B0 */ ANM_PICK_UP,
|
||||
/* 0x0B1 */ ANM_THROW_SMALL,
|
||||
/* 0x0B2 */ ANM_THROW_LARGE,
|
||||
/* 0x0B3 */ ANM_PICK_UP_LARGE_INIT,
|
||||
/* 0x0B4 */ ANM_PICK_UP_LARGE,
|
||||
|
||||
/* 0x0B6 */ ANM_TIRED_WAIT = 0xB6,
|
||||
/* 0x0B7 */ ANM_TIRED_WAIT_INIT,
|
||||
/* 0x0B8 */ ANM_NPC_SPEAK,
|
||||
|
||||
/* 0x0BB */ ANM_BOOMERANG_CATCH = 0xBB,
|
||||
|
||||
/* 0x0BD */ ANM_FORWARD_SLIDE = 0xBD,
|
||||
/* 0x0BE */ ANM_BACKWARD_SLIDE,
|
||||
/* 0x0BF */ ANM_BACKWARD_SLIDE_LAND,
|
||||
/* 0x0C0 */ ANM_FORWARD_SLIDE_LAND,
|
||||
|
||||
/* 0x0CE */ ANM_SWIM_FREEZE = 0xCE,
|
||||
|
||||
/* 0x0D7 */ ANM_BOARD_SPINNER = 0xD7,
|
||||
|
||||
/* 0x0F2 */ ANM_SPINNER_STAND = 0xF2,
|
||||
@@ -213,12 +334,41 @@ public:
|
||||
|
||||
/* 0x0FD */ ANM_TRANSFORM_WOLF = 0xFD, // verify
|
||||
|
||||
/* 0x100 */ ANM_BOTTLE_DRINK_OPEN = 0x100,
|
||||
/* 0x101 */ ANM_BOTTLE_DRINK,
|
||||
/* 0x102 */ ANM_BOTTLE_DRINK_END,
|
||||
|
||||
/* 0x107 */ ANM_BOTTLE_SWING = 0x107,
|
||||
/* 0x108 */ ANM_GRASS_WHISTLE_GRAB,
|
||||
|
||||
/* 0x10B */ ANM_LANTERN_SWING = 0x10B,
|
||||
/* 0x10C */ ANM_OIL_BOTTLE_POUR_INIT,
|
||||
/* 0x10D */ ANM_OIL_BOTTLE_POUR,
|
||||
/* 0x10E */ ANM_OIL_BOTTLE_POUR_END,
|
||||
|
||||
/* 0x110 */ ANM_GRASS_WHISTLE_PLAY = 0x110,
|
||||
/* 0x111 */ ANM_HAWK_CATCH,
|
||||
/* 0x112 */ ANM_HAWK_SUBJECT,
|
||||
|
||||
/* 0x129 */ ANM_HOOKSHOT_PULL_TO = 0x129,
|
||||
|
||||
/* 0x12B */ ANM_HOOKSHOT_SHOOT = 0x12B,
|
||||
|
||||
/* 0x13E */ ANM_BOOTS_EQUIP = 0x13E,
|
||||
|
||||
/* 0x181 */ ANM_CHAIN_PICK_UP = 0x181,
|
||||
/* 0x182 */ ANM_CHAIN_PULL,
|
||||
|
||||
/* 0x188 */ ANM_DUNGEON_WARP_READY_INIT = 0x188,
|
||||
|
||||
/* 0x18D */ ANM_CUT_JUMP_LARGE = 0x18D, // verify
|
||||
/* 0x18F */ ANM_MASTER_SWORD_STICK_INIT = 0x18F,
|
||||
/* 0x18B */ ANM_CUT_JUMP_LARGE_CHARGE = 0x18B,
|
||||
/* 0x18C */ ANM_CUT_JUMP_LARGE_INIT,
|
||||
/* 0x18D */ ANM_CUT_JUMP_LARGE,
|
||||
/* 0x18E */ ANM_CUT_JUMP_LARGE_LAND,
|
||||
/* 0x18F */ ANM_MASTER_SWORD_STICK_INIT,
|
||||
/* 0x190 */ ANM_MASTER_SWORD_STICK,
|
||||
/* 0x191 */ ANM_MASTER_SWORD_PULL_INIT,
|
||||
|
||||
/* 0x198 */ ANM_GANON_FINISH = 408, // name probably wrong, fix later
|
||||
};
|
||||
|
||||
@@ -690,7 +840,7 @@ public:
|
||||
/* 8009FFF8 */ void calcHairAngle(s16*);
|
||||
/* 800A002C */ void setHairAngle(cXyz*, f32, f32);
|
||||
/* 800A0744 */ void setLookPosFromOut(cXyz*);
|
||||
/* 800A07D8 */ void checkAttentionPosAngle(cXyz*);
|
||||
/* 800A07D8 */ bool checkAttentionPosAngle(cXyz*);
|
||||
/* 800A0868 */ void checkActorPosAngle(fopAc_ac_c*, cXyz**);
|
||||
/* 800A093C */ void getNeckAimPos(cXyz*, int*, int);
|
||||
/* 800A142C */ void getNeckAimAngle(cXyz*, s16*, s16*, s16*, s16*);
|
||||
@@ -710,10 +860,10 @@ public:
|
||||
/* 800A3CE4 */ void setIdxMask(u16*, u16*);
|
||||
/* 800A3D0C */ void* getAnimeResource(daPy_anmHeap_c*, u16, u32);
|
||||
/* 800A3D7C */ J3DModel* initModel(J3DModelData*, u32, u32);
|
||||
/* 800A3E30 */ void initModel(u16, u32);
|
||||
/* 800A3E98 */ void initModelEnv(u16, u32);
|
||||
/* 800A3F00 */ void initDemoModel(J3DModel**, char const*, u32);
|
||||
/* 800A3F98 */ void initDemoBck(mDoExt_bckAnm**, char const*);
|
||||
/* 800A3E30 */ J3DModel* initModel(u16, u32);
|
||||
/* 800A3E98 */ J3DModel* initModelEnv(u16, u32);
|
||||
/* 800A3F00 */ int initDemoModel(J3DModel**, char const*, u32);
|
||||
/* 800A3F98 */ static int initDemoBck(mDoExt_bckAnm**, char const*);
|
||||
/* 800A4068 */ int createHeap();
|
||||
/* 800A4910 */ void setSelectEquipItem(int);
|
||||
/* 800A4BC8 */ BOOL checkBoarStart();
|
||||
@@ -971,13 +1121,13 @@ public:
|
||||
/* 800C0678 */ static bool checkCastleTownUseItem(u16);
|
||||
/* 800C077C */ void changeItemTriggerKeepProc(u8, int);
|
||||
/* 800C0A9C */ void checkNewItemChange(u8);
|
||||
/* 800C12DC */ void deleteEquipItem(int, int);
|
||||
/* 800C12DC */ void deleteEquipItem(int playSound, int deleteKantera);
|
||||
/* 800C1704 */ void setLight();
|
||||
/* 800C1CEC */ void setFrontRollCrashShock(u8);
|
||||
/* 800C1E0C */ void changeWarpMaterial(daAlink_c::daAlink_WARP_MAT_MODE);
|
||||
/* 800C1F6C */ void commonProcInit(daAlink_c::daAlink_PROC);
|
||||
/* 800C2DA4 */ BOOL commonProcInitNotSameProc(daAlink_PROC);
|
||||
/* 800C2DDC */ void procPreActionUnequipInit(int, fopAc_ac_c*);
|
||||
/* 800C1F6C */ void commonProcInit(daAlink_c::daAlink_PROC procID);
|
||||
/* 800C2DA4 */ BOOL commonProcInitNotSameProc(daAlink_PROC procID);
|
||||
/* 800C2DDC */ int procPreActionUnequipInit(int, fopAc_ac_c*);
|
||||
/* 800C2EAC */ void procPreActionUnequip();
|
||||
/* 800C3098 */ int procServiceWaitInit();
|
||||
/* 800C30F0 */ int procServiceWait();
|
||||
@@ -1910,8 +2060,8 @@ public:
|
||||
/* 80111724 */ void procKandelaarPour();
|
||||
/* 80111784 */ void setGrassWhistleModel(int);
|
||||
/* 8011181C */ void setHorseWhistleModel();
|
||||
/* 80111894 */ void procGrassWhistleGetInit();
|
||||
/* 801119D8 */ void procGrassWhistleGet();
|
||||
/* 80111894 */ int procGrassWhistleGetInit();
|
||||
/* 801119D8 */ int procGrassWhistleGet();
|
||||
/* 80111A9C */ void procGrassWhistleWaitInit(int, int, int, s16, cXyz*);
|
||||
/* 80111CA4 */ void procGrassWhistleWait();
|
||||
/* 80111FF0 */ void procCoHorseCallWaitInit(int);
|
||||
@@ -2590,6 +2740,7 @@ public:
|
||||
const daAlink_AnmData* getAnmData(daAlink_ANM anmID) const { return &m_anmDataTable[anmID]; }
|
||||
|
||||
BOOL i_checkReinRide() const { return mRideStatus == 1 || mRideStatus == 2; }
|
||||
int getGrassHowlEventActor() const { return field_0x3198; }
|
||||
|
||||
bool checkFishingCastMode() const {
|
||||
bool var_r5;
|
||||
@@ -2627,8 +2778,14 @@ public:
|
||||
return initModel(p_modelData, 0x80000, param_1);
|
||||
}
|
||||
|
||||
J3DModel* initModelEnv(J3DModelData* p_modelData, u32 param_1) {
|
||||
return initModel(p_modelData, 0, param_1);
|
||||
}
|
||||
|
||||
bool checkWindSpeedOnXZ() const { return field_0x35b8.abs2XZ() > 1.0f; }
|
||||
|
||||
bool checkResetRootMtx(int param_0) const { return field_0x2f90 != 0 && param_0 == 1; }
|
||||
|
||||
inline void startRestartRoomFromOut(int, u32, int);
|
||||
inline u16 getReadyItem();
|
||||
|
||||
@@ -2654,34 +2811,34 @@ private:
|
||||
/* 0x00644 */ char* mShieldArcName;
|
||||
/* 0x00648 */ JKRExpHeap* field_0x0648;
|
||||
/* 0x0064C */ J3DModelData* field_0x064C;
|
||||
/* 0x00650 */ J3DModel* field_0x0650;
|
||||
/* 0x00654 */ J3DModel* field_0x0654;
|
||||
/* 0x00658 */ J3DModel* field_0x0658;
|
||||
/* 0x00650 */ J3DModel* mpLinkModel;
|
||||
/* 0x00654 */ J3DModel* mpLinkFaceModel;
|
||||
/* 0x00658 */ J3DModel* mpLinkHatModel;
|
||||
/* 0x0065C */ J3DModel* field_0x065c;
|
||||
/* 0x00660 */ J3DModel* field_0x0660;
|
||||
/* 0x00664 */ J3DModel* field_0x0664;
|
||||
/* 0x00668 */ J3DModel* field_0x0668;
|
||||
/* 0x0066C */ J3DModel* field_0x066c;
|
||||
/* 0x00670 */ J3DModel* field_0x0670;
|
||||
/* 0x00674 */ J3DModel* field_0x0674;
|
||||
/* 0x00660 */ J3DModel* mpSwAModel; // Ordon Sword model
|
||||
/* 0x00664 */ J3DModel* mpSwASheathModel; // Ordon Sword sheath model
|
||||
/* 0x00668 */ J3DModel* mpSwMModel; // Master Sword model
|
||||
/* 0x0066C */ J3DModel* mpSwMSheathModel; // Master Sword sheath model
|
||||
/* 0x00670 */ J3DModel* mWoodSwordModel;
|
||||
/* 0x00674 */ J3DModel* mpWlChangeModel;
|
||||
/* 0x00678 */ J3DModel* mShieldModel;
|
||||
/* 0x0067C */ J3DAnmBase* field_0x067c;
|
||||
/* 0x00680 */ J3DAnmBase* field_0x0680;
|
||||
/* 0x00684 */ J3DModel* field_0x0684;
|
||||
/* 0x00688 */ J3DModel* field_0x0688;
|
||||
/* 0x00684 */ J3DModel* mpDemoFCBlendModel;
|
||||
/* 0x00688 */ J3DModel* mpDemoFCTongueModel;
|
||||
/* 0x0068C */ J3DAnmBase* field_0x068c;
|
||||
/* 0x00690 */ mDoExt_baseAnm** field_0x0690;
|
||||
/* 0x00694 */ J3DDeformData* field_0x0694;
|
||||
/* 0x00690 */ mDoExt_bckAnm* mpDemoFCTmpBck;
|
||||
/* 0x00694 */ J3DDeformData* mpDemoFCTmpBls;
|
||||
/* 0x00698 */ void* field_0x0698;
|
||||
/* 0x0069C */ void* field_0x069c;
|
||||
/* 0x006A0 */ J3DModel* field_0x06a0;
|
||||
/* 0x006A4 */ mDoExt_bckAnm* field_0x06a4;
|
||||
/* 0x006A8 */ J3DModel* field_0x06a8;
|
||||
/* 0x006AC */ mDoExt_bckAnm* field_0x06ac;
|
||||
/* 0x006B0 */ mDoExt_bckAnm* field_0x06b0;
|
||||
/* 0x006A0 */ J3DModel* mpDemoHLTmpModel;
|
||||
/* 0x006A4 */ mDoExt_bckAnm* mpDemoHLTmpBck;
|
||||
/* 0x006A8 */ J3DModel* mpDemoHRTmpModel;
|
||||
/* 0x006AC */ mDoExt_bckAnm* mpDemoHRTmpBck;
|
||||
/* 0x006B0 */ mDoExt_bckAnm* mpDemoHDTmpBck;
|
||||
/* 0x006B4 */ J3DAnmTransform* field_0x06b4;
|
||||
/* 0x006B8 */ J3DModel* mSwordModel;
|
||||
/* 0x006BC */ J3DModel* field_0x06bc;
|
||||
/* 0x006BC */ J3DModel* mSheathModel;
|
||||
/* 0x006C0 */ J3DModelData* field_0x06c0;
|
||||
/* 0x006C4 */ J3DAnmTextureSRTKey* m_nSwordBtk;
|
||||
/* 0x006C8 */ J3DAnmTextureSRTKey* m_mSwordBtk;
|
||||
@@ -2697,13 +2854,13 @@ private:
|
||||
/* 0x006F0 */ J3DShape* field_0x06f0;
|
||||
/* 0x006F4 */ J3DAnmBase* field_0x06f4;
|
||||
/* 0x006F8 */ J3DAnmBase* field_0x06f8;
|
||||
/* 0x006FC */ J3DModel* field_0x06fc;
|
||||
/* 0x006FC */ J3DModel* field_0x06fc; // related to human link
|
||||
/* 0x00700 */ J3DModel* field_0x0700;
|
||||
/* 0x00704 */ J3DAnmBase* field_0x0704;
|
||||
/* 0x00708 */ J3DModel* mHeldItemModel;
|
||||
/* 0x0070C */ J3DModel* field_0x070c;
|
||||
/* 0x00710 */ J3DModel* field_0x0710;
|
||||
/* 0x00714 */ J3DModel* field_0x0714;
|
||||
/* 0x0070C */ J3DModel* field_0x070c; // related to held item
|
||||
/* 0x00710 */ J3DModel* field_0x0710; // related to held item
|
||||
/* 0x00714 */ J3DModel* field_0x0714; // related to held item
|
||||
/* 0x00718 */ J3DAnmBase* field_0x0718;
|
||||
/* 0x0071C */ J3DAnmBase* field_0x071c;
|
||||
/* 0x00720 */ J3DAnmBase* field_0x0720;
|
||||
@@ -2719,14 +2876,17 @@ private:
|
||||
/* 0x0077C */ dBgS_ObjLinChk* mpHookshotLinChk;
|
||||
/* 0x00780 */ u8 field_0x780[4];
|
||||
/* 0x00784 */ J3DModel* field_0x784[2];
|
||||
/* 0x0078C */ u8 field_0x78c[0x10];
|
||||
/* 0x0079C */ u32 field_0x79c;
|
||||
/* 0x007A0 */ u32 field_0x7a0;
|
||||
/* 0x007A4 */ u32 field_0x7a4;
|
||||
/* 0x007A8 */ u32 field_0x7a8;
|
||||
/* 0x0078C */ J3DModel* mpWlChain1Model;
|
||||
/* 0x00790 */ J3DModel* mpWlChain2Model;
|
||||
/* 0x00794 */ J3DModel* mpWlChain3Model;
|
||||
/* 0x00798 */ J3DModel* mpWlChain4Model;
|
||||
/* 0x0079C */ J3DModel* field_0x79c; // related to wolf
|
||||
/* 0x007A0 */ J3DModel* mpWlMidnaHatModel;
|
||||
/* 0x007A4 */ J3DModel* field_0x7a4; // related to wolf
|
||||
/* 0x007A8 */ J3DModel* mpWlMidnaHairModel;
|
||||
/* 0x007AC */ u8 field_0x7ac[0x10];
|
||||
/* 0x007BC */ mDoExt_bckAnm* m_sWindowBck;
|
||||
/* 0x007C0 */ u8 field_0x7c0[4];
|
||||
/* 0x007C0 */ u32 mpWarpTexData;
|
||||
/* 0x007C4 */ daPy_actorKeep_c mWolfLockAcKeep[10];
|
||||
/* 0x00814 */ dCcD_Stts field_0x814;
|
||||
/* 0x00850 */ dCcD_Cyl field_0x850[3];
|
||||
@@ -2734,8 +2894,8 @@ private:
|
||||
/* 0x00FB8 */ dCcD_Sph field_0xFB8;
|
||||
/* 0x010F0 */ dCcD_Cyl field_0x10F0;
|
||||
/* 0x0122C */ dCcD_Cps field_0x122C[3];
|
||||
/* 0x015F8 */ dCcD_Cps field_0x15F8;
|
||||
/* 0x0173C */ dCcD_Stts field_0x173c;
|
||||
/* 0x015F8 */ dCcD_Cps mGuardAttackAtCps;
|
||||
/* 0x0173C */ dCcD_Stts field_0x173c; // related to ball and chain
|
||||
/* 0x01778 */ dCcD_Sph field_0x1778;
|
||||
/* 0x018B0 */ dBgS_AcchCir field_0x18B0[3];
|
||||
/* 0x01970 */ dBgS_LinkAcch mLinkAcch;
|
||||
@@ -2752,7 +2912,8 @@ private:
|
||||
/* 0x01E4C */ cBgS_PolyInfo mPolyInfo4;
|
||||
/* 0x01E5C */ dBgS_ObjLinChk mObjLinChk;
|
||||
/* 0x01ECC */ dBgS_ObjGndChk mObjGndChk;
|
||||
/* 0x01F20 */ u8 field_0x1f20[8];
|
||||
/* 0x01F20 */ mDoExt_MtxCalcAnmBlendTblOld* field_0x1f20;
|
||||
/* 0x01F24 */ mDoExt_MtxCalcAnmBlendTblOld* field_0x1f24;
|
||||
/* 0x01F28 */ mDoExt_AnmRatioPack field_0x1f28[3];
|
||||
/* 0x01F40 */ mDoExt_AnmRatioPack mNowAnmPack[3];
|
||||
/* 0x01F58 */ daPy_anmHeap_c mUnderAnime[3];
|
||||
@@ -2767,12 +2928,13 @@ private:
|
||||
/* 0x0212C */ daPy_anmHeap_c mAnmHeap6;
|
||||
/* 0x02140 */ daPy_anmHeap_c mAnmHeap7;
|
||||
/* 0x02154 */ mDoExt_bckAnm field_0x2154;
|
||||
/* 0x02170 */ u8 field_0x2170[0x18];
|
||||
/* 0x02170 */ u8 field_0x2170[0x10];
|
||||
/* 0x02180 */ daAlink_matAnm_c* field_0x2180[2];
|
||||
/* 0x02188 */ dEyeHL_c mEyeHL1;
|
||||
/* 0x0219C */ dEyeHL_c mEyeHL2;
|
||||
/* 0x021B0 */ daPy_anmHeap_c mItemHeap[2];
|
||||
/* 0x021D8 */ daPy_anmHeap_c mAnmHeap9;
|
||||
/* 0x021EC */ u8 field_0x21ec[4];
|
||||
/* 0x021EC */ daAlinkHIO_c* mpHIO;
|
||||
/* 0x021F0 */ daAlink_blur_c m_swordBlur;
|
||||
/* 0x027C8 */ dAlink_bottleWaterPcallBack_c field_0x27c8;
|
||||
/* 0x027E0 */ dAttention_c* mAttention;
|
||||
@@ -2780,7 +2942,7 @@ private:
|
||||
/* 0x027E8 */ dAttList_c* mAttList2;
|
||||
/* 0x027EC */ fopAc_ac_c* mTargetedActor;
|
||||
/* 0x027F0 */ fopAc_ac_c* field_0x27f0;
|
||||
/* 0x027F4 */ kytag05_class* field_0x27f4;
|
||||
/* 0x027F4 */ fopAc_ac_c* field_0x27f4;
|
||||
/* 0x027F8 */ fopAc_ac_c* field_0x27f8;
|
||||
/* 0x027FC */ fopAc_ac_c* field_0x27fc;
|
||||
/* 0x02800 */ daTagMmsg_c* mMidnaMsg;
|
||||
@@ -3300,22 +3462,6 @@ struct daAlinkHIO_basic_c1 {
|
||||
/* 0x54 */ f32 mTransformBlockFarDis;
|
||||
};
|
||||
|
||||
class daAlinkHIO_wolf_c {
|
||||
public:
|
||||
/* 80140B98 */ ~daAlinkHIO_wolf_c();
|
||||
};
|
||||
|
||||
class daAlinkHIO_cut_c {
|
||||
public:
|
||||
/* 80140BD4 */ ~daAlinkHIO_cut_c();
|
||||
};
|
||||
|
||||
class daAlinkHIO_c {
|
||||
public:
|
||||
/* 80140B88 */ daAlinkHIO_c();
|
||||
/* 80140C10 */ ~daAlinkHIO_c();
|
||||
};
|
||||
|
||||
class daAlinkHIO_basic_c0 {
|
||||
public:
|
||||
static daAlinkHIO_basic_c1 const m;
|
||||
|
||||
@@ -213,7 +213,7 @@ public:
|
||||
|
||||
HEAVY_STATE_BOOTS = FLG0_UNK_40000000 | EQUIP_HEAVY_BOOTS | FLG0_UNK_20000,
|
||||
};
|
||||
enum daPy_FLG1 { IS_WOLF = 0x2000000, FLG1_UNK_10000 = 0x10000, THROW_DAMAGE = 0x4000 };
|
||||
enum daPy_FLG1 { IS_WOLF = 0x2000000, FLG1_UNK_10000 = 0x10000, THROW_DAMAGE = 0x4000, FLG1_UNK_4 = 4, };
|
||||
enum daPy_FLG2 {
|
||||
FLG2_UNK_20000000 = 0x20000000,
|
||||
FLG2_UNK_4080000 = 0x4080000,
|
||||
@@ -238,6 +238,8 @@ public:
|
||||
ERFLG0_UNK_1000000 = 0x1000000,
|
||||
ERFLG0_UNK_800000 = 0x800000,
|
||||
ERFLG0_UNK_100000 = 0x100000,
|
||||
ERFLG0_UNK_400 = 0x400,
|
||||
ERFLG0_UNK_4 = 4,
|
||||
ERFLG0_UNK_2 = 2,
|
||||
ERFLG0_UNK_1 = 1,
|
||||
};
|
||||
|
||||
@@ -41,6 +41,8 @@ public:
|
||||
class dBgS_ObjGndChk_All : public dBgS_ObjGndChk {
|
||||
public:
|
||||
/* 800778E8 */ virtual ~dBgS_ObjGndChk_All();
|
||||
|
||||
dBgS_ObjGndChk_All() { OnAll(); }
|
||||
};
|
||||
|
||||
class dBgS_CamGndChk : public dBgS_GndChk {
|
||||
|
||||
@@ -21,6 +21,7 @@ public:
|
||||
void OnNormalGrp() { mGrp |= NORMAL_GRP; }
|
||||
void OffNormalGrp() { mGrp &= ~NORMAL_GRP; }
|
||||
void OffFullGrp() { mGrp &= ~FULL_GRP; }
|
||||
void OnAll() { mGrp |= FULL_GRP; }
|
||||
|
||||
private:
|
||||
/* 0x4 */ u32 mGrp;
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
class dBgS_LinChk : public cBgS_LinChk, public dBgS_Chk {
|
||||
public:
|
||||
/* 80077C68 */ dBgS_LinChk();
|
||||
/* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*);
|
||||
/* 80077D64 */ void Set(cXyz const* pi_start, cXyz const* pi_end, fopAc_ac_c const*);
|
||||
|
||||
/* 80077CDC */ virtual ~dBgS_LinChk();
|
||||
|
||||
|
||||
@@ -146,10 +146,10 @@ public:
|
||||
/* 8007B0DC */ virtual bool ChkGrpThrough(int, cBgS_GrpPassChk*, int);
|
||||
|
||||
u32 GetOldInvMtx(Mtx m) { return PSMTXInverse(m_inv_mtx, m); }
|
||||
MtxP GetBaseMtxP() { return pm_base_mtx; }
|
||||
MtxP GetBaseMtxP() { return pm_base; }
|
||||
|
||||
public:
|
||||
/* 0x18 */ MtxP pm_base_mtx;
|
||||
/* 0x18 */ MtxP pm_base;
|
||||
/* 0x1C */ Mtx m_inv_mtx;
|
||||
/* 0x4C */ Mtx field_0x4c;
|
||||
/* 0x7C */ cXyz field_0x7c;
|
||||
@@ -177,7 +177,7 @@ class dBgW : public cBgW {
|
||||
public:
|
||||
/* 8007B970 */ dBgW();
|
||||
/* 8007B9C0 */ void Move();
|
||||
/* 8007B9EC */ void positionWallCorrect(dBgS_Acch*, f32, cM3dGPla&, cXyz*, f32);
|
||||
/* 8007B9EC */ void positionWallCorrect(dBgS_Acch*, f32, cM3dGPla&, cXyz* pupper_pos, f32);
|
||||
/* 8007BA40 */ void RwgWallCorrect(dBgS_Acch*, u16);
|
||||
/* 8007C234 */ void WallCorrectRp(dBgS_Acch*, int);
|
||||
/* 8007C360 */ void WallCorrectGrpRp(dBgS_Acch*, int, int);
|
||||
|
||||
@@ -129,7 +129,7 @@ public:
|
||||
dVibration_c& getVibration() { return mVibration; }
|
||||
camera_class* getCamera(int idx) { return mCameraInfo[idx].mCamera; }
|
||||
void* getPlayerPtr(int ptrIdx) { return mPlayerPtr[ptrIdx]; }
|
||||
void* getPlayer(int idx) { return mPlayer[idx]; }
|
||||
fopAc_ac_c* getPlayer(int idx) { return (fopAc_ac_c*)mPlayer[idx]; }
|
||||
dPa_control_c* getParticle() { return mParticle; }
|
||||
dEvent_manager_c& getEvtManager() { return mEvtManager; }
|
||||
dAttention_c& getAttention() { return mAttention; }
|
||||
@@ -460,7 +460,7 @@ public:
|
||||
/* 0x04E10 */ dDlst_window_c mWindow[1];
|
||||
/* 0x04E3C */ dComIfG_camera_info_class mCameraInfo[1];
|
||||
/* 0x04E74 */ daAlink_c* mPlayer[1];
|
||||
/* 0x04E78 */ s8 mPlayerCameraID[4];
|
||||
/* 0x04E78 */ s8 mPlayerCameraID[1];
|
||||
/* 0x04E7C */ fopAc_ac_c* mPlayerPtr[2]; // 0: Player, 1: Horse ; type may be wrong
|
||||
/* 0x04E84 */ dMsgObject_c* mMsgObjectClass;
|
||||
/* 0x04E88 */ f32 mItemLifeCount;
|
||||
@@ -625,8 +625,8 @@ public:
|
||||
/* 0x04FE8 */ u8 field_0x4fe8[0x10];
|
||||
/* 0x04FF8 */ __d_timer_info_c mTimerInfo;
|
||||
/* 0x0500C */ dDlst_window_c* mCurrentWindow;
|
||||
/* 0x05010 */ void* mCurrentView;
|
||||
/* 0x05014 */ void* mCurrentViewport;
|
||||
/* 0x05010 */ view_class* mCurrentView;
|
||||
/* 0x05014 */ view_port_class* mCurrentViewport;
|
||||
/* 0x05018 */ J2DGrafContext* mCurrentGrafPort;
|
||||
/* 0x0501C */ void* mItemTable;
|
||||
/* 0x0501D */ u8 field_0x501d[4];
|
||||
@@ -1540,7 +1540,7 @@ inline daPy_py_c* dComIfGp_getLinkPlayer() {
|
||||
return (daPy_py_c*)g_dComIfG_gameInfo.play.getPlayerPtr(LINK_PTR);
|
||||
}
|
||||
|
||||
inline void* dComIfGp_getPlayer(int idx) {
|
||||
inline fopAc_ac_c* dComIfGp_getPlayer(int idx) {
|
||||
return g_dComIfG_gameInfo.play.getPlayer(idx);
|
||||
}
|
||||
|
||||
@@ -1744,6 +1744,14 @@ inline void dComIfGp_setLastPlayStageName(char* name) {
|
||||
g_dComIfG_gameInfo.play.setLastPlayStageName(name);
|
||||
}
|
||||
|
||||
inline char* dComIfGp_getLastPlayStageName() {
|
||||
return g_dComIfG_gameInfo.play.getLastPlayStageName();
|
||||
}
|
||||
|
||||
inline u8 dComIfGp_getGameoverStatus() {
|
||||
return g_dComIfG_gameInfo.play.getGameoverStatus();
|
||||
}
|
||||
|
||||
inline u32 dComIfGp_getNowVibration() {
|
||||
return g_dComIfG_gameInfo.play.getNowVibration();
|
||||
}
|
||||
@@ -2295,6 +2303,10 @@ inline BOOL dComIfGp_evmng_endCheck(const char* event) {
|
||||
return g_dComIfG_gameInfo.play.getEvtManager().endCheckOld(event);
|
||||
}
|
||||
|
||||
inline BOOL dComIfGp_evmng_endCheck(s16 eventID) {
|
||||
return g_dComIfG_gameInfo.play.getEvtManager().endCheck(eventID);
|
||||
}
|
||||
|
||||
inline void dComIfGp_event_setItemPartnerId(unsigned int id) {
|
||||
g_dComIfG_gameInfo.play.getEvent().setPtI_Id(id);
|
||||
}
|
||||
@@ -2583,6 +2595,10 @@ inline void dComIfGd_setViewport(view_port_class* port) {
|
||||
g_dComIfG_gameInfo.drawlist.setViewport(port);
|
||||
}
|
||||
|
||||
inline void dComIfGd_entryZSortListZxlu(J3DPacket* i_packet, cXyz& param_1) {
|
||||
g_dComIfG_gameInfo.drawlist.entryZSortListZxlu(i_packet, param_1);
|
||||
}
|
||||
|
||||
inline daPy_py_c* daPy_getLinkPlayerActorClass() {
|
||||
return dComIfGp_getLinkPlayer();
|
||||
}
|
||||
@@ -2595,12 +2611,4 @@ inline daAlink_c* daAlink_getAlinkActorClass() {
|
||||
return (daAlink_c*)g_dComIfG_gameInfo.play.getPlayerPtr(LINK_PTR);
|
||||
}
|
||||
|
||||
inline char* dComIfGp_getLastPlayStageName() {
|
||||
return g_dComIfG_gameInfo.play.getLastPlayStageName();
|
||||
}
|
||||
|
||||
inline u8 dComIfGp_getGameoverStatus() {
|
||||
return g_dComIfG_gameInfo.play.getGameoverStatus();
|
||||
}
|
||||
|
||||
#endif /* D_COM_D_COM_INF_GAME_H */
|
||||
|
||||
+175
-1
@@ -1,6 +1,180 @@
|
||||
#ifndef D_D_CAM_PARAM_H
|
||||
#define D_D_CAM_PARAM_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "SSystem/SComponent/c_angle.h"
|
||||
#include "SSystem/SComponent/c_xyz.h"
|
||||
|
||||
struct dCamMath {
|
||||
/* 8008813C */ void rationalBezierRatio(f32, f32);
|
||||
/* 80088284 */ void zoomFovy(f32, f32);
|
||||
/* 8008831C */ void xyzRotateX(cXyz&, cSAngle);
|
||||
/* 80088384 */ void xyzRotateY(cXyz&, cSAngle);
|
||||
/* 800883EC */ void xyzHorizontalDistance(cXyz&, cXyz&);
|
||||
};
|
||||
|
||||
class dCstick_c {
|
||||
public:
|
||||
/* 80088434 */ dCstick_c();
|
||||
/* 8008845C */ bool Shift(u32);
|
||||
|
||||
/* 0x0 */ f32 mThresholdLow;
|
||||
/* 0x4 */ f32 mThresholdHigh;
|
||||
/* 0x8 */ int mInputSpeed;
|
||||
/* 0xC */ u8 field_0xc[4];
|
||||
|
||||
/* 800889B0 */ virtual ~dCstick_c();
|
||||
};
|
||||
|
||||
class dCamBGChk_c {
|
||||
public:
|
||||
/* 80088464 */ dCamBGChk_c();
|
||||
|
||||
/* 0x00 */ f32 field_0x0;
|
||||
/* 0x04 */ f32 field_0x4;
|
||||
/* 0x08 */ f32 field_0x8;
|
||||
/* 0x0C */ f32 field_0xc;
|
||||
/* 0x10 */ f32 field_0x10;
|
||||
/* 0x14 */ f32 field_0x14;
|
||||
/* 0x18 */ f32 field_0x18;
|
||||
/* 0x1C */ f32 field_0x1c;
|
||||
/* 0x20 */ f32 field_0x20;
|
||||
/* 0x24 */ f32 field_0x24;
|
||||
/* 0x28 */ f32 field_0x28;
|
||||
/* 0x2C */ f32 field_0x2c;
|
||||
/* 0x30 */ f32 field_0x30;
|
||||
/* 0x34 */ f32 field_0x34;
|
||||
/* 0x38 */ f32 field_0x38;
|
||||
/* 0x3C */ f32 field_0x3c;
|
||||
/* 0x40 */ f32 field_0x40;
|
||||
/* 0x44 */ f32 field_0x44;
|
||||
};
|
||||
|
||||
class dCamParam_c {
|
||||
public:
|
||||
/* 800884F0 */ dCamParam_c(s32);
|
||||
/* 800885D4 */ void Change(s32);
|
||||
/* 80088620 */ void SearchStyle(u32);
|
||||
/* 80182C60 */ void Arg2(s16);
|
||||
/* 80182C3C */ void Arg2();
|
||||
/* 80182C48 */ void Arg1();
|
||||
/* 80182C6C */ void Arg1(u8);
|
||||
/* 80182C50 */ void Arg0();
|
||||
/* 80182C74 */ void Arg0(u8);
|
||||
/* 80182C7C */ void Fovy(u8);
|
||||
/* 80182C58 */ void Fovy();
|
||||
/* 80182C8C */ void Flag(s32, u16);
|
||||
/* 80182CB4 */ void CheckFlag(u16);
|
||||
/* 80182CD0 */ void Val(s32, int);
|
||||
|
||||
/* 0x00 */ u8 mMapToolFovy;
|
||||
/* 0x01 */ u8 mMapToolArg0;
|
||||
/* 0x02 */ u8 mMapToolArg1;
|
||||
/* 0x04 */ int mMapToolArg2;
|
||||
/* 0x08 */ u8* mCamStyleData;
|
||||
/* 0x0C */ int field_0xc;
|
||||
/* 0x10 */ u8* field_0x10;
|
||||
/* 0x14 */ int mStyleID;
|
||||
/* 0x18 */ u8 field_0x18[4];
|
||||
|
||||
/* 8008858C */ virtual ~dCamParam_c();
|
||||
};
|
||||
|
||||
class dCamSetup_c {
|
||||
public:
|
||||
/* 80088668 */ dCamSetup_c();
|
||||
/* 80088918 */ void CheckLatitudeRange(s16*);
|
||||
/* 80088988 */ void PlayerHideDist();
|
||||
/* 80182BB8 */ void CheckFlag2(u16);
|
||||
/* 80182BD0 */ void CheckFlag(u16);
|
||||
/* 80182BE8 */ void WaitRollSpeed();
|
||||
/* 80182BF0 */ void WaitRollTimer();
|
||||
/* 80182C1C */ void ThrowTimer();
|
||||
/* 80182C24 */ void ThrowCushion();
|
||||
/* 80182C2C */ void ThrowVAngle();
|
||||
/* 80182C34 */ void ThrowCtrAdjust();
|
||||
/* 80182CEC */ void ChargeBRatio();
|
||||
/* 80182CF4 */ void ChargeTimer();
|
||||
/* 80182CFC */ void ChargeLatitude();
|
||||
|
||||
/* 0x000 */ f32 mDrawNear;
|
||||
/* 0x004 */ f32 mDrawFar;
|
||||
/* 0x008 */ u16 mDebugFlags;
|
||||
/* 0x00A */ u16 field_0xa;
|
||||
/* 0x00C */ int field_0xc;
|
||||
/* 0x010 */ int mModeSwitchType;
|
||||
/* 0x014 */ void* mTypeTable;
|
||||
/* 0x018 */ int mTypeNum;
|
||||
/* 0x01C */ int mForceType;
|
||||
/* 0x020 */ f32 mCusCus;
|
||||
/* 0x024 */ f32 field_0x24;
|
||||
/* 0x028 */ f32 field_0x28;
|
||||
/* 0x02C */ f32 field_0x2c;
|
||||
/* 0x030 */ f32 field_0x30;
|
||||
/* 0x034 */ f32 field_0x34;
|
||||
/* 0x038 */ f32 mBaseCushion;
|
||||
/* 0x03C */ f32 mJumpCushion;
|
||||
/* 0x040 */ f32 mParallelDist;
|
||||
/* 0x044 */ f32 field_0x44;
|
||||
/* 0x048 */ f32 mSubjLinkCullDist;
|
||||
/* 0x04C */ f32 mCurveWeight;
|
||||
/* 0x050 */ f32 field_0x50;
|
||||
/* 0x054 */ f32 field_0x54;
|
||||
/* 0x058 */ f32 field_0x58;
|
||||
/* 0x05C */ f32 field_0x5c;
|
||||
/* 0x060 */ f32 field_0x60;
|
||||
/* 0x064 */ f32 mTrimVistaHeight;
|
||||
/* 0x068 */ f32 mTrimCineScopeHeight;
|
||||
/* 0x06C */ f32 field_0x6c;
|
||||
/* 0x070 */ f32 mForceLockOffDist;
|
||||
/* 0x074 */ int mForceLockOffTimer;
|
||||
/* 0x078 */ f32 field_0x78;
|
||||
/* 0x07C */ f32 field_0x7c;
|
||||
/* 0x080 */ f32 field_0x80;
|
||||
/* 0x084 */ f32 field_0x84;
|
||||
/* 0x088 */ f32 mThrowVAngle;
|
||||
/* 0x08C */ f32 mThrowCtrOffset;
|
||||
/* 0x090 */ f32 mThrowCushion;
|
||||
/* 0x094 */ int mThrowTimer;
|
||||
/* 0x098 */ f32 mWindShakeCtr;
|
||||
/* 0x09C */ f32 field_0x9c;
|
||||
/* 0x0A0 */ f32 mWindShakeFvy;
|
||||
/* 0x0A4 */ f32 mFalseValue;
|
||||
/* 0x0A8 */ f32 mFalseAngle;
|
||||
/* 0x0AC */ f32 field_0xac;
|
||||
/* 0x0B0 */ int field_0xb0;
|
||||
/* 0x0B4 */ f32 field_0xb4;
|
||||
/* 0x0B8 */ f32 mManualStartCThreshold;
|
||||
/* 0x0BC */ f32 mManualEndVal;
|
||||
/* 0x0C0 */ f32 mChargeLatitude;
|
||||
/* 0x0C4 */ int mChargeTimer;
|
||||
/* 0x0C8 */ f32 mChargeBRatio;
|
||||
/* 0x0CC */ int mLockonChangeTimer;
|
||||
/* 0x0D0 */ f32 mLockonChangeCushion;
|
||||
/* 0x0D4 */ f32 field_0xd4;
|
||||
/* 0x0D8 */ f32 field_0xd8;
|
||||
/* 0x0DC */ u16 mMapToolCamShortTimer;
|
||||
/* 0x0DE */ u16 mMapToolCamLongTimer;
|
||||
/* 0x0E0 */ f32 field_0xe0;
|
||||
/* 0x0E4 */ f32 field_0xe4;
|
||||
/* 0x0E8 */ f32 field_0xe8;
|
||||
/* 0x0EC */ int field_0xec;
|
||||
/* 0x0F0 */ int field_0xf0;
|
||||
/* 0x0F4 */ f32 field_0xf4;
|
||||
/* 0x0F8 */ f32 field_0xf8;
|
||||
/* 0x0FC vtable */
|
||||
|
||||
/* 800888B8 */ virtual ~dCamSetup_c();
|
||||
|
||||
/* 0x100 */ dCstick_c mCStick;
|
||||
/* 0x114 */ dCamBGChk_c mBGChk;
|
||||
/* 0x15C */ f32 field_0x15c;
|
||||
/* 0x160 */ f32 field_0x160;
|
||||
/* 0x164 */ f32 mWaitRollTimer;
|
||||
/* 0x168 */ f32 mWaitRollSpeed;
|
||||
/* 0x16C */ f32 field_0x16c;
|
||||
/* 0x170 */ int mScreensaverFirstWaitTimer;
|
||||
/* 0x174 */ int mScreensaverWaitTimer;
|
||||
/* 0x178 */ int mScreensaverExecTimer;
|
||||
};
|
||||
|
||||
#endif /* D_D_CAM_PARAM_H */
|
||||
|
||||
+298
-16
@@ -4,16 +4,97 @@
|
||||
#include "SSystem/SComponent/c_angle.h"
|
||||
#include "SSystem/SComponent/c_xyz.h"
|
||||
#include "d/bg/d_bg_s_lin_chk.h"
|
||||
#include "d/bg/d_bg_s_gnd_chk.h"
|
||||
#include "d/d_stage.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_camera_mng.h"
|
||||
#include "d/d_drawlist.h"
|
||||
#include "d/d_cam_param.h"
|
||||
|
||||
class fopAc_ac_c;
|
||||
|
||||
struct dCamMapToolData {
|
||||
/* 8015FEB8 */ void Set(s32, s32, fopAc_ac_c*, u16, u8);
|
||||
|
||||
/* 0x00 */ stage_camera2_data_class field_0x0;
|
||||
/* 0x18 */ stage_arrow_class field_0x18;
|
||||
/* 0x2C */ u32 field_0x2c;
|
||||
/* 0x30 */ s32 field_0x30;
|
||||
/* 0x34 */ fopAc_ac_c* field_0x34;
|
||||
/* 0x38 */ u16 field_0x38;
|
||||
/* 0x3A */ u8 field_0x3a;
|
||||
/* 0x3B */ u8 field_0x3b;
|
||||
};
|
||||
|
||||
struct dCamForcusLine : public dDlst_effectLine_c {
|
||||
/* 801824C8 */ void Init();
|
||||
/* 80182560 */ void Draw();
|
||||
/* 801825E4 */ void Off();
|
||||
|
||||
/* 0x38 */ cXyz field_0x38;
|
||||
/* 0x44 */ GXColor field_0x44;
|
||||
/* 0x48 */ u8 field_0x48;
|
||||
/* 0x49 */ u8 field_0x49;
|
||||
/* 0x4C */ int field_0x4c;
|
||||
/* 0x50 */ int field_0x50;
|
||||
/* 0x54 */ int field_0x54;
|
||||
/* 0x58 */ u16 field_0x58;
|
||||
/* 0x5A */ u16 field_0x5a;
|
||||
/* 0x5C */ u16 field_0x5c;
|
||||
/* 0x5E */ u16 field_0x5e;
|
||||
/* 0x60 */ f32 field_0x60;
|
||||
/* 0x64 */ f32 field_0x64;
|
||||
/* 0x68 */ f32 field_0x68;
|
||||
/* 0x6C */ f32 field_0x6c;
|
||||
};
|
||||
|
||||
struct dCamera_FakeAngle_system {
|
||||
/* 0x0 */ u8 field_0x0;
|
||||
/* 0x2 */ cSAngle field_0x2;
|
||||
/* 0x4 */ cSAngle field_0x4;
|
||||
};
|
||||
|
||||
struct dCamera_monitoring_things {
|
||||
/* 0x00 */ cXyz field_0x0;
|
||||
/* 0x0C */ u8 field_0xc[8];
|
||||
/* 0x14 */ cXyz field_0x14;
|
||||
};
|
||||
|
||||
struct d2DBSplinePath {
|
||||
/* 0x00 */ s32 field_0x0;
|
||||
/* 0x04 */ s32 field_0x4;
|
||||
/* 0x08 */ s32 field_0x8;
|
||||
/* 0x0C */ s32 field_0xc;
|
||||
/* 0x10 */ f32 field_0x10;
|
||||
/* 0x14 */ f32 field_0x14;
|
||||
/* 0x18 */ f32 field_0x18;
|
||||
/* 0x1C */ f32 field_0x1c;
|
||||
/* 0x20 */ u32 field_0x20;
|
||||
/* 0x24 */ u32 field_0x24;
|
||||
/* 0x28 */ u32 field_0x28;
|
||||
/* 0x2C */ u32 field_0x2c;
|
||||
|
||||
/* 80097878 */ void Init(s32, s32);
|
||||
/* 80097B68 */ void Spot(f32*, f32);
|
||||
/* 801828D4 */ virtual ~d2DBSplinePath();
|
||||
};
|
||||
|
||||
struct dCamera_event_data {
|
||||
/* 0x000 */ u8 field_0x0;
|
||||
/* 0x004 */ int field_0x4;
|
||||
/* 0x008 */ u8 field_0x8[4];
|
||||
/* 0x00C */ int field_0xc;
|
||||
/* 0x010 */ u8 field_0x10;
|
||||
/* 0x014 */ int field_0x14;
|
||||
/* 0x018 */ int field_0x18;
|
||||
/* 0x01C */ int field_0x1c;
|
||||
/* 0x020 */ int field_0x20;
|
||||
/* 0x024 */ u8 field_0x24[0xEC - 0x24];
|
||||
/* 0x0EC */ dStage_MapEvent_dt_c* field_0xec;
|
||||
/* 0x0F0 */ d2DBSplinePath field_0xf0;
|
||||
}; // Size: 0x124
|
||||
|
||||
class camera_class;
|
||||
|
||||
class dCamera_c {
|
||||
public:
|
||||
class dCamInfo_c {
|
||||
@@ -29,6 +110,60 @@ public:
|
||||
/* 0x1E */ s16 field_0x1e;
|
||||
}; // Size: 0x20
|
||||
|
||||
struct dCamera_pad_info {
|
||||
struct _stick {
|
||||
/* 0x00 */ f32 mLastPosX;
|
||||
/* 0x04 */ f32 mLastPosY;
|
||||
/* 0x08 */ f32 mLastValue;
|
||||
/* 0x0C */ f32 mPosXDelta;
|
||||
/* 0x10 */ f32 mPosYDelta;
|
||||
/* 0x14 */ f32 mValueDelta;
|
||||
/* 0x18 */ cSAngle field_0x18;
|
||||
};
|
||||
|
||||
/* 0x00 */ _stick mMainStick;
|
||||
/* 0x1C */ _stick mCStick;
|
||||
};
|
||||
|
||||
struct BG {
|
||||
/* 0x000 */ u8 field_0x0;
|
||||
/* 0x004 */ dBgS_CamGndChk field_0x4;
|
||||
/* 0x058 */ f32 field_0x58;
|
||||
/* 0x05C */ u8 field_0x5c;
|
||||
/* 0x060 */ dBgS_CamGndChk field_0x60;
|
||||
/* 0x0B4 */ f32 field_0xb4;
|
||||
/* 0x0B8 */ u8 field_0xb8[0xC0 - 0xB8];
|
||||
/* 0x0C0 */ u8 field_0xc0;
|
||||
/* 0x0C1 */ u8 field_0xc1;
|
||||
/* 0x0C4 */ cXyz field_0xc4;
|
||||
/* 0x0D0 */ cXyz field_0xd0;
|
||||
/* 0x0DC */ cSAngle field_0xdc;
|
||||
/* 0x0DE */ cSAngle field_0xde;
|
||||
/* 0x0E0 */ cSGlobe field_0xe0;
|
||||
/* 0x0E8 */ cSGlobe field_0xe8;
|
||||
/* 0x0F0 */ u8 field_0xf0[4];
|
||||
/* 0x0F4 */ int field_0xf4;
|
||||
/* 0x0F8 */ f32 field_0xf8;
|
||||
/* 0x0FC */ int field_0xfc;
|
||||
/* 0x100 */ int field_0x100;
|
||||
/* 0x104 */ u8 field_0x104[4];
|
||||
/* 0x108 */ int field_0x108;
|
||||
/* 0x10C */ f32 field_0x10c;
|
||||
/* 0x110 */ cXyz field_0x110;
|
||||
};
|
||||
|
||||
struct Shake {
|
||||
/* 0x00 */ u8 field_0x0[12];
|
||||
/* 0x0C */ int field_0xc;
|
||||
/* 0x10 */ int field_0x10;
|
||||
/* 0x14 */ u8 field_0x14[4];
|
||||
/* 0x18 */ cXyz field_0x18;
|
||||
/* 0x24 */ cXyz field_0x24;
|
||||
/* 0x30 */ cXyz field_0x30;
|
||||
/* 0x3C */ f32 field_0x3c;
|
||||
/* 0x40 */ cSAngle field_0x40;
|
||||
}; // Size: 0x44
|
||||
|
||||
/* 8008908C */ void getEvIntData(int*, char*, int);
|
||||
/* 80088CB0 */ void getEvIntData(int*, char*);
|
||||
/* 80089154 */ void getEvFloatData(f32*, char*, f32);
|
||||
@@ -198,21 +333,21 @@ public:
|
||||
|
||||
static u8 engine_tbl[240];
|
||||
|
||||
/* 0x000 */ cXyz field_0x0;
|
||||
/* 0x00C */ cXyz field_0xc;
|
||||
/* 0x018 */ f32 field_0x18;
|
||||
/* 0x01C */ cSAngle field_0x1c;
|
||||
/* 0x01E */ s16 field_0x1e;
|
||||
/* 0x000 */ camera_class* field_0x0;
|
||||
/* 0x004 */ int mRoomNo;
|
||||
/* 0x008 */ u8 field_0x8[0x20 - 0x8];
|
||||
/* 0x020 */ u8 field_0x20;
|
||||
/* 0x021 */ u8 field_0x21;
|
||||
/* 0x022 */ u8 field_0x22[0x24 - 0x22];
|
||||
/* 0x022 */ u8 field_0x22[2];
|
||||
/* 0x024 */ int field_0x24;
|
||||
/* 0x028 */ u8 field_0x28[0x30 - 0x28];
|
||||
/* 0x030 */ cXyz field_0x30;
|
||||
/* 0x03C */ cXyz field_0x3c;
|
||||
/* 0x048 */ cXyz field_0x48;
|
||||
/* 0x054 */ cSAngle field_0x54;
|
||||
/* 0x058 */ f32 field_0x58;
|
||||
/* 0x028 */ f32 field_0x28;
|
||||
/* 0x02C */ s16 field_0x2c;
|
||||
/* 0x02E */ s16 field_0x2e;
|
||||
/* 0x030 */ cXyz mCenter;
|
||||
/* 0x03C */ cXyz mEye;
|
||||
/* 0x048 */ cXyz mUp;
|
||||
/* 0x054 */ cSAngle mBank;
|
||||
/* 0x058 */ f32 mFovY;
|
||||
class {
|
||||
public:
|
||||
/* 0x00 */ cSGlobe field_0x0;
|
||||
@@ -221,20 +356,167 @@ public:
|
||||
/* 0x20 */ cSAngle field_0x20;
|
||||
}
|
||||
/* 0x05C */ field_0x5c;
|
||||
/* 0x07C */ u8 field_0x7c[0x8C - 0x7C];
|
||||
/* 0x080 */ f32 field_0x80;
|
||||
/* 0x084 */ f32 field_0x84;
|
||||
/* 0x088 */ u32 field_0x88;
|
||||
/* 0x08C */ cSAngle field_0x8c;
|
||||
/* 0x090 */ cXyz field_0x90;
|
||||
/* 0x09C */ cXyz field_0x9c;
|
||||
/* 0x0A8 */ u8 field_0xa8[0xB0 - 0xA8];
|
||||
/* 0x0A8 */ int field_0xa8;
|
||||
/* 0x0AC */ u32 field_0xac;
|
||||
/* 0x0B0 */ dCamInfo_c field_0xb0;
|
||||
/* 0x0D0 */ dCamInfo_c field_0xd0[2];
|
||||
class {
|
||||
public:
|
||||
/* 0x00 */ u8 field_0x0[8];
|
||||
/* 0x00 */ int field_0x0;
|
||||
/* 0x04 */ u16 field_0x4;
|
||||
/* 0x08 */ dCamInfo_c field_0x8;
|
||||
/* 0x28 */ cXyz field_0x28;
|
||||
}
|
||||
/* 0x110 */ field_0x110;
|
||||
class {
|
||||
public:
|
||||
/* 0x0 */ cXyz field_0x0;
|
||||
/* 0xC */ csXyz field_0xc;
|
||||
}
|
||||
/* 0x144 */ field_0x144;
|
||||
class {
|
||||
public:
|
||||
/* 0x0 */ u8 field_0x0;
|
||||
/* 0x2 */ cSAngle field_0x2;
|
||||
/* 0x4 */ cSAngle field_0x4;
|
||||
}
|
||||
/* 0x158 */ field_0x158;
|
||||
/* 0x160 */ int field_0x160;
|
||||
/* 0x164 */ u8 field_0x164[0x170 - 0x164];
|
||||
/* 0x170 */ int field_0x170;
|
||||
/* 0x174 */ u32 field_0x174;
|
||||
/* 0x178 */ u32 mCameraID;
|
||||
/* 0x17C */ u32 mPadID;
|
||||
/* 0x180 */ fopAc_ac_c* mpPlayerActor;
|
||||
/* 0x184 */ fopAc_ac_c* mpLockonTarget;
|
||||
/* 0x188 */ u8 field_0x188[0x190 - 0x188];
|
||||
/* 0x190 */ int field_0x190;
|
||||
/* 0x194 */ u8 field_0x194;
|
||||
/* 0x198 */ u32 field_0x198;
|
||||
/* 0x19C */ u32 field_0x19c;
|
||||
/* 0x1A0 */ int mCurMode;
|
||||
/* 0x1A4 */ int mNextMode;
|
||||
/* 0x1A8 */ int field_0x1a8;
|
||||
/* 0x1B0 */ cSAngle field_0x1b0;
|
||||
/* 0x1B4 */ f32 field_0x1b4;
|
||||
/* 0x1B8 */ u8 field_0x1b8[4];
|
||||
/* 0x1BC */ dCamera_pad_info mPadInfo;
|
||||
/* 0x1F4 */ u8 field_0x1f4[0x200 - 0x1F4];
|
||||
/* 0x200 */ f32 mTriggerLeftLast;
|
||||
/* 0x204 */ f32 mTriggerLeftDelta;
|
||||
/* 0x208 */ u8 field_0x208;
|
||||
/* 0x209 */ u8 field_0x209;
|
||||
/* 0x20A */ u8 field_0x20a;
|
||||
/* 0x20B */ u8 field_0x20b;
|
||||
/* 0x20C */ f32 mTriggerRightLast;
|
||||
/* 0x210 */ f32 mTriggerRightDelta;
|
||||
/* 0x214 */ u8 field_0x214;
|
||||
/* 0x215 */ u8 field_0x215;
|
||||
/* 0x216 */ u8 field_0x216;
|
||||
/* 0x217 */ u8 field_0x217;
|
||||
/* 0x218 */ u8 mHoldX;
|
||||
/* 0x219 */ u8 mTrigX;
|
||||
/* 0x21A */ u8 mHoldY;
|
||||
/* 0x21B */ u8 mTrigY;
|
||||
/* 0x21C */ u8 mHoldZ;
|
||||
/* 0x21D */ u8 mTrigZ;
|
||||
/* 0x21E */ u8 field_0x21e;
|
||||
/* 0x21F */ u8 field_0x21f;
|
||||
/* 0x220 */ u8 mHoldB;
|
||||
/* 0x221 */ u8 mTrigB;
|
||||
/* 0x222 */ u8 field_0x222;
|
||||
/* 0x223 */ u8 field_0x223;
|
||||
/* 0x224 */ u8 field_0x224;
|
||||
/* 0x228 */ dCamForcusLine mFocusLine;
|
||||
/* 0x298 */ dCamera_FakeAngle_system mFakeAngleSys;
|
||||
/* 0x2A0 */ dCamera_monitoring_things mMonitor;
|
||||
/* 0x2C0 */ f32 field_0x2c0;
|
||||
/* 0x2C4 */ int field_0x2c4;
|
||||
/* 0x2C8 */ f32 field_0x2c8;
|
||||
/* 0x2CC */ BG mBG;
|
||||
/* 0x3E8 */ u8 field_0x3e8;
|
||||
/* 0x3E9 */ u8 field_0x3e9[0x4e8 - 0x3e9];
|
||||
/* 0x4E8 */ dCamera_event_data mEventData;
|
||||
/* 0x60C */ u32 mEventFlags;
|
||||
/* 0x610 */ u8 field_0x610;
|
||||
/* 0x611 */ u8 field_0x611;
|
||||
/* 0x612 */ u8 field_0x612[2];
|
||||
class {
|
||||
public:
|
||||
/* 0x00 */ u8 field_0x0[8];
|
||||
/* 0x08 */ cSAngle field_0x8;
|
||||
/* 0x10 */ u8 field_0x10[4];
|
||||
}
|
||||
/* 0x614 */ field_0x614[4];
|
||||
/* 0x664 */ u8 field_0x664[4];
|
||||
/* 0x668 */ int field_0x668;
|
||||
/* 0x66C */ int field_0x66c;
|
||||
/* 0x670 */ int field_0x670;
|
||||
/* 0x674 */ int field_0x674;
|
||||
/* 0x678 */ int field_0x678;
|
||||
/* 0x67C */ int mCamStyle;
|
||||
/* 0x680 */ int field_0x684;
|
||||
/* 0x684 */ u8* mCamTypeData;
|
||||
/* 0x688 */ int field_0x688;
|
||||
/* 0x68C */ int mCurType;
|
||||
/* 0x690 */ int mNextType;
|
||||
/* 0x694 */ int mMapToolType;
|
||||
/* 0x698 */ int field_0x698;
|
||||
/* 0x69C */ int field_0x69c;
|
||||
/* 0x6A0 */ u8 field_0x6a0[0x6b8 - 0x6a0];
|
||||
/* 0x6B8 */ Shake mShake;
|
||||
/* 0x6FC */ int field_0x6fc;
|
||||
class {
|
||||
public:
|
||||
/* 0x00 */ u8 field_0x0[4];
|
||||
/* 0x04 */ int field_0x4;
|
||||
/* 0x08 */ csXyz field_0x8;
|
||||
/* 0x10 */ fopAc_ac_c* field_0x10;
|
||||
/* 0x14 */ int field_0x14;
|
||||
/* 0x18 */ cXyz mBlurePosition;
|
||||
/* 0x24 */ cXyz mBlureScale;
|
||||
}
|
||||
/* 0x700 */ field_0x700;
|
||||
/* 0x730 */ f32 mBlureAlpha;
|
||||
/* 0x734 */ f32 field_0x734;
|
||||
/* 0x738 */ f32 field_0x738;
|
||||
/* 0x73C */ f32 field_0x73c;
|
||||
class {
|
||||
public:
|
||||
/* 0x00 */ cXyz field_0x0;
|
||||
/* 0x0C */ cXyz field_0xc;
|
||||
/* 0x18 */ cXyz field_0x18;
|
||||
/* 0x24 */ cSGlobe field_0x24;
|
||||
}
|
||||
/* 0x740 */ field_0x740;
|
||||
/* 0x76C */ u8 field_0x76c[0x79c - 0x76c];
|
||||
class {
|
||||
public:
|
||||
/* 0x0 */ u8 field_0x0[4];
|
||||
/* 0x4 */ cXyz field_0x4;
|
||||
}
|
||||
/* 0x79C */ field_0x79c;
|
||||
/* 0x7AC */ dCamMapToolData field_0x7ac;
|
||||
/* 0x7E8 */ dCamMapToolData field_0x7e8;
|
||||
/* 0x824 */ dCamMapToolData field_0x824;
|
||||
/* 0x860 */ dCamMapToolData field_0x860;
|
||||
/* 0x89C */ dCamMapToolData field_0x89c;
|
||||
/* 0x8D8 */ dCamMapToolData field_0x8d8;
|
||||
/* 0x914 */ u8 field_0x914[0x91c - 0x914];
|
||||
/* 0x91C */ f32 field_0x91c;
|
||||
/* 0x920 */ f32 mTrimHeight;
|
||||
/* 0x924 */ int mTrimSize;
|
||||
/* 0x928 */ int mTrimTypeForce;
|
||||
/* 0x92C */ u8 field_0x92c[0x970 - 0x92c];
|
||||
/* 0x970 */ dCamSetup_c mCamSetup;
|
||||
/* 0xAEC */ dCamParam_c mCamParam;
|
||||
/* 0xB0C */
|
||||
};
|
||||
|
||||
dCamera_c* dCam_getBody();
|
||||
|
||||
+24
-11
@@ -13,6 +13,7 @@
|
||||
#include "dolphin/mtx/mtx44.h"
|
||||
#include "dolphin/mtx/mtxvec.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_view.h"
|
||||
|
||||
class cM_rnd_c {
|
||||
public:
|
||||
@@ -33,6 +34,25 @@ public:
|
||||
virtual void draw();
|
||||
};
|
||||
|
||||
class dDlst_effectLine_c : public dDlst_base_c {
|
||||
public:
|
||||
/* 80053E9C */ virtual void draw();
|
||||
/* 800541F4 */ void update(cXyz&, _GXColor&, u16, u16, u16, u16, f32, f32, f32, f32);
|
||||
|
||||
private:
|
||||
/* 0x04 */ cM_rnd_c mRnd;
|
||||
/* 0x10 */ cXyz field_0x10;
|
||||
/* 0x1C */ GXColor mLineColor;
|
||||
/* 0x20 */ u16 field_0x20;
|
||||
/* 0x22 */ u16 field_0x22;
|
||||
/* 0x24 */ u16 field_0x24;
|
||||
/* 0x26 */ u16 field_0x26;
|
||||
/* 0x28 */ f32 field_0x28;
|
||||
/* 0x2C */ f32 field_0x2c;
|
||||
/* 0x30 */ f32 field_0x30;
|
||||
/* 0x34 */ f32 field_0x34;
|
||||
}; // Size: 0x38
|
||||
|
||||
class dDlst_FileInfo_c : public dDlst_base_c {
|
||||
public:
|
||||
dDlst_FileInfo_c() {}
|
||||
@@ -198,7 +218,7 @@ private:
|
||||
/* 0x15EF4 */ void* field_0x15ef4;
|
||||
};
|
||||
|
||||
class dDlst_window_c {
|
||||
class dDlst_window_c : public view_port_class {
|
||||
public:
|
||||
dDlst_window_c() {}
|
||||
~dDlst_window_c() {}
|
||||
@@ -210,16 +230,6 @@ public:
|
||||
f32 getViewPort() { return mXOrig; }
|
||||
|
||||
private:
|
||||
/* 0x00 */ f32 mXOrig;
|
||||
/* 0x04 */ f32 mYOrig;
|
||||
/* 0x08 */ f32 mWidth;
|
||||
/* 0x0C */ f32 mHeight;
|
||||
/* 0x10 */ f32 mNearZ;
|
||||
/* 0x14 */ f32 mFarZ;
|
||||
/* 0x18 */ f32 mScissorXOrig;
|
||||
/* 0x1C */ f32 mScissorYOrig;
|
||||
/* 0x20 */ f32 mScissorWidth;
|
||||
/* 0x24 */ f32 mScissorHeight;
|
||||
/* 0x28 */ s8 mCameraID;
|
||||
/* 0x29 */ s8 mMode;
|
||||
};
|
||||
@@ -296,6 +306,9 @@ public:
|
||||
void setXluList2DScreen() { setXluDrawList(mDrawBuffers[DB_LIST_2D_SCREEN]); }
|
||||
|
||||
void peekZdata() { mPeekZ.peekData(); }
|
||||
void entryZSortListZxlu(J3DPacket* i_packet, cXyz& param_1) {
|
||||
entryZSortXluDrawList(mDrawBuffers[DB_LIST_Z_XLU], i_packet, param_1);
|
||||
}
|
||||
|
||||
int setSimpleShadow(cXyz* param_0, f32 param_1, f32 param_2, cXyz* param_3, s16 param_4,
|
||||
f32 param_5, _GXTexObj* param_6) {
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define D_D_KYEFF2_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "SSystem/SComponent/c_phase.h"
|
||||
|
||||
class dKyeff2_c {
|
||||
public:
|
||||
|
||||
+12
-1
@@ -3,6 +3,17 @@
|
||||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
u16* dPath_GetRoomPath(int param_0, int param_1);
|
||||
class dStage_dPnt_c;
|
||||
|
||||
struct dPath {
|
||||
/* 0x0 */ u16 m_num;
|
||||
/* 0x2 */ u16 m_nextID;
|
||||
/* 0x4 */ u8 field_0x4;
|
||||
/* 0x5 */ u8 m_closed;
|
||||
/* 0x6 */ u8 field_0x6;
|
||||
/* 0x8 */ dStage_dPnt_c* m_points;
|
||||
};
|
||||
|
||||
dPath* dPath_GetRoomPath(int path_index, int room_no);
|
||||
|
||||
#endif /* D_D_PATH_H */
|
||||
|
||||
@@ -13,8 +13,8 @@ public:
|
||||
/* 8003A260 */ dRes_info_c();
|
||||
/* 8003A280 */ ~dRes_info_c();
|
||||
/* 8003A348 */ int set(char const*, char const*, u8, JKRHeap*);
|
||||
/* 8003AB30 */ void onWarpMaterial(J3DModelData*);
|
||||
/* 8003AC1C */ void offWarpMaterial(J3DModelData*);
|
||||
/* 8003AB30 */ static void onWarpMaterial(J3DModelData*);
|
||||
/* 8003AC1C */ static void offWarpMaterial(J3DModelData*);
|
||||
/* 8003AD08 */ void setWarpSRT(J3DModelData*, cXyz const&, f32, f32);
|
||||
/* 8003AE14 */ void loaderBasicBmd(u32, void*);
|
||||
/* 8003B30C */ int loadResource();
|
||||
|
||||
+41
-9
@@ -4,6 +4,7 @@
|
||||
#include "JSystem/JKernel/JKRExpHeap.h"
|
||||
#include "SSystem/SComponent/c_lib.h"
|
||||
#include "d/kankyo/d_kankyo.h"
|
||||
#include "d/kankyo/d_kankyo_data.h"
|
||||
#include "d/save/d_save.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_actor.h"
|
||||
@@ -12,9 +13,15 @@ struct stage_vrboxcol_info_class {
|
||||
// VRB
|
||||
}; // Size: 0x18
|
||||
|
||||
// Virt
|
||||
struct stage_vrbox_info_class {
|
||||
// Virt
|
||||
};
|
||||
/* 0x00 */ GXColor field_0x0;
|
||||
/* 0x04 */ GXColor field_0x4;
|
||||
/* 0x08 */ color_RGB_class field_0x8;
|
||||
/* 0x0B */ color_RGB_class field_0xb;
|
||||
/* 0x0E */ color_RGB_class field_0xe;
|
||||
/* 0x11 */ color_RGB_class field_0x11;
|
||||
}; // Size: 0x15
|
||||
|
||||
class stage_tresure_class {
|
||||
public:
|
||||
@@ -80,17 +87,36 @@ struct stage_pure_lightvec_info_class {
|
||||
// LGT
|
||||
};
|
||||
|
||||
// Col
|
||||
struct stage_pselect_info_class {
|
||||
// Col
|
||||
};
|
||||
/* 0x0 */ u8 mPalIdx[8];
|
||||
/* 0x8 */ f32 mChangeRate;
|
||||
}; // Size: 0xC
|
||||
|
||||
struct stage_plight_info_class {
|
||||
// LGHT
|
||||
};
|
||||
|
||||
// PALE
|
||||
struct stage_palette_info_class {
|
||||
// PAL
|
||||
};
|
||||
/* 0x00 */ color_RGB_class mActor_C0;
|
||||
/* 0x03 */ color_RGB_class mActor_K0;
|
||||
/* 0x06 */ color_RGB_class mBG0_C0;
|
||||
/* 0x09 */ color_RGB_class mBG0_K0;
|
||||
/* 0x0C */ color_RGB_class mBG1_C0;
|
||||
/* 0x0F */ color_RGB_class mBG1_K0;
|
||||
/* 0x12 */ color_RGB_class mBG2_C0;
|
||||
/* 0x15 */ color_RGB_class mBG2_K0;
|
||||
/* 0x18 */ color_RGB_class mBG3_C0;
|
||||
/* 0x1B */ color_RGB_class mBG3_K0;
|
||||
/* 0x1E */ color_RGB_class mFog;
|
||||
/* 0x21 */ u8 mVirtIdx;
|
||||
/* 0x22 */ u8 field_0x22;
|
||||
/* 0x23 */ u8 field_0x23;
|
||||
/* 0x24 */ f32 mFogStartZ;
|
||||
/* 0x28 */ f32 mFogEndZ;
|
||||
/* 0x2C */ u8 field_0x2c[8];
|
||||
}; // Size: 0x34
|
||||
|
||||
struct stage_map_info_class {
|
||||
/* 0x00 */ u8 field_0x0[0x35];
|
||||
@@ -191,7 +217,11 @@ public:
|
||||
|
||||
struct dStage_MemoryMap_c {};
|
||||
|
||||
struct dStage_dPath_c {};
|
||||
struct dPath;
|
||||
struct dStage_dPath_c {
|
||||
/* 0x0 */ int m_num;
|
||||
/* 0x4 */ dPath* m_path;
|
||||
};
|
||||
|
||||
struct dStage_Mult_info {
|
||||
/* 0x0 */ f32 mTransX;
|
||||
@@ -222,9 +252,11 @@ public:
|
||||
/* 0x1C */ u16 mMsg;
|
||||
}; // Size: 0x20
|
||||
|
||||
// PPNT
|
||||
struct dStage_dPnt_c {
|
||||
// PPNT
|
||||
};
|
||||
/* 0x0 */ int field_0x0;
|
||||
/* 0xC */ cXyz m_position;
|
||||
}; // Size: 0x10
|
||||
|
||||
struct dStage_FloorInfo_c {
|
||||
// FLOR
|
||||
|
||||
@@ -32,6 +32,9 @@ static void dKy_set_vrboxkumocol_ratio(f32 ratio);
|
||||
void dKy_actor_addcol_set(s16 param_0, s16 param_1, s16 param_2, f32 param_3);
|
||||
void dKy_fog_startendz_set(f32 param_0, f32 param_1, f32 param_2);
|
||||
static void dKy_vrbox_addcol_set(s16 param_0, s16 param_1, s16 param_2, f32 param_3);
|
||||
void dKy_GxFog_set();
|
||||
static void GxFog_set();
|
||||
static void GxXFog_set();
|
||||
|
||||
|
||||
struct LIGHT_INFLUENCE {
|
||||
@@ -46,7 +49,7 @@ struct LIGHT_INFLUENCE {
|
||||
};
|
||||
|
||||
struct WIND_INFLUENCE {
|
||||
/* 0x00 */ cXyz mPosition;
|
||||
/* 0x00 */ cXyz position;
|
||||
/* 0x0C */ cXyz mDirection;
|
||||
/* 0x18 */ f32 mRadius;
|
||||
/* 0x1C */ f32 mStrength;
|
||||
@@ -106,13 +109,13 @@ struct BOSS_LIGHT {
|
||||
/* 8019F438 */ ~BOSS_LIGHT();
|
||||
/* 8019F474 */ BOSS_LIGHT();
|
||||
|
||||
/* 0x00 */ cXyz field_0x0;
|
||||
/* 0x0C */ int field_0xc;
|
||||
/* 0x10 */ int field_0x10;
|
||||
/* 0x14 */ int field_0x14;
|
||||
/* 0x18 */ int field_0x18;
|
||||
/* 0x1C */ int field_0x1c;
|
||||
/* 0x20 */ int field_0x20;
|
||||
/* 0x00 */ cXyz mPos;
|
||||
/* 0x0C */ GXColor mColor;
|
||||
/* 0x10 */ f32 field_0x10;
|
||||
/* 0x14 */ f32 field_0x14;
|
||||
/* 0x18 */ f32 field_0x18;
|
||||
/* 0x1C */ f32 field_0x1c;
|
||||
/* 0x20 */ f32 field_0x20;
|
||||
/* 0x24 */ u8 field_0x24;
|
||||
/* 0x25 */ u8 field_0x25;
|
||||
/* 0x26 */ u8 field_0x26;
|
||||
@@ -533,6 +536,10 @@ extern dScnKy_env_light_c g_env_light;
|
||||
|
||||
STATIC_ASSERT(sizeof(dScnKy_env_light_c) == 4880);
|
||||
|
||||
inline dScnKy_env_light_c* i_dKy_getEnvlight() {
|
||||
return &g_env_light;
|
||||
}
|
||||
|
||||
BOOL dKy_darkworld_stage_check(char const*, int);
|
||||
BOOL dKy_withwarp_capture_check();
|
||||
bool dKy_darkworld_check();
|
||||
|
||||
@@ -3,6 +3,12 @@
|
||||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
struct color_RGB_class {
|
||||
u8 r;
|
||||
u8 g;
|
||||
u8 b;
|
||||
};
|
||||
|
||||
// Invented name; Used as u8 `darkLv` in dKydata_darkworldInfo_c.
|
||||
enum dKyd_DARKLV {
|
||||
FARON = 0,
|
||||
|
||||
@@ -21,6 +21,7 @@ f32 dKyw_get_wind_pow();
|
||||
static void squal_proc();
|
||||
void dKyw_rain_set(int count);
|
||||
void dKyw_wind_set();
|
||||
cXyz dKyw_get_wind_vecpow();
|
||||
|
||||
class dKankyo_sun_Packet : public J3DPacket {
|
||||
public:
|
||||
@@ -92,7 +93,6 @@ public:
|
||||
virtual void draw();
|
||||
virtual ~dKankyo_rain_Packet();
|
||||
|
||||
private:
|
||||
/* 0x0010 */ u8* mpTex;
|
||||
/* 0x0014 */ u8* mpTex2;
|
||||
/* 0x0018 */ RAIN_EFF mRainEff[250];
|
||||
@@ -145,7 +145,9 @@ struct STAR_EFF {
|
||||
/* 0x00 */ u8 field_0x0[4];
|
||||
/* 0x04 */ cXyz field_0x04;
|
||||
/* 0x10 */ cXyz field_0x10;
|
||||
/* 0x1C */ u8 field_0x1c[0x18];
|
||||
/* 0x1C */ u8 field_0x1c[12];
|
||||
/* 0x28 */ f32 field_0x28;
|
||||
/* 0x2C */ u8 field_0x2c[8];
|
||||
}; // Size: 0x34
|
||||
|
||||
class dKankyo_star_Packet : public J3DPacket {
|
||||
@@ -153,9 +155,9 @@ public:
|
||||
virtual void draw();
|
||||
virtual ~dKankyo_star_Packet();
|
||||
|
||||
private:
|
||||
/* 0x10 */ u8* field_0x10;
|
||||
/* 0x14 */ STAR_EFF field_0x14[1];
|
||||
/* 0x14 */ STAR_EFF mEffect[1];
|
||||
/* 0x48 */ s16 mEffectNum;
|
||||
};
|
||||
|
||||
struct HOUSI_EFF {
|
||||
@@ -273,10 +275,11 @@ public:
|
||||
virtual void draw();
|
||||
virtual ~dKankyo_mud_Packet();
|
||||
|
||||
/* 0x0010 */ int field_0x10;
|
||||
/* 0x0014 */ u8* field_0x14;
|
||||
/* 0x0018 */ EF_MUD_EFF field_0x18[100];
|
||||
/* 0x13C8 */ u8 field_0x13c8[8];
|
||||
/* 0x0010 */ int mEffectNum;
|
||||
/* 0x0014 */ u8* mpMoyaRes;
|
||||
/* 0x0018 */ EF_MUD_EFF mEffect[100];
|
||||
/* 0x1C38 */ u8 field_0x1c38[4];
|
||||
/* 0x1C3C */ f32 field_0x1c3c;
|
||||
};
|
||||
|
||||
struct EF_EVIL_EFF {
|
||||
@@ -295,10 +298,10 @@ public:
|
||||
virtual void draw();
|
||||
virtual ~dKankyo_evil_Packet();
|
||||
|
||||
/* 0x00010 */ int field_0x10;
|
||||
/* 0x00014 */ u8* field_0x14;
|
||||
/* 0x00018 */ u8 field_0x18[4];
|
||||
/* 0x0001C */ EF_EVIL_EFF field_0x1c[2000];
|
||||
/* 0x00010 */ int mEffectNum;
|
||||
/* 0x00014 */ u8* mpMoyaRes;
|
||||
/* 0x00018 */ u8* mpKumoLightRes;
|
||||
/* 0x0001C */ EF_EVIL_EFF mEffect[2000];
|
||||
/* 0x2135C */ u8 field_0x2135c[8];
|
||||
};
|
||||
|
||||
|
||||
@@ -9,6 +9,12 @@
|
||||
#include "d/pane/d_pane_class.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
enum dMeter2Draw_actionFlag {
|
||||
/* 0x0 */ ACTION_FLG_DEFAULT,
|
||||
/* 0x2 */ ACTION_FLG_EMPHASIS = 2,
|
||||
/* 0x4 */ ACTION_FLG_CONTINUATION = 4,
|
||||
};
|
||||
|
||||
enum dMeter2Draw_actionID {
|
||||
/* 0x00 */ ACTION_STR_NONE,
|
||||
/* 0x01 */ ACTION_STR_LET_GO,
|
||||
|
||||
@@ -159,6 +159,7 @@ public:
|
||||
u8 isSelectMessage() { return mSelectMessage; }
|
||||
void onNonStopJunpFlowFlag() { mNonStopJunpFlowFlag = 1; }
|
||||
int getSelectNum() { return query005(NULL, NULL, 0); }
|
||||
s16 getChoiceNo() { return mChoiceNo; }
|
||||
|
||||
static queryFunc mQueryList[53];
|
||||
static eventFunc mEventList[43];
|
||||
|
||||
+171
-13
@@ -4,10 +4,12 @@
|
||||
#include "JSystem/JParticle/JPAParticle.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_actor.h"
|
||||
#include "d/particle/d_particle_name.h"
|
||||
|
||||
class dPa_levelEcallBack : public JPAEmitterCallBack {
|
||||
public:
|
||||
/* 8004FB18 */ virtual ~dPa_levelEcallBack();
|
||||
virtual void setup(JPABaseEmitter*, const cXyz*, const csXyz*, s8) = 0;
|
||||
/* 8004FB8C */ virtual void cleanup();
|
||||
};
|
||||
|
||||
@@ -67,15 +69,154 @@ public:
|
||||
void remove() { end(); }
|
||||
|
||||
/* 0x04 */ JPABaseEmitter* mpEmitter;
|
||||
/* 0x08 */ cXyz* field_0x8;
|
||||
/* 0x0C */ csXyz* field_0xc;
|
||||
/* 0x08 */ const cXyz* field_0x8;
|
||||
/* 0x0C */ const csXyz* field_0xc;
|
||||
/* 0x10 */ u8 field_0x10;
|
||||
/* 0x11 */ u8 field_0x11;
|
||||
/* 0x12 */ u8 field_0x12;
|
||||
/* 0x13 */ u8 field_0x13;
|
||||
};
|
||||
|
||||
extern u8 data_80450EC4;
|
||||
class dPa_windPcallBack : public JPAParticleCallBack {
|
||||
public:
|
||||
/* 8004FF2C */ virtual ~dPa_windPcallBack();
|
||||
/* 8004B4E0 */ virtual void execute(JPABaseEmitter*, JPABaseParticle*);
|
||||
};
|
||||
|
||||
class dPa_wbPcallBack_c : public JPAParticleCallBack {
|
||||
public:
|
||||
/* 8004FECC */ virtual ~dPa_wbPcallBack_c();
|
||||
/* 8004DC28 */ virtual void execute(JPABaseEmitter*, JPABaseParticle*);
|
||||
};
|
||||
|
||||
class dPa_setColorEcallBack : public dPa_levelEcallBack {
|
||||
public:
|
||||
dPa_setColorEcallBack(const GXColor& color) { mColor = color; }
|
||||
|
||||
/* 800502E4 */ virtual ~dPa_setColorEcallBack();
|
||||
/* 800502B0 */ virtual void draw(JPABaseEmitter*);
|
||||
/* 800502E0 */ virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8);
|
||||
|
||||
/* 0x4 */ GXColor mColor;
|
||||
};
|
||||
|
||||
class dPa_selectTexEcallBack : public dPa_levelEcallBack {
|
||||
public:
|
||||
dPa_selectTexEcallBack(u8 param_0) { field_0x4 = param_0; }
|
||||
|
||||
/* 8004FF8C */ virtual ~dPa_selectTexEcallBack();
|
||||
/* 8004ADC4 */ virtual void draw(JPABaseEmitter*);
|
||||
/* 80050010 */ virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8);
|
||||
|
||||
/* 0x4 */ u8 field_0x4;
|
||||
};
|
||||
|
||||
class dPa_particleTracePcallBack_c : public JPAParticleCallBack {
|
||||
public:
|
||||
/* 8004FC68 */ virtual ~dPa_particleTracePcallBack_c();
|
||||
/* 8004FAD4 */ virtual void execute(JPABaseEmitter*, JPABaseParticle*);
|
||||
};
|
||||
|
||||
class dPa_modelPcallBack : public JPAParticleCallBack {
|
||||
public:
|
||||
/* 80050038 */ virtual ~dPa_modelPcallBack();
|
||||
/* 8004A460 */ virtual void draw(JPABaseEmitter*, JPABaseParticle*);
|
||||
};
|
||||
|
||||
class dPa_modelEcallBack : public dPa_levelEcallBack {
|
||||
public:
|
||||
struct model_c {
|
||||
/* 8004A608 */ void set(J3DModelData*, dKy_tevstr_c const&, u8, void*, u8, u8);
|
||||
/* 8004A7AC */ void setup();
|
||||
/* 8004A88C */ void cleanup();
|
||||
/* 8004A8DC */ void draw(f32 (*)[4]);
|
||||
/* 8004AB88 */ ~model_c();
|
||||
/* 8004FB90 */ model_c();
|
||||
};
|
||||
|
||||
dPa_modelEcallBack() { mModel = NULL; }
|
||||
|
||||
/* 8004AB1C */ void create(u8);
|
||||
/* 8004ABC4 */ void remove();
|
||||
/* 8004AC00 */ void setModel(JPABaseEmitter*, J3DModelData*, dKy_tevstr_c const&, u8, void*, u8,
|
||||
u8);
|
||||
/* 8004AC90 */ void resetModel(JPABaseEmitter*);
|
||||
/* 8004ACC0 */ void setupModel(JPABaseEmitter*);
|
||||
/* 8004ACEC */ void drawModel(JPABaseEmitter*, f32 (*)[4]);
|
||||
/* 8004AD28 */ void cleanupModel(JPABaseEmitter*);
|
||||
/* 8004AD58 */ void getModel(JPABaseEmitter*);
|
||||
/* 8004AD90 */ void getRotAxis(JPABaseEmitter*);
|
||||
|
||||
/* 80050378 */ virtual ~dPa_modelEcallBack();
|
||||
/* 8004AA34 */ virtual void draw(JPABaseEmitter*);
|
||||
/* 80050014 */ virtual void drawAfter(JPABaseEmitter*);
|
||||
/* 8004AAA8 */ virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8);
|
||||
|
||||
static u8 mEcallback[4];
|
||||
static u8 mPcallback[4];
|
||||
static J3DModel* mModel;
|
||||
};
|
||||
|
||||
class dPa_light8PcallBack : public JPAParticleCallBack {
|
||||
public:
|
||||
/* 8004FE0C */ virtual ~dPa_light8PcallBack();
|
||||
/* 8004DD10 */ virtual void execute(JPABaseEmitter*, JPABaseParticle*);
|
||||
/* 8004DD1C */ virtual void draw(JPABaseEmitter*, JPABaseParticle*);
|
||||
};
|
||||
|
||||
class dPa_light8EcallBack : public dPa_levelEcallBack {
|
||||
public:
|
||||
/* 8005015C */ virtual ~dPa_light8EcallBack();
|
||||
/* 8004A340 */ virtual void draw(JPABaseEmitter*);
|
||||
/* 800501E0 */ virtual void drawAfter(JPABaseEmitter*);
|
||||
/* 8004979C */ virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8);
|
||||
};
|
||||
|
||||
class dPa_gen_d_light8PcallBack : public JPAParticleCallBack {
|
||||
public:
|
||||
/* 8004FD4C */ virtual ~dPa_gen_d_light8PcallBack();
|
||||
/* 8004DD18 */ virtual void execute(JPABaseEmitter*, JPABaseParticle*);
|
||||
/* 8004ED44 */ virtual void draw(JPABaseEmitter*, JPABaseParticle*);
|
||||
};
|
||||
|
||||
class dPa_gen_d_light8EcallBack : public dPa_levelEcallBack {
|
||||
public:
|
||||
/* 800503FC */ virtual ~dPa_gen_d_light8EcallBack();
|
||||
/* 8004A388 */ virtual void draw(JPABaseEmitter*);
|
||||
/* 80050098 */ virtual void drawAfter(JPABaseEmitter*);
|
||||
/* 800497CC */ virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8);
|
||||
};
|
||||
|
||||
class dPa_gen_b_light8PcallBack : public JPAParticleCallBack {
|
||||
public:
|
||||
/* 8004FDAC */ virtual ~dPa_gen_b_light8PcallBack();
|
||||
/* 8004DD14 */ virtual void execute(JPABaseEmitter*, JPABaseParticle*);
|
||||
/* 8004E6A8 */ virtual void draw(JPABaseEmitter*, JPABaseParticle*);
|
||||
};
|
||||
|
||||
class dPa_gen_b_light8EcallBack : public dPa_levelEcallBack {
|
||||
public:
|
||||
/* 800500B8 */ virtual ~dPa_gen_b_light8EcallBack();
|
||||
/* 8004A364 */ virtual void draw(JPABaseEmitter*);
|
||||
/* 8005013C */ virtual void drawAfter(JPABaseEmitter*);
|
||||
/* 800497B0 */ virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8);
|
||||
};
|
||||
|
||||
class dPa_fsenthPcallBack : public JPAParticleCallBack {
|
||||
public:
|
||||
/* 8004FE6C */ virtual ~dPa_fsenthPcallBack();
|
||||
/* 8004DCA0 */ virtual void execute(JPABaseEmitter*, JPABaseParticle*);
|
||||
/* 8004DD0C */ virtual void draw(JPABaseEmitter*, JPABaseParticle*);
|
||||
|
||||
};
|
||||
|
||||
class dPa_simpleData_c {
|
||||
public:
|
||||
/* 8004B024 */ ~dPa_simpleData_c();
|
||||
/* 8004B060 */ dPa_simpleData_c();
|
||||
|
||||
u8 field_0x0[20];
|
||||
};
|
||||
|
||||
class dPa_control_c {
|
||||
public:
|
||||
@@ -89,7 +230,21 @@ public:
|
||||
/* 8004FBFC */ emitter_c();
|
||||
|
||||
JPABaseEmitter* getEmitter() { return mEmitter; }
|
||||
emitter_c* getPre() { return mPre; }
|
||||
emitter_c* getNext() { return mNext; }
|
||||
void setPre(emitter_c* pre) { mPre = pre; }
|
||||
void setNext(emitter_c* next) { mNext = next; }
|
||||
|
||||
u32 getId() { return mId; }
|
||||
void clearStatus() { mStatus = 0; }
|
||||
|
||||
void onEventMove() { mStatus |= 2; }
|
||||
void offEventMove() { mStatus &= ~2; }
|
||||
bool isEventMove() { return mStatus & 2; }
|
||||
|
||||
void offActive() { mStatus &= ~1; }
|
||||
bool isActive() { return mStatus & 1; }
|
||||
|
||||
private:
|
||||
/* 0x00 */ u32 mId;
|
||||
/* 0x04 */ u16 mNameId;
|
||||
@@ -104,24 +259,26 @@ public:
|
||||
/* 8004B7A8 */ void execute();
|
||||
/* 8004B6F8 */ void execute(dPa_control_c::level_c::emitter_c*);
|
||||
/* 8004B808 */ void cleanup();
|
||||
/* 8004B874 */ void get(u32);
|
||||
/* 8004B874 */ emitter_c* get(u32);
|
||||
/* 8004B8B4 */ void forceOnEventMove(u32);
|
||||
/* 8004B8E8 */ void allForceOnEventMove();
|
||||
/* 8004B918 */ JPABaseEmitter* getEmitter(u32);
|
||||
/* 8004B94C */ void entry(u16, JPABaseEmitter*, dPa_levelEcallBack*);
|
||||
/* 8004B94C */ u32 entry(u16, JPABaseEmitter*, dPa_levelEcallBack*);
|
||||
/* 8004BA40 */ void addTable(dPa_control_c::level_c::emitter_c*);
|
||||
/* 8004BA74 */ void cutTable(dPa_control_c::level_c::emitter_c*);
|
||||
|
||||
static const int EMITTER_MAX = 0x80;
|
||||
|
||||
/* 0x000 */ u32 field_0x0;
|
||||
/* 0x004 */ u8 field_0x4;
|
||||
/* 0x004 */ u8 mFreeNo;
|
||||
/* 0x005 */ u8 field_0x5;
|
||||
/* 0x006 */ u8 field_0x6;
|
||||
/* 0x008 */ emitter_c mEmitter[0x80];
|
||||
/* 0xC08 */ emitter_c* field_0xc08[0x100];
|
||||
/* 0xC08 */ emitter_c* mTable[0x100];
|
||||
}; // Size: 0x1008
|
||||
|
||||
/* 8004BACC */ dPa_control_c();
|
||||
/* 8004BB70 */ void getRM_ID(u16);
|
||||
/* 8004BB70 */ static bool getRM_ID(u16);
|
||||
/* 8004BB78 */ void createCommon(void const*);
|
||||
/* 8004BCDC */ void createRoomScene();
|
||||
/* 8004BDFC */ void readScene(u8, mDoDvdThd_toMainRam_c**);
|
||||
@@ -180,14 +337,14 @@ public:
|
||||
|
||||
JKRExpHeap* getResHeap() { return m_resHeap; }
|
||||
|
||||
static void onStatus(u8 status) { data_80450EC4 |= status; }
|
||||
static void offStatus(u8 status) { data_80450EC4 &= ~status; }
|
||||
static bool isStatus(u8 status) { return data_80450EC4 & status; }
|
||||
static void onStatus(u8 status) { mStatus |= status; }
|
||||
static void offStatus(u8 status) { mStatus &= ~status; }
|
||||
static bool isStatus(u8 status) { return mStatus & status; }
|
||||
|
||||
static u8 mTsubo[64];
|
||||
static u8 mLifeBall[24];
|
||||
static u8 mWindViewMatrix[48];
|
||||
static u8 mEmitterMng[4];
|
||||
static Mtx mWindViewMatrix;
|
||||
static JPAEmitterManager* mEmitterMng;
|
||||
static u8 mWaterBubblePcallBack[4];
|
||||
static u8 mFsenthPcallBack[4];
|
||||
static u8 mLight8EcallBack[4];
|
||||
@@ -197,6 +354,7 @@ public:
|
||||
static u8 m_d_Light8EcallBack[4];
|
||||
static u8 m_d_Light8PcallBack[4];
|
||||
static u8 mParticleTracePCB[4 + 4 /* padding */];
|
||||
static u8 mStatus;
|
||||
|
||||
private:
|
||||
/* 0x000 */ JKRSolidHeap* mHeap;
|
||||
|
||||
@@ -3,4 +3,9 @@
|
||||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
struct dPa_name {
|
||||
static u16 j_o_id[5];
|
||||
static u16 s_o_id[14];
|
||||
};
|
||||
|
||||
#endif /* D_PARTICLE_D_PARTICLE_NAME_H */
|
||||
|
||||
@@ -59,8 +59,8 @@ public:
|
||||
struct actor_place {
|
||||
/* 807E2468 */ //void operator=(actor_place const&);
|
||||
|
||||
/* 0x00 */ cXyz mPosition;
|
||||
/* 0x0C */ csXyz mAngle;
|
||||
/* 0x00 */ cXyz pos;
|
||||
/* 0x0C */ csXyz angle;
|
||||
/* 0x12 */ s8 mRoomNo;
|
||||
/* 0x13 */ u8 field_0x13;
|
||||
};
|
||||
@@ -95,9 +95,9 @@ public:
|
||||
/* 0x49C */ u32 mStatus;
|
||||
/* 0x4A0 */ u32 mCondition;
|
||||
/* 0x4A4 */ u32 mParentPcId;
|
||||
/* 0x4A8 */ actor_place mOrig;
|
||||
/* 0x4BC */ actor_place mNext;
|
||||
/* 0x4D0 */ actor_place mCurrent;
|
||||
/* 0x4A8 */ actor_place orig;
|
||||
/* 0x4BC */ actor_place next;
|
||||
/* 0x4D0 */ actor_place current;
|
||||
/* 0x4E4 */ csXyz mCollisionRot;
|
||||
/* 0x4EC */ cXyz mScale;
|
||||
/* 0x4F8 */ cXyz mSpeed;
|
||||
@@ -129,9 +129,9 @@ public:
|
||||
|
||||
static u32 stopStatus;
|
||||
|
||||
const cXyz& getPosition() const { return mCurrent.mPosition; }
|
||||
const csXyz& getAngle() const { return mCurrent.mAngle; }
|
||||
s8 getRoomNo() const { return mCurrent.mRoomNo; }
|
||||
const cXyz& getPosition() const { return current.pos; }
|
||||
const csXyz& getAngle() const { return current.angle; }
|
||||
s8 getRoomNo() const { return current.mRoomNo; }
|
||||
}; // Size: 0x568
|
||||
|
||||
s32 fopAc_IsActor(void* actor);
|
||||
|
||||
@@ -105,7 +105,7 @@ struct DOUBLE_POS {
|
||||
};
|
||||
|
||||
inline s32 fopAcM_GetRoomNo(const fopAc_ac_c* pActor) {
|
||||
return (s8)pActor->mCurrent.mRoomNo;
|
||||
return (s8)pActor->current.mRoomNo;
|
||||
}
|
||||
|
||||
inline u32 fopAcM_GetID(const void* pActor) {
|
||||
@@ -165,11 +165,11 @@ inline fopAc_ac_c* fopAcM_SearchByID(unsigned int id) {
|
||||
}
|
||||
|
||||
inline cXyz& fopAcM_GetPosition_p(fopAc_ac_c* pActor) {
|
||||
return pActor->mCurrent.mPosition;
|
||||
return pActor->current.pos;
|
||||
}
|
||||
|
||||
inline cXyz& fopAcM_GetOldPosition_p(fopAc_ac_c* pActor) {
|
||||
return pActor->mNext.mPosition;
|
||||
return pActor->next.pos;
|
||||
}
|
||||
|
||||
inline cXyz& fopAcM_GetSpeed_p(fopAc_ac_c* pActor) {
|
||||
@@ -177,7 +177,7 @@ inline cXyz& fopAcM_GetSpeed_p(fopAc_ac_c* pActor) {
|
||||
}
|
||||
|
||||
inline csXyz& fopAcM_GetAngle_p(fopAc_ac_c* pActor) {
|
||||
return pActor->mCurrent.mAngle;
|
||||
return pActor->current.angle;
|
||||
}
|
||||
|
||||
inline csXyz& fopAcM_GetShapeAngle_p(fopAc_ac_c* pActor) {
|
||||
@@ -201,7 +201,7 @@ inline BOOL fopAcM_IsActor(void* actor) {
|
||||
}
|
||||
|
||||
inline void fopAcM_SetRoomNo(fopAc_ac_c* actor, s8 roomNo) {
|
||||
actor->mCurrent.mRoomNo = roomNo;
|
||||
actor->current.mRoomNo = roomNo;
|
||||
}
|
||||
|
||||
inline void fopAcM_setHookCarryNow(fopAc_ac_c* actor) {
|
||||
@@ -213,7 +213,7 @@ inline void fopAcM_cancelHookCarryNow(fopAc_ac_c* actor) {
|
||||
}
|
||||
|
||||
inline s8 fopAcM_GetHomeRoomNo(const fopAc_ac_c* pActor) {
|
||||
return pActor->mOrig.mRoomNo;
|
||||
return pActor->orig.mRoomNo;
|
||||
}
|
||||
|
||||
inline void fopAcM_SetGravity(fopAc_ac_c* actor, f32 gravity) {
|
||||
@@ -261,7 +261,7 @@ inline const cXyz& fopAcM_GetSpeed_p(const fopAc_ac_c* p_actor) {
|
||||
}
|
||||
|
||||
inline const cXyz& fopAcM_GetPosition_p(const fopAc_ac_c* p_actor) {
|
||||
return p_actor->mCurrent.mPosition;
|
||||
return p_actor->current.pos;
|
||||
}
|
||||
|
||||
inline void dComIfGs_onSwitch(int i_no, int i_roomNo);
|
||||
@@ -291,7 +291,7 @@ inline bool fopAcM_isItem(const fopAc_ac_c* item, int bitNo) {
|
||||
}
|
||||
|
||||
inline f32 fopAcM_searchActorDistanceY(const fopAc_ac_c* actorA, const fopAc_ac_c* actorB) {
|
||||
return actorB->mCurrent.mPosition.y - actorA->mCurrent.mPosition.y;
|
||||
return actorB->current.pos.y - actorA->current.pos.y;
|
||||
}
|
||||
|
||||
inline u16 fopAcM_GetSetId(const fopAc_ac_c* p_actor) {
|
||||
@@ -505,7 +505,7 @@ inline void make_prm_bokkuri(u32* pActorParams, csXyz* p_angle, u8 param_2, u8 p
|
||||
p_angle->z = (param_6 << 0xD) | (param_2 << 0x1) | param_5;
|
||||
}
|
||||
|
||||
inline void* dComIfGp_getPlayer(int);
|
||||
inline fopAc_ac_c* dComIfGp_getPlayer(int);
|
||||
|
||||
inline s16 fopAcM_searchPlayerAngleY(const fopAc_ac_c* actor) {
|
||||
return fopAcM_searchActorAngleY(actor, (fopAc_ac_c*)dComIfGp_getPlayer(0));
|
||||
@@ -527,7 +527,7 @@ s8 dComIfGp_getReverb(int roomNo);
|
||||
|
||||
inline void fopAcM_seStartCurrent(const fopAc_ac_c* actor, u32 sfxID, u32 param_2) {
|
||||
s8 roomNo = fopAcM_GetRoomNo(actor);
|
||||
mDoAud_seStart(sfxID, &actor->mCurrent.mPosition, param_2, dComIfGp_getReverb(roomNo));
|
||||
mDoAud_seStart(sfxID, &actor->current.pos, param_2, dComIfGp_getReverb(roomNo));
|
||||
}
|
||||
|
||||
extern "C" {
|
||||
|
||||
@@ -8,15 +8,15 @@
|
||||
#include "f_op/f_op_draw_tag.h"
|
||||
#include "f_op/f_op_view.h"
|
||||
#include "f_pc/f_pc_leaf.h"
|
||||
#include "d/d_camera.h"
|
||||
|
||||
class camera_class : public view_class {
|
||||
class camera_process_class : public view_class {
|
||||
public:
|
||||
/* 0x170 */ Mtx field_0x170;
|
||||
/* 0x1A0 */ Mtx field_0x1a0;
|
||||
/* 0x1D0 */ u8 field_0x1d0[0x10];
|
||||
/* 0x1E0 */ Mtx field_0x1e0;
|
||||
/* 0x210 */ create_tag_class pCreateTag;
|
||||
/* 0x224 */ leafdraw_method_class* pMthd;
|
||||
/* 0x170 */ Mtx mInvViewMtx;
|
||||
/* 0x1A0 */ Mtx44 field_0x1a0;
|
||||
/* 0x1E0 */ Mtx mViewMtxNoTrans;
|
||||
/* 0x210 */ create_tag_class mCreateTag;
|
||||
/* 0x224 */ leafdraw_method_class* mpMtd;
|
||||
/* 0x228 */ u8 field_0x228[4];
|
||||
/* 0x22C */ s8 mPrm1;
|
||||
/* 0x22D */ s8 mPrm2;
|
||||
@@ -26,6 +26,13 @@ public:
|
||||
/* 0x238 */ int field_0x238;
|
||||
};
|
||||
|
||||
class camera_class : public camera_process_class {
|
||||
public:
|
||||
/* 0x23C */ int field_0x23c;
|
||||
/* 0x240 */ request_of_phase_process_class mPhaseReq;
|
||||
/* 0x248 */ dCamera_c mCamera;
|
||||
};
|
||||
|
||||
/* void fopCamM_SetNear(camera_class* cam, f32 near) {
|
||||
cam->mNear = near;
|
||||
}
|
||||
|
||||
@@ -14,7 +14,16 @@ public:
|
||||
};
|
||||
|
||||
struct view_port_class {
|
||||
f32 field_0x0;
|
||||
/* 0x00 */ f32 mXOrig;
|
||||
/* 0x04 */ f32 mYOrig;
|
||||
/* 0x08 */ f32 mWidth;
|
||||
/* 0x0C */ f32 mHeight;
|
||||
/* 0x10 */ f32 mNearZ;
|
||||
/* 0x14 */ f32 mFarZ;
|
||||
/* 0x18 */ f32 mScissorXOrig;
|
||||
/* 0x1C */ f32 mScissorYOrig;
|
||||
/* 0x20 */ f32 mScissorWidth;
|
||||
/* 0x24 */ f32 mScissorHeight;
|
||||
};
|
||||
|
||||
struct view_class : public leafdraw_class {
|
||||
@@ -24,11 +33,10 @@ struct view_class : public leafdraw_class {
|
||||
/* 0x0CC */ f32 mFar;
|
||||
/* 0x0D0 */ f32 mFovy;
|
||||
/* 0x0D4 */ f32 mAspect;
|
||||
/* 0x0D8 */ lookat_class field_0xd8;
|
||||
/* 0x0D8 */ lookat_class mLookat;
|
||||
/* 0x0FC */ s16 mBank;
|
||||
/* 0x100 */ Mtx field_0x100;
|
||||
/* 0x130 */ u8 field_0x130[0x10];
|
||||
/* 0x140 */ Mtx field_0x140;
|
||||
/* 0x100 */ Mtx44 mProjMtx;
|
||||
/* 0x140 */ Mtx mViewMtx;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -14,8 +14,6 @@ public:
|
||||
static T* sInstance;
|
||||
};
|
||||
|
||||
extern bool struct_80450BB8; // sInitFlag
|
||||
|
||||
class mDoAud_zelAudio_c {
|
||||
public:
|
||||
void reset();
|
||||
|
||||
+122
-53
@@ -12,8 +12,9 @@
|
||||
class mDoExt_baseAnm {
|
||||
public:
|
||||
mDoExt_baseAnm() {}
|
||||
/* 8000D320 */ void initPlay(s16, int, f32, s16, s16);
|
||||
/* 8000D428 */ void play();
|
||||
/* 8000D320 */ int initPlay(s16 i_frameMax, int i_attribute, f32 i_rate, s16 i_start,
|
||||
s16 param_4);
|
||||
/* 8000D428 */ int play();
|
||||
|
||||
void setPlaySpeed(f32 speed) { mFrameCtrl.setRate(speed); }
|
||||
f32 getFrame() { return mFrameCtrl.getFrame(); }
|
||||
@@ -36,6 +37,8 @@ public:
|
||||
mDoExt_transAnmBas(void* bas) { mBas = bas; }
|
||||
virtual ~mDoExt_transAnmBas();
|
||||
|
||||
void* getBas() { return mBas; }
|
||||
|
||||
private:
|
||||
/* 0x28 */ void* mBas;
|
||||
};
|
||||
@@ -86,8 +89,9 @@ STATIC_ASSERT(sizeof(mDoExt_brkAnm) == 0x18);
|
||||
class mDoExt_bpkAnm : public mDoExt_baseAnm {
|
||||
public:
|
||||
mDoExt_bpkAnm() { mpAnm = 0; }
|
||||
/* 8000D47C */ int init(J3DMaterialTable*, J3DAnmColor*, int, int, f32, s16, s16);
|
||||
/* 8000D518 */ void entry(J3DMaterialTable*, f32);
|
||||
/* 8000D47C */ int init(J3DMaterialTable* i_matTable, J3DAnmColor* i_bpk, int i_anmPlay,
|
||||
int i_attribute, f32 i_rate, s16 i_start, s16 param_6);
|
||||
/* 8000D518 */ void entry(J3DMaterialTable* i_matTable, f32 i_frame);
|
||||
|
||||
void entry(J3DModelData* data) { entry(data, getFrame()); }
|
||||
void entry(J3DModelData* data, f32 frame) { entry(&data->getMaterialTable(), frame); }
|
||||
@@ -116,10 +120,10 @@ public:
|
||||
/* 8000D9E8 */ void entryJoint(J3DModelData*, u16, f32);
|
||||
|
||||
void entry(J3DModelData* data) { entry(data, getFrame()); }
|
||||
J3DAnmTransform* getBckAnm() { return mpAnm; }
|
||||
J3DAnmTransform* getBckAnm() { return mAnm; }
|
||||
|
||||
private:
|
||||
/* 0x14 */ J3DAnmTransform* mpAnm;
|
||||
/* 0x14 */ J3DAnmTransform* mAnm;
|
||||
/* 0x18 */ J3DMtxCalc* mpMtxCalc;
|
||||
}; // Size: 0x1C
|
||||
|
||||
@@ -128,8 +132,9 @@ STATIC_ASSERT(sizeof(mDoExt_bckAnm) == 0x1C);
|
||||
class mDoExt_btpAnm : public mDoExt_baseAnm {
|
||||
public:
|
||||
mDoExt_btpAnm() { mpAnm = NULL; }
|
||||
/* 8000D54C */ int init(J3DMaterialTable*, J3DAnmTexPattern*, int, int, f32, s16, s16);
|
||||
/* 8000D5E8 */ void entry(J3DMaterialTable*, s16);
|
||||
/* 8000D54C */ int init(J3DMaterialTable* i_matTable, J3DAnmTexPattern* i_btk, int i_anmPlay,
|
||||
int i_attribute, f32 i_rate, s16 i_start, s16 param_6);
|
||||
/* 8000D5E8 */ void entry(J3DMaterialTable* i_matTable, s16 i_frame);
|
||||
|
||||
void entry(J3DModelData* data) { entry(data, getFrame()); }
|
||||
void entry(J3DModelData* data, s16 frame) { entry(&data->getMaterialTable(), frame); }
|
||||
@@ -148,7 +153,8 @@ private:
|
||||
|
||||
class mDoExt_blkAnm : public mDoExt_baseAnm {
|
||||
public:
|
||||
/* 8000DA08 */ void init(J3DDeformData*, J3DAnmCluster*, int, int, f32, s16, s16);
|
||||
/* 8000DA08 */ int init(J3DDeformData* i_deformData, J3DAnmCluster* i_blk, int i_anmPlay,
|
||||
int i_attribute, f32 i_rate, s16 i_start, s16 param_6);
|
||||
|
||||
private:
|
||||
/* 0x14 */ J3DAnmCluster* mpAnm;
|
||||
@@ -177,6 +183,12 @@ public:
|
||||
/* 80012220 */ virtual void draw();
|
||||
/* 8000E5F8 */ virtual ~mDoExt_invJntPacket();
|
||||
|
||||
void setJoint(J3DModel* i_model, u16 param_1, u8 param_2) {
|
||||
field_0x10 = i_model;
|
||||
field_0x14 = param_1;
|
||||
field_0x16 = param_2;
|
||||
}
|
||||
|
||||
private:
|
||||
/* 0x10 */ J3DModel* field_0x10;
|
||||
/* 0x14 */ u16 field_0x14;
|
||||
@@ -185,12 +197,12 @@ private:
|
||||
|
||||
class mDoExt_invisibleModel {
|
||||
public:
|
||||
/* 8000E53C */ void create(J3DModel*, u8);
|
||||
/* 8000E53C */ int create(J3DModel*, u8);
|
||||
/* 8000E6C8 */ void entryJoint(cXyz*);
|
||||
/* 8000E7C0 */ void entryDL(cXyz*);
|
||||
|
||||
/* 0x0 */ J3DModel* mModel;
|
||||
/* 0x4 */ mDoExt_invJntPacket* field_0x4;
|
||||
/* 0x4 */ mDoExt_invJntPacket* mpPackets;
|
||||
};
|
||||
|
||||
class mDoExt_zelAnime : public Z2SoundObjAnime {};
|
||||
@@ -212,10 +224,23 @@ public:
|
||||
|
||||
/* 8000FAE8 */ virtual ~mDoExt_morf_c();
|
||||
|
||||
void setPlaySpeed(f32 speed) { mFrameCtrl.setRate(speed); }
|
||||
|
||||
f32 getPlaySpeed() { return mFrameCtrl.getRate(); }
|
||||
f32 getFrame() { return mFrameCtrl.getFrame(); }
|
||||
|
||||
bool isStop() {
|
||||
bool stopped = true;
|
||||
if (!mFrameCtrl.checkState(1) && mFrameCtrl.getRate() != 0.0f) {
|
||||
stopped = false;
|
||||
}
|
||||
return stopped;
|
||||
}
|
||||
|
||||
/* 0x04 */ J3DModel* mpModel;
|
||||
/* 0x08 */ J3DAnmTransform* mpAnm;
|
||||
/* 0x0C */ J3DFrameCtrl mFrameCtrl;
|
||||
/* 0x20 */ J3DTransformInfo** mpTransformInfo;
|
||||
/* 0x20 */ J3DTransformInfo* mpTransformInfo;
|
||||
/* 0x24 */ Quaternion* mpQuat;
|
||||
/* 0x28 */ f32 mCurMorf;
|
||||
/* 0x2C */ f32 mPrevMorf;
|
||||
@@ -228,11 +253,10 @@ public:
|
||||
/* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*,
|
||||
mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int,
|
||||
int, Z2Creature*, u32, u32);
|
||||
/* 800108F0 */ void create(J3DModelData*, mDoExt_McaMorfCallBack1_c*,
|
||||
mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, int,
|
||||
Z2Creature*, u32, u32);
|
||||
/* 800108F0 */ int create(J3DModelData*, mDoExt_McaMorfCallBack1_c*, mDoExt_McaMorfCallBack2_c*,
|
||||
J3DAnmTransform*, int, f32, int, int, Z2Creature*, u32, u32);
|
||||
/* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32);
|
||||
/* 800110B0 */ void play(u32, s8);
|
||||
/* 800110B0 */ int play(u32, s8);
|
||||
/* 80011154 */ void updateDL();
|
||||
/* 800111C0 */ void entryDL();
|
||||
/* 800111EC */ void modelCalc();
|
||||
@@ -294,7 +318,7 @@ public:
|
||||
/* 800116B4 */ void ERROR_EXIT();
|
||||
/* 80011D70 */ void setAnm(J3DAnmTransform*, J3DAnmTransform*, f32, int, f32, f32, f32, f32);
|
||||
/* 80011FCC */ void setAnmRate(f32);
|
||||
/* 800120A0 */ void play(u32, s8);
|
||||
/* 800120A0 */ int play(u32, s8);
|
||||
/* 80012144 */ void entryDL();
|
||||
/* 80012170 */ void modelCalc();
|
||||
/* 800121E8 */ void stopZelAnime();
|
||||
@@ -331,23 +355,44 @@ private:
|
||||
/* 0x20 */ Quaternion* mOldFrameQuaternion;
|
||||
}; // Size: 0x24
|
||||
|
||||
struct mDoExt_MtxCalcAnmBlendTblOld {
|
||||
/* 8000F4B0 */ void calc();
|
||||
/* 80014EB0 */ ~mDoExt_MtxCalcAnmBlendTblOld();
|
||||
};
|
||||
struct mDoExt_MtxCalcAnmBlendTblOld
|
||||
: public J3DMtxCalcNoAnm<J3DMtxCalcCalcTransformMaya, J3DMtxCalcJ3DSysInitMaya> {
|
||||
/* 80014EB0 */ virtual ~mDoExt_MtxCalcAnmBlendTblOld();
|
||||
/* 8000F4B0 */ virtual void calc();
|
||||
|
||||
struct mDoExt_MtxCalcAnmBlendTbl {
|
||||
/* 8000F26C */ void calc();
|
||||
/* 0x4 */ int mNum;
|
||||
/* 0x8 */ mDoExt_AnmRatioPack* mAnmRatio;
|
||||
}; // Size: 0xC
|
||||
|
||||
struct mDoExt_MtxCalcAnmBlendTbl : public mDoExt_MtxCalcAnmBlendTblOld {
|
||||
/* 800D00BC */ void getAnm(int);
|
||||
/* 80014F3C */ ~mDoExt_MtxCalcAnmBlendTbl();
|
||||
|
||||
/* 80014F3C */ virtual ~mDoExt_MtxCalcAnmBlendTbl();
|
||||
/* 8000F26C */ virtual void calc();
|
||||
|
||||
/* 0xC */ mDoExt_MtxCalcOldFrame* mOldFrame;
|
||||
};
|
||||
|
||||
struct mDoExt_3Dline_c {
|
||||
class mDoExt_3Dline_c {
|
||||
public:
|
||||
/* 800123D0 */ void init(u16, int, int);
|
||||
/* 800126BC */ mDoExt_3Dline_c();
|
||||
|
||||
/* 0x00 */ cXyz* field_0x0;
|
||||
/* 0x04 */ void* field_0x4;
|
||||
/* 0x08 */ cXyz* field_0x8;
|
||||
/* 0x0C */ cXyz* field_0xc;
|
||||
/* 0x10 */ void* field_0x10;
|
||||
/* 0x14 */ void* field_0x14;
|
||||
/* 0x18 */ f32* field_0x18;
|
||||
/* 0x1C */ f32* field_0x1c;
|
||||
};
|
||||
|
||||
struct mDoExt_3DlineMat_c {};
|
||||
class mDoExt_3DlineMat_c {
|
||||
public:
|
||||
/* 0x0 */ void* field_0x0;
|
||||
/* 0x4 */ mDoExt_3DlineMat_c* field_0x4;
|
||||
};
|
||||
|
||||
class mDoExt_3DlineMatSortPacket : public J3DPacket {
|
||||
public:
|
||||
@@ -362,57 +407,81 @@ private:
|
||||
};
|
||||
|
||||
class dKy_tevstr_c;
|
||||
struct mDoExt_3DlineMat1_c {
|
||||
class mDoExt_3DlineMat1_c : public mDoExt_3DlineMat_c {
|
||||
public:
|
||||
/* 80013360 */ void init(u16, u16, ResTIMG*, int);
|
||||
/* 800134F8 */ void setMaterial();
|
||||
/* 800135D0 */ void draw();
|
||||
/* 80013FB0 */ void update(int, _GXColor&, dKy_tevstr_c*);
|
||||
/* 8001373C */ void update(int, f32, _GXColor&, u16, dKy_tevstr_c*);
|
||||
/* 80014E7C */ bool getMaterialID();
|
||||
/* 80013FB0 */ void update(int, GXColor&, dKy_tevstr_c*);
|
||||
/* 8001373C */ void update(int, f32, GXColor&, u16, dKy_tevstr_c*);
|
||||
/* 80014E7C */ int getMaterialID();
|
||||
|
||||
private:
|
||||
/* 0x08 */ GXTexObj field_0x8;
|
||||
/* 0x28 */ GXColor field_0x28;
|
||||
/* 0x2C */ dKy_tevstr_c* field_0x2c;
|
||||
/* 0x30 */ u16 field_0x30;
|
||||
/* 0x32 */ u16 field_0x32;
|
||||
/* 0x34 */ u16 field_0x34;
|
||||
/* 0x36 */ u8 field_0x36;
|
||||
/* 0x38 */ mDoExt_3Dline_c* field_0x38;
|
||||
};
|
||||
|
||||
struct mDoExt_3DlineMat0_c {
|
||||
class mDoExt_3DlineMat0_c : public mDoExt_3DlineMat_c {
|
||||
public:
|
||||
/* 800125E0 */ void init(u16, u16, int);
|
||||
/* 800126C0 */ void setMaterial();
|
||||
/* 80012774 */ void draw();
|
||||
/* 80012874 */ void update(int, f32, _GXColor&, u16, dKy_tevstr_c*);
|
||||
/* 80012E3C */ void update(int, _GXColor&, dKy_tevstr_c*);
|
||||
/* 80014E84 */ bool getMaterialID();
|
||||
/* 80014E84 */ int getMaterialID();
|
||||
|
||||
private:
|
||||
/* 0x08 */ GXColor field_0x8;
|
||||
/* 0x0C */ dKy_tevstr_c* field_0xc;
|
||||
/* 0x10 */ u16 field_0x10;
|
||||
/* 0x12 */ u16 field_0x12;
|
||||
/* 0x14 */ u16 field_0x14;
|
||||
/* 0x16 */ u8 field_0x16;
|
||||
/* 0x18 */ mDoExt_3Dline_c* field_0x18;
|
||||
};
|
||||
|
||||
JKRSolidHeap* mDoExt_createSolidHeapFromGame(u32, u32);
|
||||
void mDoExt_destroySolidHeap(JKRSolidHeap*);
|
||||
u32 mDoExt_adjustSolidHeap(JKRSolidHeap*);
|
||||
JKRSolidHeap* mDoExt_createSolidHeapFromGame(u32 i_size, u32 i_alignment);
|
||||
void mDoExt_destroySolidHeap(JKRSolidHeap* i_heap);
|
||||
u32 mDoExt_adjustSolidHeap(JKRSolidHeap* i_heap);
|
||||
void mDoExt_restoreCurrentHeap();
|
||||
JKRExpHeap* mDoExt_getGameHeap();
|
||||
void mDoExt_destroySolidHeap(JKRSolidHeap*);
|
||||
JKRHeap* mDoExt_setCurrentHeap(JKRHeap*);
|
||||
void mDoExt_destroySolidHeap(JKRSolidHeap* i_heap);
|
||||
JKRHeap* mDoExt_setCurrentHeap(JKRHeap* i_heap);
|
||||
JKRExpHeap* mDoExt_getArchiveHeap();
|
||||
JKRExpHeap* mDoExt_getArchiveHeapPtr();
|
||||
void mDoExt_destroyExpHeap(JKRExpHeap*);
|
||||
void mDoExt_destroyExpHeap(JKRExpHeap* i_heap);
|
||||
JKRAssertHeap* mDoExt_getAssertHeap();
|
||||
JKRExpHeap* mDoExt_getCommandHeap();
|
||||
JKRExpHeap* mDoExt_getZeldaHeap();
|
||||
JKRExpHeap* mDoExt_getJ2dHeap();
|
||||
JKRExpHeap* mDoExt_getHostIOHeap();
|
||||
JKRExpHeap* mDoExt_getDbPrintHeap();
|
||||
JKRExpHeap* mDoExt_createDbPrintHeap(u32 param_0, JKRHeap* param_1);
|
||||
JKRAssertHeap* mDoExt_createAssertHeap(JKRHeap* param_0);
|
||||
JKRExpHeap* mDoExt_createCommandHeap(u32 param_0, JKRHeap* param_1);
|
||||
JKRExpHeap* mDoExt_createArchiveHeap(u32 param_0, JKRHeap* param_1);
|
||||
JKRExpHeap* mDoExt_createJ2dHeap(u32 param_0, JKRHeap* param_1);
|
||||
JKRExpHeap* mDoExt_createZeldaHeap(u32 param_0, JKRHeap* param_1);
|
||||
JKRExpHeap* mDoExt_createGameHeap(u32 param_0, JKRHeap* param_1);
|
||||
JKRSolidHeap* mDoExt_createSolidHeapToCurrent(JKRHeap**, u32, JKRHeap*, u32);
|
||||
JKRSolidHeap* mDoExt_createSolidHeapToCurrent(u32, JKRHeap*, u32);
|
||||
JKRSolidHeap* mDoExt_createSolidHeapFromGameToCurrent(u32, u32);
|
||||
JKRSolidHeap* mDoExt_createSolidHeapFromGameToCurrent(JKRHeap**, u32, u32);
|
||||
u32 mDoExt_adjustSolidHeapToSystem(JKRSolidHeap* pHeap);
|
||||
JKRExpHeap* mDoExt_createDbPrintHeap(u32 heapSize, JKRHeap* i_heap);
|
||||
JKRAssertHeap* mDoExt_createAssertHeap(JKRHeap* i_heap);
|
||||
JKRExpHeap* mDoExt_createCommandHeap(u32 heapSize, JKRHeap* i_heap);
|
||||
JKRExpHeap* mDoExt_createArchiveHeap(u32 heapSize, JKRHeap* i_heap);
|
||||
JKRExpHeap* mDoExt_createJ2dHeap(u32 heapSize, JKRHeap* i_heap);
|
||||
JKRExpHeap* mDoExt_createZeldaHeap(u32 heapSize, JKRHeap* i_heap);
|
||||
JKRExpHeap* mDoExt_createGameHeap(u32 heapSize, JKRHeap* i_heap);
|
||||
JKRSolidHeap* mDoExt_createSolidHeapToCurrent(JKRHeap** o_heap, u32 i_size, JKRHeap* i_parent,
|
||||
u32 i_alignment);
|
||||
JKRSolidHeap* mDoExt_createSolidHeapToCurrent(u32 i_size, JKRHeap* i_parent, u32 i_alignment);
|
||||
JKRSolidHeap* mDoExt_createSolidHeapFromGameToCurrent(u32 i_size, u32 i_alignment);
|
||||
JKRSolidHeap* mDoExt_createSolidHeapFromGameToCurrent(JKRHeap** o_heap, u32 i_size,
|
||||
u32 i_alignment);
|
||||
u32 mDoExt_adjustSolidHeapToSystem(JKRSolidHeap* i_heap);
|
||||
JKRHeap* mDoExt_getCurrentHeap();
|
||||
void mDoExt_removeMesgFont();
|
||||
void mDoExt_modelUpdateDL(J3DModel*);
|
||||
J3DModel* mDoExt_J3DModel__create(J3DModelData*, u32, u32);
|
||||
void mDoExt_setAraCacheSize(u32 param_0);
|
||||
void mDoExt_modelUpdateDL(J3DModel* i_model);
|
||||
J3DModel* mDoExt_J3DModel__create(J3DModelData* i_modelData, u32 param_1, u32 param_2);
|
||||
void mDoExt_setAraCacheSize(u32 size);
|
||||
int mDoExt_resIDToIndex(JKRArchive* p_archive, u16 id);
|
||||
|
||||
struct JUTFont;
|
||||
JUTFont* mDoExt_getMesgFont();
|
||||
|
||||
@@ -54,6 +54,7 @@ public:
|
||||
static void XrotM(s16 x) { mDoMtx_XrotM(now, x); }
|
||||
static void inverse() { PSMTXInverse(now, now); }
|
||||
static void concat(const Mtx m) { PSMTXConcat(now, m, now); }
|
||||
static void copy(const Mtx m) { PSMTXCopy(m, now); }
|
||||
|
||||
static Mtx now;
|
||||
static Mtx buffer[16];
|
||||
|
||||
@@ -23,7 +23,7 @@ public:
|
||||
/* 804A3FD4 */ void draw();
|
||||
|
||||
static fopAc_ac_c* makeIronBallDummy(fopAc_ac_c* p_actor) {
|
||||
return (fopAc_ac_c*)fopAcM_fastCreate(0x2F4, 6, &p_actor->mCurrent.mPosition,
|
||||
return (fopAc_ac_c*)fopAcM_fastCreate(0x2F4, 6, &p_actor->current.pos,
|
||||
fopAcM_GetRoomNo(p_actor), NULL, NULL, -1, NULL,
|
||||
NULL);
|
||||
}
|
||||
|
||||
@@ -13,8 +13,8 @@ public:
|
||||
u8 getArg1() { return (fopAcM_GetParam(this) >> 8) & 0xFF; }
|
||||
u8 getArg0() { return fopAcM_GetParam(this); }
|
||||
u32 getSwNo() { return fopAcM_GetParam(this) >> 0x18; }
|
||||
u16 getOffEventBit() { return mOrig.mAngle.z & 0xFFF; }
|
||||
u16 getOnEventBit() { return mOrig.mAngle.x & 0xFFF; }
|
||||
u16 getOffEventBit() { return orig.angle.z & 0xFFF; }
|
||||
u16 getOnEventBit() { return orig.angle.x & 0xFFF; }
|
||||
void setSceneChangeOK() { mSceneChangeOK = true; }
|
||||
|
||||
/* 0x568 */ Mtx mMatrix;
|
||||
|
||||
@@ -1,6 +1,63 @@
|
||||
#ifndef D_A_OBJ_YOBIKUSA_H
|
||||
#define D_A_OBJ_YOBIKUSA_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
|
||||
class daObjYobikusa_c;
|
||||
typedef void (daObjYobikusa_c::*actionFunc)();
|
||||
|
||||
class daObjYobikusa_c : public fopAc_ac_c {
|
||||
public:
|
||||
enum Mode_e {};
|
||||
|
||||
/* 8059C9F8 */ void setAction(daObjYobikusa_c::Mode_e);
|
||||
/* 8059CA2C */ void callInit();
|
||||
/* 8059CA54 */ void callExecute();
|
||||
/* 8059CA80 */ void initSwingWind();
|
||||
/* 8059CA8C */ void executeSwingWind();
|
||||
/* 8059CC54 */ void initPushDown();
|
||||
/* 8059CC60 */ void executePushDown();
|
||||
/* 8059CD44 */ void initPickLeaf();
|
||||
/* 8059CD80 */ void executePickLeaf();
|
||||
/* 8059CE7C */ void create_init();
|
||||
/* 8059D120 */ void initBaseMtx();
|
||||
/* 8059D198 */ void getJointAngle(csXyz*, int);
|
||||
/* 8059D1BC */ void getJointScale(int);
|
||||
/* 8059D320 */ void initCcCylinder();
|
||||
/* 8059D380 */ void setCcCylinder();
|
||||
/* 8059D3B4 */ void toPickLeaf();
|
||||
/* 8059D454 */ void setNewLeaf();
|
||||
/* 8059D738 */ void execute();
|
||||
|
||||
static u8 const M_attr[64];
|
||||
static u8 ActionTable[72];
|
||||
|
||||
u8 getType() { return mSubtype & 0x7F; }
|
||||
u8 getPathID() { return fopAcM_GetParam(this); }
|
||||
bool isPlayerCorrect() { return (s8)(u8)(fopAcM_GetParam(this) >> 8) > 0; }
|
||||
|
||||
private:
|
||||
/* 0x568 */ J3DModel* field_0x568;
|
||||
/* 0x56C */ J3DModel* field_0x56c;
|
||||
/* 0x570 */ J3DModel* field_0x570;
|
||||
/* 0x574 */ Mtx field_0x574;
|
||||
/* 0x5A4 */ request_of_phase_process_class mPhase;
|
||||
/* 0x5AC */ void* field_0x5ac;
|
||||
/* 0x5B0 */ int field_0x5b0;
|
||||
/* 0x5B4 */ dCcD_Stts mStts;
|
||||
/* 0x5F0 */ dCcD_Cyl mCcCyl;
|
||||
/* 0x72C */ cBgS_PolyInfo field_0x72c;
|
||||
/* 0x73C */ f32 field_0x73c;
|
||||
/* 0x740 */ f32 mJointScale;
|
||||
/* 0x744 */ f32 field_0x744;
|
||||
/* 0x748 */ f32 field_0x748;
|
||||
/* 0x74C */ csXyz field_0x74c[3];
|
||||
/* 0x760 */ char* mResName;
|
||||
/* 0x764 */ s16 field_0x764;
|
||||
/* 0x766 */ s16 field_0x766;
|
||||
/* 0x768 */ s16 field_0x768;
|
||||
/* 0x76A */ s16 field_0x76a;
|
||||
/* 0x76C */ s16 field_0x76c;
|
||||
};
|
||||
|
||||
#endif /* D_A_OBJ_YOBIKUSA_H */
|
||||
|
||||
@@ -12,7 +12,7 @@ public:
|
||||
int create();
|
||||
void execute();
|
||||
|
||||
u16 getMessageNo() { return mOrig.mAngle.z; }
|
||||
u16 getMessageNo() { return orig.angle.z; }
|
||||
|
||||
private:
|
||||
/* 0x568 */ u16 mMessageNo;
|
||||
|
||||
Reference in New Issue
Block a user