J3DModel inlines cleanup, procBottleSwing_init match, etc

This commit is contained in:
LagoLunatic
2025-04-10 19:30:51 -04:00
parent 0bb7ff4051
commit 309158e274
51 changed files with 402 additions and 405 deletions
+5 -8
View File
@@ -91,6 +91,7 @@ public:
virtual ~J3DModel();
J3DModelData* getModelData() { return mModelData; }
void setModelData(J3DModelData* modelData) { mModelData = modelData; }
void onFlag(u32 flag) { mFlags |= flag; }
void offFlag(u32 flag) { mFlags &= ~flag; }
@@ -116,7 +117,7 @@ public:
u8 getScaleFlag(int idx) const { return mpScaleFlagArr[idx]; }
void setScaleFlag(int idx, u8 param_1) { mpScaleFlagArr[idx] = param_1; }
u8 getEnvScaleFlag(int idx) const { return mpEvlpScaleFlagArr[idx]; }
J3DVertexBuffer* getVertexBuffer() { return (J3DVertexBuffer*)&mVertexBuffer; }
J3DVertexBuffer* getVertexBuffer() { return &mVertexBuffer; }
void* getCurrentVtxPos() { return mVertexBuffer.getCurrentVtxPos(); }
void setCurrentVtxPos(void* v) { mVertexBuffer.setCurrentVtxPos(v); }
void* getCurrentVtxNrm() { return mVertexBuffer.getCurrentVtxNrm(); }
@@ -129,19 +130,15 @@ public:
Mtx& getDrawMtx(int idx) { return getDrawMtxPtr()[idx]; }
Mtx33* getNrmMtxPtr() { return mpNrmMtxBuf[1][mCurrentViewNo]; }
Mtx33& getNrmMtx(int idx) { return getNrmMtxPtr()[idx]; }
void setNrmMtx(int idx, Mtx m) { J3DPSMtx33CopyFrom34(m, getNrmMtxPtr()[idx]); }
Mtx33* getBumpMtxPtr(int idx) { return mpBumpMtxArr[1][idx][mCurrentViewNo]; }
Vec* getBaseScale() { return &mBaseScale; } // Unused in TWW
void setBaseScale(const Vec& scale) { mBaseScale = scale; }
void setUserArea(u32 area) { mUserArea = area; }
u32 getUserArea() const { return mUserArea; }
void setVisibilityManager(J3DVisibilityManager* manager) { mpVisibilityManager = manager; }
// TODO
void setModelData(J3DModelData*) {}
void setNrmMtx(int, Mtx) {}
// Appears in TP debug maps but not TWW debug maps.
Vec* getBaseScale() { return &mBaseScale; }
private:
/* 0x000 */ /* vtable */
/* 0x004 */ J3DModelData* mModelData;
/* 0x008 */ u32 mFlags;
@@ -93,7 +93,7 @@ public:
void normalize(f32*);
void normalizeWeight(int, f32*);
void checkFlag(u32) {}
bool checkFlag(u32 i_flag) { return mFlags & i_flag; }
private:
friend class J3DClusterLoader;
+1 -1
View File
@@ -114,7 +114,7 @@ public:
virtual bool isSame(J3DMatPacket*) const;
virtual int entry(J3DDrawBuffer*);
virtual void draw();
virtual void draw() {}
virtual ~J3DPacket() {}
public:
+13 -17
View File
@@ -49,38 +49,34 @@ inline void J3DPSMulMtxVec(register MtxP mtx, register Vec* vec, register Vec* d
register f32 fr9;
register f32 fr8;
register f32 fr6;
register f32 fra6;
register f32 fr5;
register f32 fra5;
register f32 fra4;
register f32 fr4;
register f32 fr3;
register f32 fr2;
register f32 fra2;
register f32 fr01;
register f32 fr00;
register f32 fr1;
register f32 fr0;
#ifdef __MWERKS__
asm {
psq_l fr00, 0(vec), 0, 0
psq_l fr0, 0(vec), 0, 0
psq_l fr2, 0(mtx), 0, 0
psq_l fr01, 8(vec), 1, 0
ps_mul fr4, fr2, fr00
psq_l fr1, 8(vec), 1, 0
ps_mul fr4, fr2, fr0
psq_l fr3, 8(mtx), 0, 0
ps_madd fr5, fr3, fr01, fr4
ps_madd fr5, fr3, fr1, fr4
psq_l fr8, 16(mtx), 0, 0
ps_sum0 fr6, fr5, fr6, fr5
psq_l fr9, 24(mtx), 0, 0
ps_mul fr10, fr8, fr00
ps_mul fr10, fr8, fr0
psq_st fr6, 0(dst), 1, 0
ps_madd fr11, fr9, fr01, fr10
psq_l fra2, 32(mtx), 0, 0
ps_madd fr11, fr9, fr1, fr10
psq_l fr2, 32(mtx), 0, 0
ps_sum0 fr12, fr11, fr12, fr11
psq_l fr3, 40(mtx), 0, 0
ps_mul fra4, fra2, fr00
ps_mul fr4, fr2, fr0
psq_st fr12, 4(dst), 1, 0
ps_madd fra5, fr3, fr01, fra4
ps_sum0 fra6, fra5, fra6, fra5
psq_st fra6, 8(dst), 1, 0
ps_madd fr5, fr3, fr1, fr4
ps_sum0 fr6, fr5, fr6, fr5
psq_st fr6, 8(dst), 1, 0
}
#endif
}