mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-09-02 00:38:46 -04:00
setup dolphin VEC/MTX function defines (#1903)
* setup VEC function defines * setup MTX function defines
This commit is contained in:
@@ -56,7 +56,7 @@ void J2DGrafContext::setup2D() {
|
||||
GXSetCullMode(GX_CULL_NONE);
|
||||
GXLoadPosMtxImm(mPosMtx, 0);
|
||||
Mtx mtx;
|
||||
PSMTXIdentity(mtx);
|
||||
MTXIdentity(mtx);
|
||||
GXLoadTexMtxImm(mtx, GX_IDENTITY, GX_MTX3x4);
|
||||
GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, GX_LIGHT_NULL, GX_DF_NONE,
|
||||
GX_AF_NONE);
|
||||
|
||||
@@ -50,7 +50,7 @@ void J2DOrthoGraph::setOrtho(JGeometry::TBox2<f32> const& bounds, f32 far, f32 n
|
||||
|
||||
/* 802E9840-802E987C 2E4180 003C+00 1/0 0/0 0/0 .text setLookat__13J2DOrthoGraphFv */
|
||||
void J2DOrthoGraph::setLookat() {
|
||||
PSMTXIdentity(mPosMtx);
|
||||
MTXIdentity(mPosMtx);
|
||||
GXLoadPosMtxImm(mPosMtx, 0);
|
||||
}
|
||||
|
||||
|
||||
@@ -292,7 +292,7 @@ void J2DPane::draw(f32 x, f32 y, J2DGrafContext const* p_grafCtx, bool isOrthoGr
|
||||
f32 width = parent->mGlobalBounds.i.x - parent->mBounds.i.x;
|
||||
f32 height = parent->mGlobalBounds.i.y - parent->mBounds.i.y;
|
||||
mGlobalBounds.addPos(width, height);
|
||||
PSMTXConcat(parent->mGlobalMtx, mPositionMtx, mGlobalMtx);
|
||||
MTXConcat(parent->mGlobalMtx, mPositionMtx, mGlobalMtx);
|
||||
|
||||
if (unkBool) {
|
||||
if (isOrthoGraf) {
|
||||
@@ -308,7 +308,7 @@ void J2DPane::draw(f32 x, f32 y, J2DGrafContext const* p_grafCtx, bool isOrthoGr
|
||||
} else {
|
||||
mGlobalBounds.addPos(x, y);
|
||||
makeMatrix(mTranslateX + x, mTranslateY + y);
|
||||
PSMTXCopy(mPositionMtx, mGlobalMtx);
|
||||
MTXCopy(mPositionMtx, mGlobalMtx);
|
||||
mClipRect = mGlobalBounds;
|
||||
mColorAlpha = mAlpha;
|
||||
}
|
||||
@@ -528,15 +528,15 @@ void J2DPane::makeMatrix(f32 param_0, f32 param_1, f32 param_2, f32 param_3) {
|
||||
f32 tmpX = mRotateOffsetX - param_2;
|
||||
f32 tmpY = mRotateOffsetY - param_3;
|
||||
Mtx rotX, rotY, rotZ, rotMtx, mtx, tmp;
|
||||
PSMTXTrans(mtx, -tmpX, -tmpY, 0);
|
||||
PSMTXRotRad(rotX, 'x', DEG_TO_RAD(mRotateX));
|
||||
PSMTXRotRad(rotY, 'y', DEG_TO_RAD(mRotateY));
|
||||
PSMTXRotRad(rotZ, 'z', DEG_TO_RAD(-mRotateZ));
|
||||
PSMTXConcat(rotZ, rotX, tmp);
|
||||
PSMTXConcat(rotY, tmp, rotMtx);
|
||||
PSMTXScaleApply(mtx, mPositionMtx, mScaleX, mScaleY, 1);
|
||||
PSMTXConcat(rotMtx, mPositionMtx, tmp);
|
||||
PSMTXTransApply(tmp, mPositionMtx, param_0 + tmpX, param_1 + tmpY, 0);
|
||||
MTXTrans(mtx, -tmpX, -tmpY, 0);
|
||||
MTXRotRad(rotX, 'x', DEG_TO_RAD(mRotateX));
|
||||
MTXRotRad(rotY, 'y', DEG_TO_RAD(mRotateY));
|
||||
MTXRotRad(rotZ, 'z', DEG_TO_RAD(-mRotateZ));
|
||||
MTXConcat(rotZ, rotX, tmp);
|
||||
MTXConcat(rotY, tmp, rotMtx);
|
||||
MTXScaleApply(mtx, mPositionMtx, mScaleX, mScaleY, 1);
|
||||
MTXConcat(rotMtx, mPositionMtx, tmp);
|
||||
MTXTransApply(tmp, mPositionMtx, param_0 + tmpX, param_1 + tmpY, 0);
|
||||
}
|
||||
|
||||
/* 802F7680-802F76F8 2F1FC0 0078+00 1/0 7/3 0/0 .text setCullBack__7J2DPaneF11_GXCullMode
|
||||
|
||||
@@ -662,7 +662,7 @@ void J2DPicture::changeTexture(char const* param_0, u8 param_1, JUTPalette* para
|
||||
/* 802FDB28-802FDB90 2F8468 0068+00 1/0 1/0 0/0 .text drawSelf__10J2DPictureFff */
|
||||
void J2DPicture::drawSelf(f32 param_0, f32 param_1) {
|
||||
Mtx tmp;
|
||||
PSMTXIdentity(tmp);
|
||||
MTXIdentity(tmp);
|
||||
|
||||
drawSelf(param_0, param_1, &tmp);
|
||||
}
|
||||
@@ -732,7 +732,7 @@ void J2DPicture::drawTexCoord(f32 param_0, f32 param_1, f32 param_2, f32 param_3
|
||||
|
||||
getNewColor(black);
|
||||
setTevMode();
|
||||
PSMTXConcat((MtxP)param_12,mGlobalMtx,outputMtx);
|
||||
MTXConcat((MtxP)param_12,mGlobalMtx,outputMtx);
|
||||
|
||||
GXLoadPosMtxImm(outputMtx,0);
|
||||
GXClearVtxDesc();
|
||||
|
||||
@@ -305,7 +305,7 @@ void J2DTextBox::draw(f32 posX, f32 posY) {
|
||||
if (mStringPtr != NULL) {
|
||||
print.print(0.0f, 0.0f, mAlpha, "%s", mStringPtr);
|
||||
}
|
||||
PSMTXIdentity(m);
|
||||
MTXIdentity(m);
|
||||
GXLoadPosMtxImm(m, 0);
|
||||
}
|
||||
}
|
||||
@@ -334,7 +334,7 @@ void J2DTextBox::draw(f32 posX, f32 posY, f32 param_2, J2DTextBoxHBinding hBind)
|
||||
print.printReturn(mStringPtr, param_2, 0.0f, hBind, VBIND_TOP, 0.0f, -mFontSizeY,
|
||||
mAlpha);
|
||||
}
|
||||
PSMTXIdentity(m);
|
||||
MTXIdentity(m);
|
||||
GXLoadPosMtxImm(m, 0);
|
||||
}
|
||||
}
|
||||
@@ -421,7 +421,7 @@ bool J2DTextBox::setConnectParent(bool connected) {
|
||||
/* 803008E8-80300950 2FB228 0068+00 1/0 1/0 0/0 .text drawSelf__10J2DTextBoxFff */
|
||||
void J2DTextBox::drawSelf(f32 param_0, f32 param_1) {
|
||||
Mtx identity;
|
||||
PSMTXIdentity(identity);
|
||||
MTXIdentity(identity);
|
||||
|
||||
drawSelf(param_0, param_1, &identity);
|
||||
}
|
||||
@@ -434,7 +434,7 @@ void J2DTextBox::drawSelf(f32 param_0, f32 param_1, Mtx* p_mtx) {
|
||||
J2DPrint print(mFont, mCharSpacing, mLineSpacing, mCharColor, mGradientColor, mBlackColor,
|
||||
mWhiteColor);
|
||||
print.setFontSize(mFontSizeX, mFontSizeY);
|
||||
PSMTXConcat(*p_mtx, mGlobalMtx, m);
|
||||
MTXConcat(*p_mtx, mGlobalMtx, m);
|
||||
|
||||
GXLoadPosMtxImm(m, GX_PNMTX0);
|
||||
GXSetNumIndStages(0);
|
||||
|
||||
@@ -211,7 +211,7 @@ void J2DTextBoxEx::drawSelf(f32 param_0, f32 param_1, Mtx* p_mtx) {
|
||||
|
||||
if (mMaterial != NULL) {
|
||||
mMaterial->setGX();
|
||||
PSMTXConcat(*p_mtx, mGlobalMtx, m);
|
||||
MTXConcat(*p_mtx, mGlobalMtx, m);
|
||||
|
||||
GXLoadPosMtxImm(m, GX_PNMTX0);
|
||||
GXClearVtxDesc();
|
||||
@@ -288,7 +288,7 @@ void J2DTextBoxEx::draw(f32 posX, f32 posY) {
|
||||
GXSetTevDirect((GXTevStageID)i);
|
||||
}
|
||||
|
||||
PSMTXIdentity(m);
|
||||
MTXIdentity(m);
|
||||
GXLoadPosMtxImm(m, 0);
|
||||
}
|
||||
}
|
||||
@@ -346,7 +346,7 @@ void J2DTextBoxEx::draw(f32 posX, f32 posY, f32 param_2, J2DTextBoxHBinding hBin
|
||||
GXSetTevDirect((GXTevStageID)i);
|
||||
}
|
||||
|
||||
PSMTXIdentity(m);
|
||||
MTXIdentity(m);
|
||||
GXLoadPosMtxImm(m, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -83,8 +83,8 @@ void J3DMtxCalcCalcTransformBasic::calcTransform(J3DTransformInfo const& transIn
|
||||
mtxBuf->setScaleFlag(jntNo, 1);
|
||||
}
|
||||
|
||||
PSMTXConcat(J3DSys::mCurrentMtx, anmMtx, J3DSys::mCurrentMtx);
|
||||
PSMTXCopy(J3DSys::mCurrentMtx, anmMtx);
|
||||
MTXConcat(J3DSys::mCurrentMtx, anmMtx, J3DSys::mCurrentMtx);
|
||||
MTXCopy(J3DSys::mCurrentMtx, anmMtx);
|
||||
}
|
||||
|
||||
/* 8032EE50-8032EFBC 329790 016C+00 0/0 1/1 0/0 .text
|
||||
@@ -99,7 +99,7 @@ void J3DMtxCalcCalcTransformSoftimage::calcTransform(J3DTransformInfo const& tra
|
||||
transInfo.mTranslate.x * J3DSys::mCurrentS.x,
|
||||
transInfo.mTranslate.y * J3DSys::mCurrentS.y,
|
||||
transInfo.mTranslate.z * J3DSys::mCurrentS.z, anmMtx);
|
||||
PSMTXConcat(J3DSys::mCurrentMtx, anmMtx, J3DSys::mCurrentMtx);
|
||||
MTXConcat(J3DSys::mCurrentMtx, anmMtx, J3DSys::mCurrentMtx);
|
||||
|
||||
J3DSys::mCurrentS.x *= transInfo.mScale.x;
|
||||
J3DSys::mCurrentS.y *= transInfo.mScale.y;
|
||||
@@ -114,7 +114,7 @@ void J3DMtxCalcCalcTransformSoftimage::calcTransform(J3DTransformInfo const& tra
|
||||
anmMtx[2][3] = J3DSys::mCurrentMtx[2][3];
|
||||
} else {
|
||||
mtxBuf->setScaleFlag(jntNo, 1);
|
||||
PSMTXCopy(J3DSys::mCurrentMtx, anmMtx);
|
||||
MTXCopy(J3DSys::mCurrentMtx, anmMtx);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -154,8 +154,8 @@ void J3DMtxCalcCalcTransformMaya::calcTransform(J3DTransformInfo const& transInf
|
||||
anmMtx[2][2] *= invZ;
|
||||
}
|
||||
|
||||
PSMTXConcat(J3DSys::mCurrentMtx, anmMtx, J3DSys::mCurrentMtx);
|
||||
PSMTXCopy(J3DSys::mCurrentMtx, anmMtx);
|
||||
MTXConcat(J3DSys::mCurrentMtx, anmMtx, J3DSys::mCurrentMtx);
|
||||
MTXCopy(J3DSys::mCurrentMtx, anmMtx);
|
||||
|
||||
J3DSys::mParentS.x = transInfo.mScale.x;
|
||||
J3DSys::mParentS.y = transInfo.mScale.y;
|
||||
|
||||
@@ -119,8 +119,8 @@ void J3DModel::initialize() {
|
||||
mBaseScale.y = 1.0f;
|
||||
mBaseScale.z = 1.0f;
|
||||
|
||||
PSMTXIdentity(mBaseTransformMtx);
|
||||
PSMTXIdentity(mInternalView);
|
||||
MTXIdentity(mBaseTransformMtx);
|
||||
MTXIdentity(mInternalView);
|
||||
|
||||
mMtxBuffer = NULL;
|
||||
mMatPacket = NULL;
|
||||
@@ -406,7 +406,7 @@ void J3DModel::calcDiffTexMtx() {
|
||||
J3DTexMtx* texMtxNode = texGenBlock->getTexMtx(j);
|
||||
J3DTexMtxObj* texMtxObj = shapePacket->getTexMtxObj();
|
||||
if (texMtxNode != NULL && texMtxObj != NULL) {
|
||||
PSMTXCopy(texMtxNode->getMtx(), texMtxObj->getMtx(j));
|
||||
MTXCopy(texMtxNode->getMtx(), texMtxObj->getMtx(j));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -317,5 +317,5 @@ void J3DCalcViewBaseMtx(Mtx view, Vec const& scale, const Mtx& base, Mtx dst) {
|
||||
m[2][2] = base[2][2] * scale.z;
|
||||
m[2][3] = base[2][3];
|
||||
|
||||
PSMTXConcat(view, m, dst);
|
||||
MTXConcat(view, m, dst);
|
||||
}
|
||||
|
||||
@@ -534,8 +534,8 @@ void J3DSkinDeform::transformVtxPosNrm(J3DModelData* param_0) {
|
||||
u16 drawMtxIndex = param_0->getDrawMtxIndex(posIndex);
|
||||
Vec* pos = ((Vec*)param_0->getVtxPosArray()) + i;
|
||||
Mtx invMtx;
|
||||
PSMTXInverse(param_0->getInvJointMtx(drawMtxIndex), invMtx);
|
||||
PSMTXMultVec(invMtx, pos, pos);
|
||||
MTXInverse(param_0->getInvJointMtx(drawMtxIndex), invMtx);
|
||||
MTXMultVec(invMtx, pos, pos);
|
||||
}
|
||||
}
|
||||
for (int i = 0; i < nrmNum; i++) {
|
||||
@@ -544,8 +544,8 @@ void J3DSkinDeform::transformVtxPosNrm(J3DModelData* param_0) {
|
||||
u16 drawMtxIndex = param_0->getDrawMtxIndex(nrmIndex);
|
||||
Vec* nrm = ((Vec*)param_0->getVtxNrmArray()) + i;
|
||||
Mtx invMtx;
|
||||
PSMTXInverse(param_0->getInvJointMtx(drawMtxIndex), invMtx);
|
||||
PSMTXMultVecSR(invMtx, nrm, nrm);
|
||||
MTXInverse(param_0->getInvJointMtx(drawMtxIndex), invMtx);
|
||||
MTXMultVecSR(invMtx, nrm, nrm);
|
||||
}
|
||||
}
|
||||
field_0x19 = 1;
|
||||
@@ -561,7 +561,7 @@ void J3DSkinDeform::calcAnmInvJointMtx(J3DMtxBuffer* param_0) {
|
||||
Mtx* invJointMtx = ¶m_0->getJointTree()->getInvJointMtx(0);
|
||||
Mtx* posMtx = mPosMtx;
|
||||
for (int i = 0; i < jointNum; i++) {
|
||||
PSMTXConcat(anmMtx[i], invJointMtx[i], posMtx[i]);
|
||||
MTXConcat(anmMtx[i], invJointMtx[i], posMtx[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -393,7 +393,7 @@ asm void J3DDifferedTexMtx::loadExecute(f32 const (*param_0)[4]) {
|
||||
* loadMtxConcatView_PNGP__21J3DShapeMtxConcatViewCFiUs */
|
||||
void J3DShapeMtxConcatView::loadMtxConcatView_PNGP(int slot, u16 drw) const {
|
||||
Mtx m;
|
||||
PSMTXConcat(*j3dSys.getShapePacket()->getBaseMtxPtr(), j3dSys.getModelDrawMtx(drw), m);
|
||||
MTXConcat(*j3dSys.getShapePacket()->getBaseMtxPtr(), j3dSys.getModelDrawMtx(drw), m);
|
||||
J3DDifferedTexMtx::load(m);
|
||||
J3DFifoLoadPosMtxImm(m, slot * 3);
|
||||
loadNrmMtx(slot, drw, m);
|
||||
@@ -403,7 +403,7 @@ void J3DShapeMtxConcatView::loadMtxConcatView_PNGP(int slot, u16 drw) const {
|
||||
* loadMtxConcatView_PCPU__21J3DShapeMtxConcatViewCFiUs */
|
||||
void J3DShapeMtxConcatView::loadMtxConcatView_PCPU(int slot, u16 drw) const {
|
||||
Mtx m;
|
||||
PSMTXConcat(*j3dSys.getShapePacket()->getBaseMtxPtr(), j3dSys.getModelDrawMtx(drw), m);
|
||||
MTXConcat(*j3dSys.getShapePacket()->getBaseMtxPtr(), j3dSys.getModelDrawMtx(drw), m);
|
||||
J3DDifferedTexMtx::load(m);
|
||||
J3DFifoLoadPosMtxImm(*j3dSys.getShapePacket()->getBaseMtxPtr(), slot * 3);
|
||||
loadNrmMtx(slot, drw, m);
|
||||
@@ -413,7 +413,7 @@ void J3DShapeMtxConcatView::loadMtxConcatView_PCPU(int slot, u16 drw) const {
|
||||
* loadMtxConcatView_NCPU__21J3DShapeMtxConcatViewCFiUs */
|
||||
void J3DShapeMtxConcatView::loadMtxConcatView_NCPU(int slot, u16 drw) const {
|
||||
Mtx m;
|
||||
PSMTXConcat(*j3dSys.getShapePacket()->getBaseMtxPtr(), j3dSys.getModelDrawMtx(drw), m);
|
||||
MTXConcat(*j3dSys.getShapePacket()->getBaseMtxPtr(), j3dSys.getModelDrawMtx(drw), m);
|
||||
J3DDifferedTexMtx::load(m);
|
||||
J3DFifoLoadPosMtxImm(m, slot * 3);
|
||||
J3DFifoLoadNrmMtxImm(*j3dSys.getShapePacket()->getBaseMtxPtr(), slot * 3);
|
||||
@@ -426,7 +426,7 @@ void J3DShapeMtxConcatView::loadMtxConcatView_NCPU(int slot, u16 drw) const {
|
||||
void J3DShapeMtxConcatView::loadMtxConcatView_PNCPU(int slot, u16 drw) const {
|
||||
Mtx m;
|
||||
if (J3DDifferedTexMtx::sTexGenBlock != NULL) {
|
||||
PSMTXConcat(*j3dSys.getShapePacket()->getBaseMtxPtr(), j3dSys.getModelDrawMtx(drw), m);
|
||||
MTXConcat(*j3dSys.getShapePacket()->getBaseMtxPtr(), j3dSys.getModelDrawMtx(drw), m);
|
||||
J3DDifferedTexMtx::loadExecute(m);
|
||||
}
|
||||
J3DFifoLoadPosMtxImm(*j3dSys.getShapePacket()->getBaseMtxPtr(), slot * 3);
|
||||
@@ -439,8 +439,8 @@ void J3DShapeMtxConcatView::loadMtxConcatView_PNCPU(int slot, u16 drw) const {
|
||||
* loadMtxConcatView_PNGP_LOD__21J3DShapeMtxConcatViewCFiUs */
|
||||
void J3DShapeMtxConcatView::loadMtxConcatView_PNGP_LOD(int slot, u16 drw) const {
|
||||
Mtx m;
|
||||
PSMTXConcat(*j3dSys.getShapePacket()->getBaseMtxPtr(), j3dSys.getModelDrawMtx(drw), m);
|
||||
PSMTXConcat(m, j3dSys.mModel->getModelData()->getInvJointMtx(drw), m);
|
||||
MTXConcat(*j3dSys.getShapePacket()->getBaseMtxPtr(), j3dSys.getModelDrawMtx(drw), m);
|
||||
MTXConcat(m, j3dSys.mModel->getModelData()->getInvJointMtx(drw), m);
|
||||
J3DDifferedTexMtx::load(m);
|
||||
J3DFifoLoadPosMtxImm(m, slot * 3);
|
||||
loadNrmMtx(slot, drw, m);
|
||||
|
||||
@@ -61,7 +61,7 @@ J3DSys::J3DSys() {
|
||||
makeZModeTable();
|
||||
|
||||
mFlags = 0;
|
||||
PSMTXIdentity(mViewMtx);
|
||||
MTXIdentity(mViewMtx);
|
||||
mDrawMode = 1;
|
||||
mMaterialMode = 0;
|
||||
mModel = NULL;
|
||||
|
||||
@@ -36,20 +36,20 @@ void J3DUClipper::calcViewFrustum() {
|
||||
Vec tmp2 = {-f5, f4, -mNear};
|
||||
Vec tmp3 = {f5, f4, -mNear};
|
||||
Vec tmp4 = {f5, -f4, -mNear};
|
||||
PSVECCrossProduct(&tmp2, &tmp1, &_04);
|
||||
PSVECCrossProduct(&tmp3, &tmp2, &_10);
|
||||
PSVECCrossProduct(&tmp4, &tmp3, &_1C);
|
||||
PSVECCrossProduct(&tmp1, &tmp4, &_28);
|
||||
PSVECNormalize(&_04, &_04);
|
||||
PSVECNormalize(&_10, &_10);
|
||||
PSVECNormalize(&_1C, &_1C);
|
||||
PSVECNormalize(&_28, &_28);
|
||||
VECCrossProduct(&tmp2, &tmp1, &_04);
|
||||
VECCrossProduct(&tmp3, &tmp2, &_10);
|
||||
VECCrossProduct(&tmp4, &tmp3, &_1C);
|
||||
VECCrossProduct(&tmp1, &tmp4, &_28);
|
||||
VECNormalize(&_04, &_04);
|
||||
VECNormalize(&_10, &_10);
|
||||
VECNormalize(&_1C, &_1C);
|
||||
VECNormalize(&_28, &_28);
|
||||
}
|
||||
|
||||
/* 802738FC-80273A44 26E23C 0148+00 0/0 3/3 2/2 .text clip__11J3DUClipperCFPA4_Cf3Vecf */
|
||||
u32 J3DUClipper::clip(f32 const (*param_0)[4], Vec param_1, f32 param_2) const {
|
||||
Vec vec1;
|
||||
PSMTXMultVec(param_0, ¶m_1, &vec1);
|
||||
MTXMultVec(param_0, ¶m_1, &vec1);
|
||||
if (-vec1.z < mNear - param_2) {
|
||||
return 1;
|
||||
}
|
||||
@@ -113,7 +113,7 @@ u32 J3DUClipper::clip(f32 const (*param_1)[4], Vec* param_2, Vec* param_3) const
|
||||
|
||||
for (u32 i = 0; i < 8; i++) {
|
||||
Vec vec1;
|
||||
PSMTXMultVec(param_1, local_80 + i, &vec1);
|
||||
MTXMultVec(param_1, local_80 + i, &vec1);
|
||||
s32 r4 = 0;
|
||||
if (-vec1.z < mNear) {
|
||||
local_98[4]++;
|
||||
|
||||
@@ -658,7 +658,7 @@ static void noLoadPrj(JPAEmitterWorkData const* work, const Mtx srt) {
|
||||
/* 80277C90-80277CC8 2725D0 0038+00 1/0 0/0 0/0 .text loadPrj__FPC18JPAEmitterWorkDataPA4_Cf */
|
||||
void loadPrj(JPAEmitterWorkData const* work, const Mtx srt) {
|
||||
Mtx mtx;
|
||||
PSMTXConcat(work->mPrjMtx, srt, mtx);
|
||||
MTXConcat(work->mPrjMtx, srt, mtx);
|
||||
GXLoadTexMtxImm(mtx, GX_TEXMTX0, GX_MTX3x4);
|
||||
}
|
||||
|
||||
@@ -692,8 +692,8 @@ static void loadPrjAnm(JPAEmitterWorkData const* work, f32 const (*param_1)[4])
|
||||
local_108[2][1] = 0.0f;
|
||||
local_108[2][2] = 1.0f;
|
||||
local_108[2][3] = 0.0f;
|
||||
PSMTXConcat(local_108, work->mPrjMtx, local_108);
|
||||
PSMTXConcat(local_108, param_1, local_108);
|
||||
MTXConcat(local_108, work->mPrjMtx, local_108);
|
||||
MTXConcat(local_108, param_1, local_108);
|
||||
GXLoadTexMtxImm(local_108, 0x1e, GX_MTX3x4);
|
||||
}
|
||||
#else
|
||||
@@ -736,7 +736,7 @@ static projectionFunc p_prj[3] = {
|
||||
void JPADrawBillboard(JPAEmitterWorkData* work, JPABaseParticle* param_1) {
|
||||
if (param_1->checkStatus(8) == 0) {
|
||||
JGeometry::TVec3<f32> local_48;
|
||||
PSMTXMultVec(work->mPosCamMtx, param_1->mPosition, local_48);
|
||||
MTXMultVec(work->mPosCamMtx, param_1->mPosition, local_48);
|
||||
Mtx local_38;
|
||||
local_38[0][0] = work->mGlobalPtclScl.x * param_1->mParticleScaleX;
|
||||
local_38[0][3] = local_48.x;
|
||||
@@ -773,7 +773,7 @@ asm void JPADrawBillboard(JPAEmitterWorkData* param_0, JPABaseParticle* param_1)
|
||||
void JPADrawRotBillboard(JPAEmitterWorkData* work, JPABaseParticle* param_1) {
|
||||
if (param_1->checkStatus(8) == 0) {
|
||||
JGeometry::TVec3<f32> local_48;
|
||||
PSMTXMultVec(work->mPosCamMtx, param_1->mPosition, local_48);
|
||||
MTXMultVec(work->mPosCamMtx, param_1->mPosition, local_48);
|
||||
f32 sinRot = JMASSin(param_1->mRotateAngle);
|
||||
f32 cosRot = JMASCos(param_1->mRotateAngle);
|
||||
f32 particleX = work->mGlobalPtclScl.x * param_1->mParticleScaleX;
|
||||
@@ -815,7 +815,7 @@ asm void JPADrawRotBillboard(JPAEmitterWorkData* param_0, JPABaseParticle* param
|
||||
void JPADrawYBillboard(JPAEmitterWorkData* work, JPABaseParticle* param_1) {
|
||||
if (param_1->checkStatus(8) == 0) {
|
||||
JGeometry::TVec3<f32> local_48;
|
||||
PSMTXMultVec(work->mPosCamMtx, param_1->mPosition, local_48);
|
||||
MTXMultVec(work->mPosCamMtx, param_1->mPosition, local_48);
|
||||
Mtx local_38;
|
||||
f32 particleY = work->mGlobalPtclScl.y * param_1->mParticleScaleY;
|
||||
local_38[0][0] = work->mGlobalPtclScl.x * param_1->mParticleScaleX;
|
||||
@@ -853,7 +853,7 @@ asm void JPADrawYBillboard(JPAEmitterWorkData* param_0, JPABaseParticle* param_1
|
||||
void JPADrawRotYBillboard(JPAEmitterWorkData* work, JPABaseParticle* param_1) {
|
||||
if (param_1->checkStatus(8) == 0) {
|
||||
JGeometry::TVec3<f32> local_48;
|
||||
PSMTXMultVec(work->mPosCamMtx, param_1->mPosition, local_48);
|
||||
MTXMultVec(work->mPosCamMtx, param_1->mPosition, local_48);
|
||||
f32 sinRot = JMASSin(param_1->mRotateAngle);
|
||||
f32 cosRot = JMASCos(param_1->mRotateAngle);
|
||||
Mtx local_38;
|
||||
@@ -1168,7 +1168,7 @@ void JPADrawDirection(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) {
|
||||
local_60[2][2] = local_78.z;
|
||||
local_60[2][3] = param_1->mPosition.z;
|
||||
p_plane[param_0->mPlaneType](local_60, fVar1, fVar2);
|
||||
PSMTXConcat(param_0->mPosCamMtx, local_60, local_60);
|
||||
MTXConcat(param_0->mPosCamMtx, local_60, local_60);
|
||||
GXLoadPosMtxImm(local_60, 0);
|
||||
p_prj[param_0->mPrjType](param_0, local_60);
|
||||
GXCallDisplayList(p_dl[param_0->mDLType], sizeof(jpa_dl));
|
||||
@@ -1223,8 +1223,8 @@ void JPADrawRotDirection(JPAEmitterWorkData* param_0, JPABaseParticle* param_1)
|
||||
local_60[2][1] = local_6c.z;
|
||||
local_60[2][2] = local_78.z;
|
||||
local_60[2][3] = param_1->mPosition.z;
|
||||
PSMTXConcat(local_60, auStack_80, auStack_80);
|
||||
PSMTXConcat(param_0->mPosCamMtx, auStack_80, local_60);
|
||||
MTXConcat(local_60, auStack_80, auStack_80);
|
||||
MTXConcat(param_0->mPosCamMtx, auStack_80, local_60);
|
||||
GXLoadPosMtxImm(local_60, 0);
|
||||
p_prj[param_0->mPrjType](param_0, local_60);
|
||||
GXCallDisplayList(p_dl[param_0->mDLType], sizeof(jpa_dl));
|
||||
@@ -1257,9 +1257,9 @@ void JPADrawDBillboard(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) {
|
||||
local_70.cross(local_70, aTStack_7c);
|
||||
if (!local_70.isZero()) {
|
||||
local_70.normalize();
|
||||
PSMTXMultVecSR(param_0->mPosCamMtx, local_70, local_70);
|
||||
MTXMultVecSR(param_0->mPosCamMtx, local_70, local_70);
|
||||
JGeometry::TVec3<f32> local_88;
|
||||
PSMTXMultVec(param_0->mPosCamMtx, param_1->mPosition, local_88);
|
||||
MTXMultVec(param_0->mPosCamMtx, param_1->mPosition, local_88);
|
||||
f32 particleX = param_0->mGlobalPtclScl.x * param_1->mParticleScaleX;
|
||||
f32 particleY = param_0->mGlobalPtclScl.y * param_1->mParticleScaleY;
|
||||
Mtx local_60;
|
||||
@@ -1306,7 +1306,7 @@ void JPADrawRotation(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) {
|
||||
auStack_88[0][3] = param_1->mPosition.x;
|
||||
auStack_88[1][3] = param_1->mPosition.y;
|
||||
auStack_88[2][3] = param_1->mPosition.z;
|
||||
PSMTXConcat(param_0->mPosCamMtx, auStack_88, auStack_88);
|
||||
MTXConcat(param_0->mPosCamMtx, auStack_88, auStack_88);
|
||||
GXLoadPosMtxImm(auStack_88, 0);
|
||||
p_prj[param_0->mPrjType](param_0, auStack_88);
|
||||
GXCallDisplayList(p_dl[param_0->mDLType], sizeof(jpa_dl));
|
||||
@@ -1473,7 +1473,7 @@ void JPADrawStripe(JPAEmitterWorkData* param_0) {
|
||||
local_c8[2][1] = local_f8.z;
|
||||
local_c8[2][2] = pTVar7->mBaseAxis.z;
|
||||
local_c8[2][3] = 0.0f;
|
||||
PSMTXMultVecArraySR(local_c8, local_e0, local_e0, 2);
|
||||
MTXMultVecArraySR(local_c8, local_e0, local_e0, 2);
|
||||
GXPosition3f32(local_e0.x + local_ec.x, local_e0.y + local_ec.y,
|
||||
local_e0.z + local_ec.z);
|
||||
GXTexCoord2f32(0.0f, dVar16);
|
||||
|
||||
@@ -55,7 +55,7 @@ void JPABaseEmitter::init(JPAEmitterManager* param_0, JPAResource* param_1) {
|
||||
mRndmDirSpeed = mpRes->getDyn()->getInitVelRndm();
|
||||
mAirResist = mpRes->getDyn()->getAirRes();
|
||||
mRndm.set_seed(mpEmtrMgr->mpWorkData->mRndm.get_rndm_u());
|
||||
PSMTXIdentity(mGlobalRot);
|
||||
MTXIdentity(mGlobalRot);
|
||||
mGlobalScl.set(1.0f, 1.0f, 1.0f);
|
||||
mGlobalTrs.zero();
|
||||
mGlobalPScl.set(1.0f, 1.0f);
|
||||
@@ -156,12 +156,12 @@ bool JPABaseEmitter::processTermination() {
|
||||
* calcEmitterGlobalPosition__14JPABaseEmitterCFPQ29JGeometry8TVec3<f> */
|
||||
void JPABaseEmitter::calcEmitterGlobalPosition(JGeometry::TVec3<f32>* dst) const {
|
||||
Mtx mtx;
|
||||
PSMTXScale(mtx, mGlobalScl.x, mGlobalScl.y, mGlobalScl.z);
|
||||
PSMTXConcat(mGlobalRot, mtx, mtx);
|
||||
MTXScale(mtx, mGlobalScl.x, mGlobalScl.y, mGlobalScl.z);
|
||||
MTXConcat(mGlobalRot, mtx, mtx);
|
||||
mtx[0][3] = mGlobalTrs.x;
|
||||
mtx[1][3] = mGlobalTrs.y;
|
||||
mtx[2][3] = mGlobalTrs.z;
|
||||
PSMTXMultVec(mtx, mLocalTrs, *dst);
|
||||
MTXMultVec(mtx, mLocalTrs, *dst);
|
||||
}
|
||||
|
||||
/* 8027EF30-8027EF40 279870 0010+00 0/0 1/1 0/0 .text getCurrentCreateNumber__14JPABaseEmitterCFv
|
||||
|
||||
@@ -139,7 +139,7 @@ void JPASetRMtxSTVecfromMtx(f32 const (*param_0)[4], f32 (*param_1)[4],
|
||||
param_2->y = aTStack_54.length();
|
||||
aTStack_54.set(param_0[0][2], param_0[1][2], param_0[2][2]);
|
||||
param_2->z = aTStack_54.length();
|
||||
PSMTXIdentity(param_1);
|
||||
MTXIdentity(param_1);
|
||||
if (param_2->x != 0.0f) {
|
||||
f32 fVar5 = 1.0f / param_2->x;
|
||||
param_1[0][0] = param_0[0][0] * fVar5;
|
||||
|
||||
@@ -759,8 +759,8 @@ void JPAResource::calcWorkData_d(JPAEmitterWorkData* work) {
|
||||
Mtx mtx;
|
||||
JPAGetXYZRotateMtx(work->mpEmtr->mLocalRot.x * 0xB6, work->mpEmtr->mLocalRot.y * 0xB6,
|
||||
work->mpEmtr->mLocalRot.z * 0xB6, mtx);
|
||||
PSMTXConcat(work->mpEmtr->mGlobalRot, mtx, work->mGlobalRot);
|
||||
PSMTXMultVecSR(work->mGlobalRot, (Vec*)&work->mpEmtr->mLocalDir, (Vec*)&work->mGlobalEmtrDir);
|
||||
MTXConcat(work->mpEmtr->mGlobalRot, mtx, work->mGlobalRot);
|
||||
MTXMultVecSR(work->mGlobalRot, (Vec*)&work->mpEmtr->mLocalDir, (Vec*)&work->mGlobalEmtrDir);
|
||||
}
|
||||
|
||||
/* 80276A8C-80276A90 2713CC 0004+00 0/0 3/0 0/0 .text
|
||||
|
||||
Reference in New Issue
Block a user