- turned all menu items into actual objects.

This is needed for script export.
This commit is contained in:
Christoph Oelckers 2017-02-03 21:34:49 +01:00
commit d5962b290c
12 changed files with 499 additions and 372 deletions

View file

@ -85,6 +85,35 @@ static bool MenuEnabled = true;
#define KEY_REPEAT_DELAY (TICRATE*5/12)
#define KEY_REPEAT_RATE (3)
//============================================================================
//
//
//
//============================================================================
size_t FListMenuDescriptor::PropagateMark()
{
for (auto item : mItems) GC::Mark(item);
return 0;
}
size_t FOptionMenuDescriptor::PropagateMark()
{
for (auto item : mItems) GC::Mark(item);
return 0;
}
void M_MarkMenus()
{
MenuDescriptorList::Iterator it(MenuDescriptors);
MenuDescriptorList::Pair *pair;
while (it.NextPair(pair))
{
//GC::Mark(pair->Value); // once the descriptors have been made objects.
pair->Value->PropagateMark();
}
GC::Mark(DMenu::CurrentMenu);
}
//============================================================================
//
// DMenu base class