Commit Graph

289 Commits

Author SHA1 Message Date
Ted John 17a29dfe87 Fix #14190: Game crash likely related to plug-in hotkeys
Do not cache references to RegisteredShortcut as they can be invalidated when new shortcuts are registered / removed.
Use a map to improve query performance of shortcut by ID.
Store a separate list of strings for the map to use as a key.
2021-02-28 01:13:43 +00:00
Ted John 1ee72ffd21 Fix #14184: Right and down arrow swapped
Incorrect order of legacy shortcut IDs.
2021-02-27 15:51:05 +00:00
TELK 99e72dde3f Change StringIds to more generic 2021-02-24 16:50:40 +09:00
Ted John 52dffb83c2 Fix #14160: Game crashs when registering shortcuts 2021-02-23 22:18:00 +00:00
Ted John 817edff4bd Fix #14149: Numpad shortcut keys are not loaded correctly 2021-02-23 20:35:24 +00:00
TELK ea5cf16924 Feature: Make ride construction shortcuts work for footpath too 2021-02-23 16:11:53 +09:00
Ted John 440c0f447f
Fix #14140: Some shortcut keys are not working 2021-02-21 21:44:53 +01:00
Ted John ed29c0a37b Replace std::printf with Console::* 2021-02-21 03:14:20 +00:00
Ted John e383b6f6f7 Move zoom and rotation to view tab 2021-02-21 03:14:20 +00:00
Ted John 2b14fe9d7f Update shortcut listings 2021-02-21 03:14:19 +00:00
Ted John ff86ebbfe5 Localise shortcut strings 2021-02-21 03:14:19 +00:00
Ted John acfda711f5 Use std::string_view without reference 2021-02-21 03:14:19 +00:00
Ted John 59b4be6a12 Move InputManager to UiContext 2021-02-21 03:14:19 +00:00
Ted John 80662d72a4 Cache view scroll shortcuts 2021-02-21 03:14:19 +00:00
Ted John 2b197d0fb2 Fix parsing of shortcuts 2021-02-21 03:14:18 +00:00
Ted John 46c3fd4e5f Use FileStream instead of fstream 2021-02-21 03:14:18 +00:00
Ted John eda33fea20 Fix view scroll shortcuts 2021-02-21 03:14:18 +00:00
Ted John 2b3aabb8e4 Remove old shortcut code and fix issues 2021-02-21 03:14:18 +00:00
Ted John f2f658bf28 Refactor some code into more files 2021-02-21 03:14:18 +00:00
Ted John af0ed416f5 Implement loading / saving of new shortcuts 2021-02-21 03:14:18 +00:00
Ted John 18c3587d63 Rename shortcut IDs and order groups 2021-02-21 03:14:18 +00:00
Ted John 7b00f9d96d Add tabs to keyboard shortcut window 2021-02-21 03:14:18 +00:00
Ted John e7ae9f9f15 Read legacy shortcuts and move to constants 2021-02-21 03:14:17 +00:00
Ted John 900f3cd92b Fix gcc / clang builds 2021-02-21 03:14:17 +00:00
Ted John afc548c5a7 Add plugin API for shortcuts 2021-02-21 03:14:13 +00:00
Ted John 9964df5335 Implement gamepad support 2021-02-21 03:13:28 +00:00
Ted John e6b6403024 Refactor and fix shortcut 2021-02-21 03:13:28 +00:00
Ted John ea975f88fc Implement more InputManager 2021-02-21 03:13:28 +00:00
Ted John c8f31dea7f Process keyboard input events 2021-02-21 03:13:28 +00:00
Ted John 3339089235 Add more shortcuts 2021-02-21 03:13:28 +00:00
Ted John f009b9a804 Only handle release mouse buttons 2021-02-21 03:13:28 +00:00
Ted John ccae533978 Add input manager 2021-02-21 03:13:27 +00:00
Ted John b1eb975529 Re-add show change dialog 2021-02-21 03:13:27 +00:00
Ted John e5f263a0fc Get new manager showing in window 2021-02-21 03:13:27 +00:00
Ted John 28aead5cb5 Start work on new shortcut engine 2021-02-21 03:13:27 +00:00
Michael Steenbeek 61536eb1f6
Fix #14073: NPE in InputUpdateTooltip 2021-02-12 18:36:58 +01:00
Ted John be350f7e2e Add widget visible flag 2021-01-26 00:25:59 +00:00
amdoku 85efe047bb
Close #12444: Refactor TILE_INSPECTOR_PAGE to use strong enum (#13134) 2021-01-03 10:30:59 -03:00
Tulio Leao 221aa8cece Close #12453: Refactor RCT2_EDITOR_STEP to strong enum 2020-12-23 20:07:53 -03:00
Adam f09b14ef2b
Split actions hpp files into separate h and cpp files (#13548)
* Split up SmallSceneryPlace/Remove

Added undo function for Remove Scenery

* Refactor: Balloon and Banner actions hpp=>h/cpp

* Refactor: rename all action *.hpp files to *.cpp

This is preparation for separation in later commits. Note that without
the complete set of commits in this branch, the code will not build.

* Refactor Clear, Climate, Custom, and Footpath actions hpp=>h/cpp

* VSCode: add src subdirectories to includePath

* Refactor Guest actions hpp=>h/cpp

* Refactor Land actions hpp=>h/cpp

* Refactor LargeScenery actions hpp=>h/cpp

* Refactor Load, Maze, Network actions hpp=>h/cpp

* Refactor Park actions hpp=>h/cpp

* Refactor/style: move private function declarations in actions *.h

Previous action .h files included private function declarations with
private member variables, before public function declarations. This
commit re-orders the header files to the following order:
- public member variables
- private member variables
- public functions
- private functions

* Refactor Pause action hpp=>h/cpp

* Refactor Peep, Place, Player actions hpp=>h/cpp

* Refactor Ride actions hpp=>h/cpp

* Refactor Scenario, Set*, Sign* actions hpp=>h/cpp

* Refactor SmallScenerySetColourAction hpp=>h/cpp

* Refactor Staff actions hpp=>h/cpp

* Refactor Surface, Tile, Track* actions hpp=>h/cpp

* Refactor Wall and Water actions hpp=>h/cpp

* Fix various includes and other compile errors

Update includes for tests.
Move static function declarations to .h files
Add explicit includes to various files that were previously implicit
(the required header was a nested include in an action hpp file, and the
action .h file does not include that header)
Move RideSetStatus string enum to the cpp file to avoid unused imports

* Xcode: modify project file for actions refactor

* Cleanup whitespace and end-of-file newlines

Co-authored-by: duncanspumpkin <duncans_pumpkin@hotmail.co.uk>
2020-12-10 06:39:10 +00:00
ffrogman 7ed1804e61
Fix #12410: Refactor WINDOW_WIDGET_TYPES to use strong enum (#13453)
* Fix #12410: Refactor WINDOW_WIDGET_TYPES to use strong enum
2020-11-27 00:14:20 -03:00
Hielke Morsink f0c1ea1d37
Split declarations and definitions to improve compile times when editing (#13332)
* Split FileStream declarations and definitions

* Split JobPool declarations and definitions

* Split StringBuilder declarations and definitions

* Split StringReader declarations and definitions

* Split ZoomLevel declarations and definitions

* Fix missing include in FileClassifier.cpp

* Remove pragma once from source files

* Fix missing include in StringBuilder.h

* Update Xcode project

* Fix compilation of tests

Co-authored-by: Michael Steenbeek <m.o.steenbeek@gmail.com>
2020-11-07 12:42:04 +00:00
pizza2004 2015acd4c0
Refactor UI/Interface Window to Title Case (#13367) 2020-11-04 04:52:23 +00:00
Łukasz Pękalski 88a6a085e4
Close #12455: Refactor MOUSE_STATE to use strong enum (#13361)
* Close #12455: Refactor MOUSE_STATE to use strong enum

refactor: MouseState to strong enum

Co-authored-by: Tulio Leao <tupaschoal@gmail.com>
2020-11-03 18:41:19 -03:00
pizza2004 a5607da09d
Refactor Widget to TitleCase (#13355) 2020-11-03 18:29:22 -03:00
pizza2004 b0fd5f93d7
Refactor UI/Interface misc to TitleCase (#13354)
* Refactor LandTool to Namespace

* Refactor Theme to TitleCase

* Refactor ViewportInteraction to TitleCase
2020-11-03 10:59:00 +00:00
pizza2004 68bd035f12
Refactor Dropdown to TitleCase (#13352)
* Refactor Dropdown Namespace

* Refactor Dropdown to TitleCase
2020-11-03 08:16:06 +00:00
pizza2004 1643c62939 Refactor UI/Input MouseInput to Title Case 2020-11-02 07:05:33 -07:00
pizza2004 34f362b86e Refactor UI/Input KeyboardShortcuts to Title Case 2020-11-02 06:55:16 -07:00
pizza2004 06c0c1b982 Refactor UI/Input Input to Title Case 2020-11-02 06:55:16 -07:00
Duncan cd39c30989
Tooltip 2 (#13159)
* Use ScreenCoords for tooltip

* Remove temporary variables

* Small refactor

* Fix #13151. Not passing tooltip arguments correctly for ride window

* Fix Server List window version tooltip

* Fix cheats tooltip event

* Add static to function decl

* Remove unreachable break statements in Ride.cpp

* Apply review suggestions

Co-authored-by: Tulio Leao <tupaschoal@gmail.com>
2020-10-17 09:10:08 +01:00
Julia Pinheiro cba1d48226
Close #12408: Refactor CURSOR_ID to use strong enum 2020-10-11 18:01:14 +02:00
Duncan f28907a87d
Rework tooltip to be more logical (#13137) 2020-10-10 10:49:56 -03:00
Duncan 197bb897bb
Fix #7748. Move tooltip timeout reset to correct location (#13132)
* Fix #7748. Move tooltip timeout reset to correct location

Mistake made in implementation

* Add changelog entry
2020-10-09 16:53:31 +01:00
ζeh Matt 61b510db66
Merge pull request #13073 from ZehMatt/refactor/audio-cleanup
Minor cleanup around audio code
2020-10-07 21:18:59 +03:00
Tulio Leao 076544f490
Merge pull request #13084 from vjavs/PVS-Studio/Fixes
Make some PVS-Studio fixes
2020-10-07 08:24:59 -03:00
Mike Jones 7441001c4e
Close #12407: Refactor CHAT_INPUT to use strong enum (#13116) 2020-10-06 21:37:08 -03:00
Matt 091145037e
Move the audio code into OpenRCT2 namespace 2020-10-07 00:34:42 +03:00
Vinicius Sa 579e008590
Refactor process_mouse_over()
- Remove unnecessary local variables and assignments

 - Remove unreached if-statement branch

Reported by PVS-Studio (Warning: V587).

Fix 5/7.

Issue: 12523
2020-10-06 18:21:24 -03:00
Bryan DiLaura 56e8cc77c6
Close #12409: Refactor CONSOLE_INPUT to use strong enum (#13052) 2020-10-01 10:31:03 +01:00
Duncan 3c8adb1fc1
Remove gMapTooltip format args global (#12971)
Fix mistake
2020-09-28 21:45:28 -03:00
Matt d0d5cc5179
Remove unused declarations 2020-09-16 20:23:34 +03:00
Łukasz Pękalski 411f242cfd
Close #12431 Refactor VirtualFloorStyles to use strong enum (#12790) 2020-08-27 21:06:39 -03:00
Tulio Leao 4caf571c22
Followup on #12475 post-mortem comments (#12745)
* Remove using namespace OpenRCT2 from header

* Fix using wronf undefined enum for shortcut key map
2020-08-21 16:07:38 +01:00
frutiemax 4cc550a364
Close #12460: Refactor KeyboardShortcut to use strong enum (#12475)
* Close #12460: Refactor KeyboardShortcut to use strong enum

Co-authored-by: Tulio Leao <tupaschoal@gmail.com>
2020-08-20 23:54:43 -03:00
Matt 0dc43d66e4 Remove the use of INTERFACE macro and macro its self 2020-08-05 16:30:44 +02:00
Matt 30376085cf Include missing headers 2020-08-05 16:29:29 +02:00
frutiemax af0fc89cf4
Close #12456: Refactor INPUT_STATE to use strong enum (#12484) 2020-07-27 19:51:10 -03:00
Michał Janiszewski f1fa016400
Reset window pointer when cleaning up after dropdown 2020-07-26 10:09:56 +02:00
Aaron van Geffen 7b5087f057
Update copyright year to 2020 2020-07-21 15:04:34 +02:00
Tulio Leao 0951c0c5cc
Remove goto from input_state_widget_pressed (#12265) 2020-07-15 07:50:01 -03:00
frutiemax 27734e2971
Part of #12160: Use Coords for viewport_coord_to_map_coord (#12216) 2020-07-12 18:42:54 -03:00
Thamara Andrade 8ce799a72e
Close #12118: Prefer foward declaration of *Coords* in headers (#12142)
* Removing unnecessary world/Location includes in headers
* Prefer foward declaration of *Coords* in header files
Closes #12118
2020-07-06 10:10:39 -03:00
Aaron van Geffen 2e153a7e95 Introduce widget::midX and widget::midY helper functions 2020-06-25 10:31:15 +02:00
Aaron van Geffen 681b8d7938
Introduce widget::width and widget::height helper functions (#12053) 2020-06-24 22:44:00 -03:00
Michiel 03b2456bc7
Fixed clearance checks hotkey (#11833) 2020-05-30 23:42:42 +02:00
Michael Steenbeek 6d13f7ba68 Apply suggestions from code review
Co-authored-by: Aaron van Geffen <aaron@aaronweb.net>
2020-05-30 17:10:08 +02:00
Michiel Bos 67ffc5642b Fixed the include order in KeyboardShortcut.cpp to match with clang. 2020-05-30 17:10:08 +02:00
Michiel Bos 670b879235 Added a shortcut key for disabling/enabling clearance checks. 2020-05-30 17:10:08 +02:00
Breno Rodrigues Guimarães 374b744477
Use Formatter to handle argument formatting for tooltips (#11379) 2020-04-21 12:38:59 +02:00
Aaron van Geffen d1a314b0f7 Decouple shortcut window order from internal order. 2020-04-17 18:35:06 +02:00
Aaron van Geffen 28d14517e1
Introduce a constant for scrollbar width and height (#11152) 2020-03-30 22:41:49 +02:00
Tulio Leao 8823658972 Use named casts on openrct2-ui/input 2020-03-28 17:04:29 -03:00
Ted John d34dec9c27 Create ZoomLevel struct to add two new zoom levels 2020-03-23 15:54:03 +00:00
Gymnasiast 5f96a121ae
Apply ScreenCoordsXY to some functions 2020-03-07 22:25:42 +01:00
Tulio Leao 724a6d4dcf Make rct_window use ScreenCoordsXY 2020-03-02 20:51:01 -03:00
Tulio Leao 9bcd20e0e6 Prefer const ref to send ScreenCoordsXY over 2020-02-29 08:25:48 -03:00
Michael Steenbeek dbb89b96fb
Clean up scenery window variables (#10697) 2020-02-13 21:24:37 +01:00
Kevin Strehl 37110f386d Add Keyboard Shortcuts to the Tile Inspector (#10430) 2019-12-31 09:34:38 +01:00
Duncan 08bf0a6807
Merge pull request #10391 from tupaschoal/mouse-diff-coords
Save mouse differential coords using ScreenCoordsXY
2019-12-19 08:02:32 +00:00
Tulio Leao a5065e95c6 Simplify MouseInput differential coords calculation 2019-12-18 23:57:57 -03:00
Duncan 099404b505
Merge pull request #10381 from tupaschoal/cursorsate-store-coords
Make CursorState store a ScreenCoordsXY object
2019-12-18 20:10:51 +00:00
Tulio Leao 502a15512b Save mouse differential coords using ScreenCoordsXY 2019-12-17 23:21:12 -03:00
Tulio Leao 6b06b2c578 Use ScreenCoordsXY for Mouse Drag storage (#10380) 2019-12-17 18:38:20 +01:00
Tulio Leao 2cd3add373 Make CursorState store a ScreenCoordsXY object 2019-12-14 23:30:55 -03:00
Tulio Leao 9d09f1b95c Use ScreenCoordsXY on context cursor operations (#10364) 2019-12-14 22:52:18 +01:00
Abd Narane 1ace96ccc4 Add shortcuts for changing the scaling value. (#10341)
Fixes #10305
2019-12-13 17:31:23 +01:00
Tulio Leao c91bdadb47 Use ScreenCoordsXY on viewport interactions 2019-11-21 17:53:28 -03:00
Aaron van Geffen 91f91d4388
Merge pull request #10147 from AaronVanGeffen/implement/1164
Use available translations for shortcut keys
2019-11-04 13:07:34 +01:00
Aaron van Geffen d3b5214f95 Clarify user strings section in comment; add stylistic braces. 2019-11-04 12:09:36 +01:00