diff options
| author | Jasper St. Pierre <jstpierre@mecheye.net> | 2023-12-30 18:20:19 -0800 |
|---|---|---|
| committer | Jasper St. Pierre <jstpierre@mecheye.net> | 2023-12-30 18:20:19 -0800 |
| commit | 9c9580705b70d1c2c06991d57ffff492bb07b046 (patch) | |
| tree | 3905e144fb9bd993bddab5499f98ae84466c9ab3 /src/JSystem/J3DGraphBase/J3DTransform.cpp | |
| parent | 67dd323c7f0a3a50af0b42a5524ae2a24448e770 (diff) | |
J3DScaleNrmMtx33
Diffstat (limited to 'src/JSystem/J3DGraphBase/J3DTransform.cpp')
| -rw-r--r-- | src/JSystem/J3DGraphBase/J3DTransform.cpp | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/src/JSystem/J3DGraphBase/J3DTransform.cpp b/src/JSystem/J3DGraphBase/J3DTransform.cpp index cb9c980f..a7da51f9 100644 --- a/src/JSystem/J3DGraphBase/J3DTransform.cpp +++ b/src/JSystem/J3DGraphBase/J3DTransform.cpp @@ -271,7 +271,33 @@ void J3DScaleNrmMtx(register Mtx mtx, const register Vec& scl) { /* 802DAB68-802DABBC .text J3DScaleNrmMtx33__FPA3_fRC3Vec */ void J3DScaleNrmMtx33(register Mtx33 mtx, const register Vec& scl) { - /* Nonmatching */ + register f32 mtx0_xy, mtx0_z_; + register f32 mtx1_xy, mtx1_z_; + register f32 mtx2_xy, mtx2_z_; + register f32 scl__xy, scl__z_; + + asm { + psq_l mtx0_xy, 0(mtx), 0, 0 + psq_l scl__xy, 0(scl), 0, 0 + lfs mtx0_z_, 8(mtx) + lfs scl__z_, 8(scl) + ps_mul mtx0_xy, mtx0_xy, scl__xy + psq_l mtx1_xy, 12(mtx), 0, 0 + fmuls mtx0_z_, mtx0_z_, scl__z_ + lfs mtx1_z_, 20(mtx) + ps_mul mtx1_xy, mtx1_xy, scl__xy + psq_l mtx2_xy, 24(mtx), 0, 0 + fmuls mtx1_z_, mtx1_z_, scl__z_ + lfs mtx2_z_, 32(mtx) + ps_mul mtx2_xy, mtx2_xy, scl__xy + psq_st mtx0_xy, 0(mtx), 0, 0 + fmuls mtx2_z_, mtx2_z_, scl__z_ + stfs mtx0_z_, 8(mtx) + psq_st mtx1_xy, 12(mtx), 0, 0 + stfs mtx1_z_, 20(mtx) + psq_st mtx2_xy, 24(mtx), 0, 0 + stfs mtx2_z_, 32(mtx) + } } /* 802DABBC-802DACE0 .text J3DMtxProjConcat__FPA4_fPA4_fPA4_f */ |
