Commit Graph

27547 Commits

Author SHA1 Message Date
Zephyron
2e6bcc9ea6 video_core, shader_recompiler: Improve Princess Peach: Showtime! support and performance
1. Add geometry shader support for Princess Peach: Showtime!:
   - Implement proper EmitInvocationInfo handling for geometry shaders
   - Support input topology vertex counting in all shader backends (GLASM, GLSL, SPIRV)

2. Performance optimizations:
   - Replace InputTopologyVertices switch statement with a constexpr lookup table
   - Pre-calculate vertex counts and shifts to reduce register pressure
   - Eliminate redundant calculations in shader backends

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-05-11 16:28:25 +10:00
Zephyron
9bb2b769a4 video_core: Use safe memory reads for KeplerCompute inline methods
Changes:
- Remove special case for KeplerCompute inline methods that used unsafe reads in high
  accuracy mode
- Add special case to use safe reads for KeplerCompute inline methods even in normal
  accuracy mode

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-05-11 16:26:59 +10:00
Zephyron
54f2b4442e friend: Implement stubs for all service functions
- Add implementations for all previously unimplemented IFriendService functions
- Create IDaemonSuspendSessionService class and implement CreateDaemonSuspendSessionService
- Restructure code to separate method declarations from implementations
- Add helper structs/payloads for various friend-related data structures
- Update function documentation and logging messages

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-05-07 19:06:43 +10:00
Zephyron
1196001e08 audio_core: Update CurrentRevision from 11 to 15
Updates the audio core revision number to match newer firmware requirements, allowing the emulator to properly handle audio features from more recent Switch software.

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-05-07 18:52:16 +10:00
Zephyron
330b14961a ui: Add Citron About Logo
Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-05-07 18:49:10 +10:00
Zephyron
8c8778f761 desktop: Update StartupWMClass to match application ID
Changes the StartupWMClass from "citron" to "org.citron_emu.citron" to ensure proper icon display in GNOME and other desktop environments. Without this matching the application ID, a generic icon is displayed instead of the proper application icon.

Credit: Shikakiben (shikakiru)
Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-05-07 18:45:59 +10:00
Zephyron
2fae273e9a nvdrv: Add dummy support for ioctl 0x13 in nvhost_ctrl_gpu
- This adds implementations for ioctl command 0x13 in both Ioctl1 and Ioctl3 functions, allowing newer titles like Super Mario Party Jamboree to boot by properly handling this command with a NotImplemented response rather than failing.

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-05-07 18:39:17 +10:00
Zephyron
c4d62cfe15 chore: update vcpkg submodule to latest version
Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-05-06 20:31:53 +10:00
Zephyron
19abd659e1 fix: correct MSVC version conditional syntax in CMakeLists.txt
Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-05-06 20:20:15 +10:00
Zephyron
e63387260c build: Widen MSVC version support for bundled Qt and SDL2
- Updated CMake to allow MSVC versions newer than 2022 (MSVC_VERSION >= 1940) to use the bundled Qt 5.15.2 (msvc2019_64) and SDL2 2.28.2 (x86_64).
2025-05-06 19:08:36 +10:00
Zephyron
3eec1ced93 feat(discord): Update Discord integration and game art fetching
- Updates the Discord application Client ID.
- Changes the game art source from static URLs on `citron-emu.org` to dynamically fetched images from `tinfoil.media` using the game's title ID.
- Removes the `GetGameString` function, as the URL formatting logic has changed.
- Modifies `UpdateGameStatus` and `Update` to accommodate the new image fetching mechanism and use the title ID.
- Adds new members to `DiscordImpl` to store title ID and cache image URLs.
- Updates copyright information in `discord_impl.cpp` and `discord_impl.h`.

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-05-06 16:42:30 +10:00
Zephyron
48e823c0d3 build: Update external download URLs and copyright
- In `CMakeModules/DownloadExternals.cmake`:
    - The `package_base_url` for bundled externals is changed from `citron-emu` to `yuzu-mirror`.
- In `CMakeLists.txt`:
    - The `NASM_DOWNLOAD_URL` is updated to `yuzu-mirror`.
    - The download URL for the compatibility list is changed from `api.citron-emu.org` to `api.yuzu-citron-emu.org`.
    - The download URL for `clang-format` on Windows is updated to `yuzu-mirror`.
- Copyright years and project names are updated in both files.

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-05-06 16:37:53 +10:00
Zephyron
fef3a61397 feat(common): Disable telemetry by default and update web API URL
- Disables the `enable_telemetry` setting by default.
- Updates the `web_api_url` to "https://api.ynet-fun.xyz".
- Updates the copyright year and project name.

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-05-06 16:25:05 +10:00
Zephyron
a8f0af4a2b feat(core): Update HOS and NintendoSDK version constants
- Bumps HOS version from 12.1.0 to 20.0.1.
- Updates the corresponding `VERSION_HASH`, `DISPLAY_VERSION`, and
  `DISPLAY_TITLE` strings.
