Commit Graph

23 Commits

Author SHA1 Message Date
Tillsunset
9ebbfb3ae2
Fix some compiler warnings (#416) 2022-10-26 14:47:44 +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
goeiecool9999
dd1cb1cccf
Update title manager when clearing MLC path in settings (#319) 2022-10-20 13:18:44 +02:00
Exzap
665a34e518
Linux: Always use libpng from system (#381)
* 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?) (#375)
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 (#356) 2022-10-12 08:03:26 +02:00
Tillsunset
3fb4b5e26c
MacOS+Linux: Use CLOCK_MONOTONIC_RAW over CLOCK_MONOTONIC (#313)
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 (#287)
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 (#258) 2022-09-17 03:45:18 +02:00
Maximilian Downey Twiss
4a3d02db55
Properly list files in CMakeLists instead of using GLOB (#249) 2022-09-17 03:24:57 +02:00
goeiecool9999
e20bfd00ec
Separate filestream.h into OS specific implementation files (#190) 2022-09-07 02:42:25 +02:00
SSimco
0ed4fdcd78
Update fmt version to 9.1.0 (#177) 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. (#121)
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 (#124) 2022-08-30 19:02:56 +02:00
Andrea Pappacoda
f51a51df3b
build: improve the Linux aspect of things (#75)
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 (#80) 2022-08-28 15:29:15 +02:00
Arne Morten Kvarving
8459cd928c
fix some printf format specifiers (#76)
use the definition in cinttypes for portability
2022-08-27 09:33:01 +02:00
ArtemisX64
1cb2d4e5ee
Proper fix for static asserts (#64)
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() (#66)
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 (#52) 2022-08-26 04:03:26 +02:00
Exzap
d60742f52b Add all the files 2022-08-22 22:21:23 +02:00