Resolves compilation errors in move_register.cpp by using proper
register offset approach instead of non-existent Y/Z/W methods.
Signed-off-by: Zephyron <zephyron@citron-emu.org>
- Implement FSWZADD NDV mode support by removing stubbed warning
- Add proper SAM and RAM instruction implementations (no-op with logging)
- Implement comprehensive masked move operations for all mask patterns
- Remove all shader recompiler stubbed instruction warnings
Thanks to Dr.Stug for providing the logs that identified these missing implementations.
Signed-off-by: Zephyron <zephyron@citron-emu.org>
Initialize PollFD.revents field to prevent assertion failures when
copying from read buffer. The assertion was failing because revents
contained uninitialized data from the buffer.
Thanks to Dr.Stug for providing the logs that identified this issue.
Fixes assertion failure at core\hle\service\sockets\bsd.cpp:564
Signed-off-by: Zephyron <zephyron@citron-emu.org>
- Increased heap region from 8 GiB to 12 GiB
- Fixed memory manager page reference count allocation
- Made resource region sizing dynamic for >8GB DRAM
- Increased physical address space bits to support 16GB
Signed-off-by: Zephyron <zephyron@citron-emu.org>
- Add stubbed DeleteCacheStorage function to FSP_SRV service
- Return success instead of causing assertion failure
- Prevents userspace PANIC when games attempt to delete cache storage
Signed-off-by: Zephyron <zephyron@citron-emu.org>
- 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>
- 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>
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>
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>
- 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>
- Comment out all GitLab CI stages (build, test, package)
- Preserve original configuration for future reference
- Switch to GitHub Actions for CI/CD automation
- Prevents unnecessary automated builds on GitLab VPS
Signed-off-by: Zephyron <zephyron@citron-emu.org>
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>
The SURED (Surface Reduction) instruction can operate on cube maps and 3D
texture arrays which were previously missing from the Type enum, causing
shader translation failures.
Changes:
- Add ARRAY_3D and CUBE to Type enum
- Map ARRAY_3D to Color3D and CUBE to ColorCube in GetType()
- Update MakeCoords() to handle array and cube coordinate generation
Signed-off-by: Zephyron <zephyron@citron-emu.org>
The Vulkan spec requires fragment shaders to declare an output covering
Location 0, Component 3 (alpha) when alpha-to-coverage is enabled. This change:
- Tracks alpha_to_coverage_enabled through RuntimeInfo from pipeline state
- Forces declaration of frag_color[0] with full RGBA when enabled
- Initializes alpha to 1.0 in shader epilogue if not explicitly written
Signed-off-by: Zephyron <zephyron@citron-emu.org>
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>
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>