Add menu parsing results to zone state

This commit is contained in:
Jan 2021-11-14 09:25:35 +01:00
parent 7eecd58ce8
commit f760c517dd
2 changed files with 12 additions and 0 deletions

View File

@ -45,6 +45,15 @@ void AssetLoaderMenuList::AddMenuFilesToLoadToQueue(std::deque<std::string>& 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, void AssetLoaderMenuList::ProcessParsedResults(const std::string& assetName, MemoryManager* memory, IAssetLoadingManager* manager, menu::ParsingResult* parsingResult,
menu::MenuAssetZoneState* zoneState) menu::MenuAssetZoneState* zoneState)
{ {
@ -61,6 +70,8 @@ void AssetLoaderMenuList::ProcessParsedResults(const std::string& assetName, Mem
std::cout << " " << parsingResult->m_functions.size() << " functions:\n"; std::cout << " " << parsingResult->m_functions.size() << " functions:\n";
for (const auto& function : parsingResult->m_functions) for (const auto& function : parsingResult->m_functions)
std::cout << " " << function->m_name << "\n"; 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 bool AssetLoaderMenuList::LoadFromRaw(const std::string& assetName, ISearchPath* searchPath, MemoryManager* memory, IAssetLoadingManager* manager, Zone* zone) const

View File

@ -15,6 +15,7 @@ namespace IW4
{ {
static bool ShouldLoadMenuFile(const std::string& menuFilePath, menu::MenuAssetZoneState* zoneState); static bool ShouldLoadMenuFile(const std::string& menuFilePath, menu::MenuAssetZoneState* zoneState);
static void AddMenuFilesToLoadToQueue(std::deque<std::string>& queue, const menu::ParsingResult* parsingResult, menu::MenuAssetZoneState* zoneState); static void AddMenuFilesToLoadToQueue(std::deque<std::string>& 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); static void ProcessParsedResults(const std::string& assetName, MemoryManager* memory, IAssetLoadingManager* manager, menu::ParsingResult* parsingResult, menu::MenuAssetZoneState* zoneState);
public: public: