mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-04-20 16:15:43 +00:00
Correctly write menu items to zone
This commit is contained in:
parent
a0ff11a857
commit
c87e87eafc
@ -710,10 +710,14 @@ namespace IW4
|
|||||||
return item;
|
return item;
|
||||||
}
|
}
|
||||||
|
|
||||||
_NODISCARD itemDef_s** ConvertMenuItems(const CommonMenuDef& commonMenu) const
|
void ConvertMenuItems(menuDef_t* menu, const CommonMenuDef& commonMenu) const
|
||||||
{
|
{
|
||||||
if (commonMenu.m_items.empty())
|
if (commonMenu.m_items.empty())
|
||||||
return nullptr;
|
{
|
||||||
|
menu->itemCount = 0;
|
||||||
|
menu->items = nullptr;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
auto* items = static_cast<itemDef_s**>(m_memory->Alloc(sizeof(void*) * commonMenu.m_items.size()));
|
auto* items = static_cast<itemDef_s**>(m_memory->Alloc(sizeof(void*) * commonMenu.m_items.size()));
|
||||||
memset(items, 0, sizeof(void*) * commonMenu.m_items.size());
|
memset(items, 0, sizeof(void*) * commonMenu.m_items.size());
|
||||||
@ -721,7 +725,8 @@ namespace IW4
|
|||||||
for (auto i = 0u; i < commonMenu.m_items.size(); i++)
|
for (auto i = 0u; i < commonMenu.m_items.size(); i++)
|
||||||
items[i] = ConvertItem(commonMenu, *commonMenu.m_items[i]);
|
items[i] = ConvertItem(commonMenu, *commonMenu.m_items[i]);
|
||||||
|
|
||||||
return items;
|
menu->items = items;
|
||||||
|
menu->itemCount = commonMenu.m_items.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
public:
|
public:
|
||||||
@ -780,7 +785,7 @@ namespace IW4
|
|||||||
menu->onCloseRequest = ConvertEventHandlerSet(commonMenu.m_on_request_close.get(), &commonMenu);
|
menu->onCloseRequest = ConvertEventHandlerSet(commonMenu.m_on_request_close.get(), &commonMenu);
|
||||||
menu->onESC = ConvertEventHandlerSet(commonMenu.m_on_esc.get(), &commonMenu);
|
menu->onESC = ConvertEventHandlerSet(commonMenu.m_on_esc.get(), &commonMenu);
|
||||||
menu->onKey = ConvertKeyHandler(commonMenu.m_key_handlers, &commonMenu);
|
menu->onKey = ConvertKeyHandler(commonMenu.m_key_handlers, &commonMenu);
|
||||||
menu->items = ConvertMenuItems(commonMenu);
|
ConvertMenuItems(menu, commonMenu);
|
||||||
menu->expressionData = m_conversion_zone_state->m_supporting_data;
|
menu->expressionData = m_conversion_zone_state->m_supporting_data;
|
||||||
|
|
||||||
return menu;
|
return menu;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user