Stenzek
0faa9cf650
Build: Add Devel configuration
...
Gets you debug assertions and logging, while still producing an
optimized executable.
2024-12-01 23:21:33 +10:00
Stenzek
7c627a8c83
Controller: Add JogCon
...
This is probably wrong, but I have no way of testing it with an actual
force feedback wheel.
PRs welcome to improve it further.
2024-12-01 21:17:54 +10:00
Stenzek
f9c125c1a1
InputManager: Add ForceFeedbackDevice interface
2024-12-01 21:08:52 +10:00
Stenzek
b87c6dde6c
CDROM: More logging tidy-up
2024-12-01 18:15:42 +10:00
Stenzek
4fe3e1147d
Controller: Add GetPortDisplayName() that takes pad index
2024-12-01 17:47:55 +10:00
Stenzek
9fc9f4b9e9
Settings: Fix hash cache fields not being compared
2024-12-01 16:53:29 +10:00
Stenzek
00132c6070
AnalogController: Fix more log spam
2024-12-01 14:49:38 +10:00
Stenzek
c6746e76f1
CPU/Intepreter: Raise #RI on invalid COP0 move
2024-12-01 14:27:24 +10:00
Stenzek
62414b0c4c
CPU/Interpreter: IBE should not set BD/BT
...
Apparently. Nothing relies on this. :P
2024-12-01 14:27:24 +10:00
Stenzek
145ad2db27
GameList: Fix scanning of ELF files
2024-12-01 13:10:20 +10:00
Stenzek
9dec34c8c0
Settings: Disable texture replacements if TC disabled
...
Stops replacements being enumerated in the software renderer as well.
2024-11-30 14:42:51 +10:00
Stenzek
f1435dcf67
Settings: Bump maximum hash cache size
...
Hopefully mobile will be okay with it.. I know Adreno GL
craps out around 8,000 texture objects.
2024-11-30 14:36:07 +10:00
Stenzek
53008eb34a
GPU/HW: Allow use of RGB5A1 for texture cache
...
Reduces bandwidth and storage requirements by 50%.
2024-11-30 14:36:07 +10:00
Stenzek
c6e2235ee2
GPU/HW: Vectorize texture conversion routines
...
~100% speed up for RGBA8, ~50% for RGB5A1.
2024-11-30 14:36:07 +10:00
Stenzek
fa4dc381ed
GPUDevice: Rename RGBA5551 to RGB5A1
...
And fix the incorrect format for Vulkan.
2024-11-30 14:36:07 +10:00
Stenzek
ee750b44e3
Settings: Normalize texture replacment option titles
2024-11-30 01:09:41 +10:00
Stenzek
0f51472d64
Misc: Android build fix
2024-11-30 01:09:41 +10:00
Stenzek
b7fff840c8
System: Move thread name init to host
...
Prevents funky thread names for regtest on Linux.
2024-11-29 21:21:27 +10:00
Stenzek
cbc16bee9e
GPU: Display scanout resolution regardless of crop mode
2024-11-29 21:05:01 +10:00
Stenzek
b059cda8d5
Achievements: Pack state in struct
2024-11-29 20:13:37 +10:00
Stenzek
aafc029682
Misc: Un-namespace Timer
2024-11-29 20:13:37 +10:00
Stenzek
682ba71319
GPU: Fix aspect ratio with Show VRAM enabled
2024-11-29 18:36:32 +10:00
Stenzek
d5b9b54a69
GPU/SW: Vectorize VRAM writes/copies
2024-11-29 18:05:52 +10:00
Stenzek
19eee76aec
AnalogController: Reduce log spam
2024-11-29 17:30:53 +10:00
Stenzek
9970944da2
Achievements: Add encryption of login tokens in ini
...
Super simple key derived from the machine's UUID.
The idea isn't to provide a ton of security, but prevent users from
accidentially exposing their tokens when sharing their ini for debugging
purposes.
The use of the machine UUID is disabled in portable mode for those who
actually move it between computers. Instead, the key is derived from the
username alone, which is trivially computable.
2024-11-29 17:13:21 +10:00
Stenzek
5401dc8d52
Settings: Add EmuFolders::IsRunningInPortableMode()
2024-11-29 17:06:40 +10:00
Stenzek
da501b9294
StringUtil: Add ParseFixedHexString()
2024-11-29 15:04:25 +10:00
Stenzek
dac5dd562b
HTTPDownloader: Improve error reporting
...
Give something human-readable when an error occurs.
2024-11-29 14:00:55 +10:00
Stenzek
3ed6cc2ba8
GameList: Fix crash loading custom language options
2024-11-29 13:17:07 +10:00
Stenzek
6be242449b
AnalogController: Simplify rumble config
...
And fix some variables not being saved to state, yay determinism issues.
2024-11-29 13:11:25 +10:00
Stenzek
eeee1e691a
Cheats: Support importing native format
...
Compared to only replacing the .cht file.
2024-11-29 13:10:59 +10:00
Stenzek
208e6c4b35
Cheats: Strip whitespace from code names
2024-11-29 12:49:51 +10:00
dreamsyntax
4e43b1ec8c
Debugger/MemoryScanner: Add 'Freeze Selected' ( #3334 )
2024-11-27 18:30:02 +10:00
Stenzek
97700b85de
GPU/HW: Clear ROV depth on fill/copy/write
...
It wasn't being specified before, whoops.
2024-11-27 17:52:31 +10:00
Stenzek
eb390a9b5d
GPU/TextureCache: Specify max hash cache size/memory in config
2024-11-27 17:52:31 +10:00
Stenzek
4edae3cdd0
GPU/HW: Depth buffer needs to be a RT in ROV mode
2024-11-27 12:56:01 +10:00
Stenzek
0befbf8021
GPU: Add Uncorrected Borders crop mode
...
Should behave the same as the old "All Borders" mode.
The pixel aspect ratio WILL BE WRONG.
Also fixes the size of screenshots in internal resolution mode.
2024-11-26 18:00:19 +10:00
Stenzek
be7a20fef2
GPU/TextureCache: Map replacement non-255 alpha to fully transparent
...
That way if during the scaling process you end up with interpolated
colours, the cutout alpha is preserved.
Ideally we'd blend it, but that tends to create more problems than it
solves on PSX.
2024-11-26 13:08:32 +10:00
Stenzek
5fd79254bd
GPU: Fix crash when toggling software renderer
2024-11-26 12:58:12 +10:00
Stenzek
57595c47af
GPU/TextureCache: Move replacement cache onto the GPU
...
And enforce a maximum. Should sort out the upload spam.
2024-11-25 19:37:28 +10:00
Stenzek
b180b26728
GPU: Rework "All Borders" cropping to be aspect correct
...
The "All Borders" crop mode was previously creating an aspect ratio that
was completely incorrect when using modes outside of Auto/4:3. We now
scale the aspect ratio relative to the PAL/NTSC aspect ratio to account
for this, regardless of how much of a border the game configures.
Overscan cropping also produced an incorrect aspect ratio outside of 4:3
mode, resulting in minor horizontal stretching. It is now correct,
however, this results in black borders being added in 16:9 for most
games.
To remove these borders, you have two options:
- Use the "Stretch to Fill" aspect ratio. This will scale the GTE
aspect ratio to fill the screen.
- Use the "Only Overscan Area (Aspect Uncorrected)" crop mode. This
mode retains the "old" behaviour, resulting in a stretched image.
2024-11-25 16:26:16 +10:00
Stenzek
dec468966c
GPU/HW: Fix sprite mode triggering on screen-aligned UVs
...
Some polygons just end up being perfect. For example, Croc 2
minecart level.
2024-11-25 15:39:45 +10:00
Stenzek
a804801a1b
GPU/HW: Support filtering with texture cache
2024-11-25 13:23:39 +10:00
Stenzek
0ae8fcced3
GPU/HW: Fix incorrect sampling at 1x with TC
2024-11-25 13:15:07 +10:00
Stenzek
0076af6974
SPU: Zero out upper ADPCM filters
...
Also in CD-ROM.
2024-11-25 01:33:11 +10:00
Stenzek
40a1bee9ea
CDROM: Fix incorrect clmap in XA-ADPCM decoding
...
Fixes crunchy audio in GT2: A-Spec.
2024-11-25 01:05:10 +10:00
Stenzek
9fa8fee193
Achievements: Use rc_client for pause throttling
2024-11-24 23:56:16 +10:00
Stenzek
852239ec8a
Qt: Add game list language override option
2024-11-24 23:29:29 +10:00
Stenzek
70a4b5c9f2
GameDatabase: Add missing flags
2024-11-24 23:29:29 +10:00
Stenzek
7b230dc4c1
GPU/HW: MSAA samples change needs to recreate pipelines
...
Otherwise Metal/Vulkan go boom boom.
2024-11-24 23:29:29 +10:00
Stenzek
24dfd30839
Image: Refactor to a more generic class
2024-11-24 23:29:29 +10:00
Stenzek
3ff1b04576
GPUDevice: Support generating mipmaps
2024-11-24 23:29:28 +10:00
Stenzek
5261cfe8e4
CPU/Recompiler: Tidy up type names
...
And reduce global namespace pollution.
2024-11-23 18:52:46 +10:00
Stenzek
f67eacc071
CPU: Default to new recompiler/remove old recompiler
2024-11-23 18:52:46 +10:00
Stenzek
d2d06adeeb
CPU/NewRec/ARM32: Shifts need to be explicitly masked
2024-11-23 18:52:45 +10:00
Stenzek
5c03e1d940
Misc: Fix alignment errors on ARM32
2024-11-23 18:52:45 +10:00
Stenzek
bb24d406f2
Pad: GCC compile fix
2024-11-23 18:52:45 +10:00
Stenzek
b984f343ae
System: Fix audio CD images not showing title
2024-11-23 18:52:45 +10:00
Stenzek
378fd80e3d
CDROM: Defer subq read until needed
...
Should help with hitches on real disc reads until I refactor
in a proper sector cache...
2024-11-20 14:24:48 +10:00
Stenzek
ca9af62f92
FullscreenUI: Add a BP achievements login dialog
2024-11-20 13:44:39 +10:00
Stenzek
81e2619e91
FullscreenUI: Add missing icon
2024-11-19 20:35:07 +10:00
Stenzek
5a948800b7
Achievements: Purge first-disc-from-playlist option
...
Unnecessary since all disc's hashes are registered.
2024-11-19 20:13:22 +10:00
Stenzek
4b71428846
GPU/TextureCache: Fix tracking getting enabled without TC
2024-11-18 23:34:24 +10:00
Stenzek
1451e968d5
GPU/TextureCache: Pack state in struct
2024-11-18 14:19:47 +10:00
Stenzek
9838dd9df2
GPU/TextureCache: Purge copy-target sources from hash cache
...
Saves some VRAM/hash cache usage by disacarding hash cache entries that
are discarded by a copy, but unfortunately cannot stop the uploads.
2024-11-18 14:19:47 +10:00
Stenzek
6c1b98e46a
GPU/SW: Fix 256-bit AVX2 path
2024-11-18 14:19:47 +10:00
Stenzek
ed78a20ea7
FullscreenUI: More icon replacements
2024-11-17 13:23:03 +10:00
Stenzek
574f12759c
FullscreenUI: Hide advanced settings by default
2024-11-17 13:12:45 +10:00
Stenzek
97d8a35108
GameDatabase: Fix compatibility rating localization
2024-11-17 13:04:20 +10:00
Stenzek
725530984c
FullscreenUI: Move remaining OSD settings to main page
2024-11-16 22:03:58 +10:00
Stenzek
8747101648
FullscreenUI: Fix enable state of skip dupe frames
2024-11-16 22:01:09 +10:00
Stenzek
49a6ef7aca
FullscreenUI: Add icons to remaining options
2024-11-16 21:56:32 +10:00
Stenzek
bb450d5e5f
FullscreenUI: Fix nav focus loss on input bind
2024-11-16 20:00:39 +10:00
Stenzek
d56bcfa4c8
FullscreenUI: Fix activate button stuck on input bind
2024-11-16 20:00:20 +10:00
Stenzek
3cf7a94d1e
GunCon: Allow empty/disabled crosshair
2024-11-14 00:35:45 +10:00
Stenzek
8ec9c90c82
Qt: Fix settings not applying immediately when editing profile
2024-11-14 00:35:25 +10:00
Stenzek
c2316dfdc8
InputManager: Fix relative mode engaging for gun controllers
...
It still needs to activate when using raw input.
2024-11-14 00:17:28 +10:00
Stenzek
babaffcce9
GPU/HW: Don't enable no-color-perspective when unsupported
...
i.e. GLES
2024-11-13 21:07:02 +10:00
Stenzek
5219e4f987
CDROM: Simulate real pause timing
2024-11-12 16:03:36 +10:00
Stenzek
a2af51b856
CDROM: Simulate backwards track jump after seek/pause
2024-11-12 16:03:36 +10:00
Stenzek
5f607d8c7a
CDROM: Avoid double seek on repeated Setloc+ReadS
2024-11-12 16:03:36 +10:00
Stenzek
97938a8b8c
CDROM: Improve command logging clarity
2024-11-12 16:03:36 +10:00
Stenzek
5cf2c86874
CDROM: More accurate approximation of sectors per track
2024-11-12 16:03:35 +10:00
Stenzek
365e129792
CPU: Fix puts() hook incorrect arg
2024-11-11 16:27:11 +10:00
Stenzek
6ffa5bffab
CPU: Handle mirrors of BIOS syscalls
2024-11-11 16:26:51 +10:00
Stenzek
3f41dcc97d
Log: Add option coloured variants
2024-11-11 14:04:48 +10:00
PugsyMAME
5caadec34d
Cheat bugfix and new A8 cheat type ( #3328 )
...
* Bugfix for import and entering new cheats
Added needed g_emu_thread->reloadCheats calls after the reloadList() calls on entering a new code or importing new codes.
Without it I had to import new codes and then manually edit one of them for it to show up in the cheat counts and possibly even work
* Added Cheat Type A8
Added cheat type A8 which is the byte equivalent of the A7 cheat type as there will be a need of this type.
* Changed boolean parameters in last PR
Changed boolean parameters in last PR as per discord
2024-11-11 14:01:50 +10:00
Stenzek
8611f4f438
System: Handle GPU device loss in BP-only mode
2024-11-10 15:48:41 +10:00
Stenzek
5b600789d6
GPU: Page align VRAM storage on Apple Silicon
2024-11-10 14:02:09 +10:00
Stenzek
886ef4cc59
WAVWriter: Add matching reader class
2024-11-06 13:46:48 +10:00
Stenzek
ead9e56c4d
System: Support loading ELF files
2024-11-05 17:54:12 +10:00
Stenzek
2044e35377
GPUDump: Fix unknown compression type reported with Zstandard
2024-11-05 16:21:40 +10:00
Stenzek
3952661978
GPU: Write initial rendering attributes to GPU dump
2024-11-05 16:17:49 +10:00
Stenzek
7b7dd2bef1
AnalogController: Reset state on analog->digital switch
...
But only when the game does not support analog mode.
Tomb Raider's game selector menu puts the controller into
configuration mode, and we're supposed to respond with a
0x00 header byte if the user switches the pad to digital
mode.
Problem is, the game itself doesn't understand this mode
switch nor configuration mode. So the status byte gets
stuck at 0x00 if the user toggles analog mode, and the
game thinks no pad is connected.
Work around this by resetting the whole state if the game
does not support analog mode.
2024-11-05 16:07:31 +10:00
Stenzek
88e14dd3ff
RegTest: Support using global data directory
2024-11-05 13:58:20 +10:00
Stenzek
8bd0e6c3f7
CPU/CodeCache: Clear blocks on system shutdown
...
Means we release all allocated memory on system shutdown, rather
than waiting until the next VM/system start.
2024-11-05 13:06:46 +10:00
Stenzek
ca2ed61dba
Timers: Work around possible MSVC codegen bug
...
Fixes very strange behaviour in games in MSVC LTCG build.
2024-11-04 23:03:51 +10:00
Stenzek
8c4d595a89
Qt: Make input source selection non-inheritable
...
Makes sense to set this in the profile specifically,
given it is tied to devices.
2024-11-03 20:17:56 +10:00
Stenzek
0fc719c4cf
Cheats: Simplify code merging on import
...
The save file already does replacement.
2024-11-03 17:38:50 +10:00
Stenzek
a8bc364a2b
Cheats: Fix importing hash-formatted codes
2024-11-03 17:38:27 +10:00