// // J3DStruct // #include "JSystem/JSystem.h" // IWYU pragma: keep #include "JSystem/J3DGraphBase/J3DStruct.h" #include "JSystem/JMath/JMath.h" bool J3DTextureSRTInfo::operator==(J3DTextureSRTInfo& other) const { if (mScaleX == other.mScaleX && mScaleY == other.mScaleY && mRotation == other.mRotation && mTranslationX == other.mTranslationX && mTranslationY == other.mTranslationY ) { return true; } return false; } bool J3DLightInfo::operator==(J3DLightInfo& other) const { if (mLightPosition.x == other.mLightPosition.x && mLightPosition.y == other.mLightPosition.y && mLightPosition.z == other.mLightPosition.z && mLightDirection.x == other.mLightDirection.x && mLightDirection.y == other.mLightDirection.y && mLightDirection.z == other.mLightDirection.z && mColor.r == other.mColor.r && mColor.g == other.mColor.g && mColor.b == other.mColor.b && mColor.a == other.mColor.a && mCosAtten.x == other.mCosAtten.x && mCosAtten.y == other.mCosAtten.y && mCosAtten.z == other.mCosAtten.z && mDistAtten.x == other.mDistAtten.x && mDistAtten.y == other.mDistAtten.y && mDistAtten.z == other.mDistAtten.z ) { return true; } return false; } J3DLightInfo& J3DLightInfo::operator=(J3DLightInfo const& param_0) { JMath::gekko_ps_copy6(&mLightPosition, ¶m_0.mLightPosition); mColor = param_0.mColor; JMath::gekko_ps_copy6(&mCosAtten, ¶m_0.mCosAtten); return *this; } bool J3DTexMtxInfo::operator==(J3DTexMtxInfo& other) const { if (mProjection != other.mProjection || mInfo != other.mInfo || !(mSRT == other.mSRT) ) { return false; } if (mEffectMtx[0][0] != other.mEffectMtx[0][0] || mEffectMtx[0][1] != other.mEffectMtx[0][1] || mEffectMtx[0][2] != other.mEffectMtx[0][2] || mEffectMtx[0][3] != other.mEffectMtx[0][3] || mEffectMtx[1][0] != other.mEffectMtx[1][0] || mEffectMtx[1][1] != other.mEffectMtx[1][1] || mEffectMtx[1][2] != other.mEffectMtx[1][2] || mEffectMtx[1][3] != other.mEffectMtx[1][3] || mEffectMtx[2][0] != other.mEffectMtx[2][0] || mEffectMtx[2][1] != other.mEffectMtx[2][1] || mEffectMtx[2][2] != other.mEffectMtx[2][2] || mEffectMtx[2][3] != other.mEffectMtx[2][3] || mEffectMtx[3][0] != other.mEffectMtx[3][0] || mEffectMtx[3][1] != other.mEffectMtx[3][1] || mEffectMtx[3][2] != other.mEffectMtx[3][2] || mEffectMtx[3][3] != other.mEffectMtx[3][3] ) { return false; } if ( mCenter.x != other.mCenter.x || mCenter.y != other.mCenter.y || mCenter.z != other.mCenter.z ) { return false; } return true; } J3DTexMtxInfo& J3DTexMtxInfo::operator=(J3DTexMtxInfo const& param_0) { mProjection = param_0.mProjection; mInfo = param_0.mInfo; JMath::gekko_ps_copy3(&mCenter, ¶m_0.mCenter); mSRT = param_0.mSRT; JMath::gekko_ps_copy16(&mEffectMtx, ¶m_0.mEffectMtx); return *this; } // Helper functions to set float literal order static f32 dummyLiteralOrder() { return 1.0f; } void J3DTexMtxInfo::setEffectMtx(Mtx param_0) { #ifdef __MWERKS__ JMath::gekko_ps_copy12(&mEffectMtx, param_0); register f32 zero = 0.0f; register f32* mtx = (f32*)mEffectMtx; asm { psq_st zero, 0x30(mtx), 0, 0 }; mEffectMtx[3][2] = 0.0f; mEffectMtx[3][3] = 1.0f; #else JMath::gekko_ps_copy12(&mEffectMtx, param_0); mEffectMtx[3][0] = 0.0f; mEffectMtx[3][1] = 0.0f; mEffectMtx[3][2] = 0.0f; mEffectMtx[3][3] = 1.0f; #endif } J3DIndTexMtxInfo& J3DIndTexMtxInfo::operator=(J3DIndTexMtxInfo const& param_0) { JMath::gekko_ps_copy6(field_0x0, param_0.field_0x0); field_0x18 = param_0.field_0x18; return *this; } bool J3DFogInfo::operator==(J3DFogInfo& other) const { if (mType == other.mType && mAdjEnable == other.mAdjEnable && mCenter == other.mCenter && mStartZ == other.mStartZ && mEndZ == other.mEndZ && mNearZ == other.mNearZ && mFarZ == other.mFarZ && mColor.r == other.mColor.r && mColor.g == other.mColor.g && mColor.b == other.mColor.b && mColor.a == other.mColor.a ) { for (int i = 0; i < 10; i++) { if (mFogAdjTable.r[i] != other.mFogAdjTable.r[i]) { return false; } } return true; } return false; } J3DFogInfo& J3DFogInfo::operator=(const J3DFogInfo& param_0) { mType = param_0.mType; mAdjEnable = param_0.mAdjEnable; mCenter = param_0.mCenter; mStartZ = param_0.mStartZ; mEndZ = param_0.mEndZ; mNearZ = param_0.mNearZ; mFarZ = param_0.mFarZ; mColor.r = param_0.mColor.r; mColor.g = param_0.mColor.g; mColor.b = param_0.mColor.b; mColor.a = param_0.mColor.a; for (int i = 0; i < 10; i++) { mFogAdjTable.r[i] = param_0.mFogAdjTable.r[i]; } return *this; } bool J3DNBTScaleInfo::operator==(const J3DNBTScaleInfo& other) const { if (mbHasScale == other.mbHasScale && mScale.x == other.mScale.x && mScale.y == other.mScale.y && mScale.z == other.mScale.z ) { return true; } return false; } J3DNBTScaleInfo& J3DNBTScaleInfo::operator=(const J3DNBTScaleInfo& other) { mbHasScale = other.mbHasScale; mScale.x = other.mScale.x; mScale.y = other.mScale.y; mScale.z = other.mScale.z; return *this; }