Commit Graph

27462 Commits

Author SHA1 Message Date
collecting
af86d09b45 Edit discord_impl.cpp 2025-10-02 07:10:58 +00:00
collecting
1b31741f03 Edit discord_impl.h 2025-10-02 07:10:08 +00:00
collecting
6b9448a451 Add new directory 2025-10-02 07:04:35 +00:00
collecting
50da0bcca6 fix: boost_process Linux issue 2025-10-01 16:53:13 +00:00
collecting
964df7ef38 fix: boost_process Linux issue 2025-10-01 16:51:05 +00:00
collecting
ac902aa7c9 fix: boost_process optional component 2025-10-01 16:50:08 +00:00
Zephyron
26f93ad8ad hle: service: Complete SSL/TLS service implementation
ISslConnection (36/36 commands now implemented):
- Added Peek, Poll for connection state monitoring
- Implemented GetVerifyCertError and GetVerifyCertErrors for certificate validation
- Added GetNeededServerCertBufferSize for buffer management
- Implemented session cache functions: GetSessionCacheMode, FlushSessionCache
- Added renegotiation support: SetRenegotiationMode, GetRenegotiationMode
- Implemented GetOption and GetCipherInfo for connection information
- Added ALPN support: SetNextAlpnProto, GetNextAlpnProto
- Implemented DTLS functions: SetDtlsSocketDescriptor, GetDtlsHandshakeTimeout
- Added SetPrivateOption for extended options
- Implemented SRTP functions: SetSrtpCiphers, GetSrtpCipher
- Added ExportKeyingMaterial for external key usage
- Implemented timeout functions: SetIoTimeout, GetIoTimeout

ISslService:
- Added GetContextCount, SetDebugOption, GetDebugOption, ClearTls12FallbackFlag

ISslContext:
- Implemented GetOption, RemoveServerPki, RemoveClientPki, RegisterInternalPki,
  AddPolicyOid, ImportCrl, RemoveCrl, ImportClientCertKeyPki, GeneratePrivateKeyAndCert

ISslContextForSystem:
- Fully implemented all 15 commands (CreateConnectionEx and all base functions)

ISslConnection getter functions:
- Added GetSocketDescriptor, GetHostName, GetVerifyOption, GetIoMode

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-10-01 23:00:47 +10:00
Zephyron
40464551ed hle: service: Properly implement SSL services
Implements comprehensive SSL/TLS services based on Switch Brew documentation.

Changes:
- ISslService: Added GetContextCount, SetDebugOption, GetDebugOption,
  and ClearTls12FallbackFlag
- ISslContext: Implemented GetOption, RemoveServerPki, RemoveClientPki,
  RegisterInternalPki, AddPolicyOid, ImportCrl, RemoveCrl,
  ImportClientCertKeyPki, and GeneratePrivateKeyAndCert
- ISslContextForSystem: Fully implemented all 15 commands (was all stubs)
- ISslConnection: Added GetSocketDescriptor, GetHostName, GetVerifyOption,
  and GetIoMode

All SSL-related services now have complete command coverage with proper
stub implementations for emulator compatibility.

Reference: https://switchbrew.org/wiki/SSL_services
Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-10-01 22:46:31 +10:00
Zephyron
33a7836d4f hle: service: Properly implement NIM services
Implements comprehensive NIM (Network Install Manager) services based on
the official Switch Brew documentation.

Changes:
- Added async interface classes: IAsyncValue, IAsyncResult,
  IAsyncProgressResult, and IAsyncData for handling asynchronous operations
- Updated main nim service with all proper command names (commands 0-154)
  - Replaced "Unknown" placeholders (84-134) with correct function names
  - Added newer firmware commands (135-154) including download tasks,
    application icon requests, and delivery info operations
  - Fixed command 36: ListApplyDeltaTaskContentMeta (was duplicate name)
- Extended nim:shp service with Nintendo Account linking commands (600-601)
- Added nim:ecas command 5: GetCommonEcasSystemEventForReceivingBackgroundDownloadTask
- All services (nim, nim:eca, nim:shp, nim:ecas, ntc) verified and properly registered

This implementation accounts for all NIM-related functions across firmware
versions, providing proper stub handlers for emulator compatibility.

Reference: https://switchbrew.org/wiki/NIM_services
Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-10-01 22:28:17 +10:00
Zephyron
9cd1022c8f Merge branch 'collecting-main-patch-40725' into 'main'
feat: Wayland UI Linux Option: Performance Optimizations

See merge request citron/emulator!63
2025-10-01 22:17:13 +10:00
Zephyron
b903fccf84 Merge branch 'is_wayland_platform' into 'main'
fix: is_wayland_platform flag to prioritize low-latency

See merge request citron/emulator!62
2025-10-01 22:17:07 +10:00
Zephyron
c7d0afdb3f Merge branch 'Untoggle_UI_Wayland' into 'main'
fix: Untoggle UI & Wayland Qt Functions

