Implemented post-build symlink to assets folder for windows builds

dev
Shariq Shah 8 years ago
parent c96de173f9
commit 3357284b24
  1. 18
      .dir-locals.el
  2. 4
      README.md
  3. 48
      build/genie.lua
  4. 28
      build/win_vs2017/Symmetry/Symmetry.sln
  5. 193
      build/win_vs2017/Symmetry/Symmetry.vcxproj
  6. 201
      build/win_vs2017/Symmetry/Symmetry.vcxproj.filters
  7. 6
      src/common/hashmap.c
  8. 2
      src/game/file_io.c
  9. 4
      src/libsymmetry/scene.c

@ -1,6 +1,22 @@
((c-mode . (cond
((string-equal system-type "windows-nt") ; Microsoft Windows
(progn
((c-mode .
((company-clang-arguments . ("-IE:/Projects/symmerty/include" "-IE:\\Projects\\symmerty\\third_party\\windows\\SDL2-2.0.5\\include"))
(flycheck-clang-include-path . ("E:/Projects/symmerty/include")))
)
((c++-mode . ((mode . c))))
)
))
((string-equal system-type "gnu/linux") ; linux
(progn
((c-mode .
((company-clang-arguments . ("-I/mnt/Dev/Projects/symmetry/include")) ((company-clang-arguments . ("-I/mnt/Dev/Projects/symmetry/include"))
(flycheck-clang-include-path . ("/mnt/Dev/Projects/symmetry/include"))) (flycheck-clang-include-path . ("/mnt/Dev/Projects/symmetry/include")))
) )
((c++-mode . ((mode . c)))) ((c++-mode . ((mode . c))))
) )
)))

@ -149,6 +149,10 @@
- ## TODO - ## TODO
- Implement file copy and file delete on windows and linux.
- Implement a work-around for dll locking on windows by creating a copy of the game lib at launch and when reloading,
unload the current dll, delete it and create new copy of the updated dll and load that.
- Find a solution for the asset import/export situation by either updating the blender exporter or adding assimp as dependancy
- Fix bugs with sound sources not updating - Fix bugs with sound sources not updating
- Add creating distributable build and uploading to itch.io account support to GENie under windows and linux. - Add creating distributable build and uploading to itch.io account support to GENie under windows and linux.
- Remove hardcoded numerical values from sscanf and other format strings. - Remove hardcoded numerical values from sscanf and other format strings.

