Trigger portal: Difference between revisions
Jump to navigation
Jump to search
Note:This entity is unavailable in any Valve game, though it has been re-enabled in
Portal 2: Community Edition . Other mods using custom binaries can enable the entity by editing
Bug:The code for this entity will not compile on its own. See below for how to fix it. [todo tested in ?]
(Added additional code fix) |
|||
Line 14: | Line 14: | ||
] | ] | ||
==Code | ==Code Fixes== | ||
Replace line 278 and 302 in '''trigger_portal.cpp''' with: | Replace line 278 and 302 in '''trigger_portal.cpp''' with: | ||
SetContextThink( &CTriggerPortal::DisabledThink, gpGlobals->curtime + 0.1, TRIGGER_DISABLED_THINK ); | SetContextThink( &CTriggerPortal::DisabledThink, gpGlobals->curtime + 0.1, TRIGGER_DISABLED_THINK ); | ||
Remove lines 33 and 77-79, which should be: | |||
DECLARE_SERVERCLASS(); | |||
IMPLEMENT_SERVERCLASS_ST( CTriggerPortal, DT_TriggerPortal ) | |||
SendPropEHandle(SENDINFO(m_hRemotePortal)), | |||
END_SEND_TABLE() | |||
There is no client class to send this entity handle to, nor is one needed. | |||
==Keyvalues== | ==Keyvalues== |
Revision as of 14:33, 2 July 2022
trigger_portal is an brush entity in the Source base code. It moves touched entity to a target location, changing the model's orientation to match the exit target. It differs from trigger_teleport in that it "reorients physics" and (probably) preserves velocity. It seems to be an early test of the functionality of portals, which was replaced by prop_portal.


server_base.vpc
to include trigger_portal.cpp
before building the project, or by adding the file within Visual Studio after building the project.
FGD Code
@SolidClass base(Trigger, Angles) = trigger_portal : "A trigger volume which teleports touched entities and reorients their physics." [ RemotePortal(target_destination) : "Remote Portal" : : "The trigger_portal linked to this entity. Entities that touch this entity will be teleported to the Remote Portal." //Inputs input SetRemotePortal(string) : "Set the remote portal to the specified trigger_portal." ]
Code Fixes
Replace line 278 and 302 in trigger_portal.cpp with:
SetContextThink( &CTriggerPortal::DisabledThink, gpGlobals->curtime + 0.1, TRIGGER_DISABLED_THINK );
Remove lines 33 and 77-79, which should be:
DECLARE_SERVERCLASS();
IMPLEMENT_SERVERCLASS_ST( CTriggerPortal, DT_TriggerPortal ) SendPropEHandle(SENDINFO(m_hRemotePortal)), END_SEND_TABLE()
There is no client class to send this entity handle to, nor is one needed.
Keyvalues
- Remote Portal ([todo internal name (i)]) <targetname>
- The trigger_portal linked to this entity. Entities that touch this entity will be teleported to the Remote Portal.
|
- Pitch Yaw Roll (Y Z X) (angles) <QAngle>
- This entity's orientation in the world. Pitch is rotation around the Y axis, yaw is the rotation around the Z axis, roll is the rotation around the X axis.
Flags
|
Inputs
- SetRemotePortal <string >
- Set the remote portal to the specified trigger_portal.
|
Outputs
|