From 3590d210f3c0dde8d071f7cb7f87110c1edec72c Mon Sep 17 00:00:00 2001
From: StapleButter <thetotalworm@gmail.com>
Date: Tue, 21 Mar 2017 12:52:17 +0100
Subject: always apply matrix push/pop/store/restore to the vector matrix
 stack, even in mode 1. fixes SM64DS lighting.

---
 src/GPU3D.cpp | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

(limited to 'src')

diff --git a/src/GPU3D.cpp b/src/GPU3D.cpp
index bbf9a16..939cb8a 100644
--- a/src/GPU3D.cpp
+++ b/src/GPU3D.cpp
@@ -1168,8 +1168,7 @@ void ExecuteCommand()
                 }
 
                 memcpy(PosMatrixStack[PosMatrixStackPointer], PosMatrix, 16*4);
-                if (MatrixMode == 2)
-                    memcpy(VecMatrixStack[PosMatrixStackPointer], VecMatrix, 16*4);
+                memcpy(VecMatrixStack[PosMatrixStackPointer], VecMatrix, 16*4);
                 PosMatrixStackPointer++;
                 GXStat |= (1<<14);
             }
@@ -1217,8 +1216,7 @@ void ExecuteCommand()
                 }
 
                 memcpy(PosMatrix, PosMatrixStack[PosMatrixStackPointer], 16*4);
-                if (MatrixMode == 2)
-                    memcpy(VecMatrix, VecMatrixStack[PosMatrixStackPointer], 16*4);
+                memcpy(VecMatrix, VecMatrixStack[PosMatrixStackPointer], 16*4);
                 GXStat |= (1<<14);
                 ClipMatrixDirty = true;
             }
@@ -1244,8 +1242,7 @@ void ExecuteCommand()
                 }
 
                 memcpy(PosMatrixStack[addr], PosMatrix, 16*4);
-                if (MatrixMode == 2)
-                    memcpy(VecMatrixStack[addr], VecMatrix, 16*4);
+                memcpy(VecMatrixStack[addr], VecMatrix, 16*4);
             }
             break;
 
@@ -1270,8 +1267,7 @@ void ExecuteCommand()
                 }
 
                 memcpy(PosMatrix, PosMatrixStack[addr], 16*4);
-                if (MatrixMode == 2)
-                    memcpy(VecMatrix, VecMatrixStack[addr], 16*4);
+                memcpy(VecMatrix, VecMatrixStack[addr], 16*4);
                 ClipMatrixDirty = true;
             }
             break;
-- 
cgit v1.2.3