Add Inventory::ModifyBob and Inventory::ModifyBob3D

This commit is contained in:
Ricardo Luís Vaz Silva 2023-02-01 12:30:21 -03:00 committed by Magnus Norddahl
commit 542676368b
3 changed files with 42 additions and 0 deletions

View file

@ -829,4 +829,16 @@ unsigned GetVirtualIndex(PClass *cls, const char *funcname);
VMFunction *func = clss->Virtuals.Size() > VIndex? clss->Virtuals[VIndex] : nullptr; \
if (func != nullptr)
#define IFOVERRIDENVIRTUALPTRNAME(self, clsname, funcname) \
static VMFunction *orig_func = nullptr; \
static unsigned VIndex = ~0u; \
if (VIndex == ~0u) { \
PClass *cls = PClass::FindClass(clsname); \
VIndex = GetVirtualIndex(cls, #funcname); \
orig_func = cls->Virtuals.Size() > VIndex? cls->Virtuals[VIndex] : nullptr; \
assert(VIndex != ~0u); \
} \
auto *clss = self->GetClass(); \
VMFunction *func = clss->Virtuals.Size() > VIndex? clss->Virtuals[VIndex] : nullptr; \
if (func && func != orig_func )
#endif