From 9f198ce7a21709ba9c4e791860165e528612d985 Mon Sep 17 00:00:00 2001 From: Jan Date: Tue, 24 Sep 2019 23:32:47 +0200 Subject: [PATCH] Add empty Unlinker tool project --- OpenAssetTools.sln | 15 +++ src/Unlinker/Unlinker.vcxproj | 187 ++++++++++++++++++++++++++++++++++ src/Unlinker/main.cpp | 25 +++++ 3 files changed, 227 insertions(+) create mode 100644 src/Unlinker/Unlinker.vcxproj create mode 100644 src/Unlinker/main.cpp diff --git a/OpenAssetTools.sln b/OpenAssetTools.sln index 1168b6ee..c0ea3e88 100644 --- a/OpenAssetTools.sln +++ b/OpenAssetTools.sln @@ -61,6 +61,12 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "salsa20", "thirdparty\salsa EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "thirdparty\zlib\zlib.vcxproj", "{FC57DC08-3496-4DCF-B52F-6EDC568B333C}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Unlinker", "src\Unlinker\Unlinker.vcxproj", "{ED93C237-A96A-4332-B131-CAB4E46F1C48}" + ProjectSection(ProjectDependencies) = postProject + {C3308B0A-D7C7-4560-B5F7-3654DD4B668D} = {C3308B0A-D7C7-4560-B5F7-3654DD4B668D} + {2A92076F-6DFD-4FB1-9E6A-4542B4B049C7} = {2A92076F-6DFD-4FB1-9E6A-4542B4B049C7} + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|x64 = Debug|x64 @@ -189,6 +195,14 @@ Global {FC57DC08-3496-4DCF-B52F-6EDC568B333C}.Release|x64.Build.0 = Release|x64 {FC57DC08-3496-4DCF-B52F-6EDC568B333C}.Release|x86.ActiveCfg = Release|Win32 {FC57DC08-3496-4DCF-B52F-6EDC568B333C}.Release|x86.Build.0 = Release|Win32 + {ED93C237-A96A-4332-B131-CAB4E46F1C48}.Debug|x64.ActiveCfg = Debug|x64 + {ED93C237-A96A-4332-B131-CAB4E46F1C48}.Debug|x64.Build.0 = Debug|x64 + {ED93C237-A96A-4332-B131-CAB4E46F1C48}.Debug|x86.ActiveCfg = Debug|Win32 + {ED93C237-A96A-4332-B131-CAB4E46F1C48}.Debug|x86.Build.0 = Debug|Win32 + {ED93C237-A96A-4332-B131-CAB4E46F1C48}.Release|x64.ActiveCfg = Release|x64 + {ED93C237-A96A-4332-B131-CAB4E46F1C48}.Release|x64.Build.0 = Release|x64 + {ED93C237-A96A-4332-B131-CAB4E46F1C48}.Release|x86.ActiveCfg = Release|Win32 + {ED93C237-A96A-4332-B131-CAB4E46F1C48}.Release|x86.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -209,6 +223,7 @@ Global {46297F21-4D05-4582-85EB-FD07B3243194} = {562895A0-B72F-4A89-9A10-DF97A5D35269} {599A7D9D-0CB8-4B99-AA2E-EA5EC081CF77} = {562895A0-B72F-4A89-9A10-DF97A5D35269} {FC57DC08-3496-4DCF-B52F-6EDC568B333C} = {562895A0-B72F-4A89-9A10-DF97A5D35269} + {ED93C237-A96A-4332-B131-CAB4E46F1C48} = {EB945BC9-2451-4AB5-B434-BD07FAA2D06A} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {FBB5097F-0C5C-439C-8E82-19EF614DE3BE} diff --git a/src/Unlinker/Unlinker.vcxproj b/src/Unlinker/Unlinker.vcxproj new file mode 100644 index 00000000..ba15edb4 --- /dev/null +++ b/src/Unlinker/Unlinker.vcxproj @@ -0,0 +1,187 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + + + + 15.0 + {ED93C237-A96A-4332-B131-CAB4E46F1C48} + Win32Proj + Unlinker + 10.0.17763.0 + + + + Application + true + v141 + Unicode + + + Application + false + v141 + true + Unicode + + + Application + true + v141 + Unicode + + + Application + false + v141 + true + Unicode + + + + + + + + + + + + + + + + + + + + + true + $(SolutionDir)bin\$(Configuration)_$(Platform)\ + $(SolutionDir)obj\$(ProjectName)\$(Configuration)_$(Platform)\ + unlinker + + + true + $(SolutionDir)bin\$(Configuration)_$(Platform)\ + $(SolutionDir)obj\$(ProjectName)\$(Configuration)_$(Platform)\ + unlinker + + + false + $(SolutionDir)bin\$(Configuration)_$(Platform)\ + $(SolutionDir)obj\$(ProjectName)\$(Configuration)_$(Platform)\ + unlinker + + + false + $(SolutionDir)bin\$(Configuration)_$(Platform)\ + $(SolutionDir)obj\$(ProjectName)\$(Configuration)_$(Platform)\ + unlinker + + + + Level3 + Disabled + true + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + pch.h + 4715;%(TreatSpecificWarningsAsErrors) + $(ProjectDir);$(SolutionDir)src\Utils\;$(SolutionDir)src\ZoneCommon\;$(SolutionDir)src\ZoneLoading\;%(AdditionalIncludeDirectories) + + + Console + true + /ignore:4221 + Utils.lib;ZoneCommon.lib;ZoneLoading.lib;%(AdditionalDependencies) + $(SolutionDir)lib\$(Configuration)_$(Platform)\;%(AdditionalLibraryDirectories) + + + + + Level3 + Disabled + true + _DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + pch.h + 4715;%(TreatSpecificWarningsAsErrors) + $(ProjectDir);$(SolutionDir)src\Utils\;$(SolutionDir)src\ZoneCommon\;$(SolutionDir)src\ZoneLoading\;%(AdditionalIncludeDirectories) + + + Console + true + /ignore:4221 + Utils.lib;ZoneCommon.lib;ZoneLoading.lib;%(AdditionalDependencies) + $(SolutionDir)lib\$(Configuration)_$(Platform)\;%(AdditionalLibraryDirectories) + + + + + Level3 + MaxSpeed + true + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + pch.h + 4715;%(TreatSpecificWarningsAsErrors) + $(ProjectDir);$(SolutionDir)src\Utils\;$(SolutionDir)src\ZoneCommon\;$(SolutionDir)src\ZoneLoading\;%(AdditionalIncludeDirectories) + + + Console + true + true + true + /ignore:4221 + Utils.lib;ZoneCommon.lib;ZoneLoading.lib;%(AdditionalDependencies) + $(SolutionDir)lib\$(Configuration)_$(Platform)\;%(AdditionalLibraryDirectories) + + + + + Level3 + MaxSpeed + true + true + true + NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + pch.h + 4715;%(TreatSpecificWarningsAsErrors) + $(ProjectDir);$(SolutionDir)src\Utils\;$(SolutionDir)src\ZoneCommon\;$(SolutionDir)src\ZoneLoading\;%(AdditionalIncludeDirectories) + + + Console + true + true + true + /ignore:4221 + Utils.lib;ZoneCommon.lib;ZoneLoading.lib;%(AdditionalDependencies) + $(SolutionDir)lib\$(Configuration)_$(Platform)\;%(AdditionalLibraryDirectories) + + + + + + \ No newline at end of file diff --git a/src/Unlinker/main.cpp b/src/Unlinker/main.cpp new file mode 100644 index 00000000..aca64b69 --- /dev/null +++ b/src/Unlinker/main.cpp @@ -0,0 +1,25 @@ +#include "Utils/Arguments/ArgumentParser.h" + +CommandLineOption* optionMinimalZoneFile = CommandLineOption::Builder::Create() + .WithShortName("min") + .WithLongName("minimal-zone") + .WithDescription("Minimizes the size of the zone file output by only including assets that are not a dependency of another asset.") + .Build(); + +CommandLineOption* optionOutputFolder = CommandLineOption::Builder::Create() + .WithShortName("o") + .WithLongName("output-folder") + .WithDescription("Specifies the output folder containing the contents of the unlinked zones. Defaults to ./%zoneName%") + .WithParameter("outputFolderPath") + .Build(); + +CommandLineOption* commandLineOptions[] +{ + optionMinimalZoneFile, + optionOutputFolder +}; + +int main(int argc, const char** argv) +{ + return 0; +} \ No newline at end of file