diff --git a/src/ObjCompiling/Image/ImageIPakPostProcessor.cpp b/src/ObjCompiling/Image/ImageIPakPostProcessor.cpp index 6c712d70..81932859 100644 --- a/src/ObjCompiling/Image/ImageIPakPostProcessor.cpp +++ b/src/ObjCompiling/Image/ImageIPakPostProcessor.cpp @@ -2,7 +2,8 @@ #include "IPak/IPakCreator.h" -#include +#include +#include AbstractImageIPakPostProcessor::AbstractImageIPakPostProcessor(const ZoneDefinitionContext& zoneDefinition, ISearchPath& searchPath, @@ -12,26 +13,24 @@ AbstractImageIPakPostProcessor::AbstractImageIPakPostProcessor(const ZoneDefinit m_search_path(searchPath), m_ipak_creator(zoneStates.GetZoneAssetCreationState()), m_out_dir(outDir), - m_initialized(false), m_obj_container_index(0u), m_current_ipak(nullptr), m_current_ipak_start_index(0u), m_current_ipak_end_index(0u) { + FindNextObjContainer(); } bool AbstractImageIPakPostProcessor::AppliesToZoneDefinition(const ZoneDefinitionContext& zoneDefinition) { - for (const auto& objContainer : zoneDefinition.m_zone_definition.m_obj_containers) - { - if (objContainer.m_type == ZoneDefinitionObjContainerType::IPAK) - return true; - } - - return false; + return std::ranges::any_of(zoneDefinition.m_zone_definition.m_obj_containers, + [](const ZoneDefinitionObjContainer& objContainer) + { + return objContainer.m_type == ZoneDefinitionObjContainerType::IPAK; + }); } -void AbstractImageIPakPostProcessor::FindNextObjContainer(AssetCreationContext& context) +void AbstractImageIPakPostProcessor::FindNextObjContainer() { const auto objContainerCount = m_zone_definition.m_zone_definition.m_obj_containers.size(); while (m_obj_container_index < objContainerCount) @@ -55,15 +54,8 @@ void AbstractImageIPakPostProcessor::PostProcessAsset(XAssetInfoGeneric& assetIn if (assetInfo.m_name.empty() || assetInfo.m_name[0] == ',') return; - // Initialize on first image occurance - if (!m_initialized) - { - FindNextObjContainer(context); - m_initialized = true; - } - while (m_current_ipak && m_zone_definition.m_asset_index_in_definition >= m_current_ipak_end_index) - FindNextObjContainer(context); + FindNextObjContainer(); if (m_current_ipak && m_zone_definition.m_asset_index_in_definition <= m_current_ipak_start_index) m_current_ipak->AddImage(assetInfo.m_name); diff --git a/src/ObjCompiling/Image/ImageIPakPostProcessor.h b/src/ObjCompiling/Image/ImageIPakPostProcessor.h index 36638f34..2c99ee60 100644 --- a/src/ObjCompiling/Image/ImageIPakPostProcessor.h +++ b/src/ObjCompiling/Image/ImageIPakPostProcessor.h @@ -20,14 +20,13 @@ public: void FinalizeZone(AssetCreationContext& context) override; private: - void FindNextObjContainer(AssetCreationContext& context); + void FindNextObjContainer(); const ZoneDefinitionContext& m_zone_definition; ISearchPath& m_search_path; IPakCreator& m_ipak_creator; const std::filesystem::path& m_out_dir; - bool m_initialized; unsigned m_obj_container_index; IPakToCreate* m_current_ipak; unsigned m_current_ipak_start_index; diff --git a/src/ObjCompiling/Image/ImageIwdPostProcessor.cpp b/src/ObjCompiling/Image/ImageIwdPostProcessor.cpp index c9b05254..47eed997 100644 --- a/src/ObjCompiling/Image/ImageIwdPostProcessor.cpp +++ b/src/ObjCompiling/Image/ImageIwdPostProcessor.cpp @@ -2,8 +2,9 @@ #include "Iwd/IwdCreator.h" +#include #include -#include +#include AbstractImageIwdPostProcessor::AbstractImageIwdPostProcessor(const ZoneDefinitionContext& zoneDefinition, ISearchPath& searchPath, @@ -13,26 +14,24 @@ AbstractImageIwdPostProcessor::AbstractImageIwdPostProcessor(const ZoneDefinitio m_search_path(searchPath), m_iwd_creator(zoneStates.GetZoneAssetCreationState()), m_out_dir(outDir), - m_initialized(false), m_obj_container_index(0u), m_current_iwd(nullptr), m_current_iwd_start_index(0u), m_current_iwd_end_index(0u) { + FindNextObjContainer(); } bool AbstractImageIwdPostProcessor::AppliesToZoneDefinition(const ZoneDefinitionContext& zoneDefinition) { - for (const auto& objContainer : zoneDefinition.m_zone_definition.m_obj_containers) - { - if (objContainer.m_type == ZoneDefinitionObjContainerType::IWD) - return true; - } - - return false; + return std::ranges::any_of(zoneDefinition.m_zone_definition.m_obj_containers, + [](const ZoneDefinitionObjContainer& objContainer) + { + return objContainer.m_type == ZoneDefinitionObjContainerType::IWD; + }); } -void AbstractImageIwdPostProcessor::FindNextObjContainer(AssetCreationContext& context) +void AbstractImageIwdPostProcessor::FindNextObjContainer() { const auto objContainerCount = m_zone_definition.m_zone_definition.m_obj_containers.size(); while (m_obj_container_index < objContainerCount) @@ -56,15 +55,8 @@ void AbstractImageIwdPostProcessor::PostProcessAsset(XAssetInfoGeneric& assetInf if (assetInfo.m_name.empty() || assetInfo.m_name[0] == ',') return; - // Initialize on first image occurance - if (!m_initialized) - { - FindNextObjContainer(context); - m_initialized = true; - } - while (m_current_iwd && m_zone_definition.m_asset_index_in_definition >= m_current_iwd_end_index) - FindNextObjContainer(context); + FindNextObjContainer(); if (m_current_iwd && m_zone_definition.m_asset_index_in_definition <= m_current_iwd_start_index) m_current_iwd->AddFile(std::format("images/{}.iwi", assetInfo.m_name)); diff --git a/src/ObjCompiling/Image/ImageIwdPostProcessor.h b/src/ObjCompiling/Image/ImageIwdPostProcessor.h index 62cfe50a..12c53828 100644 --- a/src/ObjCompiling/Image/ImageIwdPostProcessor.h +++ b/src/ObjCompiling/Image/ImageIwdPostProcessor.h @@ -20,14 +20,13 @@ public: void FinalizeZone(AssetCreationContext& context) override; private: - void FindNextObjContainer(AssetCreationContext& context); + void FindNextObjContainer(); const ZoneDefinitionContext& m_zone_definition; ISearchPath& m_search_path; IwdCreator& m_iwd_creator; const std::filesystem::path& m_out_dir; - bool m_initialized; unsigned m_obj_container_index; IwdToCreate* m_current_iwd; unsigned m_current_iwd_start_index;