@ -21,10 +21,10 @@ solution "Symmetry"
local openal_lib_dir = "../third_party/windows/OpenAL/lib/" local openal_lib_dir = "../third_party/windows/OpenAL/lib/"
defines {"_CRT_SECURE_NO_WARNINGS"} defines {"_CRT_SECURE_NO_WARNINGS"}
flags {"NoIncrementalLink"} flags {"NoIncrementalLink", "NoEditAndContinue"}
configuration "Debug" configuration "Debug"
if _ACTION ~= nil and _ACTION ~= "post_build_copy_dll" then if (_ACTION ~= nil and _ACTION ~= "postbuild_copy") then
os.mkdir(_ACTION .. "/debug") os.mkdir(_ACTION .. "/debug")
targetdir (_ACTION .. "/debug") targetdir (_ACTION .. "/debug")
end end
@ -32,7 +32,7 @@ solution "Symmetry"
flags { "Symbols" } flags { "Symbols" }
configuration "Release" configuration "Release"
if _ACTION ~= nil and _ACTION ~= "post_build_copy_dll" then if (_ACTION ~= nil and _ACTION ~= "postbuild_copy") then
os.mkdir(_ACTION .. "/release") os.mkdir(_ACTION .. "/release")
targetdir (_ACTION .. "/release") targetdir (_ACTION .. "/release")
end end
@ -59,29 +59,53 @@ solution "Symmetry"
links {"SDL2", "OpenAL32"} links {"SDL2", "OpenAL32"}
newaction { newaction {
trigger = "post_build_copy_dll", trigger = "postbuild_copy",
description = "Action to copy relevant dlls to executable directory after build", description = "Action to copy relevant dlls to executable directory after build",
execute = function () execute = function ()
printf("Copying DLLs to executable directory...\n") local copy_dest_dir = ""
local symlink_dest_dir = ""
if(_ARGS[1] == "vs2017") then
copy_dest_dir = "vs2017"
symlink_dest_dir = "..\\..\\..\\assets"
printf("Copying DLLs to visual studio build directory...\n")
else
copy_dest_dir = "projects/qbs"
symlink_dest_dir = "..\\..\\..\\..\\assets"
printf("Copying DLLs to qbs build directory...\n")
end
local success = false local success = false
success = os.copyfile(sdl_lib_dir .. "SDL2.dll", "vs2017/debug/SDL2.dll") success = os.copyfile(sdl_lib_dir .. "SDL2.dll", copy_dest_dir .. "/debug/SDL2.dll")
success = os.copyfile(sdl_lib_dir .. "SDL2.dll", "vs2017/release/SDL2.dll") success = os.copyfile(sdl_lib_dir .. "SDL2.dll", copy_dest_dir .. "/release/SDL2.dll")
success = os.copyfile("../third_party/windows/OpenAL/bin/OpenAL32.dll", "vs2017/debug/OpenAL32.dll") success = os.copyfile("../third_party/windows/OpenAL/bin/OpenAL32.dll", copy_dest_dir .. "/debug/OpenAL32.dll")
success = os.copyfile("../third_party/windows/OpenAL/bin/OpenAL32.dll", "vs2017/release/OpenAL32.dll") success = os.copyfile("../third_party/windows/OpenAL/bin/OpenAL32.dll", copy_dest_dir .. "/release/OpenAL32.dll")
if success ~= true then if success ~= true then
printf("Copying dlls failed.") printf("Copying one or more dlls failed.")
else else
printf("Copying dlls successful.") printf("Copying dlls successful.")
end end
-- Create sym links
local output = os.outputof("mklink /D " .. path.translate(copy_dest_dir, "\\") .. "\\debug\\assets " .. symlink_dest_dir)
printf("MKlink debug output : %s", output)
output = os.outputof("mklink /D " .. path.translate(copy_dest_dir, "\\") .. "\\release\\assets " ..symlink_dest_dir)
printf("MKlink release output : %s", output)
end end
} }
if(_ACTION == "vs2017") then
postbuildcommands postbuildcommands
{ {
_PREMAKE_COMMAND .. " post_build_copy_dll" _PREMAKE_COMMAND .. " postbuild_copy vs2017"
} }
else
postbuildcommands
{
_PREMAKE_COMMAND .. " postbuild_copy qbs"
}
end
------------------------- -------------------------
-- libSymmetry -- libSymmetry
------------------------- -------------------------

@ -1,28 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.26228.4
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Symmetry", "Symmetry.vcxproj", "{3244103F-4798-4086-A683-B11F168625D3}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{3244103F-4798-4086-A683-B11F168625D3}.Debug|x64.ActiveCfg = Debug|x64
{3244103F-4798-4086-A683-B11F168625D3}.Debug|x64.Build.0 = Debug|x64
{3244103F-4798-4086-A683-B11F168625D3}.Debug|x86.ActiveCfg = Debug|Win32
{3244103F-4798-4086-A683-B11F168625D3}.Debug|x86.Build.0 = Debug|Win32
{3244103F-4798-4086-A683-B11F168625D3}.Release|x64.ActiveCfg = Release|x64
{3244103F-4798-4086-A683-B11F168625D3}.Release|x64.Build.0 = Release|x64
{3244103F-4798-4086-A683-B11F168625D3}.Release|x86.ActiveCfg = Release|Win32
{3244103F-4798-4086-A683-B11F168625D3}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