- Updates the copyright year and project name.

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-05-06 16:22:24 +10:00
Zephyron
200094d596 dist: Add Citron branding assets
- Add Citron logo in multiple formats:
  - .bmp for legacy support
  - .ico for Windows applications
  - .svg for scalable graphics

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-05-06 16:17:46 +10:00
Zephyron
6a3374309f fix(core): Correct telemetry personalization string size and update copyright
- Updates the copyright year and project name in `telemetry_session.cpp`.
- Adjusts the size of the `personalization` array for telemetry ID generation to correctly accommodate the "citron Telemetry ID" string, preventing potential truncation.

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-05-06 16:15:37 +10:00
Zephyron
ee55fb65ba Edit CopycitronSDLDeps.cmake 2025-05-06 06:13:00 +00:00
Zephyron
7ebda663c8 Edit CopycitronQt5Deps.cmake 2025-05-06 06:12:55 +00:00
Zephyron
7de3756537 Edit CopycitronFFmpegDeps.cmake 2025-05-06 06:12:31 +00:00
Zephyron
b2d9cf4a01 chore: update project branding to CITRON
Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-05-06 16:11:33 +10:00
Zephyron
5e16e20427 chore: update project branding to Citron
Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-05-06 16:08:59 +10:00
Zephyron
bfb82e577c chore: update project branding to citron
Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-05-06 16:06:48 +10:00
Zephyron
0812f75be5 feat: Update submodule URLs to yuzu-mirror
Updates the URLs for the following submodules to point to the yuzu-mirror organization:
- dynarmic
- discord-rpc
- sirit
- mbedtls
- breakpad
- oaknut

Also updates the copyright year and project name in the header comment.

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-05-06 15:39:13 +10:00
yuzubot
537296095a "Merge Tagged PR 13018" 2024-03-04 13:02:54 +00:00
yuzubot
2ddac7b02b "Merge Tagged PR 13178" 2024-03-04 13:02:53 +00:00
Narr the Reg
15e6e48bef Merge pull request #13198 from zhaobot/tx-update-20240301020652
Update translations (2024-03-01)
2024-03-01 01:57:00 -06:00
Pengfei Zhu
2f57c5a0e9 Revert arbaic translation 2024-03-01 15:20:53 +08:00
Pengfei Zhu
338e088b9d Remove trailing whitespaces 2024-03-01 14:19:02 +08:00
The yuzu Community
56c9107d08 Update translations (2024-03-01) 2024-03-01 03:12:19 +00:00
liamwhite
dc94882c90 Merge pull request #13135 from german77/hid-interface
service: hid: Migrate HidServer to new IPC
2024-02-27 12:26:26 -05:00
liamwhite
30567a5909 Merge pull request #13175 from liamwhite/asan
general: fix asan errors
2024-02-27 09:42:59 -05:00
liamwhite
f1b1530249 Merge pull request #13171 from liamwhite/fake-address
texture_cache: do not track invalid addresses
2024-02-27 09:42:46 -05:00
liamwhite
6948ac8c16 general: workarounds for SMMU syncing issues (#12749) 2024-02-27 15:42:15 +01:00
liamwhite
b2e129eaa5 vk_rasterizer: flip scissor y on lower left origin mode (#13122) 2024-02-27 15:40:33 +01:00
liamwhite
1de37306a5 buffer_cache: avoid overflow in usage tracker (#13166) 2024-02-27 15:39:11 +01:00
liamwhite
9bc85dda5f texture_cache: use two-pass collection for costly load resources (#13096) 2024-02-27 15:38:14 +01:00
Liam
c7174d5f61 general: fix asan errors 2024-02-26 19:28:49 -05:00
Narr the Reg
1bec420695 Merge pull request #13172 from liamwhite/gl-streams
renderer_opengl: declare geometry stream support in profile
2024-02-26 11:51:25 -06:00
liamwhite
79edad2533 Merge pull request #13159 from liamwhite/web-error
core: enable error applet, add stubs for web applet
2024-02-26 12:44:55 -05:00
liamwhite
ce62fa6f7b Merge pull request #13149 from liamwhite/per-channel-program
video_core: make gpu context aware of rendering program
2024-02-26 12:44:46 -05:00
Liam
a0e254e7c4 renderer_opengl: declare geometry stream support in profile 2024-02-26 11:18:30 -05:00
Liam
25c3bbba0e settings: remove global override for smash on amdvlk 2024-02-26 11:16:18 -05:00
Liam
d66ca8b731 video_core: make gpu context aware of rendering program 2024-02-26 11:16:14 -05:00
Liam
fd9ed54f27 texture_cache: do not track invalid addresses 2024-02-26 10:26:27 -05:00
liamwhite
f9bfdb1555 Merge pull request #13164 from merryhime/reset-submodules
tools: Add reset submodules script
2024-02-25 14:01:11 -05:00
liamwhite
15831b19a3 Merge pull request #13163 from german77/ring
core: hid: hid_core doesn't have access to LIBUSB
2024-02-25 14:01:05 -05:00
liamwhite
8416d1c028 Merge pull request #13154 from german77/vibration-filter
core: hid: Reintroduce vibration filter
2024-02-25 14:00:59 -05:00
Merry
4d5d37ae61 tools: Add reset submodules script 2024-02-25 17:17:01 +00:00
german77
e62cea20d1 core: hid: hid_core doesn't have access to LIBUSB 2024-02-25 10:06:43 -06:00
Narr the Reg
9e27dbb53b Merge pull request #13160 from liamwhite/time
glue: load initial year setting as s32
2024-02-25 08:47:16 -06:00