From ef79bbde537d6b9c745a7d86cb9df1d04c35590d Mon Sep 17 00:00:00 2001 From: PCSX* teams Date: Tue, 16 Nov 2010 14:15:22 +0200 Subject: pcsxr-1.9.92 --- plugins/peopsxgl/cfg.c | 249 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 249 insertions(+) create mode 100644 plugins/peopsxgl/cfg.c (limited to 'plugins/peopsxgl/cfg.c') diff --git a/plugins/peopsxgl/cfg.c b/plugins/peopsxgl/cfg.c new file mode 100644 index 0000000..3dcd0ab --- /dev/null +++ b/plugins/peopsxgl/cfg.c @@ -0,0 +1,249 @@ +/*************************************************************************** + cfg.c - description + ------------------- + begin : Sun Mar 08 2009 + copyright : (C) 1999-2009 by Pete Bernert + web : www.pbernert.com + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. See also the license.txt file for * + * additional informations. * + * * + ***************************************************************************/ + +//*************************************************************************// +// History of changes: +// +// 2009/03/08 - Pete +// - generic cleanup for the Peops release +// +//*************************************************************************// + +#define _IN_CFG + +#include "stdafx.h" +#include "externals.h" +#include "cfg.h" + +char *pConfigFile = NULL; + +void ReadConfigFile() +{ + FILE *in = NULL; + int len; + char *pB, *p, t[256]; + + if (pConfigFile != NULL) + in = fopen(pConfigFile, "rb"); + else + in = fopen("gpuPeopsMesaGL.cfg", "rb"); + + if (in == NULL) return; + + pB=(char *)malloc(32767); // buffer for reading config (32k) + memset(pB, 0, 32767); + + len = fread(pB, 1, 32767, in); // read config in buffer + fclose(in); // close config file + + strcpy(t,"\nResX");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} + if(p) iResX=atoi(p+len); + if(iResX<10) iResX=10; + + strcpy(t,"\nResY");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} + if(p) iResY=atoi(p+len); + if(iResY<10) iResY=10; + + strcpy(t,"\nKeepRatio");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} + if(p) bKeepRatio=atoi(p+len); + if(bKeepRatio<0) bKeepRatio=0; + if(bKeepRatio>1) bKeepRatio=1; + + strcpy(t,"\nScreenSmoothing");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} + if(p) iBlurBuffer=atoi(p+len); + if(iBlurBuffer<0) iBlurBuffer=0; + if(iBlurBuffer>1) iBlurBuffer=1; + + strcpy(t,"\nHiResTextures");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} + if(p) iHiResTextures=atoi(p+len); + if(iHiResTextures<0) iHiResTextures=0; + if(iHiResTextures>2) iHiResTextures=2; + + iSortTexCnt =0; + strcpy(t,"\nVRamSize");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} + if(p) iVRamSize=atoi(p+len); + if(iVRamSize<0) iVRamSize=0; + if(iVRamSize>1024) iVRamSize=1024; + + strcpy(t,"\nFullScreen");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} + if(p) bFullScreen=atoi(p+len); + if(bFullScreen>1) bFullScreen=1; + + strcpy(t,"\nScanLines");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} + if(p) iUseScanLines=atoi(p+len); + if(iUseScanLines<0) iUseScanLines=0; + if(iUseScanLines>1) iUseScanLines=1; + + strcpy(t,"\nScanLinesBlend");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} + if(p) iScanBlend=atoi(p+len); + if(iScanBlend<-1) iScanBlend=-1; + if(iScanBlend>255) iScanBlend=255; + + strcpy(t,"\nFrameTextures");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} + if(p) iFrameTexType=atoi(p+len); + if(iFrameTexType<0) iFrameTexType=0; + if(iFrameTexType>3) iFrameTexType=3; + + strcpy(t,"\nFrameAccess");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} + if(p) iFrameReadType=atoi(p+len); + if(iFrameReadType<0) iFrameReadType=0; + if(iFrameReadType>4) iFrameReadType=4; + if(iFrameReadType==4) bFullVRam=TRUE; + else bFullVRam=FALSE; + + strcpy(t,"\nTexFilter");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} + if(p) iFilterType=atoi(p+len); + if(iFilterType<0) iFilterType=0; + if(iFilterType>6) iFilterType=6; + + strcpy(t,"\nAdvancedBlend");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} + if(p) bAdvancedBlend=atoi(p+len); + if(bAdvancedBlend<0) bAdvancedBlend=0; + if(bAdvancedBlend>1) bAdvancedBlend=1; + + strcpy(t,"\nDithering");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} + if(p) bDrawDither=atoi(p+len); + if(bDrawDither<0) bDrawDither=0; + if(bDrawDither>1) bDrawDither=1; + + strcpy(t,"\nLineMode");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} + if(p) bUseLines=atoi(p+len); + if(bUseLines<0) bUseLines=0; + if(bUseLines>1) bUseLines=1; + + strcpy(t,"\nShowFPS");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} + if(p) iShowFPS=atoi(p+len); + if(iShowFPS<0) iShowFPS=0; + if(iShowFPS>1) iShowFPS=1; + + strcpy(t,"\nUseFrameLimit");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} + if(p) bUseFrameLimit=atoi(p+len); + if(bUseFrameLimit<0) bUseFrameLimit=0; + if(bUseFrameLimit>1) bUseFrameLimit=1; + + strcpy(t,"\nUseFrameSkip");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} + if(p) bUseFrameSkip=atoi(p+len); + if(bUseFrameSkip<0) bUseFrameSkip=0; + if(bUseFrameSkip>1) bUseFrameSkip=1; + + strcpy(t,"\nFPSDetection");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} + if(p) iFrameLimit=atoi(p+len)+1; + if(iFrameLimit<1) iFrameLimit=1; + if(iFrameLimit>2) iFrameLimit=2; + + strcpy(t,"\nFrameRate");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} + if(p) fFrameRate=(float)atof(p+len); + if(fFrameRate<0.0f) fFrameRate=0.0f; + if(fFrameRate>1000.0f) fFrameRate=1000.0f; + + strcpy(t,"\nOffscreenDrawing");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} + if(p) iOffscreenDrawing=atoi(p+len); + if(iOffscreenDrawing<0) iOffscreenDrawing=0; + if(iOffscreenDrawing>4) iOffscreenDrawing=4; + + strcpy(t,"\nOpaquePass");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} + if(p) bOpaquePass=atoi(p+len); + if(bOpaquePass<0) bOpaquePass=0; + if(bOpaquePass>1) bOpaquePass=1; + + strcpy(t,"\nAntiAlias");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} + if(p) bUseAntiAlias=atoi(p+len); + if(bUseAntiAlias<0) bUseAntiAlias=0; + if(bUseAntiAlias>1) bUseAntiAlias=1; + + strcpy(t,"\nTexQuality");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} + if(p) iTexQuality=atoi(p+len); + if(iTexQuality<0) iTexQuality=0; + if(iTexQuality>4) iTexQuality=4; + + strcpy(t,"\n15bitMdec");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} + if(p) bUse15bitMdec=atoi(p+len); + if(bUse15bitMdec<0) bUse15bitMdec=0; + if(bUse15bitMdec>1) bUse15bitMdec=1; + + strcpy(t,"\nMaskDetect");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} + if(p) iUseMask=atoi(p+len); + if(iUseMask<0) iUseMask=0; + if(iUseMask>1) iUseMask=1; + + strcpy(t,"\nFastMdec");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} + if(p) bUseFastMdec=atoi(p+len); + if(bUseFastMdec<0) bUseFastMdec=0; + if(bUseFastMdec>1) bUseFastMdec=1; + + strcpy(t,"\nCfgFixes");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} + if(p) dwCfgFixes=atoi(p+len); + + strcpy(t,"\nUseFixes");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} + if(p) bUseFixes=atoi(p+len); + if(bUseFixes<0) bUseFixes=0; + if(bUseFixes>1) bUseFixes=1; + + strcpy(t,"\nOGLExtensions");p=strstr(pB,t);if(p) {p=strstr(p,"=");len=1;} + if(p) iUseExts=atoi(p+len); + if(iUseExts>1) iUseExts=1; + + free(pB); +} + +void ReadConfig(void) // read config (linux file) +{ + iResX=640; + iResY=480; + iColDepth=16; + bChangeRes=FALSE; + bWindowMode=TRUE; + iUseScanLines=0; + bFullScreen=FALSE; + bFullVRam=FALSE; + iFilterType=0; + bAdvancedBlend=FALSE; + bDrawDither=FALSE; + bUseLines=FALSE; + bUseFrameLimit=TRUE; + bUseFrameSkip=FALSE; + iFrameLimit=2; + fFrameRate=200.0f; + iOffscreenDrawing=2; + bOpaquePass=TRUE; + bUseAntiAlias=FALSE; + iTexQuality=0; + iUseMask=0; + iZBufferDepth=0; + bUseFastMdec=TRUE; + dwCfgFixes=0; + bUseFixes=FALSE; + iFrameTexType=1; + iFrameReadType=0; + bUse15bitMdec=FALSE; + iShowFPS=0; + bKeepRatio=FALSE; + iScanBlend=0; + iVRamSize=0; + iTexGarbageCollection=1; + iBlurBuffer=0; + iHiResTextures=0; + iForceVSync=-1; + + ReadConfigFile(); // read file + + if(!iColDepth) iColDepth=32; // adjust color info + if(iUseMask) iZBufferDepth=16; // set zbuffer depth + else iZBufferDepth=0; + if(bUseFixes) dwActFixes=dwCfgFixes; // init game fix global +} -- cgit v1.2.3