From bba96b248d5c3d6865509a7d8d38ae3c20709e18 Mon Sep 17 00:00:00 2001 From: Jan Date: Fri, 22 Apr 2022 23:21:23 +0200 Subject: [PATCH] Add skip obj unlinker arg --- src/Unlinker/Unlinker.cpp | 4 ++-- src/Unlinker/UnlinkerArgs.cpp | 11 +++++++++++ src/Unlinker/UnlinkerArgs.h | 1 + 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/Unlinker/Unlinker.cpp b/src/Unlinker/Unlinker.cpp index 9b286467..043c7a67 100644 --- a/src/Unlinker/Unlinker.cpp +++ b/src/Unlinker/Unlinker.cpp @@ -45,7 +45,7 @@ class Unlinker::Impl _NODISCARD bool ShouldLoadObj() const { - return m_args.m_task != UnlinkerArgs::ProcessingTask::LIST; + return m_args.m_task != UnlinkerArgs::ProcessingTask::LIST && !m_args.m_skip_obj; } /** @@ -403,7 +403,7 @@ class Unlinker::Impl if (ShouldLoadObj()) { ObjLoading::LoadReferencedContainersForZone(&searchPathsForZone, zone.get()); - ObjLoading::LoadObjDataForZone(&searchPathsForZone, zone.get()); + ObjLoading::LoadObjDataForZone(&searchPathsForZone, zone.get()); } if (!HandleZone(zone.get())) diff --git a/src/Unlinker/UnlinkerArgs.cpp b/src/Unlinker/UnlinkerArgs.cpp index 558b7bc6..25caad32 100644 --- a/src/Unlinker/UnlinkerArgs.cpp +++ b/src/Unlinker/UnlinkerArgs.cpp @@ -73,6 +73,12 @@ const CommandLineOption* const OPTION_MODEL_FORMAT = .WithParameter("modelFormatValue") .Build(); +const CommandLineOption* const OPTION_SKIP_OBJ = + CommandLineOption::Builder::Create() + .WithLongName("skip-obj") + .WithDescription("Skips loading raw obj data.") + .Build(); + const CommandLineOption* const OPTION_GDT = CommandLineOption::Builder::Create() .WithLongName("gdt") @@ -112,6 +118,7 @@ const CommandLineOption* const COMMAND_LINE_OPTIONS[] OPTION_SEARCH_PATH, OPTION_IMAGE_FORMAT, OPTION_MODEL_FORMAT, + OPTION_SKIP_OBJ, OPTION_GDT, OPTION_EXCLUDE_ASSETS, OPTION_INCLUDE_ASSETS, @@ -124,6 +131,7 @@ UnlinkerArgs::UnlinkerArgs() m_task(ProcessingTask::DUMP), m_minimal_zone_def(false), m_asset_type_handling(AssetTypeHandling::EXCLUDE), + m_skip_obj(false), m_use_gdt(false), m_verbose(false) { @@ -298,6 +306,9 @@ bool UnlinkerArgs::ParseArgs(const int argc, const char** argv) } } + // --skip-obj + m_skip_obj = m_argument_parser.IsOptionSpecified(OPTION_SKIP_OBJ); + // --gdt m_use_gdt = m_argument_parser.IsOptionSpecified(OPTION_GDT); diff --git a/src/Unlinker/UnlinkerArgs.h b/src/Unlinker/UnlinkerArgs.h index 3bc272ca..7a4d081f 100644 --- a/src/Unlinker/UnlinkerArgs.h +++ b/src/Unlinker/UnlinkerArgs.h @@ -54,6 +54,7 @@ public: std::unordered_map m_specified_asset_type_map; AssetTypeHandling m_asset_type_handling; + bool m_skip_obj; bool m_use_gdt; bool m_verbose;