diff --git a/src/platform/win/OpenLara.rc b/src/platform/win/OpenLara.rc
new file mode 100644
index 0000000..9f444cf
Binary files /dev/null and b/src/platform/win/OpenLara.rc differ
diff --git a/src/platform/win/OpenLara.vcxproj b/src/platform/win/OpenLara.vcxproj
index 0be254e..c76a9aa 100644
--- a/src/platform/win/OpenLara.vcxproj
+++ b/src/platform/win/OpenLara.vcxproj
@@ -28,7 +28,7 @@
Application
true
- v140_xp
+ v141_xp
NotSet
@@ -40,14 +40,14 @@
Application
false
- v140_xp
+ v141_xp
true
NotSet
Application
false
- v140_xp
+ v141_xp
true
NotSet
@@ -145,7 +145,7 @@
true
- Console
+ Windows
true
true
true
@@ -237,6 +237,12 @@
+
+
+
+
+
+
diff --git a/src/platform/win/OpenLara.vcxproj.filters b/src/platform/win/OpenLara.vcxproj.filters
index 2b14242..eaac777 100644
--- a/src/platform/win/OpenLara.vcxproj.filters
+++ b/src/platform/win/OpenLara.vcxproj.filters
@@ -89,4 +89,10 @@
{80edb27c-40cf-4f7a-a854-88eeba24a5fb}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/platform/win/OpenLara.vcxproj.user b/src/platform/win/OpenLara.vcxproj.user
index 29c03db..96911a8 100644
--- a/src/platform/win/OpenLara.vcxproj.user
+++ b/src/platform/win/OpenLara.vcxproj.user
@@ -1,18 +1,18 @@
- ..\..\..\bin
- WindowsLocalDebugger
- GYM.PHD
-
-
- C:\Projects\OpenLara\bin\
- WindowsLocalDebugger
-
-
- C:\Projects\OpenLara\bin\TR3_PC
+ ..\..\..\bin\TR1_PSX
WindowsLocalDebugger
+
+ ..\..\..\bin\TR1_PSX
+ WindowsLocalDebugger
+
+
+ ..\..\..\bin\TR1_PSX
+ WindowsLocalDebugger
+ PSXDATA/GYM.PSX
+
\ No newline at end of file
diff --git a/src/platform/win/icon.ico b/src/platform/win/icon.ico
new file mode 100644
index 0000000..7a5aed3
Binary files /dev/null and b/src/platform/win/icon.ico differ
diff --git a/src/platform/win/main.cpp b/src/platform/win/main.cpp
index 54a5476..18e9a84 100644
--- a/src/platform/win/main.cpp
+++ b/src/platform/win/main.cpp
@@ -731,10 +731,12 @@ int main(int argc, char** argv) {
_CrtSetReportFile(_CRT_WARN, _CRTDBG_FILE_STDOUT);
_CrtMemCheckpoint(&_msBegin);
//#elif PROFILE
-#else
+#elif PROFILE
int main(int argc, char** argv) {
-//#else
-//int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
+#else
+int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
+ int argc = lpCmdLine ? 2 : 1;
+ char *argv[] = { "", lpCmdLine };
#endif
cacheDir[0] = saveDir[0] = contentDir[0] = 0;
@@ -746,7 +748,23 @@ int main(int argc, char** argv) {
RECT r = { 0, 0, 1280, 720 };
AdjustWindowRect(&r, WS_OVERLAPPEDWINDOW, false);
- hWnd = CreateWindow("static", "OpenLara", WS_OVERLAPPEDWINDOW, 0, 0, r.right - r.left, r.bottom - r.top, 0, 0, 0, 0);
+#ifndef _DEBUG
+ {
+ int ox = (GetSystemMetrics(SM_CXSCREEN) - (r.right - r.left)) / 2;
+ int oy = (GetSystemMetrics(SM_CYSCREEN) - (r.bottom - r.top)) / 2;
+ r.left += ox;
+ r.top += oy;
+ r.right += ox;
+ r.bottom += oy;
+ }
+#else
+ r.right += r.left;
+ r.bottom += r.top;
+ r.left = r.top = 0;
+#endif
+
+ hWnd = CreateWindow("static", "OpenLara", WS_OVERLAPPEDWINDOW, r.left, r.top, r.right - r.left, r.bottom - r.top, 0, 0, 0, 0);
+ SendMessage(hWnd, WM_SETICON, 1, (LPARAM)LoadIcon(GetModuleHandle(NULL), "MAINICON"));
ContextCreate();