gzdoom/wadsrc/static/zscript/shared/sharedmisc.txt
Christoph Oelckers 9ae272d753 - scriptified Heretic's blaster.
- scriptified all Effect functions of Fastprojectile's children
- implemented access to class meta data.
- added a VM instruction to retrieve the class metadata, to eliminate the overhead of the function call that would otherwise be needed.
- made GetClass() a builtin so that it can use the new instruction

Important note about this commit: Scriptifying CFlameMissile::Effect revealed a problem with the virtual function interface: In order to work, this needs to be explicitly enabled for each single native class that may be used as a base for a scripted class. Needless to say, this will end up way too much work, as there are over 100 native classes, excluding those which will be scriptified. But in order to fix the problem this partially broken state needs to be committed first.
2016-11-24 20:02:44 +01:00

209 lines
2.9 KiB
Text

// Default class for unregistered doomednums -------------------------------
class Unknown : Actor
{
Default
{
Radius 32;
Height 56;
+NOGRAVITY
+NOBLOCKMAP
+DONTSPLASH
}
States
{
Spawn:
UNKN A -1;
Stop;
}
}
// Route node for monster patrols -------------------------------------------
class PatrolPoint : Actor
{
Default
{
Radius 8;
Height 8;
Mass 10;
+NOGRAVITY
+NOBLOCKMAP
+DONTSPLASH
RenderStyle "None";
}
}
// A special to execute when a monster reaches a matching patrol point ------
class PatrolSpecial : Actor
{
Default
{
Radius 8;
Height 8;
Mass 10;
+NOGRAVITY
+NOBLOCKMAP
+DONTSPLASH
RenderStyle "None";
}
}
// Map spot ----------------------------------------------------------------
class MapSpot : Actor
{
Default
{
+NOBLOCKMAP
+NOSECTOR
+NOGRAVITY
+DONTSPLASH
RenderStyle "None";
CameraHeight 0;
}
}
// same with different editor number for Legacy maps -----------------------
class FS_Mapspot : Mapspot
{
}
// Map spot with gravity ---------------------------------------------------
class MapSpotGravity : MapSpot
{
Default
{
-NOBLOCKMAP
-NOSECTOR
-NOGRAVITY
}
}
// Point Pushers -----------------------------------------------------------
class PointPusher : Actor
{
Default
{
+NOBLOCKMAP
+INVISIBLE
+NOCLIP
}
}
class PointPuller : Actor
{
Default
{
+NOBLOCKMAP
+INVISIBLE
+NOCLIP
}
}
// Bloody gibs -------------------------------------------------------------
class RealGibs : Actor
{
Default
{
+DROPOFF
+CORPSE
+NOTELEPORT
+DONTGIB
}
States
{
Spawn:
goto GenericCrush;
}
}
// Gibs that can be placed on a map. ---------------------------------------
//
// These need to be a separate class from the above, in case someone uses
// a deh patch to change the gibs, since ZDoom actually creates a gib class
// for actors that get crushed instead of changing their state as Doom did.
class Gibs : RealGibs
{
Default
{
ClearFlags;
}
}
// Needed for loading Build maps -------------------------------------------
class CustomSprite : Actor native
{
Default
{
+NOBLOCKMAP
+NOGRAVITY
}
States
{
Spawn:
TNT1 A -1;
Stop;
}
}
// SwitchableDecoration: Activate and Deactivate change state --------------
class SwitchableDecoration : Actor native
{
}
class SwitchingDecoration : SwitchableDecoration native
{
}
// Random spawner ----------------------------------------------------------
class RandomSpawner : Actor native
{
Default
{
+NOBLOCKMAP
+NOSECTOR
+NOGRAVITY
+THRUACTORS
}
}
// Sector flag setter ------------------------------------------------------
class SectorFlagSetter : Actor native
{
Default
{
+NOBLOCKMAP
+NOGRAVITY
+DONTSPLASH
RenderStyle "None";
}
}
// Marker for sounds : Actor -------------------------------------------------------
class SpeakerIcon : Unknown
{
States
{
Spawn:
SPKR A -1 BRIGHT;
Stop;
}
Default
{
Scale 0.125;
}
}