Przeglądaj źródła

Fixes and IDE project for Visual Studio 2013

Ivan Safrin 12 lat temu
rodzic
commit
a91d93a10e

+ 10 - 0
.gitignore

@@ -86,6 +86,16 @@ Player/Build/Mac OS X/Polycode Player.xcodeproj/project.xcworkspace/xcuserdata/i
 !/IDE/Build/Windows/Polycode.rc
 !/IDE/Build/Windows/resource.h
 
+/IDE/Build/Windows2013/*
+!/IDE/Build/Windows2013/main.cpp
+!/IDE/Build/Windows2013/Polycode.props
+!/IDE/Build/Windows2013/Polycode.sln
+!/IDE/Build/Windows2013/Polycode.vcxproj
+!/IDE/Build/Windows2013/Polycode.vcxproj.filters
+!/IDE/Build/Windows2013/Polycode.vcxproj.user
+!/IDE/Build/Windows2013/Polycode.rc
+!/IDE/Build/Windows2013/resource.h
+
 /IDE/Build/Linux/Build
 
 /Core/Build/Mac\ OS\ X/build

+ 1 - 1
CMake/openal.cmake

@@ -55,7 +55,7 @@ OPTION(DLOPEN  "Check for the dlopen API for loading optional libs"  ON)
 
 OPTION(WERROR  "Treat compile warnings as errors"      OFF)
 
-OPTION(UTILS  "Build and install utility programs"  ON)
+OPTION(UTILS  "Build and install utility programs"  OFF)
 
 OPTION(EXAMPLES  "Build and install example programs"  OFF)
 

+ 2 - 2
Core/Contents/Include/PolyGlobals.h

@@ -85,7 +85,7 @@ THE SOFTWARE.
 #endif
 
 typedef double Number;
-
+/*
 #ifdef _WINDOWS
 #include <cmath>	//cmath for "round / floor"
 
@@ -93,7 +93,7 @@ inline int round(Number x) {
 	return floor(x + 0.5); 
 }
 #endif
-
+*/
 #define RANDOM_NUMBER ((Number)rand()/(Number)RAND_MAX)
 
 inline Number clampf(Number x, Number a, Number b)

+ 2 - 2
Core/Contents/PolycodeView/MSVC/PolycodeView.cpp

