- scriptified the Flechette. Not fully tested yet.

- fixed issues with the refactoring of the recent commits. This one starts again.
- added builtins for TextureID.

Note about builtins: Currently they are just hacked into the compiler backend. They really should be made part of the respective types to keep matters clean and allow more widespread use of builtins to create more efficient code.
This commit is contained in:
Christoph Oelckers 2016-11-27 12:52:54 +01:00
commit 3dd323ac0d
9 changed files with 424 additions and 493 deletions

View file

@ -729,7 +729,7 @@ bool AInventory::CallHandlePickup(AInventory *item)
auto self = this;
while (self != nullptr)
{
IFVIRTUAL(AActor, HandlePickup)
IFVIRTUAL(AInventory, HandlePickup)
{
// Without the type cast this picks the 'void *' assignment...
VMValue params[2] = { (DObject*)self, (DObject*)item };
@ -794,6 +794,14 @@ void AInventory::GoAwayAndDie ()
}
}
DEFINE_ACTION_FUNCTION(AInventory, GoAwayAndDie)
{
PARAM_SELF_PROLOGUE(AInventory);
self->GoAwayAndDie();
return 0;
}
//===========================================================================
//
// AInventory :: CreateCopy
@ -831,7 +839,7 @@ DEFINE_ACTION_FUNCTION(AInventory, CreateCopy)
AInventory *AInventory::CallCreateCopy(AActor *other)
{
IFVIRTUAL(AActor, CreateCopy)
IFVIRTUAL(AInventory, CreateCopy)
{
VMValue params[2] = { (DObject*)this, (DObject*)other };
VMReturn ret;