@ -1,193 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.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="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>15.0</VCProjectVersion>
<ProjectGuid>{3244103F-4798-4086-A683-B11F168625D3}</ProjectGuid>
<RootNamespace>Symmetry</RootNamespace>
<WindowsTargetPlatformVersion>10.0.14393.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</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" />
</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" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<SDLCheck>true</SDLCheck>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>$(MSBuildProjectDirectory)\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>USE_GLAD;_CRT_SECURE_NO_WARNINGS;AL_LIBTYPE_STATIC;AL_DEBUG;GL_DEBUG_CONTEXT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
<Link>
<AdditionalLibraryDirectories>$(MSBuildProjectDirectory)\..\..\..\libs\debug\win64_msvc;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>version.lib;imm32.lib;winmm.lib;opengl32.lib;SDL2.lib;OpenAL32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SubSystem>Console</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<AdditionalIncludeDirectories>$(MSBuildProjectDirectory)\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>USE_GLAD;_CRT_SECURE_NO_WARNINGS;AL_LIBTYPE_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalDependencies>version.lib;imm32.lib;winmm.lib;opengl32.lib;SDL2.lib;OpenAL32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>F:\Projects\symmetry\build\win_vs2017\Symmetry\..\..\..\libs\release\win64_msvc;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\..\src\array.c" />
<ClCompile Include="..\..\..\src\bounding_volumes.c" />
<ClCompile Include="..\..\..\src\camera.c" />
<ClCompile Include="..\..\..\src\editor.c" />
<ClCompile Include="..\..\..\src\entity.c" />
<ClCompile Include="..\..\..\src\file_io.c" />
<ClCompile Include="..\..\..\src\framebuffer.c" />
<ClCompile Include="..\..\..\src\game.c" />
<ClCompile Include="..\..\..\src\geometry.c" />
<ClCompile Include="..\..\..\src\glad.c" />
<ClCompile Include="..\..\..\src\gl_load.c" />
<ClCompile Include="..\..\..\src\gui.c" />
<ClCompile Include="..\..\..\src\input.c" />
<ClCompile Include="..\..\..\src\light.c" />
<ClCompile Include="..\..\..\src\linmath.c" />
<ClCompile Include="..\..\..\src\log.c" />
<ClCompile Include="..\..\..\src\main.c" />
<ClCompile Include="..\..\..\src\material.c" />
<ClCompile Include="..\..\..\src\model.c" />
<ClCompile Include="..\..\..\src\platform.c" />
<ClCompile Include="..\..\..\src\renderer.c" />
<ClCompile Include="..\..\..\src\scene.c" />
<ClCompile Include="..\..\..\src\shader.c" />
<ClCompile Include="..\..\..\src\sound.c" />
<ClCompile Include="..\..\..\src\string_utils.c" />
<ClCompile Include="..\..\..\src\texture.c" />
<ClCompile Include="..\..\..\src\transform.c" />
<ClCompile Include="..\..\..\src\utils.c" />
<ClCompile Include="..\..\..\src\variant.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\src\array.h" />
<ClInclude Include="..\..\..\src\array_str.h" />
<ClInclude Include="..\..\..\src\bounding_volumes.h" />
<ClInclude Include="..\..\..\src\camera.h" />
<ClInclude Include="..\..\..\src\components.h" />
<ClInclude Include="..\..\..\src\editor.h" />
<ClInclude Include="..\..\..\src\entity.h" />
<ClInclude Include="..\..\..\src\event.h" />
<ClInclude Include="..\..\..\src\file_io.h" />
<ClInclude Include="..\..\..\src\framebuffer.h" />
<ClInclude Include="..\..\..\src\game.h" />
<ClInclude Include="..\..\..\src\geometry.h" />
<ClInclude Include="..\..\..\src\gl_load.h" />
<ClInclude Include="..\..\..\src\gui.h" />
<ClInclude Include="..\..\..\src\input.h" />
<ClInclude Include="..\..\..\src\light.h" />
<ClInclude Include="..\..\..\src\linmath.h" />
<ClInclude Include="..\..\..\src\log.h" />
<ClInclude Include="..\..\..\src\material.h" />
<ClInclude Include="..\..\..\src\model.h" />
<ClInclude Include="..\..\..\src\num_types.h" />
<ClInclude Include="..\..\..\src\platform.h" />
<ClInclude Include="..\..\..\src\renderer.h" />
<ClInclude Include="..\..\..\src\scene.h" />
<ClInclude Include="..\..\..\src\shader.h" />
<ClInclude Include="..\..\..\src\sound.h" />
<ClInclude Include="..\..\..\src\string_utils.h" />
<ClInclude Include="..\..\..\src\texture.h" />
<ClInclude Include="..\..\..\src\transform.h" />
<ClInclude Include="..\..\..\src\utils.h" />
<ClInclude Include="..\..\..\src\variant.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

