299 Commits
Author SHA1 Message Date
IzzyandGitHub 14f9baa30c Update build.yml 2025-12-08 04:30:19 -05:00
IzzyandGitHub 5313787a5c Update build.gradle.kts 2025-12-08 04:29:41 -05:00
IzzyandGitHub aa8f87ed73 Update build.gradle.kts 2025-12-08 04:20:58 -05:00
IzzyandGitHub ea0d608deb Update build.yml 2025-12-08 04:19:51 -05:00
IzzyandGitHub 15071d4b86 Update build.gradle.kts 2025-12-08 04:14:17 -05:00
IzzyandGitHub beb623f4aa Update build.yml 2025-12-08 04:13:16 -05:00
IzzyandGitHub 8ea4c50da4 Update build.yml 2025-12-08 04:06:14 -05:00
IzzyandGitHub 5f1c0af138 Update build.gradle.kts 2025-12-08 04:05:21 -05:00
IzzyandGitHub 2145dc67a9 Update CMakeLists.txt 2025-12-08 03:45:21 -05:00
IzzyandGitHub da3f6dbb80 Update build.gradle.kts 2025-12-08 03:30:25 -05:00
IzzyandGitHub 1192180e73 Update build.gradle.kts 2025-12-08 03:24:34 -05:00
IzzyandGitHub e741b9e36f Update build.yml 2025-12-08 03:23:05 -05:00
IzzyandGitHub 0da6b2f52e Update build.yml 2025-12-08 03:17:29 -05:00
IzzyandGitHub acf261f260 Add files via upload 2025-12-08 03:10:07 -05:00
izzy2lost 853d1d467e trying to git gha workflow to work 2025-12-08 03:05:45 -05:00
IzzyandGitHub 6dd5081b43 Update build.yml 2025-12-07 16:02:52 -05:00
IzzyandGitHub b595800e98 Update build.yml 2025-12-07 15:41:06 -05:00
IzzyandGitHub d770314825 Changed to ndk r29 2025-12-07 15:01:59 -05:00
IzzyandGitHub 52227c06ca Changed from java 21 to 17 2025-12-07 13:50:15 -05:00
izzy2lost 7f375d6654 Minor UI improvement 2025-10-25 18:37:14 -04:00
izzy2lost 866c6a08b2 better back button handling and exit game 2025-10-25 15:46:58 -04:00
izzy2lost 5ebc71c59d ui improvements 2025-10-25 15:08:24 -04:00
izzy2lost c717ec0c4c fixed about title crash 2025-10-25 13:16:42 -04:00
izzy2lost c88204f946 fix about info per game 2025-10-25 07:12:29 -04:00
izzy2lost eed0cb4344 added more gameids to download covers and additional game info 2025-10-25 06:53:17 -04:00
izzy2lost ac1949de1d added cover downloading 2025-10-25 05:06:16 -04:00
izzy2lost a46d74c20a change theme colors some more 2025-10-23 20:17:23 -04:00
izzy2lost a2989ae45e change theme colors 2025-10-23 15:51:11 -04:00
izzy2lost 1d79871aa6 make local build work 2025-10-23 15:22:46 -04:00
izzy2lost fa305ae1a2 updated java to 21 added some local .bat builds 2025-10-22 03:59:08 -04:00
izzy2lost 50c2003e0f add depends worflow 2025-10-22 02:56:53 -04:00
izzy2lost ee8fc3fa15 material icons added 2025-10-22 02:44:22 -04:00
izzy2lost 5678036590 m3 expressive theme 2025-10-21 15:46:01 -04:00
IzzyandGitHub d439fe4897 Delete src/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp 2025-10-21 12:51:48 -04:00
IzzyandGitHub e051e08586 Delete src/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp 2025-10-21 12:51:32 -04:00
IzzyandGitHub 8daae39a66 Delete src/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp 2025-10-21 12:51:15 -04:00
IzzyandGitHub 029c0e64e7 Delete src/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp 2025-10-21 12:50:59 -04:00
IzzyandGitHub 00be588058 Delete src/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp 2025-10-21 12:50:46 -04:00
izzy2lost 1193871271 New app icon 2025-10-21 12:24:33 -04:00
izzy2lost 19574110ac Merge branch 'android' of https://github.com/izzy2lost/WeeU into android 2025-10-21 10:07:49 -04:00
izzy2lost cb023db394 more name changes 2025-10-21 10:07:40 -04:00
IzzyandGitHub 9be892a9aa Update settings.gradle.kts 2025-10-21 06:35:44 -04:00
izzy2lost 8f848cfa71 Change app name in files and folders 2025-10-21 05:46:15 -04:00
izzy2lost f7b9fbd52c Delete test stuff 2025-10-21 04:39:29 -04:00
izzy2lost 27816d89cc Revert "devlo: snapshot for thread user-thread-20251020073048"
This reverts commit 53ed3e3340.
2025-10-20 22:42:26 -04:00
izzy2lost 0e972ea0e4 Revert "devlo: snapshot for thread user-thread-20251020073455"
This reverts commit 756847ad79.
2025-10-20 22:42:15 -04:00
devloai[bot] 756847ad79 devlo: snapshot for thread user-thread-20251020073455 2025-10-20 07:47:42 +00:00
devloai[bot] 53ed3e3340 devlo: snapshot for thread user-thread-20251020073048 2025-10-20 07:47:42 +00:00
IzzyandGitHub 49188ed043 Update build.gradle.kts 2025-10-20 00:51:16 -04:00
IzzyandGitHub 0f1158c3bc Update vcpkg.json 2025-10-20 00:48:33 -04:00
IzzyandGitHub e51eaf4fa5 missing , 2025-10-20 00:39:47 -04:00
IzzyandGitHub 64baee6af9 Update fmt version 2025-10-20 00:35:18 -04:00
IzzyandGitHub d1522fb24c Update ndk 2025-10-19 22:53:57 -04:00
IzzyandGitHub 6f936888d1 Change trigger to workflow_dispatch in build.yml 2025-10-19 04:41:08 -04:00
IzzyandGitHub ef87d6218b Update generate_pot.yml 2025-10-19 03:16:22 -04:00
SSimco f81c5fbd13 Fix apk signing 2025-08-31 10:04:50 +03:00
SSimcoandGitHub 0af3920844 Merge branch 'cemu-project:main' into android-port 2025-08-30 23:18:26 +03:00
SSimco ae90fe7eb8 Fix typos 2025-08-30 23:00:23 +03:00
oltolmandGitHub 9267e72ef9 refactor: Fix pugixml deprecation warnings (#1677) 2025-08-30 20:39:48 +02:00
SSimco a9988361e6 update workflows 2025-08-30 21:32:27 +03:00
SSimco ffc6ab784e Fix wrong path for custom drivers 2025-08-30 21:21:23 +03:00
SSimco 905b11f986 Merge branch 'main' into android 2025-08-30 21:19:07 +03:00
SSimco deefc4e392 cleanup 2025-08-30 21:08:26 +03:00
SSimco 79d4e60692 cleanup submodules 2025-08-30 19:33:40 +03:00
SSimco 92d88fa866 update readme 2025-08-30 19:33:40 +03:00
SSimco 4c2e69445d Add option for pad position & removed side menu button 2025-08-30 19:33:40 +03:00
oltolmandGitHub 6013ac1823 refactor: Fix trivial compiler warnings (#1675) 2025-08-30 13:01:52 +02:00
SSimco 9bf84560a7 Update logging to check the format str at compile time 2025-08-29 21:18:09 +03:00
SSimco 5658466d84 Update build wf with common vcpk action 2025-08-29 21:17:47 +03:00
SSimco b8903f21e8 Update SAF handling 2025-08-29 21:17:14 +03:00
SSimco 6a3b7f0290 Add message catalogs to android assets 2025-08-27 14:45:56 +03:00
SSimco 8d717160e9 Update graphic packs 2025-08-26 22:25:24 +03:00
SSimco 91ce31ca9f Update title manager 2025-08-26 13:07:16 +03:00
oltolmandGitHub de4bf7c2c1 refactor: use concepts instead of SFINAE (#1652) 2025-08-25 01:33:46 +02:00
SSimco 71a0504691 Add missing overlay button 2025-08-20 09:40:16 +03: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
SSimco 58d1625672 Fix graphic packs download error 2025-08-16 17:27:42 +03:00
capitalistspzandGitHub d7c510ed31 Update vcpkg dependency SDL2 to 2.32.8 (#1670) 2025-08-16 05:56:30 +02:00
SSimco f209413051 Add account settings 2025-08-09 17:33:07 +03:00
Crementif 57fe7a53f1 UI: Disable alpha for game list icons 2025-07-29 19:26:47 +02:00
SSimco 44f0e5acd3 Update wxgui 2025-07-27 23:21:01 +03:00
CrementifandGitHub 493b11e23a UI: Refresh debugger when graphic packs are loaded or unloaded (#1653) 2025-07-26 22:45:44 +02:00
CrementifandGitHub 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
SSimco 1292463a5b Update pot file generation 2025-07-26 15:21:25 +03:00
SSimco a660be1a16 Cleanup 2025-07-25 19:33:44 +03:00
SSimco eb803a8c8c Update about screen 2025-07-25 19:31:41 +03:00
SSimco cf03067f7a Update kotlin libraries 2025-07-25 19:13:08 +03:00
oltolmandGitHub 55a735dcfa Windows: Use modern API to set thread name if available (#1634) 2025-07-25 06:10:14 +02:00
CrementifandGitHub 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 ReinholzandGitHub 4efa40c51c Make it easy to build Cemu on BSD (#1632) 2025-07-23 08:59:09 +02:00
oltolmandGitHub 955ce9b973 UI: Fix static initialization in regards to hotkey map (#1643) 2025-07-23 01:05:56 +02:00
ZoweZilsioandGitHub 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
SSimco 1f45589cea Add gettext translations 2025-07-20 16:38:03 +03: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
SSimco 8c83d88d55 Merge remote-tracking branch 'public/main' into android-port 2025-07-19 19:32:55 +03: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
SSimcoandGitHub 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-pixelandGitHub 7f62b145dd build: Build assembly in ih264d with cpp preprocessor (#1631) 2025-07-08 05:47:40 +02:00
AnimeGIFandGitHub 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-pixelandGitHub 35ecfa3f54 build: Fix glslang dependency for Fedora 42 (#1622) 2025-07-01 05:00:11 +02:00
oltolmandGitHub 6c392d5a22 UI: Fix assertions (#1623) 2025-06-30 00:15:23 +02:00
Colin KinlochandGitHub 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
capitalistspzandGitHub 0a121c97c7 Input: Detect Classic Controller Pro as Classic Controller (#1614) 2025-06-26 17:25:34 +02:00
SSimco b20a0a1374 refactor 2025-06-25 17:10:37 +03: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
capitalistspzandGitHub 057ef4598e cmake: Respect ENABLE_HIDAPI option (#1604) 2025-06-20 13:32:41 +02:00
Joshua de ReeperandGitHub 4f4412b334 nsyshid: Play Emulated Portal Audio via Mono Audio (#1478) 2025-06-19 23:30:19 +02:00
SSimco f14536635c Add emulation settings 2025-06-18 19:07:29 +03:00
ExvergeandGitHub 00ff5549d9 General aarch64 improvements & Apple Silicon support (#1255) 2025-06-18 10:36:05 +02:00
oltolmandGitHub c8ffff8f41 Replace basic_string<> of betype with std::vector (#1601) 2025-06-18 10:34:06 +02:00
oltolmandGitHub 2f02fda9ea Refactor to use Microsoft::WRL::ComPtr (#1599) 2025-06-16 23:25:06 +02:00
SSimco 89ec2f0591 Update sensor manager to check device orientation 2025-06-15 20:00:10 +03:00
SSimco d5bb3e44e8 Add data files 2025-06-15 20:00:06 +03:00
oltolmandGitHub da98aa4176 UI: Make code compatible with wxWidgets 3.3 (#1598) 2025-06-14 20:38:53 +02:00
oltolmandGitHub 95dc590d2c UI: Improve wxListView sorting and add sort order indicators (#1597) 2025-06-14 10:25:56 +02:00
goeiecool9999andGitHub f3fe6f3455 GameList: Allow sorting by more columns (#1571) 2025-06-13 12:47:46 +02:00
oltolmandGitHub 2eec6b44c3 UI: Use wxListView instead of wxListCtrl (#1584) 2025-06-10 08:15:25 +02:00
LuminyxandGitHub 3eff2d4a60 GraphicPack: Allow overlay for code folder (#1574) 2025-06-10 08:03:18 +02:00
WiicheleandGitHub d427b59019 boss: Use HTTP/1.1 instead of default (#1593) 2025-06-08 07:16:09 +02:00
neebyAandGitHub a184a04e56 macOS: Minor UI improvements (#1575) 2025-06-07 22:42:49 +02:00
Colin KinlochandGitHub 162fdabb9d debug: "verbose" command line argument to log to stdout (#1587) 2025-06-02 01:38:21 +02:00
Colin KinlochandGitHub c8045f7f04 UI: wxCAPTION flag on input API dialog to fix kwin (#1586) 2025-06-01 03:57:33 +02:00
oltolmandGitHub 6df3e1742e UI: Fix wxWidgets assert in InfinityPage (#1582) 2025-05-31 16:29:07 +02:00
oltolmandGitHub 152b790242 UI: Use wxID_ANY and wxNOT_FOUND instead of hardcoding -1 (#1581) 2025-05-30 01:39:02 +02:00
SSimco de58ae7d98 Reapply "GX2: Use atomic pointers rather than mutex (#3)"
This reverts commit aa878cc938.
2025-05-29 18:44:02 +03:00
SSimco 55efe4ca2b Reapply "fix for recompiler/interperter crash on arm"
This reverts commit 657662d1bb.
2025-05-29 18:43:56 +03:00
SSimco a0bf8dab7d Revert "GX2+TCL: Reimplement command buffer submission"
This reverts commit 28ea70b6d8.
2025-05-29 18:42:47 +03:00
capitalistspzandGitHub 02616bf6be build: Allow Linux builds to be made without Bluez (#1579) 2025-05-28 15:18:01 +02:00
SSimco be10f8859e Merge branch 'main' into android 2025-05-28 09:30:18 +03:00
SSimco 657662d1bb Revert "fix for recompiler/interperter crash on arm"
This reverts commit fb03e66041.
2025-05-28 09:29:02 +03:00
SSimco aa878cc938 Revert "GX2: Use atomic pointers rather than mutex (#3)"
This reverts commit 1e15f337ec.
2025-05-28 09:28:40 +03:00
Exzap 7168d20cde FST: Refactor IV handling 2025-05-27 16:51:46 +02:00
SSimco 2de02eaaaa refactor 2025-05-20 12:09:12 +03:00
Exzap 783d88a892 coreinit: Fix race condition in __FSAIoctlResponseCallback 2025-05-17 21:35:42 +02:00
Exzap 28ea70b6d8 GX2+TCL: Reimplement command buffer submission
- GX2 utilizes TCL(.rpl) API for command submission instead of directly writing to an internal GPU fifo
- Submission & retire timestamps are correctly implemented as incremental counters
- Command buffering behaviour matches console
- Fixes race conditions on aarch64
2025-05-17 21:35:42 +02:00
Exzap 96765e4ac6 Latte: Refactor clear code 2025-05-17 20:47:01 +02:00
gamerbrossandGitHub 111637a9fd nsyshid: Skylander 360 Portal small optimization and code formatting (#1568) 2025-05-15 19:58:43 +02:00
IssaandGitHub bed5fdb195 UI: Disable Ctrl+Q shortcut on non-macOS platforms to prevent accidental exits during gameplay (#1565) 2025-05-13 03:38:11 +02:00
shinra-electricandGitHub 996539fce8 CI: Bump MoltenVK to v1.3.0 (#1559) 2025-05-12 20:12:40 +02:00
MefiresuandGitHub 05617a332b dmae: Implement 16bit endian swap for DMAECopyMem (#1564) 2025-05-12 18:16:14 +02:00
Joshua de ReeperandGitHub caef34f2ff nsyshid: Add Kamen Rider USB Device to Whitelist (#1560) 2025-05-12 09:28:01 +02:00
neebyAandGitHub f801fc1fe8 Fix Mac build for Xcode 16.3 (#1558) 2025-05-12 00:08:25 +02:00
Exzap 61484598fc Vulkan: Use per-pipeline buffer robustness
And if the extension is not supported then fallback to enabling robust buffer access for all shaders.
2025-05-10 09:49:21 +02:00
SSimco 5987b3d8ae Merge branch 'main' into android 2025-05-09 16:57:28 +03:00
SSimcoandGitHub 081ebead5f Add AArch64 recompiler backend (#1556) 2025-05-09 12:47:22 +02:00
SSimco a72e2deb6c update aarch64 jit 2025-05-09 11:01:58 +03:00
Exzap d13dab0fd8 Vulkan: During shutdown submit buffer before deleting resources 2025-05-09 10:00:38 +02:00
SSimco be641952a4 Merge branch 'main' into android 2025-05-09 07:14:56 +03:00
Exzap ba09daf328 PPCRec: Reenable float copy optimization 2025-05-09 02:06:08 +02:00
Exzap 557aff4024 PPCRec: Implement PSQ scaling 2025-05-08 08:29:47 +02:00
SSimco d4f18aa791 Merge branch 'main' into android 2025-05-08 09:15:15 +03:00
ExzapandGitHub de542410c2 PPCRec: Rework floating point instructions (#1554) 2025-05-08 03:48:22 +02:00
gamerbrossandGitHub 33d5c6d490 nsyshid: Add Skylander Xbox 360 Portal support (#1550) 2025-05-04 21:44:46 +02:00
CrementifandGitHub 352a918494 debug: add CLI option to have multi-core interpreter (#1553)
This option still allows you to have proper stack traces for crashes or for the PPC debugger, but is a lot faster then the really slow interpreter (especially when loading into large games like BotW where there has to be a lot of asset decompressing). It makes memory access breakpoints much more brittle though, so it's not a perfect option.

Normal users should of course stick with using the recompiler.
2025-05-04 18:04:26 +02:00
Crementif d083fc0470 Reorder PPCInterpreter memory layout to keep plugin compatibility
Commit b089ae5b32 changed the PPCInterpreter struct that external plugins rely on to hook Cemu through e.g. the exported "osLib_registerHLEFunction". This commit moves some unused values down so that it keeps the same memory layout as before the PPC recompiler rework.
2025-05-04 17:19:56 +02:00
neebyAandGitHub fa7ae84314 macOS: Fix browsing of directory paths with spaces (#1546) 2025-05-04 13:46:01 +02:00
ShikakibenandGitHub 00099c5ecc Set StartupWMClass in .desktop file (#1552) 2025-05-04 13:29:27 +02:00
SSimco 44b22b9eb1 Merge branch 'main' into android 2025-05-03 19:57:43 +03:00
SSimco a0531916ec refactor android input code 2025-04-28 08:39:14 +03:00
SSimco 119b39ab19 refactor emulation activity 2025-04-28 08:36:44 +03:00
SSimco 09eb9e5b48 refactor native code 2025-04-28 08:34:02 +03:00
goeiecool9999 e6a64aadda undo revert of style improvement 2025-04-27 17:03:00 +02:00
goeiecool9999 a5f3558b79 Revert "fix building with fmt11 and GCC"
This reverts commit 372c314f06.
It broke formatting in an attempt to fix GCC builds.
Some other change (perhaps dependency updates) has resolved the issue.
2025-04-27 16:57:22 +02:00
ExzapandGitHub b089ae5b32 PowerPC recompiler rework (#641) 2025-04-26 17:59:32 +02:00
Exzap 06233e3462 UI: Fix wxWidgets debug assert
Adding the same component multiple times is not allowed. Use sizers instead
2025-04-16 14:36:11 +02:00
Exzap 4972381edc Vulkan: Fix imgui validation error when sRGB framebuffer is used 2025-04-15 22:46:19 +02:00
Exzap cd6eb1097b Vulkan: Fix a validation error + minor code refactor
We were using VK_EXT_DEPTH_CLIP_ENABLE but didn't actually request it.

Also fixed an assert when closing Cemu caused by incorrectly tracking the number of allocated pipelines
2025-04-15 21:10:11 +02:00
Exzap c4eab08f30 Update vcpkg 2025-04-03 19:11:14 +02:00
mitoposterandGitHub 57ff99ce53 cubeb: Show default device option even if enumerating devices fails (#1515) 2025-03-19 17:06:55 +01:00
capitalistspzandGitHub 8b5cafa98e Wiimote/L2CAP: More accurate descriptions for descriptors (#1512) 2025-03-13 01:09:45 +01:00
SSimco d2e7ddf613 Fix build 2025-03-10 21:29:39 +02:00
SSimco 356a573b45 Merge branch 'main' into android 2025-03-10 19:31:44 +02:00
SSimco 00eb8f95e4 Update doc 2025-03-10 19:14:20 +02:00
SSimco 3bc76a7048 cleanup 2025-03-10 19:11:37 +02:00
SSimco 0c412caa09 Refactor input overlay 2025-03-10 18:04:26 +02:00
SSimco d6e226f129 Replace boost-context dep 2025-03-10 18:04:26 +02:00
SSimco b9ff29ba86 recompiler refactor 2025-03-10 18:04:26 +02:00
SSimco 8c74158078 cleanup code 2025-03-10 18:04:26 +02:00
SSimco 72cf7c7587 Save settings only on activity pause 2025-03-10 18:04:26 +02:00
SSimco fdb1f27e7d Add gui for adding custom drivers 2025-03-10 18:04:23 +02:00
SSimco e919c23ea5 Refactored gamelist & emulation gui code 2025-03-10 17:15:53 +02:00
SSimco f73b921349 Added title manager 2025-03-10 17:15:53 +02:00
SSimco 9db3f87549 Updated cubeb dep 2025-03-10 17:15:53 +02:00
SSimco 199fcefa89 Refactored android code 2025-03-10 17:15:53 +02:00
SSimco c25233404e Refactored input overlay code 2025-03-10 17:15:53 +02:00
SSimco c587f73810 Rewrite with compose 2025-03-10 17:15:53 +02:00
SSimco 5631c5a0ec Updated android code 2025-03-10 17:15:53 +02:00
SSimco 544288c598 Refactor rec code 2025-03-10 17:15:53 +02:00
SSimco 1fc73e8cc9 Update build.yml 2025-03-10 17:15:53 +02:00
SSimco 827b607629 Fixed crash when changing controller types 2025-03-10 17:15:53 +02:00
SSimco 24b1cff66d Added logging of unhandled exception from java code 2025-03-10 17:15:53 +02:00
SSimco a5483910d5 Refactored input gui code 2025-03-10 17:15:53 +02:00
SSimco 0d07c11066 Downgrade ndk ver 2025-03-10 17:15:53 +02:00
SSimco 562b86dd8f Latte: Add dummy params in shaders 2025-03-10 17:15:53 +02:00
SSimco 6e4ba0a9b5 Fixed wrong month being reported for playstat 2025-03-10 17:15:53 +02:00
SSimco 7fc00c47b8 Update atomic_cmp_store to use cas inst 2025-03-10 17:15:53 +02:00
capitalistspzandSSimco 3de504f8ec Make MEMPTR<T> a little more T*-like (#1385) 2025-03-10 17:15:53 +02:00
SSimco 991c36e019 Implement getting cpu name for aarch64 linux 2025-03-10 17:15:51 +02:00
CrementifandGitHub 186e92221a debugger: allow printing registers using logging breakpoint placeholders (#1510)
This allows a savy user, developer or modder to change the comment field of a logging breakpoint to include placeholders such as {r3} or {f3} to log the register values whenever that code is hit.
2025-03-07 23:40:17 +01:00
goeiecool9999 31d2db6f78 OpenGL: Add explicit/matching qualifiers in output shader interface
fixes issues with old intel drivers
2025-03-05 22:23:06 +01:00
capitalistspzandGitHub ebb5ab53e2 Add menu item for opening shader cache directory (#1494) 2025-02-14 20:56:51 +01:00
capitalistspzandGitHub a6fb0a48eb BUILD.md: Provide more info about build configuration flags (#1486) 2025-02-04 10:56:33 +01:00
Exzap ec2d7c086a coreinit: Clean up time functions 2025-01-30 03:49:17 +01:00
Exzap c714e8cb6b coreinit: Time to tick conversion is unsigned
The result is treated as signed in most cases, but the calculation uses unsigned arithmetic.

As a concrete example where this matters, DS VC passes -1 (2^64-1) to OSWaitEventWithTimeout which internally causes an overflow. But only with unsigned arithmetic this will result in a large positive number that behaves like the intended infinite timeout. With signed arithmetic the result is negative and the events will timeout immediately.
2025-01-30 03:32:24 +01:00
goeiecool9999andGitHub e834515f43 Vulkan: Improve post-shutdown cleanup and minor improvements (#1401) 2025-01-23 21:20:03 +01:00
Exzap 4f9eea07e0 CI: Update action version 2025-01-23 21:06:07 +01:00
goeiecool9999 372c314f06 fix building with fmt11 and GCC 2025-01-23 21:03:11 +01:00
Exzap 5bd253a1f8 Revert "Fix building against fmt 11.1.0 (#1474)"
Reverting commit 4ac65159ef because game profile enums use the stringifying formatters from config.h and are not supposed to store raw integers
2025-01-23 17:33:06 +01:00
Alexandre BouvierandGitHub 4ac65159ef Fix building against fmt 11.1.0 (#1474) 2025-01-16 12:54:29 +01:00
Joshua de ReeperandGitHub eab1b24320 nsyshid: Initialise interface index as 0 (#1473) 2025-01-12 20:20:48 +01:00
ExzapandGitHub 07cd402531 Update precompiled.h 2025-01-12 18:33:15 +01:00
Joshua de ReeperandGitHub 0a59085021 nsyshid: Make Libusb the Windows backend (#1471) 2025-01-12 14:33:24 +01:00
ExzapandGitHub 8dd809d725 Latte: Implement better index caching (#1443) 2025-01-12 12:39:02 +01:00
rcaridade145andGitHub 1923b7a7c4 Vulkan: Added R5_G6_B5_UNORM to supported readback formats (#1430) 2025-01-12 12:37:56 +01:00
brysma1andGitHub f61539a262 Update build instructions for fedora and add troubleshooting step for alternative architectures (#1468) 2025-01-08 04:22:55 +01:00
CrementifandGitHub 92021db230 Use one CPU emulation thread for --force-interpreter (#1467) 2025-01-05 04:08:13 +01:00
CrementifandGitHub 4b792aa4d2 debug: Fix shader dumping (#1466) 2025-01-04 20:38:42 +01:00
capitalistspzandGitHub 1e30d72658 build: Add ALLOW_PORTABLE flag (#1464)
* Add ALLOW_PORTABLE cmake flag
* Also check that `portable` is a directory
2024-12-30 18:49:51 +01:00
Mike LothianandGitHub 2b0cbf7f6b Fix building against Boost 1.87.0 (#1455) 2024-12-18 22:15:42 +01:00
goeiecool9999andGitHub 3738ccd2e6 Play bootSound.btsnd while shaders/pipelines are compiling (#1047) 2024-12-18 15:55:23 +01:00
Exzap b53b223ba9 Vulkan: Use cache for sampler objects 2024-12-16 13:05:22 +01:00
Exzap 6aaad1eb83 Debugger: Added right click context menu to disasm view + small fixes 2024-12-16 13:05:22 +01:00
Exzap adab729f43 UI: Correctly handle unicode paths during save export 2024-12-16 13:05:22 +01:00
capitalistspzandGitHub dd0af0a56f Linux: Allow connecting Wiimotes via L2CAP (#1353) 2024-12-07 12:02:40 +01:00
Exzap 934cb54605 Properly check if MLC is writeable 2024-12-07 10:26:17 +01:00
Exzap 356cf0e5e0 Multiple smaller HLE improvements 2024-12-07 10:26:17 +01:00
Exzap e2d0871ca3 Camera: Set error code in CAMInit
Fixes Hunter's Trophy 2 crashing on boot
2024-12-07 10:26:17 +01:00
Cemu-Language CI 40d9664d1c Update translation files 2024-12-07 07:14:20 +00:00
neebyAandGitHub eca7374567 Set version for macOS bundle (#1431) 2024-12-02 05:19:15 +01:00
Jeremy KescherandGitHub 80a6057512 build: Fix linker failure with glslang 15.0.0 (#1436) 2024-12-02 01:01:22 +01:00
capitalistspzandGitHub 0735237686 Input: Move pairing dialog button and source (#1424) 2024-11-30 23:05:50 +01:00
capitalistspzandGitHub 90eb2e01f4 nsyshid/dimensions: add missing return (#1425) 2024-11-22 13:43:12 +01:00
Exzap 409f12b13a coreinit: Fix calculation of thread total awake time 2024-11-21 20:34:24 +01:00
Exzap 7b513f1744 Latte: Add workaround for infinite loop in Fatal Frame shaders 2024-11-21 20:34:24 +01:00
Exzap c3e29fb619 Latte: Add support for shader instructions MIN_UINT and MAX_UINT
Seen in the eShop version of Fatal Frame
Also made some warnings less spammy since this game seems to trigger it a lot
2024-11-21 20:34:24 +01:00
Exzap 2065ac5f63 GfxPack: Better logging messages for diagnosing problems in rules.txt 2024-11-21 20:34:24 +01:00
goeiecool9999andGitHub 269d5b9aab Vulkan: Make scaling shaders compatible + fixes (#1392) 2024-11-16 10:02:43 +01:00
Exzap 6f9f3d52ea CI: Remove outdated workflow 2024-11-13 06:38:17 +01:00
Exzap 719c631f13 config: Fix receive_untested_updates using the wrong default 2024-11-13 06:29:24 +01:00
Exzap 66658351c1 erreula: Rework implementation and fix bugs
- ErrEula doesn't disappear on its own anymore. The expected behavior is for the game to call Disappear once a button has been selected. This fixes issues where the dialog would softlock in some games
- Modernized code a bit
- Added a subtle fade in/out effect
2024-11-13 06:29:24 +01:00
Exzap a5717e1b11 FST: Refactoring to fix a read bug + verify all reads
- Fixes a bug where corrupted data would be returned when reading files from unhashed sections with non-block aligned offset or size
- Added hash checks for all reads where possible. This means that FST now can automatically catch corruptions when they are encountered while reading from the volume
2024-11-13 06:29:23 +01:00
Joshua de ReeperandGitHub ca2e0a7c31 nsyshid: Add support for emulated Dimensions Toypad (#1371) 2024-11-11 08:58:01 +01:00
capitalistspzandGitHub 2e829479d9 nsyshid/libusb: correct error message formatting and print error string on open fail (#1407) 2024-11-09 06:22:13 +01:00
capitalistspzandGitHub 4ac1ab162a procui: swap tickDelay and priority args in callbacks (#1408) 2024-11-09 06:21:06 +01:00
SamoZ256andGitHub 813f9148b1 macOS: Fix absolute path to libusb dylib (#1405) 2024-11-07 07:09:35 +01:00
SamoZ256andGitHub 9941e00b54 macOS: Fix libusb path for bundle (#1403) 2024-11-05 22:22:00 +01:00
Exzap 1c49a8a1ba nn_nfp: Implement GetNfpReadOnlyInfo and fix deactivate event
Fixes Amiibos not being detected in MK8
2024-11-01 22:47:19 +01:00
SSimco d2f81f30ab Refactored contenturi stream 2024-10-31 10:24:43 +02:00
capitalistspzandGitHub 47001ad233 Make MEMPTR<T> a little more T*-like (#1385) 2024-10-30 23:10:32 +01:00
SSimco a8370684a1 Update build.yml 2024-10-30 16:40:47 +02:00
SSimco f9c4b3aed7 Merge branch 'main' into android 2024-10-29 21:50:00 +02:00
SSimco 68d8d621c2 Updated generic game error message to include path 2024-10-29 21:40:59 +02:00
SSimco afe29d5b1d Refactored code 2024-10-29 21:40:53 +02:00
goeiecool9999andGitHub 459fd5d9bb input: Fix crash when closing add controller dialog before search completes (#1386) 2024-10-28 09:37:30 +01:00
SSimco bdd6b3f835 Updated swkbd to use native android input 2024-10-25 21:16:47 +03:00
capitalistspzandGitHub 63e1289bb5 Windows: Save icons to Cemu user data directory (#1390) 2024-10-25 18:48:21 +02:00
SSimco e8ebeab313 Update reg indices 2024-10-21 08:50:02 +03:00
SSimco f9e91723b7 Fix typo 2024-10-19 22:30:40 +03:00
goeiecool9999andGitHub f9a4b2dbb1 input: Add option to make show screen button a toggle (#1383) 2024-10-19 01:56:56 +02:00
goeiecool9999 d6575455ee Linux: Fix crash on invalid command-line arguments
use std::cout instead of wxMessageBox which does not work when wxWidgets has not been initialised yet
2024-10-17 22:24:20 +02:00
SSimco 356b1fff56 Merge branch 'main' into android 2024-10-17 19:20:03 +03:00
SSimco 583ff53936 Updated java deps 2024-10-17 19:13:37 +03:00
SSimco 4e3b267c4d Refactored input java code 2024-10-17 19:13:37 +03:00
SSimco c2014b16da Refactored selection view item 2024-10-17 19:13:37 +03:00
goeiecool9999andSSimco fb94873230 Vulkan: Protect against uniform var ringbuffer overflow (#1378) 2024-10-17 19:13:37 +03:00
Alexandre BouvierandSSimco 6016f2e298 Add support for fmt 11 (#1366) 2024-10-17 19:13:37 +03:00
SSimco 669fb5533d Added option to set the console language 2024-10-17 19:13:37 +03:00
SSimco c68665a1b4 Refactored UI code 2024-10-17 19:13:37 +03:00
SSimco 82f0a24e80 Removed unused imports 2024-10-17 19:13:37 +03:00
SSimco 15183df480 Check for alternative mem types & optional extensions 2024-10-17 19:13:37 +03:00
SSimco 47a4a43774 Updated layout 2024-10-17 19:13:37 +03:00
SSimco deb307ef95 Refactored code 2024-10-17 19:13:32 +03:00
goeiecool9999andGitHub 3acd0c4f2c Vulkan: Protect against uniform var ringbuffer overflow (#1378) 2024-10-14 14:03:36 +02:00
SSimco c58cbb4787 Added missing audio delay setting 2024-10-13 12:35:24 +03:00
SSimco 0992908d69 Replaced checkboxes with toggles 2024-10-13 12:20:00 +03:00
SSimco 3cf3cb1a9e Updated java dependencies 2024-10-13 12:13:53 +03:00
SSimco 1d17abd9d9 Added context menu for game list 2024-10-13 12:13:50 +03:00
SSimco 6c0dc45f86 Removed unused test 2024-10-12 09:59:22 +03:00
Alexandre BouvierandGitHub 6dc73f5d79 Add support for fmt 11 (#1366) 2024-10-03 08:48:25 +02:00
SSimco 93b2c73e0c Fixed folder deletion 2024-09-27 02:01:55 +03:00
SSimco 0c05c3e87f Fix bc5 decoding 2024-09-27 01:41:35 +03:00
SSimco a08958f3b6 Added option to show input overlay & quit during emulation 2024-09-26 21:09:05 +03:00
SSimco e4bacd8262 Added missing graphics & overlay settings 2024-09-26 20:13:00 +03:00
SSimco 6026d2ad96 Refactored native library 2024-09-26 18:33:14 +03:00
SSimco 35d7ad6414 Fixed not setting dpad values 2024-09-26 16:06:35 +03:00
SSimco 99a5db20eb Decode unsuported formats 2024-09-26 09:06:07 +03:00
SSimco fa6f834974 Disable unsupported features 2024-09-25 23:46:09 +03:00
SSimco 2b619cfcfb Added option to open the cemu folder 2024-09-25 18:40:37 +03:00
SSimco c8fe2428a0 Added check for alernative R8G8B8A8 format 2024-09-25 09:13:18 +03:00
SSimco 32795e1e25 Fixed conversion from native paths & check for intent data if launch
path from extras was null
2024-09-22 07:59:28 +03:00
919 changed files with 46901 additions and 43601 deletions
@@ -0,0 +1,43 @@
name: Set up a vcpkg binary cache
description: Bootstraps vcpkg and configures GitHub Packages as a binary cache.
inputs:
github-token:
description: Token for authenticating with GitHub Packages
required: true
runs:
using: composite
steps:
- name: Bootstrap vcpkg
shell: bash
run: |
if [ "$RUNNER_OS" == "Windows" ]; then
./dependencies/vcpkg/bootstrap-vcpkg.bat
else
bash ./dependencies/vcpkg/bootstrap-vcpkg.sh
fi
- name: Setup NuGet Credentials for vcpkg
shell: bash
run: |
function vcpkg_nuget() {
if [ "$RUNNER_OS" == "Windows" ]; then
`./dependencies/vcpkg/vcpkg.exe fetch nuget | tail -n 1` "$@"
else
mono `./dependencies/vcpkg/vcpkg fetch nuget | tail -n 1` "$@"
fi
}
vcpkg_nuget \
sources add \
-source "https://nuget.pkg.github.com/${{ github.repository_owner }}/index.json" \
-storepasswordincleartext \
-name "GitHub" \
-username "${{ github.repository_owner }}" \
-password "${{ inputs.github-token }}"
vcpkg_nuget \
setapikey "${{ inputs.github-token }}" \
-source "https://nuget.pkg.github.com/${{ github.repository_owner }}/index.json"
-51
View File
@@ -1,51 +0,0 @@
name: Android build
on:
workflow_call:
workflow_dispatch:
push:
branches: ["android"]
pull_request:
branches: ["android"]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v3
with:
submodules: "recursive"
fetch-depth: 0
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: "17"
distribution: "temurin"
- name: Create store file
env:
ANDROID_STORE_FILE_BASE64: ${{ secrets.ANDROID_STORE_FILE_BASE64 }}
ANDROID_KEY_STORE_PASSWORD: ${{ secrets.ANDROID_KEY_STORE_PASSWORD }}
ANDROID_KEY_ALIAS: ${{ secrets.ANDROID_KEY_ALIAS }}
if: "${{ env.ANDROID_STORE_FILE_BASE64 != '' }}"
run: |
cd ./src/android
base64 --decode <<< "${ANDROID_STORE_FILE_BASE64}" > store.jks
ANDROID_STORE_FILE=$(pwd)/store.jks
echo -e "keyStorePassword=$ANDROID_KEY_STORE_PASSWORD\nkeyAlias=$ANDROID_KEY_ALIAS\nstoreFile=$ANDROID_STORE_FILE\n" > keystore.properties
- name: Build Cemu for Android
run: |
cd ./src/android
./gradlew assembleRelease
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: cemu-android
path: |
./src/android/app/build/outputs/apk/release/*.apk
./src/android/app/build/outputs/apk/release/*.aab
File diff suppressed because it is too large Load Diff
+3 -1
View File
@@ -1,5 +1,6 @@
name: Build check
on:
on:
workflow_dispatch:
pull_request:
paths-ignore:
- "*.md"
@@ -16,3 +17,4 @@ on:
jobs:
build:
uses: ./.github/workflows/build.yml
secrets: inherit
+172
View File
@@ -0,0 +1,172 @@
name: Build vcpkg Android Dependencies
on:
workflow_dispatch:
jobs:
build-vcpkg-android:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: recursive
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '21'
- name: Install CMake
run: |
sudo apt-get update
sudo apt-get install -y cmake ninja-build
- name: Setup Android NDK
uses: nttld/setup-ndk@v1
id: setup-ndk
with:
ndk-version: r29
add-to-path: true
- name: Cache vcpkg
uses: actions/cache@v4
with:
path: |
dependencies/vcpkg/installed
dependencies/vcpkg/buildtrees
dependencies/vcpkg/packages
key: vcpkg-android-arm64-${{ hashFiles('vcpkg.json') }}
restore-keys: |
vcpkg-android-arm64-
- name: Bootstrap vcpkg
run: |
cd dependencies/vcpkg
./bootstrap-vcpkg.sh
- name: Build vcpkg dependencies for arm64-v8a
env:
ANDROID_NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }}
VCPKG_ROOT: ${{ github.workspace }}/dependencies/vcpkg
run: |
cd dependencies/vcpkg
# Install dependencies for Android arm64-v8a
./vcpkg install \
--triplet=arm64-android \
--overlay-ports=${{ github.workspace }}/dependencies/vcpkg_overlay_ports \
--x-manifest-root=${{ github.workspace }} \
--x-install-root=${{ github.workspace }}/dependencies/vcpkg/installed
- name: Package vcpkg installed directory
run: |
cd dependencies/vcpkg
tar -czf vcpkg-android-arm64.tar.gz installed/arm64-android
- name: Upload vcpkg dependencies artifact
uses: actions/upload-artifact@v4
with:
name: vcpkg-android-arm64
path: dependencies/vcpkg/vcpkg-android-arm64.tar.gz
retention-days: 30
- name: Create installation instructions
run: |
cat > VCPKG_INSTALL_INSTRUCTIONS.md << 'EOF'
# vcpkg Android Dependencies Installation
## ABI: arm64-v8a (arm64-android triplet)
### Installation Steps:
1. Download the artifact `vcpkg-android-arm64.tar.gz` from the workflow run
2. Extract to your local repository:
**On Linux/macOS:**
```bash
cd /path/to/WeeU
tar -xzf vcpkg-android-arm64.tar.gz -C dependencies/vcpkg/
```
**On Windows (PowerShell):**
```powershell
cd C:\path\to\WeeU
tar -xzf vcpkg-android-arm64.tar.gz -C dependencies\vcpkg\
```
**On Windows (using 7-Zip or WinRAR):**
- Extract the .tar.gz file to get the .tar file
- Extract the .tar file
- Copy the `installed` folder to `dependencies\vcpkg\`
3. The dependencies will be extracted to:
```
dependencies/vcpkg/installed/arm64-android/
```
4. You can now build the Android app locally without vcpkg downloading dependencies:
**On Linux/macOS:**
```bash
cd src/android
./gradlew assembleRelease
```
**On Windows:**
```powershell
cd src\android
.\gradlew.bat assembleRelease
```
### What's included:
- All vcpkg dependencies specified in vcpkg.json for Android
- Pre-built libraries for arm64-v8a architecture (works on all platforms)
- Headers and CMake configuration files
- Boost, OpenSSL, libzip, curl, and all other dependencies
### Platform Compatibility:
- ✅ **Windows**: Fully supported - Android NDK builds work the same
- ✅ **Linux**: Fully supported
- ✅ **macOS**: Fully supported
- The dependencies are cross-platform because they're for Android target, not host OS
### Notes:
- This is for arm64-v8a only (the only ABI configured in the project)
- Dependencies are cached and will be reused if vcpkg.json hasn't changed
- Total size is approximately 500MB-1GB compressed
- Works on Windows, Linux, and macOS because Android builds are cross-platform
### Requirements:
- Android NDK r28 (or compatible version)
- CMake 3.25+
- Java 21+
### Troubleshooting:
**On Windows:**
- If build fails, ensure the extracted path matches: `dependencies\vcpkg\installed\arm64-android\`
- Verify extraction: `dir dependencies\vcpkg\installed\arm64-android\`
- Make sure you have Android NDK installed via Android Studio or standalone
- Set ANDROID_NDK_HOME environment variable if needed
**On Linux/macOS:**
- If build fails, ensure the extracted path matches: `dependencies/vcpkg/installed/arm64-android/`
- Verify extraction: `ls -la dependencies/vcpkg/installed/arm64-android/`
- Make sure you have Android NDK r28 installed
**General:**
- Clear the vcpkg cache if you encounter issues: `rm -rf dependencies/vcpkg/installed` (or `rmdir /s dependencies\vcpkg\installed` on Windows)
- The Android build uses CMake which is cross-platform
- Dependencies are built for Android ARM64, not your host OS
EOF
- name: Upload installation instructions
uses: actions/upload-artifact@v4
with:
name: vcpkg-installation-instructions
path: VCPKG_INSTALL_INSTRUCTIONS.md
retention-days: 30
@@ -1,4 +1,4 @@
name: Deploy experimental release
name: Deploy release
on:
workflow_dispatch:
inputs:
@@ -38,8 +38,8 @@ on:
description: 'Feature 9'
required: false
type: string
changelog9:
description: 'Feature 10'
android_build_type:
description: 'Build type'
required: false
type: string
@@ -50,11 +50,13 @@ jobs:
call-release-build:
uses: ./.github/workflows/build.yml
needs: calculate-version
secrets: inherit
with:
next_version_major: ${{ needs.calculate-version.outputs.next_version_major }}
next_version_minor: ${{ needs.calculate-version.outputs.next_version_minor }}
android_build_type: ${{ inputs.android_build_type }}
deploy:
name: Deploy experimental release
name: Deploy release
runs-on: ubuntu-22.04
needs: [call-release-build, calculate-version]
steps:
@@ -75,7 +77,6 @@ jobs:
if [ -n "${{ github.event.inputs.changelog6 }}" ]; then CHANGELOG="$CHANGELOG- ${{ github.event.inputs.changelog6 }}\n"; fi
if [ -n "${{ github.event.inputs.changelog7 }}" ]; then CHANGELOG="$CHANGELOG- ${{ github.event.inputs.changelog7 }}\n"; fi
if [ -n "${{ github.event.inputs.changelog8 }}" ]; then CHANGELOG="$CHANGELOG- ${{ github.event.inputs.changelog8 }}\n"; fi
if [ -n "${{ github.event.inputs.changelog9 }}" ]; then CHANGELOG="$CHANGELOG- ${{ github.event.inputs.changelog9 }}\n"; fi
echo -e "$CHANGELOG"
echo "RELEASE_BODY=$CHANGELOG" >> $GITHUB_ENV
- uses: actions/download-artifact@v4
@@ -95,8 +96,8 @@ jobs:
- uses: actions/download-artifact@v4
with:
name: cemu-bin-macos-x64
path: cemu-bin-macos-x64
pattern: cemu-bin-macos*
path: cemu-macos
- name: Initialize
run: |
@@ -137,7 +138,15 @@ jobs:
rm -r ./${{ env.CEMU_FOLDER_NAME }}
- name: Create release from macos-bin
run: cp cemu-bin-macos-x64/Cemu.dmg upload/cemu-${{ env.CEMU_VERSION }}-macos-12-x64.dmg
run: |
cd cemu-macos
for bin_dir in cemu-bin-macos-*; do
arch="${bin_dir##cemu-bin-macos-}"
cp $bin_dir/Cemu.dmg ../upload/cemu-${{ env.CEMU_VERSION }}-macos-12-$arch.dmg
done
- name: Create release from android-bin
run: cp cemu-bin-android/*.apk upload/cemu-${{ env.CEMU_VERSION }}.apk
- name: Create release
run: |
@@ -1,46 +0,0 @@
name: Deploy experimental android release
on:
workflow_dispatch:
jobs:
call-release-build:
uses: ./.github/workflows/android_build.yml
secrets: inherit
deploy:
name: Deploy experimental release
runs-on: ubuntu-22.04
needs: [call-release-build]
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/download-artifact@v4
with:
name: cemu-android
path: cemu-android
- name: Initialize
run: |
mkdir upload
sudo apt install zip
- name: Set version dependent vars
run: |
echo "CEMU_VERSION=$(git rev-parse --short HEAD)" >> $GITHUB_ENV
- name: Create release from apk
run: |
VERSION=${{ env.CEMU_VERSION }}
echo "Cemu Version is $VERSION"
ls cemu-android
mv cemu-android/*.apk upload/Cemu-$VERSION.apk
- name: Create release
run: |
wget -O ghr.tar.gz https://github.com/tcnksm/ghr/releases/download/v0.15.0/ghr_v0.15.0_linux_amd64.tar.gz
tar xvzf ghr.tar.gz; rm ghr.tar.gz
echo "[INFO] Release tag: v${{ env.CEMU_VERSION }}"
RELEASE_BODY=$(printf "Experimental release\n%s" "Latest commit ${{ env.CEMU_VERSION }}")
ghr_v0.15.0_linux_amd64/ghr -b "$RELEASE_BODY" -t ${{ secrets.GITHUB_TOKEN }} -n "Cemu ${{ env.CEMU_VERSION }}" "${{ env.CEMU_VERSION }}" ./upload
@@ -1,85 +0,0 @@
name: Create new release
on:
workflow_dispatch:
inputs:
PlaceholderInput:
description: PlaceholderInput
required: false
jobs:
call-release-build:
uses: ./.github/workflows/build.yml
with:
deploymode: release
deploy:
name: Deploy release
runs-on: ubuntu-20.04
needs: call-release-build
steps:
- uses: actions/checkout@v3
- uses: actions/download-artifact@v4
with:
name: cemu-bin-linux-x64
path: cemu-bin-linux-x64
- uses: actions/download-artifact@v4
with:
name: cemu-appimage-x64
path: cemu-appimage-x64
- uses: actions/download-artifact@v4
with:
name: cemu-bin-windows-x64
path: cemu-bin-windows-x64
- uses: actions/download-artifact@v4
with:
name: cemu-bin-macos-x64
path: cemu-bin-macos-x64
- name: Initialize
run: |
mkdir upload
sudo apt update -qq
sudo apt install -y zip
- name: Get Cemu release version
run: |
gcc -o getversion .github/getversion.cpp
echo "Cemu CI version: $(./getversion)"
echo "CEMU_FOLDER_NAME=Cemu_$(./getversion)" >> $GITHUB_ENV
echo "CEMU_VERSION=$(./getversion)" >> $GITHUB_ENV
- name: Create release from windows-bin
run: |
ls ./
ls ./bin/
cp -R ./bin ./${{ env.CEMU_FOLDER_NAME }}
mv cemu-bin-windows-x64/Cemu.exe ./${{ env.CEMU_FOLDER_NAME }}/Cemu.exe
zip -9 -r upload/cemu-${{ env.CEMU_VERSION }}-windows-x64.zip ${{ env.CEMU_FOLDER_NAME }}
rm -r ./${{ env.CEMU_FOLDER_NAME }}
- name: Create appimage
run: |
VERSION=${{ env.CEMU_VERSION }}
echo "Cemu Version is $VERSION"
ls cemu-appimage-x64
mv cemu-appimage-x64/Cemu-*-x86_64.AppImage upload/Cemu-$VERSION-x86_64.AppImage
- name: Create release from ubuntu-bin
run: |
ls ./
ls ./bin/
cp -R ./bin ./${{ env.CEMU_FOLDER_NAME }}
mv cemu-bin-linux-x64/Cemu ./${{ env.CEMU_FOLDER_NAME }}/Cemu
zip -9 -r upload/cemu-${{ env.CEMU_VERSION }}-ubuntu-20.04-x64.zip ${{ env.CEMU_FOLDER_NAME }}
rm -r ./${{ env.CEMU_FOLDER_NAME }}
- name: Create release from macos-bin
run: cp cemu-bin-macos-x64/Cemu.dmg upload/cemu-${{ env.CEMU_VERSION }}-macos-12-x64.dmg
- name: Create release
run: |
wget -O ghr.tar.gz https://github.com/tcnksm/ghr/releases/download/v0.15.0/ghr_v0.15.0_linux_amd64.tar.gz
tar xvzf ghr.tar.gz; rm ghr.tar.gz
ghr_v0.15.0_linux_amd64/ghr -t ${{ secrets.GITHUB_TOKEN }} -n "Cemu ${{ env.CEMU_VERSION }}" -b "Changelog:" v${{ env.CEMU_VERSION }} ./upload
@@ -29,7 +29,7 @@ jobs:
id: get_all_releases
run: |
# Fetch all releases and check for API errors
RESPONSE=$(curl -s -o response.json -w "%{http_code}" "https://api.github.com/repos/${{ github.repository }}/releases?per_page=100")
RESPONSE=$(curl -s -o response.json -w "%{http_code}" "https://api.github.com/repos/cemu-project/cemu/releases?per_page=100")
if [ "$RESPONSE" -ne 200 ]; then
echo "Failed to fetch releases. HTTP status: $RESPONSE"
cat response.json
+17 -4
View File
@@ -1,6 +1,7 @@
name: Generate translation template
on:
workflow_dispatch:
pull_request:
paths-ignore:
- "*.md"
@@ -19,7 +20,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: "Checkout repo"
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: "Install gettext"
run: |
@@ -31,12 +32,24 @@ jobs:
find src -name *.cpp -o -name *.hpp -o -name *.h |
xargs xgettext --from-code=utf-8 -w 100
--keyword="_" --keyword="wxTRANSLATE" --keyword="wxPLURAL:1,2"
--keyword="_tr" --keyword="TR_NOOP"
--check=space-ellipsis --omit-header
-o cemu.pot
-o cemu_cpp.pot
- name: "Generate POT file from the Android App"
run: |
cemu_dir=$(pwd)
cd src/android/app
./gradlew gettext
mv cemu_kt.pot "$cemu_dir"
- name: "Combine the POT files"
run: |
xgettext cemu_cpp.pot cemu_kt.pot --omit-header -o cemu.pot
- name: Upload artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: POT file
path: ./cemu.pot
if-no-files-found: error
if-no-files-found: error
+4 -1
View File
@@ -54,4 +54,7 @@ bin/gameProfiles/*
bin/graphicPacks/*
# Ignore Finder view option files created by OS X
.DS_Store
.DS_Store
.kilocode/mcp.json
vcpkg-android-arm64.tar.gz
src/android/app/src/main/assets/COVER_DOWNLOAD_README.md
+9 -1
View File
@@ -1,6 +1,6 @@
[submodule "dependencies/ZArchive"]
path = dependencies/ZArchive
url = https://github.com/SSimco/ZArchive
url = https://github.com/Exzap/ZArchive
shallow = true
[submodule "dependencies/cubeb"]
path = dependencies/cubeb
@@ -21,3 +21,11 @@
[submodule "dependencies/xbyak_aarch64"]
path = dependencies/xbyak_aarch64
url = https://github.com/fujitsu/xbyak_aarch64
[submodule "dependencies/libadrenotools"]
path = dependencies/libadrenotools
url = https://github.com/bylaws/libadrenotools
shallow = true
[submodule "dependencies/libucontext/libucontext"]
path = dependencies/libucontext/src
url = https://github.com/kaniini/libucontext
shallow = true
+85 -3
View File
@@ -20,6 +20,10 @@
- [Installing Tool Dependencies](#installing-tool-dependencies)
- [Installing Library Dependencies](#installing-library-dependencies)
- [Build Cemu using CMake](#build-cemu-using-cmake)
- [Android](#android)
- [FreeBSD](#freebsd)
- [Installing Dependencies](#installing-dependencies)
- [Build Cemu on BSD with CMake](#build-cemu-on-bsd-with-cmake)
- [Updating Cemu and source code](#updating-cemu-and-source-code)
## Windows
@@ -46,10 +50,10 @@ To compile Cemu, a recent enough compiler and STL with C++20 support is required
### Dependencies
#### For Arch and derivatives:
`sudo pacman -S --needed base-devel clang cmake freeglut git glm gtk3 libgcrypt libpulse libsecret linux-headers llvm nasm ninja systemd unzip zip`
`sudo pacman -S --needed base-devel bluez-libs clang cmake freeglut git glm gtk3 libgcrypt libpulse libsecret linux-headers llvm nasm ninja systemd unzip zip`
#### For Debian, Ubuntu and derivatives:
`sudo apt install -y cmake curl clang-15 freeglut3-dev git libgcrypt20-dev libglm-dev libgtk-3-dev libpulse-dev libsecret-1-dev libsystemd-dev libtool nasm ninja-build`
`sudo apt install -y cmake curl clang-15 freeglut3-dev git libbluetooth-dev libgcrypt20-dev libglm-dev libgtk-3-dev libpulse-dev libsecret-1-dev libsystemd-dev libtool nasm ninja-build`
You may also need to install `libusb-1.0-0-dev` as a workaround for an issue with the vcpkg hidapi package.
@@ -57,7 +61,7 @@ At Step 3 in [Build Cemu using cmake and clang](#build-cemu-using-cmake-and-clan
`cmake -S . -B build -DCMAKE_BUILD_TYPE=release -DCMAKE_C_COMPILER=/usr/bin/clang-15 -DCMAKE_CXX_COMPILER=/usr/bin/clang++-15 -G Ninja -DCMAKE_MAKE_PROGRAM=/usr/bin/ninja`
#### For Fedora and derivatives:
`sudo dnf install clang cmake cubeb-devel freeglut-devel git glm-devel gtk3-devel kernel-headers libgcrypt-devel libsecret-devel libtool libusb1-devel llvm nasm ninja-build perl-core systemd-devel zlib-devel zlib-static`
`sudo dnf install bluez-libs-devel clang cmake cubeb-devel freeglut-devel git glm-devel gtk3-devel kernel-headers libgcrypt-devel libsecret-devel libtool libusb1-devel llvm nasm ninja-build perl-core systemd-devel wayland-protocols-devel zlib-devel zlib-static`
### Build Cemu
@@ -120,6 +124,9 @@ This section refers to running `cmake -S...` (truncated).
* Compiling failed during rebuild after `git pull` with an error that mentions RPATH
* Add the following and try running the command again:
* `-DCMAKE_BUILD_WITH_INSTALL_RPATH=ON`
* Environment variable `VCPKG_FORCE_SYSTEM_BINARIES` must be set.
* Execute the folowing and then try running the command again:
* `export VCPKG_FORCE_SYSTEM_BINARIES=1`
* If you are getting a random error, read the [package-name-and-platform]-out.log and [package-name-and-platform]-err.log for the actual reason to see if you might be lacking the headers from a dependency.
@@ -182,6 +189,43 @@ Then install the dependencies:
#### Troubleshooting steps
- If step 3 gives you an error about not being able to find ninja, try appending `-DCMAKE_MAKE_PROGRAM=/usr/local/bin/ninja` to the command and running it again.
## Android
Prerequisites:
- git
- [Android studio](https://developer.android.com/studio)
Instructions:
1. Run `git clone --recursive https://github.com/cemu-project/Cemu`
2. Open the project located in `src/android` in Android Studio
3. Click Build > Make Project
## FreeBSD
The following instructions to build Cemu on FreeBSD are experimental. Some features available on other platforms are not available on FreeBSD (discord rich presence, bluetooth/support for actual Wii U controllers, auto-updates, etc.)
To compile Cemu, a recent enough compiler and STL with C++20 support is required! Clang-15 or higher is what we recommend. Any version of FreeBSD 13.3-RELEASE or higher comes bundled with LLVM > version 15 as part of the base system. However, if for whatever reason your system lacks a recent version of LLVM you can install one by executing:
`sudo pkg install llvm15`
Or a higher version as desired.
### Installing Dependencies
`sudo pkg install boost-libs cmake-core curl glslang gtk3 libzip ninja png pkgconf pugixml rapidjson sdl2 wayland wayland-protocols wx32-gtk3 xorg zstd`
### Build Cemu on BSD with CMake
```
git clone --recursive https://github.com/cemu-project/Cemu
cd Cemu
cmake -B build -DCMAKE_BUILD_TYPE=release -DENABLE_BLUEZ=OFF -DENABLE_DISCORD_RPC=OFF -DENABLE_FERAL_GAMEMODE=OFF -DENABLE_HIDAPI=OFF -DENABLE_VCPKG=OFF -G Ninja
cmake --build build
cd build && ninja install
```
You should now have a Cemu executable file in the /bin folder, which you can run using `./bin/Cemu_release`.
## Updating Cemu and source code
1. To update your Cemu local repository, use the command `git pull --recurse-submodules` (run this command on the Cemu root).
- This should update your local copy of Cemu and all of its dependencies.
@@ -189,3 +233,41 @@ Then install the dependencies:
If CMake complains about Cemu already being compiled or another similar error, try deleting the `CMakeCache.txt` file inside the `build` folder and retry building.
## CMake configure flags
Some flags can be passed during CMake configure to customise which features are enabled on build.
Example usage: `cmake -S . -B build -DCMAKE_BUILD_TYPE=release -DENABLE_SDL=ON -DENABLE_VULKAN=OFF`
### All platforms
| Flag | | Description | Default | Note |
|--------------------|:--|-----------------------------------------------------------------------------|---------|--------------------|
| ALLOW_PORTABLE | | Allow Cemu to use the `portable` directory to store configs and data | ON | |
| CEMU_CXX_FLAGS | | Flags passed straight to the compiler, e.g. `-march=native`, `-Wall`, `/W3` | "" | |
| ENABLE_CUBEB | | Enable cubeb audio backend | ON | |
| ENABLE_DISCORD_RPC | | Enable Discord Rich presence support | ON | |
| ENABLE_OPENGL | | Enable OpenGL graphics backend | ON | Currently required |
| ENABLE_HIDAPI | | Enable HIDAPI (used for Wiimote controller API) | ON | |
| ENABLE_SDL | | Enable SDLController controller API | ON | Currently required |
| ENABLE_VCPKG | | Use VCPKG package manager to obtain dependencies | ON | |
| ENABLE_VULKAN | | Enable the Vulkan graphics backend | ON | |
| ENABLE_WXWIDGETS | | Enable wxWidgets UI | ON | Currently required |
### Windows
| Flag | Description | Default | Note |
|--------------------|-----------------------------------|---------|--------------------|
| ENABLE_DIRECTAUDIO | Enable DirectAudio audio backend | ON | Currently required |
| ENABLE_DIRECTINPUT | Enable DirectInput controller API | ON | Currently required |
| ENABLE_XAUDIO | Enable XAudio audio backend | ON | |
| ENABLE_XINPUT | Enable XInput controller API | ON | |
### Linux
| Flag | Description | Default |
|-----------------------|----------------------------------------------------|---------|
| ENABLE_BLUEZ | Build with Bluez (used for Wiimote controller API) | ON |
| ENABLE_FERAL_GAMEMODE | Enable Feral Interactive GameMode support | ON |
| ENABLE_WAYLAND | Enable Wayland support | ON |
### macOS
| Flag | Description | Default |
|--------------|------------------------------------------------|---------|
| MACOS_BUNDLE | MacOS executable will be an application bundle | OFF |
+31 -31
View File
@@ -1,7 +1,8 @@
cmake_minimum_required(VERSION 3.21.1)
cmake_minimum_required(VERSION 3.25)
option(ENABLE_VCPKG "Enable the vcpkg package manager" ON)
option(MACOS_BUNDLE "The executable when built on macOS will be created as an application bundle" OFF)
option(ALLOW_PORTABLE "Allow Cemu to be run in portable mode" ON)
# used by CI script to set version:
set(EMULATOR_VERSION_MAJOR "0" CACHE STRING "")
@@ -37,11 +38,11 @@ if (ENABLE_VCPKG)
if(UNIX AND NOT APPLE AND NOT VCPKG_TARGET_ANDROID)
set(VCPKG_OVERLAY_PORTS "${CMAKE_CURRENT_LIST_DIR}/dependencies/vcpkg_overlay_ports_linux")
set(VCPKG_OVERLAY_PORTS "${CMAKE_CURRENT_LIST_DIR}/dependencies/vcpkg_overlay_ports_linux;${CMAKE_CURRENT_LIST_DIR}/dependencies/vcpkg_overlay_ports")
elseif(APPLE)
set(VCPKG_OVERLAY_PORTS "${CMAKE_CURRENT_LIST_DIR}/dependencies/vcpkg_overlay_ports_mac")
set(VCPKG_OVERLAY_PORTS "${CMAKE_CURRENT_LIST_DIR}/dependencies/vcpkg_overlay_ports_mac;${CMAKE_CURRENT_LIST_DIR}/dependencies/vcpkg_overlay_ports")
else()
set(VCPKG_OVERLAY_PORTS "${CMAKE_CURRENT_LIST_DIR}/dependencies/vcpkg_overlay_ports")
set(VCPKG_OVERLAY_PORTS "${CMAKE_CURRENT_LIST_DIR}/dependencies/vcpkg_overlay_ports_win;${CMAKE_CURRENT_LIST_DIR}/dependencies/vcpkg_overlay_ports")
endif()
if(VCPKG_TARGET_ANDROID)
set(ENV{ANDROID_NDK_HOME} ${ANDROID_NDK})
@@ -77,10 +78,8 @@ add_definitions(-DEMULATOR_VERSION_PATCH=${EMULATOR_VERSION_PATCH})
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
# enable link time optimization for release builds
if(NOT ANDROID)
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELEASE ON)
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELWITHDEBINFO ON)
endif()
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELEASE ON)
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELWITHDEBINFO ON)
if (MSVC)
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT CemuBin)
@@ -107,6 +106,7 @@ endif()
if (UNIX AND NOT APPLE)
option(ENABLE_WAYLAND "Build with Wayland support" ON)
option(ENABLE_FERAL_GAMEMODE "Enables Feral Interactive GameMode Support" ON)
option(ENABLE_BLUEZ "Build with Bluez support" ON)
endif()
option(ENABLE_OPENGL "Enables the OpenGL backend" ON)
@@ -131,23 +131,6 @@ if (WIN32)
endif()
option(ENABLE_CUBEB "Enabled cubeb backend" ON)
# usb hid backends
if (WIN32)
option(ENABLE_NSYSHID_WINDOWS_HID "Enables the native Windows HID backend for nsyshid" ON)
endif ()
# libusb and windows hid backends shouldn't be active at the same time; otherwise we'd see all devices twice!
if (NOT ENABLE_NSYSHID_WINDOWS_HID)
option(ENABLE_NSYSHID_LIBUSB "Enables the libusb backend for nsyshid" ON)
else ()
set(ENABLE_NSYSHID_LIBUSB OFF CACHE BOOL "" FORCE)
endif ()
if (ENABLE_NSYSHID_WINDOWS_HID)
add_compile_definitions(NSYSHID_ENABLE_BACKEND_WINDOWS_HID)
endif ()
if (ENABLE_NSYSHID_LIBUSB)
add_compile_definitions(NSYSHID_ENABLE_BACKEND_LIBUSB)
endif ()
option(ENABLE_WXWIDGETS "Build with wxWidgets UI (Currently required)" ON)
set(THREADS_PREFER_PTHREAD_FLAG true)
@@ -189,11 +172,17 @@ if (UNIX AND NOT APPLE AND NOT ANDROID)
BASENAME viewporter)
add_library(CemuWaylandProtocols STATIC ${WAYLAND_PROTOCOL_SRCS})
target_include_directories(CemuWaylandProtocols PUBLIC "${CMAKE_CURRENT_BINARY_DIR}")
target_include_directories(CemuWaylandProtocols PRIVATE ${Wayland_INCLUDE_DIRS})
add_compile_definitions(HAS_WAYLAND)
endif()
find_package(GTK3 REQUIRED)
if(ENABLE_BLUEZ)
find_package(bluez REQUIRED)
set(SUPPORTS_WIIMOTE ON)
add_compile_definitions(HAS_BLUEZ)
endif()
endif()
if (ENABLE_VULKAN)
@@ -206,13 +195,11 @@ endif()
if (ENABLE_DISCORD_RPC)
add_compile_definitions(ENABLE_DISCORD_RPC)
add_subdirectory(dependencies/discord-rpc EXCLUDE_FROM_ALL)
target_include_directories(discord-rpc INTERFACE ./dependencies/discord-rpc/include)
endif()
if (ENABLE_HIDAPI)
find_package(hidapi REQUIRED)
set(ENABLE_WIIMOTE ON)
set(SUPPORTS_WIIMOTE ON)
add_compile_definitions(HAS_HIDAPI)
endif ()
@@ -225,7 +212,7 @@ if(UNIX AND NOT APPLE AND NOT ANDROID)
endif()
if (ENABLE_WXWIDGETS)
find_package(wxWidgets 3.2 REQUIRED COMPONENTS base core gl propgrid xrc)
find_package(wxWidgets 3.3 REQUIRED COMPONENTS base core gl propgrid xrc)
endif()
if (ENABLE_CUBEB)
@@ -246,7 +233,12 @@ endif()
add_subdirectory("dependencies/ih264d" EXCLUDE_FROM_ALL)
if(CMAKE_SYSTEM_PROCESSOR MATCHES "(aarch64)|(AARCH64)")
if (CMAKE_OSX_ARCHITECTURES)
set(CEMU_ARCHITECTURE ${CMAKE_OSX_ARCHITECTURES})
else()
set(CEMU_ARCHITECTURE ${CMAKE_SYSTEM_PROCESSOR})
endif()
if(CEMU_ARCHITECTURE MATCHES "(aarch64)|(AARCH64)|(arm64)|(ARM64)")
add_subdirectory("dependencies/xbyak_aarch64" EXCLUDE_FROM_ALL)
endif()
@@ -255,4 +247,12 @@ if (NOT ZArchive_FOUND)
add_subdirectory("dependencies/ZArchive" EXCLUDE_FROM_ALL)
endif()
if(ANDROID)
if(CMAKE_SYSTEM_PROCESSOR MATCHES "(aarch64)|(AARCH64)")
add_subdirectory("dependencies/libadrenotools" EXCLUDE_FROM_ALL)
endif()
add_subdirectory("dependencies/libucontext" EXCLUDE_FROM_ALL)
add_subdirectory("dependencies/stb" EXCLUDE_FROM_ALL)
endif()
add_subdirectory(src)
+1
View File
@@ -2,6 +2,7 @@
# Coding style guidelines for Cemu
This document describes the latest version of our coding-style guidelines. Since we did not use this style from the beginning, older code may not adhere to these guidelines. Nevertheless, use these rules even if the surrounding code does not match.
These coding-style guidelines apply only to the C/C++ codebase. For Kotlin, we follow the official Kotlin Coding Conventions as outlined in the [Kotlin documentation](https://kotlinlang.org/docs/coding-conventions.html).
Cemu comes with a `.clang-format` file which is supported by most IDEs for formatting. Avoid auto-reformatting whole files, PRs with a lot of formatting changes are difficult to review.
+7 -47
View File
@@ -1,54 +1,14 @@
# **Cemu - Wii U emulator**
# **Cemu - Android Port (Wii U Emulator)**
[![Build Process](https://github.com/cemu-project/Cemu/actions/workflows/build.yml/badge.svg)](https://github.com/cemu-project/Cemu/actions/workflows/build.yml)
[![Discord](https://img.shields.io/discord/286429969104764928?label=Cemu&logo=discord&logoColor=FFFFFF)](https://discord.gg/5psYsup)
[![Matrix Server](https://img.shields.io/matrix/cemu:cemu.info?server_fqdn=matrix.cemu.info&label=cemu:cemu.info&logo=matrix&logoColor=FFFFFF)](https://matrix.to/#/#cemu:cemu.info)
This is the Android port of **Cemu**, a Wii U emulator written in C/C++.
It is still early and experimental. Stability, performance, and features are not guaranteed, and some functionality may be missing compared to the desktop version.
This is the code repository of Cemu, a Wii U emulator that is able to run most Wii U games and homebrew in a playable state.
It's written in C/C++ and is being actively developed with new features and fixes.
There is no timeline for when this port will be finished or when new features will be implemented.
Cemu is currently only available for 64-bit Windows, Linux & macOS devices.
**Please do not open issues or pull requests yet.**
Development is ongoing, and contributions will be welcome once the project is more stable.
### Links:
- [Open Source Announcement](https://www.reddit.com/r/cemu/comments/wwa22c/cemu_20_announcement_linux_builds_opensource_and/)
- [Official Website](https://cemu.info)
- [Compatibility List/Wiki](https://wiki.cemu.info/wiki/Main_Page)
- [Official Subreddit](https://reddit.com/r/Cemu)
- [Official Discord](https://discord.gg/5psYsup)
- [Official Matrix Server](https://matrix.to/#/#cemu:cemu.info)
- [Setup Guide](https://cemu.cfw.guide)
#### Other relevant repositories:
- [Cemu-Language](https://github.com/cemu-project/Cemu-Language)
- [Cemu's Community Graphic Packs](https://github.com/cemu-project/cemu_graphic_packs)
## Download
You can download the latest Cemu releases for Windows, Linux and Mac from the [GitHub Releases](https://github.com/cemu-project/Cemu/releases/). For Linux you can also find Cemu on [flathub](https://flathub.org/apps/info.cemu.Cemu).
On Windows Cemu is currently only available in a portable format so no installation is required besides extracting it in a safe place.
The native macOS build is currently purely experimental and should not be considered stable or ready for issue-free gameplay. There are also known issues with degraded performance due to the use of MoltenVK and Rosetta for ARM Macs. We appreciate your patience while we improve Cemu for macOS.
Pre-2.0 releases can be found on Cemu's [changelog page](https://cemu.info/changelog.html).
## Build Instructions
To compile Cemu yourself on Windows, Linux or macOS, view [BUILD.md](/BUILD.md).
## Issues
Issues with the emulator should be filed using [GitHub Issues](https://github.com/cemu-project/Cemu/issues).
The old bug tracker can be found at [bugs.cemu.info](https://bugs.cemu.info) and still contains relevant issues and feature suggestions.
## Contributing
Pull requests are very welcome. For easier coordination you can visit the developer discussion channel on [Discord](https://discord.gg/5psYsup) or alternatively the [Matrix Server](https://matrix.to/#/#cemu:cemu.info).
Before submitting a pull request, please read and follow our code style guidelines listed in [CODING_STYLE.md](/CODING_STYLE.md).
If coding isn't your thing, testing games and making detailed bug reports or updating the (usually outdated) compatibility wiki is also appreciated!
Questions about Cemu's software architecture can also be answered on Discord (or through the Matrix bridge).
For general information about Cemu, see the [official website](https://cemu.info) and [main repository](https://github.com/cemu-project/Cemu).
## License
Cemu is licensed under [Mozilla Public License 2.0](/LICENSE.txt). Exempt from this are all files in the dependencies directory for which the licenses of the original code apply as well as some individual files in the src folder, as specified in those file headers respectively.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More