Level compatibility via ZScript -- PoC

This commit is contained in:
alexey.lysiuk 2018-04-09 17:53:52 +03:00
commit 640948703f
5 changed files with 52 additions and 15 deletions

View file

@ -54,6 +54,7 @@
#include "w_wad.h"
#include "textures.h"
#include "g_levellocals.h"
#include "vm.h"
// MACROS ------------------------------------------------------------------
@ -532,6 +533,16 @@ void CheckCompatibility(MapData *map)
void SetCompatibilityParams()
{
PClass *const cls = PClass::FindClass("LevelCompatibility");
if (cls != nullptr)
{
PFunction *const func = dyn_cast<PFunction>(cls->FindSymbol("Apply", true));
if (func != nullptr)
{
VMCall(func->Variants[0].Implementation, nullptr, 0, nullptr, 0);
}
}
if (ii_compatparams != -1)
{
unsigned i = ii_compatparams;