mirror of https://github.com/snes9xgit/snes9x.git
Change GLSL to use bsnes 071's unified XML files
This commit is contained in:
parent
3018f8dac0
commit
f2e5dc3136
|
@ -4,6 +4,7 @@
|
|||
#include "../gfx.h"
|
||||
#include "../display.h"
|
||||
#include "wsnes9x.h"
|
||||
#include <msxml2.h>
|
||||
|
||||
#include "../filter/hq2x.h"
|
||||
#include "../filter/2xsai.h"
|
||||
|
@ -113,7 +114,7 @@ void COpenGL::DeInitialize()
|
|||
{
|
||||
initDone = false;
|
||||
if(shaderCompiled)
|
||||
SetShaders(NULL,NULL);
|
||||
SetShaders(NULL);
|
||||
DestroyDrawSurface();
|
||||
wglMakeCurrent(NULL,NULL);
|
||||
if(hRC) {
|
||||
|
@ -304,10 +305,10 @@ bool COpenGL::ApplyDisplayChanges(void)
|
|||
if(wglSwapIntervalEXT) {
|
||||
wglSwapIntervalEXT(GUI.Vsync?1:0);
|
||||
}
|
||||
if(GUI.shaderEnabled && GUI.GLSLvertexShaderFileName && GUI.GLSLfragmentShaderFileName)
|
||||
SetShaders(GUI.GLSLfragmentShaderFileName,GUI.GLSLvertexShaderFileName);
|
||||
if(GUI.shaderEnabled && GUI.GLSLshaderFileName)
|
||||
SetShaders(GUI.GLSLshaderFileName);
|
||||
else
|
||||
SetShaders(NULL,NULL);
|
||||
SetShaders(NULL);
|
||||
|
||||
RECT windowSize;
|
||||
GetClientRect(hWnd,&windowSize);
|
||||
|
@ -480,9 +481,13 @@ char *ReadFileContents(const TCHAR *filename)
|
|||
|
||||
}
|
||||
|
||||
bool COpenGL::SetShaders(const TCHAR *fragmentFileName,const TCHAR *vertexFileName)
|
||||
bool COpenGL::SetShaders(const TCHAR *glslFileName)
|
||||
{
|
||||
char *fragment=NULL, *vertex=NULL;
|
||||
IXMLDOMDocument * pXMLDoc = NULL;
|
||||
IXMLDOMNode * pXDN = NULL;
|
||||
HRESULT hr;
|
||||
BSTR queryString, nodeContent;
|
||||
|
||||
shaderCompiled = false;
|
||||
|
||||
|
@ -502,7 +507,7 @@ bool COpenGL::SetShaders(const TCHAR *fragmentFileName,const TCHAR *vertexFileNa
|
|||
shaderProgram = 0;
|
||||
}
|
||||
|
||||
if(fragmentFileName==NULL||vertexFileName==NULL)
|
||||
if(glslFileName==NULL || *glslFileName==TEXT('\0'))
|
||||
return true;
|
||||
|
||||
if(!LoadShaderFunctions()) {
|
||||
|
@ -511,24 +516,76 @@ bool COpenGL::SetShaders(const TCHAR *fragmentFileName,const TCHAR *vertexFileNa
|
|||
return false;
|
||||
}
|
||||
|
||||
if(*fragmentFileName!=TEXT('\0')) {
|
||||
fragment = ReadFileContents(fragmentFileName);
|
||||
if (!fragment) {
|
||||
TCHAR errorMsg[MAX_PATH + 50];
|
||||
_stprintf(errorMsg,TEXT("Error loading GLSL fragment shader file:\n%s"),fragmentFileName);
|
||||
MessageBox(NULL, errorMsg, TEXT("Shader Loading Error"),
|
||||
MB_OK|MB_ICONEXCLAMATION);
|
||||
}
|
||||
hr = CoCreateInstance(CLSID_DOMDocument,NULL,CLSCTX_INPROC_SERVER,IID_PPV_ARGS(&pXMLDoc));
|
||||
|
||||
if(FAILED(hr)) {
|
||||
MessageBox(NULL, TEXT("Error creating XML Parser"), TEXT("Shader Loading Error"),
|
||||
MB_OK|MB_ICONEXCLAMATION);
|
||||
return false;
|
||||
}
|
||||
|
||||
if(*vertexFileName!=TEXT('\0')) {
|
||||
vertex = ReadFileContents (vertexFileName);
|
||||
if (!vertex) {
|
||||
TCHAR errorMsg[MAX_PATH + 50];
|
||||
_stprintf(errorMsg,TEXT("Error loading GLSL vertex shader file:\n%s"),vertexFileName);
|
||||
MessageBox(NULL, errorMsg, TEXT("Shader Loading Error"),
|
||||
MB_OK|MB_ICONEXCLAMATION);
|
||||
VARIANT fileName;
|
||||
VARIANT_BOOL ret;
|
||||
fileName.vt = VT_BSTR;
|
||||
#ifdef UNICODE
|
||||
fileName.bstrVal = SysAllocString(glslFileName);
|
||||
#else
|
||||
wchar_t tempfilename[MAX_PATH];
|
||||
MultiByteToWideChar(CP_UTF8,0,glslFileName,-1,tempfilename,MAX_PATH);
|
||||
fileName.bstrVal = SysAllocString(tempfilename);
|
||||
#endif
|
||||
hr = pXMLDoc->load(fileName,&ret);
|
||||
SysFreeString(fileName.bstrVal);
|
||||
|
||||
if(FAILED(hr) || hr==S_FALSE) {
|
||||
TCHAR errorMsg[MAX_PATH + 50];
|
||||
_stprintf(errorMsg,TEXT("Error loading GLSL shader file:\n%s"),glslFileName);
|
||||
MessageBox(NULL, errorMsg, TEXT("Shader Loading Error"),
|
||||
MB_OK|MB_ICONEXCLAMATION);
|
||||
pXMLDoc->Release();
|
||||
return false;
|
||||
}
|
||||
|
||||
queryString=SysAllocString(L"/shader/fragment");
|
||||
hr = pXMLDoc->selectSingleNode(queryString,&pXDN);
|
||||
SysFreeString(queryString);
|
||||
|
||||
if(hr == S_OK) {
|
||||
hr = pXDN->get_text(&nodeContent);
|
||||
if(hr == S_OK) {
|
||||
int requiredChars = WideCharToMultiByte(CP_ACP,0,nodeContent,-1,fragment,0,NULL,NULL);
|
||||
fragment = new char[requiredChars];
|
||||
WideCharToMultiByte(CP_UTF8,0,nodeContent,-1,fragment,requiredChars,NULL,NULL);
|
||||
}
|
||||
SysFreeString(nodeContent);
|
||||
pXDN->Release();
|
||||
pXDN = NULL;
|
||||
}
|
||||
|
||||
queryString=SysAllocString(L"/shader/vertex");
|
||||
hr = pXMLDoc->selectSingleNode(queryString,&pXDN);
|
||||
SysFreeString(queryString);
|
||||
|
||||
if(hr == S_OK) {
|
||||
hr = pXDN->get_text(&nodeContent);
|
||||
if(hr == S_OK) {
|
||||
int requiredChars = WideCharToMultiByte(CP_ACP,0,nodeContent,-1,vertex,0,NULL,NULL);
|
||||
vertex = new char[requiredChars];
|
||||
WideCharToMultiByte(CP_UTF8,0,nodeContent,-1,vertex,requiredChars,NULL,NULL);
|
||||
}
|
||||
SysFreeString(nodeContent);
|
||||
pXDN->Release();
|
||||
pXDN = NULL;
|
||||
}
|
||||
|
||||
pXMLDoc->Release();
|
||||
|
||||
if(!fragment && !vertex) {
|
||||
TCHAR errorMsg[MAX_PATH + 50];
|
||||
_stprintf(errorMsg,TEXT("No vertex or fragment program in file:\n%s"),glslFileName);
|
||||
MessageBox(NULL, errorMsg, TEXT("Shader Loading Error"),
|
||||
MB_OK|MB_ICONEXCLAMATION);
|
||||
return false;
|
||||
}
|
||||
|
||||
shaderProgram = glCreateProgram ();
|
||||
|
|
|
@ -240,7 +240,7 @@ private:
|
|||
|
||||
PFNWGLSWAPINTERVALEXTPROC wglSwapIntervalEXT;
|
||||
|
||||
bool SetShaders(const TCHAR *fragment,const TCHAR *vertex);
|
||||
bool SetShaders(const TCHAR *glslFileName);
|
||||
bool LoadShaderFunctions();
|
||||
bool LoadPBOFunctions();
|
||||
void CreateDrawSurface(void);
|
||||
|
|
|
@ -101,10 +101,9 @@
|
|||
#define IDC_MULTICART_EDITB 1092
|
||||
#define IDC_PAUSESPIN 1093
|
||||
#define IDC_DWNRIGHT 1093
|
||||
#define IDC_SHADER_GLSL_VERTEX_FILE 1093
|
||||
#define IDC_SHADER_GLSL_FILE 1093
|
||||
#define IDC_SYNCBYRESET 1094
|
||||
#define IDC_DOWN 1094
|
||||
#define IDC_SHADER_GLSL_FRAGMENT_FILE 1094
|
||||
#define IDC_SENDROM 1095
|
||||
#define IDC_DWNLEFT 1095
|
||||
#define IDC_ACTASSERVER 1096
|
||||
|
@ -350,8 +349,7 @@
|
|||
#define IDC_SHADER_ENABLED 3015
|
||||
#define IDC_SHADER_HLSL_BROWSE 3016
|
||||
#define IDC_SHADER_GROUP 3017
|
||||
#define IDC_SHADER_GLSL_VERTEX_BROWSE 3018
|
||||
#define IDC_SHADER_GLSL_FRAGMENT_BROWSE 3019
|
||||
#define IDC_SHADER_GLSL_BROWSE 3018
|
||||
#define ID_FILE_EXIT 40001
|
||||
#define ID_WINDOW_HIDEMENUBAR 40004
|
||||
#define ID_FILE_AVI_RECORDING 40005
|
||||
|
|
|
@ -173,13 +173,13 @@ BEGIN
|
|||
CONTROL "Sync By Reset",IDC_SYNCBYRESET,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,90,174,15
|
||||
END
|
||||
|
||||
IDD_NEWDISPLAY DIALOGEX 0, 0, 353, 285
|
||||
IDD_NEWDISPLAY DIALOGEX 0, 0, 353, 259
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | DS_CENTER | WS_POPUP | WS_CLIPCHILDREN | WS_CAPTION
|
||||
CAPTION "Display Settings"
|
||||
FONT 8, "MS Sans Serif", 0, 0, 0x1
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "OK",IDOK,239,263,50,14
|
||||
PUSHBUTTON "Cancel",IDCANCEL,296,263,50,14
|
||||
DEFPUSHBUTTON "OK",IDOK,239,237,50,14
|
||||
PUSHBUTTON "Cancel",IDCANCEL,296,237,50,14
|
||||
COMBOBOX IDC_OUTPUTMETHOD,68,17,101,38,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
CONTROL "Fullscreen",IDC_FULLSCREEN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,36,48,10
|
||||
CONTROL "Emulate Fullscreen",IDC_EMUFULLSCREEN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,47,75,10
|
||||
|
@ -205,7 +205,7 @@ BEGIN
|
|||
CONTROL "Extend Height of SNES Image",IDC_HEIGHT_EXTEND,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,187,135,111,10
|
||||
CONTROL "Display messages before applying filters",IDC_MESSAGES_IN_IMAGE,
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,187,146,140,10
|
||||
GROUPBOX "",IDC_SHADER_GROUP,8,162,338,97,0,WS_EX_TRANSPARENT
|
||||
GROUPBOX "",IDC_SHADER_GROUP,8,162,338,71,0,WS_EX_TRANSPARENT
|
||||
EDITTEXT IDC_SHADER_HLSL_FILE,13,184,306,14,ES_AUTOHSCROLL | WS_DISABLED
|
||||
PUSHBUTTON "...",IDC_SHADER_HLSL_BROWSE,322,184,19,14,WS_DISABLED
|
||||
GROUPBOX "Frame Skipping:",IDC_STATIC,7,113,167,46,0,WS_EX_TRANSPARENT
|
||||
|
@ -219,12 +219,9 @@ BEGIN
|
|||
LTEXT "Output Method",IDC_STATIC,10,19,51,11
|
||||
CONTROL "Use Shader",IDC_SHADER_ENABLED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,162,52,9
|
||||
LTEXT "HLSL Effect File",IDC_STATIC,13,173,104,8
|
||||
EDITTEXT IDC_SHADER_GLSL_VERTEX_FILE,13,213,306,14,ES_AUTOHSCROLL | WS_DISABLED
|
||||
PUSHBUTTON "...",IDC_SHADER_GLSL_VERTEX_BROWSE,322,213,19,14,WS_DISABLED
|
||||
LTEXT "GLSL vertex shader",IDC_STATIC,13,202,104,8
|
||||
EDITTEXT IDC_SHADER_GLSL_FRAGMENT_FILE,13,240,306,14,ES_AUTOHSCROLL | WS_DISABLED
|
||||
PUSHBUTTON "...",IDC_SHADER_GLSL_FRAGMENT_BROWSE,322,240,19,14,WS_DISABLED
|
||||
LTEXT "GLSL fragment shader",IDC_STATIC,13,229,104,8
|
||||
EDITTEXT IDC_SHADER_GLSL_FILE,13,213,306,14,ES_AUTOHSCROLL | WS_DISABLED
|
||||
PUSHBUTTON "...",IDC_SHADER_GLSL_BROWSE,322,213,19,14,WS_DISABLED
|
||||
LTEXT "GLSL shader",IDC_STATIC,13,202,104,8
|
||||
END
|
||||
|
||||
IDD_CHEATER DIALOGEX 0, 0, 262, 218
|
||||
|
@ -592,7 +589,7 @@ BEGIN
|
|||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 346
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 277
|
||||
BOTTOMMARGIN, 251
|
||||
END
|
||||
|
||||
IDD_CHEATER, DIALOG
|
||||
|
|
|
@ -85,7 +85,7 @@
|
|||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="libpngmt.lib comctl32.lib winmm.lib opengl32.lib glu32.lib wsock32.lib ddraw.lib dsound.lib dxguid.lib delayimp.lib vfw32.lib zlibmt.lib"
|
||||
AdditionalDependencies="libpngmt.lib comctl32.lib winmm.lib opengl32.lib glu32.lib wsock32.lib ddraw.lib dsound.lib dxguid.lib delayimp.lib vfw32.lib zlibmt.lib msxml2.lib"
|
||||
OutputFile=".\snes9x.exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="true"
|
||||
|
@ -187,7 +187,7 @@
|
|||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="libpngmt.lib comctl32.lib winmm.lib opengl32.lib glu32.lib wsock32.lib ddraw.lib dsound.lib dxguid.lib delayimp.lib vfw32.lib xapobase.lib zlibmtx64.lib"
|
||||
AdditionalDependencies="libpngmtx64.lib comctl32.lib winmm.lib opengl32.lib glu32.lib wsock32.lib ddraw.lib dsound.lib dxguid.lib delayimp.lib vfw32.lib zlibmtx64.lib msxml2.lib"
|
||||
OutputFile=".\snes9x-x64.exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="true"
|
||||
|
@ -284,7 +284,7 @@
|
|||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="libpngdmt.lib comctl32.lib winmm.lib opengl32.lib glu32.lib wsock32.lib ddraw.lib dsound.lib dxguid.lib delayimp.lib vfw32.lib zlibdmt.lib"
|
||||
AdditionalDependencies="libpngdmt.lib comctl32.lib winmm.lib opengl32.lib glu32.lib wsock32.lib ddraw.lib dsound.lib dxguid.lib delayimp.lib vfw32.lib zlibdmt.lib msxml2.lib"
|
||||
OutputFile=".\snes9x-debug.exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="true"
|
||||
|
@ -383,7 +383,7 @@
|
|||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="libpngdmtx64.lib comctl32.lib winmm.lib opengl32.lib glu32.lib wsock32.lib ddraw.lib dsound.lib dxguid.lib delayimp.lib vfw32.lib xapobase.lib zlibdmtx64.lib"
|
||||
AdditionalDependencies="libpngdmtx64.lib comctl32.lib winmm.lib opengl32.lib glu32.lib wsock32.lib ddraw.lib dsound.lib dxguid.lib delayimp.lib vfw32.lib zlibdmtx64.lib msxml2.lib"
|
||||
OutputFile=".\snes9x-debug-x64.exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="true"
|
||||
|
@ -480,7 +480,7 @@
|
|||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="libpngmt.lib comctl32.lib winmm.lib opengl32.lib glu32.lib wsock32.lib ddraw.lib dsound.lib dxguid.lib delayimp.lib vfw32.lib zlibdmt.lib"
|
||||
AdditionalDependencies="libpngmt.lib comctl32.lib winmm.lib opengl32.lib glu32.lib wsock32.lib ddraw.lib dsound.lib dxguid.lib delayimp.lib vfw32.lib zlibdmt.lib msxml2.lib"
|
||||
OutputFile=".\snes9x-debug.exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="true"
|
||||
|
@ -676,7 +676,7 @@
|
|||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="libpngmt.lib comctl32.lib winmm.lib opengl32.lib glu32.lib wsock32.lib ddraw.lib dsound.lib dxguid.lib delayimp.lib vfw32.lib zlibmt.lib"
|
||||
AdditionalDependencies="libpngmt.lib comctl32.lib winmm.lib opengl32.lib glu32.lib wsock32.lib ddraw.lib dsound.lib dxguid.lib delayimp.lib vfw32.lib zlibmt.lib msxml2.lib"
|
||||
OutputFile=".\snes9x.exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="true"
|
||||
|
@ -872,7 +872,7 @@
|
|||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="libpngdmt.lib comctl32.lib winmm.lib opengl32.lib glu32.lib wsock32.lib ddraw.lib dsound.lib dxguid.lib delayimp.lib vfw32.lib zlibdmtu.lib"
|
||||
AdditionalDependencies="libpngdmt.lib comctl32.lib winmm.lib opengl32.lib glu32.lib wsock32.lib ddraw.lib dsound.lib dxguid.lib delayimp.lib vfw32.lib zlibdmtu.lib msxml2.lib"
|
||||
OutputFile=".\snes9x-debug.exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="true"
|
||||
|
@ -972,7 +972,7 @@
|
|||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="libpngdmtx64.lib comctl32.lib winmm.lib opengl32.lib glu32.lib wsock32.lib ddraw.lib dsound.lib dxguid.lib delayimp.lib vfw32.lib xapobase.lib zlibdmtux64.lib"
|
||||
AdditionalDependencies="libpngdmtx64.lib comctl32.lib winmm.lib opengl32.lib glu32.lib wsock32.lib ddraw.lib dsound.lib dxguid.lib delayimp.lib vfw32.lib zlibdmtux64.lib msxml2.lib"
|
||||
OutputFile=".\snes9x-debug-x64.exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="true"
|
||||
|
@ -1078,7 +1078,7 @@
|
|||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="libpngmt.lib comctl32.lib winmm.lib opengl32.lib glu32.lib wsock32.lib ddraw.lib dsound.lib dxguid.lib delayimp.lib vfw32.lib zlibmtu.lib"
|
||||
AdditionalDependencies="libpngmt.lib comctl32.lib winmm.lib opengl32.lib glu32.lib wsock32.lib ddraw.lib dsound.lib dxguid.lib delayimp.lib vfw32.lib zlibmtu.lib msxml2.lib"
|
||||
OutputFile=".\snes9x.exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="true"
|
||||
|
@ -1182,7 +1182,7 @@
|
|||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="libpngmtx64.lib comctl32.lib winmm.lib opengl32.lib glu32.lib wsock32.lib ddraw.lib dsound.lib dxguid.lib delayimp.lib vfw32.lib xapobase.lib zlibmtux64.lib"
|
||||
AdditionalDependencies="libpngmtx64.lib comctl32.lib winmm.lib opengl32.lib glu32.lib wsock32.lib ddraw.lib dsound.lib dxguid.lib delayimp.lib vfw32.lib zlibmtux64.lib msxml2.lib"
|
||||
OutputFile=".\snes9x-x64.exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="true"
|
||||
|
|
|
@ -899,8 +899,7 @@ void WinRegisterConfigItems()
|
|||
AddUIntC("FilterHiRes", GUI.ScaleHiRes, 0, filterString2);
|
||||
AddBoolC("ShaderEnabled", GUI.shaderEnabled, false, "true to use pixel shader (if supported by output method)");
|
||||
AddStringC("Direct3D:HLSLFileName", GUI.HLSLshaderFileName, MAX_PATH, "", "shader filename for Direct3D mode");
|
||||
AddStringC("OpenGL:GLSLvertexFileName", GUI.GLSLvertexShaderFileName, MAX_PATH, "", "vertex shader filename for OpenGL mode");
|
||||
AddStringC("OpenGL:GLSLfragmentFileName", GUI.GLSLfragmentShaderFileName, MAX_PATH, "", "fragment shader filename for OpenGL mode");
|
||||
AddStringC("OpenGL:GLSLFileName", GUI.GLSLshaderFileName, MAX_PATH, "", "shader filename for OpenGL mode (bsnes-style XML shader)");
|
||||
AddBoolC("ExtendHeight", GUI.HeightExtend, false, "true to display an extra 15 pixels at the bottom, which few games use. Also increases AVI output size from 256x224 to 256x240.");
|
||||
AddBoolC("AlwaysCenterImage", GUI.AlwaysCenterImage,false, "true to center the image even if larger than window");
|
||||
AddIntC("Window:Width", GUI.window_size.right, 512, "256=1x, 512=2x, 768=3x, 1024=4x, etc. (usually)");
|
||||
|
|
|
@ -4025,6 +4025,7 @@ void S9xRemoveFromRecentGames (int i)
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef UNICODE
|
||||
HRESULT Win7_JLSetRecentGames(ICustomDestinationList *pcdl, IObjectArray *poaRemoved, UINT maxSlots)
|
||||
{
|
||||
IObjectCollection *poc;
|
||||
|
@ -4076,6 +4077,7 @@ void Win7_CreateJumpList()
|
|||
pcdl->Release();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
void S9xSetRecentGames ()
|
||||
{
|
||||
|
@ -4130,7 +4132,9 @@ void S9xSetRecentGames ()
|
|||
|
||||
InsertMenuItem (recent, 0xFF00 + i, FALSE, &mii);
|
||||
}
|
||||
#ifdef UNICODE
|
||||
Win7_CreateJumpList();
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -6923,7 +6927,7 @@ INT_PTR CALLBACK DlgFunky(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)
|
|||
static bool prevStretch, prevAspectRatio, prevHeightExtend, prevAutoDisplayMessages, prevVideoMemory, prevShaderEnabled;
|
||||
static int prevAspectWidth;
|
||||
static OutputMethod prevOutputMethod;
|
||||
static TCHAR prevHLSLShaderFile[MAX_PATH],prevGLSLvertexShaderFile[MAX_PATH],prevGLSLfragmentShaderFile[MAX_PATH];
|
||||
static TCHAR prevHLSLShaderFile[MAX_PATH],prevGLSLShaderFile[MAX_PATH];
|
||||
|
||||
switch(msg)
|
||||
{
|
||||
|
@ -6952,8 +6956,7 @@ INT_PTR CALLBACK DlgFunky(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)
|
|||
prevAutoDisplayMessages = Settings.AutoDisplayMessages != 0;
|
||||
prevShaderEnabled = GUI.shaderEnabled;
|
||||
lstrcpy(prevHLSLShaderFile,GUI.HLSLshaderFileName);
|
||||
lstrcpy(prevGLSLvertexShaderFile,GUI.GLSLvertexShaderFileName);
|
||||
lstrcpy(prevGLSLfragmentShaderFile,GUI.GLSLfragmentShaderFileName);
|
||||
lstrcpy(prevGLSLShaderFile,GUI.GLSLshaderFileName);
|
||||
|
||||
|
||||
_stprintf(s,TEXT("Current: %dx%d %dbit %dHz"),GUI.FullscreenMode.width,GUI.FullscreenMode.height,GUI.FullscreenMode.depth,GUI.FullscreenMode.rate);
|
||||
|
@ -7025,14 +7028,11 @@ INT_PTR CALLBACK DlgFunky(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)
|
|||
SendDlgItemMessage(hDlg, IDC_SHADER_ENABLED, BM_SETCHECK, (WPARAM)BST_CHECKED, 0);
|
||||
EnableWindow(GetDlgItem(hDlg, IDC_SHADER_HLSL_FILE),TRUE);
|
||||
EnableWindow(GetDlgItem(hDlg, IDC_SHADER_HLSL_BROWSE),TRUE);
|
||||
EnableWindow(GetDlgItem(hDlg, IDC_SHADER_GLSL_FRAGMENT_FILE),TRUE);
|
||||
EnableWindow(GetDlgItem(hDlg, IDC_SHADER_GLSL_FRAGMENT_BROWSE),TRUE);
|
||||
EnableWindow(GetDlgItem(hDlg, IDC_SHADER_GLSL_VERTEX_FILE),TRUE);
|
||||
EnableWindow(GetDlgItem(hDlg, IDC_SHADER_GLSL_VERTEX_BROWSE),TRUE);
|
||||
EnableWindow(GetDlgItem(hDlg, IDC_SHADER_GLSL_FILE),TRUE);
|
||||
EnableWindow(GetDlgItem(hDlg, IDC_SHADER_GLSL_BROWSE),TRUE);
|
||||
}
|
||||
SetDlgItemText(hDlg,IDC_SHADER_HLSL_FILE,GUI.HLSLshaderFileName);
|
||||
SetDlgItemText(hDlg,IDC_SHADER_GLSL_VERTEX_FILE,GUI.GLSLvertexShaderFileName);
|
||||
SetDlgItemText(hDlg,IDC_SHADER_GLSL_FRAGMENT_FILE,GUI.GLSLfragmentShaderFileName);
|
||||
SetDlgItemText(hDlg,IDC_SHADER_GLSL_FILE,GUI.GLSLshaderFileName);
|
||||
|
||||
lpfnOldWndProc = (WNDPROC)SetWindowLongPtr(GetDlgItem(hDlg,IDC_SHADER_GROUP),GWLP_WNDPROC,(LONG_PTR)GroupBoxCheckBoxTitle);
|
||||
|
||||
|
@ -7189,14 +7189,11 @@ INT_PTR CALLBACK DlgFunky(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)
|
|||
EnableWindow(GetDlgItem(hDlg, IDC_SHADER_GROUP),GUI.shaderEnabled);
|
||||
EnableWindow(GetDlgItem(hDlg, IDC_SHADER_HLSL_FILE),GUI.shaderEnabled);
|
||||
EnableWindow(GetDlgItem(hDlg, IDC_SHADER_HLSL_BROWSE),GUI.shaderEnabled);
|
||||
EnableWindow(GetDlgItem(hDlg, IDC_SHADER_GLSL_VERTEX_FILE),GUI.shaderEnabled);
|
||||
EnableWindow(GetDlgItem(hDlg, IDC_SHADER_GLSL_VERTEX_BROWSE),GUI.shaderEnabled);
|
||||
EnableWindow(GetDlgItem(hDlg, IDC_SHADER_GLSL_FRAGMENT_FILE),GUI.shaderEnabled);
|
||||
EnableWindow(GetDlgItem(hDlg, IDC_SHADER_GLSL_FRAGMENT_BROWSE),GUI.shaderEnabled);
|
||||
EnableWindow(GetDlgItem(hDlg, IDC_SHADER_GLSL_FILE),GUI.shaderEnabled);
|
||||
EnableWindow(GetDlgItem(hDlg, IDC_SHADER_GLSL_BROWSE),GUI.shaderEnabled);
|
||||
|
||||
GetDlgItemText(hDlg,IDC_SHADER_HLSL_FILE,GUI.HLSLshaderFileName,MAX_PATH);
|
||||
GetDlgItemText(hDlg,IDC_SHADER_GLSL_VERTEX_FILE,GUI.GLSLvertexShaderFileName,MAX_PATH);
|
||||
GetDlgItemText(hDlg,IDC_SHADER_GLSL_FRAGMENT_FILE,GUI.GLSLfragmentShaderFileName,MAX_PATH);
|
||||
GetDlgItemText(hDlg,IDC_SHADER_GLSL_FILE,GUI.GLSLshaderFileName,MAX_PATH);
|
||||
WinDisplayApplyChanges();
|
||||
WinRefreshDisplay();
|
||||
break;
|
||||
|
@ -7219,8 +7216,8 @@ INT_PTR CALLBACK DlgFunky(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)
|
|||
WinRefreshDisplay();
|
||||
}
|
||||
break;
|
||||
case IDC_SHADER_GLSL_VERTEX_BROWSE:
|
||||
GetDlgItemText(hDlg,IDC_SHADER_GLSL_VERTEX_FILE,openFileName,MAX_PATH);
|
||||
case IDC_SHADER_GLSL_BROWSE:
|
||||
GetDlgItemText(hDlg,IDC_SHADER_GLSL_FILE,openFileName,MAX_PATH);
|
||||
ZeroMemory((LPVOID)&ofn, sizeof(OPENFILENAME));
|
||||
|
||||
ofn.lStructSize = sizeof(OPENFILENAME);
|
||||
|
@ -7232,27 +7229,8 @@ INT_PTR CALLBACK DlgFunky(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)
|
|||
ofn.nMaxFile = MAX_PATH;
|
||||
ofn.Flags = OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
|
||||
if(GetOpenFileName(&ofn)) {
|
||||
SetDlgItemText(hDlg,IDC_SHADER_GLSL_VERTEX_FILE,openFileName);
|
||||
lstrcpy(GUI.GLSLvertexShaderFileName,openFileName);
|
||||
WinDisplayApplyChanges();
|
||||
WinRefreshDisplay();
|
||||
}
|
||||
break;
|
||||
case IDC_SHADER_GLSL_FRAGMENT_BROWSE:
|
||||
GetDlgItemText(hDlg,IDC_SHADER_GLSL_FRAGMENT_FILE,openFileName,MAX_PATH);
|
||||
ZeroMemory((LPVOID)&ofn, sizeof(OPENFILENAME));
|
||||
|
||||
ofn.lStructSize = sizeof(OPENFILENAME);
|
||||
ofn.hwndOwner = hDlg;
|
||||
ofn.lpstrFilter = TEXT("All Files\0*.*\0\0");
|
||||
ofn.lpstrFile = openFileName;
|
||||
ofn.lpstrTitle = TEXT("Select Shader");
|
||||
ofn.lpstrDefExt = TEXT("*.*");
|
||||
ofn.nMaxFile = MAX_PATH;
|
||||
ofn.Flags = OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
|
||||
if(GetOpenFileName(&ofn)) {
|
||||
SetDlgItemText(hDlg,IDC_SHADER_GLSL_FRAGMENT_FILE,openFileName);
|
||||
lstrcpy(GUI.GLSLfragmentShaderFileName,openFileName);
|
||||
SetDlgItemText(hDlg,IDC_SHADER_GLSL_FILE,openFileName);
|
||||
lstrcpy(GUI.GLSLshaderFileName,openFileName);
|
||||
WinDisplayApplyChanges();
|
||||
WinRefreshDisplay();
|
||||
}
|
||||
|
@ -7432,8 +7410,7 @@ updateFilterBox2:
|
|||
GUI.HeightExtend = prevHeightExtend;
|
||||
GUI.shaderEnabled = prevShaderEnabled;
|
||||
lstrcpy(GUI.HLSLshaderFileName,prevHLSLShaderFile);
|
||||
lstrcpy(GUI.GLSLvertexShaderFileName,prevGLSLvertexShaderFile);
|
||||
lstrcpy(GUI.GLSLfragmentShaderFileName,prevGLSLfragmentShaderFile);
|
||||
lstrcpy(GUI.GLSLshaderFileName,prevGLSLShaderFile);
|
||||
}
|
||||
|
||||
EndDialog(hDlg,0);
|
||||
|
|
|
@ -315,8 +315,7 @@ struct sGUI {
|
|||
bool Vsync;
|
||||
bool shaderEnabled;
|
||||
TCHAR HLSLshaderFileName[MAX_PATH];
|
||||
TCHAR GLSLvertexShaderFileName[MAX_PATH];
|
||||
TCHAR GLSLfragmentShaderFileName[MAX_PATH];
|
||||
TCHAR GLSLshaderFileName[MAX_PATH];
|
||||
|
||||
bool IgnoreNextMouseMove;
|
||||
RECT window_size;
|
||||
|
|
Loading…
Reference in New Issue