From 569772dcfe23b39778fdcf8cc14f85580553f027 Mon Sep 17 00:00:00 2001 From: Xottab-DUTY Date: Sat, 21 Jul 2018 23:46:15 +0500 Subject: [PATCH] Replaced SDL_Scancode back to int xrGame/key_binding_registrator_script.cpp: reformat xrGame/xr_level_controller.cpp: reformat --- src/xrEngine/IInputReceiver.cpp | 2 +- src/xrEngine/edit_actions.cpp | 4 +- src/xrEngine/edit_actions.h | 6 +- src/xrEngine/line_edit_control.cpp | 12 +- src/xrEngine/line_edit_control.h | 12 +- src/xrEngine/line_editor.cpp | 6 +- src/xrGame/Level_input.cpp | 24 +- src/xrGame/MainMenu.cpp | 8 +- src/xrGame/UIDialogHolder.cpp | 6 +- src/xrGame/UIDialogHolder.h | 6 +- src/xrGame/UIGameCTA.cpp | 4 +- src/xrGame/UIGameCTA.h | 4 +- src/xrGame/UIGameMP.cpp | 4 +- src/xrGame/UIGameMP.h | 4 +- src/xrGame/UIGameSP.cpp | 4 +- src/xrGame/UIGameSP.h | 4 +- src/xrGame/UIGameTDM.cpp | 4 +- src/xrGame/UIGameTDM.h | 4 +- src/xrGame/key_binding_registrator_script.cpp | 262 +++++++++++----- src/xrGame/ui/ChangeWeatherDialog.cpp | 2 +- src/xrGame/ui/ChangeWeatherDialog.hpp | 2 +- src/xrGame/ui/UIActorMenu.h | 2 +- src/xrGame/ui/UIActorMenu_action.cpp | 2 +- src/xrGame/ui/UIButton.cpp | 6 +- src/xrGame/ui/UIButton.h | 2 +- src/xrGame/ui/UICellItem.cpp | 2 +- src/xrGame/ui/UICellItem.h | 2 +- src/xrGame/ui/UIChangeMap.cpp | 2 +- src/xrGame/ui/UIChangeMap.h | 2 +- src/xrGame/ui/UICustomEdit.cpp | 4 +- src/xrGame/ui/UICustomEdit.h | 4 +- src/xrGame/ui/UIDemoPlayControl.cpp | 2 +- src/xrGame/ui/UIDemoPlayControl.h | 2 +- src/xrGame/ui/UIDialogWnd.cpp | 4 +- src/xrGame/ui/UIDialogWnd.h | 4 +- src/xrGame/ui/UIEditKeyBind.cpp | 2 +- src/xrGame/ui/UIEditKeyBind.h | 2 +- src/xrGame/ui/UIFixedScrollBar.cpp | 2 +- src/xrGame/ui/UIFixedScrollBar.h | 2 +- src/xrGame/ui/UIGameTutorial.cpp | 8 +- src/xrGame/ui/UIGameTutorial.h | 6 +- src/xrGame/ui/UIGameTutorialSimpleItem.cpp | 4 +- src/xrGame/ui/UIKickPlayer.cpp | 2 +- src/xrGame/ui/UIKickPlayer.h | 2 +- src/xrGame/ui/UILogsWnd.cpp | 4 +- src/xrGame/ui/UILogsWnd.h | 4 +- src/xrGame/ui/UIMMShniaga.cpp | 2 +- src/xrGame/ui/UIMMShniaga.h | 2 +- src/xrGame/ui/UIMPAdminMenu.cpp | 2 +- src/xrGame/ui/UIMPAdminMenu.h | 2 +- src/xrGame/ui/UIMapWnd.cpp | 4 +- src/xrGame/ui/UIMapWnd.h | 4 +- src/xrGame/ui/UIMessageBoxEx.cpp | 2 +- src/xrGame/ui/UIMessageBoxEx.h | 2 +- src/xrGame/ui/UIMpTradeWnd.h | 2 +- src/xrGame/ui/UIMpTradeWnd_misc.cpp | 2 +- src/xrGame/ui/UIPdaWnd.cpp | 2 +- src/xrGame/ui/UIPdaWnd.h | 2 +- src/xrGame/ui/UIScriptWnd.cpp | 2 +- src/xrGame/ui/UIScriptWnd.h | 2 +- src/xrGame/ui/UIScrollBar.cpp | 2 +- src/xrGame/ui/UIScrollBar.h | 2 +- src/xrGame/ui/UISpawnWnd.cpp | 2 +- src/xrGame/ui/UISpawnWnd.h | 2 +- src/xrGame/ui/UISpeechMenu.cpp | 2 +- src/xrGame/ui/UISpeechMenu.h | 2 +- src/xrGame/ui/UITalkWnd.cpp | 2 +- src/xrGame/ui/UITalkWnd.h | 2 +- src/xrGame/ui/UIVotingCategory.cpp | 2 +- src/xrGame/ui/UIVotingCategory.h | 2 +- src/xrGame/ui/UIWindow.cpp | 4 +- src/xrGame/ui/UIWindow.h | 4 +- src/xrGame/ui/uiscriptwnd_script.h | 4 +- src/xrGame/xr_level_controller.cpp | 296 +++++++++++++----- src/xrGame/xr_level_controller.h | 8 +- 75 files changed, 536 insertions(+), 294 deletions(-) diff --git a/src/xrEngine/IInputReceiver.cpp b/src/xrEngine/IInputReceiver.cpp index b2093c7342d..bcac73f5b8e 100644 --- a/src/xrEngine/IInputReceiver.cpp +++ b/src/xrEngine/IInputReceiver.cpp @@ -28,7 +28,7 @@ void IInputReceiver::IR_OnDeactivate(void) int i; for (i = 0; i < CInput::COUNT_KB_BUTTONS; i++) if (IR_GetKeyState(i)) - IR_OnKeyboardRelease((SDL_Scancode)i); + IR_OnKeyboardRelease(i); for (i = 0; i < CInput::COUNT_MOUSE_BUTTONS; i++) if (IR_GetBtnState(i)) diff --git a/src/xrEngine/edit_actions.cpp b/src/xrEngine/edit_actions.cpp index 2201820933a..b78478f7f2e 100644 --- a/src/xrEngine/edit_actions.cpp +++ b/src/xrEngine/edit_actions.cpp @@ -45,9 +45,9 @@ void callback_base::on_key_press(line_edit_control* const control) // ------------------------------------------------------------------------------------------------- -type_pair::type_pair(SDL_Scancode dik, char c, char c_shift, bool b_translate) { init(dik, c, c_shift, b_translate); } +type_pair::type_pair(int dik, char c, char c_shift, bool b_translate) { init(dik, c, c_shift, b_translate); } type_pair::~type_pair() {} -void type_pair::init(SDL_Scancode dik, char c, char c_shift, bool b_translate) +void type_pair::init(int dik, char c, char c_shift, bool b_translate) { m_translate = b_translate; m_dik = dik; diff --git a/src/xrEngine/edit_actions.h b/src/xrEngine/edit_actions.h index 3635a016b76..6a5d3061e71 100644 --- a/src/xrEngine/edit_actions.h +++ b/src/xrEngine/edit_actions.h @@ -52,13 +52,13 @@ class callback_base : public base class type_pair : public base { public: - type_pair(SDL_Scancode dik, char c, char c_shift, bool b_translate); + type_pair(int dik, char c, char c_shift, bool b_translate); virtual ~type_pair(); - void init(SDL_Scancode dik, char c, char c_shift, bool b_translate); + void init(int dik, char c, char c_shift, bool b_translate); virtual void on_key_press(line_edit_control* const control); private: - SDL_Scancode m_dik; + int m_dik; bool m_translate; char m_char; char m_char_shift; diff --git a/src/xrEngine/line_edit_control.cpp b/src/xrEngine/line_edit_control.cpp index 3ffc6e53ed7..e9763673d54 100644 --- a/src/xrEngine/line_edit_control.cpp +++ b/src/xrEngine/line_edit_control.cpp @@ -359,7 +359,7 @@ void line_edit_control::assign_char_pairs(init_mode mode) create_char_pair(SDL_SCANCODE_Z, 'z', 'Z', true); } -void line_edit_control::create_key_state(SDL_Scancode const dik, key_state state) +void line_edit_control::create_key_state(int const dik, key_state state) { Base* prev = m_actions[dik]; // if ( m_actions[dik] ) @@ -369,7 +369,7 @@ void line_edit_control::create_key_state(SDL_Scancode const dik, key_state state m_actions[dik] = new text_editor::key_state_base(state, prev); } -void line_edit_control::create_char_pair(SDL_Scancode const dik, char c, char c_shift, bool translate) +void line_edit_control::create_char_pair(int const dik, char c, char c_shift, bool translate) { if (m_actions[dik]) { @@ -379,7 +379,7 @@ void line_edit_control::create_char_pair(SDL_Scancode const dik, char c, char c_ m_actions[dik] = new text_editor::type_pair(dik, c, c_shift, translate); } -void line_edit_control::assign_callback(SDL_Scancode const dik, key_state state, Callback const& callback) +void line_edit_control::assign_callback(int const dik, key_state state, Callback const& callback) { VERIFY(dik < SDL_NUM_SCANCODES); Base* prev_action = m_actions[dik]; @@ -405,7 +405,7 @@ void line_edit_control::set_edit(pcstr str) // ======================================================== -void line_edit_control::on_key_press(SDL_Scancode dik) +void line_edit_control::on_key_press(int dik) { if (SDL_NUM_SCANCODES <= dik) { @@ -451,7 +451,7 @@ void line_edit_control::on_key_press(SDL_Scancode dik) // ------------------------------------------------------------------------------------------------- -void line_edit_control::on_key_hold(SDL_Scancode dik) +void line_edit_control::on_key_hold(int dik) { update_key_states(); update_bufs(); @@ -478,7 +478,7 @@ void line_edit_control::on_key_hold(SDL_Scancode dik) } } -void line_edit_control::on_key_release(SDL_Scancode dik) +void line_edit_control::on_key_release(int dik) { m_accel = 1.0f; m_rep_time = 0.0f; diff --git a/src/xrEngine/line_edit_control.h b/src/xrEngine/line_edit_control.h index 46710040efc..f8af017f8c6 100644 --- a/src/xrEngine/line_edit_control.h +++ b/src/xrEngine/line_edit_control.h @@ -55,12 +55,12 @@ class ENGINE_API line_edit_control ~line_edit_control(); void clear_states(); - void on_key_press(SDL_Scancode dik); - void on_key_hold(SDL_Scancode dik); - void on_key_release(SDL_Scancode dik); + void on_key_press(int dik); + void on_key_hold(int dik); + void on_key_release(int dik); void on_frame(); - void assign_callback(SDL_Scancode const dik, key_state state, Callback const& callback); + void assign_callback(int const dik, key_state state, Callback const& callback); void insert_character(char c); @@ -106,8 +106,8 @@ class ENGINE_API line_edit_control void xr_stdcall SwitchKL(); void assign_char_pairs(init_mode mode); - void create_key_state(SDL_Scancode const dik, key_state state); - void create_char_pair(SDL_Scancode const dik, char c, char c_shift, bool translate = false); + void create_key_state(int const dik, key_state state); + void create_char_pair(int const dik, char c, char c_shift, bool translate = false); void clear_inserted(); bool empty_inserted(); diff --git a/src/xrEngine/line_editor.cpp b/src/xrEngine/line_editor.cpp index ce0c289e8f4..8dafa9aa6f8 100644 --- a/src/xrEngine/line_editor.cpp +++ b/src/xrEngine/line_editor.cpp @@ -13,7 +13,7 @@ namespace text_editor line_editor::line_editor(u32 str_buffer_size) : m_control(str_buffer_size) {} line_editor::~line_editor() {} void line_editor::on_frame() { m_control.on_frame(); } -void line_editor::IR_OnKeyboardPress(int dik) {m_control.on_key_press((SDL_Scancode)dik); } -void line_editor::IR_OnKeyboardHold(int dik) {m_control.on_key_hold((SDL_Scancode)dik); } -void line_editor::IR_OnKeyboardRelease(int dik) {m_control.on_key_release((SDL_Scancode)dik); } +void line_editor::IR_OnKeyboardPress(int dik) {m_control.on_key_press(dik); } +void line_editor::IR_OnKeyboardHold(int dik) {m_control.on_key_hold(dik); } +void line_editor::IR_OnKeyboardRelease(int dik) {m_control.on_key_release(dik); } } // namespace text_editor diff --git a/src/xrGame/Level_input.cpp b/src/xrGame/Level_input.cpp index 13291e11421..3fd6d6a7cc1 100644 --- a/src/xrGame/Level_input.cpp +++ b/src/xrGame/Level_input.cpp @@ -122,7 +122,7 @@ void CLevel::IR_OnKeyboardPress(int key) bool b_ui_exist = !!CurrentGameUI(); - EGameActions _curr = get_binded_action((SDL_Scancode) key); + EGameActions _curr = get_binded_action(key); #ifdef INPUT_CALLBACKS /* avo: script callback */ @@ -167,7 +167,7 @@ void CLevel::IR_OnKeyboardPress(int key) { if (b_ui_exist && CurrentGameUI()->TopInputReceiver()) { - if (CurrentGameUI()->IR_UIOnKeyboardPress((SDL_Scancode) key)) + if (CurrentGameUI()->IR_UIOnKeyboardPress(key)) return; // special case for mp and main_menu CurrentGameUI()->TopInputReceiver()->HideDialog(); } @@ -183,7 +183,7 @@ void CLevel::IR_OnKeyboardPress(int key) if (!bReady || !b_ui_exist) return; - if (b_ui_exist && CurrentGameUI()->IR_UIOnKeyboardPress((SDL_Scancode) key)) + if (b_ui_exist && CurrentGameUI()->IR_UIOnKeyboardPress(key)) return; if (Device.Paused() && !IsDemoPlay() @@ -193,7 +193,7 @@ void CLevel::IR_OnKeyboardPress(int key) ) return; - if (game && game->OnKeyboardPress(get_binded_action((SDL_Scancode) key))) + if (game && game->OnKeyboardPress(get_binded_action(key))) return; if (_curr == kQUICK_SAVE && IsGameTypeSingle()) @@ -475,14 +475,14 @@ void CLevel::IR_OnKeyboardPress(int key) } #endif // MASTER_GOLD - if (bindConsoleCmds.execute((SDL_Scancode)key)) + if (bindConsoleCmds.execute(key)) return; if (CURRENT_ENTITY()) { IInputReceiver* IR = smart_cast(smart_cast(CURRENT_ENTITY())); if (IR) - IR->IR_OnKeyboardPress(get_binded_action((SDL_Scancode)key)); + IR->IR_OnKeyboardPress(get_binded_action(key)); } #ifdef _DEBUG @@ -508,9 +508,9 @@ void CLevel::IR_OnKeyboardRelease(int key) /* avo: end */ #endif - if (CurrentGameUI() && CurrentGameUI()->IR_UIOnKeyboardRelease((SDL_Scancode) key)) + if (CurrentGameUI() && CurrentGameUI()->IR_UIOnKeyboardRelease(key)) return; - if (game && game->OnKeyboardRelease(get_binded_action((SDL_Scancode)key))) + if (game && game->OnKeyboardRelease(get_binded_action(key))) return; if (Device.Paused() #ifdef DEBUG @@ -523,7 +523,7 @@ void CLevel::IR_OnKeyboardRelease(int key) { IInputReceiver* IR = smart_cast(smart_cast(CURRENT_ENTITY())); if (IR) - IR->IR_OnKeyboardRelease(get_binded_action((SDL_Scancode)key)); + IR->IR_OnKeyboardRelease(get_binded_action(key)); } } @@ -568,7 +568,7 @@ void CLevel::IR_OnKeyboardHold(int key) #endif // DEBUG - if (CurrentGameUI() && CurrentGameUI()->IR_UIOnKeyboardHold((SDL_Scancode)key)) + if (CurrentGameUI() && CurrentGameUI()->IR_UIOnKeyboardHold(key)) return; if (Device.Paused() && !Level().IsDemoPlay() #ifdef DEBUG @@ -580,7 +580,7 @@ void CLevel::IR_OnKeyboardHold(int key) { IInputReceiver* IR = smart_cast(smart_cast(CURRENT_ENTITY())); if (IR) - IR->IR_OnKeyboardHold(get_binded_action((SDL_Scancode)key)); + IR->IR_OnKeyboardHold(get_binded_action(key)); } } @@ -594,7 +594,7 @@ void CLevel::IR_OnActivate() { if (IR_GetKeyState(i)) { - EGameActions action = get_binded_action((SDL_Scancode) i); + EGameActions action = get_binded_action(i); switch (action) { case kFWD: diff --git a/src/xrGame/MainMenu.cpp b/src/xrGame/MainMenu.cpp index eaf5965f48d..edf2d0d081a 100644 --- a/src/xrGame/MainMenu.cpp +++ b/src/xrGame/MainMenu.cpp @@ -338,7 +338,7 @@ void CMainMenu::IR_OnKeyboardPress(int dik) if (!IsActive()) return; - if (is_binded(kCONSOLE, (SDL_Scancode)dik)) + if (is_binded(kCONSOLE, dik)) { Console->Show(); return; @@ -349,7 +349,7 @@ void CMainMenu::IR_OnKeyboardPress(int dik) return; } - CDialogHolder::IR_UIOnKeyboardPress((SDL_Scancode)dik); + CDialogHolder::IR_UIOnKeyboardPress(dik); }; void CMainMenu::IR_OnKeyboardRelease(int dik) @@ -357,7 +357,7 @@ void CMainMenu::IR_OnKeyboardRelease(int dik) if (!IsActive()) return; - CDialogHolder::IR_UIOnKeyboardRelease((SDL_Scancode)dik); + CDialogHolder::IR_UIOnKeyboardRelease(dik); }; void CMainMenu::IR_OnKeyboardHold(int dik) @@ -365,7 +365,7 @@ void CMainMenu::IR_OnKeyboardHold(int dik) if (!IsActive()) return; - CDialogHolder::IR_UIOnKeyboardHold((SDL_Scancode)dik); + CDialogHolder::IR_UIOnKeyboardHold(dik); }; void CMainMenu::IR_OnMouseWheel(int x, int y) diff --git a/src/xrGame/UIDialogHolder.cpp b/src/xrGame/UIDialogHolder.cpp index e1f9919d37f..ddb62619ccd 100644 --- a/src/xrGame/UIDialogHolder.cpp +++ b/src/xrGame/UIDialogHolder.cpp @@ -239,7 +239,7 @@ void CDialogHolder::CleanInternals() GetUICursor().Hide(); } -bool CDialogHolder::IR_UIOnKeyboardPress(SDL_Scancode dik) +bool CDialogHolder::IR_UIOnKeyboardPress(int dik) { CUIDialogWnd* TIR = TopInputReceiver(); if (!TIR) @@ -279,7 +279,7 @@ bool CDialogHolder::IR_UIOnKeyboardPress(SDL_Scancode dik) return true; } -bool CDialogHolder::IR_UIOnKeyboardRelease(SDL_Scancode dik) +bool CDialogHolder::IR_UIOnKeyboardRelease(int dik) { CUIDialogWnd* TIR = TopInputReceiver(); if (!TIR) @@ -314,7 +314,7 @@ bool CDialogHolder::IR_UIOnKeyboardRelease(SDL_Scancode dik) return true; } -bool CDialogHolder::IR_UIOnKeyboardHold(SDL_Scancode dik) +bool CDialogHolder::IR_UIOnKeyboardHold(int dik) { CUIDialogWnd* TIR = TopInputReceiver(); if (!TIR) diff --git a/src/xrGame/UIDialogHolder.h b/src/xrGame/UIDialogHolder.h index 2d85b025a7e..899e378a1ce 100644 --- a/src/xrGame/UIDialogHolder.h +++ b/src/xrGame/UIDialogHolder.h @@ -59,9 +59,9 @@ class CDialogHolder : public pureFrame virtual void StartDialog(CUIDialogWnd* pDialog, bool bDoHideIndicators); virtual void StopDialog(CUIDialogWnd* pDialog); virtual bool IgnorePause() { return false; } - virtual bool IR_UIOnKeyboardPress(SDL_Scancode dik); - virtual bool IR_UIOnKeyboardRelease(SDL_Scancode dik); + virtual bool IR_UIOnKeyboardPress(int dik); + virtual bool IR_UIOnKeyboardRelease(int dik); virtual bool IR_UIOnMouseMove(int dx, int dy); virtual bool IR_UIOnMouseWheel(int x, int y); - virtual bool IR_UIOnKeyboardHold(SDL_Scancode dik); + virtual bool IR_UIOnKeyboardHold(int dik); }; diff --git a/src/xrGame/UIGameCTA.cpp b/src/xrGame/UIGameCTA.cpp index c6918dd1e71..958db266dd5 100644 --- a/src/xrGame/UIGameCTA.cpp +++ b/src/xrGame/UIGameCTA.cpp @@ -775,7 +775,7 @@ void CUIGameCTA::SetVoteTimeResultMsg(LPCSTR str) m_voteStatusWnd->SetVoteTimeResultMsg(str); } -bool CUIGameCTA::IR_UIOnKeyboardPress(SDL_Scancode dik) +bool CUIGameCTA::IR_UIOnKeyboardPress(int dik) { if (inherited::IR_UIOnKeyboardPress(dik)) return true; @@ -813,7 +813,7 @@ bool CUIGameCTA::IR_UIOnKeyboardPress(SDL_Scancode dik) return false; } -bool CUIGameCTA::IR_UIOnKeyboardRelease(SDL_Scancode dik) +bool CUIGameCTA::IR_UIOnKeyboardRelease(int dik) { if (inherited::IR_UIOnKeyboardRelease(dik)) return true; diff --git a/src/xrGame/UIGameCTA.h b/src/xrGame/UIGameCTA.h index 3a93186114e..98d74717ee2 100644 --- a/src/xrGame/UIGameCTA.h +++ b/src/xrGame/UIGameCTA.h @@ -115,8 +115,8 @@ class CUIGameCTA : public UIGameMP virtual void OnFrame(); virtual void Render(); - virtual bool IR_UIOnKeyboardPress(SDL_Scancode dik); - virtual bool IR_UIOnKeyboardRelease(SDL_Scancode dik); + virtual bool IR_UIOnKeyboardPress(int dik); + virtual bool IR_UIOnKeyboardRelease(int dik); bool IsTeamPanelsShown(); void ShowTeamPanels(bool bShow); diff --git a/src/xrGame/UIGameMP.cpp b/src/xrGame/UIGameMP.cpp index efe1688eccb..a8ae6b409dc 100644 --- a/src/xrGame/UIGameMP.cpp +++ b/src/xrGame/UIGameMP.cpp @@ -25,7 +25,7 @@ void UIGameMP::ShowDemoPlayControl() GetUICursor().SetUICursorPosition(m_pDemoPlayControl->GetLastCursorPos()); } -bool UIGameMP::IR_UIOnKeyboardPress(SDL_Scancode dik) +bool UIGameMP::IR_UIOnKeyboardPress(int dik) { if (is_binded(kCROUCH, dik) && Level().IsDemoPlay()) { @@ -41,7 +41,7 @@ bool UIGameMP::IR_UIOnKeyboardPress(SDL_Scancode dik) return inherited::IR_UIOnKeyboardPress(dik); } -bool UIGameMP::IR_UIOnKeyboardRelease(SDL_Scancode dik) { return inherited::IR_UIOnKeyboardRelease(dik); } +bool UIGameMP::IR_UIOnKeyboardRelease(int dik) { return inherited::IR_UIOnKeyboardRelease(dik); } /* bool UIGameMP::IsMapDescShown() { diff --git a/src/xrGame/UIGameMP.h b/src/xrGame/UIGameMP.h index cb1882f3175..2d383f45dd4 100644 --- a/src/xrGame/UIGameMP.h +++ b/src/xrGame/UIGameMP.h @@ -26,8 +26,8 @@ class UIGameMP : public CUIGameCustom bool IsServerInfoShown(); bool ShowServerInfo(); // shows only if it has some info ... - virtual bool IR_UIOnKeyboardPress(SDL_Scancode dik); - virtual bool IR_UIOnKeyboardRelease(SDL_Scancode dik); + virtual bool IR_UIOnKeyboardPress(int dik); + virtual bool IR_UIOnKeyboardRelease(int dik); virtual void SetClGame(game_cl_GameState* g); protected: diff --git a/src/xrGame/UIGameSP.cpp b/src/xrGame/UIGameSP.cpp index b5408c35324..e5ecfe97da2 100644 --- a/src/xrGame/UIGameSP.cpp +++ b/src/xrGame/UIGameSP.cpp @@ -85,7 +85,7 @@ void CUIGameSP::OnFrame() } } -bool CUIGameSP::IR_UIOnKeyboardPress(SDL_Scancode dik) +bool CUIGameSP::IR_UIOnKeyboardPress(int dik) { if (inherited::IR_UIOnKeyboardPress(dik)) return true; @@ -275,7 +275,7 @@ void CChangeLevelWnd::OnCancel() Actor()->MoveActor(m_position_cancel, m_angles_cancel); } -bool CChangeLevelWnd::OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action) +bool CChangeLevelWnd::OnKeyboardAction(int dik, EUIMessages keyboard_action) { if (keyboard_action == WINDOW_KEY_PRESSED) { diff --git a/src/xrGame/UIGameSP.h b/src/xrGame/UIGameSP.h index cac4ccd859f..c9e98cf651f 100644 --- a/src/xrGame/UIGameSP.h +++ b/src/xrGame/UIGameSP.h @@ -24,7 +24,7 @@ class CUIGameSP : public CUIGameCustom virtual ~CUIGameSP(); virtual void SetClGame(game_cl_GameState* g); - virtual bool IR_UIOnKeyboardPress(SDL_Scancode dik); + virtual bool IR_UIOnKeyboardPress(int dik); virtual void OnFrame(); void StartTalk(bool disable_break); @@ -69,5 +69,5 @@ class CChangeLevelWnd : public CUIDialogWnd virtual bool WorkInPause() const { return true; } virtual void Show(bool status); virtual void Hide(); - virtual bool OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action); + virtual bool OnKeyboardAction(int dik, EUIMessages keyboard_action); }; diff --git a/src/xrGame/UIGameTDM.cpp b/src/xrGame/UIGameTDM.cpp index 370241a143c..331059bd725 100644 --- a/src/xrGame/UIGameTDM.cpp +++ b/src/xrGame/UIGameTDM.cpp @@ -77,7 +77,7 @@ void CUIGameTDM::UnLoad() } CUIGameTDM::~CUIGameTDM() {} -bool CUIGameTDM::IR_UIOnKeyboardPress(SDL_Scancode dik) +bool CUIGameTDM::IR_UIOnKeyboardPress(int dik) { switch (dik) { @@ -97,7 +97,7 @@ bool CUIGameTDM::IR_UIOnKeyboardPress(SDL_Scancode dik) return inherited::IR_UIOnKeyboardPress(dik); } -bool CUIGameTDM::IR_UIOnKeyboardRelease(SDL_Scancode dik) +bool CUIGameTDM::IR_UIOnKeyboardRelease(int dik) { switch (dik) { diff --git a/src/xrGame/UIGameTDM.h b/src/xrGame/UIGameTDM.h index 9d292eb7849..69f087aac39 100644 --- a/src/xrGame/UIGameTDM.h +++ b/src/xrGame/UIGameTDM.h @@ -44,6 +44,6 @@ class CUIGameTDM : public CUIGameDM virtual void Render(); virtual void OnFrame(); - virtual bool IR_UIOnKeyboardPress(SDL_Scancode dik); - virtual bool IR_UIOnKeyboardRelease(SDL_Scancode dik); + virtual bool IR_UIOnKeyboardPress(int dik); + virtual bool IR_UIOnKeyboardRelease(int dik); }; diff --git a/src/xrGame/key_binding_registrator_script.cpp b/src/xrGame/key_binding_registrator_script.cpp index 3bf4f5e8848..5f2e71f67bc 100644 --- a/src/xrGame/key_binding_registrator_script.cpp +++ b/src/xrGame/key_binding_registrator_script.cpp @@ -5,83 +5,193 @@ using namespace luabind; -static int dik_to_bind(SDL_Scancode dik) { return get_binded_action(dik); } -SCRIPT_EXPORT(KeyBindings, (), { - class EnumGameActions - { - }; - class KeyBindingRegistrator - { - }; - module(luaState)[def("dik_to_bind", &dik_to_bind), +static int dik_to_bind(int dik) { return get_binded_action(dik); } +SCRIPT_EXPORT(KeyBindings, (), +{ + class EnumGameActions {}; + class KeyBindingRegistrator {}; + + module(luaState) + [ + def("dik_to_bind", &dik_to_bind), class_("key_bindings") - .enum_("commands")[value("kFWD", int(kFWD)), value("kBACK", int(kBACK)), value("kL_STRAFE", int(kL_STRAFE)), - value("kR_STRAFE", int(kR_STRAFE)), value("kL_LOOKOUT", int(kL_LOOKOUT)), - value("kR_LOOKOUT", int(kR_LOOKOUT)), value("kLEFT", int(kLEFT)), value("kRIGHT", int(kRIGHT)), - value("kUP", int(kUP)), value("kDOWN", int(kDOWN)), value("kJUMP", int(kJUMP)), - value("kCROUCH", int(kCROUCH)), value("kACCEL", int(kACCEL)), value("kCAM_1", int(kCAM_1)), - value("kCAM_2", int(kCAM_2)), value("kCAM_3", int(kCAM_3)), value("kCAM_ZOOM_IN", int(kCAM_ZOOM_IN)), - value("kCAM_ZOOM_OUT", int(kCAM_ZOOM_OUT)), value("kTORCH", int(kTORCH)), - value("kNIGHT_VISION", int(kNIGHT_VISION)), value("kWPN_1", int(kWPN_1)), value("kWPN_2", int(kWPN_2)), - value("kWPN_3", int(kWPN_3)), value("kWPN_4", int(kWPN_4)), value("kWPN_5", int(kWPN_5)), - value("kWPN_6", int(kWPN_6)), value("kWPN_NEXT", int(kWPN_NEXT)), value("kWPN_FIRE", int(kWPN_FIRE)), - value("kWPN_RELOAD", int(kWPN_RELOAD)), value("kWPN_ZOOM", int(kWPN_ZOOM)), - value("kWPN_FUNC", int(kWPN_FUNC)), value("kUSE", int(kUSE)), value("kDROP", int(kDROP)), - value("kSCORES", int(kSCORES)), value("kCHAT", int(kCHAT)), value("kSCREENSHOT", int(kSCREENSHOT)), - value("kQUIT", int(kQUIT)), value("kCONSOLE", int(kCONSOLE)), value("kINVENTORY", int(kINVENTORY)), - value("kBUY", int(kBUY)), value("kSKIN", int(kSKIN)), value("kTEAM", int(kTEAM))], + .enum_("commands") + [ + value("kFWD", int(kFWD)), + value("kBACK", int(kBACK)), + value("kL_STRAFE", int(kL_STRAFE)), + value("kR_STRAFE", int(kR_STRAFE)), + value("kL_LOOKOUT", int(kL_LOOKOUT)), + value("kR_LOOKOUT", int(kR_LOOKOUT)), + value("kLEFT", int(kLEFT)), + value("kRIGHT", int(kRIGHT)), + value("kUP", int(kUP)), + value("kDOWN", int(kDOWN)), + value("kJUMP", int(kJUMP)), + value("kCROUCH", int(kCROUCH)), + value("kACCEL", int(kACCEL)), + value("kCAM_1", int(kCAM_1)), + value("kCAM_2", int(kCAM_2)), + value("kCAM_3", int(kCAM_3)), + value("kCAM_ZOOM_IN", int(kCAM_ZOOM_IN)), + value("kCAM_ZOOM_OUT", int(kCAM_ZOOM_OUT)), + value("kTORCH", int(kTORCH)), + value("kNIGHT_VISION", int(kNIGHT_VISION)), + value("kWPN_1", int(kWPN_1)), + value("kWPN_2", int(kWPN_2)), + value("kWPN_3", int(kWPN_3)), + value("kWPN_4", int(kWPN_4)), + value("kWPN_5", int(kWPN_5)), + value("kWPN_6", int(kWPN_6)), + value("kWPN_NEXT", int(kWPN_NEXT)), + value("kWPN_FIRE", int(kWPN_FIRE)), + value("kWPN_RELOAD", int(kWPN_RELOAD)), + value("kWPN_ZOOM", int(kWPN_ZOOM)), + value("kWPN_FUNC", int(kWPN_FUNC)), + value("kUSE", int(kUSE)), + value("kDROP", int(kDROP)), + value("kSCORES", int(kSCORES)), + value("kCHAT", int(kCHAT)), + value("kSCREENSHOT", int(kSCREENSHOT)), + value("kQUIT", int(kQUIT)), + value("kCONSOLE", int(kCONSOLE)), + value("kINVENTORY", int(kINVENTORY)), + value("kBUY", int(kBUY)), + value("kSKIN", int(kSKIN)), + value("kTEAM", int(kTEAM)) + ], + class_("DIK_keys") - .enum_("dik_keys")[value("DIK_ESCAPE", int(DIK_ESCAPE)), value("DIK_2", int(DIK_2)), - value("DIK_4", int(DIK_4)), value("DIK_6", int(DIK_6)), value("DIK_8", int(DIK_8)), - value("DIK_0", int(DIK_0)), value("DIK_EQUALS", int(DIK_EQUALS)), value("DIK_TAB", int(DIK_TAB)), - value("DIK_W", int(DIK_W)), value("DIK_R", int(DIK_R)), value("DIK_Y", int(DIK_Y)), - value("DIK_I", int(DIK_I)), value("DIK_P", int(DIK_P)), value("DIK_RBRACKET", int(DIK_RBRACKET)), - value("DIK_LCONTROL", int(DIK_LCONTROL)), value("DIK_S", int(DIK_S)), value("DIK_F", int(DIK_F)), - value("DIK_H", int(DIK_H)), value("DIK_K", int(DIK_K)), value("DIK_SEMICOLON", int(DIK_SEMICOLON)), - value("DIK_GRAVE", int(DIK_GRAVE)), value("DIK_BACKSLASH", int(DIK_BACKSLASH)), - value("DIK_X", int(DIK_X)), value("DIK_V", int(DIK_V)), value("DIK_N", int(DIK_N)), - value("DIK_COMMA", int(DIK_COMMA)), value("DIK_SLASH", int(DIK_SLASH)), - value("DIK_MULTIPLY", int(DIK_MULTIPLY)), value("DIK_SPACE", int(DIK_SPACE)), - value("DIK_F1", int(DIK_F1)), value("DIK_F3", int(DIK_F3)), value("DIK_F5", int(DIK_F5)), - value("DIK_F7", int(DIK_F7)), value("DIK_F9", int(DIK_F9)), value("DIK_NUMLOCK", int(DIK_NUMLOCK)), - value("DIK_NUMPAD7", int(DIK_NUMPAD7)), value("DIK_NUMPAD9", int(DIK_NUMPAD9)), - value("DIK_NUMPAD4", int(DIK_NUMPAD4)), value("DIK_NUMPAD6", int(DIK_NUMPAD6)), - value("DIK_NUMPAD1", int(DIK_NUMPAD1)), value("DIK_NUMPAD3", int(DIK_NUMPAD3)), - value("DIK_DECIMAL", int(DIK_DECIMAL)), value("DIK_F12", int(DIK_F12)), value("DIK_F14", int(DIK_F14)), - value("DIK_KANA", int(DIK_KANA)), value("DIK_NOCONVERT", int(DIK_NOCONVERT)), - value("DIK_NUMPADEQUALS", int(DIK_NUMPADEQUALS)), value("DIK_AT", int(DIK_AT)), - value("DIK_UNDERLINE", int(DIK_UNDERLINE)), value("DIK_STOP", int(DIK_STOP)), - value("DIK_UNLABELED", int(DIK_UNLABELED)), value("DIK_RCONTROL", int(DIK_RCONTROL)), - value("DIK_DIVIDE", int(DIK_DIVIDE)), value("DIK_RMENU", int(DIK_RMENU)), value("DIK_UP", int(DIK_UP)), - value("DIK_LEFT", int(DIK_LEFT)), value("DIK_END", int(DIK_END)), value("DIK_NEXT", int(DIK_NEXT)), - value("DIK_DELETE", int(DIK_DELETE)), value("DIK_RWIN", int(DIK_RWIN)), - value("DIK_PAUSE", int(DIK_PAUSE)), value("MOUSE_2", int(MOUSE_2)), value("DIK_1", int(DIK_1)), - value("DIK_3", int(DIK_3)), value("DIK_5", int(DIK_5)), value("DIK_7", int(DIK_7)), - value("DIK_9", int(DIK_9)), value("DIK_MINUS", int(DIK_MINUS)), value("DIK_BACK", int(DIK_BACK)), - value("DIK_Q", int(DIK_Q)), value("DIK_E", int(DIK_E)), value("DIK_T", int(DIK_T)), - value("DIK_U", int(DIK_U)), value("DIK_O", int(DIK_O)), value("DIK_LBRACKET", int(DIK_LBRACKET)), - value("DIK_RETURN", int(DIK_RETURN)), value("DIK_A", int(DIK_A)), value("DIK_D", int(DIK_D)), - value("DIK_G", int(DIK_G)), value("DIK_J", int(DIK_J)), value("DIK_L", int(DIK_L)), - value("DIK_APOSTROPHE", int(DIK_APOSTROPHE)), value("DIK_LSHIFT", int(DIK_LSHIFT)), - value("DIK_Z", int(DIK_Z)), value("DIK_C", int(DIK_C)), value("DIK_B", int(DIK_B)), - value("DIK_M", int(DIK_M)), value("DIK_PERIOD", int(DIK_PERIOD)), value("DIK_RSHIFT", int(DIK_RSHIFT)), - value("DIK_LMENU", int(DIK_LMENU)), value("DIK_CAPITAL", int(DIK_CAPITAL)), - value("DIK_F2", int(DIK_F2)), value("DIK_F4", int(DIK_F4)), value("DIK_F6", int(DIK_F6)), - value("DIK_F8", int(DIK_F8)), value("DIK_F10", int(DIK_F10)), value("DIK_SCROLL", int(DIK_SCROLL)), - value("DIK_NUMPAD8", int(DIK_NUMPAD8)), value("DIK_SUBTRACT", int(DIK_SUBTRACT)), - value("DIK_NUMPAD5", int(DIK_NUMPAD5)), value("DIK_ADD", int(DIK_ADD)), - value("DIK_NUMPAD2", int(DIK_NUMPAD2)), value("DIK_NUMPAD0", int(DIK_NUMPAD0)), - value("DIK_F11", int(DIK_F11)), value("DIK_F13", int(DIK_F13)), value("DIK_F15", int(DIK_F15)), - value("DIK_CONVERT", int(DIK_CONVERT)), value("DIK_YEN", int(DIK_YEN)), - value("DIK_CIRCUMFLEX", int(DIK_CIRCUMFLEX)), value("DIK_COLON", int(DIK_COLON)), - value("DIK_KANJI", int(DIK_KANJI)), value("DIK_AX", int(DIK_AX)), - value("DIK_NUMPADENTER", int(DIK_NUMPADENTER)), value("DIK_NUMPADCOMMA", int(DIK_NUMPADCOMMA)), - value("DIK_SYSRQ", int(DIK_SYSRQ)), value("DIK_HOME", int(DIK_HOME)), - value("DIK_PRIOR", int(DIK_PRIOR)), value("DIK_RIGHT", int(DIK_RIGHT)), - value("DIK_DOWN", int(DIK_DOWN)), value("DIK_INSERT", int(DIK_INSERT)), - value("DIK_LWIN", int(DIK_LWIN)), value("DIK_APPS", int(DIK_APPS)), - value("MOUSE_1", int(MOUSE_1)), value("MOUSE_2", int(MOUSE_2)), - value("MOUSE_3", int(MOUSE_3)), value("MOUSE_4", int(MOUSE_4)), value("MOUSE_5", int(MOUSE_5)), + .enum_("dik_keys") + [ + value("DIK_ESCAPE", int(DIK_ESCAPE)), + value("DIK_2", int(DIK_2)), + value("DIK_4", int(DIK_4)), + value("DIK_6", int(DIK_6)), + value("DIK_8", int(DIK_8)), + value("DIK_0", int(DIK_0)), + value("DIK_EQUALS", int(DIK_EQUALS)), + value("DIK_TAB", int(DIK_TAB)), + value("DIK_W", int(DIK_W)), + value("DIK_R", int(DIK_R)), + value("DIK_Y", int(DIK_Y)), + value("DIK_I", int(DIK_I)), + value("DIK_P", int(DIK_P)), + value("DIK_RBRACKET", int(DIK_RBRACKET)), + value("DIK_LCONTROL", int(DIK_LCONTROL)), + value("DIK_S", int(DIK_S)), + value("DIK_F", int(DIK_F)), + value("DIK_H", int(DIK_H)), + value("DIK_K", int(DIK_K)), + value("DIK_SEMICOLON", int(DIK_SEMICOLON)), + value("DIK_GRAVE", int(DIK_GRAVE)), + value("DIK_BACKSLASH", int(DIK_BACKSLASH)), + value("DIK_X", int(DIK_X)), + value("DIK_V", int(DIK_V)), + value("DIK_N", int(DIK_N)), + value("DIK_COMMA", int(DIK_COMMA)), + value("DIK_SLASH", int(DIK_SLASH)), + value("DIK_MULTIPLY", int(DIK_MULTIPLY)), + value("DIK_SPACE", int(DIK_SPACE)), + value("DIK_F1", int(DIK_F1)), + value("DIK_F3", int(DIK_F3)), + value("DIK_F5", int(DIK_F5)), + value("DIK_F7", int(DIK_F7)), + value("DIK_F9", int(DIK_F9)), + value("DIK_NUMLOCK", int(DIK_NUMLOCK)), + value("DIK_NUMPAD7", int(DIK_NUMPAD7)), + value("DIK_NUMPAD9", int(DIK_NUMPAD9)), + value("DIK_NUMPAD4", int(DIK_NUMPAD4)), + value("DIK_NUMPAD6", int(DIK_NUMPAD6)), + value("DIK_NUMPAD1", int(DIK_NUMPAD1)), + value("DIK_NUMPAD3", int(DIK_NUMPAD3)), + value("DIK_DECIMAL", int(DIK_DECIMAL)), + value("DIK_F12", int(DIK_F12)), + value("DIK_F14", int(DIK_F14)), + value("DIK_KANA", int(DIK_KANA)), + value("DIK_NOCONVERT", int(DIK_NOCONVERT)), + value("DIK_NUMPADEQUALS", int(DIK_NUMPADEQUALS)), + value("DIK_AT", int(DIK_AT)), + value("DIK_UNDERLINE", int(DIK_UNDERLINE)), + value("DIK_STOP", int(DIK_STOP)), + value("DIK_UNLABELED", int(DIK_UNLABELED)), + value("DIK_RCONTROL", int(DIK_RCONTROL)), + value("DIK_DIVIDE", int(DIK_DIVIDE)), + value("DIK_RMENU", int(DIK_RMENU)), + value("DIK_UP", int(DIK_UP)), + value("DIK_LEFT", int(DIK_LEFT)), + value("DIK_END", int(DIK_END)), + value("DIK_NEXT", int(DIK_NEXT)), + value("DIK_DELETE", int(DIK_DELETE)), + value("DIK_RWIN", int(DIK_RWIN)), + value("DIK_PAUSE", int(DIK_PAUSE)), + value("MOUSE_2", int(MOUSE_2)), + value("DIK_1", int(DIK_1)), + value("DIK_3", int(DIK_3)), + value("DIK_5", int(DIK_5)), + value("DIK_7", int(DIK_7)), + value("DIK_9", int(DIK_9)), + value("DIK_MINUS", int(DIK_MINUS)), + value("DIK_BACK", int(DIK_BACK)), + value("DIK_Q", int(DIK_Q)), + value("DIK_E", int(DIK_E)), + value("DIK_T", int(DIK_T)), + value("DIK_U", int(DIK_U)), + value("DIK_O", int(DIK_O)), + value("DIK_LBRACKET", int(DIK_LBRACKET)), + value("DIK_RETURN", int(DIK_RETURN)), + value("DIK_A", int(DIK_A)), + value("DIK_D", int(DIK_D)), + value("DIK_G", int(DIK_G)), + value("DIK_J", int(DIK_J)), + value("DIK_L", int(DIK_L)), + value("DIK_APOSTROPHE", int(DIK_APOSTROPHE)), + value("DIK_LSHIFT", int(DIK_LSHIFT)), + value("DIK_Z", int(DIK_Z)), + value("DIK_C", int(DIK_C)), + value("DIK_B", int(DIK_B)), + value("DIK_M", int(DIK_M)), + value("DIK_PERIOD", int(DIK_PERIOD)), + value("DIK_RSHIFT", int(DIK_RSHIFT)), + value("DIK_LMENU", int(DIK_LMENU)), + value("DIK_CAPITAL", int(DIK_CAPITAL)), + value("DIK_F2", int(DIK_F2)), + value("DIK_F4", int(DIK_F4)), + value("DIK_F6", int(DIK_F6)), + value("DIK_F8", int(DIK_F8)), + value("DIK_F10", int(DIK_F10)), + value("DIK_SCROLL", int(DIK_SCROLL)), + value("DIK_NUMPAD8", int(DIK_NUMPAD8)), + value("DIK_SUBTRACT", int(DIK_SUBTRACT)), + value("DIK_NUMPAD5", int(DIK_NUMPAD5)), + value("DIK_ADD", int(DIK_ADD)), + value("DIK_NUMPAD2", int(DIK_NUMPAD2)), + value("DIK_NUMPAD0", int(DIK_NUMPAD0)), + value("DIK_F11", int(DIK_F11)), + value("DIK_F13", int(DIK_F13)), + value("DIK_F15", int(DIK_F15)), + value("DIK_CONVERT", int(DIK_CONVERT)), + value("DIK_YEN", int(DIK_YEN)), + value("DIK_CIRCUMFLEX", int(DIK_CIRCUMFLEX)), + value("DIK_COLON", int(DIK_COLON)), + value("DIK_KANJI", int(DIK_KANJI)), + value("DIK_AX", int(DIK_AX)), + value("DIK_NUMPADENTER", int(DIK_NUMPADENTER)), + value("DIK_NUMPADCOMMA", int(DIK_NUMPADCOMMA)), + value("DIK_SYSRQ", int(DIK_SYSRQ)), + value("DIK_HOME", int(DIK_HOME)), + value("DIK_PRIOR", int(DIK_PRIOR)), + value("DIK_RIGHT", int(DIK_RIGHT)), + value("DIK_DOWN", int(DIK_DOWN)), + value("DIK_INSERT", int(DIK_INSERT)), + value("DIK_LWIN", int(DIK_LWIN)), + value("DIK_APPS", int(DIK_APPS)), + value("MOUSE_1", int(MOUSE_1)), + value("MOUSE_2", int(MOUSE_2)), + value("MOUSE_3", int(MOUSE_3)), + value("MOUSE_4", int(MOUSE_4)), + value("MOUSE_5", int(MOUSE_5)), value("DIK_RETURN", int(DIK_RETURN)), - value("DIK_NUMPADENTER", int(DIK_NUMPADENTER))]]; + value("DIK_NUMPADENTER", int(DIK_NUMPADENTER))] + ]; }); diff --git a/src/xrGame/ui/ChangeWeatherDialog.cpp b/src/xrGame/ui/ChangeWeatherDialog.cpp index 7242a8970dc..44e7f824ebc 100644 --- a/src/xrGame/ui/ChangeWeatherDialog.cpp +++ b/src/xrGame/ui/ChangeWeatherDialog.cpp @@ -40,7 +40,7 @@ void ButtonListDialog::Initialize(int buttonCount) void ButtonListDialog::OnCancel() { HideDialog(); } const ButtonListDialog::NamedButton& ButtonListDialog::GetButton(int i) const { return buttons[i]; } -bool ButtonListDialog::OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboardAction) +bool ButtonListDialog::OnKeyboardAction(int dik, EUIMessages keyboardAction) { CUIDialogWnd::OnKeyboardAction(dik, keyboardAction); if (WINDOW_KEY_PRESSED == keyboardAction) diff --git a/src/xrGame/ui/ChangeWeatherDialog.hpp b/src/xrGame/ui/ChangeWeatherDialog.hpp index 3a65a3b0b22..6909b5e26e0 100644 --- a/src/xrGame/ui/ChangeWeatherDialog.hpp +++ b/src/xrGame/ui/ChangeWeatherDialog.hpp @@ -31,7 +31,7 @@ class ButtonListDialog : public CUIDialogWnd void Initialize(int buttonCount); const NamedButton& GetButton(int i) const; // CUIDialogWnd - virtual bool OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboardAction) override; + virtual bool OnKeyboardAction(int dik, EUIMessages keyboardAction) override; // ~CUIDialogWnd // CUIWindow virtual void SendMessage(CUIWindow* wnd, s16 msg, void* data = nullptr) override; diff --git a/src/xrGame/ui/UIActorMenu.h b/src/xrGame/ui/UIActorMenu.h index 50d83a2ed4a..bc4a16b422b 100644 --- a/src/xrGame/ui/UIActorMenu.h +++ b/src/xrGame/ui/UIActorMenu.h @@ -333,7 +333,7 @@ class CUIActorMenu : public CUIDialogWnd, public CUIWndCallback virtual void Update(); virtual void Show(bool status); - virtual bool OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action); + virtual bool OnKeyboardAction(int dik, EUIMessages keyboard_action); virtual bool OnMouseAction(float x, float y, EUIMessages mouse_action); void CallMessageBoxYesNo(LPCSTR text); diff --git a/src/xrGame/ui/UIActorMenu_action.cpp b/src/xrGame/ui/UIActorMenu_action.cpp index e4aac3f31be..05b3473facb 100644 --- a/src/xrGame/ui/UIActorMenu_action.cpp +++ b/src/xrGame/ui/UIActorMenu_action.cpp @@ -309,7 +309,7 @@ bool CUIActorMenu::OnMouseAction(float x, float y, EUIMessages mouse_action) return true; // no click`s } -bool CUIActorMenu::OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action) +bool CUIActorMenu::OnKeyboardAction(int dik, EUIMessages keyboard_action) { InfoCurItem(NULL); if (is_binded(kDROP, dik)) diff --git a/src/xrGame/ui/UIButton.cpp b/src/xrGame/ui/UIButton.cpp index cfc45c97c24..66e567c53f4 100644 --- a/src/xrGame/ui/UIButton.cpp +++ b/src/xrGame/ui/UIButton.cpp @@ -184,7 +184,7 @@ void CUIButton::OnFocusLost() g_btnHint->Discard(); } -bool CUIButton::OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action) +bool CUIButton::OnKeyboardAction(int dik, EUIMessages keyboard_action) { if (WINDOW_KEY_PRESSED == keyboard_action) { @@ -214,8 +214,8 @@ bool CUIButton::IsAccelerator(int iAccel) const bool res = GetAccelerator(0) == iAccel || GetAccelerator(1) == iAccel; if (!res) { - res = ((m_uAccelerator[2] != -1) ? is_binded((EGameActions)GetAccelerator(2), (SDL_Scancode) iAccel) : false) || - ((m_uAccelerator[3] != -1) ? is_binded((EGameActions)GetAccelerator(3), (SDL_Scancode) iAccel) : false); + res = ((m_uAccelerator[2] != -1) ? is_binded((EGameActions)GetAccelerator(2), iAccel) : false) || + ((m_uAccelerator[3] != -1) ? is_binded((EGameActions)GetAccelerator(3), iAccel) : false); } return res; } diff --git a/src/xrGame/ui/UIButton.h b/src/xrGame/ui/UIButton.h index 6eb9d4d7bd9..8179b9efb66 100644 --- a/src/xrGame/ui/UIButton.h +++ b/src/xrGame/ui/UIButton.h @@ -20,7 +20,7 @@ class CUIButton : public CUIStatic virtual void Update(); virtual void Enable(bool status); - virtual bool OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action); + virtual bool OnKeyboardAction(int dik, EUIMessages keyboard_action); virtual void OnFocusLost(); //состояния в которых находится кнопка diff --git a/src/xrGame/ui/UICellItem.cpp b/src/xrGame/ui/UICellItem.cpp index 02f50e73908..1c86ec02490 100644 --- a/src/xrGame/ui/UICellItem.cpp +++ b/src/xrGame/ui/UICellItem.cpp @@ -157,7 +157,7 @@ bool CUICellItem::OnMouseAction(float x, float y, EUIMessages mouse_action) return false; }; -bool CUICellItem::OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action) +bool CUICellItem::OnKeyboardAction(int dik, EUIMessages keyboard_action) { if (WINDOW_KEY_PRESSED == keyboard_action) { diff --git a/src/xrGame/ui/UICellItem.h b/src/xrGame/ui/UICellItem.h index 4c612ac5c91..b2f1fc7a6b1 100644 --- a/src/xrGame/ui/UICellItem.h +++ b/src/xrGame/ui/UICellItem.h @@ -46,7 +46,7 @@ class CUICellItem : public CUIStatic CUICellItem(); virtual ~CUICellItem(); - virtual bool OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action); + virtual bool OnKeyboardAction(int dik, EUIMessages keyboard_action); virtual bool OnMouseAction(float x, float y, EUIMessages mouse_action); virtual void Draw(); virtual void Update(); diff --git a/src/xrGame/ui/UIChangeMap.cpp b/src/xrGame/ui/UIChangeMap.cpp index 11b7a66f750..5efae44013c 100644 --- a/src/xrGame/ui/UIChangeMap.cpp +++ b/src/xrGame/ui/UIChangeMap.cpp @@ -77,7 +77,7 @@ void CUIChangeMap::InitChangeMap(CUIXml& xml_doc) FillUpList(); } -bool CUIChangeMap::OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action) +bool CUIChangeMap::OnKeyboardAction(int dik, EUIMessages keyboard_action) { if (dik == SDL_SCANCODE_ESCAPE) { diff --git a/src/xrGame/ui/UIChangeMap.h b/src/xrGame/ui/UIChangeMap.h index 8351e19c1cf..d01d811b149 100644 --- a/src/xrGame/ui/UIChangeMap.h +++ b/src/xrGame/ui/UIChangeMap.h @@ -16,7 +16,7 @@ class CUIChangeMap : public CUIDialogWnd ~CUIChangeMap(); void InitChangeMap(CUIXml& xml_doc); - virtual bool OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action); + virtual bool OnKeyboardAction(int dik, EUIMessages keyboard_action); virtual void SendMessage(CUIWindow* pWnd, s16 msg, void* pData = 0); void OnBtnOk(); diff --git a/src/xrGame/ui/UICustomEdit.cpp b/src/xrGame/ui/UICustomEdit.cpp index eb483718da6..6008c24a73e 100644 --- a/src/xrGame/ui/UICustomEdit.cpp +++ b/src/xrGame/ui/UICustomEdit.cpp @@ -116,7 +116,7 @@ bool CUICustomEdit::OnMouseAction(float x, float y, EUIMessages mouse_action) return false; } -bool CUICustomEdit::OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action) +bool CUICustomEdit::OnKeyboardAction(int dik, EUIMessages keyboard_action) { if (!m_bInputFocus) { @@ -137,7 +137,7 @@ bool CUICustomEdit::OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_acti return false; } -bool CUICustomEdit::OnKeyboardHold(SDL_Scancode dik) +bool CUICustomEdit::OnKeyboardHold(int dik) { if (!m_bInputFocus) { diff --git a/src/xrGame/ui/UICustomEdit.h b/src/xrGame/ui/UICustomEdit.h index e23dab5a39d..4348bfaae20 100644 --- a/src/xrGame/ui/UICustomEdit.h +++ b/src/xrGame/ui/UICustomEdit.h @@ -24,8 +24,8 @@ class CUICustomEdit : public CUIStatic virtual void SendMessage(CUIWindow* pWnd, s16 msg, void* pData = NULL); virtual bool OnMouseAction(float x, float y, EUIMessages mouse_action); - virtual bool OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action); - virtual bool OnKeyboardHold(SDL_Scancode dik); + virtual bool OnKeyboardAction(int dik, EUIMessages keyboard_action); + virtual bool OnKeyboardHold(int dik); virtual void OnFocusLost(); virtual void Update(); diff --git a/src/xrGame/ui/UIDemoPlayControl.cpp b/src/xrGame/ui/UIDemoPlayControl.cpp index a555e50d40e..30f7ecf6710 100644 --- a/src/xrGame/ui/UIDemoPlayControl.cpp +++ b/src/xrGame/ui/UIDemoPlayControl.cpp @@ -172,7 +172,7 @@ void CUIDemoPlayControl::InitAllPlayers() m_all_players->Hide(); } -bool CUIDemoPlayControl::OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action) +bool CUIDemoPlayControl::OnKeyboardAction(int dik, EUIMessages keyboard_action) { if ((dik == SDL_SCANCODE_LCTRL) && (keyboard_action == WINDOW_KEY_RELEASED)) { diff --git a/src/xrGame/ui/UIDemoPlayControl.h b/src/xrGame/ui/UIDemoPlayControl.h index 3c90e827d1d..13d41d507ec 100644 --- a/src/xrGame/ui/UIDemoPlayControl.h +++ b/src/xrGame/ui/UIDemoPlayControl.h @@ -25,7 +25,7 @@ class CUIDemoPlayControl : public CUIDialogWnd, public CUIWndCallback virtual void SendMessage(CUIWindow* pWnd, s16 msg, void* pData = NULL); // virtual bool OnMouse (float x, float y, EUIMessages mouse_action); // virtual bool OnKeyboard (int dik, EUIMessages keyboard_action); - virtual bool OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action); + virtual bool OnKeyboardAction(int dik, EUIMessages keyboard_action); virtual bool WorkInPause() const { return true; } virtual void Update(); Fvector2 const& GetLastCursorPos() const { return m_last_curr_pos; }; diff --git a/src/xrGame/ui/UIDialogWnd.cpp b/src/xrGame/ui/UIDialogWnd.cpp index a83a596b14e..795c872feb8 100644 --- a/src/xrGame/ui/UIDialogWnd.cpp +++ b/src/xrGame/ui/UIDialogWnd.cpp @@ -17,14 +17,14 @@ void CUIDialogWnd::Show(bool status) ResetAll(); } -bool CUIDialogWnd::OnKeyboardHold(SDL_Scancode dik) +bool CUIDialogWnd::OnKeyboardHold(int dik) { if (!IR_process()) return false; return inherited::OnKeyboardHold(dik); } -bool CUIDialogWnd::OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action) +bool CUIDialogWnd::OnKeyboardAction(int dik, EUIMessages keyboard_action) { if (!IR_process()) return false; diff --git a/src/xrGame/ui/UIDialogWnd.h b/src/xrGame/ui/UIDialogWnd.h index 23e6c80876f..72436c52f87 100644 --- a/src/xrGame/ui/UIDialogWnd.h +++ b/src/xrGame/ui/UIDialogWnd.h @@ -18,8 +18,8 @@ class CUIDialogWnd : public CUIWindow virtual void Show(bool status); - virtual bool OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action); - virtual bool OnKeyboardHold(SDL_Scancode dik); + virtual bool OnKeyboardAction(int dik, EUIMessages keyboard_action); + virtual bool OnKeyboardHold(int dik); CDialogHolder* GetHolder() { return m_pParentHolder; }; void SetHolder(CDialogHolder* h) { m_pParentHolder = h; }; diff --git a/src/xrGame/ui/UIEditKeyBind.cpp b/src/xrGame/ui/UIEditKeyBind.cpp index 862fabee844..90503bbae99 100644 --- a/src/xrGame/ui/UIEditKeyBind.cpp +++ b/src/xrGame/ui/UIEditKeyBind.cpp @@ -101,7 +101,7 @@ bool CUIEditKeyBind::OnMouseDown(int mouse_btn) return CUIStatic::OnMouseDown(mouse_btn); } -bool CUIEditKeyBind::OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action) +bool CUIEditKeyBind::OnKeyboardAction(int dik, EUIMessages keyboard_action) { if (dik == MOUSE_1 || dik == MOUSE_2 || dik == MOUSE_3) return false; diff --git a/src/xrGame/ui/UIEditKeyBind.h b/src/xrGame/ui/UIEditKeyBind.h index 66490ae80c5..21e9f0df22e 100644 --- a/src/xrGame/ui/UIEditKeyBind.h +++ b/src/xrGame/ui/UIEditKeyBind.h @@ -34,7 +34,7 @@ class CUIEditKeyBind : public CUIStatic, public CUIOptionsItem virtual void Update(); virtual bool OnMouseDown(int mouse_btn); virtual void OnFocusLost(); - virtual bool OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action); + virtual bool OnKeyboardAction(int dik, EUIMessages keyboard_action); virtual void SetText(LPCSTR text); void SetEditMode(bool b); diff --git a/src/xrGame/ui/UIFixedScrollBar.cpp b/src/xrGame/ui/UIFixedScrollBar.cpp index 1fb3247b586..d7faf60a3bb 100644 --- a/src/xrGame/ui/UIFixedScrollBar.cpp +++ b/src/xrGame/ui/UIFixedScrollBar.cpp @@ -137,7 +137,7 @@ void CUIFixedScrollBar::ClampByViewRect() #include "UICursor.h" u32 last_hold_tm = 0; -bool CUIFixedScrollBar::OnKeyboardHold(SDL_Scancode dik) +bool CUIFixedScrollBar::OnKeyboardHold(int dik) { if (dik == MOUSE_1 && (last_hold_tm + m_hold_delay) < Device.dwTimeContinual) { diff --git a/src/xrGame/ui/UIFixedScrollBar.h b/src/xrGame/ui/UIFixedScrollBar.h index 482761415d5..d38a6b0ff2a 100644 --- a/src/xrGame/ui/UIFixedScrollBar.h +++ b/src/xrGame/ui/UIFixedScrollBar.h @@ -30,5 +30,5 @@ class CUIFixedScrollBar : public CUIScrollBar virtual bool OnMouseDown(int mouse_btn); virtual bool OnMouseDownEx(); virtual void OnMouseUp(int mouse_btn); - virtual bool OnKeyboardHold(SDL_Scancode dik); + virtual bool OnKeyboardHold(int dik); }; diff --git a/src/xrGame/ui/UIGameTutorial.cpp b/src/xrGame/ui/UIGameTutorial.cpp index b54f5c1588c..b3aa13265c2 100644 --- a/src/xrGame/ui/UIGameTutorial.cpp +++ b/src/xrGame/ui/UIGameTutorial.cpp @@ -64,7 +64,7 @@ void CUISequenceItem::Load(CUIXml* xml, int idx) bool CUISequenceItem::AllowKey(int dik) { xr_vector::iterator it = - std::find(m_disabled_actions.begin(), m_disabled_actions.end(), get_binded_action((SDL_Scancode) dik)); + std::find(m_disabled_actions.begin(), m_disabled_actions.end(), get_binded_action(dik)); if (it == m_disabled_actions.end()) return true; else @@ -396,13 +396,13 @@ void CUISequencer::IR_OnMouseWheel(int x, int y) void CUISequencer::IR_OnKeyboardPress(int dik) { if (m_sequencer_items.size()) - m_sequencer_items.front()->OnKeyboardPress((SDL_Scancode) dik); + m_sequencer_items.front()->OnKeyboardPress(dik); bool b = true; if (m_sequencer_items.size()) b &= m_sequencer_items.front()->AllowKey(dik); - bool binded = is_binded(kQUIT, (SDL_Scancode) dik); + bool binded = is_binded(kQUIT, dik); if (b && binded) { Stop(); @@ -438,7 +438,7 @@ void CUISequencer::IR_OnActivate() { if (IR_GetKeyState(i)) { - EGameActions action = get_binded_action((SDL_Scancode) i); + EGameActions action = get_binded_action(i); switch (action) { case kFWD: diff --git a/src/xrGame/ui/UIGameTutorial.h b/src/xrGame/ui/UIGameTutorial.h index 733961b3129..d0bb13f0f70 100644 --- a/src/xrGame/ui/UIGameTutorial.h +++ b/src/xrGame/ui/UIGameTutorial.h @@ -99,7 +99,7 @@ class CUISequenceItem virtual void Update(); virtual void OnRender() = 0; - virtual void OnKeyboardPress(SDL_Scancode dik) = 0; + virtual void OnKeyboardPress(int dik) = 0; virtual void OnMousePress(int btn) = 0; virtual bool IsPlaying() = 0; @@ -152,7 +152,7 @@ class CUISequenceSimpleItem : public CUISequenceItem virtual void Update(); virtual void OnRender(); - virtual void OnKeyboardPress(SDL_Scancode dik); + virtual void OnKeyboardPress(int dik); virtual void OnMousePress(int btn); virtual bool IsPlaying(); @@ -189,7 +189,7 @@ class CUISequenceVideoItem : public CUISequenceItem virtual void Update(); virtual void OnRender(); - virtual void OnKeyboardPress(SDL_Scancode dik) {} + virtual void OnKeyboardPress(int dik) {} virtual void OnMousePress(int btn){}; virtual bool IsPlaying(); diff --git a/src/xrGame/ui/UIGameTutorialSimpleItem.cpp b/src/xrGame/ui/UIGameTutorialSimpleItem.cpp index 7906fb91d78..5d34ee69854 100644 --- a/src/xrGame/ui/UIGameTutorialSimpleItem.cpp +++ b/src/xrGame/ui/UIGameTutorialSimpleItem.cpp @@ -313,7 +313,7 @@ bool CUISequenceSimpleItem::Stop(bool bForce) return true; } -void CUISequenceSimpleItem::OnKeyboardPress(SDL_Scancode dik) +void CUISequenceSimpleItem::OnKeyboardPress(int dik) { if (!m_flags.test(etiCanBeStopped)) { @@ -356,5 +356,5 @@ void CUISequenceSimpleItem::OnMousePress(int btn) case 2: dik = MOUSE_3; break; default: return; } - OnKeyboardPress((SDL_Scancode) dik); + OnKeyboardPress(dik); } diff --git a/src/xrGame/ui/UIKickPlayer.cpp b/src/xrGame/ui/UIKickPlayer.cpp index 4cad30a38e6..fb079561ef9 100644 --- a/src/xrGame/ui/UIKickPlayer.cpp +++ b/src/xrGame/ui/UIKickPlayer.cpp @@ -83,7 +83,7 @@ void CUIKickPlayer::InitKick(CUIXml& xml_doc) m_ban_sec_label->Show(false); } -bool CUIKickPlayer::OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action) +bool CUIKickPlayer::OnKeyboardAction(int dik, EUIMessages keyboard_action) { if (dik == SDL_SCANCODE_ESCAPE) { diff --git a/src/xrGame/ui/UIKickPlayer.h b/src/xrGame/ui/UIKickPlayer.h index d7ad19e0e35..87311ef8513 100644 --- a/src/xrGame/ui/UIKickPlayer.h +++ b/src/xrGame/ui/UIKickPlayer.h @@ -18,7 +18,7 @@ class CUIKickPlayer : public CUIDialogWnd void InitKick(CUIXml& xml_doc); void InitBan(CUIXml& xml_doc); - virtual bool OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action); + virtual bool OnKeyboardAction(int dik, EUIMessages keyboard_action); virtual void SendMessage(CUIWindow* pWnd, s16 msg, void* pData = 0); virtual void Update(); diff --git a/src/xrGame/ui/UILogsWnd.cpp b/src/xrGame/ui/UILogsWnd.cpp index 687e62abcce..dc8884e459c 100644 --- a/src/xrGame/ui/UILogsWnd.cpp +++ b/src/xrGame/ui/UILogsWnd.cpp @@ -303,7 +303,7 @@ ALife::_TIME_ID CUILogsWnd::GetShiftPeriod(ALife::_TIME_ID datetime, int shift_d return datetime; } -bool CUILogsWnd::OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action) +bool CUILogsWnd::OnKeyboardAction(int dik, EUIMessages keyboard_action) { if (keyboard_action == WINDOW_KEY_PRESSED) { @@ -331,7 +331,7 @@ bool CUILogsWnd::OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action) return inherited::OnKeyboardAction(dik, keyboard_action); } -bool CUILogsWnd::OnKeyboardHold(SDL_Scancode dik) +bool CUILogsWnd::OnKeyboardHold(int dik) { switch (dik) { diff --git a/src/xrGame/ui/UILogsWnd.h b/src/xrGame/ui/UILogsWnd.h index b18b3db922a..c3b58f166f2 100644 --- a/src/xrGame/ui/UILogsWnd.h +++ b/src/xrGame/ui/UILogsWnd.h @@ -77,8 +77,8 @@ class CUILogsWnd : public CUIWindow, public CUIWndCallback virtual void Update(); virtual void SendMessage(CUIWindow* pWnd, s16 msg, void* pData); - virtual bool OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action); - virtual bool OnKeyboardHold(SDL_Scancode dik); + virtual bool OnKeyboardAction(int dik, EUIMessages keyboard_action); + virtual bool OnKeyboardHold(int dik); IC void UpdateNews() { m_need_reload = true; } void xr_stdcall PerformWork(); diff --git a/src/xrGame/ui/UIMMShniaga.cpp b/src/xrGame/ui/UIMMShniaga.cpp index d09f34d0813..0aef3bed277 100644 --- a/src/xrGame/ui/UIMMShniaga.cpp +++ b/src/xrGame/ui/UIMMShniaga.cpp @@ -337,7 +337,7 @@ void CUIMMShniaga::OnBtnClick() GetMessageTarget()->SendMessage(m_selected, BUTTON_CLICKED); } -bool CUIMMShniaga::OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action) +bool CUIMMShniaga::OnKeyboardAction(int dik, EUIMessages keyboard_action) { if (WINDOW_KEY_PRESSED == keyboard_action) { diff --git a/src/xrGame/ui/UIMMShniaga.h b/src/xrGame/ui/UIMMShniaga.h index 54d887152b1..a85ee8bbc0f 100644 --- a/src/xrGame/ui/UIMMShniaga.h +++ b/src/xrGame/ui/UIMMShniaga.h @@ -19,7 +19,7 @@ class CUIMMShniaga : public CUIWindow, public CDeviceResetNotifier virtual void Draw(); virtual bool OnMouseAction(float x, float y, EUIMessages mouse_action); - virtual bool OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action); + virtual bool OnKeyboardAction(int dik, EUIMessages keyboard_action); virtual void SendMessage(CUIWindow* pWnd, s16 msg, void* pData = 0); void SetVisibleMagnifier(bool f); virtual void OnDeviceReset(); diff --git a/src/xrGame/ui/UIMPAdminMenu.cpp b/src/xrGame/ui/UIMPAdminMenu.cpp index fd9ecc90a34..980d1f95577 100644 --- a/src/xrGame/ui/UIMPAdminMenu.cpp +++ b/src/xrGame/ui/UIMPAdminMenu.cpp @@ -99,7 +99,7 @@ void CUIMpAdminMenu::SendMessage(CUIWindow* pWnd, s16 msg, void* pData) } }; } -bool CUIMpAdminMenu::OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action) +bool CUIMpAdminMenu::OnKeyboardAction(int dik, EUIMessages keyboard_action) { if (dik == SDL_SCANCODE_ESCAPE && keyboard_action == WINDOW_KEY_PRESSED) { diff --git a/src/xrGame/ui/UIMPAdminMenu.h b/src/xrGame/ui/UIMPAdminMenu.h index 417f06b8bed..3a5fdc1e8bf 100644 --- a/src/xrGame/ui/UIMPAdminMenu.h +++ b/src/xrGame/ui/UIMPAdminMenu.h @@ -37,7 +37,7 @@ class CUIMpAdminMenu : public CUIDialogWnd, public CUIWndCallback virtual ~CUIMpAdminMenu(); void Init(); virtual void SendMessage(CUIWindow* pWnd, s16 msg, void* pData = NULL); - virtual bool OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action); + virtual bool OnKeyboardAction(int dik, EUIMessages keyboard_action); void SetActiveSubdialog(const shared_str& section); void xr_stdcall RemoteAdminLogin(CUIWindow*, void*); void ShowMessageBox(CUIMessageBox::E_MESSAGEBOX_STYLE style, LPCSTR reason = ""); diff --git a/src/xrGame/ui/UIMapWnd.cpp b/src/xrGame/ui/UIMapWnd.cpp index 2ad7860aa1d..7408c19cdf6 100644 --- a/src/xrGame/ui/UIMapWnd.cpp +++ b/src/xrGame/ui/UIMapWnd.cpp @@ -360,7 +360,7 @@ void CUIMapWnd::DrawHint() } } -bool CUIMapWnd::OnKeyboardHold(SDL_Scancode dik) +bool CUIMapWnd::OnKeyboardHold(int dik) { switch (dik) { @@ -388,7 +388,7 @@ bool CUIMapWnd::OnKeyboardHold(SDL_Scancode dik) return inherited::OnKeyboardHold(dik); } -bool CUIMapWnd::OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action) +bool CUIMapWnd::OnKeyboardAction(int dik, EUIMessages keyboard_action) { switch (dik) { diff --git a/src/xrGame/ui/UIMapWnd.h b/src/xrGame/ui/UIMapWnd.h index a81b5afebb9..c8958f2eeb3 100644 --- a/src/xrGame/ui/UIMapWnd.h +++ b/src/xrGame/ui/UIMapWnd.h @@ -136,8 +136,8 @@ class CUIMapWnd : public CUIWindow, public CUIWndCallback void HideCurHint(); void Hint(const shared_str& text); virtual bool OnMouseAction(float x, float y, EUIMessages mouse_action); - virtual bool OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action); - virtual bool OnKeyboardHold(SDL_Scancode dik); + virtual bool OnKeyboardAction(int dik, EUIMessages keyboard_action); + virtual bool OnKeyboardHold(int dik); virtual void SendMessage(CUIWindow* pWnd, s16 msg, void* pData = NULL); diff --git a/src/xrGame/ui/UIMessageBoxEx.cpp b/src/xrGame/ui/UIMessageBoxEx.cpp index acbf48e5983..8f2a26dfc87 100644 --- a/src/xrGame/ui/UIMessageBoxEx.cpp +++ b/src/xrGame/ui/UIMessageBoxEx.cpp @@ -71,7 +71,7 @@ void CUIMessageBoxEx::SendMessage(CUIWindow* pWnd, s16 msg, void* pData /* = NUL LPCSTR CUIMessageBoxEx::GetHost() { return m_pMessageBox->GetHost(); } LPCSTR CUIMessageBoxEx::GetPassword() { return m_pMessageBox->GetPassword(); } -bool CUIMessageBoxEx::OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action) +bool CUIMessageBoxEx::OnKeyboardAction(int dik, EUIMessages keyboard_action) { if (keyboard_action == WINDOW_KEY_PRESSED) { diff --git a/src/xrGame/ui/UIMessageBoxEx.h b/src/xrGame/ui/UIMessageBoxEx.h index c2c4ff027ad..707bf7967d8 100644 --- a/src/xrGame/ui/UIMessageBoxEx.h +++ b/src/xrGame/ui/UIMessageBoxEx.h @@ -25,7 +25,7 @@ class CUIMessageBoxEx : public CUIDialogWnd, public CUIWndCallback void xr_stdcall OnOKClicked(CUIWindow*, void*); void xr_stdcall OnNOClicked(CUIWindow*, void*); - virtual bool OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action); + virtual bool OnKeyboardAction(int dik, EUIMessages keyboard_action); virtual bool NeedCenterCursor() const { return false; } CUIMessageBox* m_pMessageBox; }; diff --git a/src/xrGame/ui/UIMpTradeWnd.h b/src/xrGame/ui/UIMpTradeWnd.h index 79a6ce6d40b..ceeabe69812 100644 --- a/src/xrGame/ui/UIMpTradeWnd.h +++ b/src/xrGame/ui/UIMpTradeWnd.h @@ -95,7 +95,7 @@ class CUIMpTradeWnd : public IBuyWnd, public CUIWndCallback // virtual void Update(); - virtual bool OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action); + virtual bool OnKeyboardAction(int dik, EUIMessages keyboard_action); virtual void Init(const shared_str& sectionName, const shared_str& sectionPrice); virtual void BindDragDropListEvents(CUIDragDropListEx* lst, bool bDrag); diff --git a/src/xrGame/ui/UIMpTradeWnd_misc.cpp b/src/xrGame/ui/UIMpTradeWnd_misc.cpp index a62da258b28..02fe96f09f0 100644 --- a/src/xrGame/ui/UIMpTradeWnd_misc.cpp +++ b/src/xrGame/ui/UIMpTradeWnd_misc.cpp @@ -11,7 +11,7 @@ #include "Common/object_broker.h" #include "UICellCustomItems.h" -bool CUIMpTradeWnd::OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action) +bool CUIMpTradeWnd::OnKeyboardAction(int dik, EUIMessages keyboard_action) { #ifdef DEBUG // for debug only diff --git a/src/xrGame/ui/UIPdaWnd.cpp b/src/xrGame/ui/UIPdaWnd.cpp index b676f2f85ae..c20b9450832 100644 --- a/src/xrGame/ui/UIPdaWnd.cpp +++ b/src/xrGame/ui/UIPdaWnd.cpp @@ -323,7 +323,7 @@ void RearrangeTabButtons(CUITabControl* pTab) pTab->SetWndPos(pos); } -bool CUIPdaWnd::OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action) +bool CUIPdaWnd::OnKeyboardAction(int dik, EUIMessages keyboard_action) { if (is_binded(kACTIVE_JOBS, dik)) { diff --git a/src/xrGame/ui/UIPdaWnd.h b/src/xrGame/ui/UIPdaWnd.h index 26a7d583c5f..7b2e03ee7c2 100644 --- a/src/xrGame/ui/UIPdaWnd.h +++ b/src/xrGame/ui/UIPdaWnd.h @@ -65,7 +65,7 @@ class CUIPdaWnd : public CUIDialogWnd CUIDialogWnd::OnMouseAction(x, y, mouse_action); return true; } // always true because StopAnyMove() == false - virtual bool OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action); + virtual bool OnKeyboardAction(int dik, EUIMessages keyboard_action); UIHint* get_hint_wnd() const { return m_hint_wnd; } void DrawHint(); diff --git a/src/xrGame/ui/UIScriptWnd.cpp b/src/xrGame/ui/UIScriptWnd.cpp index 26d4421bf00..0840fc9b297 100644 --- a/src/xrGame/ui/UIScriptWnd.cpp +++ b/src/xrGame/ui/UIScriptWnd.cpp @@ -42,7 +42,7 @@ void CUIDialogWndEx::AddCallback( c->m_event = evt; } -bool CUIDialogWndEx::OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action) +bool CUIDialogWndEx::OnKeyboardAction(int dik, EUIMessages keyboard_action) { return inherited::OnKeyboardAction(dik, keyboard_action); } diff --git a/src/xrGame/ui/UIScriptWnd.h b/src/xrGame/ui/UIScriptWnd.h index fc1ebd1d59f..bc4c1fdb42c 100644 --- a/src/xrGame/ui/UIScriptWnd.h +++ b/src/xrGame/ui/UIScriptWnd.h @@ -25,7 +25,7 @@ class CUIDialogWndEx : public CUIDialogWnd, public FactoryObjectBase void AddCallback( LPCSTR control_id, s16 event, const luabind::functor& functor, const luabind::object& object); virtual void Update(); - virtual bool OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action); + virtual bool OnKeyboardAction(int dik, EUIMessages keyboard_action); virtual bool Dispatch(int cmd, int param) { return true; } /* template diff --git a/src/xrGame/ui/UIScrollBar.cpp b/src/xrGame/ui/UIScrollBar.cpp index 18be1cd1de7..a68c1cbb991 100644 --- a/src/xrGame/ui/UIScrollBar.cpp +++ b/src/xrGame/ui/UIScrollBar.cpp @@ -202,7 +202,7 @@ void CUIScrollBar::UpdateScrollBar() u32 last_hold_time = 0; -bool CUIScrollBar::OnKeyboardHold(SDL_Scancode dik) +bool CUIScrollBar::OnKeyboardHold(int dik) { if (dik == MOUSE_1 && (last_hold_time + m_hold_delay) < Device.dwTimeContinual) // 100 { diff --git a/src/xrGame/ui/UIScrollBar.h b/src/xrGame/ui/UIScrollBar.h index 570e27aaea3..935146a74ef 100644 --- a/src/xrGame/ui/UIScrollBar.h +++ b/src/xrGame/ui/UIScrollBar.h @@ -63,7 +63,7 @@ class CUIScrollBar : public CUIWindow virtual bool OnMouseDown(int mouse_btn); virtual bool OnMouseDownEx(); virtual void OnMouseUp(int mouse_btn); - virtual bool OnKeyboardHold(SDL_Scancode dik); + virtual bool OnKeyboardHold(int dik); virtual void Draw(); diff --git a/src/xrGame/ui/UISpawnWnd.cpp b/src/xrGame/ui/UISpawnWnd.cpp index b79ffb87fbc..e8c7ddf91e3 100644 --- a/src/xrGame/ui/UISpawnWnd.cpp +++ b/src/xrGame/ui/UISpawnWnd.cpp @@ -114,7 +114,7 @@ void CUISpawnWnd::SendMessage(CUIWindow* pWnd, s16 msg, void* pData) //////////////////////////////////////////////////////////////////////////////// -bool CUISpawnWnd::OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action) +bool CUISpawnWnd::OnKeyboardAction(int dik, EUIMessages keyboard_action) { if (WINDOW_KEY_PRESSED != keyboard_action) { diff --git a/src/xrGame/ui/UISpawnWnd.h b/src/xrGame/ui/UISpawnWnd.h index 3cb0aef304d..4edbb14a90c 100644 --- a/src/xrGame/ui/UISpawnWnd.h +++ b/src/xrGame/ui/UISpawnWnd.h @@ -21,7 +21,7 @@ class CUISpawnWnd : public CUIDialogWnd virtual void Init(); virtual void SendMessage(CUIWindow* pWnd, s16 msg, void* pData); - virtual bool OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action); + virtual bool OnKeyboardAction(int dik, EUIMessages keyboard_action); void SetVisibleForBtn(ETEAMMENU_BTN btn, bool state); void SetCurTeam(int team); diff --git a/src/xrGame/ui/UISpeechMenu.cpp b/src/xrGame/ui/UISpeechMenu.cpp index a6afe64c699..d8e8c168341 100644 --- a/src/xrGame/ui/UISpeechMenu.cpp +++ b/src/xrGame/ui/UISpeechMenu.cpp @@ -54,7 +54,7 @@ void CUISpeechMenu::InitList(LPCSTR section_name) } } -bool CUISpeechMenu::OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action) +bool CUISpeechMenu::OnKeyboardAction(int dik, EUIMessages keyboard_action) { if (dik < SDL_SCANCODE_1 || dik > SDL_SCANCODE_0) return CUIDialogWnd::OnKeyboardAction(dik, keyboard_action); diff --git a/src/xrGame/ui/UISpeechMenu.h b/src/xrGame/ui/UISpeechMenu.h index d0955666ff7..92808133ffc 100644 --- a/src/xrGame/ui/UISpeechMenu.h +++ b/src/xrGame/ui/UISpeechMenu.h @@ -10,7 +10,7 @@ class CUISpeechMenu : public CUIDialogWnd virtual ~CUISpeechMenu(); void InitList(LPCSTR section_name); virtual bool NeedCursor() const { return false; } - virtual bool OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action); + virtual bool OnKeyboardAction(int dik, EUIMessages keyboard_action); virtual bool StopAnyMove() { return false; } private: CUIScrollView* m_pList; diff --git a/src/xrGame/ui/UITalkWnd.cpp b/src/xrGame/ui/UITalkWnd.cpp index d1e72e12c27..dd889a17b7a 100644 --- a/src/xrGame/ui/UITalkWnd.cpp +++ b/src/xrGame/ui/UITalkWnd.cpp @@ -341,7 +341,7 @@ void CUITalkWnd::SwitchToUpgrade() } } -bool CUITalkWnd::OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action) +bool CUITalkWnd::OnKeyboardAction(int dik, EUIMessages keyboard_action) { if (keyboard_action == WINDOW_KEY_PRESSED) { diff --git a/src/xrGame/ui/UITalkWnd.h b/src/xrGame/ui/UITalkWnd.h index 52f9a8ce60b..110b0227562 100644 --- a/src/xrGame/ui/UITalkWnd.h +++ b/src/xrGame/ui/UITalkWnd.h @@ -46,7 +46,7 @@ class CUITalkWnd : public CUIDialogWnd void NeedUpdateQuestions(); //инициализации начального диалога собеседника void InitOthersStartDialog(); - virtual bool OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action); + virtual bool OnKeyboardAction(int dik, EUIMessages keyboard_action); void SwitchToTrade(); void SwitchToUpgrade(); void AddIconedMessage(LPCSTR caption, LPCSTR text, LPCSTR texture_name, LPCSTR templ_name); diff --git a/src/xrGame/ui/UIVotingCategory.cpp b/src/xrGame/ui/UIVotingCategory.cpp index 1971b431a35..bade4638313 100644 --- a/src/xrGame/ui/UIVotingCategory.cpp +++ b/src/xrGame/ui/UIVotingCategory.cpp @@ -91,7 +91,7 @@ void CUIVotingCategory::SendMessage(CUIWindow* pWnd, s16 msg, void* pData) } } -bool CUIVotingCategory::OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action) +bool CUIVotingCategory::OnKeyboardAction(int dik, EUIMessages keyboard_action) { CUIDialogWnd::OnKeyboardAction(dik, keyboard_action); diff --git a/src/xrGame/ui/UIVotingCategory.h b/src/xrGame/ui/UIVotingCategory.h index 6b2942ff095..88fe73051e8 100644 --- a/src/xrGame/ui/UIVotingCategory.h +++ b/src/xrGame/ui/UIVotingCategory.h @@ -20,7 +20,7 @@ class CUIVotingCategory : public CUIDialogWnd CUIVotingCategory(); virtual ~CUIVotingCategory(); - virtual bool OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action); + virtual bool OnKeyboardAction(int dik, EUIMessages keyboard_action); virtual void SendMessage(CUIWindow* pWnd, s16 msg, void* pData = 0); void OnBtn(int i); diff --git a/src/xrGame/ui/UIWindow.cpp b/src/xrGame/ui/UIWindow.cpp index 1d3f59e50d5..70671283282 100644 --- a/src/xrGame/ui/UIWindow.cpp +++ b/src/xrGame/ui/UIWindow.cpp @@ -409,7 +409,7 @@ void CUIWindow::SetCapture(CUIWindow* pChildWindow, bool capture_status) } //реакция на клавиатуру -bool CUIWindow::OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action) +bool CUIWindow::OnKeyboardAction(int dik, EUIMessages keyboard_action) { bool result; @@ -438,7 +438,7 @@ bool CUIWindow::OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action) return false; } -bool CUIWindow::OnKeyboardHold(SDL_Scancode dik) +bool CUIWindow::OnKeyboardHold(int dik) { bool result; diff --git a/src/xrGame/ui/UIWindow.h b/src/xrGame/ui/UIWindow.h index 1d31b316a28..cc156aee3d1 100644 --- a/src/xrGame/ui/UIWindow.h +++ b/src/xrGame/ui/UIWindow.h @@ -39,8 +39,8 @@ class CUIWindow : public CUISimpleWindow CUIWindow* GetCurrentMouseHandler(); CUIWindow* GetChildMouseHandler(); - virtual bool OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action); - virtual bool OnKeyboardHold(SDL_Scancode dik); + virtual bool OnKeyboardAction(int dik, EUIMessages keyboard_action); + virtual bool OnKeyboardHold(int dik); virtual bool OnMouseAction(float x, float y, EUIMessages mouse_action); virtual void OnMouseMove(); diff --git a/src/xrGame/ui/uiscriptwnd_script.h b/src/xrGame/ui/uiscriptwnd_script.h index b4353cd6c4a..02bc0d043da 100644 --- a/src/xrGame/ui/uiscriptwnd_script.h +++ b/src/xrGame/ui/uiscriptwnd_script.h @@ -6,11 +6,11 @@ struct CWrapperBase : public T, public luabind::wrap_base typedef T inherited; typedef CWrapperBase self_type; - virtual bool OnKeyboardAction(SDL_Scancode dik, EUIMessages keyboard_action) + virtual bool OnKeyboardAction(int dik, EUIMessages keyboard_action) { return call_member(this, "OnKeyboard", dik, keyboard_action); } - static bool OnKeyboard_static(inherited* ptr, SDL_Scancode dik, EUIMessages keyboard_action) + static bool OnKeyboard_static(inherited* ptr, int dik, EUIMessages keyboard_action) { return ptr->self_type::inherited::OnKeyboardAction(dik, keyboard_action); } diff --git a/src/xrGame/xr_level_controller.cpp b/src/xrGame/xr_level_controller.cpp index 57e55b8ae89..ccc7b55c250 100644 --- a/src/xrGame/xr_level_controller.cpp +++ b/src/xrGame/xr_level_controller.cpp @@ -9,83 +9,215 @@ _binding g_key_bindings[bindings_count]; _key_group g_current_keygroup = _sp; -_action actions[] = {{"left", kLEFT, _both}, {"right", kRIGHT, _both}, {"up", kUP, _both}, {"down", kDOWN, _both}, - {"jump", kJUMP, _both}, {"crouch", kCROUCH, _both}, {"accel", kACCEL, _both}, - {"sprint_toggle", kSPRINT_TOGGLE, _both}, - - {"forward", kFWD, _both}, {"back", kBACK, _both}, {"lstrafe", kL_STRAFE, _both}, {"rstrafe", kR_STRAFE, _both}, - - {"llookout", kL_LOOKOUT, _both}, {"rlookout", kR_LOOKOUT, _both}, - - {"cam_1", kCAM_1, _both}, {"cam_2", kCAM_2, _both}, {"cam_3", kCAM_3, _both}, {"cam_zoom_in", kCAM_ZOOM_IN, _both}, - {"cam_zoom_out", kCAM_ZOOM_OUT, _both}, - - {"torch", kTORCH, _both}, {"night_vision", kNIGHT_VISION, _both}, {"show_detector", kDETECTOR, _sp}, - - {"wpn_1", kWPN_1, _both}, {"wpn_2", kWPN_2, _both}, {"wpn_3", kWPN_3, _both}, {"wpn_4", kWPN_4, _both}, - {"wpn_5", kWPN_5, _both}, {"wpn_6", kWPN_6, _both}, {"artefact", kARTEFACT, _both /*_mp*/}, - {"wpn_next", kWPN_NEXT, _both}, // means next ammo type - {"wpn_fire", kWPN_FIRE, _both}, {"wpn_zoom", kWPN_ZOOM, _both}, {"wpn_zoom_inc", kWPN_ZOOM_INC, _both}, - {"wpn_zoom_dec", kWPN_ZOOM_DEC, _both}, {"wpn_reload", kWPN_RELOAD, _both}, {"wpn_func", kWPN_FUNC, _both}, - {"wpn_firemode_prev", kWPN_FIREMODE_PREV, _both}, {"wpn_firemode_next", kWPN_FIREMODE_NEXT, _both}, - - {"pause", kPAUSE, _both}, {"drop", kDROP, _both}, {"use", kUSE, _both}, {"scores", kSCORES, _both}, - {"chat", kCHAT, _mp}, {"chat_team", kCHAT_TEAM, _mp}, {"screenshot", kSCREENSHOT, _both}, {"quit", kQUIT, _both}, - {"console", kCONSOLE, _both}, {"inventory", kINVENTORY, _both}, {"buy_menu", kBUY, _mp}, {"skin_menu", kSKIN, _mp}, - {"team_menu", kTEAM, _mp}, {"active_jobs", kACTIVE_JOBS, _sp}, - - {"vote_begin", kVOTE_BEGIN, _mp}, {"show_admin_menu", kSHOW_ADMIN_MENU, _mp}, {"vote", kVOTE, _mp}, - {"vote_yes", kVOTEYES, _mp}, {"vote_no", kVOTENO, _mp}, - - {"next_slot", kNEXT_SLOT, _both}, {"prev_slot", kPREV_SLOT, _both}, - - {"speech_menu_0", kSPEECH_MENU_0, _mp}, {"speech_menu_1", kSPEECH_MENU_1, _mp}, - - {"quick_use_1", kQUICK_USE_1, _both}, {"quick_use_2", kQUICK_USE_2, _both}, {"quick_use_3", kQUICK_USE_3, _both}, - {"quick_use_4", kQUICK_USE_4, _both}, - - {"quick_save", kQUICK_SAVE, _sp}, {"quick_load", kQUICK_LOAD, _sp}, - // { "alife_command", kALIFE_CMD ,_sp}, - - {NULL, kLASTACTION, _both}}; - -_keyboard keyboards[] = {{"kESCAPE", SDL_SCANCODE_ESCAPE}, {"k1", SDL_SCANCODE_1}, {"k2", SDL_SCANCODE_2}, - {"k3", SDL_SCANCODE_3}, {"k4", SDL_SCANCODE_4}, {"k5", SDL_SCANCODE_5}, {"k6", SDL_SCANCODE_6}, - {"k7", SDL_SCANCODE_7}, {"k8", SDL_SCANCODE_8}, {"k9", SDL_SCANCODE_9}, {"k0", SDL_SCANCODE_0}, - {"kMINUS", SDL_SCANCODE_MINUS}, {"kEQUALS", SDL_SCANCODE_EQUALS}, {"kBACK", SDL_SCANCODE_BACKSPACE}, - {"kTAB", SDL_SCANCODE_TAB}, {"kQ", SDL_SCANCODE_Q}, {"kW", SDL_SCANCODE_W}, {"kE", SDL_SCANCODE_E}, - {"kR", SDL_SCANCODE_R}, {"kT", SDL_SCANCODE_T}, {"kY", SDL_SCANCODE_Y}, {"kU", SDL_SCANCODE_U}, - {"kI", SDL_SCANCODE_I}, {"kO", SDL_SCANCODE_O}, {"kP", SDL_SCANCODE_P}, {"kLBRACKET", SDL_SCANCODE_LEFTBRACKET}, - {"kRBRACKET", SDL_SCANCODE_RIGHTBRACKET}, {"kRETURN", SDL_SCANCODE_RETURN}, {"kLCONTROL", SDL_SCANCODE_LCTRL}, - {"kA", SDL_SCANCODE_A}, {"kS", SDL_SCANCODE_S}, {"kD", SDL_SCANCODE_D}, {"kF", SDL_SCANCODE_F}, - {"kG", SDL_SCANCODE_G}, {"kH", SDL_SCANCODE_H}, {"kJ", SDL_SCANCODE_J}, {"kK", SDL_SCANCODE_K}, - {"kL", SDL_SCANCODE_L}, {"kSEMICOLON", SDL_SCANCODE_SEMICOLON}, {"kAPOSTROPHE", SDL_SCANCODE_APOSTROPHE}, - {"kGRAVE", SDL_SCANCODE_GRAVE}, {"kLSHIFT", SDL_SCANCODE_LSHIFT}, {"kBACKSLASH", SDL_SCANCODE_BACKSLASH}, - {"kZ", SDL_SCANCODE_Z}, {"kX", SDL_SCANCODE_X}, {"kC", SDL_SCANCODE_C}, {"kV", SDL_SCANCODE_V}, - {"kB", SDL_SCANCODE_B}, {"kN", SDL_SCANCODE_N}, {"kM", SDL_SCANCODE_M}, {"kCOMMA", SDL_SCANCODE_COMMA}, - {"kPERIOD", SDL_SCANCODE_PERIOD}, {"kSLASH", SDL_SCANCODE_SLASH}, {"kRSHIFT", SDL_SCANCODE_RSHIFT}, - {"kMULTIPLY", SDL_SCANCODE_KP_MULTIPLY}, {"kLMENU", SDL_SCANCODE_LALT}, {"kSPACE", SDL_SCANCODE_SPACE}, - {"kCAPITAL", SDL_SCANCODE_CAPSLOCK}, {"kF1", SDL_SCANCODE_F1}, {"kF2", SDL_SCANCODE_F2}, {"kF3", SDL_SCANCODE_F3}, - {"kF4", SDL_SCANCODE_F4}, {"kF5", SDL_SCANCODE_F5}, {"kF6", SDL_SCANCODE_F6}, {"kF7", SDL_SCANCODE_F7}, - {"kF8", SDL_SCANCODE_F8}, {"kF9", SDL_SCANCODE_F9}, {"kF10", SDL_SCANCODE_F10}, - {"kNUMLOCK", SDL_SCANCODE_NUMLOCKCLEAR}, {"kSCROLL", SDL_SCANCODE_SCROLLLOCK}, {"kNUMPAD7", SDL_SCANCODE_KP_7}, - {"kNUMPAD8", SDL_SCANCODE_KP_8}, {"kNUMPAD9", SDL_SCANCODE_KP_9}, {"kSUBTRACT", SDL_SCANCODE_KP_MINUS}, - {"kNUMPAD4", SDL_SCANCODE_KP_4}, {"kNUMPAD5", SDL_SCANCODE_KP_5}, {"kNUMPAD6", SDL_SCANCODE_KP_6}, - {"kADD", SDL_SCANCODE_KP_PLUS}, {"kNUMPAD1", SDL_SCANCODE_KP_1}, {"kNUMPAD2", SDL_SCANCODE_KP_2}, - {"kNUMPAD3", SDL_SCANCODE_KP_3}, {"kNUMPAD0", SDL_SCANCODE_KP_0}, {"kDECIMAL", SDL_SCANCODE_KP_DECIMAL}, - {"kF11", SDL_SCANCODE_F11}, {"kF12", SDL_SCANCODE_F12}, {"kF13", SDL_SCANCODE_F13}, {"kF14", SDL_SCANCODE_F14}, - {"kF15", SDL_SCANCODE_F15}, {"kNUMPADEQUALS", SDL_SCANCODE_KP_EQUALS}, {"kCIRCUMFLEX", SDL_SCANCODE_PAGEDOWN}, - {"kAT", SDL_SCANCODE_KP_AT}, {"kCOLON", SDL_SCANCODE_KP_COLON}, {"kSTOP", SDL_SCANCODE_STOP}, - {"kRCONTROL", SDL_SCANCODE_RCTRL}, {"kNUMPADCOMMA", SDL_SCANCODE_KP_COMMA}, {"kDIVIDE", SDL_SCANCODE_KP_DIVIDE}, - {"kSYSRQ", SDL_SCANCODE_SYSREQ}, {"kRMENU", SDL_SCANCODE_RALT}, {"kHOME", SDL_SCANCODE_HOME}, - {"kUP", SDL_SCANCODE_UP}, {"kPRIOR", SDL_SCANCODE_PAGEUP}, {"kLEFT", SDL_SCANCODE_LEFT}, - {"kRIGHT", SDL_SCANCODE_RIGHT}, {"kEND", SDL_SCANCODE_END}, {"kDOWN", SDL_SCANCODE_DOWN}, - {"kNEXT", SDL_SCANCODE_AUDIONEXT}, {"kINSERT", SDL_SCANCODE_INSERT}, {"kDELETE", SDL_SCANCODE_DELETE}, - {"kLWIN", SDL_SCANCODE_LGUI}, {"kRWIN", SDL_SCANCODE_RGUI}, {"kAPPS", SDL_SCANCODE_APPLICATION}, - {"kPAUSE", SDL_SCANCODE_PAUSE}, - {"mouse1", MOUSE_1}, {"mouse2", MOUSE_2}, {"mouse3", MOUSE_3}, {"mouse4", MOUSE_4}, - {"mouse5", MOUSE_5}, {"mouse6", MOUSE_6}, {"mouse7", MOUSE_7}, {"mouse8", MOUSE_8}, - {NULL, SDL_SCANCODE_UNKNOWN}}; +_action actions[] = +{ + { "left", kLEFT, _both }, + { "right", kRIGHT, _both }, + { "up", kUP, _both }, + { "down", kDOWN, _both }, + { "jump", kJUMP, _both }, + { "crouch", kCROUCH, _both }, + { "accel", kACCEL, _both }, + { "sprint_toggle", kSPRINT_TOGGLE, _both }, + + { "forward", kFWD, _both }, + { "back", kBACK, _both }, + { "lstrafe", kL_STRAFE, _both }, + { "rstrafe", kR_STRAFE, _both }, + + { "llookout", kL_LOOKOUT, _both }, + { "rlookout", kR_LOOKOUT, _both }, + + { "cam_1", kCAM_1, _both }, + { "cam_2", kCAM_2, _both }, + { "cam_3", kCAM_3, _both }, + { "cam_zoom_in", kCAM_ZOOM_IN, _both }, + { "cam_zoom_out", kCAM_ZOOM_OUT, _both }, + + { "torch", kTORCH, _both }, + { "night_vision", kNIGHT_VISION, _both }, + { "show_detector", kDETECTOR, _sp }, + + { "wpn_1", kWPN_1, _both }, + { "wpn_2", kWPN_2, _both }, + { "wpn_3", kWPN_3, _both }, + { "wpn_4", kWPN_4, _both }, + { "wpn_5", kWPN_5, _both }, + { "wpn_6", kWPN_6, _both }, + { "artefact", kARTEFACT, _both /*_mp*/}, + { "wpn_next", kWPN_NEXT, _both }, // means next ammo type + { "wpn_fire", kWPN_FIRE, _both }, + { "wpn_zoom", kWPN_ZOOM, _both }, + { "wpn_zoom_inc", kWPN_ZOOM_INC, _both }, + { "wpn_zoom_dec", kWPN_ZOOM_DEC, _both }, + { "wpn_reload", kWPN_RELOAD, _both }, + { "wpn_func", kWPN_FUNC, _both }, + { "wpn_firemode_prev", kWPN_FIREMODE_PREV, _both }, + { "wpn_firemode_next", kWPN_FIREMODE_NEXT, _both }, + + { "pause", kPAUSE, _both }, + { "drop", kDROP, _both }, + { "use", kUSE, _both }, + { "scores", kSCORES, _both }, + { "chat", kCHAT, _mp }, + { "chat_team", kCHAT_TEAM, _mp }, + { "screenshot", kSCREENSHOT, _both }, + { "quit", kQUIT, _both }, + { "console", kCONSOLE, _both }, + { "inventory", kINVENTORY, _both }, + { "buy_menu", kBUY, _mp }, + { "skin_menu", kSKIN, _mp }, + { "team_menu", kTEAM, _mp }, + { "active_jobs", kACTIVE_JOBS, _sp }, + + { "vote_begin", kVOTE_BEGIN, _mp }, + { "show_admin_menu", kSHOW_ADMIN_MENU, _mp }, + { "vote", kVOTE, _mp }, + { "vote_yes", kVOTEYES, _mp }, + { "vote_no", kVOTENO, _mp }, + + { "next_slot", kNEXT_SLOT, _both }, + { "prev_slot", kPREV_SLOT, _both }, + + { "speech_menu_0", kSPEECH_MENU_0, _mp }, + { "speech_menu_1", kSPEECH_MENU_1, _mp }, + + { "quick_use_1", kQUICK_USE_1, _both }, + { "quick_use_2", kQUICK_USE_2, _both }, + { "quick_use_3", kQUICK_USE_3, _both }, + { "quick_use_4", kQUICK_USE_4, _both }, + + { "quick_save", kQUICK_SAVE, _sp }, + { "quick_load", kQUICK_LOAD, _sp }, + //{ "alife_command", kALIFE_CMD, _sp }, + + { nullptr, kLASTACTION, _both} +}; + +_keyboard keyboards[] = +{ + { "kESCAPE", SDL_SCANCODE_ESCAPE }, + { "k1", SDL_SCANCODE_1 }, + { "k2", SDL_SCANCODE_2 }, + { "k3", SDL_SCANCODE_3 }, + { "k4", SDL_SCANCODE_4 }, + { "k5", SDL_SCANCODE_5 }, + { "k6", SDL_SCANCODE_6 }, + { "k7", SDL_SCANCODE_7 }, + { "k8", SDL_SCANCODE_8 }, + { "k9", SDL_SCANCODE_9 }, + { "k0", SDL_SCANCODE_0 }, + { "kMINUS", SDL_SCANCODE_MINUS }, + { "kEQUALS", SDL_SCANCODE_EQUALS }, + { "kBACK", SDL_SCANCODE_BACKSPACE }, + { "kTAB", SDL_SCANCODE_TAB }, + { "kQ", SDL_SCANCODE_Q }, + { "kW", SDL_SCANCODE_W }, + { "kE", SDL_SCANCODE_E }, + { "kR", SDL_SCANCODE_R }, + { "kT", SDL_SCANCODE_T }, + { "kY", SDL_SCANCODE_Y }, + { "kU", SDL_SCANCODE_U }, + { "kI", SDL_SCANCODE_I }, + { "kO", SDL_SCANCODE_O }, + { "kP", SDL_SCANCODE_P }, + { "kLBRACKET", SDL_SCANCODE_LEFTBRACKET }, + { "kRBRACKET", SDL_SCANCODE_RIGHTBRACKET }, + { "kRETURN", SDL_SCANCODE_RETURN }, + { "kLCONTROL", SDL_SCANCODE_LCTRL }, + { "kA", SDL_SCANCODE_A }, + { "kS", SDL_SCANCODE_S }, + { "kD", SDL_SCANCODE_D }, + { "kF", SDL_SCANCODE_F }, + { "kG", SDL_SCANCODE_G }, + { "kH", SDL_SCANCODE_H }, + { "kJ", SDL_SCANCODE_J }, + { "kK", SDL_SCANCODE_K }, + { "kL", SDL_SCANCODE_L }, + { "kSEMICOLON", SDL_SCANCODE_SEMICOLON }, + { "kAPOSTROPHE", SDL_SCANCODE_APOSTROPHE }, + { "kGRAVE", SDL_SCANCODE_GRAVE }, + { "kLSHIFT", SDL_SCANCODE_LSHIFT }, + { "kBACKSLASH", SDL_SCANCODE_BACKSLASH }, + { "kZ", SDL_SCANCODE_Z }, + { "kX", SDL_SCANCODE_X }, + { "kC", SDL_SCANCODE_C }, + { "kV", SDL_SCANCODE_V }, + { "kB", SDL_SCANCODE_B }, + { "kN", SDL_SCANCODE_N }, + { "kM", SDL_SCANCODE_M }, + { "kCOMMA", SDL_SCANCODE_COMMA }, + { "kPERIOD", SDL_SCANCODE_PERIOD }, + { "kSLASH", SDL_SCANCODE_SLASH }, + { "kRSHIFT", SDL_SCANCODE_RSHIFT }, + { "kMULTIPLY", SDL_SCANCODE_KP_MULTIPLY }, + { "kLMENU", SDL_SCANCODE_LALT }, + { "kSPACE", SDL_SCANCODE_SPACE }, + { "kCAPITAL", SDL_SCANCODE_CAPSLOCK }, + { "kF1", SDL_SCANCODE_F1 }, + { "kF2", SDL_SCANCODE_F2 }, + { "kF3", SDL_SCANCODE_F3 }, + { "kF4", SDL_SCANCODE_F4 }, + { "kF5", SDL_SCANCODE_F5 }, + { "kF6", SDL_SCANCODE_F6 }, + { "kF7", SDL_SCANCODE_F7 }, + { "kF8", SDL_SCANCODE_F8 }, + { "kF9", SDL_SCANCODE_F9 }, + { "kF10", SDL_SCANCODE_F10 }, + { "kNUMLOCK", SDL_SCANCODE_NUMLOCKCLEAR }, + { "kSCROLL", SDL_SCANCODE_SCROLLLOCK }, + { "kNUMPAD7", SDL_SCANCODE_KP_7 }, + { "kNUMPAD8", SDL_SCANCODE_KP_8 }, + { "kNUMPAD9", SDL_SCANCODE_KP_9 }, + { "kSUBTRACT", SDL_SCANCODE_KP_MINUS }, + { "kNUMPAD4", SDL_SCANCODE_KP_4 }, + { "kNUMPAD5", SDL_SCANCODE_KP_5 }, + { "kNUMPAD6", SDL_SCANCODE_KP_6 }, + { "kADD", SDL_SCANCODE_KP_PLUS }, + { "kNUMPAD1", SDL_SCANCODE_KP_1 }, + { "kNUMPAD2", SDL_SCANCODE_KP_2 }, + { "kNUMPAD3", SDL_SCANCODE_KP_3 }, + { "kNUMPAD0", SDL_SCANCODE_KP_0 }, + { "kDECIMAL", SDL_SCANCODE_KP_DECIMAL }, + { "kF11", SDL_SCANCODE_F11 }, + { "kF12", SDL_SCANCODE_F12 }, + { "kF13", SDL_SCANCODE_F13 }, + { "kF14", SDL_SCANCODE_F14 }, + { "kF15", SDL_SCANCODE_F15 }, + { "kNUMPADEQUALS", SDL_SCANCODE_KP_EQUALS }, + { "kCIRCUMFLEX", SDL_SCANCODE_PAGEDOWN }, + { "kAT", SDL_SCANCODE_KP_AT }, + { "kCOLON", SDL_SCANCODE_KP_COLON }, + { "kSTOP", SDL_SCANCODE_STOP }, + { "kRCONTROL", SDL_SCANCODE_RCTRL }, + { "kNUMPADCOMMA", SDL_SCANCODE_KP_COMMA }, + { "kDIVIDE", SDL_SCANCODE_KP_DIVIDE }, + { "kSYSRQ", SDL_SCANCODE_SYSREQ }, + { "kRMENU", SDL_SCANCODE_RALT }, + { "kHOME", SDL_SCANCODE_HOME }, + { "kUP", SDL_SCANCODE_UP }, + { "kPRIOR", SDL_SCANCODE_PAGEUP }, + { "kLEFT", SDL_SCANCODE_LEFT }, + { "kRIGHT", SDL_SCANCODE_RIGHT }, + { "kEND", SDL_SCANCODE_END }, + { "kDOWN", SDL_SCANCODE_DOWN }, + { "kNEXT", SDL_SCANCODE_AUDIONEXT }, + { "kINSERT", SDL_SCANCODE_INSERT }, + { "kDELETE", SDL_SCANCODE_DELETE }, + { "kLWIN", SDL_SCANCODE_LGUI }, + { "kRWIN", SDL_SCANCODE_RGUI }, + { "kAPPS", SDL_SCANCODE_APPLICATION }, + { "kPAUSE", SDL_SCANCODE_PAUSE }, + { "mouse1", MOUSE_1 }, + { "mouse2", MOUSE_2 }, + { "mouse3", MOUSE_3 }, + { "mouse4", MOUSE_4 }, + { "mouse5", MOUSE_5 }, + { "mouse6", MOUSE_6 }, + { "mouse7", MOUSE_7 }, + { "mouse8", MOUSE_8 }, + { nullptr, SDL_SCANCODE_UNKNOWN } +}; void initialize_bindings() { @@ -170,7 +302,7 @@ _action* action_name_to_ptr(pcstr _name) return NULL; } -pcstr dik_to_keyname(SDL_Scancode _dik) +pcstr dik_to_keyname(int _dik) { _keyboard* kb = dik_to_ptr(_dik, true); if (kb) @@ -179,7 +311,7 @@ pcstr dik_to_keyname(SDL_Scancode _dik) return NULL; } -_keyboard* dik_to_ptr(SDL_Scancode _dik, bool bSafe) +_keyboard* dik_to_ptr(int _dik, bool bSafe) { int idx = 0; while (keyboards[idx].key_name) @@ -221,7 +353,7 @@ bool is_group_not_conflicted(_key_group g1, _key_group g2) } bool is_group_matching(_key_group g1, _key_group g2) { return ((g1 == g2) || (g1 == _both) || (g2 == _both)); } -bool is_binded(EGameActions _action_id, SDL_Scancode _dik) +bool is_binded(EGameActions _action_id, int _dik) { _binding* pbinding = &g_key_bindings[_action_id]; if (pbinding->m_keyboard[0] && pbinding->m_keyboard[0]->dik == _dik) @@ -253,7 +385,7 @@ int get_action_dik(EGameActions _action_id, int idx) return SDL_SCANCODE_UNKNOWN; } -EGameActions get_binded_action(SDL_Scancode _dik) +EGameActions get_binded_action(int _dik) { for (int idx = 0; idx < bindings_count; ++idx) { @@ -526,7 +658,7 @@ void ConsoleBindCmds::save(IWriter* F) for (; it != m_bindConsoleCmds.end(); ++it) { - pcstr keyname = dik_to_keyname((SDL_Scancode) it->first); + pcstr keyname = dik_to_keyname(it->first); F->w_printf("bind_console %s %s\n", *it->second.cmd, keyname); } } diff --git a/src/xrGame/xr_level_controller.h b/src/xrGame/xr_level_controller.h index 8e13ac922ee..6745c703f15 100644 --- a/src/xrGame/xr_level_controller.h +++ b/src/xrGame/xr_level_controller.h @@ -113,10 +113,10 @@ struct _action _key_group key_group; }; -pcstr dik_to_keyname(SDL_Scancode _dik); +pcstr dik_to_keyname(int _dik); int keyname_to_dik(pcstr _name); _keyboard* keyname_to_ptr(pcstr _name); -_keyboard* dik_to_ptr(SDL_Scancode _dik, bool bSafe); +_keyboard* dik_to_ptr(int _dik, bool bSafe); pcstr id_to_action_name(EGameActions _id); EGameActions action_name_to_id(pcstr _name); @@ -135,9 +135,9 @@ struct _binding extern _binding g_key_bindings[]; -bool is_binded(EGameActions action_id, SDL_Scancode dik); +bool is_binded(EGameActions action_id, int dik); int get_action_dik(EGameActions action_id, int idx = -1); -EGameActions get_binded_action(SDL_Scancode dik); +EGameActions get_binded_action(int dik); extern void CCC_RegisterInput();