- converted the rest of actors/shared.

- moved damagetype definitions to MAPINFO. These were in DECORATE which is not correct. The old code is left for compatibility.
This commit is contained in:
Christoph Oelckers 2016-10-14 10:46:15 +02:00
parent 905e44713f
commit 9e2830a3db
44 changed files with 1042 additions and 794 deletions

View file

@ -110,6 +110,7 @@ struct FMapInfoParser
void ParseAMColors(bool);
FName CheckEndSequence();
FName ParseEndGame();
void ParseDamageDefinition();
};
#define DEFINE_MAP_OPTION(name, old) \

View file

@ -1873,6 +1873,18 @@ void FMapInfoParser::ParseMapInfo (int lump, level_info_t &gamedefaults, level_i
sc.ScriptError("doomednums definitions not supported with old MAPINFO syntax");
}
}
else if (sc.Compare("damagetype"))
{
if (format_type != FMT_Old)
{
format_type = FMT_New;
ParseDamageDefinition();
}
else
{
sc.ScriptError("damagetype definitions not supported with old MAPINFO syntax");
}
}
else if (sc.Compare("spawnnums"))
{
if (format_type != FMT_Old)

View file

@ -817,3 +817,43 @@ int DamageTypeDefinition::ApplyMobjDamageFactor(int damage, FName type, DmgFacto
double factor = GetMobjDamageFactor(type, factors);
return int(damage * factor);
}
//==========================================================================
//
// Reads a damage definition
//
//==========================================================================
void FMapInfoParser::ParseDamageDefinition()
{
sc.MustGetString();
FName damageType = sc.String;
DamageTypeDefinition dtd;
ParseOpenBrace();
while (sc.MustGetAnyToken(), sc.TokenType != '}')
{
if (sc.Compare("FACTOR"))
{
sc.MustGetStringName("=");
sc.MustGetFloat();
dtd.DefaultFactor = sc.Float;
if (dtd.DefaultFactor == 0) dtd.ReplaceFactor = true;
}
else if (sc.Compare("REPLACEFACTOR"))
{
dtd.ReplaceFactor = true;
}
else if (sc.Compare("NOARMOR"))
{
dtd.NoArmor = true;
}
else
{
sc.ScriptError("Unexpected data (%s) in damagetype definition.", sc.String);
}
}
dtd.Apply(damageType);
}

View file

@ -433,6 +433,11 @@ FStateLabels *FStateDefinitions::CreateStateLabelList(TArray<FStateDefine> & sta
void FStateDefinitions::InstallStates(PClassActor *info, AActor *defaults)
{
if (defaults == nullptr)
{
I_Error("Called InstallStates without actor defaults in %s", info->TypeName.GetChars());
}
// First ensure we have a valid spawn state.
FState *state = FindState("Spawn");

View file

@ -1,105 +0,0 @@
// Bridge ball -------------------------------------------------------------
ACTOR BridgeBall
{
+NOBLOCKMAP
+NOTELEPORT
+NOGRAVITY
action native A_BridgeOrbit();
States
{
Spawn:
TLGL A 2 Bright
TLGL A 1 Bright A_BridgeOrbit
Wait
}
}
// The bridge itself -------------------------------------------------------
ACTOR CustomBridge native
{
+SOLID
+NOGRAVITY
+NOLIFTDROP
+ACTLIKEBRIDGE
Radius 32
Height 2
RenderStyle None
action native A_BridgeInit(class<Actor> balltype = "BridgeBall");
states
{
Spawn:
TLGL ABCDE 3 Bright
Loop
See:
TLGL A 2
TLGL A 2 A_BridgeInit
TLGL A -1
Stop
Death:
TLGL A 2
TLGL A 300
Stop
}
}
// The Hexen bridge -------------------------------------------------------
ACTOR Bridge : CustomBridge
{
RenderStyle None
Args 32, 2, 3, 0
}
// The ZDoom bridge -------------------------------------------------------
ACTOR ZBridge : CustomBridge
{
Args 36, 4, 0, 0
}
// Invisible bridge --------------------------------------------------------
ACTOR InvisibleBridge native
{
RenderStyle None
Radius 32
Height 4
+SOLID
+NOGRAVITY
+NOLIFTDROP
+ACTLIKEBRIDGE
States
{
Spawn:
TNT1 A -1
Stop
}
}
// And some invisible bridges from Skull Tag -------------------------------
ACTOR InvisibleBridge32 : InvisibleBridge
{
Radius 32
Height 8
}
ACTOR InvisibleBridge16 : InvisibleBridge
{
Radius 16
Height 8
}
ACTOR InvisibleBridge8 : InvisibleBridge
{
Radius 8
Height 8
}

View file

@ -1,23 +0,0 @@
ACTOR DoomBuilderCamera
{
States
{
Spawn:
TNT1 A 1
Stop
}
}
ACTOR SecurityCamera native
{
+NOBLOCKMAP
+NOGRAVITY
+DONTSPLASH
RenderStyle None
CameraHeight 0
}
ACTOR AimingCamera : SecurityCamera native
{
}

View file

@ -1,4 +0,0 @@
damagetype Drowning
{
NoArmor
}

View file

@ -1,3 +0,0 @@
ACTOR Decal native
{
}

View file

@ -1,44 +0,0 @@
ACTOR MBFHelperDog
{
Health 500
Speed 10
PainChance 180
Radius 12
Height 28
Mass 100
Monster
+JUMPDOWN
ActiveSound "dog/active"
AttackSound "dog/attack"
DeathSound "dog/death"
PainSound "dog/pain"
SeeSound "dog/sight"
Obituary "$OB_DOG"
States
{
Spawn:
DOGS AB 10 A_Look
Loop
See:
DOGS AABBCCDD 2 A_Chase
Loop
Melee:
DOGS EF 8 A_FaceTarget
DOGS G 8 A_SargAttack
Goto See
Pain:
DOGS H 2
DOGS H 2 A_Pain
Goto See
Death:
DOGS I 8
DOGS J 8 A_Scream
DOGS K 4
DOGS L 4 A_Fall
DOGS M 4
DOGS N -1
Raise:
DOGS NMLKJI 5
Goto See
}
}

View file

@ -1,42 +0,0 @@
ACTOR ParticleFountain native
{
Height 0
+NOBLOCKMAP
+NOGRAVITY
+INVISIBLE
}
ACTOR RedParticleFountain : ParticleFountain
{
Health 1
}
ACTOR GreenParticleFountain : ParticleFountain
{
Health 2
}
ACTOR BlueParticleFountain : ParticleFountain
{
Health 3
}
ACTOR YellowParticleFountain : ParticleFountain
{
Health 4
}
ACTOR PurpleParticleFountain : ParticleFountain
{
Health 5
}
ACTOR BlackParticleFountain : ParticleFountain
{
Health 6
}
ACTOR WhiteParticleFountain : ParticleFountain
{
Health 7
}

View file

@ -1,19 +0,0 @@
// Hate Target --------------------------------------------------------------
ACTOR HateTarget native
{
Radius 20
Height 56
+SHOOTABLE
+NOGRAVITY
+NOBLOOD
+DONTSPLASH
Mass 0x7fffffff
States
{
Spawn:
TNT1 A -1
}
}

View file

@ -1,15 +0,0 @@
ACTOR MapMarker native
{
+NOBLOCKMAP
+NOGRAVITY
+DONTSPLASH
+INVISIBLE
Scale 0.5
States
{
Spawn:
AMRK A -1
Stop
}
}

View file

@ -1,34 +0,0 @@
ACTOR InterpolationPoint native
{
+NOBLOCKMAP
+NOGRAVITY
+DONTSPLASH
RenderStyle None
}
ACTOR InterpolationSpecial native
{
+NOBLOCKMAP
+NOSECTOR
+NOGRAVITY
+DONTSPLASH
}
ACTOR PathFollower native
{
+NOBLOCKMAP
+NOSECTOR
+NOGRAVITY
+DONTSPLASH
}
ACTOR ActorMover : PathFollower native
{
}
ACTOR MovingCamera : PathFollower native
{
CameraHeight 0
}

View file

@ -1,9 +0,0 @@
ACTOR SecretTrigger native
{
+NOBLOCKMAP
+NOSECTOR
+NOGRAVITY
+DONTSPLASH
}

View file

@ -1,16 +0,0 @@
ACTOR ColorSetter native
{
+NOBLOCKMAP
+NOGRAVITY
+DONTSPLASH
RenderStyle None
}
ACTOR FadeSetter native
{
+NOBLOCKMAP
+NOGRAVITY
+DONTSPLASH
RenderStyle None
}

View file

@ -1,40 +0,0 @@
ACTOR SkyViewpoint native
{
+NOSECTOR
+NOBLOCKMAP
+NOGRAVITY
+DONTSPLASH
}
ACTOR SkyPicker native
{
+NOSECTOR
+NOBLOCKMAP
+NOGRAVITY
+DONTSPLASH
}
Actor SkyCamCompat : SkyViewpoint native
{
}
ACTOR StackPoint : SkyViewpoint native
{
}
ACTOR UpperStackLookOnly : StackPoint
{
}
ACTOR LowerStackLookOnly : StackPoint
{
}
ACTOR SectorSilencer native
{
+NOBLOCKMAP
+NOGRAVITY
+DONTSPLASH
RenderStyle None
}

View file

@ -1,9 +0,0 @@
ACTOR SoundEnvironment native
{
+NOSECTOR
+NOBLOCKMAP
+NOGRAVITY
+DONTSPLASH
}

View file

@ -1,79 +0,0 @@
ACTOR AmbientSound native
{
+NOBLOCKMAP
+NOSECTOR
+DONTSPLASH
}
ACTOR AmbientSoundNoGravity : AmbientSound
{
+NOGRAVITY
}
ACTOR SoundSequenceSlot native
{
+NOSECTOR
+NOBLOCKMAP
+DONTSPLASH
}
ACTOR SoundSequence native
{
+NOSECTOR
+NOBLOCKMAP
+DONTSPLASH
}
// Heretic Sound sequences -----------------------------------------------------------
ACTOR HereticSoundSequence1 : SoundSequence
{
Args 0
}
ACTOR HereticSoundSequence2 : SoundSequence
{
Args 1
}
ACTOR HereticSoundSequence3 : SoundSequence
{
Args 2
}
ACTOR HereticSoundSequence4 : SoundSequence
{
Args 3
}
ACTOR HereticSoundSequence5 : SoundSequence
{
Args 4
}
ACTOR HereticSoundSequence6 : SoundSequence
{
Args 5
}
ACTOR HereticSoundSequence7 : SoundSequence
{
Args 6
}
ACTOR HereticSoundSequence8 : SoundSequence
{
Args 7
}
ACTOR HereticSoundSequence9 : SoundSequence
{
Args 8
}
ACTOR HereticSoundSequence10 : SoundSequence
{
Args 9
}

View file

@ -1,8 +0,0 @@
ACTOR Spark native
{
+NOSECTOR
+NOBLOCKMAP
+NOGRAVITY
+DONTSPLASH
}

View file

@ -1,237 +0,0 @@
// Water --------------------------------------------------------------------
ACTOR WaterSplash
{
Radius 2
Height 4
+NOBLOCKMAP
+MISSILE
+DROPOFF
+NOTELEPORT
+LOWGRAVITY
+CANNOTPUSH
+DONTSPLASH
+DONTBLAST
States
{
Spawn:
SPSH ABC 8
SPSH D 16
Stop
Death:
SPSH D 10
Stop
}
}
ACTOR WaterSplashBase
{
+NOBLOCKMAP
+NOCLIP
+NOGRAVITY
+DONTSPLASH
+DONTBLAST
States
{
Spawn:
SPSH EFGHIJK 5
Stop
}
}
// Lava ---------------------------------------------------------------------
ACTOR LavaSplash
{
+NOBLOCKMAP
+NOCLIP
+NOGRAVITY
+DONTSPLASH
+DONTBLAST
States
{
Spawn:
LVAS ABCDEF 5 Bright
Stop
}
}
ACTOR LavaSmoke
{
+NOBLOCKMAP
+NOCLIP
+NOGRAVITY
+DONTSPLASH
RenderStyle Translucent
DefaultAlpha
States
{
Spawn:
LVAS GHIJK 5 Bright
Stop
}
}
// Sludge -------------------------------------------------------------------
ACTOR SludgeChunk
{
Radius 2
Height 4
+NOBLOCKMAP
+MISSILE
+DROPOFF
+NOTELEPORT
+LOWGRAVITY
+CANNOTPUSH
+DONTSPLASH
States
{
Spawn:
SLDG ABCD 8
Stop
Death:
SLDG D 6
Stop
}
}
ACTOR SludgeSplash
{
+NOBLOCKMAP
+NOCLIP
+NOGRAVITY
+DONTSPLASH
States
{
Spawn:
SLDG EFGH 6
Stop
}
}
/*
* These next four classes are not used by me anywhere.
* They are for people who want to use them in a TERRAIN lump.
*/
// Blood (water with a different sprite) ------------------------------------
ACTOR BloodSplash
{
Radius 2
Height 4
+NOBLOCKMAP
+MISSILE
+DROPOFF
+NOTELEPORT
+LOWGRAVITY
+CANNOTPUSH
+DONTSPLASH
+DONTBLAST
States
{
Spawn:
BSPH ABC 8
BSPH D 16
Stop
Death:
BSPH D 10
Stop
}
}
ACTOR BloodSplashBase
{
+NOBLOCKMAP
+NOCLIP
+NOGRAVITY
+DONTSPLASH
+DONTBLAST
States
{
Spawn:
BSPH EFGHIJK 5
Stop
}
}
// Slime (sludge with a different sprite) -----------------------------------
ACTOR SlimeChunk
{
Radius 2
Height 4
+NOBLOCKMAP
+MISSILE
+DROPOFF
+NOTELEPORT
+LOWGRAVITY
+CANNOTPUSH
+DONTSPLASH
States
{
Spawn:
SLIM ABCD 8
Stop
Death:
SLIM D 6
Stop
}
}
ACTOR SlimeSplash
{
+NOBLOCKMAP
+NOCLIP
+NOGRAVITY
+DONTSPLASH
States
{
Spawn:
SLIM EFGH 6
Stop
}
}
// Smoke trail for rocket -----------------------------------
ACTOR RocketSmokeTrail
{
RenderStyle Translucent
Alpha 0.4
VSpeed 1
+NOBLOCKMAP
+NOCLIP
+NOGRAVITY
+DONTSPLASH
+NOTELEPORT
States
{
Spawn:
RSMK ABCDE 5
Stop
}
}
ACTOR GrenadeSmokeTrail
{
RenderStyle Translucent
Alpha 0.4
+NOBLOCKMAP
+NOCLIP
+DONTSPLASH
+NOTELEPORT
Gravity 0.1
VSpeed 0.5
Scale 0.6
States
{
Spawn:
RSMK ABCDE 4
Stop
}
}

View file

@ -1,42 +0,0 @@
ACTOR TeleportFog native
{
+NOBLOCKMAP
+NOTELEPORT
+NOGRAVITY
RenderStyle Add
States
{
Spawn:
TFOG ABABCDEFGHIJ 6 Bright
Stop
Raven:
TELE ABCDEFGHGFEDC 6 Bright
Stop
Strife:
TFOG ABCDEFEDCB 6 Bright
Stop
}
}
ACTOR TeleportDest
{
+NOBLOCKMAP
+NOSECTOR
+DONTSPLASH
}
ACTOR TeleportDest2 : TeleportDest
{
+NOGRAVITY
}
ACTOR TeleportDest3 : TeleportDest2
{
-NOGRAVITY
}

View file

@ -1,7 +0,0 @@
ACTOR WaterZone native
{
+NOSECTOR
+NOBLOCKMAP
+NOGRAVITY
+DONTSPLASH
}

View file

@ -1,35 +1,3 @@
//#include "actors/actor.txt"
//#include "actors/shared/inventory.txt"
//#include "actors/shared/player.txt"
//#include "actors/shared/morph.txt"
//#include "actors/shared/botstuff.txt"
//#include "actors/shared/sharedmisc.txt"
//#include "actors/shared/blood.txt"
//#include "actors/shared/debris.txt"
#include "actors/shared/decal.txt"
#include "actors/shared/splashes.txt"
#include "actors/shared/pickups.txt"
#include "actors/shared/fountain.txt"
#include "actors/shared/spark.txt"
#include "actors/shared/soundsequence.txt"
#include "actors/shared/soundenvironment.txt"
#include "actors/shared/bridge.txt"
//#include "actors/shared/specialspot.txt"
#include "actors/shared/teleport.txt"
#include "actors/shared/camera.txt"
#include "actors/shared/movingcamera.txt"
#include "actors/shared/mapmarker.txt"
#include "actors/shared/waterzone.txt"
#include "actors/shared/skies.txt"
#include "actors/shared/hatetarget.txt"
#include "actors/shared/secrettrigger.txt"
#include "actors/shared/setcolor.txt"
#include "actors/shared/sectoraction.txt"
//#include "actors/shared/action.txt"
#include "actors/shared/dog.txt"
#include "actors/shared/damagetypes.txt"
#include "actors/doom/doomplayer.txt"
#include "actors/doom/possessed.txt"
#include "actors/doom/doomimp.txt"

View file

@ -585,3 +585,8 @@ Intermission Inter_Chess
Position = 5, 135
}
}
DamageType Drowning
{
NoArmor
}

View file

@ -10,6 +10,26 @@ zscript/shared/blood.txt
zscript/shared/ice.txt
zscript/shared/debris.txt
zscript/shared/specialspot.txt
zscript/shared/decal.txt
zscript/shared/splashes.txt
zscript/shared/pickups.txt
zscript/shared/fountain.txt
zscript/shared/spark.txt
zscript/shared/soundsequence.txt
zscript/shared/soundenvironment.txt
zscript/shared/bridge.txt
zscript/shared/teleport.txt
zscript/shared/camera.txt
zscript/shared/movingcamera.txt
zscript/shared/mapmarker.txt
zscript/shared/waterzone.txt
zscript/shared/skies.txt
zscript/shared/hatetarget.txt
zscript/shared/secrettrigger.txt
zscript/shared/setcolor.txt
zscript/shared/sectoraction.txt
zscript/shared/dog.txt
//zscript/test1.txt

View file

@ -0,0 +1,129 @@
// Bridge ball -------------------------------------------------------------
class BridgeBall : Actor
{
default
{
+NOBLOCKMAP
+NOTELEPORT
+NOGRAVITY
}
action native void A_BridgeOrbit();
States
{
Spawn:
TLGL A 2 Bright;
TLGL A 1 Bright A_BridgeOrbit;
Wait;
}
}
// The bridge itself -------------------------------------------------------
class CustomBridge : Actor native
{
default
{
+SOLID
+NOGRAVITY
+NOLIFTDROP
+ACTLIKEBRIDGE
Radius 32;
Height 2;
RenderStyle "None";
}
action native void A_BridgeInit(class<Actor> balltype = "BridgeBall");
states
{
Spawn:
TLGL ABCDE 3 Bright;
Loop;
See:
TLGL A 2;
TLGL A 2 A_BridgeInit;
TLGL A -1;
Stop;
Death:
TLGL A 2;
TLGL A 300;
Stop;
}
}
// The Hexen bridge -------------------------------------------------------
class Bridge : CustomBridge
{
default
{
RenderStyle "None";
Args 32, 2, 3, 0;
}
}
// The ZDoom bridge -------------------------------------------------------
class ZBridge : CustomBridge
{
default
{
Args 36, 4, 0, 0;
}
}
// Invisible bridge --------------------------------------------------------
class InvisibleBridge : Actor native
{
default
{
RenderStyle "None";
Radius 32;
Height 4;
+SOLID
+NOGRAVITY
+NOLIFTDROP
+ACTLIKEBRIDGE
}
States
{
Spawn:
TNT1 A -1;
Stop;
}
}
// And some invisible bridges from Skull Tag -------------------------------
class InvisibleBridge32 : InvisibleBridge
{
default
{
Radius 32;
Height 8;
}
}
class InvisibleBridge16 : InvisibleBridge
{
default
{
Radius 16;
Height 8;
}
}
class InvisibleBridge8 : InvisibleBridge
{
default
{
Radius 8;
Height 8;
}
}

View file

@ -0,0 +1,29 @@
class DoomBuilderCamera : Actor
{
States
{
Spawn:
TNT1 A 1;
Stop;
}
}
class SecurityCamera : Actor native
{
default
{
+NOBLOCKMAP
+NOGRAVITY
+DONTSPLASH
}
default
{
RenderStyle "None";
CameraHeight 0;
}
}
class AimingCamera : SecurityCamera native
{
}

View file

@ -0,0 +1,3 @@
class Decal : Actor native
{
}

View file

@ -0,0 +1,47 @@
class MBFHelperDog : Actor
{
default
{
Health 500;
Speed 10;
PainChance 180;
Radius 12;
Height 28;
Mass 100;
Monster;
+JUMPDOWN
ActiveSound "dog/active";
AttackSound "dog/attack";
DeathSound "dog/death";
PainSound "dog/pain";
SeeSound "dog/sight";
Obituary "$OB_DOG";
}
States
{
Spawn:
DOGS AB 10 A_Look;
Loop;
See:
DOGS AABBCCDD 2 A_Chase;
Loop;
Melee:
DOGS EF 8 A_FaceTarget;
DOGS G 8 A_SargAttack;
Goto See;
Pain:
DOGS H 2;
DOGS H 2 A_Pain;
Goto See;
Death:
DOGS I 8;
DOGS J 8 A_Scream;
DOGS K 4;
DOGS L 4 A_Fall;
DOGS M 4;
DOGS N -1;
Raise:
DOGS NMLKJI 5;
Goto See;
}
}

View file

@ -0,0 +1,66 @@
class ParticleFountain : Actor native
{
default
{
Height 0;
+NOBLOCKMAP
+NOGRAVITY
+INVISIBLE
}
}
class RedParticleFountain : ParticleFountain
{
default
{
Health 1;
}
}
class GreenParticleFountain : ParticleFountain
{
default
{
Health 2;
}
}
class BlueParticleFountain : ParticleFountain
{
default
{
Health 3;
}
}
class YellowParticleFountain : ParticleFountain
{
default
{
Health 4;
}
}
class PurpleParticleFountain : ParticleFountain
{
default
{
Health 5;
}
}
class BlackParticleFountain : ParticleFountain
{
default
{
Health 6;
}
}
class WhiteParticleFountain : ParticleFountain
{
default
{
Health 7;
}
}

View file

@ -0,0 +1,22 @@
// Hate Target --------------------------------------------------------------
class HateTarget : Actor native
{
default
{
Radius 20;
Height 56;
+SHOOTABLE
+NOGRAVITY
+NOBLOOD
+DONTSPLASH
Mass 0x7fffffff;
}
States
{
Spawn:
TNT1 A -1;
}
}

View file

@ -0,0 +1,18 @@
class MapMarker : Actor native
{
default
{
+NOBLOCKMAP
+NOGRAVITY
+DONTSPLASH
+INVISIBLE
Scale 0.5;
}
States
{
Spawn:
AMRK A -1;
Stop;
}
}

View file

@ -0,0 +1,46 @@
class InterpolationPoint : Actor native
{
default
{
+NOBLOCKMAP
+NOGRAVITY
+DONTSPLASH
RenderStyle "None";
}
}
class InterpolationSpecial : Actor native
{
default
{
+NOBLOCKMAP
+NOSECTOR
+NOGRAVITY
+DONTSPLASH
}
}
class PathFollower : Actor native
{
default
{
+NOBLOCKMAP
+NOSECTOR
+NOGRAVITY
+DONTSPLASH
}
}
class ActorMover : PathFollower native
{
}
class MovingCamera : PathFollower native
{
default
{
CameraHeight 0;
}
}

View file

@ -4,28 +4,34 @@
//
/***************************************************************************/
ACTOR ItemFog
class ItemFog : Actor
{
+NOBLOCKMAP
+NOGRAVITY
default
{
+NOBLOCKMAP
+NOGRAVITY
}
States
{
Spawn:
IFOG ABABCDE 6 BRIGHT
Stop
IFOG ABABCDE 6 BRIGHT;
Stop;
}
}
// Pickup flash -------------------------------------------------------------
ACTOR PickupFlash
class PickupFlash : Actor
{
+NOGRAVITY
default
{
+NOGRAVITY
}
States
{
Spawn:
ACLO DCDCBCBABA 3
Stop
ACLO DCDCBCBABA 3;
Stop;
}
}

View file

@ -0,0 +1,12 @@
class SecretTrigger : Actor native
{
default
{
+NOBLOCKMAP
+NOSECTOR
+NOGRAVITY
+DONTSPLASH
}
}

View file

@ -1,81 +1,84 @@
ACTOR SectorAction native
class SectorAction : Actor native
{
+NOBLOCKMAP
+NOSECTOR
+NOGRAVITY
+DONTSPLASH
default
{
+NOBLOCKMAP
+NOSECTOR
+NOGRAVITY
+DONTSPLASH
}
}
// Triggered when entering sector -------------------------------------------
ACTOR SecActEnter : SectorAction native
class SecActEnter : SectorAction native
{
}
// Triggered when leaving sector --------------------------------------------
ACTOR SecActExit : SectorAction native
class SecActExit : SectorAction native
{
}
// Triggered when hitting sector's floor ------------------------------------
ACTOR SecActHitFloor : SectorAction native
class SecActHitFloor : SectorAction native
{
}
// Triggered when hitting sector's ceiling ----------------------------------
ACTOR SecActHitCeil : SectorAction native
class SecActHitCeil : SectorAction native
{
}
// Triggered when using inside sector ---------------------------------------
ACTOR SecActUse : SectorAction native
class SecActUse : SectorAction native
{
}
// Triggered when using a sector's wall -------------------------------------
ACTOR SecActUseWall : SectorAction native
class SecActUseWall : SectorAction native
{
}
// Triggered when eyes go below fake floor ----------------------------------
ACTOR SecActEyesDive : SectorAction native
class SecActEyesDive : SectorAction native
{
}
// Triggered when eyes go above fake floor ----------------------------------
ACTOR SecActEyesSurface : SectorAction native
class SecActEyesSurface : SectorAction native
{
}
// Triggered when eyes go below fake floor ----------------------------------
ACTOR SecActEyesBelowC : SectorAction native
class SecActEyesBelowC : SectorAction native
{
}
// Triggered when eyes go above fake floor ----------------------------------
ACTOR SecActEyesAboveC : SectorAction native
class SecActEyesAboveC : SectorAction native
{
}
// Triggered when eyes go below fake floor ----------------------------------
ACTOR SecActHitFakeFloor : SectorAction native
class SecActHitFakeFloor : SectorAction native
{
}
// Music changer ----------------------------------
ACTOR MusicChanger : SectorAction native
class MusicChanger : SectorAction native
{
}

View file

@ -0,0 +1,22 @@
class ColorSetter : Actor native
{
default
{
+NOBLOCKMAP
+NOGRAVITY
+DONTSPLASH
RenderStyle "None";
}
}
class FadeSetter : Actor native
{
default
{
+NOBLOCKMAP
+NOGRAVITY
+DONTSPLASH
RenderStyle "None";
}
}

View file

@ -0,0 +1,49 @@
class SkyViewpoint : Actor native
{
default
{
+NOSECTOR
+NOBLOCKMAP
+NOGRAVITY
+DONTSPLASH
}
}
class SkyPicker : Actor native
{
default
{
+NOSECTOR
+NOBLOCKMAP
+NOGRAVITY
+DONTSPLASH
}
}
class SkyCamCompat : SkyViewpoint native
{
}
class StackPoint : SkyViewpoint native
{
}
class UpperStackLookOnly : StackPoint
{
}
class LowerStackLookOnly : StackPoint
{
}
class SectorSilencer native
{
default
{
+NOBLOCKMAP
+NOGRAVITY
+DONTSPLASH
RenderStyle "None";
}
}

View file

@ -0,0 +1,12 @@
class SoundEnvironment : Actor native
{
default
{
+NOSECTOR
+NOBLOCKMAP
+NOGRAVITY
+DONTSPLASH
}
}

View file

@ -0,0 +1,121 @@
class AmbientSound : Actor native
{
default
{
+NOBLOCKMAP
+NOSECTOR
+DONTSPLASH
}
}
class AmbientSoundNoGravity : AmbientSound
{
default
{
+NOGRAVITY
}
}
class SoundSequenceSlot : Actor native
{
default
{
+NOSECTOR
+NOBLOCKMAP
+DONTSPLASH
}
}
class SoundSequence : Actor native
{
default
{
+NOSECTOR
+NOBLOCKMAP
+DONTSPLASH
}
}
// Heretic Sound sequences -----------------------------------------------------------
class HereticSoundSequence1 : SoundSequence
{
default
{
Args 0;
}
}
class HereticSoundSequence2 : SoundSequence
{
default
{
Args 1;
}
}
class HereticSoundSequence3 : SoundSequence
{
default
{
Args 2;
}
}
class HereticSoundSequence4 : SoundSequence
{
default
{
Args 3;
}
}
class HereticSoundSequence5 : SoundSequence
{
default
{
Args 4;
}
}
class HereticSoundSequence6 : SoundSequence
{
default
{
Args 5;
}
}
class HereticSoundSequence7 : SoundSequence
{
default
{
Args 6;
}
}
class HereticSoundSequence8 : SoundSequence
{
default
{
Args 7;
}
}
class HereticSoundSequence9 : SoundSequence
{
default
{
Args 8;
}
}
class HereticSoundSequence10 : SoundSequence
{
default
{
Args 9;
}
}

View file

@ -0,0 +1,11 @@
class Spark : Actor native
{
default
{
+NOSECTOR
+NOBLOCKMAP
+NOGRAVITY
+DONTSPLASH
}
}

View file

@ -0,0 +1,273 @@
// Water --------------------------------------------------------------------
class WaterSplash : Actor
{
default
{
Radius 2;
Height 4;
Gravity 0.125;
+NOBLOCKMAP
+MISSILE
+DROPOFF
+NOTELEPORT
+CANNOTPUSH
+DONTSPLASH
+DONTBLAST
}
States
{
Spawn:
SPSH ABC 8;
SPSH D 16;
Stop;
Death:
SPSH D 10;
Stop;
}
}
class WaterSplashBase : Actor
{
default
{
+NOBLOCKMAP
+NOCLIP
+NOGRAVITY
+DONTSPLASH
+DONTBLAST
}
States
{
Spawn:
SPSH EFGHIJK 5;
Stop;
}
}
// Lava ---------------------------------------------------------------------
class LavaSplash : Actor
{
default
{
+NOBLOCKMAP
+NOCLIP
+NOGRAVITY
+DONTSPLASH
+DONTBLAST
}
States
{
Spawn:
LVAS ABCDEF 5 Bright;
Stop;
}
}
class LavaSmoke : Actor
{
default
{
+NOBLOCKMAP
+NOCLIP
+NOGRAVITY
+DONTSPLASH
RenderStyle "Translucent";
DefaultAlpha;
}
States
{
Spawn:
LVAS GHIJK 5 Bright;
Stop;
}
}
// Sludge -------------------------------------------------------------------
class SludgeChunk : Actor
{
default
{
Radius 2;
Height 4;
Gravity 0.125;
+NOBLOCKMAP
+MISSILE
+DROPOFF
+NOTELEPORT
+CANNOTPUSH
+DONTSPLASH
}
States
{
Spawn:
SLDG ABCD 8;
Stop;
Death:
SLDG D 6;
Stop;
}
}
class SludgeSplash : Actor
{
default
{
+NOBLOCKMAP
+NOCLIP
+NOGRAVITY
+DONTSPLASH
}
States
{
Spawn:
SLDG EFGH 6;
Stop;
}
}
/*
* These next four classes are not used by me anywhere.
* They are for people who want to use them in a TERRAIN lump.
*/
// Blood (water with a different sprite) ------------------------------------
class BloodSplash : Actor
{
default
{
Radius 2;
Height 4;
Gravity 0.125;
+NOBLOCKMAP
+MISSILE
+DROPOFF
+NOTELEPORT
+CANNOTPUSH
+DONTSPLASH
+DONTBLAST
}
States
{
Spawn:
BSPH ABC 8;
BSPH D 16;
Stop;
Death:
BSPH D 10;
Stop;
}
}
class BloodSplashBase : Actor
{
default
{
+NOBLOCKMAP
+NOCLIP
+NOGRAVITY
+DONTSPLASH
+DONTBLAST
}
States
{
Spawn:
BSPH EFGHIJK 5;
Stop;
}
}
// Slime (sludge with a different sprite) -----------------------------------
class SlimeChunk : Actor
{
default
{
Radius 2;
Height 4;
Gravity 0.125;
+NOBLOCKMAP
+MISSILE
+DROPOFF
+NOTELEPORT
+CANNOTPUSH
+DONTSPLASH
}
States
{
Spawn:
SLIM ABCD 8;
Stop;
Death:
SLIM D 6;
Stop;
}
}
class SlimeSplash : Actor
{
default
{
+NOBLOCKMAP
+NOCLIP
+NOGRAVITY
+DONTSPLASH
}
States
{
Spawn:
SLIM EFGH 6;
Stop;
}
}
// Smoke trail for rocket -----------------------------------
class RocketSmokeTrail : Actor
{
default
{
RenderStyle "Translucent";
Alpha 0.4;
VSpeed 1;
+NOBLOCKMAP
+NOCLIP
+NOGRAVITY
+DONTSPLASH
+NOTELEPORT
}
States
{
Spawn:
RSMK ABCDE 5;
Stop;
}
}
class GrenadeSmokeTrail : Actor
{
default
{
RenderStyle "Translucent";
Alpha 0.4;
+NOBLOCKMAP
+NOCLIP
+DONTSPLASH
+NOTELEPORT
Gravity 0.1;
VSpeed 0.5;
Scale 0.6;
}
States
{
Spawn:
RSMK ABCDE 4;
Stop;
}
}

View file

@ -0,0 +1,54 @@
class TeleportFog : Actor native
{
default
{
+NOBLOCKMAP
+NOTELEPORT
+NOGRAVITY
RenderStyle "Add";
}
States
{
Spawn:
TFOG ABABCDEFGHIJ 6 Bright;
Stop;
Raven:
TELE ABCDEFGHGFEDC 6 Bright;
Stop;
Strife:
TFOG ABCDEFEDCB 6 Bright;
Stop;
}
}
class TeleportDest : Actor
{
default
{
+NOBLOCKMAP
+NOSECTOR
+DONTSPLASH
}
}
class TeleportDest2 : TeleportDest
{
default
{
+NOGRAVITY
}
}
class TeleportDest3 : TeleportDest2
{
default
{
-NOGRAVITY
}
}

View file

@ -0,0 +1,10 @@
class WaterZone : Actor native
{
default
{
+NOSECTOR
+NOBLOCKMAP
+NOGRAVITY
+DONTSPLASH
}
}