diff options
| author | MegaMech <inkstudios1@hotmail.com> | 2025-05-17 16:23:57 -0600 |
|---|---|---|
| committer | MegaMech <inkstudios1@hotmail.com> | 2025-05-17 16:23:57 -0600 |
| commit | 640b8976ee6c657733bd8fd706a37d1757be5ec0 (patch) | |
| tree | a747957c8d8ecc2828cf9bb3595849fafae46f87 /src | |
| parent | 6bcd9897dc2571c6267d2dad84abaed63eb1e4c4 (diff) | |
Compile setTransformMatrix
Diffstat (limited to 'src')
| -rw-r--r-- | src/port/interpolation/FrameInterpolation.cpp | 26 |
1 files changed, 9 insertions, 17 deletions
diff --git a/src/port/interpolation/FrameInterpolation.cpp b/src/port/interpolation/FrameInterpolation.cpp index 65de693a4..14f391cc6 100644 --- a/src/port/interpolation/FrameInterpolation.cpp +++ b/src/port/interpolation/FrameInterpolation.cpp @@ -165,8 +165,8 @@ union Data { struct { Mat4* dest; - Vec3f orientationVector; - Vec3f positionVector; + Vec3f* orientationVector; + Vec3f* positionVector; u16 rotationAngle; f32 scaleFactor; } set_transform_matrix_data; @@ -457,25 +457,17 @@ struct InterpolateCtx { } case Op::SetTransformMatrix: { - /* - Mat4 dest, Vec3f orientationVector, Vec3f positionVector, u16 rotationAngle, - f32 scaleFactor - - set_transform_matrix_data - */ - interpolate_mtxf(&tmp_mtxf, (MtxF *)&old_op.set_transform_matrix_data.dest, (MtxF *)&new_op.set_transform_matrix_data.dest); - Vec3f orientationVectorTemp; - lerp_vec3f(&orientationVectorTemp, &old_op.set_transform_matrix_data.orientationVector, - &new_op.set_transform_matrix_data.orientationVector); - Vec3f positionVector; - lerp_vec3f(&orientationVectorTemp, &old_op.set_transform_matrix_data.positionVector, - &new_op.set_transform_matrix_data.positionVector); + lerp_vec3f(&tmp_vec3f, &old_op.set_transform_matrix_data.orientationVector[0], + &new_op.set_transform_matrix_data.orientationVector[0]); + + lerp_vec3f(&tmp_vec3f2, &old_op.set_transform_matrix_data.positionVector[0], + &new_op.set_transform_matrix_data.positionVector[0]); u16 rotationAngleTemp = lerp_s16(old_op.set_transform_matrix_data.rotationAngle, new_op.set_transform_matrix_data.rotationAngle); f32 scaleFactorTemp = lerp(old_op.set_transform_matrix_data.scaleFactor, new_op.set_transform_matrix_data.scaleFactor); - set_transform_matrix(tmp_mtxf.mf, orientationVectorTemp, positionVector, rotationAngleTemp, scaleFactorTemp); + set_transform_matrix(*gInterpolationMatrix, tmp_vec3f, tmp_vec3f2, rotationAngleTemp, scaleFactorTemp); break; } @@ -612,7 +604,7 @@ void FrameInterpolation_Record_set_transform_matrix(Mat4* dest, Vec3f orientatio f32 scaleFactor) { if (!is_recording) return; - append(Op::SetTransformMatrix).set_transform_matrix_data = { dest, orientationVector[0], positionVector[0], (f32)rotationAngle, scaleFactor}; + append(Op::SetTransformMatrix).set_transform_matrix_data = { dest, (Vec3f*)&orientationVector[0], (Vec3f*)&positionVector[0], rotationAngle, scaleFactor}; } // Make a template for deref |
