40 Commits

Author SHA1 Message Date
goeiecool9999
dc480ac00b
Add support for WUHB file format () 2024-05-05 02:35:01 +02:00
goeiecool9999
eaa82817dd
Update thread names () 2024-03-15 23:06:48 +01:00
Exzap
f3c95f72e7 nn_fp: Multiple fixes 2023-10-19 05:55:52 +02:00
Exzap
0d71885c88 nn_fp: Full rework of friend service 2023-10-17 05:26:30 +02:00
Exzap
62889adfde Use memory barriers in Linux fiber implementation
Prevent compilers from caching TLS variables across swapcontext calls
2023-09-14 20:52:40 +02:00
Exzap
2200cc0ddf
Initial support for title switching + better Wii U menu compatibility () 2023-07-21 13:54:07 +02:00
Crementif
d903b2cf12
Remove deprecated logging system and expose developer logging window () 2023-05-20 02:46:12 +02:00
why-keith
1f16e999c5
Migrate missing forceLog_printf statement to new logging () 2023-04-25 18:15:37 +02:00
why-keith
4be57f4896
Migrate force_log_printf to new logging () 2023-04-12 16:31:34 +02:00
goeiecool9999
cb9570e229
Fix disable screensaver workaround () 2023-03-30 11:32:25 +02:00
Tillsunset
aa63a6a36e Disable the "Disable screen saver" option 2023-03-29 02:23:52 +02: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
lisa-wolfgang
4c697d3755
Add cross-platform "disable screen saver" setting () 2023-02-24 22:10:07 +01:00
Tillsunset
058d11b49b
Optimized timer code for macOS () 2022-12-15 10:28:44 +01:00
Exzap
2c81d240a5
Make codebase more CPU-agnostic + MacOS disclaimer () 2022-12-07 01:48:24 +01:00
goeiecool9999
9ce52ad83a
Linux/macOS: Implement overlay CPU/memory statistics () 2022-11-20 19:53:45 +01:00
Tillsunset
9ebbfb3ae2
Fix some compiler warnings () 2022-10-26 14:47:44 +02:00
Exzap
028b3f7992
Make controller button code thread-safe ()
* Refactor spinlock to meet Lockable requirements
* Input: Refactor button code and make it thread-safe
2022-10-23 15:47:42 +02:00
goeiecool9999
dd1cb1cccf
Update title manager when clearing MLC path in settings () 2022-10-20 13:18:44 +02:00
Exzap
665a34e518
Linux: Always use libpng from system ()
* Always use system libpng on Linux
* Remove dependency on boost-crc in DSU (reuse existing implementation)
2022-10-17 13:25:49 +02:00
Tillsunset
f0938e1a23
Fix CRC errors on MacOS(/Linux?) ()
Fixes graphic packs (like FPS++) not working even when enabled.
2022-10-15 13:38:06 +02:00
Exzap
f65dbe8437 Fix encoding error in input profile filenames
- Controller profile filenames now encode unicode characters correctly
- Removed dependency on boost::filesystem. There is still an indirect dependency on it from another boost module it seems
- Refactored some code to use FileStream instead of ifstream/ofstream
2022-10-12 14:27:01 +02:00
SSimco
d6ba61cf64
Add support for non portable mode () 2022-10-12 08:03:26 +02:00
Tillsunset
3fb4b5e26c
MacOS+Linux: Use CLOCK_MONOTONIC_RAW over CLOCK_MONOTONIC ()
On MacOS this fixes the framerate being too high due to discontinuities in the timer that drives the emulated vsync. It also fixes behavior of the GetTickCount() wrapper.
2022-09-29 11:36:27 +02:00
Exzap
3bceb39966
Remove PUBLIC_RELEASE flag and tie asserts to debug config ()
Removes the -DPUBLIC_RELEASE flag. Cemu's debug asserts are now only enabled if the build configuration is Debug. Similarly, on Windows the console is only shown for Debug builds.
2022-09-24 08:43:27 +02:00
Herman Semenov
03f5967408
Fix incorrect streamout buffer index in GS + refactor various code () 2022-09-17 03:45:18 +02:00
Maximilian Downey Twiss
4a3d02db55
Properly list files in CMakeLists instead of using GLOB () 2022-09-17 03:24:57 +02:00
goeiecool9999
e20bfd00ec
Separate filestream.h into OS specific implementation files () 2022-09-07 02:42:25 +02:00
SSimco
0ed4fdcd78
Update fmt version to 9.1.0 () 2022-09-05 14:48:44 +02:00
Andrea Pappacoda
719ee90b27
build: minor refactoring and fixes
- Fix target_precompile_headers() usage; the CemuCommon target exposes
  the src/Common/precompiled.h precompiled header as part of its public
  interface with
  target_precompile_headers(CemuCommon PUBLIC precompiled.h), so all the
  other targets wanting to use the precompiled header have to link to
  the CemuCommon target with
  target_precompile_headers(TargetName PRIVATE CemuCommon).
- Set the project version to 2.0
- Set RUNTIME_OUTPUT_DIRECTORY instead of only their _DEBUG and _RELEASE
  variants, fixing the compilation when neither build types are defined
- Use a consistent indentation style (tabs, like in the .cpp files)
- Use "modern" variants of some functions, e.g. add_definitions ->
  add_compile_definitions
2022-09-02 13:05:15 +02:00
Tom Lally
d3a7b3b5a6
Misc. Linux improvements and bug fixes. ()
Co-authored-by: Tom Lally <tomlally@protonmail.com>
2022-09-01 20:46:20 +02:00
Marcin Chojnacki
527ee3aea5
Initial implementation of macOS Vulkan renderer over MoltenVK () 2022-08-30 19:02:56 +02:00
Andrea Pappacoda
f51a51df3b
build: improve the Linux aspect of things ()
Improved, fixed and streamlined cmake files. Optionally use system libraries instead of vcpkg (-DENABLE_VCPKG=OFF)
2022-08-29 07:19:48 +02:00
Tom Lally
454b587e36
Fix compilation on GCC and other Linux fixes () 2022-08-28 15:29:15 +02:00
Arne Morten Kvarving
8459cd928c
fix some printf format specifiers ()
use the definition in cinttypes for portability
2022-08-27 09:33:01 +02:00
ArtemisX64
1cb2d4e5ee
Proper fix for static asserts ()
Replace std::uniform_int_distribution with boost::random::uniform_int_distribution
2022-08-26 14:28:50 +02:00
Andrea Pappacoda
19a0a3a359
perf: optimize GenerateRandomString() ()
The previous implementation used an std::stringstream to concatenate
the generated random string.

The new one uses a simple preallocated std::string, as the size of the
output is already known - it is the length parameter.

It also uses std::generate_n() instead of an explicit loop, making the
code more concise and potentially faster, as no calls to
std::string::operator+= are needed.

Calling GenerateRandomString(1'000'000) with the std::stringstream-based
implementation allocated 16 times, for a total of 3'173'516 bytes.
The new one cuts this down to 4 allocs, for a total of 1'076'864 bytes.
2022-08-26 12:53:42 +02:00
Marcin Chojnacki
974edaa649
Initial macOS port bringup () 2022-08-26 04:03:26 +02:00
Exzap
d60742f52b Add all the files 2022-08-22 22:21:23 +02:00