diff --git a/projects/msvc/GLideN64.vcxproj b/projects/msvc/GLideN64.vcxproj
index 4a8898a6..66435e12 100644
--- a/projects/msvc/GLideN64.vcxproj
+++ b/projects/msvc/GLideN64.vcxproj
@@ -398,6 +398,9 @@ copy /Y "$(OutDir)$(TargetName).*" "$(Mupen64PluginsDir_x64)")
true
+
+ true
+
true
diff --git a/projects/msvc/GLideN64.vcxproj.filters b/projects/msvc/GLideN64.vcxproj.filters
index e94f737d..9209c2e6 100644
--- a/projects/msvc/GLideN64.vcxproj.filters
+++ b/projects/msvc/GLideN64.vcxproj.filters
@@ -145,6 +145,9 @@
Source Files\windows
+
+
+ Source Files\windows
Source Files\windows
diff --git a/projects/msvc/GLideNUI-wtl.vcxproj b/projects/msvc/GLideNUI-wtl.vcxproj
index 6a034119..6d709494 100644
--- a/projects/msvc/GLideNUI-wtl.vcxproj
+++ b/projects/msvc/GLideNUI-wtl.vcxproj
@@ -107,7 +107,6 @@
-
diff --git a/projects/msvc/GLideNUI-wtl.vcxproj.filters b/projects/msvc/GLideNUI-wtl.vcxproj.filters
index 986b2f31..bd56d47e 100644
--- a/projects/msvc/GLideNUI-wtl.vcxproj.filters
+++ b/projects/msvc/GLideNUI-wtl.vcxproj.filters
@@ -66,9 +66,6 @@
Source Files
-
- Source Files
-
Source Files
diff --git a/projects/msvc/GLideNUI.vcxproj b/projects/msvc/GLideNUI.vcxproj
index d6a1c073..7e3bf6f9 100644
--- a/projects/msvc/GLideNUI.vcxproj
+++ b/projects/msvc/GLideNUI.vcxproj
@@ -127,7 +127,6 @@
true
-
diff --git a/projects/msvc/GLideNUI.vcxproj.filters b/projects/msvc/GLideNUI.vcxproj.filters
index 614be9ef..c0508e0d 100644
--- a/projects/msvc/GLideNUI.vcxproj.filters
+++ b/projects/msvc/GLideNUI.vcxproj.filters
@@ -69,9 +69,6 @@
Source Files
-
- Source Files
-
Source Files
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 37725c96..9869a0fe 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -128,7 +128,6 @@ set(GLideNUI_SOURCES
GLideNUI/ConfigDialog.cpp
GLideNUI/Config_GLideNUI.cpp
GLideNUI/GLideNUI.cpp
- GLideNUI/ScreenShot.cpp
GLideNUI/Settings.cpp
GLideNUI/QtKeyToHID.cpp
GLideNUI/HIDKeyToName.cpp
@@ -223,6 +222,7 @@ else(MUPENPLUSAPI)
windows/GLideN64_windows.cpp
windows/MemoryStatus_windows.cpp
windows/ZilmarAPIImpl_windows.cpp
+ windows/ScreenShot.cpp
Graphics/OpenGLContext/windows/windows_DisplayWindow.cpp
Graphics/OpenGLContext/windows/WindowsWGL.cpp
${GLideNUI_SOURCES}
diff --git a/src/GLideNUI-wtl/GLideNUI.h b/src/GLideNUI-wtl/GLideNUI.h
index fba02c6c..a5aff8d9 100644
--- a/src/GLideNUI-wtl/GLideNUI.h
+++ b/src/GLideNUI-wtl/GLideNUI.h
@@ -19,7 +19,6 @@ EXPORT bool CALL RunConfig(const wchar_t * _strFileName, const char * _romName,
EXPORT int CALL RunAbout(const wchar_t * _strFileName);
EXPORT void CALL LoadConfig(const wchar_t * _strFileName);
EXPORT void CALL LoadCustomRomSettings(const wchar_t * _strFileName, const char * _romName);
-EXPORT void CALL SaveScreenshot(const wchar_t * _folder, const char * _name, int _width, int _height, const unsigned char * _data);
#if defined(__cplusplus)
}
diff --git a/src/GLideNUI/GLideNUI.h b/src/GLideNUI/GLideNUI.h
index 2fa41c57..72969a69 100644
--- a/src/GLideNUI/GLideNUI.h
+++ b/src/GLideNUI/GLideNUI.h
@@ -19,7 +19,6 @@ EXPORT bool CALL RunConfig(const wchar_t * _strFileName, const char * _romName,
EXPORT int CALL RunAbout(const wchar_t * _strFileName);
EXPORT void CALL LoadConfig(const wchar_t * _strFileName);
EXPORT void CALL LoadCustomRomSettings(const wchar_t * _strFileName, const char * _romName);
-EXPORT void CALL SaveScreenshot(const wchar_t * _folder, const char * _name, int _width, int _height, const unsigned char * _data);
#if defined(__cplusplus)
}
diff --git a/src/GLideNUI/ScreenShot.cpp b/src/GLideNUI/ScreenShot.cpp
deleted file mode 100644
index 9b9be3b4..00000000
--- a/src/GLideNUI/ScreenShot.cpp
+++ /dev/null
@@ -1,35 +0,0 @@
-#include
-#include
-#include
-#include
-#include "GLideNUI.h"
-
-#include "../Config.h"
-
-EXPORT void CALL SaveScreenshot(const wchar_t * _folder, const char * _name, int _width, int _height, const unsigned char * _data)
-{
- const char * png = "png";
- const char * jpg = "jpg";
- const char * fileExt = config.texture.screenShotFormat == 0 ? png : jpg;
- QString folderName = QString::fromWCharArray(_folder);
- QDir folder;
- if (!folder.exists(folderName) && !folder.mkpath(folderName))
- return;
-
- QString romName(_name);
- romName = romName.replace(' ', '_');
- romName = romName.replace(':', ';');
- QString fileName;
- int i;
- for (i = 0; i < 1000; ++i) {
- fileName = fileName.asprintf("%lsGLideN64_%ls_%03i.%s", folderName.data(), romName.data(), i, fileExt);
- QFile f(fileName);
- if (!f.exists())
- break;
- }
- if (i == 1000)
- return;
- QImage image(_data, _width, _height, QImage::Format_RGB888);
- QImageWriter writer(fileName, fileExt);
- writer.write(image.mirrored());
-}
diff --git a/src/Graphics/OpenGLContext/windows/windows_DisplayWindow.cpp b/src/Graphics/OpenGLContext/windows/windows_DisplayWindow.cpp
index 35563f2f..e138040e 100644
--- a/src/Graphics/OpenGLContext/windows/windows_DisplayWindow.cpp
+++ b/src/Graphics/OpenGLContext/windows/windows_DisplayWindow.cpp
@@ -8,6 +8,7 @@
#include
#include
#include
+#include
#include
using namespace opengl;
diff --git a/src/GLideNUI-wtl/ScreenShot.cpp b/src/windows/ScreenShot.cpp
similarity index 92%
rename from src/GLideNUI-wtl/ScreenShot.cpp
rename to src/windows/ScreenShot.cpp
index 8a0e21a3..df7d2e80 100644
--- a/src/GLideNUI-wtl/ScreenShot.cpp
+++ b/src/windows/ScreenShot.cpp
@@ -1,7 +1,6 @@
-#include "GLideNUI.h"
-#include "../Config.h"
-#include "util/util.h"
#include
+
+#include "Config.h"
#include "../GLideNHQ/inc/png.h"
void write_png_file(const wchar_t * file_name, int width, int height, const uint8_t *buffer)
@@ -77,7 +76,7 @@ void write_png_file(const wchar_t * file_name, int width, int height, const uint
fclose(fp);
}
-EXPORT void CALL SaveScreenshot(const wchar_t * _folder, const char * _name, int _width, int _height, const unsigned char * _data)
+void SaveScreenshot(const wchar_t * _folder, const char * _name, int _width, int _height, const unsigned char * _data)
{
const wchar_t * fileExt = L"png";
@@ -96,7 +95,9 @@ EXPORT void CALL SaveScreenshot(const wchar_t * _folder, const char * _name, int
if ((FindData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) == 0)
return;
- std::wstring romName = ToUTF16(_name);
+ wchar_t wbuf[MAX_PATH];
+ mbstowcs(wbuf, _name, MAX_PATH);
+ std::wstring romName = std::wstring(wbuf);
for (size_t i = 0, n = romName.size(); i < n; i++) {
if (romName[i] == L' ') romName[i] = L'_';
if (romName[i] == L':') romName[i] = L';';
diff --git a/src/windows/ScreenShot.h b/src/windows/ScreenShot.h
new file mode 100644
index 00000000..43fa251f
--- /dev/null
+++ b/src/windows/ScreenShot.h
@@ -0,0 +1,6 @@
+#ifndef SCREENSHOT_H
+#define SCREENSHOT_H
+
+void SaveScreenshot(const wchar_t * _folder, const char * _name, int _width, int _height, const unsigned char * _data);
+
+#endif // SCREENSHOT_H