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(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(FLevelLocals, RemoveAllBots) { PARAM_PROLOGUE; PARAM_BOOL(fromlist); bglobal.RemoveAllBots(fromlist); return 0; }
DEFINE_ACTION_FUNCTION(DPSprite, SetState) { PARAM_SELF_PROLOGUE(DPSprite); PARAM_POINTER(state, FState); PARAM_BOOL(pending); self->SetState(state, pending); return 0; }
DEFINE_ACTION_FUNCTION(_PlayerInfo, SetPSprite) // the underscore is needed to get past the name mangler which removes the first clas name character to match the class representation (needs to be fixed in a later commit) { PARAM_SELF_STRUCT_PROLOGUE(player_t); PARAM_INT(id); PARAM_POINTER(state, FState); PARAM_BOOL(pending); P_SetPsprite(self, (PSPLayers)id, state, pending); return 0; }
DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_M_FireCGun) { PARAM_ACTION_PROLOGUE; PARAM_BOOL(accurate); if (self->target == NULL) return 0; S_Sound (self, CHAN_WEAPON, "weapons/chngun", 1, ATTN_NORM); A_FaceTarget (self); P_GunShot2 (self, accurate, P_AimLineAttack (self, self->angle, MISSILERANGE), PClass::FindActor(NAME_BulletPuff)); return 0; }
DEFINE_ACTION_FUNCTION(AActor, A_OverlayFlags) { PARAM_ACTION_PROLOGUE; PARAM_INT(layer); PARAM_INT(flags); PARAM_BOOL(set); if (!ACTION_CALL_FROM_PSPRITE()) return 0; DPSprite *pspr = self->player->FindPSprite(((layer != 0) ? layer : stateinfo->mPSPIndex)); if (pspr == nullptr) return 0; if (set) pspr->Flags |= flags; else pspr->Flags &= ~flags; return 0; }
{ "bnd_particle_lo_x", VAR(domain.bnd_part_lo[0]) , PARAM_SELECT(BND_PART_PERIODIC, bnd_part_descr) }, { "bnd_particle_lo_y", VAR(domain.bnd_part_lo[1]) , PARAM_SELECT(BND_PART_PERIODIC, bnd_part_descr) }, { "bnd_particle_lo_z", VAR(domain.bnd_part_lo[2]) , PARAM_SELECT(BND_PART_PERIODIC, bnd_part_descr) }, { "bnd_particle_hi_x", VAR(domain.bnd_part_hi[0]) , PARAM_SELECT(BND_PART_PERIODIC, bnd_part_descr) }, { "bnd_particle_hi_y", VAR(domain.bnd_part_hi[1]) , PARAM_SELECT(BND_PART_PERIODIC, bnd_part_descr) }, { "bnd_particle_hi_z", VAR(domain.bnd_part_hi[2]) , PARAM_SELECT(BND_PART_PERIODIC, bnd_part_descr) }, { "use_pml", VAR(domain.use_pml) , PARAM_BOOL(false) }, // psc_params { "qq" , VAR(prm.qq) , PARAM_DOUBLE(1.6021e-19) }, { "mm" , VAR(prm.mm) , PARAM_DOUBLE(9.1091e-31) }, { "tt" , VAR(prm.tt) , PARAM_DOUBLE(1.6021e-16) }, { "cc" , VAR(prm.cc) , PARAM_DOUBLE(3.0e8) }, { "eps0" , VAR(prm.eps0) , PARAM_DOUBLE(8.8542e-12) }, { "nmax" , VAR(prm.nmax) , PARAM_INT(0) }, { "lw" , VAR(prm.lw) , PARAM_DOUBLE(3.2e-6) }, { "i0" , VAR(prm.i0) , PARAM_DOUBLE(1e21) }, { "n0" , VAR(prm.n0) , PARAM_DOUBLE(1e26) }, { "e0" , VAR(prm.e0) , PARAM_DOUBLE(0.) }, { "cfl" , VAR(prm.cfl) , PARAM_DOUBLE(.75) }, { "nicell" , VAR(prm.nicell) , PARAM_INT(200) }, { "nr_populations", VAR(prm.nr_populations) , PARAM_INT(-1),