Commit Graph

415 Commits

Author SHA1 Message Date
Collecting
f95b9af42d fix(ui): Improper Overlay Shutdown & Zombie Processes
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-08 07:16:05 +00:00
Collecting
7087f324f5 fix(ui): Improper Overlay Shutdown & Zombie Processes
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-08 07:15:32 +00:00
Collecting
61f90d030c fix(ui): Improper Overlay Shutdown & Zombie Processes
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-08 07:13:31 +00:00
Collecting
5e07adfb71 fix(ui): Improper Overlay Shutdown & Zombie Processes
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-08 07:12:34 +00:00
Collecting
c2e3c9a643 fix(ui): Improper Overlay Shutdown & Zombie Processes
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-08 07:10:13 +00:00
Collecting
609372ad9a fix(ui): Improper Overlay Shutdown & Zombie Processes
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-08 07:08:40 +00:00
Collecting
7bb952df3e fix(ui): Improper Overlay Shutdown & Zombie Processes
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-08 07:07:44 +00:00
Collecting
b13142701a fix(ui): FPS counters flickering and reporting half framerates using Performance Overlay
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-08 01:54:33 +00:00
Collecting
eeace7162c fix(ui): FPS counters flickering and reporting half framerates using Performance Overlay
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-08 01:50:37 +00:00
Collecting
4d742d7ce6 fix(ui): FPS counters flickering and reporting half framerates using Performance Overlay
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-08 01:48:52 +00:00
Collecting
2fc9ab97be fix(gamescope): MSVC Compilation Error
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-05 11:08:25 +00:00
Collecting
136e04de5b fix(gamescope): Add Boolean for Gamescope
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-05 10:36:34 +00:00
Collecting
b5a472ced1 fix(gamescope): Add Boolean for Gamescope
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-05 10:36:08 +00:00
Collecting
1d80ba5da1 fix(gamescope): Fix VRAM Monitor for Gamescope
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-05 10:35:15 +00:00
Collecting
4f9017258a fix(gamescope): Fix VRAM Monitor for Gamescope
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-05 10:34:33 +00:00
Collecting
2d6669ade2 fix(gamescope): Fix Perf Overlay for Gamescope
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-05 10:34:02 +00:00
Collecting
847c648dfe fix(gamescope): Fix Perf Overlay for Gamescope
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-05 10:33:16 +00:00
Collecting
1c7ca1d5ef fix(gamescope): Fix MP Overlay for Gamescope
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-05 10:32:36 +00:00
Collecting
4b5fbfd5c6 fix(gamescope): Fix MP Overlay for Gamescope
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-05 10:31:53 +00:00
Collecting
6046f2c913 fix(gamescope): Restructure Update Dialog for Gamescope
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-05 10:31:13 +00:00
Collecting
9185b5ed5b fix(gamescope): Restructure Update Dialog for Gamescope
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-05 10:30:47 +00:00
Collecting
88c8b4cdbb fix(gamescope): Restructure Multiplayer Dialogs for Gamescope
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-05 10:30:07 +00:00
Collecting
9c49ec0e97 fix(gamescope): Restructure Multiplayer Dialogs for Gamescope
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-05 10:29:41 +00:00
Collecting
28000c203d fix(gamescope): Restructure Multiplayer Dialogs for Gamescope
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-05 10:28:56 +00:00
Collecting
b48d726a11 fix(gamescope): Add Gamescope Logic
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-05 10:27:55 +00:00
Collecting
21a19e79e7 fix(gamescope): Restructure Controller Overlay for Gamescope
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-05 10:26:33 +00:00
Collecting
3ed38c872f fix(gamescope): Restructure Controller Overlay for Gamescope
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-05 10:26:02 +00:00
Collecting
85e24df186 fix(gamescope): Restructure Configure Dialog UI for Gamescope
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-05 10:25:05 +00:00
Collecting
7b3ad22711 fix(gamescope): Restructure Configure Dialog UI for Gamescope
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-05 10:09:18 +00:00
Collecting
d3f2ce7e7f fix(gamescope): Restructure About Dialog UI for Gamescope
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-05 10:08:34 +00:00
Collecting
0f6049c888 fix(gamescope): Restructure About Dialog UI for Gamescope
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-05 10:08:02 +00:00
Collecting
11711f92d9 fix(hotkey): unlock framerate hotkey during gameplay
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-03 05:21:08 +00:00
Collecting
0fffc5ced8 fix(hotkey): unlock framerate hotkey during gameplay
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-03 05:20:01 +00:00
Collecting
23eb437f5a fix(hotkey): unlock framerate hotkey during gameplay
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-03 05:19:13 +00:00
Collecting
3136d2b782 fix(fs): race condition in save mirroring during config changes
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-03 04:38:12 +00:00
Collecting
0b92148362 fix(fs): race condition in save mirroring during config changes
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-03 04:36:21 +00:00
Collecting
8d881b6822 fix(fs): race condition in save mirroring during config changes
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-03 04:32:44 +00:00
Zephyron
efef746299 feat(renderer): add CRT shader filter with configurable effects
Add CRT (Cathode Ray Tube) shader implementation as scaling filter
options (CRT EasyMode and CRT Royale) in the Window Adapting Filter
dropdown. Provides classic TV effects including scanlines, phosphor
masks, curvature distortion, gamma correction, bloom, brightness, and
alpha transparency.

