diff --git a/.gitignore b/.gitignore
index 2b84daf..a0e1d81 100644
--- a/.gitignore
+++ b/.gitignore
@@ -18,3 +18,7 @@ vs-build
/.vs/cmake.db
/hamster.dir/Release
/x64/Release
+/copy_data.vcxproj
+/copy_data.vcxproj.filters
+/hamster.vcxproj
+/hamster.vcxproj.filters
diff --git a/assets/hamster_jet.png b/assets/hamster_jet.png
index 59e1143..4676952 100644
Binary files a/assets/hamster_jet.png and b/assets/hamster_jet.png differ
diff --git a/copy_data.vcxproj b/copy_data.vcxproj
deleted file mode 100644
index 0cda3d4..0000000
--- a/copy_data.vcxproj
+++ /dev/null
@@ -1,511 +0,0 @@
-
-
-
- x64
-
-
-
- Debug
- x64
-
-
- Release
- x64
-
-
- MinSizeRel
- x64
-
-
- RelWithDebInfo
- x64
-
-
-
- {CC963984-4384-3CCA-8B91-8A023E4392E9}
- Win32Proj
- 10.0.22621.0
- x64
- copy_data
- NoUpgrade
-
-
-
- Utility
- MultiByte
- v143
-
-
- Utility
- MultiByte
- v143
-
-
- Utility
- MultiByte
- v143
-
-
- Utility
- MultiByte
- v143
-
-
-
-
-
-
-
-
-
- <_ProjectFileVersion>10.0.20506.1
- $(Platform)\$(Configuration)\$(ProjectName)\
- $(Platform)\$(Configuration)\$(ProjectName)\
- $(Platform)\$(Configuration)\$(ProjectName)\
- $(Platform)\$(Configuration)\$(ProjectName)\
-
-
-
- C:\Users\sigon\source\repos\hamster\src;%(AdditionalIncludeDirectories)
- $(ProjectDir)/$(IntDir)
- %(Filename).h
- %(Filename).tlb
- %(Filename)_i.c
- %(Filename)_p.c
-
-
-
-
- C:\Users\sigon\source\repos\hamster\src;%(AdditionalIncludeDirectories)
- $(ProjectDir)/$(IntDir)
- %(Filename).h
- %(Filename).tlb
- %(Filename)_i.c
- %(Filename)_p.c
-
-
-
-
- C:\Users\sigon\source\repos\hamster\src;%(AdditionalIncludeDirectories)
- $(ProjectDir)/$(IntDir)
- %(Filename).h
- %(Filename).tlb
- %(Filename)_i.c
- %(Filename)_p.c
-
-
-
-
- C:\Users\sigon\source\repos\hamster\src;%(AdditionalIncludeDirectories)
- $(ProjectDir)/$(IntDir)
- %(Filename).h
- %(Filename).tlb
- %(Filename)_i.c
- %(Filename)_p.c
-
-
-
-
- Generating bin/assets/.keepme
- setlocal
-"C:\Program Files\CMake\bin\cmake.exe" -E copy C:/Users/sigon/source/repos/hamster/assets/.keepme C:/Users/sigon/source/repos/hamster/bin/assets/.keepme
-if %errorlevel% neq 0 goto :cmEnd
-:cmEnd
-endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
-:cmErrorLevel
-exit /b %1
-:cmDone
-if %errorlevel% neq 0 goto :VCEnd
- %(AdditionalInputs)
- C:\Users\sigon\source\repos\hamster\bin\assets\.keepme
- false
- Generating bin/assets/.keepme
- setlocal
-"C:\Program Files\CMake\bin\cmake.exe" -E copy C:/Users/sigon/source/repos/hamster/assets/.keepme C:/Users/sigon/source/repos/hamster/bin/assets/.keepme
-if %errorlevel% neq 0 goto :cmEnd
-:cmEnd
-endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
-:cmErrorLevel
-exit /b %1
-:cmDone
-if %errorlevel% neq 0 goto :VCEnd
- %(AdditionalInputs)
- C:\Users\sigon\source\repos\hamster\bin\assets\.keepme
- false
- Generating bin/assets/.keepme
- setlocal
-"C:\Program Files\CMake\bin\cmake.exe" -E copy C:/Users/sigon/source/repos/hamster/assets/.keepme C:/Users/sigon/source/repos/hamster/bin/assets/.keepme
-if %errorlevel% neq 0 goto :cmEnd
-:cmEnd
-endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
-:cmErrorLevel
-exit /b %1
-:cmDone
-if %errorlevel% neq 0 goto :VCEnd
- %(AdditionalInputs)
- C:\Users\sigon\source\repos\hamster\bin\assets\.keepme
- false
- Generating bin/assets/.keepme
- setlocal
-"C:\Program Files\CMake\bin\cmake.exe" -E copy C:/Users/sigon/source/repos/hamster/assets/.keepme C:/Users/sigon/source/repos/hamster/bin/assets/.keepme
-if %errorlevel% neq 0 goto :cmEnd
-:cmEnd
-endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
-:cmErrorLevel
-exit /b %1
-:cmDone
-if %errorlevel% neq 0 goto :VCEnd
- %(AdditionalInputs)
- C:\Users\sigon\source\repos\hamster\bin\assets\.keepme
- false
-
-
-
-
- Generating bin/assets/border.png
- setlocal
-"C:\Program Files\CMake\bin\cmake.exe" -E copy C:/Users/sigon/source/repos/hamster/assets/border.png C:/Users/sigon/source/repos/hamster/bin/assets/border.png
-if %errorlevel% neq 0 goto :cmEnd
-:cmEnd
-endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
-:cmErrorLevel
-exit /b %1
-:cmDone
-if %errorlevel% neq 0 goto :VCEnd
- %(AdditionalInputs)
- C:\Users\sigon\source\repos\hamster\bin\assets\border.png
- false
- Generating bin/assets/border.png
- setlocal
-"C:\Program Files\CMake\bin\cmake.exe" -E copy C:/Users/sigon/source/repos/hamster/assets/border.png C:/Users/sigon/source/repos/hamster/bin/assets/border.png
-if %errorlevel% neq 0 goto :cmEnd
-:cmEnd
-endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
-:cmErrorLevel
-exit /b %1
-:cmDone
-if %errorlevel% neq 0 goto :VCEnd
- %(AdditionalInputs)
- C:\Users\sigon\source\repos\hamster\bin\assets\border.png
- false
- Generating bin/assets/border.png
- setlocal
-"C:\Program Files\CMake\bin\cmake.exe" -E copy C:/Users/sigon/source/repos/hamster/assets/border.png C:/Users/sigon/source/repos/hamster/bin/assets/border.png
-if %errorlevel% neq 0 goto :cmEnd
-:cmEnd
-endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
-:cmErrorLevel
-exit /b %1
-:cmDone
-if %errorlevel% neq 0 goto :VCEnd
- %(AdditionalInputs)
- C:\Users\sigon\source\repos\hamster\bin\assets\border.png
- false
- Generating bin/assets/border.png
- setlocal
-"C:\Program Files\CMake\bin\cmake.exe" -E copy C:/Users/sigon/source/repos/hamster/assets/border.png C:/Users/sigon/source/repos/hamster/bin/assets/border.png
-if %errorlevel% neq 0 goto :cmEnd
-:cmEnd
-endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
-:cmErrorLevel
-exit /b %1
-:cmDone
-if %errorlevel% neq 0 goto :VCEnd
- %(AdditionalInputs)
- C:\Users\sigon\source\repos\hamster\bin\assets\border.png
- false
-
-
-
-
- Generating bin/assets/border.xcf
- setlocal
-"C:\Program Files\CMake\bin\cmake.exe" -E copy C:/Users/sigon/source/repos/hamster/assets/border.xcf C:/Users/sigon/source/repos/hamster/bin/assets/border.xcf
-if %errorlevel% neq 0 goto :cmEnd
-:cmEnd
-endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
-:cmErrorLevel
-exit /b %1
-:cmDone
-if %errorlevel% neq 0 goto :VCEnd
- %(AdditionalInputs)
- C:\Users\sigon\source\repos\hamster\bin\assets\border.xcf
- false
- Generating bin/assets/border.xcf
- setlocal
-"C:\Program Files\CMake\bin\cmake.exe" -E copy C:/Users/sigon/source/repos/hamster/assets/border.xcf C:/Users/sigon/source/repos/hamster/bin/assets/border.xcf
-if %errorlevel% neq 0 goto :cmEnd
-:cmEnd
-endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
-:cmErrorLevel
-exit /b %1
-:cmDone
-if %errorlevel% neq 0 goto :VCEnd
- %(AdditionalInputs)
- C:\Users\sigon\source\repos\hamster\bin\assets\border.xcf
- false
- Generating bin/assets/border.xcf
- setlocal
-"C:\Program Files\CMake\bin\cmake.exe" -E copy C:/Users/sigon/source/repos/hamster/assets/border.xcf C:/Users/sigon/source/repos/hamster/bin/assets/border.xcf
-if %errorlevel% neq 0 goto :cmEnd
-:cmEnd
-endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
-:cmErrorLevel
-exit /b %1
-:cmDone
-if %errorlevel% neq 0 goto :VCEnd
- %(AdditionalInputs)
- C:\Users\sigon\source\repos\hamster\bin\assets\border.xcf
- false
- Generating bin/assets/border.xcf
- setlocal
-"C:\Program Files\CMake\bin\cmake.exe" -E copy C:/Users/sigon/source/repos/hamster/assets/border.xcf C:/Users/sigon/source/repos/hamster/bin/assets/border.xcf
-if %errorlevel% neq 0 goto :cmEnd
-:cmEnd
-endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
-:cmErrorLevel
-exit /b %1
-:cmDone
-if %errorlevel% neq 0 goto :VCEnd
- %(AdditionalInputs)
- C:\Users\sigon\source\repos\hamster\bin\assets\border.xcf
- false
-
-
-
-
- Generating bin/assets/gametiles.png
- setlocal
-"C:\Program Files\CMake\bin\cmake.exe" -E copy C:/Users/sigon/source/repos/hamster/assets/gametiles.png C:/Users/sigon/source/repos/hamster/bin/assets/gametiles.png
-if %errorlevel% neq 0 goto :cmEnd
-:cmEnd
-endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
-:cmErrorLevel
-exit /b %1
-:cmDone
-if %errorlevel% neq 0 goto :VCEnd
- %(AdditionalInputs)
- C:\Users\sigon\source\repos\hamster\bin\assets\gametiles.png
- false
- Generating bin/assets/gametiles.png
- setlocal
-"C:\Program Files\CMake\bin\cmake.exe" -E copy C:/Users/sigon/source/repos/hamster/assets/gametiles.png C:/Users/sigon/source/repos/hamster/bin/assets/gametiles.png
-if %errorlevel% neq 0 goto :cmEnd
-:cmEnd
-endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
-:cmErrorLevel
-exit /b %1
-:cmDone
-if %errorlevel% neq 0 goto :VCEnd
- %(AdditionalInputs)
- C:\Users\sigon\source\repos\hamster\bin\assets\gametiles.png
- false
- Generating bin/assets/gametiles.png
- setlocal
-"C:\Program Files\CMake\bin\cmake.exe" -E copy C:/Users/sigon/source/repos/hamster/assets/gametiles.png C:/Users/sigon/source/repos/hamster/bin/assets/gametiles.png
-if %errorlevel% neq 0 goto :cmEnd
-:cmEnd
-endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
-:cmErrorLevel
-exit /b %1
-:cmDone
-if %errorlevel% neq 0 goto :VCEnd
- %(AdditionalInputs)
- C:\Users\sigon\source\repos\hamster\bin\assets\gametiles.png
- false
- Generating bin/assets/gametiles.png
- setlocal
-"C:\Program Files\CMake\bin\cmake.exe" -E copy C:/Users/sigon/source/repos/hamster/assets/gametiles.png C:/Users/sigon/source/repos/hamster/bin/assets/gametiles.png
-if %errorlevel% neq 0 goto :cmEnd
-:cmEnd
-endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
-:cmErrorLevel
-exit /b %1
-:cmDone
-if %errorlevel% neq 0 goto :VCEnd
- %(AdditionalInputs)
- C:\Users\sigon\source\repos\hamster\bin\assets\gametiles.png
- false
-
-
-
-
- Generating bin/assets/toybox32-1x.png
- setlocal
-"C:\Program Files\CMake\bin\cmake.exe" -E copy C:/Users/sigon/source/repos/hamster/assets/toybox32-1x.png C:/Users/sigon/source/repos/hamster/bin/assets/toybox32-1x.png
-if %errorlevel% neq 0 goto :cmEnd
-:cmEnd
-endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
-:cmErrorLevel
-exit /b %1
-:cmDone
-if %errorlevel% neq 0 goto :VCEnd
- %(AdditionalInputs)
- C:\Users\sigon\source\repos\hamster\bin\assets\toybox32-1x.png
- false
- Generating bin/assets/toybox32-1x.png
- setlocal
-"C:\Program Files\CMake\bin\cmake.exe" -E copy C:/Users/sigon/source/repos/hamster/assets/toybox32-1x.png C:/Users/sigon/source/repos/hamster/bin/assets/toybox32-1x.png
-if %errorlevel% neq 0 goto :cmEnd
-:cmEnd
-endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
-:cmErrorLevel
-exit /b %1
-:cmDone
-if %errorlevel% neq 0 goto :VCEnd
- %(AdditionalInputs)
- C:\Users\sigon\source\repos\hamster\bin\assets\toybox32-1x.png
- false
- Generating bin/assets/toybox32-1x.png
- setlocal
-"C:\Program Files\CMake\bin\cmake.exe" -E copy C:/Users/sigon/source/repos/hamster/assets/toybox32-1x.png C:/Users/sigon/source/repos/hamster/bin/assets/toybox32-1x.png
-if %errorlevel% neq 0 goto :cmEnd
-:cmEnd
-endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
-:cmErrorLevel
-exit /b %1
-:cmDone
-if %errorlevel% neq 0 goto :VCEnd
- %(AdditionalInputs)
- C:\Users\sigon\source\repos\hamster\bin\assets\toybox32-1x.png
- false
- Generating bin/assets/toybox32-1x.png
- setlocal
-"C:\Program Files\CMake\bin\cmake.exe" -E copy C:/Users/sigon/source/repos/hamster/assets/toybox32-1x.png C:/Users/sigon/source/repos/hamster/bin/assets/toybox32-1x.png
-if %errorlevel% neq 0 goto :cmEnd
-:cmEnd
-endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
-:cmErrorLevel
-exit /b %1
-:cmDone
-if %errorlevel% neq 0 goto :VCEnd
- %(AdditionalInputs)
- C:\Users\sigon\source\repos\hamster\bin\assets\toybox32-1x.png
- false
-
-
-
-
-
- setlocal
-:cmEnd
-endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
-:cmErrorLevel
-exit /b %1
-:cmDone
-if %errorlevel% neq 0 goto :VCEnd
- C:\Users\sigon\source\repos\hamster\bin\assets\.keepme;C:\Users\sigon\source\repos\hamster\bin\assets\border.png;C:\Users\sigon\source\repos\hamster\bin\assets\border.xcf;C:\Users\sigon\source\repos\hamster\bin\assets\gametiles.png;C:\Users\sigon\source\repos\hamster\bin\assets\toybox32-1x.png;%(AdditionalInputs)
- C:\Users\sigon\source\repos\hamster\CMakeFiles\copy_data
- false
- false
-
- setlocal
-:cmEnd
-endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
-:cmErrorLevel
-exit /b %1
-:cmDone
-if %errorlevel% neq 0 goto :VCEnd
- C:\Users\sigon\source\repos\hamster\bin\assets\.keepme;C:\Users\sigon\source\repos\hamster\bin\assets\border.png;C:\Users\sigon\source\repos\hamster\bin\assets\border.xcf;C:\Users\sigon\source\repos\hamster\bin\assets\gametiles.png;C:\Users\sigon\source\repos\hamster\bin\assets\toybox32-1x.png;%(AdditionalInputs)
- C:\Users\sigon\source\repos\hamster\CMakeFiles\copy_data
- false
- false
-
- setlocal
-:cmEnd
-endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
-:cmErrorLevel
-exit /b %1
-:cmDone
-if %errorlevel% neq 0 goto :VCEnd
- C:\Users\sigon\source\repos\hamster\bin\assets\.keepme;C:\Users\sigon\source\repos\hamster\bin\assets\border.png;C:\Users\sigon\source\repos\hamster\bin\assets\border.xcf;C:\Users\sigon\source\repos\hamster\bin\assets\gametiles.png;C:\Users\sigon\source\repos\hamster\bin\assets\toybox32-1x.png;%(AdditionalInputs)
- C:\Users\sigon\source\repos\hamster\CMakeFiles\copy_data
- false
- false
-
- setlocal
-:cmEnd
-endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
-:cmErrorLevel
-exit /b %1
-:cmDone
-if %errorlevel% neq 0 goto :VCEnd
- C:\Users\sigon\source\repos\hamster\bin\assets\.keepme;C:\Users\sigon\source\repos\hamster\bin\assets\border.png;C:\Users\sigon\source\repos\hamster\bin\assets\border.xcf;C:\Users\sigon\source\repos\hamster\bin\assets\gametiles.png;C:\Users\sigon\source\repos\hamster\bin\assets\toybox32-1x.png;%(AdditionalInputs)
- C:\Users\sigon\source\repos\hamster\CMakeFiles\copy_data
- false
- false
-
-
-
-
- Always
- Building Custom Rule C:/Users/sigon/source/repos/hamster/CMakeLists.txt
- setlocal
-"C:\Program Files\CMake\bin\cmake.exe" -SC:/Users/sigon/source/repos/hamster -BC:/Users/sigon/source/repos/hamster --check-stamp-file C:/Users/sigon/source/repos/hamster/CMakeFiles/generate.stamp
-if %errorlevel% neq 0 goto :cmEnd
-:cmEnd
-endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
-:cmErrorLevel
-exit /b %1
-:cmDone
-if %errorlevel% neq 0 goto :VCEnd
- C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeCInformation.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeCXXInformation.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeGenericSystem.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeLanguageInformation.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeRCInformation.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Compiler\MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Compiler\MSVC.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\FindOpenGL.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\FindPackageHandleStandardArgs.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\FindPackageMessage.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\Windows-Initialize.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\Windows-MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\Windows.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\WindowsPaths.cmake;C:\Users\sigon\source\repos\hamster\CMakeFiles\3.27.9\CMakeCCompiler.cmake;C:\Users\sigon\source\repos\hamster\CMakeFiles\3.27.9\CMakeCXXCompiler.cmake;C:\Users\sigon\source\repos\hamster\CMakeFiles\3.27.9\CMakeRCCompiler.cmake;C:\Users\sigon\source\repos\hamster\CMakeFiles\3.27.9\CMakeSystem.cmake;%(AdditionalInputs)
- C:\Users\sigon\source\repos\hamster\CMakeFiles\generate.stamp
- false
- Building Custom Rule C:/Users/sigon/source/repos/hamster/CMakeLists.txt
- setlocal
-"C:\Program Files\CMake\bin\cmake.exe" -SC:/Users/sigon/source/repos/hamster -BC:/Users/sigon/source/repos/hamster --check-stamp-file C:/Users/sigon/source/repos/hamster/CMakeFiles/generate.stamp
-if %errorlevel% neq 0 goto :cmEnd
-:cmEnd
-endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
-:cmErrorLevel
-exit /b %1
-:cmDone
-if %errorlevel% neq 0 goto :VCEnd
- C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeCInformation.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeCXXInformation.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeGenericSystem.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeLanguageInformation.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeRCInformation.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Compiler\MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Compiler\MSVC.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\FindOpenGL.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\FindPackageHandleStandardArgs.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\FindPackageMessage.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\Windows-Initialize.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\Windows-MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\Windows.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\WindowsPaths.cmake;C:\Users\sigon\source\repos\hamster\CMakeFiles\3.27.9\CMakeCCompiler.cmake;C:\Users\sigon\source\repos\hamster\CMakeFiles\3.27.9\CMakeCXXCompiler.cmake;C:\Users\sigon\source\repos\hamster\CMakeFiles\3.27.9\CMakeRCCompiler.cmake;C:\Users\sigon\source\repos\hamster\CMakeFiles\3.27.9\CMakeSystem.cmake;%(AdditionalInputs)
- C:\Users\sigon\source\repos\hamster\CMakeFiles\generate.stamp
- false
- Building Custom Rule C:/Users/sigon/source/repos/hamster/CMakeLists.txt
- setlocal
-"C:\Program Files\CMake\bin\cmake.exe" -SC:/Users/sigon/source/repos/hamster -BC:/Users/sigon/source/repos/hamster --check-stamp-file C:/Users/sigon/source/repos/hamster/CMakeFiles/generate.stamp
-if %errorlevel% neq 0 goto :cmEnd
-:cmEnd
-endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
-:cmErrorLevel
-exit /b %1
-:cmDone
-if %errorlevel% neq 0 goto :VCEnd
- C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeCInformation.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeCXXInformation.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeGenericSystem.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeLanguageInformation.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeRCInformation.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Compiler\MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Compiler\MSVC.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\FindOpenGL.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\FindPackageHandleStandardArgs.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\FindPackageMessage.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\Windows-Initialize.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\Windows-MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\Windows.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\WindowsPaths.cmake;C:\Users\sigon\source\repos\hamster\CMakeFiles\3.27.9\CMakeCCompiler.cmake;C:\Users\sigon\source\repos\hamster\CMakeFiles\3.27.9\CMakeCXXCompiler.cmake;C:\Users\sigon\source\repos\hamster\CMakeFiles\3.27.9\CMakeRCCompiler.cmake;C:\Users\sigon\source\repos\hamster\CMakeFiles\3.27.9\CMakeSystem.cmake;%(AdditionalInputs)
- C:\Users\sigon\source\repos\hamster\CMakeFiles\generate.stamp
- false
- Building Custom Rule C:/Users/sigon/source/repos/hamster/CMakeLists.txt
- setlocal
-"C:\Program Files\CMake\bin\cmake.exe" -SC:/Users/sigon/source/repos/hamster -BC:/Users/sigon/source/repos/hamster --check-stamp-file C:/Users/sigon/source/repos/hamster/CMakeFiles/generate.stamp
-if %errorlevel% neq 0 goto :cmEnd
-:cmEnd
-endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
-:cmErrorLevel
-exit /b %1
-:cmDone
-if %errorlevel% neq 0 goto :VCEnd
- C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeCInformation.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeCXXInformation.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeGenericSystem.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeLanguageInformation.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeRCInformation.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Compiler\MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Compiler\MSVC.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\FindOpenGL.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\FindPackageHandleStandardArgs.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\FindPackageMessage.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\Windows-Initialize.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\Windows-MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\Windows.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\WindowsPaths.cmake;C:\Users\sigon\source\repos\hamster\CMakeFiles\3.27.9\CMakeCCompiler.cmake;C:\Users\sigon\source\repos\hamster\CMakeFiles\3.27.9\CMakeCXXCompiler.cmake;C:\Users\sigon\source\repos\hamster\CMakeFiles\3.27.9\CMakeRCCompiler.cmake;C:\Users\sigon\source\repos\hamster\CMakeFiles\3.27.9\CMakeSystem.cmake;%(AdditionalInputs)
- C:\Users\sigon\source\repos\hamster\CMakeFiles\generate.stamp
- false
-
-
-
-
-
-
-
-
- {A1B2CDDF-E4C4-3CD3-ABD9-9EB877441F5B}
- ZERO_CHECK
- false
- Never
-
-
-
-
-
-
\ No newline at end of file
diff --git a/copy_data.vcxproj.filters b/copy_data.vcxproj.filters
deleted file mode 100644
index 160fd95..0000000
--- a/copy_data.vcxproj.filters
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-
-
-
- Resources
-
-
-
- Resources
-
-
- Resources
-
-
- CMake Rules
-
-
-
-
-
-
-
-
- {DEE93F1C-04AD-3911-921D-46CA9A729E43}
-
-
- {25EDBADE-2AB6-3C5C-A37D-62093F6FECF3}
-
-
-
diff --git a/hamster.vcxproj b/hamster.vcxproj
deleted file mode 100644
index 95e34d7..0000000
--- a/hamster.vcxproj
+++ /dev/null
@@ -1,406 +0,0 @@
-
-
-
- x64
-
-
-
- Debug
- x64
-
-
- Release
- x64
-
-
- MinSizeRel
- x64
-
-
- RelWithDebInfo
- x64
-
-
-
- {BE0D490D-4C46-3C09-AC76-396388C3D6FF}
- Win32Proj
- 10.0.22621.0
- x64
- hamster
- NoUpgrade
-
-
-
- Application
- MultiByte
- v143
-
-
- Application
- MultiByte
- v143
-
-
- Application
- MultiByte
- v143
-
-
- Application
- MultiByte
- v143
-
-
-
-
-
-
-
-
-
- <_ProjectFileVersion>10.0.20506.1
- C:\Users\sigon\source\repos\hamster
- hamster.dir\Debug\
- hamster
- .exe
- true
- true
- C:/Users/sigon/source/repos/hamster/bin
- C:\Users\sigon\source\repos\hamster\bin\
- hamster.dir\Release\
- hamster
- .exe
- false
- true
- C:/Users/sigon/source/repos/hamster/bin
- C:\Users\sigon\source\repos\hamster\bin\MinSizeRel\
- hamster.dir\MinSizeRel\
- hamster
- .exe
- false
- true
- C:/Users/sigon/source/repos/hamster/bin
- C:\Users\sigon\source\repos\hamster\bin\
- hamster.dir\RelWithDebInfo\
- hamster
- .exe
- true
- true
- C:/Users/sigon/source/repos/hamster/bin
-
-
-
- C:\Users\sigon\source\repos\hamster\src;%(AdditionalIncludeDirectories)
- $(IntDir)
- EnableFastChecks
- ProgramDatabase
- Sync
- Disabled
- stdcpp20
- Disabled
- NotUsing
- MultiThreadedDebugDLL
- true
- false
- Level3
- %(PreprocessorDefinitions);WIN32;_WINDOWS;CMAKE_INTDIR="Debug"
- $(IntDir)
- true
-
-
- %(PreprocessorDefinitions);WIN32;_DEBUG;_WINDOWS;CMAKE_INTDIR=\"Debug\"
- C:\Users\sigon\source\repos\hamster\src;%(AdditionalIncludeDirectories)
-
-
- C:\Users\sigon\source\repos\hamster\src;%(AdditionalIncludeDirectories)
- $(ProjectDir)/$(IntDir)
- %(Filename).h
- %(Filename).tlb
- %(Filename)_i.c
- %(Filename)_p.c
-
-
- opengl32.lib;gdiplus.lib;shlwapi.lib;dwmapi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib
- %(AdditionalLibraryDirectories)
- %(AdditionalOptions) /machine:x64
- true
- %(IgnoreSpecificDefaultLibraries)
- C:/Users/sigon/source/repos/hamster/lib/hamster.lib
- C:/Users/sigon/source/repos/hamster/bin/hamster.pdb
- Console
-
-
- false
-
-
-
-
- C:\Users\sigon\source\repos\hamster\src;%(AdditionalIncludeDirectories)
- $(IntDir)
- Sync
- AnySuitable
- stdcpp20
- MaxSpeed
- NotUsing
- MultiThreadedDLL
- true
- false
- Level3
- %(PreprocessorDefinitions);WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="Release"
- $(IntDir)
-
-
- true
-
-
- %(PreprocessorDefinitions);WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"Release\"
- C:\Users\sigon\source\repos\hamster\src;%(AdditionalIncludeDirectories)
-
-
- C:\Users\sigon\source\repos\hamster\src;%(AdditionalIncludeDirectories)
- $(ProjectDir)/$(IntDir)
- %(Filename).h
- %(Filename).tlb
- %(Filename)_i.c
- %(Filename)_p.c
-
-
- opengl32.lib;gdiplus.lib;shlwapi.lib;dwmapi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib
- %(AdditionalLibraryDirectories)
- %(AdditionalOptions) /machine:x64
- false
- %(IgnoreSpecificDefaultLibraries)
- C:/Users/sigon/source/repos/hamster/lib/hamster.lib
- C:/Users/sigon/source/repos/hamster/bin/hamster.pdb
- Console
-
-
- false
-
-
-
-
- C:\Users\sigon\source\repos\hamster\src;%(AdditionalIncludeDirectories)
- $(IntDir)
- Sync
- OnlyExplicitInline
- stdcpp20
- MinSpace
- NotUsing
- MultiThreadedDLL
- true
- false
- Level3
- %(PreprocessorDefinitions);WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="MinSizeRel"
- $(IntDir)
-
-
- true
-
-
- %(PreprocessorDefinitions);WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"MinSizeRel\"
- C:\Users\sigon\source\repos\hamster\src;%(AdditionalIncludeDirectories)
-
-
- C:\Users\sigon\source\repos\hamster\src;%(AdditionalIncludeDirectories)
- $(ProjectDir)/$(IntDir)
- %(Filename).h
- %(Filename).tlb
- %(Filename)_i.c
- %(Filename)_p.c
-
-
- opengl32.lib;gdiplus.lib;shlwapi.lib;dwmapi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib
- %(AdditionalLibraryDirectories)
- %(AdditionalOptions) /machine:x64
- false
- %(IgnoreSpecificDefaultLibraries)
- C:/Users/sigon/source/repos/hamster/lib/MinSizeRel/hamster.lib
- C:/Users/sigon/source/repos/hamster/bin/MinSizeRel/hamster.pdb
- Console
-
-
- false
-
-
-
-
- C:\Users\sigon\source\repos\hamster\src;%(AdditionalIncludeDirectories)
- $(IntDir)
- ProgramDatabase
- Sync
- OnlyExplicitInline
- stdcpp20
- MaxSpeed
- NotUsing
- MultiThreadedDLL
- true
- false
- Level3
- %(PreprocessorDefinitions);WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="RelWithDebInfo"
- $(IntDir)
- true
-
-
- %(PreprocessorDefinitions);WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"RelWithDebInfo\"
- C:\Users\sigon\source\repos\hamster\src;%(AdditionalIncludeDirectories)
-
-
- C:\Users\sigon\source\repos\hamster\src;%(AdditionalIncludeDirectories)
- $(ProjectDir)/$(IntDir)
- %(Filename).h
- %(Filename).tlb
- %(Filename)_i.c
- %(Filename)_p.c
-
-
- opengl32.lib;gdiplus.lib;shlwapi.lib;dwmapi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib
- %(AdditionalLibraryDirectories)
- %(AdditionalOptions) /machine:x64
- true
- %(IgnoreSpecificDefaultLibraries)
- C:/Users/sigon/source/repos/hamster/lib/hamster.lib
- C:/Users/sigon/source/repos/hamster/bin/hamster.pdb
- Console
-
-
- false
-
-
-
-
- Always
- Building Custom Rule C:/Users/sigon/source/repos/hamster/CMakeLists.txt
- setlocal
-"C:\Program Files\CMake\bin\cmake.exe" -SC:/Users/sigon/source/repos/hamster -BC:/Users/sigon/source/repos/hamster --check-stamp-file C:/Users/sigon/source/repos/hamster/CMakeFiles/generate.stamp
-if %errorlevel% neq 0 goto :cmEnd
-:cmEnd
-endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
-:cmErrorLevel
-exit /b %1
-:cmDone
-if %errorlevel% neq 0 goto :VCEnd
- C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeCInformation.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeCXXInformation.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeGenericSystem.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeLanguageInformation.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeRCInformation.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Compiler\MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Compiler\MSVC.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\FindOpenGL.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\FindPackageHandleStandardArgs.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\FindPackageMessage.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\Windows-Initialize.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\Windows-MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\Windows.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\WindowsPaths.cmake;C:\Users\sigon\source\repos\hamster\CMakeFiles\3.27.9\CMakeCCompiler.cmake;C:\Users\sigon\source\repos\hamster\CMakeFiles\3.27.9\CMakeCXXCompiler.cmake;C:\Users\sigon\source\repos\hamster\CMakeFiles\3.27.9\CMakeRCCompiler.cmake;C:\Users\sigon\source\repos\hamster\CMakeFiles\3.27.9\CMakeSystem.cmake;%(AdditionalInputs)
- C:\Users\sigon\source\repos\hamster\CMakeFiles\generate.stamp
- false
- Building Custom Rule C:/Users/sigon/source/repos/hamster/CMakeLists.txt
- setlocal
-"C:\Program Files\CMake\bin\cmake.exe" -SC:/Users/sigon/source/repos/hamster -BC:/Users/sigon/source/repos/hamster --check-stamp-file C:/Users/sigon/source/repos/hamster/CMakeFiles/generate.stamp
-if %errorlevel% neq 0 goto :cmEnd
-:cmEnd
-endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
-:cmErrorLevel
-exit /b %1
-:cmDone
-if %errorlevel% neq 0 goto :VCEnd
- C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeCInformation.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeCXXInformation.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeGenericSystem.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeLanguageInformation.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeRCInformation.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Compiler\MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Compiler\MSVC.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\FindOpenGL.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\FindPackageHandleStandardArgs.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\FindPackageMessage.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\Windows-Initialize.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\Windows-MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\Windows.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\WindowsPaths.cmake;C:\Users\sigon\source\repos\hamster\CMakeFiles\3.27.9\CMakeCCompiler.cmake;C:\Users\sigon\source\repos\hamster\CMakeFiles\3.27.9\CMakeCXXCompiler.cmake;C:\Users\sigon\source\repos\hamster\CMakeFiles\3.27.9\CMakeRCCompiler.cmake;C:\Users\sigon\source\repos\hamster\CMakeFiles\3.27.9\CMakeSystem.cmake;%(AdditionalInputs)
- C:\Users\sigon\source\repos\hamster\CMakeFiles\generate.stamp
- false
- Building Custom Rule C:/Users/sigon/source/repos/hamster/CMakeLists.txt
- setlocal
-"C:\Program Files\CMake\bin\cmake.exe" -SC:/Users/sigon/source/repos/hamster -BC:/Users/sigon/source/repos/hamster --check-stamp-file C:/Users/sigon/source/repos/hamster/CMakeFiles/generate.stamp
-if %errorlevel% neq 0 goto :cmEnd
-:cmEnd
-endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
-:cmErrorLevel
-exit /b %1
-:cmDone
-if %errorlevel% neq 0 goto :VCEnd
- C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeCInformation.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeCXXInformation.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeGenericSystem.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeLanguageInformation.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeRCInformation.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Compiler\MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Compiler\MSVC.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\FindOpenGL.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\FindPackageHandleStandardArgs.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\FindPackageMessage.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\Windows-Initialize.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\Windows-MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\Windows.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\WindowsPaths.cmake;C:\Users\sigon\source\repos\hamster\CMakeFiles\3.27.9\CMakeCCompiler.cmake;C:\Users\sigon\source\repos\hamster\CMakeFiles\3.27.9\CMakeCXXCompiler.cmake;C:\Users\sigon\source\repos\hamster\CMakeFiles\3.27.9\CMakeRCCompiler.cmake;C:\Users\sigon\source\repos\hamster\CMakeFiles\3.27.9\CMakeSystem.cmake;%(AdditionalInputs)
- C:\Users\sigon\source\repos\hamster\CMakeFiles\generate.stamp
- false
- Building Custom Rule C:/Users/sigon/source/repos/hamster/CMakeLists.txt
- setlocal
-"C:\Program Files\CMake\bin\cmake.exe" -SC:/Users/sigon/source/repos/hamster -BC:/Users/sigon/source/repos/hamster --check-stamp-file C:/Users/sigon/source/repos/hamster/CMakeFiles/generate.stamp
-if %errorlevel% neq 0 goto :cmEnd
-:cmEnd
-endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
-:cmErrorLevel
-exit /b %1
-:cmDone
-if %errorlevel% neq 0 goto :VCEnd
- C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeCInformation.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeCXXInformation.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeGenericSystem.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeLanguageInformation.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeRCInformation.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Compiler\MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Compiler\MSVC.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\FindOpenGL.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\FindPackageHandleStandardArgs.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\FindPackageMessage.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\Windows-Initialize.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\Windows-MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\Windows.cmake;C:\Program Files\CMake\share\cmake-3.27\Modules\Platform\WindowsPaths.cmake;C:\Users\sigon\source\repos\hamster\CMakeFiles\3.27.9\CMakeCCompiler.cmake;C:\Users\sigon\source\repos\hamster\CMakeFiles\3.27.9\CMakeCXXCompiler.cmake;C:\Users\sigon\source\repos\hamster\CMakeFiles\3.27.9\CMakeRCCompiler.cmake;C:\Users\sigon\source\repos\hamster\CMakeFiles\3.27.9\CMakeSystem.cmake;%(AdditionalInputs)
- C:\Users\sigon\source\repos\hamster\CMakeFiles\generate.stamp
- false
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {A1B2CDDF-E4C4-3CD3-ABD9-9EB877441F5B}
- ZERO_CHECK
- false
- Never
-
-
- {CC963984-4384-3CCA-8B91-8A023E4392E9}
- copy_data
- false
- Never
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/hamster.vcxproj.filters b/hamster.vcxproj.filters
deleted file mode 100644
index 9645fc4..0000000
--- a/hamster.vcxproj.filters
+++ /dev/null
@@ -1,101 +0,0 @@
-
-
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
-
-
-
-
-
- {6FA4D8BB-23B0-3494-9ED3-B7DCE970FEDF}
-
-
- {0c937f43-f698-48b6-8e33-db430980b4b3}
-
-
- {078c2bff-1167-47bd-8969-c26c20154747}
-
-
-
-
- Documentation
-
-
- Documentation
-
-
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
-
\ No newline at end of file
diff --git a/src/HamsterGame.cpp b/src/HamsterGame.cpp
index d29f29a..4e843a9 100644
--- a/src/HamsterGame.cpp
+++ b/src/HamsterGame.cpp
@@ -41,6 +41,8 @@ void HamsterGame::LoadGraphics(){
_LoadImage("shadow.png");
_LoadImage("drownmeter.png");
_LoadImage("burnmeter.png");
+ _LoadImage("hamster_jet.png");
+ UpdateMatrixTexture();
}
void HamsterGame::LoadAnimations(){
@@ -71,6 +73,7 @@ void HamsterGame::LoadAnimations(){
for(vf2d&sourcePos:std::vector{{192+16*0,800},{192+16*1,800},{192+16*2,800},{192+16*3,800},{192+16*4,800},{192+16*5,800},{192+16*6,800},{192+16*7,800},{192+16*8,800}}){
lavaAnimFrames.AddFrame(Animate2D::Frame{&GetGFX("gametiles.png"),{sourcePos,{16,16}}});
}
+ LoadAnimation(JET_LIGHTS,"hamster_jet.png",{{0,48},{48,48}},0.3f);
}
void HamsterGame::LoadLevel(const std::string_view mapName){
@@ -228,7 +231,7 @@ void HamsterGame::UpdateMatrixTexture(){
const auto result{GFX.insert({ASSETS_DIR+"MATRIX_TEXTURE",Renderable{}})};
Renderable&texture{(*result.first).second};
if(result.second){
- texture.Create(64,64);
+ texture.Create(64,64,false,false);
}
const std::arraymatrixLetters{'0','1','2','3','4','5','6','7','8','9'};
diff --git a/src/HamsterGame.h b/src/HamsterGame.h
index e01eb5c..a21d27b 100644
--- a/src/HamsterGame.h
+++ b/src/HamsterGame.h
@@ -45,6 +45,7 @@ All rights reserved.
#include "TMXParser.h"
#include "TSXParser.h"
#include "Terrain.h"
+#include "SpecialRenderable.h"
struct Letter{
vf2d pos;
@@ -60,6 +61,7 @@ public:
DEFAULT,
WHEEL_TOP,
WHEEL_BOTTOM,
+ JET_LIGHTS,
};
HamsterGame();
diff --git a/src/SpecialRenderable.cpp b/src/SpecialRenderable.cpp
new file mode 100644
index 0000000..145be08
--- /dev/null
+++ b/src/SpecialRenderable.cpp
@@ -0,0 +1,81 @@
+#pragma region License
+/*
+License (OLC-3)
+~~~~~~~~~~~~~~~
+
+Copyright 2024 Joshua Sigona
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+1. Redistributions or derivations of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+
+2. Redistributions or derivative works in binary form must reproduce the above
+copyright notice. This list of conditions and the following disclaimer must be
+reproduced in the documentation and/or other materials provided with the distribution.
+
+3. Neither the name of the copyright holder nor the names of its contributors may
+be used to endorse or promote products derived from this software without specific
+prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
+EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
+SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+Portions of this software are copyright © 2024 The FreeType
+Project (www.freetype.org). Please see LICENSE_FT.txt for more information.
+All rights reserved.
+*/
+#pragma endregion
+
+#include "SpecialRenderable.h"
+#include "HamsterGame.h"
+#include
+
+SpecialRenderable::SpecialRenderable(){};
+
+void SpecialRenderable::Initialize(std::string_view imgName,const Pixel overrideCol,const Pixel matrixCol){
+ IsInitialized=true;
+ originalImgName=imgName;
+ this->overrideCol=overrideCol;
+ this->matrixCol=matrixCol;
+ const Renderable&refImg{HamsterGame::GetGFX(imgName)};
+ modifiedImg.Create(refImg.Sprite()->width,refImg.Sprite()->height);
+ HamsterGame::Game().SetPixelMode(Pixel::ALPHA);
+ for(int y:std::ranges::iota_view(0,refImg.Sprite()->height)){
+ for(int x:std::ranges::iota_view(0,refImg.Sprite()->width)){
+ modifiedImg.Sprite()->SetPixel(x,y,refImg.Sprite()->GetPixel(x,y));
+ }
+ }
+ modifiedImg.Decal()->Update();
+ Update(0.1f);
+ HamsterGame::Game().SetPixelMode(Pixel::MASK);
+}
+
+void SpecialRenderable::Update(const float fElapsedTime){
+ if(!IsInitialized)throw std::runtime_error{std::format("SpecialRenderable for {} is not properly initialized!",originalImgName)};
+ lastPixelsUpdateTimer-=fElapsedTime;
+ if(lastPixelsUpdateTimer<=0.f){
+ lastPixelsUpdateTimer+=0.1f;
+ for(int y:std::ranges::iota_view(0,modifiedImg.Sprite()->height)){
+ for(int x:std::ranges::iota_view(0,modifiedImg.Sprite()->width)){
+ if(HamsterGame::GetGFX(originalImgName).Sprite()->GetPixel(x,y)==overrideCol){
+ modifiedImg.Sprite()->SetPixel(x,y,PixelLerp(matrixCol,HamsterGame::GetGFX("MATRIX_TEXTURE").Sprite()->GetPixel(x,y),0.5f));
+ }
+ }
+ }
+ }
+ modifiedImg.Decal()->Update();
+}
+const Renderable&SpecialRenderable::Get()const{
+ if(!IsInitialized)throw std::runtime_error{std::format("SpecialRenderable for {} is not properly initialized!",originalImgName)};
+ return modifiedImg;
+}
\ No newline at end of file
diff --git a/src/SpecialRenderable.h b/src/SpecialRenderable.h
index c79739d..9c95b3f 100644
--- a/src/SpecialRenderable.h
+++ b/src/SpecialRenderable.h
@@ -40,8 +40,15 @@ All rights reserved.
#include "olcPixelGameEngine.h"
class SpecialRenderable{
- Renderable originalImg;
+ std::string originalImgName;
Renderable modifiedImg;
+ Pixel overrideCol; //All pixels of this color will have the matrix texture applied to it.
+ Pixel matrixCol;
+ float lastPixelsUpdateTimer{};
+ bool IsInitialized{false};
public:
-
+ SpecialRenderable();
+ void Initialize(std::string_view imgName,const Pixel overrideCol,const Pixel matrixCol);
+ void Update(const float fElapsedTime);
+ const Renderable&Get()const;
};
\ No newline at end of file