Commit Graph

373 Commits

Author SHA1 Message Date
Rambo6Glaz
b0ae008a89
Fix NEX DataStore uploads (nlibcurl) and stub Miiverse PostApp (#888) 2023-07-05 18:59:33 +02:00
Exzap
9499870cc9 Debugging: Add minimalist PPC profiler 2023-06-25 08:40:52 +02:00
Exzap
45072fccb2 Remove remnants of frame profiler code 2023-06-25 08:40:52 +02:00
Exzap
4a04fab9c4 coreinit: Set file flag in stat 2023-06-25 08:40:52 +02:00
Rambo6Glaz
a8d157d310
nn_olv: Added community related API (#873)
- Initialize
- Download communities (self-made / favorites / officials)
- Upload communities (create subcommunity)
- Upload favorite status (Add/Delete favorite to a subcommunity)

Enough for support of Mario Kart 8 tournaments
2023-06-24 14:51:41 +02:00
Squall Leonhart
1beec40445
Fix logging related crash in KPADGetUnifiedWpadStatus (#875) 2023-06-22 04:11:31 +02:00
Maschell
fd3b5b7f27
coreinit: Fix FSGetMountSource and FSAppendFile implementation (#863)
Fixes SD access in SSBU
2023-06-17 13:51:55 +02:00
Chris Purnell
950e9564e6
Fix register window not updating in PPC debugger (#864) 2023-06-17 13:50:40 +02:00
Chris Purnell
f0ef8f3cc2
Fix some out of bound array access. (#862) 2023-06-16 20:15:43 +02:00
Chris Purnell
f6a1cc598e
Fix error message when SDL fails to initialize (#861) 2023-06-16 19:57:27 +02:00
Exzap
633e5c0e05 Fix incorrect return values in OSAtomic 2023-06-15 22:36:45 +02:00
Exzap
808d1bb424 Add debug asserts for invalid MEMPTR
Also fixed some corruptions this uncovered
2023-06-15 22:36:35 +02:00
Exzap
7886b594a2 nsysnet: Implement inet_ntop 2023-06-15 22:36:25 +02:00
Exzap
0bead50065 coreinit: Implement support for ".." in paths 2023-06-15 21:23:18 +02:00
Maschell
f1ebfa9941
coreinit: Implement several FSA functions and fix some bugs (#844) 2023-06-15 21:05:16 +02:00
Colin Kinloch
ae4cb45cf3
Check wx dialogs aren't returning blank paths (#845) 2023-06-06 14:17:41 +02:00
Maschell
6073ab3ec6
coreinit: Refactor FS functions to be more accurate (#842) 2023-06-04 11:13:45 +02:00
Colin Kinloch
4ae5b4f8b8
Wayland: Use viewporter (#836) 2023-05-28 02:04:24 +02:00
Crementif
d903b2cf12
Remove deprecated logging system and expose developer logging window (#825) 2023-05-20 02:46:12 +02:00
Alexander
b8dec03cb5
Add missing template arguments for std::forward (#819) 2023-05-15 18:31:53 +02:00
Exzap
eda4cf4b24
Fix UI crash on Windows (#813) 2023-05-11 15:27:45 +02:00
Nicholas F
1bcdb35e42
Add GameMode support for Linux build (#796) 2023-05-11 07:19:44 +02:00
Jonathan Barrow
b74ae21953
Resolve domains to IPs in Friends NEX (#807) 2023-05-10 11:51:54 +02:00
goeiecool9999
d56bc807cf
GraphicsPackWindow2: Use UTF8 (#802) 2023-04-26 15:41:23 +02:00
why-keith
1f16e999c5
Migrate missing forceLog_printf statement to new logging (#800) 2023-04-25 18:15:37 +02:00
why-keith
e58a84629f
Migrate coreinitMemLog_printf to new logging (#799) 2023-04-25 18:09:00 +02:00
why-keith
caa57a3cfd
Logging migration (forceLogDebug_printf) (#780)
* script changes - no arguments

* script changes with 2 arguments

* script changes with > 2 arguments

* script conversions with 1 argument - pt. 1

* script conversions with 1 argument - pt. 2

* script conversions with 1 argument - pt. 3

* script conversions with 1 argument - pt. 4

* script conversions with 1 argument - pt. 5

Pointer format hunting

* Fixed pointer format

* script conversions with 1 argument - final

* fixed conversion in non utf-8 file

* fixed conversion with capital letter

* actually fixed conversion with capital letter

* fixed another capital lettering issue

* Added conversions with LR removed

* removed LR from logs

* Converted logs that previously contained LR

* converted log that originally specified string length

* fixed log with commas in main text

* fixed multi-line log

* Fixed more logs with commas in main text

* Fixed unformatted pointer

* added conversion with float value

* converted lines with double parameters

* converted missed line

* corrected argument formatting

Co-authored-by: Crementif <26669564+Crementif@users.noreply.github.com>

* Fixed misspellings of "unhandled"

unhandeled -> unhandled

Co-authored-by: Crementif <26669564+Crementif@users.noreply.github.com>

---------

Co-authored-by: Crementif <26669564+Crementif@users.noreply.github.com>
2023-04-25 08:43:31 +02:00
Exzap
f48ad6a1ca Dont format logging calls with only the format string 2023-04-20 14:37:11 +02:00
Exzap
41f2c27229 Remove dependency on boost::dll and boost::range 2023-04-16 11:51:25 +02:00
why-keith
80953fe603
Migrate saveLog_printf to new logging (#768) 2023-04-16 00:31:53 +02:00
why-keith
27a5671056
Migrate inputLog_printf to new logging (#767) 2023-04-16 00:18:11 +02:00
why-keith
a519b01b58
Migrate socketLog_printf to new logging (#766) 2023-04-16 00:08:22 +02:00
why-keith
9c6e3fb144
Migrate nfpLog_printf to new logging (#769) 2023-04-15 15:19:00 +02:00
Exzap
ecb7b77326 Latte: Use better hashing algorithm for cache invalidation
Decreases chance of hash collisions while also being faster due to 4 channel vectorization
2023-04-15 10:08:58 +02:00
why-keith
a640bd079c
Migrate sndApiLog_printf to new logging (#762) 2023-04-13 14:18:45 +02:00
why-keith
486e228f72
Migrate gx2Log_printf to new logging (#761) 2023-04-13 14:13:54 +02:00
Michael
d27935a1bd
Update URLs related towards cemu_graphic_packs repo. (#764) 2023-04-13 04:37:53 +02:00
why-keith
4be57f4896
Migrate force_log_printf to new logging (#714) 2023-04-12 16:31:34 +02:00
Exzap
072c18a6e3 Improve exception logging on posix
Fix compile errors
2023-04-06 07:33:41 +02:00
Nicholas F
55e1551cc7
Add F11 hotkey to gamepad view (#727) 2023-04-04 04:39:29 +02:00
goeiecool9999
cb9570e229
Fix disable screensaver workaround (#728) 2023-03-30 11:32:25 +02:00
Colin Kinloch
b3180bc4a6 Fix GamePad window when using vulkan with wayland 2023-03-29 18:22:48 +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
Tillsunset
aa63a6a36e Disable the "Disable screen saver" option 2023-03-29 02:23:52 +02:00
Exzap
3ff3b732c8
Upgrade vcpkg + submodule dependencies (#719) 2023-03-28 17:43:02 +02:00
JP-Carr
a7f6043205 switched cafeLog_logLine() with cemuLog_log() 2023-03-26 15:10:48 +02:00
Tillsunset
18a266155f Revert "Force async compile off for macos (#532)"
This reverts commit 523a0e1706.
2023-03-24 18:06:19 +01:00
Rivan Parmar
823386cc09
gui: Added location column in Title Manager (#697)
Thanks @RivanParmar!
2023-03-19 11:25:05 +01:00
Exzap
9049ad91f9 Add missing constructor 2023-03-13 05:34:53 +01:00
Exzap
e803c6be47 Use attribute for AES-NI instead of -maes option 2023-03-13 05:34:53 +01:00
Exzap
9fb8f4cb6b Fix StringBuf.add() 2023-03-13 05:34:53 +01:00
Exzap
504e0488a8 Remove shaderMulAccuracy "min" option
It's less accurate and it doesn't actually perform better on most hardware.
2023-03-13 05:34:53 +01:00
Exzap
040cc27a40 Logging: Fix typo in preprocessor constant name 2023-03-13 05:34:53 +01:00
Exzap
8ce3f834c4 Latte: Optimize shader decompiler output 2023-03-13 05:34:53 +01:00
Exzap
a2c518354f Remove unnecessary include 2023-03-02 16:44:22 +01:00
Exzap
466ad8d35e Latte/Vulkan: Set RoundingModeRTE for all float types
Seems like GLSL's unpackHalf2x16() is affected by the 16bit rounding setting
2023-03-02 16:22:28 +01:00
Exzap
f8ea594447 Latte: Small refactor for shader decompiler
Latte: Small refactor for shader decompiler
2023-03-02 16:22:19 +01:00
Exzap
4a564e2447 Latte/Vulkan: Set shader rounding mode via VK_KHR_SHADER_FLOAT_CONTROLS 2023-03-02 16:22:05 +01:00
Exzap
43c9a4eccd
Fix compilation error when ENABLE_DISCORD_RPC is not set 2023-03-02 11:09:54 +01:00
Georgiy NN
b87465fd8a Fix building with cubeb disabled 2023-02-25 19:17:19 +01:00
Jonathan Mohrbacher
44c16e1c64 Delete dead EmulatedController::find_controller method 2023-02-25 18:45:42 +01:00
lisa-wolfgang
4c697d3755
Add cross-platform "disable screen saver" setting (#497) 2023-02-24 22:10:07 +01:00
Exzap
80b1c50b50 coreinit: Fix thread scheduler not resetting quantum
When a thread was force-rescheduled (e.g. via OSYieldThread) the next time it resumed it would not reset the time slice duration (remainingCycles) back to ppcThreadQuantum. As a consequence threads were often immediately rescheduled and only on the next turn they would get their full time slice.

Aside from (very slightly) improving performance, this also fixes the OSDisableInterrupts warning spam in the log for TPHD.
2023-02-22 13:37:14 +01:00
Exzap
9d25b88368 Latte: Add support for MIN_DX10 shader instruction 2023-02-22 13:37:14 +01:00
Crementif
05e0f349e0
debugger: Disable Linux read/write breakpoints for now (#669)
It seems that there's some differences for some distros so until a proper solution is found, just disable it for now.
2023-02-20 00:29:32 +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
goeiecool9999
05d82b09e9
Add back missing flag to keep background image in background (#667) 2023-02-19 14:52:19 +01:00
goeiecool9999
cbb79fd34c
Separate imgui contexts for TV and Pad windows. (#664) 2023-02-18 11:56:43 +01:00
Exzap
f3ff919be2
Code clean up + replace some wstring instances with utf8 (#640) 2023-01-29 13:53:31 +01:00
bslhq
ca79a6aa0d
GameList: Fix hidden last column (#632) 2023-01-29 13:06:20 +01:00
Exzap
8651c4bae7 coreinit: Correctly return success code in FSRemove 2023-01-28 10:05:29 +00: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
859dc78e90 coreinit: Dont yield uninterruptible threads in spinlock 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
Exzap
9bbfd33842 Latte: FragCoord w should not be reciprocal
Fixes rendering in various Virtual Console DS titles
2023-01-27 09:57:10 +00:00
Exzap
43b5ad2f1c PPCInterpreter: Improve overflow handling 2023-01-27 09:57:10 +00:00
Exzap
4b5014c16a coreinit: Fix memory mapping API
Fixes Unity based games freezing on boot
2023-01-27 09:57:10 +00:00
Exzap
f2671f417f Input: Fix potential race condition
Operator = for ControllerButtonState wasn't properly synchronized
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
goeiecool9999
33bd10b4e0
Vulkan: Use the correct resolution for out-of-date check (#595) 2022-12-29 00:19:05 +01:00
bslhq
0c6f18ab97
TitleMgr: Fix "c" showing up in account list for saves (#590) 2022-12-26 23:46:53 +01:00
Tillsunset
058d11b49b
Optimized timer code for macOS (#576) 2022-12-15 10:28:44 +01:00
SSimco
fcab8f8f1a
Linux: Add CMake find module for wayland + make wayland optional (#572) 2022-12-15 08:44:14 +01:00
Tillsunset
aea9f5b966
Fix SDL controller reversed y axis in UI (#574) 2022-12-14 05:41:48 +01:00
Tillsunset
4491560b32
Add check for backwards delete (#564) 2022-12-09 18:01:08 +01:00
Elijah
5a143c7b4b
Linux/MacOS: Use faster clock_gettime() for tick_cached() (#563) 2022-12-08 17:08:15 +01:00
SSimco
fca7f5dfe4
Linux: Add Vulkan support for wayland (#553) 2022-12-07 16:45:25 +01:00
Exzap
2c81d240a5
Make codebase more CPU-agnostic + MacOS disclaimer (#559) 2022-12-07 01:48:24 +01:00
Tom Lally
445b0afa95
Better screenshot error handling (#552) 2022-12-05 17:16:08 +01:00
iamqk
c1afa4cad0
PPCAssembler: Fix incorrect cast sign of branch distance calculate (#555) 2022-12-05 13:52:02 +01:00
Tom Lally
dd538d477c
Correctly create screenshot directory if it does not exist (#551) 2022-12-03 17:57:32 +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
goeiecool9999
a3476c7b7c
macOS: Workaround for MoltenVK stride limitation (#534) 2022-11-30 01:26:42 +01:00
goeiecool9999
79e731d9b4
Add macOS keycodes for left/right control and tab (#535) 2022-11-30 01:26:12 +01:00
Tillsunset
6f985c3c78
Fix black screen when graphics packs are used (#541) 2022-11-29 10:54:11 +01:00
Tillsunset
87d2f8ad55
Fix shader preset regex (#536) 2022-11-28 08:24:52 +01:00
Tillsunset
523a0e1706
Force async compile off for macos (#532) 2022-11-26 02:10:51 +01:00
goeiecool9999
bc104859f3
Vulkan: return to more conventional swapchain sync method, encapsulate more code (#525) 2022-11-25 09:51:47 +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
goeiecool9999
cbdf381b31
Fix gamepad hotkey and game profile setting (#510) 2022-11-24 12:29:29 +01:00
SSimco
c43fc81f8e
Disable key events for InputPanel's text controls (#520) 2022-11-24 11:10:37 +01:00
greybaron
c0ebbef9bd
macOS: Fix error sound for every KB keypress on render canvas (#521) 2022-11-21 22:47:53 +01:00
goeiecool9999
8ff668a303
fix flicker on windows (#523) 2022-11-21 21:45:46 +01:00
goeiecool9999
f4c2d16a3a
Attempt to fix flicker on resize, don't recreate if image was already acquired. (#522) 2022-11-21 19:06:35 +01:00
goeiecool9999
3a94a276da
Vulkan: Further simplify swapchain code (#502) 2022-11-21 16:47:43 +01:00
goeiecool9999
01ce523f01
Input settings: Fix combobox dropdown not working on linux (#500) 2022-11-21 13:13:19 +01:00
goeiecool9999
9ce52ad83a
Linux/macOS: Implement overlay CPU/memory statistics (#480) 2022-11-20 19:53:45 +01:00
MythicalPlayz
c17097369b
Redownload BOSS files if they are not found (#504) 2022-11-20 17:21:20 +01:00
SSimco
8f1ee9e5aa
Fix checking space using non existing folder (#503) 2022-11-18 12:46:05 +01:00
goeiecool9999
57c8dec335
fix two if statements checking range of number wrong (#494) 2022-11-17 15:42:08 +01:00
goeiecool9999
2adabcb936
Linux: Save 10.7MiB of useless debug info (#475) 2022-11-17 15:31:34 +01:00
SSimco
b1c70588fe
Enable online features for Unix (#486) 2022-11-15 17:03:46 +01:00
goeiecool9999
4442efa8ac
rely on distro policy to make executable PIE, but do enforce noexecstack on final output (#490) 2022-11-13 17:23:48 +01:00
goeiecool9999
e9d10a9581
Linux+OpenGL: Implement GUI vsync setting (#477) 2022-11-13 08:29:25 +01:00
goeiecool9999
2842615edb
Fix various colour values for dark themes (#439) 2022-11-13 08:27:09 +01:00
jn64
7f21104b54
Disable Discord RPC checkbox based on build option (#476) 2022-11-11 20:51:50 +01:00
goeiecool9999
bbd8d6d5ac
Linux OpenGL: Fix gamepad not updating (#474) 2022-11-11 08:33:44 +01:00
goeiecool9999
4d68446f14
Vulkan: Further swapchain code improvements. (#473) 2022-11-11 08:14:38 +01:00
goeiecool9999
a0e69ffbbd
Linux: Explicitly enable some flags related to security. (#446) 2022-11-09 07:17:50 +01:00
bslhq
be287a1f4e
ImGui: match all begin()/end() (#470) 2022-11-09 02:45:40 +01:00
Tillsunset
5adb1e9618
Add commit hash to build name on build check workflow (#463) 2022-11-07 02:47:59 +01:00
goeiecool9999
138510106c
Vulkan: Fix freeze when closing pad view (#435) 2022-11-06 00:40:00 +01:00
Exzap
948460cad7 InputSettings: Refresh panels on profile load and other operations 2022-11-06 00:32:33 +01:00
Exzap
3df8217a02 SDLController: Do not manually recycle controller instance
SDL_GameControllerFromInstanceID does not increase internal ref counter.
Fixes a crash when removing an SDL controller that is in use by another profile
2022-11-06 00:32:33 +01:00
Exzap
ec6726e85c Use generic EC_POINT_get_affine_coordinates 2022-11-06 00:32:33 +01:00
goeiecool9999
348d86648f
Vulkan: Refactor swapchain code (#399) 2022-11-04 15:22:29 +01:00
Tillsunset
2f86622a68
Don't go to mount point for free space check (#450) 2022-11-04 14:34:32 +01:00
Exzap
a40b226e00
CubebInput: Avoid redundant CoInitializeEx (#449) 2022-11-03 18:29:21 +01:00
Tillsunset
521f2fb707
MacOS: Workaround for Metal stride limitation (#445) 2022-11-03 12:51:32 +01:00
goeiecool9999
a129d22a57
Vulkan: Experimental fix for self-dependency barriers during renderpass (#431) 2022-11-03 00:43:26 +01:00
Adrian Graber
d4e14d2b05
Implement proper microphone support (#251) 2022-11-03 00:24:34 +01:00
goeiecool9999
dfa7774c4c
Non-windows: Link fontawesome into executable. (#442) 2022-11-03 00:23:31 +01:00
goeiecool9999
c3182aedd9
GeneralSettings: Update vsync after settings close (#401) 2022-10-31 17:54:26 +01:00
Zhaohui Shi
f41f7b63e8
DSUController: fix crash when running on offline mode (#434) 2022-10-31 14:27:35 +01:00
Tillsunset
c143950dd1
Fix fullscreen on macos (#429) 2022-10-30 01:40:53 +02:00
OatmealDome
e0aaf631c4
macOS: Set values for empty keys in Info.plist (#425) 2022-10-28 16:57:14 +02:00
Tillsunset
9ebbfb3ae2
Fix some compiler warnings (#416) 2022-10-26 14:47:44 +02:00
gurrgur
3869b47c35
OpenGL: Bind back buffer before clearing (#222) (#414) 2022-10-26 14:07:34 +02:00
GaryOderNichts
d303a7f502
coreinit: Implement OSGetSystemTick (#415) 2022-10-26 14:06:16 +02:00
GaryOderNichts
2461464ba7
FSA: Add missing path translations (#413) 2022-10-26 00:25:46 +02:00
gurrgur
76c75f767b
Use portable format specifiers (#411)
Fixes #387
2022-10-25 20:38:29 +02:00
Zhaohui Shi
88f63ca373
DSU: Fix bad crc calculate (#410) 2022-10-25 18:25:19 +02:00
Zhaohui Shi
643ac57a30
DSU: fix build error when enable DEBUG_DSU_CLIENT (#408) 2022-10-24 23:14:22 +02:00
emiyl
8f674933d2
Create Cemu .app bundle for macOS (#364) 2022-10-23 16:58:28 +02:00
Exzap
028b3f7992
Make controller button code thread-safe (#405)
* Refactor spinlock to meet Lockable requirements
* Input: Refactor button code and make it thread-safe
2022-10-23 15:47:42 +02:00
Tillsunset
1bcc064593
Add check for "." in FSC path (#402) 2022-10-23 13:06:20 +02:00
MythicalPlayz
c217b3ee32
GameList: Use title name based on console language (#388) 2022-10-21 00:17:11 +02:00