[colobot] 95/145: Added camera keybindings (#653)
Didier Raboud
odyx at moszumanska.debian.org
Mon Jul 11 12:56:21 UTC 2016
This is an automated email from the git hooks/post-receive script.
odyx pushed a commit to branch debian/master
in repository colobot.
commit 2dd7ba7e9b36ec87f5612470fab121045673fb17
Author: krzys-h <krzys_h at interia.pl>
Date: Sat May 28 15:40:54 2016 +0200
Added camera keybindings (#653)
---
po/colobot.pot | 15 +++++++++++++++
po/de.po | 19 +++++++++++++++++++
po/fr.po | 19 +++++++++++++++++++
po/pl.po | 15 +++++++++++++++
po/ru.po | 19 +++++++++++++++++++
src/app/input.cpp | 42 ++++++++++++++++++++++++++++--------------
src/common/key.h | 9 +++++++--
src/common/restext.cpp | 9 +++++++--
src/graphics/engine/camera.cpp | 7 +------
9 files changed, 130 insertions(+), 24 deletions(-)
diff --git a/po/colobot.pot b/po/colobot.pot
index 08625b6..1b62449 100644
--- a/po/colobot.pot
+++ b/po/colobot.pot
@@ -461,12 +461,27 @@ msgstr ""
msgid "Standard action\\Standard action of the bot (take/grab, shoot, sniff, etc)"
msgstr ""
+msgid "Camera left\\Turns the camera left"
+msgstr ""
+
+msgid "Camera right\\Turns the camera right"
+msgstr ""
+
+msgid "Camera up\\Turns the camera up"
+msgstr ""
+
+msgid "Camera down\\Turns the camera down"
+msgstr ""
+
msgid "Camera closer\\Moves the camera forward"
msgstr ""
msgid "Camera back\\Moves the camera backward"
msgstr ""
+msgid "Alternative camera mode\\Move sideways instead of rotating (in free camera)"
+msgstr ""
+
msgid "Next object\\Selects the next object"
msgstr ""
diff --git a/po/de.po b/po/de.po
index c49e5cf..453d152 100644
--- a/po/de.po
+++ b/po/de.po
@@ -115,6 +115,9 @@ msgstr "Insektenkönigin tödlich verwundet"
msgid "Already carrying something"
msgstr "Trägt schon etwas"
+msgid "Alternative camera mode\\Move sideways instead of rotating (in free camera)"
+msgstr ""
+
msgid "Analysis already performed"
msgstr "Analyse schon durchgeführt"
@@ -330,15 +333,31 @@ msgstr "Kameradrehung mit der Maus\\Die Kamera dreht wenn die Maus den Rand erre
msgid "Camera closer\\Moves the camera forward"
msgstr "Kamera näher\\Bewegung der Kamera vorwärts"
+#, fuzzy
+msgid "Camera down\\Turns the camera down"
+msgstr "Kamera näher\\Bewegung der Kamera vorwärts"
+
+#, fuzzy
+msgid "Camera left\\Turns the camera left"
+msgstr "Kamera näher\\Bewegung der Kamera vorwärts"
+
msgid "Camera nearest"
msgstr "Kamera näher"
+#, fuzzy
+msgid "Camera right\\Turns the camera right"
+msgstr "Drehung nach rechts\\Steuer rechts"
+
msgid "Camera to left"
msgstr "Kamera links"
msgid "Camera to right"
msgstr "Kamera rechts"
+#, fuzzy
+msgid "Camera up\\Turns the camera up"
+msgstr "Kamera (\\key camera;)"
+
msgid "Can not produce not researched object"
msgstr "Das erforschte Objekt kann nicht produziert werden"
diff --git a/po/fr.po b/po/fr.po
index 880f1d0..4d91974 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -108,6 +108,9 @@ msgstr "Pondeuse mortellement touchée"
msgid "Already carrying something"
msgstr "Porte déjà quelque chose"
+msgid "Alternative camera mode\\Move sideways instead of rotating (in free camera)"
+msgstr ""
+
msgid "Analysis already performed"
msgstr "Analyse déjà effectuée"
@@ -321,15 +324,31 @@ msgstr "Défilement dans les bords\\Défilement lorsque la souris touche les bor
msgid "Camera closer\\Moves the camera forward"
msgstr "Caméra plus proche\\Avance la caméra"
+#, fuzzy
+msgid "Camera down\\Turns the camera down"
+msgstr "Caméra plus proche\\Avance la caméra"
+
+#, fuzzy
+msgid "Camera left\\Turns the camera left"
+msgstr "Caméra plus proche\\Avance la caméra"
+
msgid "Camera nearest"
msgstr "Caméra plus proche"
+#, fuzzy
+msgid "Camera right\\Turns the camera right"
+msgstr "Tourner à droite\\Moteur à droite"
+
msgid "Camera to left"
msgstr "Caméra à gauche"
msgid "Camera to right"
msgstr "Caméra à droite"
+#, fuzzy
+msgid "Camera up\\Turns the camera up"
+msgstr "Caméra (\\key camera;)"
+
msgid "Can not produce not researched object"
msgstr "Impossible de créer un objet n'ayant pas été recherché"
diff --git a/po/pl.po b/po/pl.po
index 6796728..68cd35a 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -111,6 +111,9 @@ msgstr "Królowa Obcych została zabita"
msgid "Already carrying something"
msgstr "Nie można nieść więcej przedmiotów"
+msgid "Alternative camera mode\\Move sideways instead of rotating (in free camera)"
+msgstr "Alternatywny tryb kamery\\Poruszaj na boki zamiast obracać (w kamerze swobodnej)"
+
msgid "Analysis already performed"
msgstr "Analiza została już wykonana"
@@ -324,15 +327,27 @@ msgstr "Przewijanie kamery przy krawędzi\\Ekran jest przewijany gdy mysz dotkni
msgid "Camera closer\\Moves the camera forward"
msgstr "Kamera bliżej\\Przybliża kamerę"
+msgid "Camera down\\Turns the camera down"
+msgstr "Kamera w dół\\Obraca kamerę w dół"
+
+msgid "Camera left\\Turns the camera left"
+msgstr "Kamera w lewo\\Obraca kamerę w lewo"
+
msgid "Camera nearest"
msgstr "Camera nearest"
+msgid "Camera right\\Turns the camera right"
+msgstr "Kamera w prawo\\Obróć kamerę w prawo"
+
msgid "Camera to left"
msgstr "Camera to left"
msgid "Camera to right"
msgstr "Camera to right"
+msgid "Camera up\\Turns the camera up"
+msgstr "Kamera w górę\\Obróć kamerę w górę"
+
msgid "Can not produce not researched object"
msgstr "Nie można wyprodukować nie wynalezionego obiektu"
diff --git a/po/ru.po b/po/ru.po
index 563ba00..d6d4d05 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -113,6 +113,9 @@ msgstr "Королева чужих убита"
msgid "Already carrying something"
msgstr "Уже что-то несу"
+msgid "Alternative camera mode\\Move sideways instead of rotating (in free camera)"
+msgstr ""
+
msgid "Analysis already performed"
msgstr "Анализ уже выполнен"
@@ -328,15 +331,31 @@ msgstr "Прокрутка\\Прокрутка, когда указатель м
msgid "Camera closer\\Moves the camera forward"
msgstr "Приблизать камеру\\Перемещение камеры вперед"
+#, fuzzy
+msgid "Camera down\\Turns the camera down"
+msgstr "Приблизать камеру\\Перемещение камеры вперед"
+
+#, fuzzy
+msgid "Camera left\\Turns the camera left"
+msgstr "Приблизать камеру\\Перемещение камеры вперед"
+
msgid "Camera nearest"
msgstr "Приблизить камеру"
+#, fuzzy
+msgid "Camera right\\Turns the camera right"
+msgstr "Повернуть налево\\Поворот налево"
+
msgid "Camera to left"
msgstr "Камеру влево"
msgid "Camera to right"
msgstr "Камеру вправо"
+#, fuzzy
+msgid "Camera up\\Turns the camera up"
+msgstr "Камера (\\key camera;)"
+
msgid "Can not produce not researched object"
msgstr ""
diff --git a/src/app/input.cpp b/src/app/input.cpp
index 62bad06..87cedf3 100644
--- a/src/app/input.cpp
+++ b/src/app/input.cpp
@@ -49,8 +49,13 @@ CInput::CInput()
{ INPUT_SLOT_CAMERA, "camera" },
{ INPUT_SLOT_DESEL, "desel" },
{ INPUT_SLOT_ACTION, "action" },
- { INPUT_SLOT_NEAR, "near" },
- { INPUT_SLOT_AWAY, "away" },
+ { INPUT_SLOT_CAM_LEFT, "cleft" },
+ { INPUT_SLOT_CAM_RIGHT,"cright" },
+ { INPUT_SLOT_CAM_UP, "cup" },
+ { INPUT_SLOT_CAM_DOWN, "cdown" },
+ { INPUT_SLOT_CAM_NEAR, "near" },
+ { INPUT_SLOT_CAM_AWAY, "away" },
+ { INPUT_SLOT_CAM_ALT, "camalt" },
{ INPUT_SLOT_NEXT, "next" },
{ INPUT_SLOT_HUMAN, "human" },
{ INPUT_SLOT_QUIT, "quit" },
@@ -64,8 +69,8 @@ CInput::CInput()
{ INPUT_SLOT_SPEED30, "speed30" },
{ INPUT_SLOT_SPEED40, "speed40" },
{ INPUT_SLOT_SPEED60, "speed60" },
- { INPUT_SLOT_PAUSE, "pause" },
- { INPUT_SLOT_CMDLINE, "cmdline" },
+ { INPUT_SLOT_PAUSE, "pause" },
+ { INPUT_SLOT_CMDLINE, "cmdline" },
};
m_mousePos = Math::Point();
@@ -125,10 +130,12 @@ void CInput::EventProcess(Event& event)
if (data->slot == INPUT_SLOT_GUP ) m_keyMotion.z = 1.0f;
if (data->slot == INPUT_SLOT_GDOWN) m_keyMotion.z = -1.0f;
- if (data->key == KEY(KP_4) ) m_cameraKeyMotion.x = -1.0f;
- if (data->key == KEY(KP_6) ) m_cameraKeyMotion.x = 1.0f;
- if (data->key == KEY(KP_8) ) m_cameraKeyMotion.y = 1.0f;
- if (data->key == KEY(KP_2) ) m_cameraKeyMotion.y = -1.0f;
+ if (data->slot == INPUT_SLOT_CAM_LEFT ) m_cameraKeyMotion.x = -1.0f;
+ if (data->slot == INPUT_SLOT_CAM_RIGHT) m_cameraKeyMotion.x = 1.0f;
+ if (data->slot == INPUT_SLOT_CAM_UP ) m_cameraKeyMotion.y = 1.0f;
+ if (data->slot == INPUT_SLOT_CAM_DOWN ) m_cameraKeyMotion.y = -1.0f;
+ if (data->slot == INPUT_SLOT_CAM_NEAR ) m_cameraKeyMotion.z = -1.0f;
+ if (data->slot == INPUT_SLOT_CAM_AWAY ) m_cameraKeyMotion.z = 1.0f;
}
else if (event.type == EVENT_KEY_UP)
{
@@ -141,10 +148,12 @@ void CInput::EventProcess(Event& event)
if (data->slot == INPUT_SLOT_GUP ) m_keyMotion.z = 0.0f;
if (data->slot == INPUT_SLOT_GDOWN) m_keyMotion.z = 0.0f;
- if (data->key == KEY(KP_4) ) m_cameraKeyMotion.x = 0.0f;
- if (data->key == KEY(KP_6) ) m_cameraKeyMotion.x = 0.0f;
- if (data->key == KEY(KP_8) ) m_cameraKeyMotion.y = 0.0f;
- if (data->key == KEY(KP_2) ) m_cameraKeyMotion.y = 0.0f;
+ if (data->slot == INPUT_SLOT_CAM_LEFT ) m_cameraKeyMotion.x = 0.0f;
+ if (data->slot == INPUT_SLOT_CAM_RIGHT) m_cameraKeyMotion.x = 0.0f;
+ if (data->slot == INPUT_SLOT_CAM_UP ) m_cameraKeyMotion.y = 0.0f;
+ if (data->slot == INPUT_SLOT_CAM_DOWN ) m_cameraKeyMotion.y = 0.0f;
+ if (data->slot == INPUT_SLOT_CAM_NEAR ) m_cameraKeyMotion.z = 0.0f;
+ if (data->slot == INPUT_SLOT_CAM_AWAY ) m_cameraKeyMotion.z = 0.0f;
}
else if (event.type == EVENT_JOY_AXIS)
{
@@ -255,8 +264,13 @@ void CInput::SetDefaultInputBindings()
m_inputBindings[INPUT_SLOT_DESEL ].primary = KEY(KP_0);
m_inputBindings[INPUT_SLOT_ACTION ].primary = KEY(RETURN);
m_inputBindings[INPUT_SLOT_ACTION ].secondary = KEY(e);
- m_inputBindings[INPUT_SLOT_NEAR ].primary = KEY(KP_PLUS);
- m_inputBindings[INPUT_SLOT_AWAY ].primary = KEY(KP_MINUS);
+ m_inputBindings[INPUT_SLOT_CAM_LEFT ].primary = KEY(KP_4);
+ m_inputBindings[INPUT_SLOT_CAM_RIGHT].primary = KEY(KP_6);
+ m_inputBindings[INPUT_SLOT_CAM_UP ].primary = KEY(KP_8);
+ m_inputBindings[INPUT_SLOT_CAM_DOWN ].primary = KEY(KP_2);
+ m_inputBindings[INPUT_SLOT_CAM_NEAR ].primary = KEY(KP_PLUS);
+ m_inputBindings[INPUT_SLOT_CAM_AWAY ].primary = KEY(KP_MINUS);
+ m_inputBindings[INPUT_SLOT_CAM_ALT ].primary = VIRTUAL_KMOD(ALT);
m_inputBindings[INPUT_SLOT_NEXT ].primary = KEY(TAB);
m_inputBindings[INPUT_SLOT_HUMAN ].primary = KEY(HOME);
m_inputBindings[INPUT_SLOT_QUIT ].primary = KEY(ESCAPE);
diff --git a/src/common/key.h b/src/common/key.h
index f1209ed..d249860 100644
--- a/src/common/key.h
+++ b/src/common/key.h
@@ -87,8 +87,13 @@ enum InputSlot
INPUT_SLOT_CAMERA,
INPUT_SLOT_DESEL,
INPUT_SLOT_ACTION,
- INPUT_SLOT_NEAR,
- INPUT_SLOT_AWAY,
+ INPUT_SLOT_CAM_LEFT,
+ INPUT_SLOT_CAM_RIGHT,
+ INPUT_SLOT_CAM_UP,
+ INPUT_SLOT_CAM_DOWN,
+ INPUT_SLOT_CAM_NEAR,
+ INPUT_SLOT_CAM_AWAY,
+ INPUT_SLOT_CAM_ALT,
INPUT_SLOT_NEXT,
INPUT_SLOT_HUMAN,
INPUT_SLOT_QUIT,
diff --git a/src/common/restext.cpp b/src/common/restext.cpp
index ec88dc4..a9644a3 100644
--- a/src/common/restext.cpp
+++ b/src/common/restext.cpp
@@ -220,8 +220,13 @@ void InitializeRestext()
stringsEvent[EVENT_INTERFACE_KEY+INPUT_SLOT_CAMERA] = TR("Change camera\\Switches between onboard camera and following camera");
stringsEvent[EVENT_INTERFACE_KEY+INPUT_SLOT_DESEL] = TR("Previous object\\Selects the previous object");
stringsEvent[EVENT_INTERFACE_KEY+INPUT_SLOT_ACTION] = TR("Standard action\\Standard action of the bot (take/grab, shoot, sniff, etc)");
- stringsEvent[EVENT_INTERFACE_KEY+INPUT_SLOT_NEAR] = TR("Camera closer\\Moves the camera forward");
- stringsEvent[EVENT_INTERFACE_KEY+INPUT_SLOT_AWAY] = TR("Camera back\\Moves the camera backward");
+ stringsEvent[EVENT_INTERFACE_KEY+INPUT_SLOT_CAM_LEFT] = TR("Camera left\\Turns the camera left");
+ stringsEvent[EVENT_INTERFACE_KEY+INPUT_SLOT_CAM_RIGHT] = TR("Camera right\\Turns the camera right");
+ stringsEvent[EVENT_INTERFACE_KEY+INPUT_SLOT_CAM_UP] = TR("Camera up\\Turns the camera up");
+ stringsEvent[EVENT_INTERFACE_KEY+INPUT_SLOT_CAM_DOWN] = TR("Camera down\\Turns the camera down");
+ stringsEvent[EVENT_INTERFACE_KEY+INPUT_SLOT_CAM_NEAR] = TR("Camera closer\\Moves the camera forward");
+ stringsEvent[EVENT_INTERFACE_KEY+INPUT_SLOT_CAM_AWAY] = TR("Camera back\\Moves the camera backward");
+ stringsEvent[EVENT_INTERFACE_KEY+INPUT_SLOT_CAM_ALT] = TR("Alternative camera mode\\Move sideways instead of rotating (in free camera)");
stringsEvent[EVENT_INTERFACE_KEY+INPUT_SLOT_NEXT] = TR("Next object\\Selects the next object");
stringsEvent[EVENT_INTERFACE_KEY+INPUT_SLOT_HUMAN] = TR("Select the astronaut\\Selects the astronaut");
stringsEvent[EVENT_INTERFACE_KEY+INPUT_SLOT_QUIT] = TR("Quit\\Quit the current mission or exercise");
diff --git a/src/graphics/engine/camera.cpp b/src/graphics/engine/camera.cpp
index 0b6157b..4462613 100644
--- a/src/graphics/engine/camera.cpp
+++ b/src/graphics/engine/camera.cpp
@@ -1210,7 +1210,7 @@ bool CCamera::EventFrameFree(const Event &event, bool keysAllowed)
Math::Vector cameraMove = CalculateCameraMovement(event, keysAllowed);
float factor = m_heightEye * 0.5f + 30.0f;
- bool secondary = event.kmodState & KEY_MOD(CTRL) || event.mouseButtonsState & MOUSE_BUTTON_MIDDLE;
+ bool secondary = m_input->GetKeyState(INPUT_SLOT_CAM_ALT) || event.mouseButtonsState & MOUSE_BUTTON_MIDDLE; // TODO: make mouse button a keybinding
// Forward/Backward
m_eyePt = Math::LookatPoint(m_eyePt, m_directionH, m_directionV, -cameraMove.y * factor * 2);
@@ -1609,11 +1609,6 @@ Math::Vector CCamera::CalculateCameraMovement(const Event &event, bool keysAllow
delta.y -= event.motionInput.y * event.rTime * 0.5f * m_speed;
delta.z -= event.motionInput.z * event.rTime * 20.0f * m_speed;
}
-
- if (m_input->GetKeyState(INPUT_SLOT_NEAR))
- delta.z -= event.rTime * 20.0f * m_speed;
- if (m_input->GetKeyState(INPUT_SLOT_AWAY))
- delta.z += event.rTime * 20.0f * m_speed;
}
if (delta.Length() > 0)
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/colobot.git
More information about the Pkg-games-commits
mailing list