diff --git a/src/menu/menu.cpp b/src/menu/menu.cpp index c5b1b4071..f32c20373 100644 --- a/src/menu/menu.cpp +++ b/src/menu/menu.cpp @@ -630,7 +630,11 @@ void M_SetMenu(FName menu, int param) if (cls == nullptr) cls = PClass::FindClass("ListMenu"); DListMenu *newmenu = (DListMenu *)cls->CreateNew(); - newmenu->Init(DMenu::CurrentMenu, ld); + IFVIRTUALPTRNAME(newmenu, "OptionMenu", Init) + { + VMValue params[3] = { newmenu, DMenu::CurrentMenu, ld }; + GlobalVMStack.Call(func, params, 3, nullptr, 0); + } M_ActivateMenu(newmenu); } }