Why use it
Fixed-point inputs keep console behavior deterministic and avoid software floating-point work.
PSYQO SDK
Function · 2 overloads
Multiply a 3x3 matrix by a 3D vector, returning only the z component.
FixedPoint<> matrixVecMul3z(const Matrix33 &m, const Vec3 &v)Multiply a 3x3 matrix by a 3D vector, returning only the z component.
| Parameter | Type | Meaning |
|---|---|---|
m | const Matrix33 & | The matrix. |
v | const Vec3 & | The vector. |
Returns: FixedPoint<> — FixedPoint<> The z component of the result.
#include "psyqo/soft-math.hh"
// Assume these named values have been initialized with valid data:
// const Matrix33 & m
// const Vec3 & v
auto result = psyqo::SoftMath::matrixVecMul3z(m, v);Fixed-point inputs keep console behavior deterministic and avoid software floating-point work.
Stay within the documented range and account for quantization before chaining several operations. Pointer/reference arguments are borrowed unless the source contract says otherwise; keep them valid for the complete operation and never assume null is accepted.
Declared in https://github.com/pcsx-redux/nugget/blob/6186b131aacc5853a9161fb076ed34ffe504552d/psyqo/soft-math.hh:134
static inline FixedPoint<> matrixVecMul3z(const Matrix33 *m, const Vec3 *v)Performs `matrix vec mul3z` as part of the soft math module.
| Parameter | Type | Meaning |
|---|---|---|
m | const Matrix33 * | Value supplied for m. Keep referenced or pointed-to data valid for the complete call. |
v | const Vec3 * | Value supplied for v. Keep referenced or pointed-to data valid for the complete call. |
Returns: FixedPoint<>. Check the value before continuing when it represents success, availability or a resource handle.
#include "psyqo/soft-math.hh"
// Assume these named values have been initialized with valid data:
// const Matrix33 * m
// const Vec3 * v
auto result = psyqo::SoftMath::matrixVecMul3z(m, v);Fixed-point inputs keep console behavior deterministic and avoid software floating-point work.
Stay within the documented range and account for quantization before chaining several operations. Pointer/reference arguments are borrowed unless the source contract says otherwise; keep them valid for the complete operation and never assume null is accepted.
Declared in https://github.com/pcsx-redux/nugget/blob/6186b131aacc5853a9161fb076ed34ffe504552d/psyqo/soft-math.hh:135
adler32Computes the adler32 checksum of a buffer.Functionadler32_bytesComputes the adler32 checksum of a buffer, only reading bytes.Functionadler32_wordsComputes the adler32 checksum of a buffer, optimized for words.Functionavsz3AVSZ3 - Average of three Z values (for Triangles) zsf3 * (sz0 + sz1 + sz2) -> otz 5 cyclesFunctionavsz4AVSZ4 - Average of four Z values (for Quads) zsf4 * (sz0 + sz1 + sz2 + sz4) -> otz 6 cyclesFunctionbtoiPerforms `btoi` as part of the msf module.FunctionclearClear a GTE register.Function templatecubicCubic Bezier curve helper function.FunctiondDivPerforms `d div` as part of the fixed point module.FunctioniDivPerforms `i div` as part of the fixed point module.Functionoperator""_fpUser-defined literal for constructing a 20.12 fixed point number.FunctionprintIntPerforms `print int` as part of the fixed point module.Function