- Add CRTEasyMode and CRTRoyale to ScalingFilter enum
- Implement vulkan_crt_easymode.frag shader with single-pass effects
- Integrate CRT filter into WindowAdaptPass rendering pipeline
- Add configurable CRT parameters to settings with user-friendly labels
- Add UI translations for desktop and Android platforms
- Support CRT push constants in present pipeline

The CRT filter appears alongside other scaling filters like FSR and
FSR 2.0. CRT parameter settings are only active when a CRT filter
is selected.

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2026-01-01 18:18:05 +10:00
Collecting
8fbd4661a2 feat(fs): Cross-Compatible Emulator Save Pathing w/ Custom Save Paths
Signed-off-by: Collecting <collecting@noreply.localhost>
2025-12-31 03:49:14 +00:00
Collecting
cc51cc6a12 feat(fs): Cross-Compatible Emulator Save Pathing w/ Custom Save Paths
Signed-off-by: Collecting <collecting@noreply.localhost>
2025-12-31 03:45:23 +00:00
Collecting
de02349e67 feat(fs): Implement Global Custom Save Path
Added a "Global Custom Save Path" configuration option in the Filesystem settings.

Implemented a prioritized save-loading hierarchy: Global Path (if enabled) > Per-Game Custom Path > Default NAND.

Introduced a non-destructive migration tool that allows users to consolidate their existing saves into the new global location.

The migration tool specifically prioritizes per-game custom saves over NAND saves to ensure the most up-to-date data is preserved during consolidation.

The migration process is copy-only; no data is deleted from the source directories, ensuring absolute user data safety.

Maintained compatibility with the existing "Backup Saves to NAND" feature, ensuring saves continue to be mirrored internally if configured.

Signed-off-by: Collecting <collecting@noreply.localhost>
2025-12-29 01:27:19 +00:00
Collecting
e7d0bf1af5 feat(fs): Implement Global Custom Save Path
Added a "Global Custom Save Path" configuration option in the Filesystem settings.

Implemented a prioritized save-loading hierarchy: Global Path (if enabled) > Per-Game Custom Path > Default NAND.

Introduced a non-destructive migration tool that allows users to consolidate their existing saves into the new global location.

The migration tool specifically prioritizes per-game custom saves over NAND saves to ensure the most up-to-date data is preserved during consolidation.

The migration process is copy-only; no data is deleted from the source directories, ensuring absolute user data safety.

Maintained compatibility with the existing "Backup Saves to NAND" feature, ensuring saves continue to be mirrored internally if configured.

Signed-off-by: Collecting <collecting@noreply.localhost>
2025-12-29 01:11:29 +00:00
Collecting
7b0c92f621 feat(fs): Implement Global Custom Save Path
Added a "Global Custom Save Path" configuration option in the Filesystem settings.

Implemented a prioritized save-loading hierarchy: Global Path (if enabled) > Per-Game Custom Path > Default NAND.

Introduced a non-destructive migration tool that allows users to consolidate their existing saves into the new global location.

The migration tool specifically prioritizes per-game custom saves over NAND saves to ensure the most up-to-date data is preserved during consolidation.

The migration process is copy-only; no data is deleted from the source directories, ensuring absolute user data safety.

Maintained compatibility with the existing "Backup Saves to NAND" feature, ensuring saves continue to be mirrored internally if configured.

Signed-off-by: Collecting <collecting@noreply.localhost>
2025-12-29 01:10:51 +00:00
Collecting
3cc5277295 feat(fs): Implement Global Custom Save Path
Added a "Global Custom Save Path" configuration option in the Filesystem settings.

Implemented a prioritized save-loading hierarchy: Global Path (if enabled) > Per-Game Custom Path > Default NAND.

Introduced a non-destructive migration tool that allows users to consolidate their existing saves into the new global location.

The migration tool specifically prioritizes per-game custom saves over NAND saves to ensure the most up-to-date data is preserved during consolidation.

The migration process is copy-only; no data is deleted from the source directories, ensuring absolute user data safety.

Maintained compatibility with the existing "Backup Saves to NAND" feature, ensuring saves continue to be mirrored internally if configured.

Signed-off-by: Collecting <collecting@noreply.localhost>
2025-12-29 01:10:07 +00:00
Zephyron
01c0420481 chore(version): bump to 0.12.25
Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-12-26 17:03:11 +10:00
Collecting
9bb2cf9c30 feat(ui): RGB Mode
Signed-off-by: Collecting <collecting@noreply.localhost>
2025-12-23 19:38:46 +00:00
Collecting
36c915f2b7 feat(ui): RGB Mode
Signed-off-by: Collecting <collecting@noreply.localhost>
2025-12-23 19:38:17 +00:00
Collecting
8aa2783c2f feat(ui): RGB Mode
Signed-off-by: Collecting <collecting@noreply.localhost>
2025-12-23 19:37:39 +00:00
Collecting
55adf62c86 feat(ui): RGB Mode
Signed-off-by: Collecting <collecting@noreply.localhost>
2025-12-23 19:37:13 +00:00
Collecting
64dbf5ad67 feat(ui): RGB Mode
Signed-off-by: Collecting <collecting@noreply.localhost>
2025-12-23 19:36:32 +00:00