Add code generation on compiling to premake scripts using custom build commands

This commit is contained in:
Jan 2019-10-25 02:13:37 +02:00
parent d93b4f5fac
commit 034de70bbc
27 changed files with 345 additions and 325 deletions

View File

@ -1,4 +1,9 @@
-- Functions for locating commonly used folders
local _BuildFolder = path.getabsolute("build")
function BuildFolder()
return path.getrelative(os.getcwd(), _BuildFolder)
end
local _ThirdPartyFolder = path.getabsolute("thirdparty")
function ThirdPartyFolder()
return path.getrelative(os.getcwd(), _ThirdPartyFolder)
@ -89,6 +94,7 @@ include "src/Crypto.lua"
include "src/Linker.lua"
include "src/Unlinker.lua"
include "src/Utils.lua"
include "src/ZoneCode.lua"
include "src/ZoneCodeGenerator.lua"
include "src/ZoneCommon.lua"
include "src/ZoneLoading.lua"
@ -98,6 +104,7 @@ include "src/ZoneWriting.lua"
group "Components"
Crypto:project()
Utils:project()
ZoneCode:project()
ZoneCodeGenerator:project()
ZoneCommon:project()
ZoneLoading:project()

View File

@ -10,9 +10,11 @@ function Crypto:link()
libtomcrypt:link()
libtommath:link()
salsa20:link()
links {
"Crypto"
}
links "Crypto"
end
function Crypto:use()
end
function Crypto:project()

View File

@ -10,6 +10,10 @@ function Linker:link()
end
function Linker:use()
dependson "Linker"
end
function Linker:project()
local folder = ProjectFolder();

View File

@ -10,6 +10,10 @@ function Unlinker:link()
end
function Unlinker:use()
dependson "Unlinker"
end
function Unlinker:project()
local folder = ProjectFolder();

View File

@ -7,9 +7,11 @@ function Utils:include()
end
function Utils:link()
links {
"Utils"
}
links "Utils"
end
function Utils:use()
end
function Utils:project()

168
src/ZoneCode.lua Normal file
View File

@ -0,0 +1,168 @@
ZoneCode = {}
ZoneCode.Assets = {
T6 = {
"PhysPreset",
"PhysConstraints",
"DestructibleDef",
"XAnimParts",
"XModel",
"Material",
"MaterialTechniqueSet",
"GfxImage",
"SndBank",
"SndPatch",
"clipMap_t",
"ComWorld",
"GameWorldSp",
"GameWorldMp",
"MapEnts",
"GfxWorld",
"GfxLightDef",
"Font_s",
"FontIcon",
"MenuList",
"menuDef_t",
"LocalizeEntry",
"WeaponVariantDef",
"WeaponAttachment",
"WeaponAttachmentUnique",
"WeaponCamo",
"SndDriverGlobals",
"FxEffectDef",
"FxImpactTable",
"RawFile",
"StringTable",
"LeaderboardDef",
"XGlobals",
"ddlRoot_t",
"Glasses",
"EmblemSet",
"ScriptParseTree",
"KeyValuePairs",
"VehicleDef",
"MemoryBlock",
"AddonMapEnts",
"TracerDef",
"SkinnedVertsDef",
"Qdb",
"Slug",
"FootstepTableDef",
"FootstepFXTableDef",
"ZBarrierDef"
}
}
function ZoneCode:outputForAssets(assetList)
for i = 1, #assetList do
local assetNameLower = string.lower(assetList[i])
buildoutputs {
"%{wks.location}/src/ZoneCode/Game/%{file.basename}/XAssets/" .. assetNameLower .. "/" .. assetNameLower .. "_load_db.cpp",
"%{wks.location}/src/ZoneCode/Game/%{file.basename}/XAssets/" .. assetNameLower .. "/" .. assetNameLower .. "_load_db.h",
"%{wks.location}/src/ZoneCode/Game/%{file.basename}/XAssets/" .. assetNameLower .. "/" .. assetNameLower .. "_write_db.cpp",
"%{wks.location}/src/ZoneCode/Game/%{file.basename}/XAssets/" .. assetNameLower .. "/" .. assetNameLower .. "_write_db.h",
"%{wks.location}/src/ZoneCode/Game/%{file.basename}/XAssets/" .. assetNameLower .. "/" .. assetNameLower .. "_struct_test.cpp",
}
end
end
function ZoneCode:allTestFiles()
result = {}
for game, assets in pairs(self.Assets) do
for i, assetName in ipairs(assets) do
local assetNameLower = string.lower(assetName)
table.insert(result, "%{wks.location}/src/ZoneCode/Game/" .. game .. "/XAssets/" .. assetNameLower .. "/" .. assetNameLower .. "_struct_test.cpp")
end
end
return result
end
function ZoneCode:allLoadFiles()
result = {}
for game, assets in pairs(self.Assets) do
for i, assetName in ipairs(assets) do
local assetNameLower = string.lower(assetName)
table.insert(result, "%{wks.location}/src/ZoneCode/Game/" .. game .. "/XAssets/" .. assetNameLower .. "/" .. assetNameLower .. "_load_db.cpp")
table.insert(result, "%{wks.location}/src/ZoneCode/Game/" .. game .. "/XAssets/" .. assetNameLower .. "/" .. assetNameLower .. "_load_db.h")
end
end
return result
end
function ZoneCode:allWriteFiles()
result = {}
for game, assets in pairs(self.Assets) do
for i, assetName in ipairs(assets) do
local assetNameLower = string.lower(assetName)
table.insert(result, "%{wks.location}/src/ZoneCode/Game/" .. game .. "/XAssets/" .. assetNameLower .. "/" .. assetNameLower .. "_write_db.cpp")
table.insert(result, "%{wks.location}/src/ZoneCode/Game/" .. game .. "/XAssets/" .. assetNameLower .. "/" .. assetNameLower .. "_write_db.h")
end
end
return result
end
function ZoneCode:include()
includedirs {
path.join(ProjectFolder(), "ZoneCode"),
"%{wks.location}/src/ZoneCode"
}
end
function ZoneCode:link()
end
function ZoneCode:use()
dependson "ZoneCode"
end
function ZoneCode:project()
local folder = ProjectFolder();
project "ZoneCode"
targetdir(TargetDirectoryLib)
location "%{wks.location}/src/%{prj.name}"
kind "Utility"
files {
path.join(folder, "ZoneCode/**.gen"),
path.join(folder, "ZoneCode/**.h"),
path.join(folder, "ZoneCode/**_Commands.txt")
}
vpaths {
["*"] = {
path.join(folder, "ZoneCode")
}
}
ZoneCodeGenerator:use()
filter "files:**.gen"
buildmessage "Generating ZoneCode for game %{file.basename}"
buildcommands {
'"' .. TargetDirectoryLib .. '/ZoneCodeGenerator.exe"'
.. ' -h "' .. path.join(path.getabsolute(ProjectFolder()), 'ZoneCode/Game/%{file.basename}/%{file.basename}.h') .. '"'
.. ' -e "' .. path.join(path.getabsolute(ProjectFolder()), 'ZoneCode/Game/%{file.basename}/%{file.basename}_Commands.txt') .. '"'
.. ' -o "%{wks.location}/src/ZoneCode/Game/%{file.basename}/XAssets"'
.. ' -g * ZoneLoad'
.. ' -g * ZoneWrite'
.. ' -g * AssetStructTests'
}
buildinputs {
path.join(ProjectFolder(), "ZoneCode/Game/%{file.basename}/%{file.basename}.h"),
path.join(ProjectFolder(), "ZoneCode/Game/%{file.basename}/%{file.basename}_Commands.txt"),
TargetDirectoryLib .. "/ZoneCodeGenerator.exe"
}
filter {}
filter "files:**/T6.gen"
self:outputForAssets(self.Assets.T6)
filter {}
end

