Henrik Rydgård and Claude Opus 5
4132c185f4
GameInfoCache: Synchronize the rest of the worker's writes
...
The work item wrote title, id, id_version, region, errorString, hasConfig and
gameSizeUncompressed with no lock held, while the main thread reads them under
info->lock. title is the sharp one - an unsynchronized std::string write against
a locked read in GetTitle()/GetDBTitle() is a real data race, not just a stale
read. SetTitle() already existed and was used in exactly one of the six places.
The two expensive calls (HasGameConfig, which hits the file system, and
GetSizeUncompressedInBytes) stay outside the lock - the main thread takes it
every frame, so blocking on I/O under it would show up as UI stutter.
PurgeType read hasFlags/fileType/pendingFlags under mapLock_ only, racing the
worker's MarkReadyNoLock. It also erased entries without dropping their
textures, unlike Clear() - so a work item that finished just before PurgeType
took the lock could be left holding the last reference, and ~GameInfo would
then release GPU textures on a worker thread.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01FzzCUp8y1ahgVueb1Cq92Y
2026-08-29 00:05:42 +02:00
Henrik Rydgård
63ef2a7498
Hide savestate controls if you are running a frame dump
2026-08-09 19:03:08 +02:00
Henrik Rydgård
7219cd2f5a
Split off ScreenManager from Screen.cpp
2026-08-07 14:30:36 +02:00
Henrik Rydgård
2c73aead45
Minor code cleanup on pause screen
2026-08-07 08:49:29 +02:00
Henrik Rydgård
ecce9baffa
Fix some pause screen issues
2026-07-30 18:44:44 +02:00
Henrik Rydgård
9fb0973852
Unrelated UI fix
2026-07-18 11:57:48 +02:00
Henrik Rydgård
497baecc9e
Correct OnVkey locking on PauseScreen as well
2026-07-12 11:31:29 +02:00
Henrik Rydgård
48068384fe
Add ugly hack to prevent double-trigger of ESC to close the pause screen
2026-06-28 12:21:51 +02:00
Henrik Rydgård
02e9deb232
Fix some input behavior that got lost in the previous commits.
2026-06-24 21:48:44 +02:00
Henrik Rydgård
02aaa3b2b9
Don't have pauseTrigger as an output parameter from ControlMapper::Key()
2026-06-16 10:57:52 +02:00
Henrik Rydgård
6d98293be9
Hide orientation controls on large Android 17 devices, since they won't work.
2026-06-15 10:37:58 +02:00
Henrik Rydgård
78a6bd7157
Add DevMenu to the three dots menu on the pause screen
2026-06-05 17:19:06 +02:00
Henrik Rydgård
9f5d28ca6e
Fix toggling pause with the bound pause key
2026-06-03 18:49:13 +02:00
Eloren1
109d1caa50
Separate TriggerFinish from parent result
2026-05-31 22:05:53 +03:00
Eloren1
938029cd6a
Add screenshots + extract LoadStateConfirmScreen
2026-05-31 21:55:06 +03:00
Eloren1
7734c5f8f5
Call TriggerFinish on next frame outside popup
2026-05-31 20:27:07 +03:00
Eloren1
23aef44ae1
UI: Add load state confirmation option
2026-05-31 19:32:41 +03:00
Henrik Rydgård
231aefe476
Code cleanup for save state notification, add metadata field
2026-05-19 11:07:07 +02:00
Henrik Rydgård
6eb0b3fd51
Fix an issue with Exit icon not showing up in MessagePopup
2026-05-13 11:04:03 +02:00
Henrik Rydgård
e0a5a3e2bf
iOS: Add basic deep link support.
...
Fixes #21577
2026-04-28 22:17:24 +02:00
Henrik Rydgård
9793172eba
More UI refinements
2026-04-07 20:52:38 -06:00
Henrik Rydgård
9cb9e3ad9b
Pause screen UI fixes, add link to relay server status
2026-04-06 13:29:42 -06:00
Henrik Rydgård
cfc5d74602
Some progress with server status UI
2026-03-30 11:34:19 -06:00
Henrik Rydgård
179aaa06cc
Fix accidentally missing undo button on the savestate popup. Make sure the timestamp updates, too.
2026-03-13 20:14:21 +01:00
Henrik Rydgård
f2ebcf42cb
On the pause screen, ask for confirmation when creating configs. Too easy to slip and do by accident.
2026-03-12 15:41:24 +01:00
Henrik Rydgård
cf9ee07b8e
Adhoc: Forgot that we have to load the server list in-game to check the connection mode
2026-03-09 00:44:56 +01:00
Henrik Rydgård
892ef99daa
Misc cleanups and fixes
2026-03-04 14:41:59 +01:00
Henrik Rydgård
52ec01994d
Add icons to the buttons on the save state popup. Flip the undo buttons to match the regular buttons.
2026-02-28 11:40:55 +01:00
Henrik Rydgård
8eeb64c9dc
Fix a bug in gridlayout column count computation, fix layout problem on savestate popups.
2026-02-25 14:28:57 +01:00
Henrik Rydgård
f13d339ed3
Set the CRC banner on the game screen to fit contents, instead of the screen.
...
Also make sure it's not visible when it shouldn't be
2026-02-25 00:52:25 +01:00
Henrik Rydgård
7ea2265ff3
Make the undo save/load buttons not scroll with the savestate list
2026-02-24 00:56:45 +01:00
Henrik Rydgård
22f2e69d0a
Integrate the exit reminder (you haven't saved..) in warnings from setting that require restart
...
Part of #21223
2026-02-24 00:56:45 +01:00
Henrik Rydgård
e0ed2bfd41
Additional pause screen flicker fix
2026-02-19 16:17:03 +01:00
Henrik Rydgård
f359c1b3b1
More flicker elimination on pause screen
2026-02-19 00:15:49 +01:00
Henrik Rydgård
e1c80373d6
Fix minor flicker when closing menus on the pause screen
2026-02-18 15:40:55 +01:00
Nab
0b51d74bb2
Add icon to Create new shortcut option
2026-02-14 17:40:05 +00:00
Henrik Rydgård
d446d1c26c
Have the pausescreen listen to the control mapper, for the pause key
2026-02-12 23:43:49 +01:00
Henrik Rydgård
e1b638aaab
Minor UI tweaks
2026-02-11 23:33:39 +01:00
Henrik Rydgård
c029faa8a3
Merge pull request #21233 from hrydgard/misc-fixes
...
Fix R-Type saving problem, redesign the run-behind button on the pause screen
2026-02-10 13:12:09 +01:00
Henrik Rydgård
edaab592cc
Pause screen: Make the run-behind play/pause button outlined, to differentiate
2026-02-10 10:46:48 +01:00
Henrik Rydgård
09b087f16f
Resume gameplay immediately after choosing Reset on the pause screen.
2026-02-10 00:22:09 +01:00
Henrik Rydgård
c20f24c5be
Remove ... from "Edit touch control layout". Increase default grid size on iOS
2026-01-29 21:53:22 +01:00
Henrik Rydgård
e7aba8f153
Hook up an InputDeviceListener, and just have it log
2026-01-25 23:02:12 +01:00
Henrik Rydgård
34938e3de6
Move Notice to Common/UI
2026-01-25 15:10:26 +01:00
Henrik Rydgård
685b6e2140
Minor visual cleanup on pause screen
2026-01-23 14:10:29 +01:00
Henrik Rydgård
8b8c776491
Fix visual issue with rotation button on the pause screen
2026-01-19 17:00:41 +01:00
Henrik Rydgård
11c63738ae
Implement the "Auto load savestate" display from #21082
2026-01-09 12:27:37 +01:00
Henrik Rydgård
f1f931551a
Add a "Savestate slot count" setting.
2026-01-09 12:20:39 +01:00
Henrik Rydgård
2b78509986
Fix the back button resuming the game on the pause screen
2026-01-09 12:20:39 +01:00
Henrik Rydgård
884d3c46d5
Rework listing of savestates - a single scan operation instead of lots of File::Exists and ModTime calls.
...
Needed to improve scalability on Android for when we increase the number
of states.
2026-01-09 11:17:21 +01:00