qzdoom/wadsrc/static/zscript/actor.txt
Christoph Oelckers a2116fc7bf - created an export for P_SpawnMissile so that I can do some tests with functions.
- allow class extensions.

These are separate blocks in different files that get concatenated to one class body for processing. The reason is to allow spreading the many functions in Actor over multiple files, so that they remain manageable. For example, all the Doom action functions should be in their respective files, but their symbols need to be in Actor. To extend a class, both files need to be in the same translation unit, so it won't allow user-side extension of internal classes.
2016-10-23 12:57:21 +02:00

400 lines
24 KiB
Text

class Actor : Thinker native
{
const DEFAULT_HEALTH = 1000;
Default
{
Scale 1;
Health DEFAULT_HEALTH;
Reactiontime 8;
Radius 20;
Height 16;
Mass 100;
RenderStyle 'Normal';
Alpha 1;
MinMissileChance 200;
MeleeRange 64 - 20;
MaxDropoffHeight 24;
MaxStepHeight 24;
BounceFactor 0.7;
WallBounceFactor 0.75;
BounceCount -1;
FloatSpeed 4;
FloatBobPhase -1; // randomly initialize by default
Gravity 1;
Friction 1;
DamageFactor 1.0;
PushFactor 0.25;
WeaveIndexXY 0;
WeaveIndexZ 16;
DesignatedTeam 255;
PainType "Normal";
DeathType "Normal";
TeleFogSourceType "TeleportFog";
TeleFogDestType 'TeleportFog';
RipperLevel 0;
RipLevelMin 0;
RipLevelMax 0;
DefThreshold 100;
BloodType "Blood", "BloodSplatter", "AxeBlood";
ExplosionDamage 128;
MissileHeight 32;
SpriteAngle 0;
SpriteRotation 0;
StencilColor "00 00 00";
VisibleAngles 0, 0;
VisiblePitch 0, 0;
}
// Functions
native Actor P_SpawnMissile(Actor dest, class<Actor> type, Actor owner = null);
// DECORATE compatible functions
native bool CheckClass(class<Actor> checkclass, int ptr_select = AAPTR_DEFAULT, bool match_superclass = false);
native bool IsPointerEqual(int ptr_select1, int ptr_select2);
native int CountInv(class<Inventory> itemtype, int ptr_select = AAPTR_DEFAULT);
native float GetDistance(bool checkz, int ptr = AAPTR_DEFAULT);
native float GetAngle(int flags, int ptr = AAPTR_DEFAULT);
native float GetZAt(float px = 0, float py = 0, float angle = 0, int flags = 0, int pick_pointer = AAPTR_DEFAULT);
native int GetSpawnHealth();
native int GetGibHealth();
native float GetCrouchFactor(int ptr = AAPTR_PLAYER1);
native float GetCVar(string cvar);
native int GetPlayerInput(int inputnum, int ptr = AAPTR_DEFAULT);
native int CountProximity(class<Actor> classname, float distance, int flags = 0, int ptr = AAPTR_DEFAULT);
native float GetSpriteAngle(int ptr = AAPTR_DEFAULT);
native float GetSpriteRotation(int ptr = AAPTR_DEFAULT);
native int GetMissileDamage(int mask, int add, int ptr = AAPTR_DEFAULT);
action native int OverlayID();
action native float OverlayX(int layer = 0);
action native float OverlayY(int layer = 0);
// Action functions
// Meh, MBF redundant functions. Only for DeHackEd support.
native void A_Turn(float angle = 0);
native bool A_LineEffect(int boomspecial = 0, int tag = 0);
// End of MBF redundant functions.
native void A_MonsterRail();
native void A_BFGSpray(class<Actor> spraytype = "BFGExtra", int numrays = 40, int damagecount = 15, float angle = 90, float distance = 16*64, float vrange = 32, int damage = 0, int flags = 0);
native void A_Pain();
native void A_NoBlocking();
native void A_XScream();
native void A_Look();
native void A_Chase(state melee = "*", state missile = "none", int flags = 0);
native void A_FaceTarget(float max_turn = 0, float max_pitch = 270, float ang_offset = 0, float pitch_offset = 0, int flags = 0, float z_ofs = 0);
native void A_FaceTracer(float max_turn = 0, float max_pitch = 270, float ang_offset = 0, float pitch_offset = 0, int flags = 0, float z_ofs = 0);
native void A_FaceMaster(float max_turn = 0, float max_pitch = 270, float ang_offset = 0, float pitch_offset = 0, int flags = 0, float z_ofs = 0);
native void A_PosAttack();
native void A_Scream();
native void A_SPosAttack();
native void A_SPosAttackUseAtkSound();
native void A_VileChase();
native void A_VileStart();
native void A_VileTarget(class<Actor> fire = "ArchvileFire");
native void A_VileAttack(sound snd = "vile/stop", int initialdmg = 20, int blastdmg = 70, int blastradius = 70, float thrustfac = 1.0, name damagetype = "Fire", int flags = 0);
native void A_StartFire();
native void A_Fire(float spawnheight = 0);
native void A_FireCrackle();
native void A_Tracer();
native void A_SkelWhoosh();
native void A_SkelFist();
native void A_SkelMissile();
native void A_FatRaise();
native void A_FatAttack1(class<Actor> spawntype = "FatShot");
native void A_FatAttack2(class<Actor> spawntype = "FatShot");
native void A_FatAttack3(class<Actor> spawntype = "FatShot");
native void A_BossDeath();
native void A_CPosAttack();
native void A_CPosRefire();
native void A_TroopAttack();
native void A_SargAttack();
native void A_HeadAttack();
native void A_BruisAttack();
native void A_SkullAttack(float speed = 20);
native void A_BetaSkullAttack();
native void A_Metal();
native void A_SpidRefire();
//native void A_BabyMetal();
//native void A_BspiAttack();
native void A_Hoof();
native void A_CyberAttack();
native void A_PainAttack(class<Actor> spawntype = "LostSoul", float angle = 0, int flags = 0, int limit = -1);
native void A_DualPainAttack(class<Actor> spawntype = "LostSoul");
native void A_PainDie(class<Actor> spawntype = "LostSoul");
native void A_KeenDie(int doortag = 666);
native void A_BrainPain();
native void A_BrainScream();
native void A_BrainDie();
native void A_BrainAwake();
native void A_BrainSpit(class<Actor> spawntype = "none"); // needs special treatment for default
native void A_SpawnSound();
native void A_SpawnFly(class<Actor> spawntype = "none"); // needs special treatment for default
native void A_BrainExplode();
native void A_Die(name damagetype = "none");
native void A_Detonate();
native void A_Mushroom(class<Actor> spawntype = "FatShot", int numspawns = 0, int flags = 0, float vrange = 4.0, float hrange = 0.5);
native bool A_CallSpecial(int special, int arg1=0, int arg2=0, int arg3=0, int arg4=0, int arg5=0);
native void A_SetFloorClip();
native void A_UnSetFloorClip();
native void A_HideThing();
native void A_UnHideThing();
native void A_SetInvulnerable();
native void A_UnSetInvulnerable();
native void A_SetReflective();
native void A_UnSetReflective();
native void A_SetReflectiveInvulnerable();
native void A_UnSetReflectiveInvulnerable();
native void A_SetShootable();
native void A_UnSetShootable();
native void A_NoGravity();
native void A_Gravity();
native void A_LowGravity();
native void A_SetGravity(float gravity);
native void A_Fall();
native void A_SetSolid();
native void A_UnsetSolid();
native void A_SetFloat();
native void A_UnsetFloat();
native void A_M_Saw(sound fullsound = "weapons/sawfull", sound hitsound = "weapons/sawhit", int damage = 2, class<Actor> pufftype = "BulletPuff");
native void A_ScreamAndUnblock();
native void A_ActiveAndUnblock();
native void A_ActiveSound();
native void A_FastChase();
native void A_FreezeDeath();
native void A_FreezeDeathChunks();
native void A_GenericFreezeDeath();
native void A_IceGuyDie();
native void A_CentaurDefend();
native void A_BishopMissileWeave();
native void A_CStaffMissileSlither();
native void A_PlayerScream();
native void A_SkullPop(class<PlayerChunk> skulltype = "BloodySkull");
native void A_CheckPlayerDone();
native void A_Wander(int flags = 0);
native void A_Look2();
native void A_TossGib();
native void A_SentinelBob();
native void A_SentinelRefire();
native void A_Tracer2();
native void A_SetShadow();
native void A_ClearShadow();
native void A_GetHurt();
native void A_TurretLook();
native void A_KlaxonBlare();
native void A_Countdown();
native void A_AlertMonsters(float maxdist = 0, int flags = 0);
native void A_ClearSoundTarget();
native void A_FireAssaultGun();
native void A_CheckTerrain();
native void A_FaceConsolePlayer(float MaxTurnAngle = 0); // [TP] no-op
deprecated native void A_MissileAttack();
deprecated native void A_MeleeAttack();
deprecated native void A_ComboAttack();
deprecated native void A_BulletAttack();
native void A_WolfAttack(int flags = 0, sound whattoplay = "weapons/pistol", float snipe = 1.0, int maxdamage = 64, int blocksize = 128, int pointblank = 2, int longrange = 4, float runspeed = 160.0, class<Actor> pufftype = "BulletPuff");
native void A_PlaySound(sound whattoplay = "weapons/pistol", int slot = CHAN_BODY, float volume = 1.0, bool looping = false, float attenuation = ATTN_NORM);
native void A_PlayWeaponSound(sound whattoplay);
native void A_FLoopActiveSound();
native void A_LoopActiveSound();
native void A_StopSound(int slot = CHAN_VOICE); // Bad default but that's what is originally was...
deprecated native void A_PlaySoundEx(sound whattoplay, name slot, bool looping = false, int attenuation = 0);
deprecated native void A_StopSoundEx(name slot);
native void A_SeekerMissile(int threshold, int turnmax, int flags = 0, int chance = 50, int distance = 10);
native state A_Jump(int chance = 256, state label, ...);
native void A_CustomMissile(class<Actor> missiletype, float spawnheight = 32, float spawnofs_xy = 0, float angle = 0, int flags = 0, float pitch = 0, int ptr = AAPTR_TARGET);
native void A_CustomBulletAttack(float spread_xy, float spread_z, int numbullets, int damageperbullet, class<Actor> pufftype = "BulletPuff", float range = 0, int flags = 0, int ptr = AAPTR_TARGET, class<Actor> missile = "", float Spawnheight = 32, float Spawnofs_xy = 0);
native void A_CustomRailgun(int damage, int spawnofs_xy = 0, color color1 = "", color color2 = "", int flags = 0, int aim = 0, float maxdiff = 0, class<Actor> pufftype = "BulletPuff", float spread_xy = 0, float spread_z = 0, float range = 0, int duration = 0, float sparsity = 1.0, float driftspeed = 1.0, class<Actor> spawnclass = "none", float spawnofs_z = 0, int spiraloffset = 270, int limit = 0);
native state A_JumpIfHealthLower(int health, state label, int ptr_selector = AAPTR_DEFAULT);
native state A_JumpIfCloser(float distance, state label, bool noz = false);
native state A_JumpIfTracerCloser(float distance, state label, bool noz = false);
native state A_JumpIfMasterCloser(float distance, state label, bool noz = false);
native state A_JumpIfTargetOutsideMeleeRange(state label);
native state A_JumpIfTargetInsideMeleeRange(state label);
native state A_JumpIfInventory(class<Inventory> itemtype, int itemamount, state label, int owner = AAPTR_DEFAULT);
native state A_JumpIfArmorType(name Type, state label, int amount = 1);
native bool A_GiveInventory(class<Inventory> itemtype, int amount = 0, int giveto = AAPTR_DEFAULT);
native bool A_TakeInventory(class<Inventory> itemtype, int amount = 0, int flags = 0, int giveto = AAPTR_DEFAULT);
action native bool A_SpawnItem(class<Actor> itemtype = "Unknown", float distance = 0, float zheight = 0, bool useammo = true, bool transfer_translation = false);
native bool A_SpawnItemEx(class<Actor> itemtype, float xofs = 0, float yofs = 0, float zofs = 0, float xvel = 0, float yvel = 0, float zvel = 0, float angle = 0, int flags = 0, int failchance = 0, int tid=0);
native void A_Print(string whattoprint, float time = 0, name fontname = "");
native void A_PrintBold(string whattoprint, float time = 0, name fontname = "");
native void A_Log(string whattoprint);
native void A_LogInt(int whattoprint);
native void A_LogFloat(float whattoprint);
native void A_SetTranslucent(float alpha, int style = 0);
native void A_SetRenderStyle(float alpha, int style);
native void A_FadeIn(float reduce = 0.1, int flags = 0);
native void A_FadeOut(float reduce = 0.1, int flags = 1); //bool remove == true
native void A_FadeTo(float target, float amount = 0.1, int flags = 0);
native void A_SetScale(float scalex, float scaley = 0, int ptr = AAPTR_DEFAULT, bool usezero = false);
native void A_SetMass(int mass);
native void A_SpawnDebris(class<Actor> spawntype, bool transfer_translation = false, float mult_h = 1, float mult_v = 1);
native void A_SpawnParticle(color color1, int flags = 0, int lifetime = 35, float size = 1, float angle = 0, float xoff = 0, float yoff = 0, float zoff = 0, float velx = 0, float vely = 0, float velz = 0, float accelx = 0, float accely = 0, float accelz = 0, float startalphaf = 1, float fadestepf = -1, float sizestep = 0);
native state A_CheckSight(state label);
native void A_ExtChase(bool usemelee, bool usemissile, bool playactive = true, bool nightmarefast = false);
native void A_DropInventory(class<Inventory> itemtype);
native void A_SetBlend(color color1, float alpha, int tics, color color2 = "");
native void A_ChangeFlag(string flagname, bool value);
native state A_CheckFlag(string flagname, state label, int check_pointer = AAPTR_DEFAULT);
native state A_JumpIf(bool expression, state label);
native void A_RaiseMaster(bool copy = 0);
native void A_RaiseChildren(bool copy = 0);
native void A_RaiseSiblings(bool copy = 0);
native state A_CheckFloor(state label);
native state A_CheckCeiling(state label);
native state A_PlayerSkinCheck(state label);
deprecated native void A_BasicAttack(int meleedamage, sound meleesound, class<actor> missiletype, float missileheight);
native state, bool A_Teleport(state teleportstate = "", class<SpecialSpot> targettype = "BossSpot", class<Actor> fogtype = "TeleportFog", int flags = 0, float mindist = 0, float maxdist = 0, int ptr = AAPTR_DEFAULT);
native state, bool A_Warp(int ptr_destination, float xofs = 0, float yofs = 0, float zofs = 0, float angle = 0, int flags = 0, state success_state = "", float heightoffset = 0, float radiusoffset = 0, float pitch = 0);
action native bool A_ThrowGrenade(class<Actor> itemtype, float zheight = 0, float xyvel = 0, float zvel = 0, bool useammo = true);
native void A_Weave(int xspeed, int yspeed, float xdist, float ydist);
native void A_Recoil(float xyvel);
native state A_JumpIfInTargetInventory(class<Inventory> itemtype, int amount, state label, int forward_ptr = AAPTR_DEFAULT);
native bool A_GiveToTarget(class<Inventory> itemtype, int amount = 0, int forward_ptr = AAPTR_DEFAULT);
native bool A_TakeFromTarget(class<Inventory> itemtype, int amount = 0, int flags = 0, int forward_ptr = AAPTR_DEFAULT);
native int A_RadiusGive(class<Inventory> itemtype, float distance, int flags, int amount = 0, class<Actor> filter = "None", name species = "None", float mindist = 0, int limit = 0);
native state A_CheckSpecies(state jump, name species = "", int ptr = AAPTR_DEFAULT);
native void A_CountdownArg(int argnum, state targstate = "");
native void A_CustomMeleeAttack(int damage = 0, sound meleesound = "", sound misssound = "", name damagetype = "none", bool bleed = true);
native void A_CustomComboAttack(class<Actor> missiletype, float spawnheight, int damage, sound meleesound = "", name damagetype = "none", bool bleed = true);
native void A_Burst(class<Actor> chunktype);
action native void A_Blast(int flags = 0, float strength = 255, float radius = 255, float speed = 20, class<Actor> blasteffect = "BlastEffect", sound blastsound = "BlastRadius");
native void A_RadiusThrust(int force = 128, int distance = -1, int flags = RTF_AFFECTSOURCE, int fullthrustdistance = 0);
native void A_RadiusDamageSelf(int damage = 128, float distance = 128, int flags = 0, class<Actor> flashtype = "None");
native int A_Explode(int damage = -1, int distance = -1, int flags = XF_HURTSOURCE, bool alert = false, int fulldamagedistance = 0, int nails = 0, int naildamage = 10, class<Actor> pufftype = "BulletPuff", name damagetype = "none");
native void A_Stop();
native void A_Respawn(int flags = 1);
native void A_BarrelDestroy();
native void A_QueueCorpse();
native void A_DeQueueCorpse();
native void A_LookEx(int flags = 0, float minseedist = 0, float maxseedist = 0, float maxheardist = 0, float fov = 0, state label = "");
native void A_ClearLastHeard();
native void A_ClearTarget();
native state A_CheckLOF(state jump, int flags = 0, float range = 0, float minrange = 0, float angle = 0, float pitch = 0, float offsetheight = 0, float offsetwidth = 0, int ptr_target = AAPTR_DEFAULT, float offsetforward = 0);
native state A_JumpIfTargetInLOS (state label, float fov = 0, int flags = 0, float dist_max = 0, float dist_close = 0);
native state A_JumpIfInTargetLOS (state label, float fov = 0, int flags = 0, float dist_max = 0, float dist_close = 0);
native bool A_SelectWeapon(class<Weapon> whichweapon, int flags = 0);
action native void A_Punch();
native void A_Feathers();
native void A_ClassBossHealth();
native void A_ShootGun();
native void A_RocketInFlight();
native void A_Bang4Cloud();
native void A_DropFire();
native void A_GiveQuestItem(int itemno);
native void A_RemoveForcefield();
native void A_DropWeaponPieces(class<Actor> p1, class<Actor> p2, class<Actor> p3);
native void A_PigPain ();
native state A_MonsterRefire(int chance, state label);
native void A_SetAngle(float angle = 0, int flags = 0, int ptr = AAPTR_DEFAULT);
native void A_SetPitch(float pitch, int flags = 0, int ptr = AAPTR_DEFAULT);
native void A_SetRoll(float roll, int flags = 0, int ptr = AAPTR_DEFAULT);
native void A_ScaleVelocity(float scale, int ptr = AAPTR_DEFAULT);
native void A_ChangeVelocity(float x = 0, float y = 0, float z = 0, int flags = 0, int ptr = AAPTR_DEFAULT);
native void A_SetArg(int pos, int value);
deprecated native void A_SetUserVar(name varname, int value);
deprecated native void A_SetUserArray(name varname, int index, int value);
deprecated native void A_SetUserVarFloat(name varname, float value);
deprecated native void A_SetUserArrayFloat(name varname, int index, float value);
native void A_SetSpecial(int spec, int arg0 = 0, int arg1 = 0, int arg2 = 0, int arg3 = 0, int arg4 = 0);
native void A_Quake(int intensity, int duration, int damrad, int tremrad, sound sfx = "world/quake");
native void A_QuakeEx(int intensityX, int intensityY, int intensityZ, int duration, int damrad, int tremrad, sound sfx = "world/quake", int flags = 0, float mulWaveX = 1, float mulWaveY = 1, float mulWaveZ = 1, int falloff = 0, int highpoint = 0, float rollIntensity = 0, float rollWave = 0);
action native void A_SetTics(int tics);
native void A_SetDamageType(name damagetype);
native void A_DropItem(class<Actor> item, int dropamount = -1, int chance = 256);
native void A_SetSpeed(float speed, int ptr = AAPTR_DEFAULT);
native void A_SetFloatSpeed(float speed, int ptr = AAPTR_DEFAULT);
native void A_SetPainThreshold(int threshold, int ptr = AAPTR_DEFAULT);
native void A_DamageSelf(int amount, name damagetype = "none", int flags = 0, class<Actor> filter = "None", name species = "None", int src = AAPTR_DEFAULT, int inflict = AAPTR_DEFAULT);
native void A_DamageTarget(int amount, name damagetype = "none", int flags = 0, class<Actor> filter = "None", name species = "None", int src = AAPTR_DEFAULT, int inflict = AAPTR_DEFAULT);
native void A_DamageMaster(int amount, name damagetype = "none", int flags = 0, class<Actor> filter = "None", name species = "None", int src = AAPTR_DEFAULT, int inflict = AAPTR_DEFAULT);
native void A_DamageTracer(int amount, name damagetype = "none", int flags = 0, class<Actor> filter = "None", name species = "None", int src = AAPTR_DEFAULT, int inflict = AAPTR_DEFAULT);
native void A_DamageChildren(int amount, name damagetype = "none", int flags = 0, class<Actor> filter = "None", name species = "None", int src = AAPTR_DEFAULT, int inflict = AAPTR_DEFAULT);
native void A_DamageSiblings(int amount, name damagetype = "none", int flags = 0, class<Actor> filter = "None", name species = "None", int src = AAPTR_DEFAULT, int inflict = AAPTR_DEFAULT);
native void A_KillTarget(name damagetype = "none", int flags = 0, class<Actor> filter = "None", name species = "None", int src = AAPTR_DEFAULT, int inflict = AAPTR_DEFAULT);
native void A_KillMaster(name damagetype = "none", int flags = 0, class<Actor> filter = "None", name species = "None", int src = AAPTR_DEFAULT, int inflict = AAPTR_DEFAULT);
native void A_KillTracer(name damagetype = "none", int flags = 0, class<Actor> filter = "None", name species = "None", int src = AAPTR_DEFAULT, int inflict = AAPTR_DEFAULT);
native void A_KillChildren(name damagetype = "none", int flags = 0, class<Actor> filter = "None", name species = "None", int src = AAPTR_DEFAULT, int inflict = AAPTR_DEFAULT);
native void A_KillSiblings(name damagetype = "none", int flags = 0, class<Actor> filter = "None", name species = "None", int src = AAPTR_DEFAULT, int inflict = AAPTR_DEFAULT);
native void A_RemoveTarget(int flags = 0, class<Actor> filter = "None", name species = "None");
native void A_RemoveMaster(int flags = 0, class<Actor> filter = "None", name species = "None");
native void A_RemoveTracer(int flags = 0, class<Actor> filter = "None", name species = "None");
native void A_RemoveChildren(bool removeall = false, int flags = 0, class<Actor> filter = "None", name species = "None");
native void A_RemoveSiblings(bool removeall = false, int flags = 0, class<Actor> filter = "None", name species = "None");
native void A_Remove(int removee, int flags = 0, class<Actor> filter = "None", name species = "None");
native int A_GiveToChildren(class<Inventory> itemtype, int amount = 0);
native int A_GiveToSiblings(class<Inventory> itemtype, int amount = 0);
native int A_TakeFromChildren(class<Inventory> itemtype, int amount = 0);
native int A_TakeFromSiblings(class<Inventory> itemtype, int amount = 0);
native void A_SetTeleFog(class<Actor> oldpos, class<Actor> newpos);
native void A_SwapTeleFog();
native void A_SetFloatBobPhase(int bob);
native void A_SetHealth(int health, int ptr = AAPTR_DEFAULT);
native void A_ResetHealth(int ptr = AAPTR_DEFAULT);
native state A_JumpIfHigherOrLower(state high, state low, float offsethigh = 0, float offsetlow = 0, bool includeHeight = true, int ptr = AAPTR_TARGET);
native void A_SetSpecies(name species, int ptr = AAPTR_DEFAULT);
native void A_SetRipperLevel(int level);
native void A_SetRipMin(int mininum);
native void A_SetRipMax(int maximum);
native void A_SetChaseThreshold(int threshold, bool def = false, int ptr = AAPTR_DEFAULT);
native state A_CheckProximity(state jump, class<Actor> classname, float distance, int count = 1, int flags = 0, int ptr = AAPTR_DEFAULT);
native state A_CheckBlock(state block, int flags = 0, int ptr = AAPTR_DEFAULT, float xofs = 0, float yofs = 0, float zofs = 0, float angle = 0);
native state A_CheckSightOrRange(float distance, state label, bool two_dimension = false);
native state A_CheckRange(float distance, state label, bool two_dimension = false);
native bool A_FaceMovementDirection(float offset = 0, float anglelimit = 0, float pitchlimit = 0, int flags = 0, int ptr = AAPTR_DEFAULT);
native int A_ClearOverlays(int sstart = 0, int sstop = 0, bool safety = true);
native bool A_CopySpriteFrame(int from, int to, int flags = 0);
native bool A_SetSpriteAngle(float angle = 0, int ptr = AAPTR_DEFAULT);
native bool A_SetSpriteRotation(float angle = 0, int ptr = AAPTR_DEFAULT);
native bool A_SetVisibleRotation(float anglestart = 0, float angleend = 0, float pitchstart = 0, float pitchend = 0, int flags = 0, int ptr = AAPTR_DEFAULT);
native void A_SetTranslation(string transname);
native void A_RearrangePointers(int newtarget, int newmaster = AAPTR_DEFAULT, int newtracer = AAPTR_DEFAULT, int flags=0);
native void A_TransferPointer(int ptr_source, int ptr_recepient, int sourcefield, int recepientfield=AAPTR_DEFAULT, int flags=0);
native void A_CopyFriendliness(int ptr_source = AAPTR_MASTER);
action native bool A_Overlay(int layer, state start = "", bool nooverride = false);
native void A_WeaponOffset(float wx = 0, float wy = 32, int flags = 0);
action native void A_OverlayOffset(int layer = PSP_WEAPON, float wx = 0, float wy = 32, int flags = 0);
action native void A_OverlayFlags(int layer, int flags, bool set);
native int ACS_NamedExecute(name script, int mapnum=0, int arg1=0, int arg2=0, int arg3=0);
native int ACS_NamedSuspend(name script, int mapnum=0);
native int ACS_NamedTerminate(name script, int mapnum=0);
native int ACS_NamedLockedExecute(name script, int mapnum=0, int arg1=0, int arg2=0, int lock=0);
native int ACS_NamedLockedExecuteDoor(name script, int mapnum=0, int arg1=0, int arg2=0, int lock=0);
native int ACS_NamedExecuteWithResult(name script, int arg1=0, int arg2=0, int arg3=0, int arg4=0);
native void ACS_NamedExecuteAlways(name script, int mapnum=0, int arg1=0, int arg2=0, int arg3=0);
States
{
Spawn:
TNT1 A -1;
Stop;
Null:
TNT1 A 1;
Stop;
GenericFreezeDeath:
// Generic freeze death frames. Woo!
#### # 5 A_GenericFreezeDeath;
---- A 1 A_FreezeDeathChunks;
Wait;
GenericCrush:
POL5 A -1;
Stop;
}
// Internal functions
deprecated private native state __decorate_internal_state__(state s);
deprecated private native int __decorate_internal_int__(int i);
deprecated private native bool __decorate_internal_bool__(bool b);
deprecated private native float __decorate_internal_float__(float f);
}