Commit Graph

27669 Commits

Author SHA1 Message Date
Collecting
56ec56aa37 fix/re-enable-updates
Signed-off-by: Collecting <collecting@noreply.localhost>
2025-11-03 00:53:37 +00:00
Collecting
846ae25af9 Merge pull request 'feat(updater): Add 'Don't check on startup' to update notification' (#19) from fix/auto-updater-check into main
Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/19
2025-11-03 00:17:37 +00:00
Collecting
d1d93b7629 fix/check-for-updates
Signed-off-by: Collecting <collecting@noreply.localhost>
2025-11-03 00:15:42 +00:00
Collecting
6aa483a9d2 fix/check-for-updates
Signed-off-by: Collecting <collecting@noreply.localhost>
2025-11-03 00:14:47 +00:00
Zephyron
8c2865fe0f Update README.md
Signed-off-by: Zephyron <zephyron@noreply.localhost>
2025-11-02 05:59:22 +00:00
Collecting
94287b27cd Merge pull request 'fix: Adjust & Update Theming for Specific Files from Previous Commit' (#17) from fix/add-updated-files-themes into main
Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/17
2025-11-02 05:19:24 +00:00
Collecting
729764ebe2 fix/themes
Signed-off-by: Collecting <collecting@noreply.localhost>
2025-11-02 05:17:44 +00:00
Collecting
577385c98c fix/themes
Signed-off-by: Collecting <collecting@noreply.localhost>
2025-11-02 05:17:11 +00:00
Collecting
6d9e18eb3a fix/adjusted-themes
Signed-off-by: Collecting <collecting@noreply.localhost>
2025-11-02 05:15:49 +00:00
Collecting
34cdd95f45 Merge pull request 'feat(ui): Implement theme-aware overlays and fix UI color bugs' (#16) from fix/stylesheets-overlays-themes into main
Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/16
2025-11-02 04:48:14 +00:00
Collecting
4e8c43e894 fix/adaptive-styling
Signed-off-by: Collecting <collecting@noreply.localhost>
2025-11-02 04:45:21 +00:00
Collecting
800f791e79 fix/themes
Signed-off-by: Collecting <collecting@noreply.localhost>
2025-11-02 04:44:31 +00:00
Collecting
ec6468553b fix/adaptive-styling
Signed-off-by: Collecting <collecting@noreply.localhost>
2025-11-02 04:40:16 +00:00
Collecting
1a07eb4ad1 fix/themes
Signed-off-by: Collecting <collecting@noreply.localhost>
2025-11-02 04:39:05 +00:00
Collecting
3413912a94 fix/themes
Signed-off-by: Collecting <collecting@noreply.localhost>
2025-11-02 04:37:27 +00:00
Collecting
c4fcf0dfc7 fix/dynamic-themes
Signed-off-by: Collecting <collecting@noreply.localhost>
2025-11-02 04:36:42 +00:00
Collecting
fbaa366065 fix/dynamic-themes
Signed-off-by: Collecting <collecting@noreply.localhost>
2025-11-02 04:35:43 +00:00
Collecting
f8bb1c70b0 fix/multiplayer-overlay-themes
Signed-off-by: Collecting <collecting@noreply.localhost>
2025-11-02 04:35:00 +00:00
Collecting
49bc7e0c38 fix/dynamic-themes
Signed-off-by: Collecting <collecting@noreply.localhost>
2025-11-02 04:33:58 +00:00
Collecting
bcf3dd36b8 fix/dynamic-themes
Helps change theme to update during emulation.

Signed-off-by: Collecting <collecting@noreply.localhost>
2025-11-02 04:32:21 +00:00
Collecting
c42a8ed7b8 fix/light-dark-themes
Signed-off-by: Collecting <collecting@noreply.localhost>
2025-11-02 04:31:15 +00:00
Collecting
c48744092d fix/light-dark-themes
Signed-off-by: Collecting <collecting@noreply.localhost>
2025-11-02 04:30:38 +00:00
Collecting
e4c1a003e3 fix/light-dark-themes
Signed-off-by: Collecting <collecting@noreply.localhost>
2025-11-02 04:29:43 +00:00
Collecting
02dec9f461 fix/light-dark-themes
Signed-off-by: Collecting <collecting@noreply.localhost>
2025-11-02 04:28:51 +00:00
Zephyron
988f294e94 chore: bump version to 0.10.0
Signed-off-by: Zephyron <zephyron@citron-emu.org>
0.10.0
2025-11-02 13:38:49 +10:00
Collecting
2fde88b2b5 Merge pull request 'fix(ui): Make configuration dialogs respect in-app theme choice' (#15) from fix/themes into main
Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/15
2025-11-02 02:08:37 +00:00
Collecting
bccddc82b5 fix/themes
Signed-off-by: Collecting <collecting@noreply.localhost>
2025-11-02 02:06:08 +00:00
Collecting
755286cbbc fix/themes
Signed-off-by: Collecting <collecting@noreply.localhost>
2025-11-02 02:05:39 +00:00
Collecting
3f3956ed8a fix/themes
Signed-off-by: Collecting <collecting@noreply.localhost>
2025-11-02 02:04:42 +00:00
Collecting
7410c760e6 fix/themes
Signed-off-by: Collecting <collecting@noreply.localhost>
2025-11-02 02:04:10 +00:00
Zephyron
bd17537b93 chore(updater): Add logging to diagnose update helper script creation
Helps debug why apply_update.bat may not be created in update_staging.

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-11-02 11:27:59 +10:00
Collecting
252bb81f63 Merge pull request 'feat(hotkeys): Add controller overlay hotkey and fix saving bug' (#14) from fix/hotkey-memory into main
Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/14
2025-11-01 21:11:19 +00:00
Collecting
ac777fabd9 fix/controller-overlay-toggle
Signed-off-by: Collecting <collecting@noreply.localhost>
2025-11-01 21:06:32 +00:00
Collecting
60f314daef add/controller-overlay-toggle
Signed-off-by: Collecting <collecting@noreply.localhost>
2025-11-01 21:03:34 +00:00
Collecting
0d5506030b fix/hotkey-memory
Signed-off-by: Collecting <collecting@noreply.localhost>
2025-11-01 21:02:55 +00:00
Collecting
45cfbbeb6b fix/hotkeys
Signed-off-by: Collecting <collecting@noreply.localhost>
2025-11-01 21:02:21 +00:00
Collecting
e495ef5148 fix/hotkeys
Signed-off-by: Collecting <collecting@noreply.localhost>
2025-11-01 21:01:39 +00:00
Zephyron
d2f2d50e28 build: add Qt6 TLS plugin copying to CopyCitronQt6Deps
- Configure Qt6_TLS_DIR and TLS destination paths
- Copy TLS plugins using windows_copy_files utility
- Support Debug and Release configurations

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-11-01 23:17:54 +10:00
Zephyron
5af5ba2d0e chore(CMake): Remove
Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-11-01 22:10:50 +10:00
Zephyron
3d0ccc1db1 Fix Windows auto updater with deferred update helper and TLS support
Windows auto updater failed due to:
1. File locking - can't overwrite running .exe files
2. Missing Qt 6 TLS plugins - can't connect via HTTPS

Solution:
- Implement helper batch script that applies updates after app exits
- Automate TLS plugin copying in CMake (qschannelbackend.dll, qopensslbackend.dll)
- Add enhanced SSL debugging and error messages

Windows updates now work. Linux continues to work as before.

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-11-01 21:56:37 +10:00
Zephyron
ef14da5014 Merge pull request 'Fix Windows auto updater file locking issue' (#12) from fix/windows-updater-helper into main
Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/12
2025-11-01 09:19:18 +00:00
Zephyron
0ce89925a2 Fix Windows auto updater file locking issue
Implement deferred update mechanism using a helper batch script that applies
updates after the application exits, avoiding Windows file locking issues.

On Windows, the updater now:
- Stages update files and creates a helper batch script
- Launches the script as a detached process
- Exits the application
- The script waits for app closure, applies updates, and restarts Citron

Linux AppImage updates continue to work as before with the existing method.

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-11-01 19:19:02 +10:00
Zephyron
a462e66927 Merge pull request 'hle: Improve network service implementations and add newer firmware stubs' (#11) from feature/network-service-enhancements into main
Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/11
2025-11-01 08:47:46 +00:00
Zephyron
ec670d881c hle: Improve network service implementations and add newer firmware stubs
AM (Application Manager):
- Implement GetPseudoDeviceId with deterministic UUID generation
- Generate persistent device ID based on program ID for online play

LDN (Local Network):
- Implement stub for Reject (cmd 205)
- Implement stub for ClearAcceptFilter (cmd 209)
- Implement stub for ConnectPrivate (cmd 303)

NIFM (Network Interface):
- Fix RequestState enum values (Invalid=0, Free=1) per switchbrew
- Add ConnectionConfirmationOption enum
- Update NotSubmitted references to Free state
- Implement 13 new stub functions for firmware 18.0.0-20.0.0+
- Reduce log verbosity for frequently-called functions

BSD (Sockets):
- Improve RegisterClient to parse LibraryConfigData structure
- Enhance socket operation logging (Socket, Bind, Connect)
- Add detailed error logging for bind/connect failures
- Implement stubs for Unknown36-38 (18.0.0+)
- Add firmware version comments for commands

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-11-01 18:47:15 +10:00
Zephyron
9a5b75db83 video_core: Add mip level clamping for CTGP-DX compatibility
Fixes crashes when games/mods request more than MAX_MIP_LEVELS (14).

Implements defensive clamping at four critical points in the texture
cache (CalculateLevelSizes, CalculateMipLevelOffsets,
CalculateMipLevelSizes, CalculateLevelBytes) to gracefully handle
excessive mip level requests.

When >14 mip levels are requested:
- Logs informative warning (debug builds)
- Clamps to MAX_MIP_LEVELS
- Continues execution safely

This improves upon Eden's solution by adding actual bounds checking
instead of just converting ASSERT to ASSERT_MSG.

Fixes: CTGP-DX (Mario Kart 8 Deluxe mod)

Co-authored-by: JPikachu <jpikachu.eden@gmail.com>
Co-authored-by: JPikachu <jpikachu@eden-emu.dev>
Co-authored-by: MaranBr <maranbr@outlook.com>
Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-11-01 16:22:25 +10:00
Zephyron
6143dec02a Merge pull request 'kernel: Implement code address offset for Skyline compatibility' (#10) from kernel/skyline-32bit-code-offset into main
Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/10
2025-11-01 05:45:48 +00:00
Zephyron
76e963bfe7 kernel: Implement code address offset for Skyline compatibility
Add support for the Skyline 32-bit modding framework by implementing
a code address offset and improving memory state verification.

Changes:
- Add CodeStartOffset constant (0x500000) applied to 32-bit code
  address space types (Is32Bit and Is32BitNoMap) in KProcess::LoadFromMetadata
- Add debug logging for 32-bit syscall argument tracking in
  SetProcessMemoryPermission, MapProcessCodeMemory, and
  UnmapProcessCodeMemory wrapper functions
- Replace CheckMemoryStateContiguous with CheckMemoryState in
  KPageTableBase::UnmapCodeMemory for more flexible memory state
  verification

This implementation enables compatibility with:
- Skyline 32-bit modding framework
- CTGP-DX (Mario Kart 8 Deluxe mod)
- Other homebrew using 32-bit Skyline

Based on similar fixes in Ryujinx (commit 5e9678c8fe) and Eden emulator.

Co-authored-by: JPikachu <jpikachu.eden@gmail.com>
Co-authored-by: JPikachu <jpikachu@eden-emu.dev>
Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-11-01 15:44:21 +10:00
Collecting
5b3a7301a9 Merge pull request 'feat(qt): Adapt configuration dialogs to system theme' (#9) from feat/light-dark-fix into main
Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/9
2025-11-01 03:09:52 +00:00
Collecting
84035e9bc2 fix/configuration-light-dark
Signed-off-by: Collecting <collecting@noreply.localhost>
2025-11-01 03:06:31 +00:00
Collecting
66b150f78d fix/properties-light-dark
Signed-off-by: Collecting <collecting@noreply.localhost>
2025-11-01 03:05:50 +00:00