@ -1,201 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\src\array.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\bounding_volumes.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\camera.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\entity.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\file_io.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\framebuffer.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\game.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\geometry.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\gl_load.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\input.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\light.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\linmath.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\log.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\main.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\material.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\model.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\platform.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\renderer.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\scene.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\shader.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\string_utils.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\texture.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\transform.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\utils.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\variant.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\glad.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\editor.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\gui.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\sound.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\src\array.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\array_str.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\bounding_volumes.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\camera.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\components.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\entity.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\event.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\file_io.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\framebuffer.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\game.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\geometry.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\gl_load.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\input.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\light.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\linmath.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\log.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\material.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\model.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\num_types.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\platform.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\renderer.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\scene.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\shader.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\string_utils.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\texture.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\transform.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\utils.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\variant.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\editor.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\gui.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\sound.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>

@ -127,19 +127,19 @@ void hashmap_value_remove(struct Hashmap* hashmap, const char* key)
} }
void hashmap_float_set(struct Hashmap* hashmap, const char* key, float value) void hashmap_float_set(struct Hashmap* hashmap, const char* key, const float value)
{ {
struct Hashmap_Entry* new_entry = hashmap_entry_new(hashmap, key); struct Hashmap_Entry* new_entry = hashmap_entry_new(hashmap, key);
variant_assign_float(&new_entry->value, value); variant_assign_float(&new_entry->value, value);
} }
void hashmap_int_set(struct Hashmap* hashmap, const char* key, int value) void hashmap_int_set(struct Hashmap* hashmap, const char* key, const int value)
{ {
struct Hashmap_Entry* new_entry = hashmap_entry_new(hashmap, key); struct Hashmap_Entry* new_entry = hashmap_entry_new(hashmap, key);
variant_assign_int(&new_entry->value, value); variant_assign_int(&new_entry->value, value);
} }
void hashmap_double_set(struct Hashmap* hashmap, const char* key, double value) void hashmap_double_set(struct Hashmap* hashmap, const char* key, const double value)
{ {
struct Hashmap_Entry* new_entry = hashmap_entry_new(hashmap, key); struct Hashmap_Entry* new_entry = hashmap_entry_new(hashmap, key);
variant_assign_double(&new_entry->value, value); variant_assign_double(&new_entry->value, value);

@ -59,7 +59,7 @@ char* io_file_read(const int directory_type, const char* path, const char* mode,
return data; return data;
} }
FILE* io_file_open(int directory_type, const char* path, const char* mode) FILE* io_file_open(const int directory_type, const char* path, const char* mode)
{ {
assert(directory_type >= 0 && directory_type <= DT_INSTALL); assert(directory_type >= 0 && directory_type <= DT_INSTALL);

@ -128,8 +128,8 @@ bool scene_load(const char* filename, int directory_type)
FILE* entity_file = platform->file.open(directory_type, filename, "r"); FILE* entity_file = platform->file.open(directory_type, filename, "r");
if(!entity_file) if(!entity_file)
{ {
log_error("scene:load", "Failed to open scenefile %s for writing", filename); log_error("scene:load", "Failed to open scenefile %s for reading", filename);
return NULL; return false;
} }
struct Entity* root = entity_get(root_node); struct Entity* root = entity_get(root_node);

Loading…
Cancel
Save