@@ -160,13 +160,13 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
 
 PolycodeView::PolycodeView(HINSTANCE hInstance, int nCmdShow, LPCTSTR windowTitle, bool resizable, bool showDebugConsole) : PolycodeViewBase() {
 
-
+	/*
 	typedef BOOL(WINAPI *SetProcessDPIAwarePtr)(VOID);
 	SetProcessDPIAwarePtr set_process_dpi_aware_func = GetProcAddress(GetModuleHandleA("user32.dll"), "SetProcessDPIAware");
 	if (set_process_dpi_aware_func) {
 		set_process_dpi_aware_func();
 	}
-
+	*/
 	WNDCLASSEX wcex;
 
 	wcex.cbSize = sizeof(WNDCLASSEX);

+ 79 - 0
IDE/Build/Windows2013/Polycode.props

@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ImportGroup Label="PropertySheets" />
+  <PropertyGroup Label="UserMacros">
+    <PolycodeDir>$(SolutionDir)..\..\..\Release\Windows\Framework\</PolycodeDir>
+    <PolycodeCoreLibsDebug>Polycore_d.lib</PolycodeCoreLibsDebug>
+    <PolycodeCoreLibsRelease>Polycore.lib</PolycodeCoreLibsRelease>
+    <PolycodeDependLibsDebug>PolycodeUI_d.lib;Polycore_d.lib;zlibd.lib;freetype_d.lib;liboggd.lib;libvorbisd.lib;libvorbisfiled.lib;OpenAL32d.lib;physfsd.lib;libpng15_staticd.lib;</PolycodeDependLibsDebug>
+    <PolycodeDependLibsRelease>PolycodeUI.lib;Polycore.lib;zlib.lib;freetype.lib;libogg.lib;libvorbis.lib;libvorbisfile.lib;OpenAL32.lib;physfs.lib;libpng15_static.lib</PolycodeDependLibsRelease>
+    <PolycodeWinLibsDebug>opengl32.lib;glu32.lib;winmm.lib;ws2_32.lib;Shlwapi.lib</PolycodeWinLibsDebug>
+    <PolycodeWinLibsRelease>opengl32.lib;glu32.lib;winmm.lib;ws2_32.lib;Shlwapi.lib</PolycodeWinLibsRelease>
+    <PolycodeLibsDebug>$(PolycodeCoreLibsDebug);$(PolycodeDependLibsDebug);$(PolycodeWinLibsDebug)</PolycodeLibsDebug>
+    <PolycodeLibsRelease>$(PolycodeCoreLibsRelease);$(PolycodeDependLibsRelease);$(PolycodeWinLibsRelease)</PolycodeLibsRelease>
+  </PropertyGroup>
+  <PropertyGroup>
+    <IncludePath>..\..\Contents\Include;$(PolycodeDir)Core\include;$(PolycodeDir)Modules\include;$(PolycodeDir)Core\Dependencies\include;$(PolycodeDir)Core\PolycodeView;$(PolycodeDir)Core\Dependencies\include\AL;$(IncludePath)</IncludePath>
+  </PropertyGroup>
+  <PropertyGroup>
+    <LibraryPath>$(PolycodeDir)Core\lib;$(PolycodeDir)Core\Dependencies\lib;$(PolycodeDir)Modules\lib;$(PolycodeDir)Modules\Dependencies\lib;$(LibraryPath)</LibraryPath>
+  </PropertyGroup>
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <PreprocessorDefinitions>WIN32;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <WarningLevel>Level3</WarningLevel>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+    </Link>
+    <PostBuildEvent>
+ <Command>if not exist "$(ProjectDir)default.pak" copy "$(PolycodeDir)Core\Assets\default.pak" "$(ProjectDir)"
+if not exist "$(ProjectDir)hdr.pak" copy "$(PolycodeDir)Core\Assets\hdr.pak" "$(ProjectDir)"
+
+xcopy /E /Y "..\..\Contents\Resources" "$(ProjectDir)"
+if not exist "$(ProjectDir)Standalone" (
+  mkdir "$(ProjectDir)Standalone"
+)
+xcopy /E /Y "$(PolycodeDir)..\Standalone" "$(ProjectDir)Standalone"
+
+if "$(ConfigurationName)" == "Debug" (
+  if not exist "$(TargetDir)OpenAL32d.dll" copy "$(PolycodeDir)Core\Dependencies\bin\OpenAL32d.dll" "$(TargetDir)"
+) else (
+    if not exist "$(TargetDir)OpenAL32.dll" copy "$(PolycodeDir)Core\Dependencies\bin\OpenAL32.dll" "$(TargetDir)"
+)</Command>    
+    </PostBuildEvent>
+    <PostBuildEvent>
+      <Message>Copying polycode pak files and dlls to project</Message>
+    </PostBuildEvent>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <BuildMacro Include="PolycodeDir">
+      <Value>$(PolycodeDir)</Value>
+    </BuildMacro>
+    <BuildMacro Include="PolycodeCoreLibsDebug">
+      <Value>$(PolycodeCoreLibsDebug)</Value>
+    </BuildMacro>
+    <BuildMacro Include="PolycodeCoreLibsRelease">
+      <Value>$(PolycodeCoreLibsRelease)</Value>
+    </BuildMacro>
+    <BuildMacro Include="PolycodeDependLibsDebug">
+      <Value>$(PolycodeDependLibsDebug)</Value>
+    </BuildMacro>
+    <BuildMacro Include="PolycodeDependLibsRelease">
+      <Value>$(PolycodeDependLibsRelease)</Value>
+    </BuildMacro>
+    <BuildMacro Include="PolycodeWinLibsDebug">
+      <Value>$(PolycodeWinLibsDebug)</Value>
+    </BuildMacro>
+    <BuildMacro Include="PolycodeWinLibsRelease">
+      <Value>$(PolycodeWinLibsRelease)</Value>
+    </BuildMacro>
+    <BuildMacro Include="PolycodeLibsDebug">
+      <Value>$(PolycodeLibsDebug)</Value>
+    </BuildMacro>
+    <BuildMacro Include="PolycodeLibsRelease">
+      <Value>$(PolycodeLibsRelease)</Value>
+    </BuildMacro>
+  </ItemGroup>
+</Project>

BIN
IDE/Build/Windows2013/Polycode.rc


+ 33 - 0
IDE/Build/Windows2013/Polycode.sln

@@ -0,0 +1,33 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Express 2013 for Windows Desktop
+VisualStudioVersion = 12.0.21005.1
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Polycode", "Polycode.vcxproj", "{D6C2171B-9167-4FB6-851A-DC1CEDCFC43D}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{0D5CDD59-CFF6-4143-8D1D-A92BBAB86060}"
+	ProjectSection(SolutionItems) = preProject
+		Performance1.psess = Performance1.psess
+	EndProjectSection
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Win32 = Debug|Win32
+		Debug|x64 = Debug|x64
+		Release|Win32 = Release|Win32
+		Release|x64 = Release|x64
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{D6C2171B-9167-4FB6-851A-DC1CEDCFC43D}.Debug|Win32.ActiveCfg = Debug|Win32
+		{D6C2171B-9167-4FB6-851A-DC1CEDCFC43D}.Debug|Win32.Build.0 = Debug|Win32
+		{D6C2171B-9167-4FB6-851A-DC1CEDCFC43D}.Debug|x64.ActiveCfg = Debug|x64
+		{D6C2171B-9167-4FB6-851A-DC1CEDCFC43D}.Debug|x64.Build.0 = Debug|x64
+		{D6C2171B-9167-4FB6-851A-DC1CEDCFC43D}.Release|Win32.ActiveCfg = Release|Win32
+		{D6C2171B-9167-4FB6-851A-DC1CEDCFC43D}.Release|Win32.Build.0 = Release|Win32
+		{D6C2171B-9167-4FB6-851A-DC1CEDCFC43D}.Release|x64.ActiveCfg = Release|x64
+		{D6C2171B-9167-4FB6-851A-DC1CEDCFC43D}.Release|x64.Build.0 = Release|x64
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal

+ 234 - 0
IDE/Build/Windows2013/Polycode.vcxproj

@@ -0,0 +1,234 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\Contents\Source\EditorGrid.cpp" />
+    <ClCompile Include="..\..\Contents\Source\EntityEditorPropertyView.cpp" />
+    <ClCompile Include="..\..\Contents\Source\EntityEditorSettingsView.cpp" />
+    <ClCompile Include="..\..\Contents\Source\EntityEditorTreeView.cpp" />
+    <ClCompile Include="..\..\Contents\Source\ExampleBrowserWindow.cpp" />
+    <ClCompile Include="..\..\Contents\Source\ExportProjectWindow.cpp" />
+    <ClCompile Include="..\..\Contents\Source\NewFileWindow.cpp" />
+    <ClCompile Include="..\..\Contents\Source\NewProjectWindow.cpp" />
+    <ClCompile Include="..\..\Contents\Source\PolycodeClipboard.cpp" />
+    <ClCompile Include="..\..\Contents\Source\PolycodeConsole.cpp" />
+    <ClCompile Include="..\..\Contents\Source\PolycodeEditor.cpp" />
+    <ClCompile Include="..\..\Contents\Source\PolycodeEditorManager.cpp" />
+    <ClCompile Include="..\..\Contents\Source\PolycodeEntityEditor.cpp" />
+    <ClCompile Include="..\..\Contents\Source\PolycodeFontEditor.cpp" />
+    <ClCompile Include="..\..\Contents\Source\PolycodeFrame.cpp" />
+    <ClCompile Include="..\..\Contents\Source\PolycodeIDEApp.cpp" />
+    <ClCompile Include="..\..\Contents\Source\PolycodeImageEditor.cpp" />
+    <ClCompile Include="..\..\Contents\Source\PolycodeMaterialEditor.cpp" />
+    <ClCompile Include="..\..\Contents\Source\PolycodeMeshEditor.cpp" />
+    <ClCompile Include="..\..\Contents\Source\PolycodeProject.cpp" />
+    <ClCompile Include="..\..\Contents\Source\PolycodeProjectBrowser.cpp" />
+    <ClCompile Include="..\..\Contents\Source\PolycodeProjectEditor.cpp" />
+    <ClCompile Include="..\..\Contents\Source\PolycodeProjectManager.cpp" />
+    <ClCompile Include="..\..\Contents\Source\PolycodeProps.cpp" />
+    <ClCompile Include="..\..\Contents\Source\PolycodeRemoteDebugger.cpp" />
+    <ClCompile Include="..\..\Contents\Source\PolycodeSpriteEditor.cpp" />
+    <ClCompile Include="..\..\Contents\Source\PolycodeTextEditor.cpp" />
+    <ClCompile Include="..\..\Contents\Source\PolycodeToolLauncher.cpp" />
+    <ClCompile Include="..\..\Contents\Source\SettingsWindow.cpp" />
+    <ClCompile Include="..\..\Contents\Source\TextureBrowser.cpp" />
+    <ClCompile Include="..\..\Contents\Source\ToolWindows.cpp" />
+    <ClCompile Include="..\..\Contents\Source\TrackballCamera.cpp" />
+    <ClCompile Include="..\..\Contents\Source\TransformGizmo.cpp" />
+    <ClCompile Include="main.cpp" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\..\Contents\Include\EditorGrid.h" />
+    <ClInclude Include="..\..\Contents\Include\EntityEditorPropertyView.h" />
+    <ClInclude Include="..\..\Contents\Include\EntityEditorSettingsView.h" />
+    <ClInclude Include="..\..\Contents\Include\EntityEditorTreeView.h" />
+    <ClInclude Include="..\..\Contents\Include\ExampleBrowserWindow.h" />
+    <ClInclude Include="..\..\Contents\Include\ExportProjectWindow.h" />
+    <ClInclude Include="..\..\Contents\Include\NewFileWindow.h" />
+    <ClInclude Include="..\..\Contents\Include\NewProjectWindow.h" />
+    <ClInclude Include="..\..\Contents\Include\PolycodeClipboard.h" />
+    <ClInclude Include="..\..\Contents\Include\PolycodeConsole.h" />
+    <ClInclude Include="..\..\Contents\Include\PolycodeEditor.h" />
+    <ClInclude Include="..\..\Contents\Include\PolycodeEditorManager.h" />
+    <ClInclude Include="..\..\Contents\Include\PolycodeEntityEditor.h" />
+    <ClInclude Include="..\..\Contents\Include\PolycodeFontEditor.h" />
+    <ClInclude Include="..\..\Contents\Include\PolycodeFrame.h" />
+    <ClInclude Include="..\..\Contents\Include\PolycodeGlobals.h" />
+    <ClInclude Include="..\..\Contents\Include\PolycodeIDEApp.h" />
+    <ClInclude Include="..\..\Contents\Include\PolycodeImageEditor.h" />
+    <ClInclude Include="..\..\Contents\Include\PolycodeMaterialEditor.h" />
+    <ClInclude Include="..\..\Contents\Include\PolycodeMeshEditor.h" />
+    <ClInclude Include="..\..\Contents\Include\PolycodeProject.h" />
+    <ClInclude Include="..\..\Contents\Include\PolycodeProjectBrowser.h" />
+    <ClInclude Include="..\..\Contents\Include\PolycodeProjectEditor.h" />
+    <ClInclude Include="..\..\Contents\Include\PolycodeProjectManager.h" />
+    <ClInclude Include="..\..\Contents\Include\PolycodeProps.h" />
+    <ClInclude Include="..\..\Contents\Include\PolycodeRemoteDebugger.h" />
+    <ClInclude Include="..\..\Contents\Include\PolycodeSpriteEditor.h" />
+    <ClInclude Include="..\..\Contents\Include\PolycodeTextEditor.h" />
+    <ClInclude Include="..\..\Contents\Include\PolycodeToolLauncher.h" />
+    <ClInclude Include="..\..\Contents\Include\SettingsWindow.h" />
+    <ClInclude Include="..\..\Contents\Include\TextureBrowser.h" />
+    <ClInclude Include="..\..\Contents\Include\ToolWindows.h" />
+    <ClInclude Include="..\..\Contents\Include\TrackballCamera.h" />
+    <ClInclude Include="..\..\Contents\Include\TransformGizmo.h" />
+    <ClInclude Include="resource.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="Polycode.rc" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="..\..\..\Assets\Icons\app_file_icon.ico" />
+    <None Include="..\..\..\Assets\Icons\main_icon.ico" />
+    <None Include="..\..\..\Assets\Icons\main_icon.png" />
+    <None Include="..\..\..\Assets\Icons\polycode_project.ico" />
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{D6C2171B-9167-4FB6-851A-DC1CEDCFC43D}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>PolycodeTemplate</RootNamespace>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v120</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v120</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v120</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v120</PlatformToolset>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="Polycode.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="Polycode.props" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="Polycode.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="Polycode.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LinkIncremental>false</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>USE_POLYCODEUI_MENUBAR;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>$(PolycodeLibsDebug);%(AdditionalDependencies)</AdditionalDependencies>
+      <AllowIsolation>false</AllowIsolation>
+      <EnableUAC>false</EnableUAC>
+      <UACExecutionLevel>HighestAvailable</UACExecutionLevel>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>USE_POLYCODEUI_MENUBAR;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>$(PolycodeLibsDebug);%(AdditionalDependencies)</AdditionalDependencies>
+      <AllowIsolation>false</AllowIsolation>
+      <EnableUAC>false</EnableUAC>
+      <UACExecutionLevel>HighestAvailable</UACExecutionLevel>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>USE_POLYCODEUI_MENUBAR;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <AdditionalDependencies>$(PolycodeLibsRelease);%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>USE_POLYCODEUI_MENUBAR;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <AdditionalDependencies>$(PolycodeLibsRelease);%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>

+ 229 - 0
IDE/Build/Windows2013/Polycode.vcxproj.filters

@@ -0,0 +1,229 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Include">
+      <UniqueIdentifier>{c0fd43dc-9f4f-4164-8d43-384e62b31325}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Source">
+      <UniqueIdentifier>{657f1126-62d1-4cc4-9067-f71f9825c377}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\Contents\Source\ExampleBrowserWindow.cpp">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\Contents\Source\ExportProjectWindow.cpp">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\Contents\Source\NewFileWindow.cpp">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\Contents\Source\NewProjectWindow.cpp">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\Contents\Source\PolycodeConsole.cpp">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\Contents\Source\PolycodeEditor.cpp">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\Contents\Source\PolycodeEditorManager.cpp">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\Contents\Source\PolycodeFontEditor.cpp">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\Contents\Source\PolycodeFrame.cpp">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\Contents\Source\PolycodeIDEApp.cpp">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\Contents\Source\PolycodeImageEditor.cpp">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\Contents\Source\PolycodeMaterialEditor.cpp">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\Contents\Source\PolycodeProject.cpp">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\Contents\Source\PolycodeProjectBrowser.cpp">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\Contents\Source\PolycodeProjectEditor.cpp">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\Contents\Source\PolycodeProjectManager.cpp">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\Contents\Source\PolycodeProps.cpp">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\Contents\Source\PolycodeRemoteDebugger.cpp">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\Contents\Source\PolycodeSpriteEditor.cpp">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\Contents\Source\PolycodeTextEditor.cpp">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\Contents\Source\PolycodeToolLauncher.cpp">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\Contents\Source\TextureBrowser.cpp">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\Contents\Source\ToolWindows.cpp">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="main.cpp">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\Contents\Source\PolycodeClipboard.cpp">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\Contents\Source\SettingsWindow.cpp">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\Contents\Source\PolycodeMeshEditor.cpp">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\Contents\Source\TrackballCamera.cpp">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\Contents\Source\TransformGizmo.cpp">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\Contents\Source\EditorGrid.cpp">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\Contents\Source\EntityEditorPropertyView.cpp">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\Contents\Source\PolycodeEntityEditor.cpp">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\Contents\Source\EntityEditorSettingsView.cpp">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\Contents\Source\EntityEditorTreeView.cpp">
+      <Filter>Source</Filter>
+    </ClCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\..\Contents\Include\ExampleBrowserWindow.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\Contents\Include\ExportProjectWindow.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\Contents\Include\NewFileWindow.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\Contents\Include\NewProjectWindow.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\Contents\Include\PolycodeConsole.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\Contents\Include\PolycodeEditor.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\Contents\Include\PolycodeEditorManager.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\Contents\Include\PolycodeFontEditor.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\Contents\Include\PolycodeFrame.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\Contents\Include\PolycodeGlobals.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\Contents\Include\PolycodeIDEApp.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\Contents\Include\PolycodeImageEditor.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\Contents\Include\PolycodeMaterialEditor.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\Contents\Include\PolycodeProject.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\Contents\Include\PolycodeProjectBrowser.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\Contents\Include\PolycodeProjectEditor.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\Contents\Include\PolycodeProjectManager.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\Contents\Include\PolycodeProps.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\Contents\Include\PolycodeRemoteDebugger.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\Contents\Include\PolycodeSpriteEditor.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\Contents\Include\PolycodeTextEditor.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\Contents\Include\PolycodeToolLauncher.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\Contents\Include\TextureBrowser.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\Contents\Include\ToolWindows.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\Contents\Include\PolycodeClipboard.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\Contents\Include\SettingsWindow.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="resource.h" />
+    <ClInclude Include="..\..\Contents\Include\EditorGrid.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\Contents\Include\EntityEditorPropertyView.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\Contents\Include\PolycodeEntityEditor.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\Contents\Include\PolycodeMeshEditor.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\Contents\Include\TrackballCamera.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\Contents\Include\TransformGizmo.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\Contents\Include\EntityEditorSettingsView.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\Contents\Include\EntityEditorTreeView.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="Polycode.rc" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="..\..\..\Assets\Icons\main_icon.png" />
+    <None Include="..\..\..\Assets\Icons\main_icon.ico" />
+    <None Include="..\..\..\Assets\Icons\polycode_project.ico" />
+    <None Include="..\..\..\Assets\Icons\app_file_icon.ico" />
+  </ItemGroup>
+</Project>

+ 11 - 0
IDE/Build/Windows2013/Polycode.vcxproj.user

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+    <LocalDebuggerWorkingDirectory>..</LocalDebuggerWorkingDirectory>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+    <LocalDebuggerWorkingDirectory>..</LocalDebuggerWorkingDirectory>
+  </PropertyGroup>
+</Project>

+ 103 - 0
IDE/Build/Windows2013/main.cpp

@@ -0,0 +1,103 @@
+#include <Polycode.h>
+#include "PolycodeIDEApp.h"
+#include "PolycodeView.h"
+#include "windows.h"
+#include "resource.h"
+#include <Shlobj.h>
+#include <Shlwapi.h>
+#include <shellapi.h>
+
+using namespace Polycode;
+
+void registerFileType(String extension, String progId, String app, String defaultIcon, String desc) {
+	HKEY hkey;
+
+	RegCreateKeyEx(HKEY_CLASSES_ROOT,extension.getWDataWithEncoding(String::ENCODING_UTF8),0,0,0,KEY_ALL_ACCESS,0,&hkey,0);
+	RegSetValueEx(hkey,L"",0,REG_SZ,(BYTE*)progId.getWDataWithEncoding(String::ENCODING_UTF8),progId.length() * sizeof(wchar_t));
+	RegCloseKey(hkey);
+
+	RegCreateKeyEx(HKEY_CLASSES_ROOT,L".polyproject\\OpenWithProgIds\\",0,0,0,KEY_ALL_ACCESS,0,&hkey,0);
+	RegSetValueEx(hkey,progId.getWDataWithEncoding(String::ENCODING_UTF8),0,REG_NONE,0,0);
+	RegCloseKey(hkey);
+
+	RegCreateKeyEx(HKEY_CLASSES_ROOT,progId.getWDataWithEncoding(String::ENCODING_UTF8),0,0,0,KEY_ALL_ACCESS,0,&hkey,0);
+	RegSetValueEx(hkey,L"",0,REG_SZ,(BYTE*)desc.getWDataWithEncoding(String::ENCODING_UTF8),desc.length() * sizeof(wchar_t));
+	RegCloseKey(hkey);
+
+	String path = progId + "\\shell\\open\\command\\";
+	RegCreateKeyEx(HKEY_CLASSES_ROOT,path.getWDataWithEncoding(String::ENCODING_UTF8),0,0,0,KEY_ALL_ACCESS,0,&hkey,0);
+	RegSetValueEx(hkey,L"",0,REG_SZ,(BYTE*)app.getWDataWithEncoding(String::ENCODING_UTF8),app.length() * sizeof(wchar_t));
+	RegCloseKey(hkey);
+
+	path = progId + "\\DefaultIcon\\";
+	RegCreateKeyEx(HKEY_CLASSES_ROOT,path.getWDataWithEncoding(String::ENCODING_UTF8),0,0,0,KEY_ALL_ACCESS,0,&hkey,0);
+	RegSetValueEx(hkey,L"",0,REG_SZ,(BYTE*)defaultIcon.getWDataWithEncoding(String::ENCODING_UTF8),defaultIcon.length() * sizeof(wchar_t));
+	RegCloseKey(hkey);
+
+	SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST,0,0);
+
+}
+
+int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
+{
+
+	ChangeWindowMessageFilter(WM_COPYDATA,MSGFLT_ADD);
+
+	int nArgs;
+	LPWSTR *szArglist =  CommandLineToArgvW(GetCommandLineW(), &nArgs);
+	
+	String fileName = "";
+	if(nArgs > 1) {
+		fileName = String(szArglist[1]);
+	}
+
+	fileName = fileName.replace("\\", "/");
+
+	// check if an instance of Polycode is running and bring it up and open file if needed
+	HWND runningHwnd = FindWindow(L"POLYCODEAPPLICATION", L"Polycode");
+	if(runningHwnd) {
+		SwitchToThisWindow(runningHwnd, FALSE);
+		ShowWindow(runningHwnd,SW_NORMAL);
+
+		if(fileName != "") {
+			COPYDATASTRUCT cds;
+			cds.cbData = (fileName.length() * sizeof(wchar_t)) + 1;
+			cds.lpData = fileName.getWDataWithEncoding(String::ENCODING_UTF8);
+			SendMessage(runningHwnd, WM_COPYDATA, 0, (LPARAM)&cds);
+		}
+		return 1;
+	}
+
+	TCHAR FilePath[MAX_PATH] = { 0 };
+	GetModuleFileName( 0, FilePath, MAX_PATH );
+	PathRemoveFileSpec( FilePath );    
+	SetCurrentDirectory( FilePath );
+
+	PolycodeView *view = new PolycodeView(hInstance, nCmdShow, L"Polycode", true, false);
+	PolycodeIDEApp *app = new PolycodeIDEApp(view);
+
+	if(fileName != "") {
+		app->openProject(fileName);
+	}
+
+	HICON mainIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON1));
+	SendMessage(view->hwnd, WM_SETICON, ICON_SMALL, (LPARAM) mainIcon );
+
+	registerFileType(".polyproject", "Polycode.ProjectFile.1", CoreServices::getInstance()->getCore()->getDefaultWorkingDirectory()+"\\Polycode.exe \"%1\"", CoreServices::getInstance()->getCore()->getDefaultWorkingDirectory()+"\\Polycode.exe,-103", "Polycode Project");
+	registerFileType(".polyapp", "Polycode.Applicaton.1", CoreServices::getInstance()->getCore()->getDefaultWorkingDirectory()+"\\Standalone\\Player\\PolycodePlayer.exe \"%1\"", CoreServices::getInstance()->getCore()->getDefaultWorkingDirectory()+"\\Polycode.exe,-104", "Polycode Application");
+
+	MSG Msg;
+	do {
+		if(PeekMessage(&Msg, NULL, 0,0,PM_REMOVE)) {
+			TranslateMessage(&Msg);
+			DispatchMessage(&Msg);
+		}
+		if(((Win32Core*)app->core)->hasCopyDataString) {
+			app->openProject(((Win32Core*)app->core)->copyDataString);
+			((Win32Core*)app->core)->hasCopyDataString = false;
+		}
+	} while(app->Update());
+
+	app->saveConfigFile();
+	return Msg.wParam;
+}

BIN
IDE/Build/Windows2013/resource.h


BIN
Player/Contents/Include/Polycode.rc