Stenzek
ce616f1c5c
Cheats: Reapply frame end codes immediately on reload
...
Otherwise you end up with a single frame where the old code is used.
2025-02-10 23:45:24 +10:00
Stenzek
36d5708391
GPU/HW: Fall back to replacements from first disc
...
So you only need one copy.
2025-02-10 23:45:24 +10:00
Stenzek
5fb5dcdd70
Achievements: Improve summary popup
...
Put hardcore mode notice on its own line, rather than in
parenthesis in the title.
2025-02-09 18:24:06 +10:00
Stenzek
46ae3e55ea
Cheats: Show disabled code count when HC/safe mode is active
2025-02-09 17:45:19 +10:00
Stenzek
4ce48abfc1
GPU/HW: Fix incorrect source rect for page replacements
2025-02-09 17:45:16 +10:00
Stenzek
8132c51a12
Cheats: Add 'Ignore' field to file format
...
Codes with Ignore set to true will not be listed/loaded.
2025-02-09 15:58:23 +10:00
Stenzek
4236beabaf
System: Fix setting-altering patches not applying on startup
2025-02-09 15:38:12 +10:00
Stenzek
901927d7fe
CDROM: Don't panic on unknown register read
2025-02-09 13:23:37 +10:00
Stenzek
94b2060979
GPU: Clear display texture on fatal error
2025-02-09 13:22:03 +10:00
Stenzek
06b02183cb
GPU/HW: Split transparent draws if dual-source blend unsupported
...
The ordering is not correct otherwise. Ape Escape has a bunch of
overlapping sprites that have a mix of opaque and transparent texels,
and the transparent texels are repeated multiple times when the
opaque texels should cancel them out.
Only affects old Mali drivers.
2025-02-09 13:07:53 +10:00
Stenzek
160c34ef28
CDROM: Avoid additional stat() call loading subchannel
...
And use BuildRelativePath() for title-based subchannel files.
Fixes flaky loading on Android, some devices return a zero-sized file
when querying a non-existant file.........
2025-02-08 15:54:38 +10:00
Stenzek
81bca06707
System: Add hash to OnGameChanged
2025-02-08 15:03:17 +10:00
Stenzek
f8c39ace1c
GPU/HW: Warning fix
2025-02-05 22:40:59 +10:00
Stenzek
bee2dabc77
Misc: Replace stringstream str() with C++20 move str()
...
No extra heap allocation/copy.
2025-02-05 22:38:48 +10:00
Stenzek
2cfc39e874
System: Move cheat reload to Initialize()
2025-02-05 22:13:51 +10:00
Stenzek
57cb2f846e
FullscreenUI: Fix system unpausing on shutdown
2025-02-05 20:03:58 +10:00
Stenzek
ecbb79c4bf
GPU: Add Lanczos scaling option
2025-02-05 20:01:26 +10:00
Stenzek
99e81f1559
GPU: Fix incorrect condition in WaitForOneQueuedFrame()
2025-02-05 19:31:01 +10:00
Stenzek
4ad2d0ac2d
GPU: Fix incorrect PAL overscan range
2025-02-03 19:31:23 +10:00
Stenzek
af277d4d14
Settings: Default to nearest sprite texture filtering
...
Instead of whatever the 3D texture filter is.
Less confusing since the UI is not disconnected when upgrading from very
old releases, or Android.
2025-02-02 22:57:31 +10:00
Stenzek
59773509af
System: Recreate memory save states when device options change
2025-02-02 22:54:32 +10:00
Stenzek
1f5a10371e
GPUThread: Handle rare race condition in frame queueing
2025-02-02 22:18:13 +10:00
Stenzek
4ceeb58dbc
GPU: Use display size for calculating internal screenshot size
...
Fixes detail being lost due to added padding when not cropping.
2025-02-02 17:14:35 +10:00
Stenzek
64d3716cfd
GPU: Further simplify draw rect calculation
...
Remove "Stretch Vertically" option, it was very confusing to users.
Integer scale will prefer whichever direction gets a larger draw
rectangle/preserves as much detail.
2025-02-02 17:02:58 +10:00
Stenzek
0c3d55a1a1
GPU: Fix incorrect PAR with overscan cropping
2025-02-02 16:07:06 +10:00
Stenzek
a5940b2e21
GPU: Use constants for display overscan range
2025-02-02 15:39:20 +10:00
Stenzek
24354cb39f
GPU: Fix more GPU thread-reading-CPU-thread-settings locations
2025-02-02 13:08:08 +10:00
Stenzek
804d90d48f
System: Fix overriding console region
2025-02-02 13:00:18 +10:00
Stenzek
b01c06b412
GPU/TextureCache: Prevent wrapping for replacement lookup
...
Fixes replacements for 8 and 16-bit textures placed in the right-most
page of VRAM.
2025-01-31 20:56:11 +10:00
Stenzek
635ae5de31
GPU/HW: Don't use sprites-as-fills for small/offscreen points
2025-01-31 19:50:33 +10:00
Stenzek
d65c4efdd8
GPU/TextureCache: Prefill dumped texture list with replacements
...
Allows skipping dumping replaced textures without replacements enabled.
2025-01-31 15:47:22 +10:00
Stenzek
b5925ab139
Achievements: Include any codepoints above 0x100 in dynamic range
2025-01-31 13:48:57 +10:00
Stenzek
03181d1179
GPUThread: Fix crash during FSUI language switch
2025-01-31 13:47:29 +10:00
Stenzek
96058f5d7e
System: Use recreation logic for toggling GPU threading
2025-01-31 12:56:19 +10:00
Stenzek
f7d7eecb6c
GPU/TextureCache: Fix replacements starting in second page
2025-01-30 13:33:00 +10:00
Stenzek
44a75d6586
GPUThread: Fix setting change crash with thread off
2025-01-30 13:32:32 +10:00
Stenzek
369879e685
Settings: Log when creating EmuFolders fails
2025-01-30 02:11:23 +10:00
Stenzek
aae7573e63
Achievements: Fix build with regtest
2025-01-30 02:10:49 +10:00
Stenzek
0d9e6bd482
FullscreenUI: Use effective value for achievement options enable
2025-01-30 01:18:47 +10:00
Stenzek
d314b25f91
System: Fix per-game achievements hardcore mode
...
By mostly reverting 4dd6365a99ee591c136bf2e36ef376013ee17b04, I didn't
think of all the implications. Not just per-game HC mode, but it's also
problematic on Android too.
2025-01-30 01:18:47 +10:00
Stenzek
02234715c5
FullscreenUI: Move UpdateRunIdleState() for system soft-fail to host
...
That way it's always in the correct state for e.g. memory card shutdown
confirmations.
2025-01-29 20:40:14 +10:00
Stenzek
4dd6365a99
System: Simplify HC disable confirm on startup
...
Use one path on all platforms, always asynchronous.
2025-01-29 19:19:53 +10:00
Stenzek
4da7692a2d
System: Adjust initialization order to better fit FullscreenUI
...
Fixes jankyness of rendering the landing page when trying to resume
a game with achievements active, or when loading state.
2025-01-29 19:19:53 +10:00
Stenzek
1b678d0ebc
FullscreenUI: Allow using right mouse button for 'back'
2025-01-29 19:19:53 +10:00
Stenzek
224cb6ac8e
FullscreenUI: Fix ClosePauseMenu() running on wrong thread
2025-01-29 19:19:49 +10:00
Stenzek
231ba050a2
GPUThread: Switch to borderless if exclusive fullscreen fails
...
Better than ending up windowed.
2025-01-29 18:20:41 +10:00
Stenzek
70c45f7cf8
GPU/TextureCache: Handle replacements larger than 256x256
...
I left this unfinished because it was a pain...
2025-01-28 17:36:00 +10:00
Stenzek
f58fa2297e
GPU/TextureCache: Only use a single palette record for C16
...
Stops C16 textures larger than 256x256 being split up.
2025-01-28 17:36:00 +10:00
Stenzek
b0c0d6444c
GPU/TextureCache: Fix parsing of C16 replacement names
2025-01-28 17:36:00 +10:00
Stenzek
7188ab863a
GPU/HW: Treat fill-like sprites as fills if TC is enabled
...
Umihara Kawase Shun clears the framebuffer with a single large
sprite, which causes the texture cache to think the pages have
been drawn.
2025-01-28 17:35:52 +10:00
Stenzek
d7c78eedce
GPU/HW: Fix box downsampling on OpenGL ES
2025-01-28 15:59:35 +10:00
Stenzek
0665cb5306
FullscreenUI: Further refine achievements login dialog
2025-01-27 13:34:45 +10:00
Stenzek
0e3668a7bb
GameList: Show achievement information in game list
2025-01-26 13:49:08 +10:00
Stenzek
6512ed8a8c
Achievements: Add offline tracking of progress and hash library
2025-01-26 13:49:08 +10:00
Stenzek
d4b0b7fc29
Achievements: Include rc_client version in user agent
2025-01-26 13:49:08 +10:00
Stenzek
6a09d6ecda
Achievements: Don't store hash as a string
...
This is needed to store achievement metadata in the game list.
2025-01-26 13:30:26 +10:00
Stenzek
2b7a4f8d19
Qt: Avoid game list refresh on shutdown
...
We only need to invalidate the entries that have had their play times
changed, not the entire list.
2025-01-25 19:45:42 +10:00
Stenzek
573b2eb529
SPU: Move device failure message to OSD
2025-01-24 14:54:57 +10:00
Stenzek
9666abc172
FullscreenUI: Hook up to disc change hotkey
2025-01-24 13:47:55 +10:00
Stenzek
dc5f85a34e
System: Display safe mode warning when toggling on
2025-01-24 12:50:35 +10:00
Stenzek
13c7b8542d
GPUThread: Fix starting big picture mode
2025-01-23 12:37:26 +10:00
Stenzek
4da1f613b6
System: Simplify CD speedup warnings
2025-01-23 12:22:32 +10:00
Stenzek
df8822760a
GPU/HW: Further tweaks to replacement alpha handling
...
We can't simply clear the alpha channel unconditionally here, because that
would result in any black pixels with zero alpha being transparency-culled.
Instead, we set it to a minimum value (2/255 in case of rounding error, I
don't trust drivers here) so that transparent polygons in the source still
set bit 15 to zero in the framebuffer, but are not transparency-culled.
Silent Hill needs it to be zero, I'm not aware of anything that needs
specific values yet. If it did, we'd need a different dumping technique.
2025-01-23 12:12:58 +10:00
Stenzek
9113a6e6a6
Qt: Add 'Multiple Devices' to automatic mapping
...
Also populate the "current device" label with the device from
the config when running the setup wizard, instead of always setting
the label to Keyboard.
2025-01-22 18:38:37 +10:00
Stenzek
89504b0184
GPUThread: Push settings through FIFO
...
Saves the std::function heap allocation.
2025-01-22 18:38:37 +10:00
Stenzek
f045a1742d
GPUThread: Fix order of updating state
...
Fixes unoverwritten textures not dumping on system shutdown.
2025-01-22 18:38:37 +10:00
Stenzek
8eaa1f312d
GPU: Fix overlay destination alpha with postfx
...
Also don't assume the image has premultiplied alpha.
2025-01-22 18:38:37 +10:00
Stenzek
0129679bb0
GPU: Reduce overdraw when using overlays
...
Clear the four borders individually instead of a blit over the
entire texture.
2025-01-22 18:38:37 +10:00
Stenzek
af58740f5d
System: Always display OSD warning messages
...
I regretted what I did in f2720b98dd5c781a0b028968fc7fa166279047b1
less than a week after I pushed the change.
As a compromise, only display the unsafe settings warnings on startup.
2025-01-22 18:23:10 +10:00
Stenzek
4e588bb6c1
GPU: Fix incorrect interface for postfx config
2025-01-21 20:55:26 +10:00
Stenzek
78f6e11b91
GPUThread: Skip debug window update on Android
2025-01-21 20:22:10 +10:00
Stenzek
19ca9cb47d
GPU/HW: Use texture loads for native resolution
...
Hopefully work around sampling precision issues in older AMD drivers
and Mali Midgard if we're lucky. But I don't have anything this old
to verify with.
2025-01-21 20:15:07 +10:00
Stenzek
080eccd8fc
GPUThread: Shutdown instead of panicing on switch failure
2025-01-21 20:12:38 +10:00
Stenzek
9c4b2112ae
GPU: Fix incorrect screen draw rect
...
Fixes loading screen in Alundra 2, as well as incorrect effective
PAR when using None crop mode.
2025-01-21 19:54:54 +10:00
Stenzek
fb3e290133
GPUDevice: Move exclusive fullscreen to features
...
Also fixes it not enabling in D3D12 renderer.
2025-01-21 19:12:44 +10:00
Stenzek
389276bb03
GPUDevice: Normalize supports_texture_buffers => texture_buffers
2025-01-21 19:06:59 +10:00
Stenzek
9d4789e082
FullscreenUI: Fix blank screen flicker starting game
...
Also returns to whichever menu the system boot was initiated from.
2025-01-20 23:17:24 +10:00
Stenzek
17b0da7283
GameList: URL encode custom properties paths with brackets
...
Fixes custom properties not applying on restart to games with
brackets in their paths.
2025-01-20 21:59:24 +10:00
Stenzek
78902d7632
FullscreenUI: Fix several more unsafe reads
2025-01-20 19:00:51 +10:00
Stenzek
f219b47e98
FullscreenUI: Use constant width/height scale on Android
...
Fixes achievement notifications being differently sized
depending on the screen rotation.
2025-01-20 00:01:46 +10:00
Stenzek
c03b6f3d84
Misc: Replace isspace() usage with StringUtil::IsWhitespace()
...
Avoids the UB if the character is negative (e.g. reading from a binary
file), as well as locale-specific rubbish.
2025-01-19 21:29:14 +10:00
Stenzek
7905793ae0
GPU: Use screen alignment for overlay instead of display rect
2025-01-19 21:13:16 +10:00
Stenzek
ade8bf7b3b
GPU: Fix overlay+postprocessing combination
2025-01-19 21:13:16 +10:00
Stenzek
9fdeeb3fb6
GPU: Add alpha blending support to overlay
2025-01-19 16:37:51 +10:00
Stenzek
9b8d2a88de
System: Required changes for Android
2025-01-19 15:31:58 +10:00
Stenzek
e1cbb50c64
GPU: Fix various capture/screenshot issues
...
- Simplify functions for rendering display.
- Post-processing should only when the target size matches the window.
Otherwise the shaders are constantly recompiled.
- Include border overlay in capture/screenshots when above condition
is satisfied.
- Relax video alignment size when using screen resolution + auto.
- Fix "Internal Resolution (Uncorrected)" capture mode.
2025-01-19 13:42:38 +10:00
Stenzek
725dcea05a
GPU: Fix crash toggling border overlays
2025-01-19 12:25:19 +10:00
Stenzek
6131ddbefe
GPU: Fill in unused/padded area in overlays
2025-01-18 22:59:49 +10:00
Stenzek
88b43370dc
GPUDevice: Replace explicit GL_PUSH/GL_POP with nested GL_SCOPE
2025-01-18 22:59:49 +10:00
Stenzek
e0a9bbe600
PostProcessing: Move into GPU presenter
...
Means that the renderer can be changed without reloading shaders,
and speeds up config change detection.
2025-01-18 22:59:48 +10:00
Stenzek
da13579356
GPU: Align presenter/backends to cache line
2025-01-18 22:59:48 +10:00
Stenzek
dd9788262e
GPU: Refactor display presentation workflow
...
Adds the ability to set overlays, and fixes postfx with prerotation.
2025-01-18 22:59:48 +10:00
Stenzek
6cba825bac
System: Add fatal error shutdown path
...
Switch to a null backend and shut down the system instead of crashing.
2025-01-18 22:59:48 +10:00
Stenzek
d52bf795e4
GPU: Split backend into Backend+Presenter
2025-01-18 22:59:48 +10:00
Stenzek
8f19ac2dee
System: Set rapidyaml error handlers on startup
...
That way it can be used in multiple places.
2025-01-18 22:59:48 +10:00
Stenzek
08d2586a86
System: Allow host to set async worker count
...
For regtest.
2025-01-18 22:59:48 +10:00
Stenzek
1481c1d231
System: Post-processing is shut down on GPU thread
2025-01-18 22:59:48 +10:00
Stenzek
b9822602b2
FullscreenUI: Show game icons in game list
2025-01-18 22:59:48 +10:00
Stenzek
f98b904c50
FullscreenUI: Add 'Set Cover Image' to game list
2025-01-18 22:59:48 +10:00
Stenzek
e34d23c8e7
FullscreenUI: Implicitly close non-multichoice dialogs
...
Also fixes disc swap using a multichoice instead of single.
2025-01-18 22:59:47 +10:00
Stenzek
a7ab53f02c
GPU: Fix GLSL ES compile error with weave deinterlacing
2025-01-18 22:59:47 +10:00
Stenzek
43e7be902c
Misc: Add missing error reporting to a couple of WriteBinaryFiles()
2025-01-18 22:59:47 +10:00
Stenzek
e8a4296fd6
FullscreenUI: Add missing settings lock acquire
2025-01-18 22:59:10 +10:00
Stenzek
e94973cd28
FullscreenUI: Fix disc swap running on GPU thread
2025-01-18 13:48:05 +10:00
Stenzek
fbb63a81a8
FullscreenUI: Change default background and add Strobe
2025-01-17 16:05:24 +10:00
Stenzek
7deaaa8b26
FullscreenUI: Use ImGui dialogs for boot failure
2025-01-17 14:30:22 +10:00
Stenzek
e554456a00
System: Fix blank display on pause-on-start
2025-01-17 14:20:37 +10:00
Stenzek
3be4f1983d
GPU: Fix playback of VRAM updates during draws
2025-01-17 13:22:40 +10:00
Stenzek
092b2803c5
GPU/HW: Flipping the mask bit test should flush
2025-01-16 23:50:40 +10:00
Stenzek
cd8a160d8d
GPU/HW: Clear alpha channel in opaque replacements
...
This is the value for bit15 in the framebuffer. Silent Hill
needs it to be zero, I'm not aware of anything that needs
specific values yet. If it did, we'd need a different dumping
technique.
2025-01-16 23:25:24 +10:00
Stenzek
add76c267a
Achievements: Fix request spam downloading own badge icon
2025-01-16 22:13:02 +10:00
Stenzek
c4a7456689
GPU/SW: Use no_unique_address for potentially-unused varyings
2025-01-16 22:13:02 +10:00
Stenzek
804b8ff777
CDROM: Remove redundant min()
2025-01-16 21:45:34 +10:00
Stenzek
10de915ae0
System: Remove 'sync_to_host_with_vsync'
...
Disabling the throttler with threaded rendering just leads to the CPU
thread pushing multiple frames, and getting backpressured from the GPU
thread. In other words, input lag.
2025-01-16 21:45:30 +10:00
Stenzek
074a8a2653
GPUThread: Fix input OSD with threaded rendering off
2025-01-16 21:38:45 +10:00
Stenzek
f6f709bcc5
System: Fix vsync preventing fast forward/turbo
2025-01-16 21:14:21 +10:00
Stenzek
93771981a6
FullscreenUI: Add sort alphabetically option to cheat page
2025-01-16 13:47:09 +10:00
Stenzek
79245b6cd6
FullscreenUI: Make footer text background semitransparent
2025-01-16 01:14:22 +10:00
Stenzek
45b500bc2c
GPU/HW: Fix draw call count spiking in some scenarios
2025-01-15 22:50:29 +10:00
Stenzek
3687697d0e
CPU/CodeCache: Only reset used portion of buffer
...
Saves writing 48MB every reset.
2025-01-15 21:02:56 +10:00
Stenzek
1952869cdc
Cheats: Author field should be exported
2025-01-15 21:02:56 +10:00
Stenzek
050bda8cd2
FullscreenUI: Fix scroll reset on resume state popup
2025-01-14 21:07:00 +10:00
Stenzek
135d99ac17
FullscreenUI: Fix incorrect help text
2025-01-14 21:07:00 +10:00
Stenzek
2fd89403f8
FullscreenUI: Name landing icon files after action
2025-01-14 19:05:18 +10:00
Stenzek
3130e16438
FullscreenUI: Add user-selectable backgrounds
2025-01-14 18:59:42 +10:00
Stenzek
ccb2b61444
FullscreenUI: Fix incorrect back button
2025-01-14 16:33:24 +10:00
Stenzek
3a13806f73
Hotkeys: Fix Toggle OSD hotkey
2025-01-14 13:49:49 +10:00
Stenzek
6db1dbbe02
GameList: Don't return nonexistant path on icon extract fail
2025-01-13 23:49:09 +10:00
Stenzek
0dc257abe4
System: Set time constraints for GPU thread on MacOS
...
Fixes erratic frame times.
2025-01-13 19:51:35 +10:00
Stenzek
d3854d095e
AnalogController: Use variant vibration icon for large motor
2025-01-13 19:49:56 +10:00
Stenzek
f6c7681ef0
ImGuiOverlays: Double buffer input OSD and add vibration
2025-01-13 16:49:31 +10:00
Stenzek
dd7fd32501
Controller: Add GetVibrationMotorState()
2025-01-13 16:49:14 +10:00
Stenzek
3476140ba2
GPUThread: Add BeginASyncBufferCall()
2025-01-13 16:08:20 +10:00
Stenzek
462a4a3b50
Controller: Refactor so that GetControllerInfo() can't return null
2025-01-13 16:07:43 +10:00
Stenzek
3621705933
Achievements: Ensure loading old states behave the same as new
2025-01-13 13:13:15 +10:00
Stenzek
8f39dbb464
Achievements: Fix race condition invalidating images
2025-01-13 13:03:41 +10:00
Stenzek
2f854de9d0
Qt: Invalidate FSUI cover cache when cover changed
2025-01-13 12:54:18 +10:00
Stenzek
738c96ffb3
FullscreenUI: Fix slot disappearing after delete in save state menu
2025-01-13 12:44:11 +10:00
Stenzek
ea82dacb0e
FullscreenUI: Fix a couple of GPU thread race conditions
...
State saving/loading, memory card state read on shutdown.
2025-01-13 12:44:06 +10:00
Stenzek
d3ee12d358
Achievements: Login error notification should be translatable
2025-01-12 19:16:22 +10:00
Stenzek
19ee37cd10
FullscreenUI: Render notifications on top of OSD
2025-01-12 19:14:59 +10:00
Stenzek
035762af94
System: Fix subimage change OSD message
2025-01-12 19:03:53 +10:00
Stenzek
be7cff5964
CDROM: Fix loading of subimage SBI files
2025-01-12 19:03:48 +10:00
Stenzek
e4dea69713
System: Drop state load OSD duration to quick
2025-01-12 17:50:33 +10:00
Stenzek
e43d7046ba
Achievements: Attempt relogin on system boot
...
And display an error notification if login fails, instead of
invalidating the token.
2025-01-12 17:50:33 +10:00
Stenzek
0f76543685
Achivements: Set rc_client log level from host log level
2025-01-12 16:54:58 +10:00
Stenzek
c43533f8d8
FullscreenUI: Extend achievement overlays to screen margins
...
Fixes overlays getting caught in rounded corners on Android.
2025-01-12 01:02:58 +10:00
Stenzek
ee1da343ab
GPU/HW: Use default initialization for BatchConfig
...
Reduce the risk of below...
2025-01-12 00:03:45 +10:00
Stenzek
9779cee934
GPU/HW: Ensure texture window bits are initialized
...
Fixes broken rendering after loading state or switching renderer in some
games, e.g. GTA2.
2025-01-12 00:03:18 +10:00
Stenzek
9c35b0e76d
FullscreenUI: Get rid of Timer global
2025-01-11 23:32:21 +10:00
Stenzek
234e1f721f
FullscreenUI: Improve controller settings page
...
- Add 'Clear Bindings' menu item.
- Show icons in controller types.
- Add confirmation to Reset Settings.
2025-01-11 21:29:04 +10:00
Stenzek
d6ce322eba
Controller: Use additional icons
2025-01-11 20:51:16 +10:00
Stenzek
d3bee3ce67
Qt: Rename 'Input Profile' to 'Controller Preset'
...
Hopefully more noob-proof?
2025-01-11 20:25:12 +10:00
Stenzek
2298227054
FullscreenUI: Add binding of vibration motors
2025-01-11 20:25:11 +10:00
Stenzek
6f9caa6b12
InputManager: Add proper binds for vibration motors
...
Instead of the janky "vibration capabilities" flag.
Fixes the "Clear Mappings" button not applying to vibration motors.
2025-01-11 20:25:11 +10:00
Stenzek
13b85728a0
Qt: Refactor input device/motor tracking
...
Remove multiple sources of truth.
2025-01-11 20:25:11 +10:00
Stenzek
4af5e96ff6
Controller: Remove analog-mode-start OSD message
...
It's arguably not very useful, and the sticks are mapped to the
dpad in digital mode anyway.
2025-01-11 15:15:01 +10:00
Stenzek
05b0b03fd6
Cheats: Order special characters before alpha characters
2025-01-11 12:51:33 +10:00
Stenzek
93a7e7cef5
Cheats: Add bounds check to 5107/5147
2025-01-11 12:40:46 +10:00
PugsyMAME
a26cac18e9
Cheats: Added register cheat types 5107 & 5147 ( #3352 )
...
This is new cheat type uses the general purpose cheat registers in a relative easy method to allow arrays of arrays cheats to be quickly created and will also cut down massively on cheats. For instance this method allows the following 15 cheats for Vandal Hearts II which would otherwise need 18886 separate cheats to replicate:
#Technique Slot Modifier\[MASTER] Select Slot Number for following cheats to act on (1 - 1349)
518500F1 001CF3C3
514500F2 0000000F
514500F3 0000????
514500F4 0000D0D0
OptionRange = 1:1349
#Technique Slot Modifier\Select Weapon
510700F1 000000??
OptionRange = 0x00:0xFF
#Technique Slot Modifier\Technique 1 Learned
510700F1 00020001
#Technique Slot Modifier\Select Technique 1
510700F1 000300??
OptionRange = 0x00:0xFF
#Technique Slot Modifier\Technique 2 Learned
510700F1 00040001
#Technique Slot Modifier\Select Technique 2
510700F1 000500??
OptionRange = 0x00:0xFF
#Technique Slot Modifier\Technique 3 Learned
510700F1 00060001
#Technique Slot Modifier\Select Technique 3
510700F1 000700??
OptionRange = 0x00:0xFF
#Technique Slot Modifier\Technique 4 Learned
510700F1 00080001
#Technique Slot Modifier\Select Technique 4
510700F1 000900??
OptionRange = 0x00:0xFF
#Technique Slot Modifier\Technique 5 Learned
510700F1 000A0001
#Technique Slot Modifier\Select Technique 5
510700F1 000B00??
OptionRange = 0x00:0xFF
#Technique Slot Modifier\Technique 6 Learned
510700F1 000C0001
#Technique Slot Modifier\Select Technique 6
510700F1 000D00??
OptionRange = 0x00:0xFF
#Technique Slot Modifier\100% (Max) Technique Learned
510700F1 000E0064
2025-01-11 12:37:03 +10:00
Stenzek
ccfc60ec94
GPU/HW: Remove extra barrier on VRAM download
...
Seems to work around download texture corruption on AMD/Vulkan/Windows.
2025-01-10 20:06:56 +10:00
Stenzek
18c90718c6
GPU/SW: Skip pixel load if none preserved
...
~12% performance improvement on Cortex-A35.
2025-01-10 18:46:05 +10:00
Stenzek
29934d62c4
System: Improve rewind behaviour
...
- Fix crash when rewinding before first state is saved.
- Always save a rewind state immediately after normal save state load.
- Don't toss the last rewind state when rewinding, that way there is
always at least one state to rewind to.
2025-01-09 23:46:06 +10:00
Stenzek
d25cffebd5
GPU/HW: Disable depth testing with semitransparency
...
But provide an option to enable it.
2025-01-09 21:45:14 +10:00
Stenzek
d9c9b3038d
GPU/HW: Fix ROV depth being written with semitransparency
2025-01-09 21:21:12 +10:00
Stenzek
7d2898b94c
GPU/HW: Exclude 2D polygons from depth buffer
...
Fixes UI getting obscured in Kingsley's Adventure.
2025-01-09 21:21:12 +10:00
Stenzek
1c9b9ca37a
GPUThread: Restore context after backend creation
...
Might help with random VRAM loss? I can't seem to reproduce it now..
2025-01-09 21:21:12 +10:00
Stenzek
40589dcd93
Settings: Add advanced option to set delay for max CD speedup
...
Affects both seeks and reads.
2025-01-09 21:21:12 +10:00
Stenzek
4449ae7904
Settings: Rearrange fields to avoid padding
2025-01-09 21:21:12 +10:00
Stenzek
bed3dd6950
FullscreenUI: Use span for DrawIntListSetting()
2025-01-09 17:54:12 +10:00
Stenzek
561397a53c
CDROM: Add 'maximum' read speedup option
...
"Instant" seek is now renamed to Maximum as well, for consistency.
2025-01-09 15:23:47 +10:00
Stenzek
87743c776d
FullscreenUI: Fix crash reloading postfx shaders
2025-01-08 15:29:56 +10:00
Stenzek
1daa60c64d
GPU: Use tristrips for presentation as well
2025-01-08 00:14:15 +10:00
Stenzek
670dc461c1
GPU/HW: Slight re-shuffling of field offsets
...
Free up some bits in the middle.
2025-01-07 23:20:26 +10:00
Stenzek
4c801c3ff3
GPUDevice: Move size-matches check into ResizeTexture()
2025-01-07 23:20:25 +10:00
Stenzek
b9186139d0
GPU/HW: Use sized tristrips instead of fullscreen quads
2025-01-07 23:20:25 +10:00
Stenzek
cae1ddc971
GPU: Ensure batches are flushed before presenting frame
...
Fixes occasional assertion failing when using the debugger.
2025-01-07 12:28:15 +10:00
Stenzek
0960160589
System: Don't check for subchannel with GPU dump
2025-01-06 21:17:27 +10:00
Stenzek
5ee069fc63
FullscreenUI: Add option to display PS buttons instead of Xbox
2025-01-05 16:00:15 +10:00
Stenzek
920f25427e
Qt: Simplify Fullscreen UI state tracking
...
Fixes application closing if the system was shut down while fullscreen.
2025-01-04 16:09:35 +10:00
Stenzek
78ccbc710c
Cheats: Fix error while exporting
2025-01-04 12:52:26 +10:00
Stenzek
db14824d61
System: Use task queue for saving states/screenshots/gpudumps
...
System shutdown no longer needs to block. Gets rid of the slight
hitch when shutting down and saving state with the Big Picture UI.
2025-01-03 20:16:38 +10:00
Stenzek
b2c8d25638
GPUBackend: Only display CPU thread blocked messages if queueing
2025-01-03 14:49:53 +10:00
Stenzek
88cd086633
Cheats: Eliminate extra newlines during code editing
2025-01-03 13:36:58 +10:00
Stenzek
e08dda0a0a
CPU: Declare state with constinit
2025-01-02 21:42:41 +10:00
Stenzek
fc5553a8c7
GTE: Improve reverse transform freecam
...
Transform the move direction, that way it behaves more FPS-camera like.
2025-01-02 20:56:22 +10:00
Stenzek
cd873eb6c1
GTE: Add 'Reverse Transform Order' option to freecam
2025-01-02 02:09:02 +10:00
Stenzek
3a64c5e4b3
FullscreenUI: Improve field alignment in achievements login
2025-01-02 01:07:18 +10:00
Stenzek
b21312867b
FullscreenUI: Fix popup sizes for postfx settings
2025-01-02 01:07:11 +10:00
Stenzek
179e2f1999
FullscrenUI: Fix field spacing scaling in game list view
2025-01-02 00:52:40 +10:00
Stenzek
0fdf984b71
GTE: Disable freecam on Android
...
Freecam is disabled on Android because there's no windowed UI for it.
And because users can't be trusted to not crash games and complain.
2025-01-02 00:38:29 +10:00
Stenzek
37e5e64ddc
System: Move state display updates to call sites
...
Fixes black frames when changing settings with runahead/rewind enabled.
2025-01-01 23:05:08 +10:00
Stenzek
f3b7686457
System: Fix crash with memory save states + renderer switch
2025-01-01 22:55:31 +10:00
Stenzek
5ac5a1d246
Hotkeys: Fix resolution scale with memory save states
2025-01-01 22:02:55 +10:00
Stenzek
dcd439e7d8
GTE: Add 'Free Camera' feature
2025-01-01 22:02:55 +10:00
Stenzek
a08acdb93a
System: Improve texture recycling when changing rewind/runahead settings
...
Fix suprious failures when changing rewind settings when low on VRAM.
2025-01-01 19:33:01 +10:00
Stenzek
57be62ffd1
FullscreenUI: Remove a couple of untranslated titles
2025-01-01 14:28:05 +10:00
Stenzek
884459d1cf
FullscreenUI: Fade alpha change when switching to postfx settings
2025-01-01 14:25:56 +10:00
Stenzek
ffef0c2e38
CPU/CodeCache: Don't compile invalid jumps via block links
2025-01-01 14:10:55 +10:00
Stenzek
f25302c847
CPU/Recompiler: Actually use fetch ticks for uncached EXP1
2024-12-31 17:29:40 +10:00