From 2a497009776eed02bee220075632a02866a2dd7b Mon Sep 17 00:00:00 2001 From: refraction Date: Fri, 25 May 2012 14:24:02 +0000 Subject: [PATCH] GIF: Fix for Terminator 3 & Growlanser 2&3 collection invisible screens. *Noted small speed boosts on some games (Outrun up from 48fps to 52fps, MGS3 potentially gaining 1fps, Sega Tennis possibly 0.5fps), could be a freak occurrance tho :P git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5228 96395faa-99c1-11dd-bbfe-3dabce05a288 --- pcsx2/Gif_Unit.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pcsx2/Gif_Unit.h b/pcsx2/Gif_Unit.h index 11fe9267ea..12fcaf89f3 100644 --- a/pcsx2/Gif_Unit.h +++ b/pcsx2/Gif_Unit.h @@ -585,6 +585,15 @@ struct Gif_Unit { { stat.APATH = 3; stat.P3Q = 0; stat.IP3 = 0; gifPath[2].dmaRewind = 0; curPath = 2; } else { stat.APATH = 0; stat.OPH = 0; break; } } + + //Some loaders/Refresh Rate selectors and things dont issue "End of Packet" commands + //So we look and see if the end of the last tag is all there, if so, stick it in the buffer for the GS :) + //(Invisible Screens on Terminator 3 and Growlanser 2/3) + if(gifPath[curPath].curOffset == gifPath[curPath].curSize) + { + FlushToMTGS(); + } + Gif_FinishIRQ(); //Path3 can rewind the DMA, so we send back the amount we go back!