Added camera keybindings (#653)
parent
ebc2e6e26c
commit
2dd7ba7e9b
|
@ -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 ""
|
||||
|
||||
|
|
19
po/de.po
19
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"
|
||||
|
||||
|
|
19
po/fr.po
19
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é"
|
||||
|
||||
|
|
15
po/pl.po
15
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"
|
||||
|
||||
|
|
19
po/ru.po
19
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 ""
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue