Commit Graph

173 Commits

Author SHA1 Message Date
collecting
662930f3e1 fix: Copyright License Identifier 2025-10-24 00:36:14 +00:00
collecting
805ca4e04f Feat: Add multiplayer-room-overlay 2025-10-24 00:11:33 +00:00
collecting
15aeee4add feat: Add multiplayer-room-overlay 2025-10-24 00:10:20 +00:00
collecting
25c46b247c feat: Add multiplayer-room-overlay 2025-10-24 00:09:44 +00:00
collecting
850a9f8f6d feat: Add multiplayer-room-overlay 2025-10-24 00:09:11 +00:00
collecting
d76f2faa69 feat: Add multiplayer-room-overlay 2025-10-24 00:08:25 +00:00
collecting
ee47c4d095 feat: Add multiplayer_room_overlay files 2025-10-24 00:05:32 +00:00
collecting
bfa94f4ca6 feat: Add multiplayer_room_overlay.cpp 2025-10-24 00:04:51 +00:00
collecting
b03341ac8d feat: Add multiplayer_room_overlay.h 2025-10-24 00:04:24 +00:00
collecting
49f18763d8 update: About Section 2025-10-22 18:14:41 +00:00
Zephyron
7107f4cfd7 fix: autoloader null pointer dereferences and Windows API conflict
- Use VfsFilesystemCreateDirectoryWrapper to avoid Windows API collision
- Add null check for dest_file before accessing it
- Prevent crashes when file/directory creation fails during autoload

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-10-22 12:52:04 +10:00
collecting
ca8c822b93 Fix configure_per_game.cpp 2025-10-22 01:22:18 +00:00
collecting
bcbe8fddfc Fix configure_per_game.h 2025-10-22 01:21:51 +00:00
collecting
cb7b3f6625 rebase: Autoloader & XCI 2025-10-21 21:26:23 +00:00
collecting
5712217a09 rebase: Autoloader & XCI 2025-10-21 21:25:49 +00:00
collecting
e7b6954511 feat(fs): Implement Autoloader (W.I.P.) 2025-10-21 21:01:05 +00:00
collecting
06cb160c00 feat(fs): Implement Autoloader (W.I.P.) 2025-10-21 20:59:12 +00:00
collecting
9f71d092c8 feat(fs): Implement Autoloader (W.I.P.) 2025-10-21 20:57:41 +00:00
collecting
6cf31f1d68 feat(fs): Implement Autoloader (W.I.P.) 2025-10-21 20:35:00 +00:00
Zephyron
e9b63b4b34 feat: Add XCI Trimmer and UI improvements
- Implement XCI file trimming with validation and Unicode support
- Add trimming options to File menu and game properties dialog
- Optimize rainbow mode performance globally (150ms timer, cached colors)
- Add horizontal scrolling to game properties dialog
- Fix compilation issues and improve code quality

Thanks to Citron Tester Tetsuya Takahashi (高橋 哲屋) for extensive testing and contributions to the XCI Trimmer implementation.

Co-authored-by: Tetsuya Takahashi <tetsuya@citron-emu.org>
Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-10-21 22:26:10 +10:00
Zephyron
caf1f93131 feat: auto-generate multiplayer tokens
Replace manual token verification with automatic UUID generation.
Tokens are now auto-generated on first save and can be reset via button.

- Remove verification logic and base64 encoding
- Add ResetToken() method with UUID generation
- Sync profile username to web service settings
- Simplify UI and improve error messages

Based on Torzu PRs #22 and #28.

Co-authored-by: anon <anon@noreply.localhost>
Co-authored-by: spectranator <spectranator@y2nlvhmmk5jnsvechppxnbyzmmv3vbl7dvzn6ltwcdbpgxixp3clkgqd.onion>
Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-10-21 18:34:18 +10:00
Zephyron
b85fd5fc73 renderer_vulkan: add Extended Dynamic State user setting
Add configurable EDS levels (Disabled/EDS1/EDS2/EDS3) to allow users to
troubleshoot graphics issues by controlling which Vulkan Extended Dynamic
State features are enabled. Defaults to EDS3 for maximum performance.

Implements setting in both desktop and Android frontends with proper
translations and descriptions.

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-10-17 18:52:30 +10:00
Zephyron
6d53fec8db discord: optimize RPC game image loading
- Remove blocking network timeout check that was causing 5-second delays
- Simplify logic to always attempt using Tinfoil game images
- Let Discord handle image loading and fallback gracefully
- Clean up URL formatting for better consistency
- Remove unnecessary network validation that caused false negatives

This fixes the issue where Discord RPC would fall back to default
Citron logo due to network timeouts, allowing game-specific artwork
to display properly from Tinfoil's CDN.

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-10-17 17:31:20 +10:00
Zephyron
99073c8e19 renderer_vulkan: Add conditional rendering control setting
Adds user option to disable Vulkan conditional rendering, which can fix
flickering objects in some games caused by rapidly toggled draw calls.

