From 6a364aa4440964923c73cab38380cc7bf80326e2 Mon Sep 17 00:00:00 2001 From: shadowladyngemu Date: Sun, 12 Jun 2011 22:07:59 +0000 Subject: [PATCH] GSdx: Better hackfix for Dragon Ball Z Budokai Tenkaichi 3, missing body parts still happened sometimes. Thanks to miseru99 for the initial patch and testing. zzogl-pg win: Patch by Kosmos in the forums, corrects a typo that was causing window size to appear as height x height instead of width x height in windows OS (was breaking fullscreen at it too). Thanks :) git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4734 96395faa-99c1-11dd-bbfe-3dabce05a288 --- plugins/GSdx/GSState.cpp | 24 ++++++++++++++++-------- plugins/zzogl-pg/opengl/GLWin32.cpp | 2 +- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/plugins/GSdx/GSState.cpp b/plugins/GSdx/GSState.cpp index a1e21b1098..dc161c2ef7 100644 --- a/plugins/GSdx/GSState.cpp +++ b/plugins/GSdx/GSState.cpp @@ -1989,21 +1989,29 @@ bool GSC_DBZBT3(const GSFrameInfo& fi, int& skip) { skip = 28; // outline } - else if(fi.FBMSK == 0x00FFFFFF) + if(fi.FBMSK == 0x00FFFFFF) { skip = 1; } } - } - else - { - if(fi.TME && (fi.FBP == 0x00000 || fi.FBP == 0x00e00 || fi.FBP == 0x01000) && fi.FPSM == PSM_PSMCT32 && fi.TPSM == PSM_PSMT8H) + else if(fi.TME && (fi.FBP == 0x00000 || fi.FBP == 0x00e00 || fi.FBP == 0x01000) && fi.FPSM == PSM_PSMCT16 && fi.TPSM == PSM_PSMZ16) { - skip = 10; + skip = 5; + } + else if(fi.TME && fi.FPSM == fi.TPSM && fi.TBP0 == 0x03f00 && fi.TPSM == PSM_PSMCT32) + { + if (fi.FBP == 0x03400) + { + skip = 1; //PAL + } + if(fi.FBP == 0x02e00) + { + skip = 3; //NTSC + } } } - - return true; + + return true; } bool GSC_SFEX3(const GSFrameInfo& fi, int& skip) diff --git a/plugins/zzogl-pg/opengl/GLWin32.cpp b/plugins/zzogl-pg/opengl/GLWin32.cpp index e13f1edbc7..d71ca84ae0 100644 --- a/plugins/zzogl-pg/opengl/GLWin32.cpp +++ b/plugins/zzogl-pg/opengl/GLWin32.cpp @@ -209,7 +209,7 @@ bool GLWindow::DisplayWindow(int _width, int _height) rc.left = 0; rc.top = 0; - rc.right = backbuffer.h; + rc.right = backbuffer.w; rc.bottom = backbuffer.h; AdjustWindowRectEx(&rc, dwStyle, false, dwExStyle); int X = (rcdesktop.right - rcdesktop.left) / 2 - (rc.right - rc.left) / 2;