From 8ad56c0f2fa1bab0353536aa3656f639f45de994 Mon Sep 17 00:00:00 2001 From: Marco Hladik Date: Fri, 7 Aug 2020 22:19:29 +0200 Subject: [PATCH] func_door: Add support for trigger states on/off/toggle. --- src/gs-entbase/server/func_door.cpp | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/gs-entbase/server/func_door.cpp b/src/gs-entbase/server/func_door.cpp index 70962bcc..7ef0779c 100644 --- a/src/gs-entbase/server/func_door.cpp +++ b/src/gs-entbase/server/func_door.cpp @@ -226,12 +226,17 @@ func_door::Trigger(int state) } } - if ((m_iState == DOORSTATE_UP) || (m_iState == DOORSTATE_RAISED)){ + if (state == TRIG_OFF) { MoveBack(); - return; + } else if (state == TRIG_ON) { + MoveAway(); + } else { + if ((m_iState == DOORSTATE_UP) || (m_iState == DOORSTATE_RAISED)){ + MoveBack(); + } else { + MoveAway(); + } } - - MoveAway(); } void @@ -272,12 +277,12 @@ func_door::Blocked(void) void func_door::SetMovementDirection(void) { - if (angles == [0,-1,0]) { + if (m_oldAngle == [0,-1,0]) { m_vecMoveDir = [0,0,1]; - } else if (angles == [0,-2,0]) { + } else if (m_oldAngle == [0,-2,0]) { m_vecMoveDir = [0,0,-1]; } else { - makevectors(angles); + makevectors(m_oldAngle); m_vecMoveDir = v_forward; } } @@ -337,7 +342,6 @@ func_door::Respawn(void) m_vecMoveDir = [0,0,0]; /* angles to vecMoveDir */ - angles = m_oldAngle; SetMovementDirection(); if (spawnflags & SF_MOV_PASSABLE)