Commit graph

104 commits

Author SHA1 Message Date
Henrik Rydgård
d58138c585 SDL: Enable KEY_CHAR processing when imgui is active 2025-01-09 14:41:39 +01:00
Henrik Rydgård
15b63aa812 Run the imgui processing early in the frame, only do the rendering late 2024-12-15 00:17:26 +01:00
Henrik Rydgård
080798b5dd Move out two more functions from Core.cpp. Clean up Windows includes 2024-12-08 12:12:02 +01:00
Henrik Rydgård
b3d08977d5 Delete unused code 2024-12-08 11:25:00 +01:00
Henrik Rydgård
8831d4bfe7 ImGui: Implement Shift/Ctrl/Alt modifier support 2024-11-25 00:23:28 +01:00
Henrik Rydgård
0e3c1df9b3 Add a way to access the ImDebugger from the DevMenu 2024-11-21 15:48:18 +01:00
Henrik Rydgård
39a07a033c Make imdebugger visibility a config option instead of emuscreen state 2024-11-12 12:20:47 +01:00
Henrik Rydgård
cf6d06c56a Start work on imdbg 2024-11-07 11:10:12 +01:00
Henrik Rydgård
8dba3a50f7 imgui: Code cleanup, fix clean shutdown 2024-11-05 11:27:16 +01:00
Henrik Rydgård
8da1ccc3de Hook up basic keyboard and mouse input 2024-11-04 23:14:39 +01:00
Henrik Rydgård
4b66a80d2b More work, starting to integrate into the EmuScreen 2024-11-04 23:14:39 +01:00
Henrik Rydgård
6d3849bc48 Add a "Back" button to the crash screen for convenience 2024-10-03 18:55:22 +02:00
Henrik Rydgård
42914c3d7c Try to make Frame Advance a bit more reliable 2024-09-18 15:17:20 +02:00
Henrik Rydgård
c38ce2a5be Fix an issue when bringin up the dev menu with transparent background disabled 2024-05-11 21:28:26 +02:00
Henrik Rydgård
902b73698f Slight improvement to extra assert info (set special info on pause screen) 2024-01-18 23:00:43 +01:00
Henrik Rydgård
25ab7b9170 Fix a bunch of edge cases 2023-12-11 15:58:08 +01:00
Henrik Rydgård
e8f70594a4 Implement running the game in the background on the pause screen. Fix some bugs. 2023-12-11 12:41:44 +01:00
Henrik Rydgård
6d51fbc1e6 Refactor UI background rendering. There's now a BackgroundScreen. 2023-12-10 22:26:46 +01:00
Henrik Rydgård
0ff0ad9140 Remove preRender/postRender methods from screens, in favor of a mode parameter. 2023-12-10 14:09:55 +01:00
Henrik Rydgård
22295a6412 Plumb through a ScreenRenderMode parameter 2023-12-10 13:05:17 +01:00
Henrik Rydgård
707670cfcf Fix time tracking during pause 2023-11-26 19:49:21 +01:00
Henrik Rydgård
0ad2827e14 Vulkan: Fix synchronization when shutting the GPU down in-game. 2023-10-11 12:27:39 +02:00
Henrik Rydgård
19e4de5088 Change global UI messages to use an enum instead of strings.
Makes it easier to add new ones and delete outdated ones without missing
any uses.
2023-09-30 11:37:02 +02:00
Henrik Rydgård
ee93e4a2ca Batch axis events all the way into ControlMapper 2023-09-29 11:14:19 +02:00
Henrik Rydgård
8784ece623 Fix the chat window closing on pressing the X key.
It's better to handle the chat window on the queued event path.
2023-09-12 10:25:04 +02:00
Henrik Rydgård
109205a56a Add return value to UnsyncTouch 2023-09-04 11:00:06 +02:00
Henrik Rydgård
d6552a7673 Implement an "OverlayScreen" concept. OSD can now render on top of other screens than EmuScreen. 2023-06-20 10:44:47 +02:00
Henrik Rydgård
3715b1ffa1 Split the functions up, so you don't have to care about the Unsync ones at all in most cases while still getting synced behavior. 2023-05-26 18:41:13 +02:00
Henrik Rydgård
ca300a4dfd More callback fixes 2023-03-31 11:05:33 +02:00
Henrik Rydgård
26bf40c497
ControlMapper: Change the callbacks to be more suitable for the upcoming refactor. (#17209)
* ControlMapper: Change the callbacks to be more suitable for the upcoming refactor.

* SetAllButtons: Separate bits to set and bits to clear.

* Oops, missed committing some files somehow
2023-03-30 10:47:28 +02:00
Henrik Rydgård
07114c6aaf Remove return value from axis functions in API 2023-01-10 10:12:37 +01:00
Henrik Rydgård
a3a949f5e6 Remove touch() return values from screen hierarchy 2023-01-10 10:12:37 +01:00
Henrik Rydgård
9f3851678e Add tags to all our UI screens. Useful to debug UI problems. 2022-09-16 10:14:00 +02:00
Unknown W. Brackets
9403947b67 UI: Decouple new chat display and tracking logic. 2021-09-14 18:08:16 -07:00
Unknown W. Brackets
f45c5186ca UI: Move the chat message box to just a view.
Instead of being a popup.  This should make it easier to make sure things
work normally, and avoids some of the strange overrides of PopupScreen it
previously had.
2021-09-12 19:44:44 -07:00
Unknown W. Brackets
eb8a239616 UI: Show a reset button on the crash screen. 2021-08-08 23:03:19 -07:00
Henrik Rydgård
ef51097f06 Move auto-rotation code to ControlMapper so it can be checked using the new screen 2021-07-09 16:14:51 +02:00
Henrik Rydgård
98372c465f Break out EmuScreen's key/axis inputs to ControlMapper.cpp/h
Additionally, break out the analog stick mapping to the same file.

This will make more sense soon when I change where the analog mapping
is called from, but want this refactor in separately for testing.
2021-07-08 22:24:00 +02:00
Unknown W. Brackets
b0de7ee0e1 UI: Move to ScreenManager for mapping.
Otherwise we'll detect repeated axis for some devices and you won't be
able to map what you want.
2021-05-23 15:18:21 -07:00
Unknown W. Brackets
e1e5a8b49b UI: Ignore duplicate axis events.
We already ignore these on Windows, so this makes other platforms follow
the same logic.
2021-05-23 13:21:45 -07:00
Henrik Rydgård
025bcb1673 Introduce Path, start using it all over the place.
Still lots left to convert!

Convert GetSysDirectory to return Path.

More buildfixing

Remove unnecessary Path( constructors
2021-05-13 10:39:16 +02:00
Unknown W. Brackets
63edd037d7 Ctrl: Apply analog limiter to real sticks too.
Previously only applied to virtual analog by button, but there's no
particular good reason for that.
2021-05-08 13:34:07 -07:00
Unknown W. Brackets
92d0454133 UI: Make chatButton_ a member of EmuScreen.
No need for a global here.  This should prevent any confusion if the
screen is deleted (i.e. playing a second game.)
2021-02-15 20:37:24 -08:00
Henrik Rydgård
6c8ee35826 Crash screen: Add a very dangerous and inaccurate "Resume" function.
Not sure if there's much point really but maybe..
2020-12-19 20:27:39 +01:00
Henrik Rydgård
1640a39de8 Add developer setting "Show on screen messages". Uncheck to hide them.
Fixes #13682.

Might move to system settings or something next release, don't want to
cause a mess in translations.
2020-11-22 19:08:14 +01:00
Henrik Rydgård
4f43cff5ca
Move fileutil, net, image loaders, ui to Common. (#13506)
* Move and rename file_util/fd_util to Common/File/FileUtil and DirListing

Let's also move net while we're at it.

Move the ZIM/PNG loaders over to Common.

Move the UI framework into Common

iOS buildfix

* Buildfix

* Buildfixes

* Apple buildfix

* This typo again..

* UWP buildfix

* Fix build of PPSSPPQt, such as it is (it's not in good condition...)

* Guess what? Another buildfix.
2020-10-04 20:48:47 +02:00
Henrik Rydgård
9e41fafd0d Move math and some file and data conversion files out from native to Common.
Buildfixing

Move some file util files

Buildfix

Move KeyMap.cpp/h to Core where they belong better.

libretro buildfix attempt

Move ini_file

More buildfixes
2020-10-04 09:12:46 +02:00
Henrik Rydgård
342ed97291 Move input utilities from native to Common/Input. 2020-10-01 09:42:32 +02:00
iota97
e7bcf9a4c2 Use 2 different button for CW and CCW 2020-03-23 09:24:36 +01:00
iota97
45da319ce7 Auto rotating analog 2020-03-23 00:45:22 +01:00