View File

@ -3,6 +3,6 @@
// Entry point for T6 code generation
#include "../Common.h"
#include "../../ZoneCommon/Game/T6/T6_Assets.h"
#include "../../../ZoneCommon/Game/T6/T6_Assets.h"
// EOF

View File

@ -5,25 +5,32 @@ function ZoneCodeGenerator:include()
end
function ZoneCodeGenerator:link()
links {
"ZoneCodeGenerator"
}
links "ZoneCodeGenerator"
end
function ZoneCodeGenerator:use()
dependson "ZoneCodeGenerator"
end
function ZoneCodeGenerator:project()
local folder = ProjectFolder();
project "ZoneCodeGenerator"
targetdir(TargetDirectoryBin)
targetdir(TargetDirectoryLib)
location "%{wks.location}/src/%{prj.name}"
kind "ConsoleApp"
language "C#"
namespace "ZoneCodeGenerator"
files {
path.join(folder, "ZoneCodeGenerator/**.cs")
path.join(folder, "ZoneCodeGenerator/**.cs"),
path.join(folder, "ZoneCodeGenerator/**.stg")
}
filter "files:**.stg"
buildaction "Embed"
filter {}
vpaths { ["*"] = "src/ZoneCodeGenerator" }
nuget {

View File

@ -31,7 +31,7 @@ namespace ZoneCodeGenerator.Generating
"ZoneWrite", new GeneratorPreset("$asset/$asset_write_db", "ZoneWrite.stg")
},
{
"AssetStructTests", new GeneratorPreset("$asset_struct_test", "AssetStructTests.stg")
"AssetStructTests", new GeneratorPreset("$asset/$asset_struct_test", "AssetStructTests.stg")
}
};
@ -40,7 +40,10 @@ namespace ZoneCodeGenerator.Generating
public static bool GenerateCodeForPreset(string presetName, StructureInformation asset, CUISession session)
{
if (!presets.ContainsKey(presetName))
{
Console.WriteLine($"Unknown preset '{presetName}'");
return false;
}
var preset = presets[presetName];
@ -67,12 +70,19 @@ namespace ZoneCodeGenerator.Generating
var renderingContext = RenderingContext.BuildContext(session, asset);
if (renderingContext == null)
{
Console.WriteLine("Building rendering context failed");
return false;
}
if (!codeTemplate.HasHeaderTemplate && !codeTemplate.HasSourceTemplate)
{
Console.WriteLine($"Preset '{presetName}' does not have a header or a source! This is weird.");
return false;
}
var generatedCode = false;
if (codeTemplate.HasHeaderTemplate)
{
generatedCode = true;
using (var fileStream = new FileStream(fullPath + ".h", FileMode.Create))
{
codeTemplate.RenderHeaderFile(fileStream, renderingContext);
@ -82,7 +92,6 @@ namespace ZoneCodeGenerator.Generating
if (codeTemplate.HasSourceTemplate)
{
generatedCode = true;
using (var fileStream = new FileStream(fullPath + ".cpp", FileMode.Create))
{
codeTemplate.RenderSourceFile(fileStream, renderingContext);
@ -90,10 +99,13 @@ namespace ZoneCodeGenerator.Generating
}
}
return generatedCode;
return true;
}
catch (Exception)
catch (Exception e)
{
Console.WriteLine("An exception occured while trying to generate code");
Console.WriteLine(e.GetType().Name);
Console.WriteLine(e.Message);
return false;
}
}

View File

@ -82,8 +82,8 @@ namespace ZoneCodeGenerator.Generating
{
if (resourceStream == null)
{
if (Verbose)
Console.WriteLine($"Resource '{fileName}' doesn't exist");
Console.WriteLine("The following files do exist: " + string.Join(", ", Assembly.GetExecutingAssembly().GetManifestResourceNames()));
return;
}

View File

@ -56,8 +56,10 @@ namespace ZoneCodeGenerator.Parsing.C_Header
return dataRepository;
}
}
catch (IOException)
catch (IOException e)
{
Console.WriteLine("An exception occured while trying to read header file");
Console.WriteLine(e.Message);
return null;
}
}

