Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
b5ffec9
Rip out SDL, vendor glfw-3.4, update Dear ImGUI to v1.89.9-docking ta…
abryzak Jun 5, 2024
695ef56
Update main event loop and window initialization to GLFW instead of SDL
abryzak Jun 5, 2024
371daf8
Get everything compiling after removing SDL
abryzak Jun 5, 2024
fbaab00
Fix dithering after changing pixel order from AA BB GG RR in memory t…
abryzak Jun 5, 2024
2ba8ef7
Remove std::execution so we don't have to link with libtbb if it's in…
abryzak Jun 5, 2024
b5234a2
Add new Visual Studio solution and project file and fix up Windows build
abryzak Jun 6, 2024
5ca1054
Simplify the build script even further while adding options to clean …
abryzak Jun 7, 2024
a8d5d01
Create very simple test harness
abryzak Jun 8, 2024
bb2e884
Add tile export test
abryzak Jun 8, 2024
c1ae136
Expand crop_single_tile test to handle 4 ways the tile might be cropp…
abryzak Jun 11, 2024
3a0f246
Update test to match out of bounds write parameters and get a failure
abryzak Jun 11, 2024
df62e32
Change test executable name to test
abryzak Jun 11, 2024
464175c
Add complicated thing for very basic profiling during the test (and f…
abryzak Jun 11, 2024
2c89a7c
Add single tile crop using vector instructions
abryzak Jun 15, 2024
9c995a6
Add AVX512 implementation of single tile copy
abryzak Jun 15, 2024
ae3fef0
Add docs for town tile calculations
abryzak Jun 18, 2024
7f3df1a
Fix copying non-square images when ensuring RGBA
abryzak Jun 26, 2024
5020dd6
Fix calculation. The x overlap is 32 pixels, not 36.
abryzak Jun 26, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 0 additions & 3 deletions .gitmodules

This file was deleted.

2 changes: 0 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,6 @@ target_sources(
# src/QFO2Tool/Edit_Animation.h
# src/QFO2Tool/Edit_Image.cpp
# src/QFO2Tool/Edit_Image.h
# src/QFO2Tool/FRM_Animate.cpp
# src/QFO2Tool/FRM_Animate.h
# src/QFO2Tool/FRM_Convert.cpp
# src/QFO2Tool/FRM_Convert.h
# src/QFO2Tool/Image_Render.cpp
Expand Down
69 changes: 69 additions & 0 deletions build_linux.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
#!/usr/bin/env bash

# Set up some safeguards if things go wrong
set -o pipefail # fail if a command being piped into another command fails
shopt -s failglob # fail if using a * and it doesn't match any files
set -u # fail if we use a variable that hasn't been set
set -e # fail if any command run fails

cd "${0%/*}" # change into the directory containing this script in case it's run from elsewhere

INCLUDE_ARGS=(
-I "src/QFO2Tool"
-I "src/dependencies/GLAD/include"
-I "src/dependencies/glfw-3.4/include"
-I "src/dependencies/imgui-docking/include"
-I "src/dependencies/tinyfiledialogs"
-I "src/dependencies/stb"
)

CC_ARGS=(-g -mavx -mavx512vl -mavx512bw "${INCLUDE_ARGS[@]}")
CPP_ARGS=(-g -mavx -mavx512vl -mavx512bw "${INCLUDE_ARGS[@]}")

if [[ "${1:-}" == "clean" ]]; then
shift
rm -fr build
fi

if [[ "${1:-}" == "release" ]]; then
shift
CC_ARGS+=(-O3)
CPP_ARGS+=(-O3)
fi

mkdir -p build

echo "Building C libraries (GLFW, GLAD, tinyfiledialogs)"
cc "${CC_ARGS[@]}" -c -o build/c_libs.o src/build_linux_c_libs.c

echo "Building C++ libs (Dear ImGUI)"
c++ "${CPP_ARGS[@]}" -c -o build/cpp_libs.o src/build_linux_cpp_libs.cpp

echo "Building main project"
c++ "${CPP_ARGS[@]}" -o build/QFO2Tool src/build_linux.cpp build/c_libs.o build/cpp_libs.o

echo "Copying resources"
cp -a src/resources build

cov=0
if [[ "${1:-}" == "coverage" ]]; then
shift
CPP_ARGS+=(--coverage)
cov=1
fi

if [[ "${1:-}" == "profile" ]]; then
shift
CPP_ARGS+=(-DREPETITIONS=1000000)
fi

if [[ "${1:-}" == "test" ]]; then
shift
cp -a test/test_resources build
c++ "${CPP_ARGS[@]}" -o build/test test/test_tile_export.cpp build/c_libs.o build/cpp_libs.o
echo "Running tests"
(cd build && ./test) || echo 'Tests failed'
[[ "$cov" == 1 ]] && (mkdir -p build/coverage && gcov build/QFO2Tool_test-test_tile_export && mv -- *.gcov build/coverage) >/dev/null && echo "Coverage files generated from tests in build/coverage"
fi

echo "Done"
16 changes: 16 additions & 0 deletions docs/town_tile_calculations.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
Tile calculations:

Each (80+80-32) pixels in the x dimension is one "tile row" and two "tile columns" (the 32 is overlap)
Each (36+36+36-12) pixels in the y dimensions is three "tile rows" and two "tile columns" (the 12 is overlap)

Also see tow_tile_row_col_calculations.png

So to calculate total number of columns from the top left of the image, it's ceil(image width / (80+80-32) * 2) columns "to the right" and ceil(image height / (36+36+36-12) * 2) columns "to the left", summed to get a total number of columns.

For rows from the top left of the image, it's ceil(image width / (80+80-32) * 1 + image height / (36+36+36-12) * 3) rows "below" the top left of the image, which is the total number of rows since the top left is the first row

To calculate from a reference point (x,y) that's the corner of a town tile within the image (x >= 0, y >= 0, x < width, y < height), the calculations are:
* Columns "to the left" of the reference point: ceil(x / (80+80-32) * 2 + (height - y) / (36+36+36-12) * 2)
* Columns "to the right" of the reference point: ceil((width - x) / (80+80-32) * 2 + y / (36+36+36-12) * 2)
* Rows "above" the reference point: ceil(x / (80+80-32) * 1 + y / (36+36+36-12) * 3)
* Rows "below" the reference point: ceil((width - x) / (80+80-32) * 1 + (height - y) / (36+36+36-12) * 3)
Binary file added docs/town_tile_row_col_calculations.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
31 changes: 31 additions & 0 deletions msk2bmpGUI.sln
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.10.34928.147
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "msk2bmpGUI", "msk2bmpGUI.vcxproj", "{76BD9E2F-EC3B-4A0E-8050-A3D996365187}"
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
{76BD9E2F-EC3B-4A0E-8050-A3D996365187}.Debug|x64.ActiveCfg = Debug|x64
{76BD9E2F-EC3B-4A0E-8050-A3D996365187}.Debug|x64.Build.0 = Debug|x64
{76BD9E2F-EC3B-4A0E-8050-A3D996365187}.Debug|x86.ActiveCfg = Debug|Win32
{76BD9E2F-EC3B-4A0E-8050-A3D996365187}.Debug|x86.Build.0 = Debug|Win32
{76BD9E2F-EC3B-4A0E-8050-A3D996365187}.Release|x64.ActiveCfg = Release|x64
{76BD9E2F-EC3B-4A0E-8050-A3D996365187}.Release|x64.Build.0 = Release|x64
{76BD9E2F-EC3B-4A0E-8050-A3D996365187}.Release|x86.ActiveCfg = Release|Win32
{76BD9E2F-EC3B-4A0E-8050-A3D996365187}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {76276DE3-C479-4BA7-AA89-6EDDB7F6E8D3}
EndGlobalSection
EndGlobal
234 changes: 234 additions & 0 deletions msk2bmpGUI.vcxproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,234 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" 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>17.0</VCProjectVersion>
<ProjectGuid>{76BD9E2F-EC3B-4A0E-8050-A3D996365187}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<WindowsTargetPlatformVersion>10.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>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
</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 Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
<IncludePath>$(ProjectDir)\src\dependencies\tinyfiledialogs;$(ProjectDir)\src\dependencies\stb;$(ProjectDir)\src\dependencies\imgui-docking\include;$(ProjectDir)\src\dependencies\glfw-3.4\include;$(ProjectDir)\src\dependencies\GLAD\include;$(ProjectDir)\src\QFO2Tool;$(IncludePath)</IncludePath>
<CustomBuildAfterTargets />
<OutDir>$(SolutionDir)build\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)build\$(Configuration)-intermediates\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>true</LinkIncremental>
<IncludePath>$(ProjectDir)\src\dependencies\tinyfiledialogs;$(ProjectDir)\src\dependencies\stb;$(ProjectDir)\src\dependencies\imgui-docking\include;$(ProjectDir)\src\dependencies\glfw-3.4\include;$(ProjectDir)\src\dependencies\GLAD\include;$(ProjectDir)\src\QFO2Tool;$(IncludePath)</IncludePath>
<CustomBuildAfterTargets />
<OutDir>$(SolutionDir)build\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)build\$(Configuration)-intermediates\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;QFO2WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<WarningLevel>Level3</WarningLevel>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PreprocessorDefinitions>_DEBUG;_WINDOWS;QFO2_WINDOWS;_GLFW_WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<WarningLevel>Level3</WarningLevel>
<LanguageStandard>stdcpp17</LanguageStandard>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
</Link>
<PostBuildEvent>
<Command>XCOPY "$(ProjectDir)\src\resources" "$(TargetDir)\resources\" /E /Y</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;QFO2WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<WarningLevel>Level3</WarningLevel>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<PreprocessorDefinitions>NDEBUG;_WINDOWS;QFO2_WINDOWS;_GLFW_WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<WarningLevel>Level3</WarningLevel>
<LanguageStandard>stdcpp17</LanguageStandard>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
<PostBuildEvent>
<Command>XCOPY "$(ProjectDir)\src\resources" "$(TargetDir)\resources\" /E /Y</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="src\dependencies\GLAD\src\glad.c" />
<ClCompile Include="src\dependencies\glfw-3.4\src\cocoa_time.c" />
<ClCompile Include="src\dependencies\glfw-3.4\src\context.c" />
<ClCompile Include="src\dependencies\glfw-3.4\src\egl_context.c" />
<ClCompile Include="src\dependencies\glfw-3.4\src\glx_context.c" />
<ClCompile Include="src\dependencies\glfw-3.4\src\init.c" />
<ClCompile Include="src\dependencies\glfw-3.4\src\input.c" />
<ClCompile Include="src\dependencies\glfw-3.4\src\linux_joystick.c" />
<ClCompile Include="src\dependencies\glfw-3.4\src\monitor.c" />
<ClCompile Include="src\dependencies\glfw-3.4\src\null_init.c" />
<ClCompile Include="src\dependencies\glfw-3.4\src\null_joystick.c" />
<ClCompile Include="src\dependencies\glfw-3.4\src\null_monitor.c" />
<ClCompile Include="src\dependencies\glfw-3.4\src\null_window.c" />
<ClCompile Include="src\dependencies\glfw-3.4\src\osmesa_context.c" />
<ClCompile Include="src\dependencies\glfw-3.4\src\platform.c" />
<ClCompile Include="src\dependencies\glfw-3.4\src\posix_module.c" />
<ClCompile Include="src\dependencies\glfw-3.4\src\posix_poll.c" />
<ClCompile Include="src\dependencies\glfw-3.4\src\posix_thread.c" />
<ClCompile Include="src\dependencies\glfw-3.4\src\posix_time.c" />
<ClCompile Include="src\dependencies\glfw-3.4\src\vulkan.c" />
<ClCompile Include="src\dependencies\glfw-3.4\src\wgl_context.c" />
<ClCompile Include="src\dependencies\glfw-3.4\src\win32_init.c" />
<ClCompile Include="src\dependencies\glfw-3.4\src\win32_joystick.c" />
<ClCompile Include="src\dependencies\glfw-3.4\src\win32_module.c" />
<ClCompile Include="src\dependencies\glfw-3.4\src\win32_monitor.c" />
<ClCompile Include="src\dependencies\glfw-3.4\src\win32_thread.c" />
<ClCompile Include="src\dependencies\glfw-3.4\src\win32_time.c" />
<ClCompile Include="src\dependencies\glfw-3.4\src\win32_window.c" />
<ClCompile Include="src\dependencies\glfw-3.4\src\window.c" />
<ClCompile Include="src\dependencies\glfw-3.4\src\wl_init.c" />
<ClCompile Include="src\dependencies\glfw-3.4\src\wl_monitor.c" />
<ClCompile Include="src\dependencies\glfw-3.4\src\wl_window.c" />
<ClCompile Include="src\dependencies\glfw-3.4\src\x11_init.c" />
<ClCompile Include="src\dependencies\glfw-3.4\src\x11_monitor.c" />
<ClCompile Include="src\dependencies\glfw-3.4\src\x11_window.c" />
<ClCompile Include="src\dependencies\glfw-3.4\src\xkb_unicode.c" />
<ClCompile Include="src\dependencies\imgui-docking\src\imgui.cpp" />
<ClCompile Include="src\dependencies\imgui-docking\src\imgui_demo.cpp" />
<ClCompile Include="src\dependencies\imgui-docking\src\imgui_draw.cpp" />
<ClCompile Include="src\dependencies\imgui-docking\src\imgui_impl_glfw.cpp" />
<ClCompile Include="src\dependencies\imgui-docking\src\imgui_impl_opengl3.cpp" />
<ClCompile Include="src\dependencies\imgui-docking\src\imgui_tables.cpp" />
<ClCompile Include="src\dependencies\imgui-docking\src\imgui_widgets.cpp" />
<ClCompile Include="src\dependencies\tinyfiledialogs\tinyfiledialogs.c" />
<ClCompile Include="src\msk2bmpGUI.cpp" />
<ClCompile Include="src\QFO2Tool\B_Endian.cpp" />
<ClCompile Include="src\QFO2Tool\display_FRM_OpenGL.cpp" />
<ClCompile Include="src\QFO2Tool\Edit_Animation.cpp" />
<ClCompile Include="src\QFO2Tool\Edit_Image.cpp" />
<ClCompile Include="src\QFO2Tool\Edit_TILES_LST.cpp" />
<ClCompile Include="src\QFO2Tool\FRM_Convert.cpp" />
<ClCompile Include="src\QFO2Tool\Image2Texture.cpp" />
<ClCompile Include="src\QFO2Tool\Image_Render.cpp" />
<ClCompile Include="src\QFO2Tool\Load_Animation.cpp" />
<ClCompile Include="src\QFO2Tool\Load_Files.cpp" />
<ClCompile Include="src\QFO2Tool\load_FRM_OpenGL.cpp" />
<ClCompile Include="src\QFO2Tool\Load_Settings.cpp" />
<ClCompile Include="src\QFO2Tool\MiniSDL.cpp" />
<ClCompile Include="src\QFO2Tool\MSK_Convert.cpp" />
<ClCompile Include="src\QFO2Tool\Palette_Cycle.cpp" />
<ClCompile Include="src\QFO2Tool\platform_io.cpp" />
<ClCompile Include="src\QFO2Tool\Preview_Image.cpp" />
<ClCompile Include="src\QFO2Tool\Preview_Tiles.cpp" />
<ClCompile Include="src\QFO2Tool\Save_Files.cpp" />
<ClCompile Include="src\QFO2Tool\shader_class.cpp" />
<ClCompile Include="src\QFO2Tool\timer_functions.cpp" />
<ClCompile Include="src\QFO2Tool\Zoom_Pan.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="src\QFO2Tool\B_Endian.h" />
<ClInclude Include="src\QFO2Tool\display_FRM_OpenGL.h" />
<ClInclude Include="src\QFO2Tool\Edit_Animation.h" />
<ClInclude Include="src\QFO2Tool\Edit_Image.h" />
<ClInclude Include="src\QFO2Tool\Edit_TILES_LST.h" />
<ClInclude Include="src\QFO2Tool\FRM_Convert.h" />
<ClInclude Include="src\QFO2Tool\Image2Texture.h" />
<ClInclude Include="src\QFO2Tool\Image_Render.h" />
<ClInclude Include="src\QFO2Tool\Load_Animation.h" />
<ClInclude Include="src\QFO2Tool\Load_Files.h" />
<ClInclude Include="src\QFO2Tool\load_FRM_OpenGL.h" />
<ClInclude Include="src\QFO2Tool\Load_Settings.h" />
<ClInclude Include="src\QFO2Tool\MiniSDL.h" />
<ClInclude Include="src\QFO2Tool\MSK_Convert.h" />
<ClInclude Include="src\QFO2Tool\Palette_Cycle.h" />
<ClInclude Include="src\QFO2Tool\platform_io.h" />
<ClInclude Include="src\QFO2Tool\Preview_Image.h" />
<ClInclude Include="src\QFO2Tool\Preview_Tiles.h" />
<ClInclude Include="src\QFO2Tool\Save_Files.h" />
<ClInclude Include="src\QFO2Tool\shader_class.h" />
<ClInclude Include="src\QFO2Tool\timer_functions.h" />
<ClInclude Include="src\QFO2Tool\Zoom_Pan.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
Loading