DEFINE_ACTION_FUNCTION(AActor, Teleport) { PARAM_SELF_PROLOGUE(AActor); PARAM_FLOAT(x); PARAM_FLOAT(y); PARAM_FLOAT(z); PARAM_ANGLE(an); PARAM_INT(flags); ACTION_RETURN_BOOL(P_Teleport(self, DVector3(x, y, z), an, flags)); }
DEFINE_ACTION_FUNCTION(AActor, SpawnTeleportFog) { PARAM_SELF_PROLOGUE(AActor); PARAM_FLOAT(x); PARAM_FLOAT(y); PARAM_FLOAT(z); PARAM_BOOL(before); PARAM_BOOL(settarget); P_SpawnTeleportFog(self, DVector3(x, y, z), before, settarget); return 0; }
DEFINE_ACTION_FUNCTION(DCeiling, CreateCeiling) { PARAM_PROLOGUE; PARAM_POINTER_NOT_NULL(sec, sector_t); PARAM_INT(type); PARAM_POINTER(ln, line_t); PARAM_FLOAT(speed); PARAM_FLOAT(speed2); PARAM_FLOAT_DEF(height); PARAM_INT_DEF(crush); PARAM_INT_DEF(silent); PARAM_INT_DEF(change); PARAM_INT_DEF(crushmode); ACTION_RETURN_BOOL(P_CreateCeiling(sec, (DCeiling::ECeiling)type, ln, 0, speed, speed2, height, crush, silent, change, (DCeiling::ECrushMode)crushmode)); }
DEFINE_ACTION_FUNCTION(FDynArray_F64, Insert) { PARAM_DYNARRAY_SIZE_PROLOGUE(FDynArray_F64); PARAM_INT(index); PARAM_FLOAT(val); self->Insert(index, val); DYNARRAY_FILL_ITEMS_SKIP(1); return 0; }
DEFINE_ACTION_FUNCTION(AActor, VelIntercept) { PARAM_SELF_PROLOGUE(AActor); PARAM_OBJECT_NOT_NULL(targ, AActor); PARAM_FLOAT(speed); PARAM_BOOL(aimpitch); PARAM_BOOL(oldvel); if (speed < 0) speed = self->Speed; VelIntercept(targ, self, speed, aimpitch, oldvel); return 0; }
DEFINE_ACTION_FUNCTION(DFloor, CreateFloor) { PARAM_PROLOGUE; PARAM_POINTER_NOT_NULL(sec, sector_t); PARAM_INT(floortype); PARAM_POINTER(ln, line_t); PARAM_FLOAT(speed); PARAM_FLOAT_DEF(height); PARAM_INT_DEF(crush); PARAM_INT_DEF(change); PARAM_BOOL_DEF(hereticlower); PARAM_BOOL_DEF(hexencrush); ACTION_RETURN_BOOL(P_CreateFloor(sec, (DFloor::EFloor)floortype, ln, speed, height, crush, change, hexencrush, hereticlower)); }
DEFINE_ACTION_FUNCTION(FDynArray_F64, Push) { PARAM_SELF_STRUCT_PROLOGUE(FDynArray_F64); PARAM_FLOAT(val); ACTION_RETURN_INT(self->Push(val)); }
DEFINE_ACTION_FUNCTION(FDynArray_F32, Find) { PARAM_SELF_STRUCT_PROLOGUE(FDynArray_F32); PARAM_FLOAT(val); ACTION_RETURN_INT(self->Find((float)val)); }
DEFINE_ACTION_FUNCTION(DObject, BAM) { PARAM_PROLOGUE; PARAM_FLOAT(ang); ACTION_RETURN_INT(DAngle(ang).BAMs()); }