View File

@ -12,6 +12,10 @@ function ZoneCommon:link()
}
end
function ZoneCommon:use()
end
function ZoneCommon:project()
local folder = ProjectFolder();

View File

@ -17,6 +17,10 @@ function ZoneLoading:link()
}
end
function ZoneLoading:use()
end
function ZoneLoading:project()
local folder = ProjectFolder();
@ -28,11 +32,22 @@ function ZoneLoading:project()
files {
path.join(folder, "ZoneLoading/**.h"),
path.join(folder, "ZoneLoading/**.cpp")
path.join(folder, "ZoneLoading/**.cpp"),
ZoneCode:allLoadFiles()
}
vpaths {
["*"] = {
path.join(folder, "ZoneLoading"),
path.join(BuildFolder(), "src/ZoneCode")
}
}
self:include()
Crypto:include()
Utils:include()
zlib:include()
ZoneCode:include()
ZoneCode:use()
end

View File

@ -4,54 +4,54 @@
#include <cassert>
#include "XAssets/gen/addonmapents/addonmapents_load_db.h"
#include "XAssets/gen/clipmap_t/clipmap_t_load_db.h"
#include "XAssets/gen/comworld/comworld_load_db.h"
#include "XAssets/gen/ddlroot_t/ddlroot_t_load_db.h"
#include "XAssets/gen/destructibledef/destructibledef_load_db.h"
#include "XAssets/gen/emblemset/emblemset_load_db.h"
#include "XAssets/gen/font_s/font_s_load_db.h"
#include "XAssets/gen/fonticon/fonticon_load_db.h"
#include "XAssets/gen/footstepfxtabledef/footstepfxtabledef_load_db.h"
#include "XAssets/gen/footsteptabledef/footsteptabledef_load_db.h"
#include "XAssets/gen/fxeffectdef/fxeffectdef_load_db.h"
#include "XAssets/gen/fximpacttable/fximpacttable_load_db.h"
#include "XAssets/gen/gameworldmp/gameworldmp_load_db.h"
#include "XAssets/gen/gameworldsp/gameworldsp_load_db.h"
#include "XAssets/gen/gfximage/gfximage_load_db.h"
#include "XAssets/gen/gfxlightdef/gfxlightdef_load_db.h"
#include "XAssets/gen/gfxworld/gfxworld_load_db.h"
#include "XAssets/gen/glasses/glasses_load_db.h"
#include "XAssets/gen/keyvaluepairs/keyvaluepairs_load_db.h"
#include "XAssets/gen/leaderboarddef/leaderboarddef_load_db.h"
#include "XAssets/gen/localizeentry/localizeentry_load_db.h"
#include "XAssets/gen/mapents/mapents_load_db.h"
#include "XAssets/gen/material/material_load_db.h"
#include "XAssets/gen/materialtechniqueset/materialtechniqueset_load_db.h"
#include "XAssets/gen/memoryblock/memoryblock_load_db.h"
#include "XAssets/gen/menudef_t/menudef_t_load_db.h"
#include "XAssets/gen/menulist/menulist_load_db.h"
#include "XAssets/gen/physconstraints/physconstraints_load_db.h"
#include "XAssets/gen/physpreset/physpreset_load_db.h"
#include "XAssets/gen/qdb/qdb_load_db.h"
#include "XAssets/gen/rawfile/rawfile_load_db.h"
#include "XAssets/gen/scriptparsetree/scriptparsetree_load_db.h"
#include "XAssets/gen/skinnedvertsdef/skinnedvertsdef_load_db.h"
#include "XAssets/gen/slug/slug_load_db.h"
#include "XAssets/gen/sndbank/sndbank_load_db.h"
#include "XAssets/gen/snddriverglobals/snddriverglobals_load_db.h"
#include "XAssets/gen/sndpatch/sndpatch_load_db.h"
#include "XAssets/gen/stringtable/stringtable_load_db.h"
#include "XAssets/gen/tracerdef/tracerdef_load_db.h"
#include "XAssets/gen/vehicledef/vehicledef_load_db.h"
#include "XAssets/gen/weaponattachment/weaponattachment_load_db.h"
#include "XAssets/gen/weaponattachmentunique/weaponattachmentunique_load_db.h"
#include "XAssets/gen/weaponcamo/weaponcamo_load_db.h"
#include "XAssets/gen/weaponvariantdef/weaponvariantdef_load_db.h"
#include "XAssets/gen/xanimparts/xanimparts_load_db.h"
#include "XAssets/gen/xglobals/xglobals_load_db.h"
#include "XAssets/gen/xmodel/xmodel_load_db.h"
#include "XAssets/gen/zbarrierdef/zbarrierdef_load_db.h"
#include "Game/T6/XAssets/addonmapents/addonmapents_load_db.h"
#include "Game/T6/XAssets/clipmap_t/clipmap_t_load_db.h"
#include "Game/T6/XAssets/comworld/comworld_load_db.h"
#include "Game/T6/XAssets/ddlroot_t/ddlroot_t_load_db.h"
#include "Game/T6/XAssets/destructibledef/destructibledef_load_db.h"
#include "Game/T6/XAssets/emblemset/emblemset_load_db.h"
#include "Game/T6/XAssets/font_s/font_s_load_db.h"
#include "Game/T6/XAssets/fonticon/fonticon_load_db.h"
#include "Game/T6/XAssets/footstepfxtabledef/footstepfxtabledef_load_db.h"
#include "Game/T6/XAssets/footsteptabledef/footsteptabledef_load_db.h"
#include "Game/T6/XAssets/fxeffectdef/fxeffectdef_load_db.h"
#include "Game/T6/XAssets/fximpacttable/fximpacttable_load_db.h"
#include "Game/T6/XAssets/gameworldmp/gameworldmp_load_db.h"
#include "Game/T6/XAssets/gameworldsp/gameworldsp_load_db.h"
#include "Game/T6/XAssets/gfximage/gfximage_load_db.h"
#include "Game/T6/XAssets/gfxlightdef/gfxlightdef_load_db.h"
#include "Game/T6/XAssets/gfxworld/gfxworld_load_db.h"
#include "Game/T6/XAssets/glasses/glasses_load_db.h"
#include "Game/T6/XAssets/keyvaluepairs/keyvaluepairs_load_db.h"
#include "Game/T6/XAssets/leaderboarddef/leaderboarddef_load_db.h"
#include "Game/T6/XAssets/localizeentry/localizeentry_load_db.h"
#include "Game/T6/XAssets/mapents/mapents_load_db.h"
#include "Game/T6/XAssets/material/material_load_db.h"
#include "Game/T6/XAssets/materialtechniqueset/materialtechniqueset_load_db.h"
#include "Game/T6/XAssets/memoryblock/memoryblock_load_db.h"
#include "Game/T6/XAssets/menudef_t/menudef_t_load_db.h"
#include "Game/T6/XAssets/menulist/menulist_load_db.h"
#include "Game/T6/XAssets/physconstraints/physconstraints_load_db.h"
#include "Game/T6/XAssets/physpreset/physpreset_load_db.h"
#include "Game/T6/XAssets/qdb/qdb_load_db.h"
#include "Game/T6/XAssets/rawfile/rawfile_load_db.h"
#include "Game/T6/XAssets/scriptparsetree/scriptparsetree_load_db.h"
#include "Game/T6/XAssets/skinnedvertsdef/skinnedvertsdef_load_db.h"
#include "Game/T6/XAssets/slug/slug_load_db.h"
#include "Game/T6/XAssets/sndbank/sndbank_load_db.h"
#include "Game/T6/XAssets/snddriverglobals/snddriverglobals_load_db.h"
#include "Game/T6/XAssets/sndpatch/sndpatch_load_db.h"
#include "Game/T6/XAssets/stringtable/stringtable_load_db.h"
#include "Game/T6/XAssets/tracerdef/tracerdef_load_db.h"
#include "Game/T6/XAssets/vehicledef/vehicledef_load_db.h"
#include "Game/T6/XAssets/weaponattachment/weaponattachment_load_db.h"
#include "Game/T6/XAssets/weaponattachmentunique/weaponattachmentunique_load_db.h"
#include "Game/T6/XAssets/weaponcamo/weaponcamo_load_db.h"
#include "Game/T6/XAssets/weaponvariantdef/weaponvariantdef_load_db.h"
#include "Game/T6/XAssets/xanimparts/xanimparts_load_db.h"
#include "Game/T6/XAssets/xglobals/xglobals_load_db.h"
#include "Game/T6/XAssets/xmodel/xmodel_load_db.h"
#include "Game/T6/XAssets/zbarrierdef/zbarrierdef_load_db.h"
using namespace T6;

