Commit Graph
392 Commits
Author SHA1 Message Date
Henrik RydgårdandClaude Opus 5 be834b4446 Ban freeze-frame in hardcore mode, and tell the user when a savestate is refused
Freeze-frame restores a savestate every frame, straight through
SaveState::LoadFromRam(), so it never touched the operation queue and neither
hardcore check saw it. Blocked at the toggle in the dev menu, and again in the
render loop, since hardcore mode can come up after the fact once the game has
been identified.

Enqueue also just dropped operations silently, so a load that arrived through a
path with no check of its own (--state, auto-load) did nothing with no
explanation. Both it and Process now go through WarnUserIfHardcoreModeActive,
which is the same predicate plus the standard message. Callers that already ask
it themselves return before reaching Enqueue, so nothing shows the message twice.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GgACRqkQNpfJQ4fjwyoEup
2026-09-05 13:29:50 -06:00
Henrik Rydgård d789696405 Fix the restart-into-a-screen arguments, broken by the cmdline refactor
Centralizing command line parsing replaced the hand-rolled --gamesettings and
--touchscreentest argv checks in NativeInit with a single --start-screen=<name>
option, and made an unrecognized "--" argument a hard parse error. The two
System_RestartApp callers still passed the old flags.

So changing the graphics backend killed PPSSPP for good: the new process starts,
fails to parse --gamesettings, and returns 1 from WinMain before a window ever
exists. The error goes to stderr, which nobody sees in a GUI build, so it just
looks like the app quit instead of restarting.

Restarts that pass no arguments (the memstick screen, and the edit-then-restore
path) were unaffected, since an empty argument string makes ExitAndRestart reuse
the original command line.

Also move the TouchTestScreen push inside the touchscreentest branch - it looks
like a brace that didn't move during the refactor, and it would otherwise push a
touch test screen for every --start-screen value.
2026-09-05 08:28:43 -06:00
Henrik Rydgård 7219cd2f5a Split off ScreenManager from Screen.cpp 2026-08-07 14:30:36 +02:00
Henrik Rydgård 1833b51b98 Dev tools: Shader viewer: Add button to copy generated shader code to clipboard 2026-07-13 12:42:32 +02:00
Henrik Rydgård 7e61f82826 Cleanup the output of the pipeline analyzer 2026-07-10 19:07:30 +02:00
Henrik Rydgård 28b2b1793b Pipeline checker: Add support for checking for identical pipelines with different vertex formats
This turned out not to be very fruitful.
2026-07-10 19:07:27 +02:00
Henrik Rydgård aab24e67e4 Add a crude pipeline difference analyzer, to see what shaders it may payoff to merge. 2026-07-10 12:11:17 +02:00
Henrik Rydgård 78f80a0010 Some tweaks to avoid name collisions in upcoming commits 2026-07-10 12:11:17 +02:00
Henrik Rydgård 0c7ff6000d Remove geometry shader tab from DevScreens.cpp 2026-07-08 18:25:08 +02:00
Henrik Rydgård 1a35a42b2d Minor code modernization 2026-07-08 18:25:08 +02:00
Henrik Rydgård 72ee82844d Doesn't yet work 2026-06-24 23:04:17 +02:00
Henrik Rydgård a722139bd9 Don't CancelAll downloads on StoreScreen close 2026-06-13 15:13:29 +02:00
Henrik Rydgård 45f41be8f0 Add a debug window to check active compat flags 2026-06-05 17:55:28 +02:00
Henrik Rydgård a317890c08 Remove the GPUDebugInterface class
Just a pointless extra layer in the class hiearchy, making it
unnecessarily hard to modify the interface.