See merge request citron/emulator!61
2025-10-01 22:16:58 +10:00
Zephyron
44057a1b2b Merge branch 'wayland_flag' into 'main'
create: Flag for UI Layer

See merge request citron/emulator!60
2025-10-01 22:16:53 +10:00
Zephyron
245571534d Merge branch 'VRAM_Wayland_Fix' into 'main'
fix: Drag-to-move Issue (Wayland)

See merge request citron/emulator!58
2025-10-01 22:16:47 +10:00
Zephyron
796c2bbab3 Merge branch 'PerfOverlay_Wayland_Fix' into 'main'
fix: Ability to Move Performance Overlay (Wayland)

See merge request citron/emulator!57
2025-10-01 22:16:42 +10:00
Zephyron
97602d0389 Merge branch 'add-low-gpu-accuracy' into 'main'
feat: add Low GPU Accuracy setting for maximum performance

See merge request citron/emulator!64
2025-10-01 21:46:08 +10:00
Zephyron
9090a24c2e feat: add Low GPU Accuracy setting for maximum performance
Implements a new "Low" GPU accuracy level that prioritizes performance
over accuracy by aggressively cutting corners in GPU emulation.

Changes:
- Add GpuAccuracy::Low enum and setting infrastructure
- Implement IsGPULevelNormal() helper function
- Skip texture cache checks and query operations
- Use unsafe memory reads for DMA operations
- Disable fence delays and query precision
- Add UI support for desktop (Qt) and Android

Performance optimizations:
- Skips texture cache coherency checks (vk/gl_rasterizer.cpp)
- Non-blocking query synchronization (query_cache.h)
- Unsafe memory operations (dma_pusher.cpp)
- No macro parameter refresh (maxwell_3d.cpp)
- Immediate fence signaling (fence_manager.h)
- Non-precise Vulkan queries (vk_query_cache.cpp)

Ideal for lower-end hardware and users prioritizing FPS over accuracy.
Works on both desktop and Android platforms.

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-10-01 21:45:23 +10:00
Zephyron
746f748973 nim: Add CreateServerInterface2
- As Seen Via Logs "[  46.275081] Debug <Critical> core\hle\service\service.cpp:operator ():78: Assertion Failed!
Unknown / unimplemented function '5': port='nim:eca' cmd_buf={[0]=0x6, [1]=0x8000000C, [2]=0x3, [3]=0x0, [4]=0x4F434653, [5]=0x2001C4, [6]=0x0, [7]=0x0, [8]=0x49434653}"
- Thankyou Dr.Stug <dr.stug@citron-emu.org>

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-10-01 21:00:31 +10:00
collecting
f2474470cd fix: Untoggle UI & Wayland Fixes 2025-09-29 05:15:48 +00:00
collecting
935e04370a feat: Wayland UI Linux Option: Performance Optimizations 2025-09-29 04:48:30 +00:00
collecting
fe9683356b fix: wayland_flag 2025-09-29 04:45:47 +00:00
collecting
ce2909299f fix: is_wayland_platform flag to prioritize low-latency 2025-09-29 04:11:44 +00:00
collecting
37e5c67616 fix: Untoggle UI & Wayland Qt Functions 2025-09-29 04:08:29 +00:00
collecting
73b2ac113e create: Flag for UI Layer 2025-09-29 04:06:31 +00:00
collecting
2b73f6c817 fix: Drag-to-move issue w/ Wayland 2025-09-29 02:00:56 +00:00
collecting
528c18b008 fix: Ability to Move Performance Overlay (Wayland) 2025-09-29 01:19:22 +00:00
Zephyron
d627962408 cmake: exclude Boost::process on Android
Boost::process is not available on Android, causing build failures.
Conditionally link it only on non-Android platforms.

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-09-27 21:39:28 +10:00
Zephyron
12b1e4b3ae Merge branch 'acc-u0-service-implementation' into 'main'
feat(acc): implement missing acc:u0 functions per SwitchBrew spec

See merge request citron/emulator!56
2025-09-27 21:23:50 +10:00
Zephyron
0ca82d134c feat(acc): implement missing acc:u0 functions per SwitchBrew spec
- Add function 52 (TrySelectUserWithoutInteraction)
- Implement stubbed functions with proper async context classes
- Fix constructor arguments and type conversion warnings