View File

@ -17,6 +17,10 @@ function ZoneWriting:link()
}
end
function ZoneWriting:use()
end
function ZoneWriting:project()
local folder = ProjectFolder();
@ -35,4 +39,6 @@ function ZoneWriting:project()
Crypto:include()
Utils:include()
zlib:include()
ZoneCode:use()
end

View File

@ -5,6 +5,10 @@ function ZoneCodeGeneratorTests:include()
end
function ZoneCodeGeneratorTests:link()
links "ZoneCommonTests"
end
function ZoneCodeGeneratorTests:use()
end
@ -32,9 +36,7 @@ function ZoneCodeGeneratorTests:project()
links {
"System",
"System.Core",
"System.Data",
"Moq",
"MSTest.TestFramework"
"System.Data"
}
ZoneCodeGenerator:link()

View File

@ -5,6 +5,10 @@ function ZoneCommonTests:include()
end
function ZoneCommonTests:link()
links "ZoneCommonTests"
end
function ZoneCommonTests:use()
end
@ -19,11 +23,21 @@ function ZoneCommonTests:project()
files {
path.join(folder, "ZoneCommonTests/**.h"),
path.join(folder, "ZoneCommonTests/**.cpp")
path.join(folder, "ZoneCommonTests/**.cpp"),
ZoneCode:allTestFiles()
}
vpaths {
["*"] = {
path.join(folder, "ZoneCommonTests"),
path.join(BuildFolder(), "src/ZoneCode")
}
}
self:include()
ZoneCommon:include()
ZoneCommon:link()
ZoneCode:use()
end

View File

View File

@ -1 +0,0 @@
# This file exists for automatically generating tests to ensure the asset structs match their intended sizes, alignments and offsets

View File

