From f760c517dd4d1e1cc4167d2e9778cb1175d6fd85 Mon Sep 17 00:00:00 2001 From: Jan Date: Sun, 14 Nov 2021 09:25:35 +0100 Subject: [PATCH] Add menu parsing results to zone state --- .../Game/IW4/AssetLoaders/AssetLoaderMenuList.cpp | 11 +++++++++++ .../Game/IW4/AssetLoaders/AssetLoaderMenuList.h | 1 + 2 files changed, 12 insertions(+) diff --git a/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderMenuList.cpp b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderMenuList.cpp index 99463e21..7661178b 100644 --- a/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderMenuList.cpp +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderMenuList.cpp @@ -45,6 +45,15 @@ void AssetLoaderMenuList::AddMenuFilesToLoadToQueue(std::deque& que } } +void AssetLoaderMenuList::AddResultsToZoneState(menu::ParsingResult* parsingResult, menu::MenuAssetZoneState* zoneState) +{ + for (auto& function : parsingResult->m_functions) + zoneState->m_functions.emplace_back(std::move(function)); + + for (auto& menu : parsingResult->m_menus) + zoneState->m_menus.emplace_back(std::move(menu)); +} + void AssetLoaderMenuList::ProcessParsedResults(const std::string& assetName, MemoryManager* memory, IAssetLoadingManager* manager, menu::ParsingResult* parsingResult, menu::MenuAssetZoneState* zoneState) { @@ -61,6 +70,8 @@ void AssetLoaderMenuList::ProcessParsedResults(const std::string& assetName, Mem std::cout << " " << parsingResult->m_functions.size() << " functions:\n"; for (const auto& function : parsingResult->m_functions) std::cout << " " << function->m_name << "\n"; + + AddResultsToZoneState(parsingResult, zoneState); } bool AssetLoaderMenuList::LoadFromRaw(const std::string& assetName, ISearchPath* searchPath, MemoryManager* memory, IAssetLoadingManager* manager, Zone* zone) const diff --git a/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderMenuList.h b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderMenuList.h index dfcec233..175086f1 100644 --- a/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderMenuList.h +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderMenuList.h @@ -15,6 +15,7 @@ namespace IW4 { static bool ShouldLoadMenuFile(const std::string& menuFilePath, menu::MenuAssetZoneState* zoneState); static void AddMenuFilesToLoadToQueue(std::deque& queue, const menu::ParsingResult* parsingResult, menu::MenuAssetZoneState* zoneState); + static void AddResultsToZoneState(menu::ParsingResult* parsingResult, menu::MenuAssetZoneState* zoneState); static void ProcessParsedResults(const std::string& assetName, MemoryManager* memory, IAssetLoadingManager* manager, menu::ParsingResult* parsingResult, menu::MenuAssetZoneState* zoneState); public: