Commit graph

71 commits

Author SHA1 Message Date
Exzap
b089ae5b32
PowerPC recompiler rework (#641) 2025-04-26 17:59:32 +02:00
capitalistspz
ebb5ab53e2
Add menu item for opening shader cache directory (#1494) 2025-02-14 20:56:51 +01:00
Crementif
4b792aa4d2
debug: Fix shader dumping (#1466) 2025-01-04 20:38:42 +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
64232ffdbd
Windows default to non-portable + Reworked MLC handling and related UI (#1252) 2024-07-23 03:13:36 +02:00
Joshua de Reeper
93b58ae6f7
nsyshid: Add infrastructure and support for emulating Skylander Portal (#971) 2024-06-28 00:55:20 +02:00
Exzap
16070458ed Logging: Restructure menu + allow toggeling APIErrors logtype
The logtype "APIErrors" previously was always enabled. This option is intended to help homebrew developers notice mistakes in how they use CafeOS API. But some commercial games trigger these a lot and cause log.txt bloat (e.g. seen in XCX). Thus this commit changes it so that it's off by default and instead can be toggled if desired.

Additionally in this commit:
- COS module logging options are no longer translatable (our debug logging is fundamentally English)
- Restructured the log menu and moved the logging options that are mainly of interest to Cemu devs into a separate submenu
2024-06-02 21:39:40 +02:00
GaryOderNichts
8fe69cd0fb Properly implement NFC result codes 2024-05-18 20:37:37 +02:00
GaryOderNichts
1c6b209692 Add initial ntag and nfc implementation 2024-05-18 20:37:37 +02:00
Exzap
3f8722f0a6 Track online-enable and network-service settings per-account instead of globally 2024-05-06 18:18:42 +02:00
goeiecool9999
dc480ac00b
Add support for WUHB file format (#1190) 2024-05-05 02:35:01 +02:00
qurious-pixel
f28043e0e9
Linux/Mac Auto-Updater (#1145) 2024-05-05 01:34:36 +02:00
Exzap
ee36992bd6 prudp: Improve ping and ack logic
Fixes the issue where the friend service connection would always timeout on Pretendo servers

The individual changes are:
- Outgoing ping packets now use their own incrementing sequenceId (matches official NEX behavior)
- If the server sends us a ping packet with NEEDS_ACK, we now respond
- Misc smaller refactoring and code clean up
- Added PRUDP as a separate logging option
2024-04-18 19:23:00 +02:00
Exzap
51072b510c nn_boss: Large rework with various improvements
Lots of internal changes. On the surface this only fixes a crash in Mario & Sonic Rio 2016 (at least what I saw from my testing) but it may affect more games.

Summary of changes:
- Rewrite code to use newer cafeExportRegisterFunc
- Simplify code by merging namespaces and structs of the same types
- Correctly set ppc vtables for the virtual boss classes
- Fix some wrong function definitions and implement a little bit more of the boss API (mainly constructors and destructors)
2024-04-03 01:56:49 +02:00
goeiecool9999
4f3d4624f5
GraphicPacksWindow: Disable update button when a game is running (#1137) 2024-03-26 13:09:24 +01:00
goeiecool9999
a2d74972d4
Prevent changing of console language while a game is running (#1114) 2024-03-11 00:55:31 +01:00
Squall Leonhart
6a08d04af9
UI: Make Alt+F4/Ctrl+Q more reliable (#1035) 2024-02-18 05:52:11 +01:00
Exzap
f39a5e757b Add "Open MLC folder" option
Also updated Patron supporter list
2024-01-15 15:15:00 +01:00
bslhq
9ec50b865d
Fix nfc menu list of recent nfc files (#996) 2023-10-17 14:45:55 +02:00
Exzap
0d71885c88 nn_fp: Full rework of friend service 2023-10-17 05:26:30 +02:00
Exzap
ff9d180154 Code cleanup 2023-10-01 11:46:26 +02:00
Exzap
9523993a24 Fix file menu list of recent games 2023-10-01 11:46:26 +02:00
Francesco Saltori
5b27d32cb7
Minor localization adjustments (#984) 2023-09-30 15:27:56 +02:00
Exzap
abce406ee8 Refactor more wstring instances to utf8-encoded string 2023-09-29 06:48:10 +02:00
Exzap
f6c3c96d94 More detailed error messages when encrypted titles fail to launch 2023-09-29 06:48:10 +02:00
Exzap
5ad57bb0c9 Add support for games in NUS format (.app)
Requires title.tmd and title.tik in same directory
2023-09-29 06:48:10 +02:00
Exzap
b902aa2048 Logging: Refactor and optimizations 2023-09-14 20:52:40 +02:00
Francesco Saltori
c16e258c93
Localization improvements and fixes (#956) 2023-09-08 02:09:03 +02:00
Gloria
d7f0d67904
Add a pairing utility for Wiimotes to Cemu (#941) 2023-09-06 04:59:50 +02:00
jn64
2abf1c2059
Disable auto-update on Linux/macOS (#955)
It's not implemented yet
2023-09-02 05:57:21 +02:00
Exzap
2200cc0ddf
Initial support for title switching + better Wii U menu compatibility (#907) 2023-07-21 13:54:07 +02:00
capitalistspz
f1c200a016
Add '--title-id' parameter and desktop shortcut creation (#889)
* Add '--title-id' launch option to launch titles by title id
* Add title id column to game list
* Add option to create game shortcuts

Co-authored-by: Exzap <13877693+Exzap@users.noreply.github.com>
2023-07-08 01:48:41 +02:00
Exzap
45072fccb2 Remove remnants of frame profiler code 2023-06-25 08:40:52 +02:00
Colin Kinloch
ae4cb45cf3
Check wx dialogs aren't returning blank paths (#845) 2023-06-06 14:17:41 +02:00
Crementif
d903b2cf12
Remove deprecated logging system and expose developer logging window (#825) 2023-05-20 02:46:12 +02:00
Nicholas F
1bcdb35e42
Add GameMode support for Linux build (#796) 2023-05-11 07:19:44 +02:00
why-keith
4be57f4896
Migrate force_log_printf to new logging (#714) 2023-04-12 16:31:34 +02:00
Colin Kinloch
be1e77186e
Wayland: Set app_id for icon in kde (#718) 2023-03-29 16:28:17 +02:00
Nicholas F
715d2247a9 Allow user to enter fullscreen with F11 2023-03-29 14:24:51 +02:00
Exzap
43c9a4eccd
Fix compilation error when ENABLE_DISCORD_RPC is not set 2023-03-02 11:09:54 +01:00
lisa-wolfgang
4c697d3755
Add cross-platform "disable screen saver" setting (#497) 2023-02-24 22:10:07 +01:00
Crementif
6d75776b28
Add GDB stub for debugging (#657)
* Implement GDB stub debugger

Can be enabled by using the "--enable-gdbstub" option (and the debugger GUI, although that's untested) which'll pause any game you launch at start-up. Will start at port 1337 although it'll eventually be user-editable. The code is a bit weirdly sorted and also just needs a general cleanup, so expect that eventually too. And uses egyptian braces but formatting was easier to do at the end, so that's also something to do.

It has been tested to work with IDA Pro, Clion and the standalone interface for now, but I plan on writing some instructions in the PR to follow for people who want to use this. Memory breakpoints aren't possible yet, only execution breakpoints.

This code was aimed to be decoupled from the existing debugger to be able to be ported to the Wii U for an equal debugging experience. That's also why it uses the Cafe OS's thread sleep and resuming functions whenever possible instead of using recompiler/interpreter controls.

* Add memory writing and floating point registers support

* Reformat code a bit

* Format code to adhere to Cemu's coding style

* Rework GDB Stub settings in GUI

* Small styling fixes

* Rework execution breakpoints

Should work better in some edge cases now. But this should also allow for adding access breakpoints since it's now more separated.

* Implement access breakpoints

* Fix some issues with breakpoints

* Fix includes for Linux

* Fix unnecessary include

* Tweaks for Linux compatibility

* Use std::thread instead of std::jthread to fix MacOS support

* Enable GDB read/write breakpoints on x86 only

* Fix compilation for GCC compilers at least

The thread type varies on some platforms, so supporting this is hell... but let's get it to compile on MacOS first.

* Disable them for MacOS due to lack of ptrace

---------

Co-authored-by: Exzap <13877693+Exzap@users.noreply.github.com>
2023-02-19 15:41:49 +01:00
Exzap
f3ff919be2
Code clean up + replace some wstring instances with utf8 (#640) 2023-01-29 13:53:31 +01:00
Exzap
404af95a2c Latte: Less aggressive texture readback
By mistake we would read affected textures back after every single drawcall. As an optimization if the same texture gets drawn to multiple times we'll try to only read it back once at the end of the sequence.
2023-01-27 09:57:10 +00:00
Exzap
387b712959 Logging: Add TextureReadback logtype and clean up code 2023-01-27 09:57:10 +00:00
jn64
9d55f46eb1
Always show "Open Cemu folder" menu item (#612) 2023-01-13 15:59:15 +01:00
Tom Lally
b361b154d8
Cross-platform screenshots (#543)
Co-authored-by: Tom Lally <tomlally@protonmail.com>
Co-authored-by: Exzap <13877693+Exzap@users.noreply.github.com>
2022-12-02 04:51:07 +01:00
goeiecool9999
2cfb7f3737
Automatically scale imgui text based on display pixel density (#545) 2022-12-01 15:58:08 +01:00
goeiecool9999
d3721c3f46
Fix render resolution at different UI scales (#514) 2022-11-30 13:39:32 +01:00
SSimco
8162477dc1
ui: Add Open Cemu folder & delete shader cache buttons (#524)
* Add option to open UserDataPath folder
* Add option to remove shader caches

Co-authored-by: ssimco <ssimco-github@proton.me>
2022-11-24 18:57:13 +01:00