Might as well hit GPUCommon directly.
2026-06-02 11:15:08 +02:00
Henrik Rydgård f38c851383 Add support for "Meta" modifier (command key on Mac, Win key on windows, etc) 2026-04-27 20:46:48 +02:00
Henrik Rydgård 160e2c4f9b Refactor: Call GetLayoutBounds on the screen instead of the context where possible.
This will allow screens to influence the layout bounds in a unified way
2026-03-14 13:07:48 +01:00
Henrik Rydgård abb70094ee Fix two untranslatable strings
See #21356
2026-03-05 23:09:46 +01:00
Henrik Rydgård 19a0441299 Fix crash in NPDRM iso detection (by rejecting invalid values and checking the header) 2026-02-17 15:27:56 +01:00
Henrik Rydgård 1846163985 Replace Path::ToVisualString with GetFriendlyPath which shortens. Much better on iOS 2026-02-13 21:16:00 +01:00
Henrik Rydgård 18a67b82d2 Do the same with KeyInputFlags. Fix minor UI misalignments 2025-12-19 13:41:58 +01:00
Henrik Rydgård 481d0fd18c Switch TouchInputFlags to enum class, fix some minor UI issues
Scroll views now only wheel-scroll if the mouse is hovering over them.
2025-12-19 11:38:56 +01:00
Henrik Rydgård e9afd51f34 New layout for log channel chooser 2025-11-23 01:15:07 +01:00
Henrik Rydgård defd21cc90 Android: Rework UI insets handling (#21007)
* During game load, place the loading screen where the game will appear

* Android: Merge NativeActivity into PpssppActivity

* Rework window insets handling on Android

* Main screen: Display the path on its own line in portrait mode

* Make the "Fullscreen" setting on Android separate between portrait and landscape
2025-11-16 10:43:58 +01:00
Henrik Rydgård 7d23626f28 Convert FrameDumpTestScreen to use a TabbedDialog 2025-11-09 09:27:37 +01:00
Henrik Rydgård 75020e2ed7 Add ability to put icons on tabs 2025-11-05 14:42:49 +01:00
Henrik Rydgård 2b9f2672bb UI screens header cleanup 2025-10-29 00:15:41 +01:00
Henrik Rydgård 7ffd72b32e Rename some screen classes 2025-10-29 00:02:43 +01:00
Henrik Rydgård c686d48268 Add prototype Upload screen and a couple new icons. Some refactoring. 2025-10-27 12:20:20 +01:00
Henrik Rydgård 28b9bc2fb3 Make more dev screens usable in portrait by converting them to TabbedDialogScreen 2025-10-23 15:33:09 +02:00
Henrik Rydgård 7b743071d2 Prepare for adding more sensible back buttons to TabbedDialogScreen portrait mode 2025-10-23 12:46:07 +02:00
Henrik Rydgård 115c87d11c Android buildfix 2025-09-23 12:10:15 -06:00
Henrik Rydgård 9ac80460d2 Break out the SystemInfoScreen from DevScreens.cpp 2025-09-23 11:21:32 -06:00
Henrik Rydgård 92f5db7445 Remove further references to the fixed ui_atlas. CMakeLists.txt improvements. 2025-09-17 09:56:17 -06:00
Henrik Rydgård 58456ae950 Remove the UI::EventReturn return values. Makes editing the UI nicer. 2025-09-15 11:09:00 -06:00
Nab 5200ace606 GUI margin and Back button adjustments 2025-09-07 20:10:50 +02:00
Henrik Rydgård d43b1d4618 String function cleanup 2025-08-31 14:45:41 +02:00
Henrik Rydgård 3895bab1dc Fix more translation issues 2025-08-29 22:52:17 +02:00
Henrik Rydgård b5595ea450 Add simple imgui log window (just reads the short log ring buffer) 2025-08-29 00:04:54 +02:00
Henrik Rydgård 58198dae6c Bump langtool cargo.lock, update comment 2025-08-24 11:17:19 +02:00
Henrik Rydgård f6050a442c Fix serving the remote debugger locally, add a setting for the auto-launcher 2025-08-24 11:17:19 +02:00
Henrik Rydgård 23314d1d1a Add shortcut to access the remote debugger from the built-in devmenu 2025-08-24 11:17:18 +02:00
Henrik Rydgård 474a5a1329 Warn the user if the desktop display refresh rate is set too low.
Thanks to Arethien on Discord for highlighting this problem.
2025-08-21 10:47:24 +02:00
Henrik Rydgård e0303ce999 Fix minor UI issue when displaying system DPI.
See #20593
2025-07-20 11:29:20 +02:00
Henrik Rydgård 5d98e02d9b Add more info about the output audio stream to System Information.
Plus another channel number fix
2025-06-19 01:20:16 +02:00
Henrik Rydgård 6cfea96e58 Remove D3D9 support, to make future changes easier 2025-06-10 15:07:16 +02:00
Henrik Rydgård e4254b9570 Add some small debug counters that can be sent out through the assert message on Android
To enable more understanding of how some crashes could happen.
2025-06-03 12:01:47 +02:00
Henrik Rydgård 0533bb1c17 Quick crashfix in the system info "internals" tab 2025-05-29 18:44:31 +02:00
Henrik Rydgård d07a542d85 Fix strings pointed out by TotalCaesar659
See #20402
2025-05-26 20:23:46 +02:00
Henrik Rydgård 09e067c6e1 Revert "Get rid of remains of support for non-square screen DPIs"
This reverts commit f206ed95eb.
2025-05-21 21:41:50 +02:00
Henrik Rydgård 95550ed624 Don't create a FileLoader just to check if launched files are zip files. Snappier launches. 2025-05-15 09:48:23 +02:00