Commit graph

804 commits

Author SHA1 Message Date
Crementif
cd31a9e3aa Silence wxGameList asserts by adding images instead 2025-11-21 22:54:14 +01:00
Exzap
518eca80c3 Explicitly use wide version of win API 2025-11-21 22:18:14 +01:00
Crementif
c7c7e5c29d Revert use of new, slower wxListCtrl::Set*Images API in game list
The SetImageList gives ListCtrl a pointer to use for the images, which we can then asynchronously load its items from. There's no locking, but before we upgraded it to use the new API it has never really caused any issues. In 40302a706b I upgraded to the recommended API that's mentioned in the wxWidgets docs.

However, the performance, especially with a lot of game titles installed, was quite terrible with this new API due to us needing to call wxListCtrl::Set*Images each time a new icon was loaded, which it'll have to rescale each time for the user's DPI (at least, it seems to spend a long time in a bitmap/icon rescaling method). https://github.com/cemu-project/Cemu/issues/1672 brought this up. So ultimately I think it's just better from a usability standpoint to use the old methods.

Also, I removed some of the hacks that were used for the icon column width size, now that its using the new upstreamed fix. I also added a flag to draw vertical lines between the columns.
2025-11-21 19:31:17 +01:00
Crementif
474e97454e Use improved, upstreamed version of dark mode fix
See https://github.com/wxWidgets/wxWidgets/pull/25950 for the various fixes.
2025-11-17 15:35:42 +01:00
Crementif
bdbaccd542 Rebase wxwidgets overlay with upstream vcpkg port 2025-11-17 13:40:59 +01:00
goeiecool9999
5390f9338c
GX2: Implement GX2SetTVGamma and GX2SetDRCGamma (#1682) 2025-11-14 13:51:58 +01:00
Exzap
4fa0df6dcf nn_boss: Reimplementation
This is a full rewrite of our nn_boss (SpotPass) implementation. The previous code was based on a lot of incorrect guesswork so rather than updating that it made more sense to redo it all.

In short what changed:
- More API implemented than before, but nn_boss is very complex so we are still missing stuff (e.g. PlayReports and Task scheduling)
- Avoids redownloading nbdl files if they are already present locally (matches IOSU behavior)
- The API should be more robust in general and file hashes are now verified
- Emulated IOSU interface is compatible with nn_boss.rpl
- Added an UI option to clear the SpotPass cache
2025-10-30 16:24:09 +01:00
qurious-pixel
3f6974fc95
Linux/CI: Add ARM AppImage (#1711) 2025-10-24 04:34:06 +02:00
RedBlackAka
ef1c836290
UI: Move recent files into a submenu (#1707) 2025-10-15 23:09:03 +02:00
SamoZ256
d54fb0ba78
arm: flush denormals to zero (#1696) 2025-09-27 00:41:17 +02:00
oltolm
84f12eea65
UI: fix sorting after style switch (#1693) 2025-09-22 01:25:57 +02:00
SamoZ256
3c1f920d6c
macOS: bump minimum version (#1690) 2025-09-20 00:54:24 +02:00
goeiecool9999
492116a6ba VPAD: report gamepad volume slider position even when audio playback is disabled or failed to init 2025-09-11 13:15:40 +02:00
Michael Schroder
158c4e17a2
input: Add support for Wii Remote Plus by handling the inactive MotionPlus extension events (#1683) 2025-09-09 21:05:06 +02:00
RedBlackAka
5a3809be16
windows: Add NSIS Windows installer (#1645)
License, user-install only and cleanups, mention in README
2025-09-05 12:40:51 +02:00
oltolm
9267e72ef9
refactor: Fix pugixml deprecation warnings (#1677) 2025-08-30 20:39:48 +02:00
oltolm
6013ac1823
refactor: Fix trivial compiler warnings (#1675) 2025-08-30 13:01:52 +02:00
oltolm
de4bf7c2c1
refactor: use concepts instead of SFINAE (#1652) 2025-08-25 01:33:46 +02:00
Exzap
aeb3154257 debugger: Fix clipboard related crash
When copying an address from Cemu's debugger and pasting it into Cemu (anywhere) it would crash because the memory was released prematurely
2025-08-17 17:58:30 +02:00
capitalistspz
d7c510ed31
Update vcpkg dependency SDL2 to 2.32.8 (#1670) 2025-08-16 05:56:30 +02:00
Crementif
57fe7a53f1 UI: Disable alpha for game list icons 2025-07-29 19:26:47 +02:00
Crementif
493b11e23a
UI: Refresh debugger when graphic packs are loaded or unloaded (#1653) 2025-07-26 22:45:44 +02:00
Crementif
191357c518
UI: Fix minor dark mode issues (#1654)
* Fix black text after graphic pack is disabled in dark mode
* Fix background colour of audio debugger in dark mode
* Make placeholder game list icons black when using dark mode
* Some tweaks to the HotkeySettings window:
  - Make strings translatable
  - Makes the column headers bold for clarity
  - Makes the border darker on Linux, fixed by @goeiecool9999
  - Make the column headers have some padding to make it look nicer.
2025-07-26 22:45:28 +02:00
oltolm
55a735dcfa
Windows: Use modern API to set thread name if available (#1634) 2025-07-25 06:10:14 +02:00
Crementif
08609591ae
UI: Upgrade to wxWidgets 3.3.1 and add dark mode support for Windows (#1647) 2025-07-23 11:07:24 +02:00
Kevin Reinholz
4efa40c51c
Make it easy to build Cemu on BSD (#1632) 2025-07-23 08:59:09 +02:00
oltolm
955ce9b973
UI: Fix static initialization in regards to hotkey map (#1643) 2025-07-23 01:05:56 +02:00
ZoweZilsio
1ec8c713b4
CI: Fix deploy workflow for multiarch macos (#1642) 2025-07-20 23:14:11 +02:00
Exzap
73b1dc1663 UI: Add architecture to auto-updater check 2025-07-20 23:10:13 +02:00
Exzap
c1c2962b66 Switch to a different Discord RPC implementation
discord-rpc has been unmaintained for years
2025-07-20 00:53:10 +02:00
Crementif
42ff3ad468 Fix debug assert that'd occur when closing the debug menu
Closing the settings window will immediately flush a temporary 0, 0 value it writes for the size which gets overwritten by the MainWindow a few seconds later.

In the code, -1 is considered the "off" state, and 0 is considered a "it should be saved, but only whenever the value is available". The save gamepad size/pos option already worked like this new behavior, since you might enable the option but not (previously) have it open yet. When encountering a 0 as the size, it'll just use the default window size of Cemu.
2025-07-16 16:14:55 +02:00
Crementif
2d74bcfbfa Fix regression with saving/loading child configs
Seems like a minor thing slipped under the radar in commit 67de63bed6
2025-07-16 16:08:09 +02:00
SSimco
67de63bed6
UI+build: Isolate wxWidgets code from non-GUI code (#1633) 2025-07-15 04:28:41 +02:00
Exzap
5f3c2816ec AX: Fix voice dropping 2025-07-08 19:01:20 +02:00
qurious-pixel
7f62b145dd
build: Build assembly in ih264d with cpp preprocessor (#1631) 2025-07-08 05:47:40 +02:00
AnimeGIF
cdca5eaf78
UI: Add configurable hotkeys + a new fast forward hotkey (#1519) 2025-07-07 23:55:57 +02:00
goeiecool9999
e68c31e5fb Fix path text encoding creating shortcuts on windows
also fix a memory leak
(hopefully)
fixes: #1627
2025-07-02 13:31:21 +02:00
qurious-pixel
35ecfa3f54
build: Fix glslang dependency for Fedora 42 (#1622) 2025-07-01 05:00:11 +02:00
oltolm
6c392d5a22
UI: Fix assertions (#1623) 2025-06-30 00:15:23 +02:00
Colin Kinloch
9fb3c76b76
UI: Include wx button header for wxWidgets 3.3 compatibility (#1621) 2025-06-29 19:36:22 +02:00
Exzap
13ccf9a160 MMU: Fix bit width for 32bit MMIO reads
This resolves the ghost input issue in N64 virtual console
2025-06-28 21:43:40 +02:00
Exzap
7db2b77983 CPU: Implement more instructions in interpreter + various fixes
All of the changes are verified against real hardware, except for the byte string instructions
2025-06-28 14:54:31 +02:00
capitalistspz
0a121c97c7
Input: Detect Classic Controller Pro as Classic Controller (#1614) 2025-06-26 17:25:34 +02:00
Exzap
e91740cf29 coreinit: Make sure thread deallocation runs before join returns
Fixes crash in Coaster Crazy Deluxe
2025-06-22 23:34:41 +02:00
Exzap
4f4c9594ac GX2: Fix command buffer padding writing out of bounds 2025-06-22 22:17:29 +02:00
Exzap
5a4731f919 HLE: Make HLE table access thread-safe
Previous code could sometimes resize the vector while a read access was happening
2025-06-22 20:56:47 +02:00
Exzap
522b5ef260 UI: Correctly interpret supporter names as UTF8 2025-06-21 18:58:58 +02:00
capitalistspz
057ef4598e
cmake: Respect ENABLE_HIDAPI option (#1604) 2025-06-20 13:32:41 +02:00
Joshua de Reeper
4f4412b334
nsyshid: Play Emulated Portal Audio via Mono Audio (#1478) 2025-06-19 23:30:19 +02:00
Exverge
00ff5549d9
General aarch64 improvements & Apple Silicon support (#1255) 2025-06-18 10:36:05 +02:00