mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-04-20 16:15:43 +00:00
Merge pull request #195 from Laupetin/fix/iw5-reference-asset-menu-crash
fix: crash on trying to dump referenced iw5 menu
This commit is contained in:
commit
aa50f891a8
@ -81,8 +81,13 @@ void AssetDumperMenuList::DumpMenus(MenuDumper& menuDumper, const MenuList* menu
|
|||||||
{
|
{
|
||||||
const auto* menu = menuList->menus[menuNum];
|
const auto* menu = menuList->menus[menuNum];
|
||||||
const auto* menuAssetName = menu->window.name;
|
const auto* menuAssetName = menu->window.name;
|
||||||
|
|
||||||
|
bool isReference = false;
|
||||||
if (menuAssetName && menuAssetName[0] == ',')
|
if (menuAssetName && menuAssetName[0] == ',')
|
||||||
|
{
|
||||||
menuAssetName = &menuAssetName[1];
|
menuAssetName = &menuAssetName[1];
|
||||||
|
isReference = true;
|
||||||
|
}
|
||||||
|
|
||||||
std::ostringstream ss;
|
std::ostringstream ss;
|
||||||
ss << parentPath << menuAssetName << ".menu";
|
ss << parentPath << menuAssetName << ".menu";
|
||||||
@ -90,7 +95,7 @@ void AssetDumperMenuList::DumpMenus(MenuDumper& menuDumper, const MenuList* menu
|
|||||||
const auto menuName = ss.str();
|
const auto menuName = ss.str();
|
||||||
|
|
||||||
// If the menu was embedded directly as menu list write its data in the menu list file
|
// If the menu was embedded directly as menu list write its data in the menu list file
|
||||||
if (menuName == menuList->name)
|
if (!isReference && menuName == menuList->name)
|
||||||
menuDumper.WriteMenu(menu);
|
menuDumper.WriteMenu(menu);
|
||||||
else
|
else
|
||||||
menuDumper.IncludeMenu(ss.str());
|
menuDumper.IncludeMenu(ss.str());
|
||||||
|
Loading…
x
Reference in New Issue
Block a user