From cf0c393514fac218c965575746d537dfb6320eef Mon Sep 17 00:00:00 2001 From: refraction Date: Thu, 9 Apr 2009 20:15:01 +0000 Subject: [PATCH] Fixed Outlaw Tennis error on the loading bar, as a strange side effect, this fixes the missing textures in Crash N Burn too. What is more annoying is this code use to be in the emulator ages ago (before processing skipping) and it was removed as we didn't think it actually had a use! :D git-svn-id: http://pcsx2.googlecode.com/svn/trunk@933 96395faa-99c1-11dd-bbfe-3dabce05a288 --- pcsx2/VifDma.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pcsx2/VifDma.cpp b/pcsx2/VifDma.cpp index cd7866e224..099470d993 100644 --- a/pcsx2/VifDma.cpp +++ b/pcsx2/VifDma.cpp @@ -328,6 +328,16 @@ static void ProcessMemSkip(int size, unsigned int unpackType, const unsigned int break; } + //Append any skips in to the equasion + + if (vifRegs->cycle.cl > vifRegs->cycle.wl) + { + VIFUNPACK_LOG("Old addr %x CL %x WL %x", vif->tag.addr, vifRegs->cycle.cl, vifRegs->cycle.wl); + vif->tag.addr += (size / (unpack->gsize*vifRegs->cycle.wl)) * ((vifRegs->cycle.cl - vifRegs->cycle.wl)*16); + VIFUNPACK_LOG("New addr %x CL %x WL %x", vif->tag.addr, vifRegs->cycle.cl, vifRegs->cycle.wl); + } + + if ((vif->tag.addr & 0xf) == unpack->gsize) { vif->tag.addr += 16 - unpack->gsize;