Added camera keybindings (#653)

master
krzys-h 2016-05-28 15:40:54 +02:00
parent ebc2e6e26c
commit 2dd7ba7e9b
9 changed files with 130 additions and 24 deletions

View File

@ -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 ""

View File

@ -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"

View File

@ -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é"

View File

@ -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"

View File

@ -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 ""

View File

@ -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);

View File

@ -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,

View File

@ -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");

View File

@ -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)