From 9d6b4df9ad80b6da3f5e1222bc0bf690b2664dfd Mon Sep 17 00:00:00 2001 From: Daveo Date: Mon, 21 May 2001 16:05:09 +0000 Subject: [PATCH] --- source/gfx/actor.cpp | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/source/gfx/actor.cpp b/source/gfx/actor.cpp index 1137debf3..4b46b2f54 100644 --- a/source/gfx/actor.cpp +++ b/source/gfx/actor.cpp @@ -807,12 +807,26 @@ int TriCount=Model->TriCount; sTri *TList=&ModelTriList[Model->TriStart]; MATRIX Mtx; - if (Scale) - SetIdentNoTrans(&Mtx,Scale); +// If has scale && angle then need to use PSX scale matrix, otherwise, force values + if (Angle) + { + RotMatrix_gte(Angle,&Mtx); + if (Scale) + { + ScaleMatrix(&Mtx,Scale); + } + } else + { + if (Scale) + { + SetIdentNoTrans(&Mtx,Scale); + } + else + { SetIdentNoTrans(&Mtx); - - if (Angle) RotMatrix(Angle,&Mtx); + } + } MapXY.vx=Pos.vx>>4; MapXY.vy=Pos.vy>>4;