summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSND\edgbla_cp <SND\edgbla_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2013-03-19 21:32:10 +0000
committerSND\edgbla_cp <SND\edgbla_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2013-03-19 21:32:10 +0000
commit8ca0520d76626f64dbcf8c1c176045067bba9980 (patch)
treeaa4e4212217795bdae905a85559b2667545a94f7
parent355a94d2d7b5300a92eb553cd66ee617942ac5a1 (diff)
downloadpcsxr-8ca0520d76626f64dbcf8c1c176045067bba9980.tar.gz
Patch 14090 (KrossX2);
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@83651 e17a0e51-4ae3-4d35-97c3-1a29b211df97
-rwxr-xr-xplugins/peopsxgl/draw.c3
-rwxr-xr-xplugins/peopsxgl/externals.h1
-rwxr-xr-xplugins/peopsxgl/gpu.c15
-rwxr-xr-xwin32/plugins/peopsxgl/gpuPeopsOpenGL.rc10
-rwxr-xr-xwin32/plugins/peopsxgl/resource.h1
-rwxr-xr-xwin32/plugins/peopsxgl/winsrc/cfg.c9
6 files changed, 28 insertions, 11 deletions
diff --git a/plugins/peopsxgl/draw.c b/plugins/peopsxgl/draw.c
index a779af27..fd8f4c46 100755
--- a/plugins/peopsxgl/draw.c
+++ b/plugins/peopsxgl/draw.c
@@ -95,7 +95,8 @@ BOOL bIsFirstFrame = TRUE;
int iResX;
int iResY;
-BOOL bKeepRatio = FALSE;
+BOOL bKeepRatio = FALSE;
+BOOL bForceRatio43 = FALSE;
RECT rRatioRect;
// psx mask related vars
diff --git a/plugins/peopsxgl/externals.h b/plugins/peopsxgl/externals.h
index 4d4aea16..e793549e 100755
--- a/plugins/peopsxgl/externals.h
+++ b/plugins/peopsxgl/externals.h
@@ -224,6 +224,7 @@ extern HINSTANCE hInst;
extern int iResX;
extern int iResY;
extern BOOL bKeepRatio;
+extern BOOL bForceRatio43;
extern RECT rRatioRect;
extern BOOL bSnapShot;
extern BOOL bSmallAlpha;
diff --git a/plugins/peopsxgl/gpu.c b/plugins/peopsxgl/gpu.c
index 84d54bcb..d022d19e 100755
--- a/plugins/peopsxgl/gpu.c
+++ b/plugins/peopsxgl/gpu.c
@@ -169,7 +169,7 @@ short imageY0,imageY1;
BOOL bDisplayNotSet = TRUE;
GLuint uiScanLine=0;
int iUseScanLines=0;
-float iScanlineColor[] = {0,0,0, 0.3}; // easy on the eyes.
+float iScanlineColor[] = {0,0,0, 0.3f}; // easy on the eyes.
int lSelectedSlot=0;
unsigned char * pGfxCardScreen=0;
int iBlurBuffer=0;
@@ -1799,17 +1799,20 @@ void ChangeDispOffsetsY(void) // CENTER Y
void SetAspectRatio(void)
{
- float xs,ys,s;RECT r;
+ float xs,ys,s,resx,resy;RECT r;
if(!PSXDisplay.DisplayModeNew.x) return;
if(!PSXDisplay.DisplayModeNew.y) return;
- xs=(float)iResX/(float)PSXDisplay.DisplayModeNew.x;
- ys=(float)iResY/(float)PSXDisplay.DisplayModeNew.y;
+ resx = bForceRatio43 ? 640.0f : (float)PSXDisplay.DisplayModeNew.x;
+ resy = bForceRatio43 ? 480.0f : (float)PSXDisplay.DisplayModeNew.y;
+
+ xs=(float)iResX/resx;
+ ys=(float)iResY/resy;
s=min(xs,ys);
- r.right =(int)((float)PSXDisplay.DisplayModeNew.x*s);
- r.bottom=(int)((float)PSXDisplay.DisplayModeNew.y*s);
+ r.right =(int)(resx*s);
+ r.bottom=(int)(resy*s);
if(r.right > iResX) r.right = iResX;
if(r.bottom > iResY) r.bottom = iResY;
if(r.right < 1) r.right = 1;
diff --git a/win32/plugins/peopsxgl/gpuPeopsOpenGL.rc b/win32/plugins/peopsxgl/gpuPeopsOpenGL.rc
index 1f6d8b59..7799f964 100755
--- a/win32/plugins/peopsxgl/gpuPeopsOpenGL.rc
+++ b/win32/plugins/peopsxgl/gpuPeopsOpenGL.rc
@@ -165,18 +165,18 @@ BEGIN
COMBOBOX IDC_COLORDEPTH,261,10,36,64,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
EDITTEXT IDC_WINX,150,24,26,12,ES_AUTOHSCROLL
EDITTEXT IDC_WINY,187,24,26,12,ES_AUTOHSCROLL
- CONTROL "Keep psx aspect ratio",IDC_ARATIO,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,306,17,95,12
+ CONTROL "Keep psx aspect ratio",IDC_ARATIO,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,306,11,95,12
COMBOBOX IDC_TEXQUALITY,61,50,159,64,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
COMBOBOX IDC_FILTERTYPE,61,63,159,83,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
COMBOBOX IDC_HIRESTEX,275,50,129,64,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
COMBOBOX IDC_VRAMSIZE,275,63,62,88,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP
- CONTROL "Show FPS display on startup",IDC_SHOWFPS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,94,107,10
+ CONTROL "Show FPS display on startup",IDC_SHOWFPS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,94,104,10
PUSHBUTTON "...",IDC_KEYCONFIG,119,94,11,10,0,WS_EX_STATICEDGE
CONTROL "Use FPS limit",IDC_USELIMIT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,149,89,73,10
CONTROL "Use Frame skipping",IDC_USESKIP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,149,101,78,10
CONTROL "Auto-detect FPS/Frame skipping limit",IDC_FRAMEAUTO,
"Button",BS_AUTORADIOBUTTON | WS_GROUP,258,89,131,9
- CONTROL "FPS limit (10-200) :",IDC_FRAMEMANUELL,"Button",BS_AUTORADIOBUTTON,258,100,72,10
+ CONTROL "FPS limit (10-200) :",IDC_FRAMEMANUELL,"Button",BS_AUTORADIOBUTTON,258,101,72,10
EDITTEXT IDC_FRAMELIMIT,334,99,29,12,ES_AUTOHSCROLL
COMBOBOX IDC_OFFSCREEN,78,123,130,64,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
COMBOBOX IDC_FRAMETEX,78,136,130,64,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
@@ -220,7 +220,7 @@ BEGIN
LTEXT "Small speed up with mdecs",IDC_STATIC,135,196,242,9,SS_CENTERIMAGE
LTEXT "Polygons will not get filled",IDC_STATIC,135,186,89,9,SS_CENTERIMAGE
LTEXT "TV screen alike lines",IDC_STATIC,135,176,69,9,SS_CENTERIMAGE
- LTEXT "Accurate psx color emulation",IDC_STATIC,303,149,97,9,SS_CENTERIMAGE
+ LTEXT "Accurate psx color emulation",IDC_STATIC,302,149,97,9,SS_CENTERIMAGE
LTEXT "Correct opaque texture areas",IDC_STATIC,302,127,97,9,SS_CENTERIMAGE
LTEXT "Needed by a few games",IDC_STATIC,302,138,97,9,SS_CENTERIMAGE
RTEXT "Scanline brightness (0...255, -1=Monitor dot matrix):",IDC_STATIC,210,176,162,9,SS_CENTERIMAGE
@@ -234,6 +234,8 @@ BEGIN
COMBOBOX IDC_VSYNC,261,24,36,64,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
RTEXT "V-Sync:",IDC_STATIC,219,26,39,9,SS_CENTERIMAGE
CONTROL "Gte accuracy",IDC_GTEACCURACY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,256,59,10
+ LTEXT "Higher GTE precision that can improve vertex positioning (ie less polygon shaking)",IDC_STATIC,135,256,262,9,SS_CENTERIMAGE
+ CONTROL "Force 4:3 aspect ratio",IDC_ARATIO43,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,306,25,95,12
END
IDD_FIXES DIALOG DISCARDABLE 0, 0, 316, 322
diff --git a/win32/plugins/peopsxgl/resource.h b/win32/plugins/peopsxgl/resource.h
index c30e0fb4..82463988 100755
--- a/win32/plugins/peopsxgl/resource.h
+++ b/win32/plugins/peopsxgl/resource.h
@@ -89,6 +89,7 @@
#define IDC_F14_STATIC3 1083
#define IDC_F14_STATIC4 1084
#define IDC_F14_STATIC5 1085
+#define IDC_ARATIO43 1086
#define IDC_FIX1 2038
#define IDC_FIX2 2039
#define IDC_FIX3 2040
diff --git a/win32/plugins/peopsxgl/winsrc/cfg.c b/win32/plugins/peopsxgl/winsrc/cfg.c
index eef8f650..46629f8f 100755
--- a/win32/plugins/peopsxgl/winsrc/cfg.c
+++ b/win32/plugins/peopsxgl/winsrc/cfg.c
@@ -339,6 +339,9 @@ void GetSettings(HWND hW)
if(IsDlgButtonChecked(hW,IDC_ARATIO))
bKeepRatio=TRUE; else bKeepRatio=FALSE;
+ if(IsDlgButtonChecked(hW,IDC_ARATIO43))
+ bForceRatio43=TRUE; else bForceRatio43=FALSE;
+
if(IsDlgButtonChecked(hW,IDC_BLUR))
iBlurBuffer=1; else iBlurBuffer=0;
@@ -617,6 +620,7 @@ void ReadConfig(void) // read all config vals
iFrameReadType=0;
iShowFPS=0;
bKeepRatio=FALSE;
+ bForceRatio43=FALSE;
iScanBlend=0;
iVRamSize=0;
iTexGarbageCollection=1;
@@ -732,6 +736,9 @@ void ReadConfig(void) // read all config vals
if(RegQueryValueEx(myKey,"KeepRatio",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS)
bKeepRatio=(BOOL)temp;
size = 4;
+ if(RegQueryValueEx(myKey,"ForceRatio43",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS)
+ bForceRatio43=(BOOL)temp;
+ size = 4;
if(RegQueryValueEx(myKey,"ScanBlend",0,&type,(LPBYTE)&temp,&size)==ERROR_SUCCESS)
iScanBlend=(int)temp;
size = 4;
@@ -874,6 +881,8 @@ void WriteConfig(void)
RegSetValueEx(myKey,"FrameReadType",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp));
temp=bKeepRatio;
RegSetValueEx(myKey,"KeepRatio",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp));
+ temp=bForceRatio43;
+ RegSetValueEx(myKey,"ForceRatio43",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp));
temp=iBlurBuffer;
RegSetValueEx(myKey,"FullscreenBlur",0,REG_DWORD,(LPBYTE) &temp,sizeof(temp));
temp=iHiResTextures;