about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/game/client/components/controls.cpp5
-rw-r--r--src/game/editor/ed_editor.cpp8
2 files changed, 12 insertions, 1 deletions
diff --git a/src/game/client/components/controls.cpp b/src/game/client/components/controls.cpp
index 0b4918b2..7b3f4716 100644
--- a/src/game/client/components/controls.cpp
+++ b/src/game/client/components/controls.cpp
@@ -19,7 +19,10 @@ void CControls::OnReset()
 {
 	m_LastData.m_Direction = 0;
 	m_LastData.m_Hook = 0;
-	m_LastData.m_Fire = 0;
+	// simulate releasing the fire button
+	if((m_LastData.m_Fire&1) != 0)
+		m_LastData.m_Fire++;
+	m_LastData.m_Fire &= INPUT_STATE_MASK;
 	m_LastData.m_Jump = 0;
 	m_InputData = m_LastData;
 	
diff --git a/src/game/editor/ed_editor.cpp b/src/game/editor/ed_editor.cpp
index 0e478753..35a0b03a 100644
--- a/src/game/editor/ed_editor.cpp
+++ b/src/game/editor/ed_editor.cpp
@@ -1045,6 +1045,14 @@ void CEditor::DoQuadPoint(CQuad *q, int QuadIndex, int v)
 			s_Operation = OP_CONTEXT_MENU;
 			m_SelectedQuad = QuadIndex;
 			UI()->SetActiveItem(pId);
+			if(!(m_SelectedPoints&(1<<v)))

+			{

+				if(Input()->KeyPressed(KEY_LSHIFT) || Input()->KeyPressed(KEY_RSHIFT))

+					m_SelectedPoints |= 1<<v;

+				else

+					m_SelectedPoints = 1<<v;

+				s_Moved = true;

+			}
 		}
 	}
 	else