mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-12-18 08:31:03 +00:00
371712c53a
- fixed emission of the self pointer in FxVMFunctionCall. I did not realize that the self expression only sets up a register for the value, not pushing it onto the stack.
129 lines
1.6 KiB
Text
129 lines
1.6 KiB
Text
// Bridge ball -------------------------------------------------------------
|
|
|
|
class BridgeBall : Actor
|
|
{
|
|
default
|
|
{
|
|
+NOBLOCKMAP
|
|
+NOTELEPORT
|
|
+NOGRAVITY
|
|
}
|
|
|
|
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";
|
|
}
|
|
|
|
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;
|
|
}
|
|
}
|