Resolves assertion failure for unimplemented function 52.

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-09-27 21:21:17 +10:00
Zephyron
23352d4a3f fix(dynarmic): resolve fastmem_pointer type compatibility issues
- Convert fastmem_pointer assignments from raw pointers to uintptr_t
- Replace nullptr comparisons with std::optional::has_value()
- Use std::nullopt instead of nullptr for optional types
- Update Dynarmic submodule to commit 9d4582339

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-09-27 20:22:04 +10:00
Zephyron
9e6956a93f Fix Android build by conditionally excluding boost_process component
- Add Android check to only request boost context component on Android

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-09-27 11:53:04 +10:00
Zephyron
274b027668 fix: allow Insane VRAM mode persistence
- Update VRAM setting max value from HighEnd to Insane
- Add TAA translation for UI
- Fixes issue where Insane VRAM reverts to HighEnd

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-09-27 11:48:01 +10:00
Zephyron
f75cf14c1f fix(hid): Add SixAxis sensor validation and error handling
- Add parameter validation for joy_xpad_id, device_index, and npad_id
- Implement proper SixAxis resource manager integration with null checks
- Add safe fallback values to prevent crashes in motion sensor games
- Enhance error handling and logging for SixAxis sensor operations
- Address crashes in games like TOTK 1.4.2 that use motion sensors

Resolves SixAxis sensor crashes by following SwitchBrew HID service
specifications and adding proper parameter validation.

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-09-27 10:17:44 +10:00
Zephyron
b6cb5c06e0 Merge branch 'audio-renderer-rev13-support' into 'main'
feat(audio): Add REV13 audio renderer support

See merge request citron/emulator!55
2025-09-27 10:14:18 +10:00
Zephyron
2fa3501ff4 feat(audio): Add REV13 audio renderer support
- Implement compressor statistics collection and tracking
- Add explicit splitter volume reset functionality
- Implement REV13 audio device notification commands
- Update feature support system to revision 13
- Maintain backward compatibility with older revisions

Resolves REV13 audio renderer feature requirements with proper
Nintendo Switch development practices and SwitchBrew compatibility.

REF: a2c0035013
Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-09-27 10:13:32 +10:00
Zephyron
0001539f4a Merge branch 'Add_Object_Fix' into 'main'
fix: create a Service::Set::SerialNumber object

See merge request citron/emulator!54
2025-09-27 08:52:16 +10:00
collecting
c6a2a2a728 fix: create a Service::Set::SerialNumber object 2025-09-26 13:56:09 +00:00
Zephyron
1e8dce4f5e Merge branch 'qt6-aqtinstall-migration' into 'main'
feat: Implement Qt6 migration with aqtinstall 3.3.0

See merge request citron/emulator!52
2025-09-26 19:46:31 +10:00
Zephyron
4e377dde5a feat: Implement Qt6 migration with aqtinstall 3.3.0
- Migrate from Qt5 to Qt6.7.3 using aqtinstall v3.3.0
- Add comprehensive Qt6 API compatibility updates
- Implement responsive UI with High DPI scaling support
- Add MSVC runtime library configuration for consistency
- Update touch/mouse event handling for Qt6 APIs
- Fix locale handling (countryToString → territoryToString)
- Update string size methods (count() → size())
- Remove deprecated Qt5 high DPI attributes
- Add new CopyCitronQt6Deps.cmake for Qt6 dependency management
- Update CMake configuration for Qt6-only approach
- Add aqt_config.ini with mirror configuration for reliable downloads

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-09-26 19:42:30 +10:00
Zephyron
42ee9916b7 chore: Set version to 0.7.1 in title bar and about dialog
Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-09-26 18:01:41 +10:00
Zephyron
5871f4b418 revert: af223e445f && 5ed7df1e68
- Needs To Be A Branch

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-09-26 16:55:32 +10:00
Zephyron
7acd55a005 Merge branch 'collecting-main-patch-05267' into 'main'
Audio Stability Fixes

See merge request citron/emulator!51
2025-09-26 15:51:13 +10:00
Zephyron
704c886d3d Merge branch 'collecting-main-patch-77704' into 'main'
Audio Stability Issues

See merge request citron/emulator!50
2025-09-26 15:51:10 +10:00
Zephyron
5241b9d172 Merge branch 'collecting-main-patch-02332' into 'main'
Audio Stability Fixes

See merge request citron/emulator!49
2025-09-26 15:51:03 +10:00
Zephyron
51a0e1fcc8 Merge branch 'collecting-main-patch-75734' into 'main'
Crash-on-Exit from ServiceManager Null Pointer

See merge request citron/emulator!48
2025-09-26 15:50:59 +10:00
Zephyron
493e9b3965 Merge branch 'collecting-main-patch-15392' into 'main'
Initialize variable

See merge request citron/emulator!47
2025-09-26 15:50:55 +10:00
Zephyron
122e550e45 Merge branch 'collecting-main-patch-33675' into 'main'
Memory Leak Fix

See merge request citron/emulator!46
2025-09-26 15:50:51 +10:00
collecting
97cd9112a1 Audio Stability Fixes 2025-09-26 04:40:01 +00:00
collecting
38a189c0af Audio Stability Issues 2025-09-26 04:30:47 +00:00
collecting
1c48d8fb7d Audio Stability Fixes 2025-09-26 04:27:01 +00:00