Changes:
- Add use_conditional_rendering setting (default: enabled)
- Guard conditional rendering functions with setting check using [[unlikely]]
- Early exit in Pause/Resume and Compare functions when disabled

Disabling this in Graphics (Advanced) fixes flickering at cost of performance.

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-10-17 16:47:57 +10:00
Zephyron
ab18e750d8 feat: Add ZIP firmware installation and update Android VVL to 1.4.328.1
Firmware Installation:
- Add OnInstallFirmwareFromZip() to install firmware from ZIP archives
- Implement ExtractZipToDirectory() with libarchive (primary) and PowerShell fallback (Windows)
- Add user dialog to choose between folder or ZIP installation
- Validate NCA files at ZIP root before installation
- Automatic cleanup of temporary extraction directory

Android Vulkan Validation Layers:
- Update from sdk-1.3.261.1 to vulkan-sdk-1.4.328.1
- Fix extraction path for new VVL archive structure
- Add file existence checks and improved error messages

Benefits:
- Users can install firmware directly from ZIP files
- No manual extraction required
- Better debugging on newer Android devices

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-10-16 16:31:49 +10:00
Zephyron
61ba432ac0 Merge branch 'resize_windows_fix' into 'main'
fix: Dialogs now correctly remember their window size

See merge request citron/emulator!98
2025-10-15 12:23:03 +10:00
Zephyron
038619c543 remove: first-time telemetry popup
Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-10-14 15:56:20 +10:00
Zephyron
c15b6519d5 chore: replace wiki URLs with Discord support links
Replace all citron-emu.org/help and wiki URLs with discord.gg/citron
across Android resources (15+ languages) and desktop UI.

- Update app disclaimers, error messages, and help links
- Consolidate FAQ/Quickstart/Mods menu items into "Get Support"

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-10-13 13:59:48 +10:00
collecting
b162d63a1b fix: Resizable w/ Window Memory 2025-10-12 21:45:53 +00:00
collecting
9f30085cbb fix: Resizable w/ Window Memory 2025-10-12 21:45:19 +00:00
collecting
e96c9d7a8f fix: Resizeable w/ Window Memory 2025-10-12 21:44:43 +00:00
collecting
8c629a29c3 fix: Non-fullscreen & Resize Memory 2025-10-12 21:43:05 +00:00
Zephyron
3c16d8330b chore: Version bump to 0.8.0
Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-10-11 13:51:57 +10:00
Zephyron
ded5906f03 chore: Version bump to 0.7.2
Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-10-11 13:47:57 +10:00
Zephyron
568ab699f6 feat(renderer): Add ScaleFX pixel art upscaling filter
Implements ScaleFX algorithm for pixel art upscaling with edge
preservation. Supports both OpenGL and Vulkan with FP16/FP32
variants for hardware optimization.

ScaleFX is designed to reduce pixelation while preserving sharp
edges, ideal for low-resolution and pixel art games.

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-10-11 13:35:19 +10:00
Zephyron
0c5c1bbf7f feat(graphics): add 0.25X quarter resolution downscaling
- Add Res1_4X resolution setup with down_shift=2
- Mark as EXPERIMENTAL in UI labels
- Support on both Qt and Android frontends

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-10-11 13:32:27 +10:00
Zephyron
4c5f12ec69 fix(qt): Use QImage::mirrored() instead of non-existent flipped()
QImage does not have a flipped() method. Replace with the correct mirrored(false, true) call to perform vertical image flipping for
screenshot capture.

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-10-08 16:24:54 +10:00
Zephyron
c98d253040 cmake: Auto-create user directory for portable mode
Suggested-by: dr.stug@citron-emu.org
Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-10-08 16:21:14 +10:00
collecting
9c7d0bb49c feat: Battery Percent & Temp for Android 2025-10-07 19:51:12 +00:00
collecting
8a7e3c5398 feat: Add Battery Percentage & Temp for Android 2025-10-07 19:50:30 +00:00
collecting
c2c592c8ea feat: Add Color & UI Fix for Temp 2025-10-07 13:07:31 +00:00
collecting
a9b48aaa39 feat: Add Color & Fix UI For Temp 2025-10-07 13:06:56 +00:00
collecting
0386af7a17 feat: Add GPU & CPU Temperatures 2025-10-07 12:44:46 +00:00
collecting
e9feac8b8f feat: Add CPU & GPU Temperature 2025-10-07 12:44:18 +00:00
collecting
f9fe12a0ea feat: Add CPU & GPU Temperatures 2025-10-07 12:43:47 +00:00
collecting
7b0b3f37d2 remove: Deprecated Value 2025-10-07 06:53:11 +00:00
collecting
101363c5eb fix: Qt::Vertical 2025-10-07 06:52:32 +00:00
collecting
2a53da7b16 fix: checkStateChanged 2025-10-07 06:51:58 +00:00
collecting
944bfc3918 fix: configure_system.cpp 2025-10-07 06:51:21 +00:00
collecting
4cdf19f323 fix: checkStateChanged 2025-10-07 06:50:32 +00:00