MCPcopy Create free account
hub / github.com/DaedalusX64/daedalus / SetDKRMat

Method SetDKRMat

Source/HLEGraphics/BaseRenderer.cpp:2067–2095  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2065//
2066
2067void BaseRenderer::SetDKRMat(const u32 address, bool mul, u32 idx)
2068{
2069 mDKRMatIdx = idx;
2070 mWPmodified = true;
2071
2072 if( mul )
2073 {
2074 MatrixFromN64FixedPoint( mTempMat, address );
2075 MatrixMultiplyAligned( &mModelViewStack[idx], &mTempMat, &mModelViewStack[0] );
2076 }
2077 else
2078 {
2079 MatrixFromN64FixedPoint( mModelViewStack[idx], address );
2080 }
2081
2082#ifdef DAEDALUS_DEBUG_DISPLAYLIST
2083 const Matrix4x4 & mtx( mModelViewStack[idx] );
2084 DL_PF(" Mtx_DKR: Index %d %s Address 0x%08x\n"
2085 " %#+12.5f %#+12.5f %#+12.5f %#+12.5f\n"
2086 " %#+12.5f %#+12.5f %#+12.5f %#+12.5f\n"
2087 " %#+12.5f %#+12.5f %#+12.5f %#+12.5f\n"
2088 " %#+12.5f %#+12.5f %#+12.5f %#+12.5f\n",
2089 idx, mul ? "Mul" : "Load", address,
2090 mtx.m[0][0], mtx.m[0][1], mtx.m[0][2], mtx.m[0][3],
2091 mtx.m[1][0], mtx.m[1][1], mtx.m[1][2], mtx.m[1][3],
2092 mtx.m[2][0], mtx.m[2][1], mtx.m[2][2], mtx.m[2][3],
2093 mtx.m[3][0], mtx.m[3][1], mtx.m[3][2], mtx.m[3][3]);
2094#endif
2095}
2096
2097//
2098

Callers 2

DLParser_Mtx_DKRFunction · 0.80
DLParser_Mtx_DKRFunction · 0.80

Calls 2

MatrixFromN64FixedPointFunction · 0.85
MatrixMultiplyAlignedFunction · 0.85

Tested by

no test coverage detected