@ -1,236 +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>{D85EBA7C-442B-4627-AEB9-6B5965DDC449}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>ZoneCommonTests</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
<ProjectSubType>NativeUnitTestProject</ProjectSubType>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<UseOfMfc>false</UseOfMfc>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<UseOfMfc>false</UseOfMfc>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<UseOfMfc>false</UseOfMfc>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<UseOfMfc>false</UseOfMfc>
</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>
<OutDir>$(SolutionDir)bin\$(Configuration)_$(Platform)\tests\</OutDir>
<IntDir>$(SolutionDir)obj\$(ProjectName)\$(Configuration)_$(Platform)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
<OutDir>$(SolutionDir)bin\$(Configuration)_$(Platform)\tests\</OutDir>
<IntDir>$(SolutionDir)obj\$(ProjectName)\$(Configuration)_$(Platform)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>true</LinkIncremental>
<OutDir>$(SolutionDir)bin\$(Configuration)_$(Platform)\tests\</OutDir>
<IntDir>$(SolutionDir)obj\$(ProjectName)\$(Configuration)_$(Platform)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>true</LinkIncremental>
<OutDir>$(SolutionDir)bin\$(Configuration)_$(Platform)\tests\</OutDir>
<IntDir>$(SolutionDir)obj\$(ProjectName)\$(Configuration)_$(Platform)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>$(VCInstallDir)UnitTest\include;$(SolutionDir)src\ZoneCommon;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<UseFullPaths>true</UseFullPaths>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<AdditionalLibraryDirectories>$(VCInstallDir)UnitTest\lib;$(SolutionDir)lib\$(Configuration)_$(Platform)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>ZoneCommon.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>$(VCInstallDir)UnitTest\include;$(SolutionDir)src\ZoneCommon;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<UseFullPaths>true</UseFullPaths>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<AdditionalLibraryDirectories>$(VCInstallDir)UnitTest\lib;$(SolutionDir)lib\$(Configuration)_$(Platform)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>ZoneCommon.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<AdditionalIncludeDirectories>$(VCInstallDir)UnitTest\include;$(SolutionDir)src\ZoneCommon;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<UseFullPaths>true</UseFullPaths>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalLibraryDirectories>$(VCInstallDir)UnitTest\lib;$(SolutionDir)lib\$(Configuration)_$(Platform)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>ZoneCommon.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<AdditionalIncludeDirectories>$(VCInstallDir)UnitTest\include;$(SolutionDir)src\ZoneCommon;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<UseFullPaths>true</UseFullPaths>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalLibraryDirectories>$(VCInstallDir)UnitTest\lib;$(SolutionDir)lib\$(Configuration)_$(Platform)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>ZoneCommon.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="Game\T6\XAssets\gen\addonmapents_struct_test.cpp" />
<ClCompile Include="Game\T6\XAssets\gen\clipmap_t_struct_test.cpp" />
<ClCompile Include="Game\T6\XAssets\gen\comworld_struct_test.cpp" />
<ClCompile Include="Game\T6\XAssets\gen\ddlroot_t_struct_test.cpp" />
<ClCompile Include="Game\T6\XAssets\gen\destructibledef_struct_test.cpp" />
<ClCompile Include="Game\T6\XAssets\gen\emblemset_struct_test.cpp" />
<ClCompile Include="Game\T6\XAssets\gen\fonticon_struct_test.cpp" />
<ClCompile Include="Game\T6\XAssets\gen\font_s_struct_test.cpp" />
<ClCompile Include="Game\T6\XAssets\gen\footstepfxtabledef_struct_test.cpp" />
<ClCompile Include="Game\T6\XAssets\gen\footsteptabledef_struct_test.cpp" />
<ClCompile Include="Game\T6\XAssets\gen\fxeffectdef_struct_test.cpp" />
<ClCompile Include="Game\T6\XAssets\gen\fximpacttable_struct_test.cpp" />
<ClCompile Include="Game\T6\XAssets\gen\gameworldmp_struct_test.cpp" />
<ClCompile Include="Game\T6\XAssets\gen\gameworldsp_struct_test.cpp" />
<ClCompile Include="Game\T6\XAssets\gen\gfximage_struct_test.cpp" />
<ClCompile Include="Game\T6\XAssets\gen\gfxlightdef_struct_test.cpp" />
<ClCompile Include="Game\T6\XAssets\gen\gfxworld_struct_test.cpp" />
<ClCompile Include="Game\T6\XAssets\gen\glasses_struct_test.cpp" />
<ClCompile Include="Game\T6\XAssets\gen\keyvaluepairs_struct_test.cpp" />
<ClCompile Include="Game\T6\XAssets\gen\leaderboarddef_struct_test.cpp" />
<ClCompile Include="Game\T6\XAssets\gen\localizeentry_struct_test.cpp" />
<ClCompile Include="Game\T6\XAssets\gen\mapents_struct_test.cpp" />
<ClCompile Include="Game\T6\XAssets\gen\materialtechniqueset_struct_test.cpp" />
<ClCompile Include="Game\T6\XAssets\gen\material_struct_test.cpp" />
<ClCompile Include="Game\T6\XAssets\gen\memoryblock_struct_test.cpp" />
<ClCompile Include="Game\T6\XAssets\gen\menudef_t_struct_test.cpp" />
<ClCompile Include="Game\T6\XAssets\gen\menulist_struct_test.cpp" />
<ClCompile Include="Game\T6\XAssets\gen\physconstraints_struct_test.cpp" />
<ClCompile Include="Game\T6\XAssets\gen\physpreset_struct_test.cpp" />
<ClCompile Include="Game\T6\XAssets\gen\qdb_struct_test.cpp" />
<ClCompile Include="Game\T6\XAssets\gen\rawfile_struct_test.cpp" />
<ClCompile Include="Game\T6\XAssets\gen\scriptparsetree_struct_test.cpp" />
<ClCompile Include="Game\T6\XAssets\gen\skinnedvertsdef_struct_test.cpp" />
<ClCompile Include="Game\T6\XAssets\gen\slug_struct_test.cpp" />
<ClCompile Include="Game\T6\XAssets\gen\sndbank_struct_test.cpp" />
<ClCompile Include="Game\T6\XAssets\gen\snddriverglobals_struct_test.cpp" />
<ClCompile Include="Game\T6\XAssets\gen\sndpatch_struct_test.cpp" />
<ClCompile Include="Game\T6\XAssets\gen\stringtable_struct_test.cpp" />
<ClCompile Include="Game\T6\XAssets\gen\tracerdef_struct_test.cpp" />
<ClCompile Include="Game\T6\XAssets\gen\vehicledef_struct_test.cpp" />
<ClCompile Include="Game\T6\XAssets\gen\weaponattachmentunique_struct_test.cpp" />
<ClCompile Include="Game\T6\XAssets\gen\weaponattachment_struct_test.cpp" />
<ClCompile Include="Game\T6\XAssets\gen\weaponcamo_struct_test.cpp" />
<ClCompile Include="Game\T6\XAssets\gen\weaponvariantdef_struct_test.cpp" />
<ClCompile Include="Game\T6\XAssets\gen\xanimparts_struct_test.cpp" />
<ClCompile Include="Game\T6\XAssets\gen\xglobals_struct_test.cpp" />
<ClCompile Include="Game\T6\XAssets\gen\xmodel_struct_test.cpp" />
<ClCompile Include="Game\T6\XAssets\gen\zbarrierdef_struct_test.cpp" />
</ItemGroup>
<ItemGroup>
<CustomBuild Include="Game\T6\XAssets\T6_AssetStructTests.gen">
<FileType>Document</FileType>
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Generating asset struct tests: %(Filename)</Message>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Generating asset struct tests: %(Filename)</Message>
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Generating asset struct tests: %(Filename)</Message>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Generating asset struct tests: %(Filename)</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(SolutionDir)src\ZoneCodeGenerator\bin\$(Configuration)\ZoneCodeGenerator.exe" -h "$(SolutionDir)src\ZoneCode\T6\T6.h" -e "$(SolutionDir)src\ZoneCode\T6\T6_Commands.txt" -o "%(RelativeDir)gen" -g "*" "AssetStructTests"</Command>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(SolutionDir)src\ZoneCodeGenerator\bin\$(Configuration)\ZoneCodeGenerator.exe" -h "$(SolutionDir)src\ZoneCode\T6\T6.h" -e "$(SolutionDir)src\ZoneCode\T6\T6_Commands.txt" -o "%(RelativeDir)gen" -g "*" "AssetStructTests"</Command>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(SolutionDir)src\ZoneCodeGenerator\bin\$(Configuration)\ZoneCodeGenerator.exe" -h "$(SolutionDir)src\ZoneCode\T6\T6.h" -e "$(SolutionDir)src\ZoneCode\T6\T6_Commands.txt" -o "%(RelativeDir)gen" -g "*" "AssetStructTests"</Command>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(SolutionDir)src\ZoneCodeGenerator\bin\$(Configuration)\ZoneCodeGenerator.exe" -h "$(SolutionDir)src\ZoneCode\T6\T6.h" -e "$(SolutionDir)src\ZoneCode\T6\T6_Commands.txt" -o "%(RelativeDir)gen" -g "*" "AssetStructTests"</Command>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)src\ZoneCodeGenerator\bin\$(Configuration)\ZoneCodeGenerator.exe;$(SolutionDir)src\ZoneCode\T6\T6.h;$(SolutionDir)src\ZoneCommon\Game\T6\T6_Assets.h;$(SolutionDir)src\ZoneCode\Common.h;$(SolutionDir)src\ZoneCode\T6\T6_Commands.txt;%(AdditionalInputs)</AdditionalInputs>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)src\ZoneCodeGenerator\bin\$(Configuration)\ZoneCodeGenerator.exe;$(SolutionDir)src\ZoneCode\T6\T6.h;$(SolutionDir)src\ZoneCommon\Game\T6\T6_Assets.h;$(SolutionDir)src\ZoneCode\Common.h;$(SolutionDir)src\ZoneCode\T6\T6_Commands.txt;%(AdditionalInputs)</AdditionalInputs>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)src\ZoneCodeGenerator\bin\$(Configuration)\ZoneCodeGenerator.exe;$(SolutionDir)src\ZoneCode\T6\T6.h;$(SolutionDir)src\ZoneCommon\Game\T6\T6_Assets.h;$(SolutionDir)src\ZoneCode\Common.h;$(SolutionDir)src\ZoneCode\T6\T6_Commands.txt;%(AdditionalInputs)</AdditionalInputs>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)src\ZoneCodeGenerator\bin\$(Configuration)\ZoneCodeGenerator.exe;$(SolutionDir)src\ZoneCode\T6\T6.h;$(SolutionDir)src\ZoneCommon\Game\T6\T6_Assets.h;$(SolutionDir)src\ZoneCode\Common.h;$(SolutionDir)src\ZoneCode\T6\T6_Commands.txt;%(AdditionalInputs)</AdditionalInputs>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(RelativeDir)gen\addonmapents_struct_test.cpp;%(RelativeDir)gen\clipmap_t_struct_test.cpp;%(RelativeDir)gen\comworld_struct_test.cpp;%(RelativeDir)gen\ddlroot_t_struct_test.cpp;%(RelativeDir)gen\destructibledef_struct_test.cpp;%(RelativeDir)gen\emblemset_struct_test.cpp;%(RelativeDir)gen\font_s_struct_test.cpp;%(RelativeDir)gen\fonticon_struct_test.cpp;%(RelativeDir)gen\footstepfxtabledef_struct_test.cpp;%(RelativeDir)gen\footsteptabledef_struct_test.cpp;%(RelativeDir)gen\fxeffectdef_struct_test.cpp;%(RelativeDir)gen\fximpacttable_struct_test.cpp;%(RelativeDir)gen\gameworldmp_struct_test.cpp;%(RelativeDir)gen\gameworldsp_struct_test.cpp;%(RelativeDir)gen\gfximage_struct_test.cpp;%(RelativeDir)gen\gfxlightdef_struct_test.cpp;%(RelativeDir)gen\gfxworld_struct_test.cpp;%(RelativeDir)gen\glasses_struct_test.cpp;%(RelativeDir)gen\keyvaluepairs_struct_test.cpp;%(RelativeDir)gen\leaderboarddef_struct_test.cpp;%(RelativeDir)gen\localizeentry_struct_test.cpp;%(RelativeDir)gen\mapents_struct_test.cpp;%(RelativeDir)gen\material_struct_test.cpp;%(RelativeDir)gen\materialtechniqueset_struct_test.cpp;%(RelativeDir)gen\memoryblock_struct_test.cpp;%(RelativeDir)gen\menudef_t_struct_test.cpp;%(RelativeDir)gen\menulist_struct_test.cpp;%(RelativeDir)gen\physconstraints_struct_test.cpp;%(RelativeDir)gen\physpreset_struct_test.cpp;%(RelativeDir)gen\qdb_struct_test.cpp;%(RelativeDir)gen\rawfile_struct_test.cpp;%(RelativeDir)gen\scriptparsetree_struct_test.cpp;%(RelativeDir)gen\skinnedvertsdef_struct_test.cpp;%(RelativeDir)gen\slug_struct_test.cpp;%(RelativeDir)gen\sndbank_struct_test.cpp;%(RelativeDir)gen\snddriverglobals_struct_test.cpp;%(RelativeDir)gen\sndpatch_struct_test.cpp;%(RelativeDir)gen\stringtable_struct_test.cpp;%(RelativeDir)gen\tracerdef_struct_test.cpp;%(RelativeDir)gen\vehicledef_struct_test.cpp;%(RelativeDir)gen\weaponattachment_struct_test.cpp;%(RelativeDir)gen\weaponattachmentunique_struct_test.cpp;%(RelativeDir)gen\weaponcamo_struct_test.cpp;%(RelativeDir)gen\weaponvariantdef_struct_test.cpp;%(RelativeDir)gen\xanimparts_struct_test.cpp;%(RelativeDir)gen\xglobals_struct_test.cpp;%(RelativeDir)gen\xmodel_struct_test.cpp;%(RelativeDir)gen\zbarrierdef_struct_test.cpp;%(Outputs)</Outputs>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(RelativeDir)gen\addonmapents_struct_test.cpp;%(RelativeDir)gen\clipmap_t_struct_test.cpp;%(RelativeDir)gen\comworld_struct_test.cpp;%(RelativeDir)gen\ddlroot_t_struct_test.cpp;%(RelativeDir)gen\destructibledef_struct_test.cpp;%(RelativeDir)gen\emblemset_struct_test.cpp;%(RelativeDir)gen\font_s_struct_test.cpp;%(RelativeDir)gen\fonticon_struct_test.cpp;%(RelativeDir)gen\footstepfxtabledef_struct_test.cpp;%(RelativeDir)gen\footsteptabledef_struct_test.cpp;%(RelativeDir)gen\fxeffectdef_struct_test.cpp;%(RelativeDir)gen\fximpacttable_struct_test.cpp;%(RelativeDir)gen\gameworldmp_struct_test.cpp;%(RelativeDir)gen\gameworldsp_struct_test.cpp;%(RelativeDir)gen\gfximage_struct_test.cpp;%(RelativeDir)gen\gfxlightdef_struct_test.cpp;%(RelativeDir)gen\gfxworld_struct_test.cpp;%(RelativeDir)gen\glasses_struct_test.cpp;%(RelativeDir)gen\keyvaluepairs_struct_test.cpp;%(RelativeDir)gen\leaderboarddef_struct_test.cpp;%(RelativeDir)gen\localizeentry_struct_test.cpp;%(RelativeDir)gen\mapents_struct_test.cpp;%(RelativeDir)gen\material_struct_test.cpp;%(RelativeDir)gen\materialtechniqueset_struct_test.cpp;%(RelativeDir)gen\memoryblock_struct_test.cpp;%(RelativeDir)gen\menudef_t_struct_test.cpp;%(RelativeDir)gen\menulist_struct_test.cpp;%(RelativeDir)gen\physconstraints_struct_test.cpp;%(RelativeDir)gen\physpreset_struct_test.cpp;%(RelativeDir)gen\qdb_struct_test.cpp;%(RelativeDir)gen\rawfile_struct_test.cpp;%(RelativeDir)gen\scriptparsetree_struct_test.cpp;%(RelativeDir)gen\skinnedvertsdef_struct_test.cpp;%(RelativeDir)gen\slug_struct_test.cpp;%(RelativeDir)gen\sndbank_struct_test.cpp;%(RelativeDir)gen\snddriverglobals_struct_test.cpp;%(RelativeDir)gen\sndpatch_struct_test.cpp;%(RelativeDir)gen\stringtable_struct_test.cpp;%(RelativeDir)gen\tracerdef_struct_test.cpp;%(RelativeDir)gen\vehicledef_struct_test.cpp;%(RelativeDir)gen\weaponattachment_struct_test.cpp;%(RelativeDir)gen\weaponattachmentunique_struct_test.cpp;%(RelativeDir)gen\weaponcamo_struct_test.cpp;%(RelativeDir)gen\weaponvariantdef_struct_test.cpp;%(RelativeDir)gen\xanimparts_struct_test.cpp;%(RelativeDir)gen\xglobals_struct_test.cpp;%(RelativeDir)gen\xmodel_struct_test.cpp;%(RelativeDir)gen\zbarrierdef_struct_test.cpp;%(Outputs)</Outputs>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(RelativeDir)gen\addonmapents_struct_test.cpp;%(RelativeDir)gen\clipmap_t_struct_test.cpp;%(RelativeDir)gen\comworld_struct_test.cpp;%(RelativeDir)gen\ddlroot_t_struct_test.cpp;%(RelativeDir)gen\destructibledef_struct_test.cpp;%(RelativeDir)gen\emblemset_struct_test.cpp;%(RelativeDir)gen\font_s_struct_test.cpp;%(RelativeDir)gen\fonticon_struct_test.cpp;%(RelativeDir)gen\footstepfxtabledef_struct_test.cpp;%(RelativeDir)gen\footsteptabledef_struct_test.cpp;%(RelativeDir)gen\fxeffectdef_struct_test.cpp;%(RelativeDir)gen\fximpacttable_struct_test.cpp;%(RelativeDir)gen\gameworldmp_struct_test.cpp;%(RelativeDir)gen\gameworldsp_struct_test.cpp;%(RelativeDir)gen\gfximage_struct_test.cpp;%(RelativeDir)gen\gfxlightdef_struct_test.cpp;%(RelativeDir)gen\gfxworld_struct_test.cpp;%(RelativeDir)gen\glasses_struct_test.cpp;%(RelativeDir)gen\keyvaluepairs_struct_test.cpp;%(RelativeDir)gen\leaderboarddef_struct_test.cpp;%(RelativeDir)gen\localizeentry_struct_test.cpp;%(RelativeDir)gen\mapents_struct_test.cpp;%(RelativeDir)gen\material_struct_test.cpp;%(RelativeDir)gen\materialtechniqueset_struct_test.cpp;%(RelativeDir)gen\memoryblock_struct_test.cpp;%(RelativeDir)gen\menudef_t_struct_test.cpp;%(RelativeDir)gen\menulist_struct_test.cpp;%(RelativeDir)gen\physconstraints_struct_test.cpp;%(RelativeDir)gen\physpreset_struct_test.cpp;%(RelativeDir)gen\qdb_struct_test.cpp;%(RelativeDir)gen\rawfile_struct_test.cpp;%(RelativeDir)gen\scriptparsetree_struct_test.cpp;%(RelativeDir)gen\skinnedvertsdef_struct_test.cpp;%(RelativeDir)gen\slug_struct_test.cpp;%(RelativeDir)gen\sndbank_struct_test.cpp;%(RelativeDir)gen\snddriverglobals_struct_test.cpp;%(RelativeDir)gen\sndpatch_struct_test.cpp;%(RelativeDir)gen\stringtable_struct_test.cpp;%(RelativeDir)gen\tracerdef_struct_test.cpp;%(RelativeDir)gen\vehicledef_struct_test.cpp;%(RelativeDir)gen\weaponattachment_struct_test.cpp;%(RelativeDir)gen\weaponattachmentunique_struct_test.cpp;%(RelativeDir)gen\weaponcamo_struct_test.cpp;%(RelativeDir)gen\weaponvariantdef_struct_test.cpp;%(RelativeDir)gen\xanimparts_struct_test.cpp;%(RelativeDir)gen\xglobals_struct_test.cpp;%(RelativeDir)gen\xmodel_struct_test.cpp;%(RelativeDir)gen\zbarrierdef_struct_test.cpp;%(Outputs)</Outputs>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(RelativeDir)gen\addonmapents_struct_test.cpp;%(RelativeDir)gen\clipmap_t_struct_test.cpp;%(RelativeDir)gen\comworld_struct_test.cpp;%(RelativeDir)gen\ddlroot_t_struct_test.cpp;%(RelativeDir)gen\destructibledef_struct_test.cpp;%(RelativeDir)gen\emblemset_struct_test.cpp;%(RelativeDir)gen\font_s_struct_test.cpp;%(RelativeDir)gen\fonticon_struct_test.cpp;%(RelativeDir)gen\footstepfxtabledef_struct_test.cpp;%(RelativeDir)gen\footsteptabledef_struct_test.cpp;%(RelativeDir)gen\fxeffectdef_struct_test.cpp;%(RelativeDir)gen\fximpacttable_struct_test.cpp;%(RelativeDir)gen\gameworldmp_struct_test.cpp;%(RelativeDir)gen\gameworldsp_struct_test.cpp;%(RelativeDir)gen\gfximage_struct_test.cpp;%(RelativeDir)gen\gfxlightdef_struct_test.cpp;%(RelativeDir)gen\gfxworld_struct_test.cpp;%(RelativeDir)gen\glasses_struct_test.cpp;%(RelativeDir)gen\keyvaluepairs_struct_test.cpp;%(RelativeDir)gen\leaderboarddef_struct_test.cpp;%(RelativeDir)gen\localizeentry_struct_test.cpp;%(RelativeDir)gen\mapents_struct_test.cpp;%(RelativeDir)gen\material_struct_test.cpp;%(RelativeDir)gen\materialtechniqueset_struct_test.cpp;%(RelativeDir)gen\memoryblock_struct_test.cpp;%(RelativeDir)gen\menudef_t_struct_test.cpp;%(RelativeDir)gen\menulist_struct_test.cpp;%(RelativeDir)gen\physconstraints_struct_test.cpp;%(RelativeDir)gen\physpreset_struct_test.cpp;%(RelativeDir)gen\qdb_struct_test.cpp;%(RelativeDir)gen\rawfile_struct_test.cpp;%(RelativeDir)gen\scriptparsetree_struct_test.cpp;%(RelativeDir)gen\skinnedvertsdef_struct_test.cpp;%(RelativeDir)gen\slug_struct_test.cpp;%(RelativeDir)gen\sndbank_struct_test.cpp;%(RelativeDir)gen\snddriverglobals_struct_test.cpp;%(RelativeDir)gen\sndpatch_struct_test.cpp;%(RelativeDir)gen\stringtable_struct_test.cpp;%(RelativeDir)gen\tracerdef_struct_test.cpp;%(RelativeDir)gen\vehicledef_struct_test.cpp;%(RelativeDir)gen\weaponattachment_struct_test.cpp;%(RelativeDir)gen\weaponattachmentunique_struct_test.cpp;%(RelativeDir)gen\weaponcamo_struct_test.cpp;%(RelativeDir)gen\weaponvariantdef_struct_test.cpp;%(RelativeDir)gen\xanimparts_struct_test.cpp;%(RelativeDir)gen\xglobals_struct_test.cpp;%(RelativeDir)gen\xmodel_struct_test.cpp;%(RelativeDir)gen\zbarrierdef_struct_test.cpp;%(Outputs)</Outputs>
</CustomBuild>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -11,9 +11,11 @@ function libtomcrypt:include()
end
function libtomcrypt:link()
links {
"libtomcrypt"
}
links "libtomcrypt"
end
function libtomcrypt:use()
end
function libtomcrypt:project()

View File

@ -7,9 +7,11 @@ function libtommath:include()
end
function libtommath:link()
links {
"libtommath"
}
links "libtommath"
end
function libtommath:use()
end
function libtommath:project()

View File

@ -7,9 +7,11 @@ function salsa20:include()
end
function salsa20:link()
links {
"salsa20"
}
links "salsa20"
end
function salsa20:use()
end
function salsa20:project()

8
thirdparty/zlib.lua vendored
View File

@ -12,9 +12,11 @@ function zlib:include()
end
function zlib:link()
links {
"zlib"
}
links "zlib"
end
function zlib:use()
end
function zlib:project()