Enable of usage of functions that were defined in the same menu file

This commit is contained in:
Jan 2021-12-30 19:20:01 +01:00
parent 3bbe5a4835
commit 9136a7de3b
2 changed files with 6 additions and 13 deletions

View File

@ -48,15 +48,6 @@ void AssetLoaderMenuList::AddMenuFilesToLoadToQueue(std::deque<std::string>& que
}
}
void AssetLoaderMenuList::AddResultsToZoneState(menu::ParsingResult* parsingResult, menu::MenuAssetZoneState* zoneState)
{
for (auto& function : parsingResult->m_functions)
zoneState->AddFunction(std::move(function));
for (auto& menu : parsingResult->m_menus)
zoneState->AddMenu(std::move(menu));
}
bool AssetLoaderMenuList::ProcessParsedResults(const std::string& assetName, ISearchPath* searchPath, MemoryManager* memory, IAssetLoadingManager* manager, menu::ParsingResult* parsingResult,
menu::MenuAssetZoneState* zoneState, std::vector<menuDef_t*>& menus, std::vector<XAssetInfoGeneric*>& menuListDependencies)
{
@ -69,7 +60,10 @@ bool AssetLoaderMenuList::ProcessParsedResults(const std::string& assetName, ISe
std::cout << "Successfully read menu file \"" << assetName << "\" (" << menuLoadCount << " loads, " << menuCount << " menus, " << functionCount << " functions, " << totalItemCount << " items)\n";
for (const auto& menu : parsingResult->m_menus)
for (auto& function : parsingResult->m_functions)
zoneState->AddFunction(std::move(function));
for (auto& menu : parsingResult->m_menus)
{
MenuConverter converter(ObjLoading::Configuration.MenuNoOptimization, searchPath, memory, manager);
auto* menuAsset = converter.ConvertMenu(*menu);
@ -84,9 +78,9 @@ bool AssetLoaderMenuList::ProcessParsedResults(const std::string& assetName, ISe
if (menuAssetInfo)
menuListDependencies.push_back(menuAssetInfo);
}
AddResultsToZoneState(parsingResult, zoneState);
zoneState->AddMenu(std::move(menu));
}
return true;
}

View File

@ -15,7 +15,6 @@ namespace IW4
{
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 AddResultsToZoneState(menu::ParsingResult* parsingResult, menu::MenuAssetZoneState* zoneState);
static bool ProcessParsedResults(const std::string& assetName, ISearchPath* searchPath, MemoryManager* memory, IAssetLoadingManager* manager, menu::ParsingResult* parsingResult, menu::MenuAssetZoneState* zoneState, std::vector<menuDef_t*>& menus, std::vector<XAssetInfoGeneric*>& menuListDependencies);
static MenuList* CreateMenuListAsset(const std::string& assetName, MemoryManager* memory, const std::vector<menuDef_t*>& menus);