Commit Graph

170 Commits

Author SHA1 Message Date
Aaron van Geffen 255e89ec37 Refactor TitleScreen to TitleScene; introduce GameScene
Co-authored-by: ζeh Matt <5415177+ZehMatt@users.noreply.github.com>
2024-04-23 21:31:05 +02:00
Kaavya Ramachandhran 1b4defbae9
Fix #21696: Fullscreen window option not correctly applied on macOS 2024-04-23 23:20:16 +02:00
Gymnasiast fef1a27342
Remove GameState class 2024-04-04 18:12:35 +02:00
Harry Hopkinson ef9840f29b Replace static_cast with EnumValue 2024-03-04 15:37:20 +00:00
James103 1d8dc111f1
Replace 2023 with 2024 in copyright headers (#21139)
Replace all instances of the year 2023 with 2024 in all copyright headers
2024-01-01 12:52:28 +01:00
Aaron van Geffen d425e0a8bb Remove const qualifier from constexpr statements 2023-06-24 11:45:26 +02:00
Gymnasiast fc0e0d029a Use dpi ref in ui context and weather 2023-04-11 22:57:25 +01:00
Gymnasiast 16c5c1b752 Use dpi ref in interface folder 2023-04-11 22:57:25 +01:00
Gymnasiast f09df5a06a Use dpi ref in Graph.cpp and InGameConsole.cpp 2023-04-11 22:57:25 +01:00
ζeh Matt cc64ab530c
Fix #19811: Use the correct SDL event for window resize handling 2023-04-03 17:09:50 +03:00
ζeh Matt ec2f332b92
Fix #19445: Text not cleared using Ctrl+Backspace 2023-02-25 15:42:37 +02:00
Duncan e09f27df3c
Rename snake_case Class names (Remaining Bits) (#19237)
* Rename snake_case Class names

* Clang format

* Fix build issues
2023-01-21 19:57:17 +00:00
Duncan 859b071ddc
Rename classes with snakes OpenRCT2/A*-F* (#19215)
* Rename classes with snakes OpenRCT2/A*-F*

* Clang format files
2023-01-19 08:16:44 +00:00
Hielke Morsink 6b7dc8fcdb
Rename snake_case functions in openrct2/src folder
Co-authored-by: duncanspumpkin <duncans_pumpkin@hotmail.co.uk>
2023-01-17 13:24:51 +01:00
Duncan 8504c8d05e
Finish Removing snake_case from Drawing Methods 2023-01-16 22:31:34 +00:00
Gymnasiast 5309c80e29
Remove snake_case in interface folder 2023-01-16 22:20:41 +01:00
Hielke Morsink 6dafbbfb65
Rename global window functions to TitleCase (#19167) 2023-01-16 20:13:42 +00:00
Duncan 8a8d3105f3
Remove snake_case from first chunk of Drawing (#19164)
* Remove snake_case from first chunk of Drawing

* Address formatting
2023-01-16 13:50:43 +00:00
James103 73738bbdc8
Replace 2022 with 2023 in copyright headers
Replace all instances of the year 2022 with 2023 in all copyright headers
2023-01-01 11:58:01 +01:00
Duncan 482971710d
Apply code style to context functions 2022-11-06 21:49:07 +01:00
Hielke Morsink 5fa53ad528
Rename global config functions to use TitleCase 2022-10-16 21:46:08 +02:00
Hielke Morsink abac080d3e
Rename public general config data members 2022-10-16 21:46:01 +02:00
73 b9e677945d
Replace 20XX with 2022 (#18158)
* Replace 2020 with 2022

Replace all 2020 headers with 2022

* replace other years with 2022

add missing years
2022-10-01 08:42:14 +01:00
Hielke Morsink 7f29e4e39c
Make `rct_windowclass` strong type `WindowClass`
This already revealed some places where implicit conversions were done, including some where its use was nonsense (MouseInput.cpp).
The changes to the Intent class were necessary to keep things working, and this splits things up more neatly.
2022-08-21 18:38:25 +02:00
Michał Janiszewski a9fe4da279 Use SDL_ShowMessageBox's 'close' value for dummy UI context 2022-08-04 18:42:34 +02:00
Michał Janiszewski a6e84fab5c Add a message box with buttons to UiContext 2022-08-04 18:42:33 +02:00
Raymond Zhao 7399163a3c
Use more smart ptrs and u8strings (#17611)
* Use smart ptr for PlatformUiContext and WindowManager

* Remove more delete calls

* Apply PR feedback
2022-07-28 18:19:38 +01:00
Cory Sanin 05f1007dd9
Fix #16989: Re-focusing maximised window triggers a restore and maximise
Fixes #16989 by removing an SDL hack. Originally added to address issue #2158, I can't reproduce this issue with the hack removed. Tested on Linux (by CorySanin) and Windows (by Broxzier).
2022-07-02 21:48:43 +02:00
Hielke Morsink 1fc2312abd
Move most command logic from sequence player
This commit also moves everything related to the OpenRCT2::Title namespace.

Can be compiled with ENABLE_SCRIPTING disabled.
2022-06-28 21:57:26 +02:00
Ted John 585ebed600
Fix #17297: Crash when switching language (#17370)
* Refactor all uses of IAudioChannel and the audio mixer.
* Use shared_ptr to avoid dead pointers hanging about.
* Reload particular audio channels where necessary after object reload.
2022-06-27 17:41:53 +01:00
Ted John b441cf768c
Log SDL2 version on startup 2022-05-10 21:54:04 +02:00
Tulio Leao 397bc51e68 Rename _sdlfsFlags to _sdlFullscreenFlags 2022-03-18 00:38:26 -03:00
duncanspumpkin f835a5b521 Apply clang-tidy to static variables 2022-03-18 00:38:26 -03:00
Michael Steenbeek 5edc561715
Close #11437: Migrate old platform methods 2022-02-18 21:57:00 +01:00
Gymnasiast 98cd39a375
Always use SNN for non-integer scaling 2022-01-24 17:46:22 +01:00
ζeh Matt 94e20ba7fe
Rename some Update functions to Tick 2021-12-13 19:04:48 +02:00
Hielke Morsink 9dd20ec619
Improve array formatting
For most of these cases, adding a trailing comma to the array block makes clang-format put each item on a new line, and clang-format exception blocks could be reduced where clang-format does not handle them properly.
2021-10-17 18:21:45 +02:00
ζeh Matt 05e58cda11
Merge pull request #15538 from ZehMatt/feature/parallel-draw
Implement multithreaded drawing
2021-10-09 05:53:48 -07:00
Gaven Rendell 86cf0dc916 Remove Windows check 2021-10-08 21:27:48 +01:00
Gaven Rendell 33fa31e6d0 Exclude Win/Mac from ignoring mod key 2021-10-08 21:25:36 +01:00
Gaven Rendell 7787bb46e0 Handle mod key edge-cases in tiling WMs
This commit ignores keypresses when the mod key is held.

The reasoning is that an odd interaction happens between SDL applications and
tiling window managers. Tiling window managers like Xmonad and i3 usually use
the mod ("windows") key and a number to change workspaces. When changing
workspaces, however, the WMs still send the number key through instead of
"eating" it. It's not clear why, exactly, but it seems universal.

Mod+1 -> Goes to workspace #1
Mod+2 -> Goes to workspace #2
...
Mod+9 -> Goes to workspace #9

Most applications don't even see the number key being sent, so if you move to
workspace 1, Firefox won't type "1" into the browser bar, Vim won't type "1"
into your file, etc. But SDL applications, for whatever reason, DO see this
keydown. Of course, they'll handle it like a regular key press. So if you move
to workspace 1, which contains OpenRCT, it inadvertently toggles x-ray mode.

I first found this bug in another SDL game, The Powder Toy. After some
discussion with the devs, they fixed it like this, by ignoring keydown events
when the mod key is pressed, since the mod key is reserved for the window
manager anyway. It works well and should be in the next release.

c7619387ac...93b920a57f

I did the same thing here.
2021-10-08 21:25:33 +01:00
ζeh Matt a0e7752f26
Pass rct_drawpixelinfo explicit to avoid races 2021-10-06 23:48:07 +03:00
Hielke Morsink c887a049d2
Fix various Cppcheck warnings (#15081) 2021-07-24 23:41:50 +02:00
Ted John b3f6437092 Apply suggestions from code review 2021-02-21 03:14:19 +00:00
Ted John cacfb8be07 Refactor dead key handling 2021-02-21 03:14:19 +00:00
Gymnasiast d5eb1cc036 Fix dead key handling
This fixes deadkey handling on at least US International on Linux.
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 e7ae9f9f15 Read legacy shortcuts and move to constants 2021-02-21 03:14:17 +00:00
Ted John 9964df5335 Implement gamepad support 2021-02-21 03:13:28 +00:00
Ted John c8f31dea7f Process keyboard input events 2021-02-21 03:13:28 +00:00