62 Commits
Author SHA1 Message Date
goeiecool9999andGitHub a129d22a57 Vulkan: Experimental fix for self-dependency barriers during renderpass (#431) 2022-11-03 00:43:26 +01:00
Adrian GraberandGitHub d4e14d2b05 Implement proper microphone support (#251) 2022-11-03 00:24:34 +01:00
goeiecool9999andGitHub dfa7774c4c Non-windows: Link fontawesome into executable. (#442) 2022-11-03 00:23:31 +01:00
goeiecool9999andGitHub c3182aedd9 GeneralSettings: Update vsync after settings close (#401) 2022-10-31 17:54:26 +01:00
Zhaohui ShiandGitHub f41f7b63e8 DSUController: fix crash when running on offline mode (#434) 2022-10-31 14:27:35 +01:00
TillsunsetandGitHub c143950dd1 Fix fullscreen on macos (#429) 2022-10-30 01:40:53 +02:00
jn64andGitHub 4e991d603a Add libpulse-dev to CI build (#430) 2022-10-30 01:39:39 +02:00
OatmealDomeandGitHub e0aaf631c4 macOS: Set values for empty keys in Info.plist (#425) 2022-10-28 16:57:14 +02:00
TillsunsetandGitHub 9ebbfb3ae2 Fix some compiler warnings (#416) 2022-10-26 14:47:44 +02:00
gurrgurandGitHub 3869b47c35 OpenGL: Bind back buffer before clearing (#222) (#414) 2022-10-26 14:07:34 +02:00
GaryOderNichtsandGitHub d303a7f502 coreinit: Implement OSGetSystemTick (#415) 2022-10-26 14:06:16 +02:00
GaryOderNichtsandGitHub 2461464ba7 FSA: Add missing path translations (#413) 2022-10-26 00:25:46 +02:00
gurrgurandGitHub 76c75f767b Use portable format specifiers (#411)
Fixes #387
2022-10-25 20:38:29 +02:00
Zhaohui ShiandGitHub 88f63ca373 DSU: Fix bad crc calculate (#410) 2022-10-25 18:25:19 +02:00
Zhaohui ShiandGitHub 643ac57a30 DSU: fix build error when enable DEBUG_DSU_CLIENT (#408) 2022-10-24 23:14:22 +02:00
ExzapandGitHub 4561a6929c Fix capitalization of Cemu executable in .desktop file 2022-10-23 23:32:36 +02:00
emiylandGitHub 8f674933d2 Create Cemu .app bundle for macOS (#364) 2022-10-23 16:58:28 +02:00
ExzapandGitHub 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
Jeremy KescherandGitHub c40466f3a8 Fix incorrect title ID (00050000-1011000? -> 00050000-10111000) (#404) 2022-10-23 14:03:51 +02:00
TillsunsetandGitHub 1bcc064593 Add check for "." in FSC path (#402) 2022-10-23 13:06:20 +02:00
Squall LeonhartandGitHub ffa213c794 Generalised game profile cleanup and corrections (#389) 2022-10-21 12:39:26 +02:00
MythicalPlayzandGitHub c217b3ee32 GameList: Use title name based on console language (#388) 2022-10-21 00:17:11 +02:00
goeiecool9999andGitHub dd1cb1cccf Update title manager when clearing MLC path in settings (#319) 2022-10-20 13:18:44 +02:00
goeiecool9999andGitHub 9df1325d14 Linux: Resolve backtrace symbols directly from .symtab instead of .dynsym (#385) 2022-10-20 13:12:16 +02:00
MythicalPlayzandGitHub 271a4e4719 Fixed Discord Rich Presence not working on games that are on MLC (#383) 2022-10-18 17:08:09 +02:00
goeiecool9999andGitHub 15b3a3f77d Linux: Remove libpng dependency from wxwidgets (#382) 2022-10-17 16:05:35 +02:00
ExzapandGitHub 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
MythicalPlayzandGitHub 753040f73a Added Boot Image for Gamepad (#372) 2022-10-17 11:26:32 +02:00
goeiecool9999andGitHub e88d20cbfb Fix crashes when wxWidgets tries to free stack allocated dialogs (#377) 2022-10-16 09:02:33 +02:00
TillsunsetandGitHub 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
TillsunsetandGitHub df0e2f7881 Fix Cannot set locale to "" (#366)
* Add en resource and change language selection for macos user that don't have US as their system region
* default to English if the system language is unavailable
2022-10-15 07:20:20 +02:00
ExzapandGitHub ada8bbb3b4 Linux/MacOS: Greatly improve performance (#370)
std::unordered_set is implemented as a flat hashtable on libstdc++ which makes clearing expensive due to invoking memset on the entire table. To get the best performance across all platforms this replaces the unordered_set with a custom high-performance sparse bitset
2022-10-14 13:45:40 +02:00
ExzapandGitHub a19ed46b2a Windows: Fix file and folder dialog freeze (#369)
Initializing the COM library immediately seems to be more robust than doing it on demand
2022-10-14 12:49:41 +02:00
Exzap d251ce07e0 XAudio2: Don't quit on failed CoInitializeEx()
It returns an error code when already initialized
2022-10-13 12:18:34 +02:00
ExzapandGitHub f42bebd196 Merge pull request #361 from Exzap/tweaks
Fix encoding error in input profiles + update metainfo
2022-10-12 15:25:01 +02:00
Exzap 0412dec078 Fix metainfo
Comment out vcs-browser url type for now. It's a pretty recent addition to the standard and is considered an error by some older utilities
2022-10-12 15:23:04 +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
SSimcoandGitHub 8b3f36ad50 Use correct preprocessor check for Linux (#360) 2022-10-12 13:10:57 +02:00
SSimcoandGitHub d6ba61cf64 Add support for non portable mode (#356) 2022-10-12 08:03:26 +02:00
ExzapandGitHub 2b9edced81 Minor tweaks and code clean up (#357) 2022-10-11 09:17:34 +02:00
MythicalPlayzandGitHub b07e9efba4 Add support for choosing network service (incl Pretendo+Custom) (#302) 2022-10-11 04:04:47 +02:00
ExzapandGitHub 52cc7c5996 Follow imgui recommendation and streamline build dependencies (#355) 2022-10-11 01:43:15 +02:00
goeiecool9999andGitHub 431c5a101f Linux: Print demangled symbols on backtrace (#312) 2022-10-10 02:35:04 +02:00
TillsunsetandGitHub 0c9fb3143f memory optimization, using posix_memalign (#350) 2022-10-09 10:43:45 +02:00
TillsunsetandGitHub 638e9e1f87 Workaround for the h264 video crash on macOS (#348) 2022-10-09 08:45:26 +02:00
TillsunsetandGitHub b724a657e6 MoltenVk: Add missing texture decoders (#332) 2022-10-08 15:07:54 +02:00
bslhqandGitHub 551f821109 Auto resize last column (#265) 2022-10-07 14:30:06 +02:00
emiylandGitHub 00968acc1d dedicated decoder for R4G4 and R4G4B4A4 to R8G8B8A8 (#331) 2022-10-07 02:39:06 +02:00
emiylandGitHub 4519a59d74 [ih264] per-function target attribute on clang and GCC (#328) 2022-10-04 15:24:14 +02:00
purofleandGitHub 8a0fe21589 [docs] add --needed in ArchLinux dependencies (#324) 2022-10-03 13:05:42 +02:00
TillsunsetandGitHub fb5ecca157 Vulkan: Use correct texture clear in LatteDraw_handleSpecialState8_clearAsDepth (#321) 2022-10-02 19:18:35 +02:00
TillsunsetandGitHub 11f6e2b7ee Vulkan: Implement texture decoder for R5G6B5_UNORM to R8G8B8A8_UNORM (#320) 2022-10-02 01:48:13 +02:00
emiylandGitHub 9541c8ae85 MoltenVk: Workaround for unsupported format R5_G6_B5_UNORM (#318) 2022-09-30 18:07:00 +02:00
ExzapandGitHub cceb4f6d0e Vulkan: Always disable blending for integer formats (#317)
Should fix a warning in the Vulkan validation layer and avoid a sigtrap in MoltenVk
2022-09-30 15:59:16 +02:00
emiylandGitHub ecfbbd4e26 MoltenVK: Workaround for unsupported formats (#315) 2022-09-30 15:28:56 +02:00
Narr the RegandGitHub 3767257220 nfp: Fix corruption, correct structs and use write counters (#310) 2022-09-29 13:00:46 +02:00
TillsunsetandGitHub 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
UltraHDRandGitHub a28d67bafd Remove -DPUBLIC_RELEASE=ON from macOS command (#309) 2022-09-27 22:18:35 +02:00
goeiecool9999andGitHub 6ecc4be0da Posix/Linux: Add setting to disable coredumps 2022-09-27 13:58:50 +02:00
goeiecool9999andGitHub 35afb99c99 [docs] Add llvm as a required package for Arch Linux (#308) 2022-09-27 12:48:35 +02:00
SSimcoandGitHub 25dae98ce0 Fix crash on GTK when a gfx pack preset value is changed (#300) 2022-09-26 07:53:10 +02:00
emiylandGitHub 53c7daa603 [docs] Add brew installation instructions for macos (#303) 2022-09-25 21:38:31 +02:00
399 changed files with 3550 additions and 1939 deletions
+15 -4
View File
@@ -45,7 +45,7 @@ jobs:
- name: "Install system dependencies"
run: |
sudo apt update -qq
sudo apt install -y ninja-build cmake libgtk-3-dev libsecret-1-dev libgcrypt20-dev libsystemd-dev freeglut3-dev clang-12 nasm
sudo apt install -y clang-12 cmake freeglut3-dev libgcrypt20-dev libgtk-3-dev libpulse-dev libsecret-1-dev libsystemd-dev nasm ninja-build
- name: "Bootstrap vcpkg"
run: |
bash ./dependencies/vcpkg/bootstrap-vcpkg.sh
@@ -162,6 +162,8 @@ jobs:
with:
name: cemu-bin-windows-x64
path: ./bin/Cemu.exe
build-macos:
runs-on: macos-12
steps:
@@ -213,7 +215,7 @@ jobs:
run: |
mkdir build
cd build
cmake .. ${{ env.BUILD_FLAGS }} -DCMAKE_BUILD_TYPE=${{ env.BUILD_MODE }} -DCMAKE_C_COMPILER=/usr/local/opt/llvm@14/bin/clang -DCMAKE_CXX_COMPILER=/usr/local/opt/llvm@14/bin/clang++ -G Ninja
cmake .. ${{ env.BUILD_FLAGS }} -DCMAKE_BUILD_TYPE=${{ env.BUILD_MODE }} -DPORTABLE=OFF -DMACOS_BUNDLE=ON -DCMAKE_C_COMPILER=/usr/local/opt/llvm@14/bin/clang -DCMAKE_CXX_COMPILER=/usr/local/opt/llvm@14/bin/clang++ -G Ninja
- name: "Build Cemu"
run: |
@@ -221,11 +223,20 @@ jobs:
- name: Prepare artifact
if: ${{ inputs.deploymode == 'release' }}
run: chmod a+x bin/Cemu_release && mv bin/Cemu_release bin/Cemu
run: |
mkdir bin/Cemu_app
mv bin/Cemu_release.app bin/Cemu_app/Cemu.app
mv bin/Cemu_app/Cemu.app/Contents/MacOS/Cemu_release bin/Cemu_app/Cemu.app/Contents/MacOS/Cemu
sed -i '' 's/Cemu_release/Cemu/g' bin/Cemu_app/Cemu.app/Contents/Info.plist
chmod a+x bin/Cemu_app/Cemu.app/Contents/MacOS/Cemu
ln -s /Applications bin/Cemu_app/Applications
hdiutil create ./bin/tmp.dmg -ov -volname "Cemu" -fs HFS+ -srcfolder "./bin/Cemu_app"
hdiutil convert ./bin/tmp.dmg -format UDZO -o bin/Cemu.dmg
rm bin/tmp.dmg
- name: Upload artifact
uses: actions/upload-artifact@v3
if: ${{ inputs.deploymode == 'release' }}
with:
name: cemu-bin-macos-x64
path: ./bin/Cemu
path: ./bin/Cemu.dmg
@@ -64,13 +64,7 @@ jobs:
rm -r ./${{ env.CEMU_FOLDER_NAME }}
- name: Create release from macos-bin
run: |
ls ./
ls ./bin/
cp -R ./bin ./${{ env.CEMU_FOLDER_NAME }}
mv cemu-bin-macos-x64/Cemu ./${{ env.CEMU_FOLDER_NAME }}/Cemu
zip -9 -r upload/cemu-${{ env.CEMU_VERSION }}-macos-12-x64.zip ${{ env.CEMU_FOLDER_NAME }}
rm -r ./${{ env.CEMU_FOLDER_NAME }}
run: cp cemu-bin-macos-x64/Cemu.dmg upload/cemu-${{ env.CEMU_VERSION }}-macos-12-x64.dmg
- name: Create release
run: |
+1 -7
View File
@@ -68,13 +68,7 @@ jobs:
rm -r ./${{ env.CEMU_FOLDER_NAME }}
- name: Create release from macos-bin
run: |
ls ./
ls ./bin/
cp -R ./bin ./${{ env.CEMU_FOLDER_NAME }}
mv cemu-bin-macos-x64/Cemu ./${{ env.CEMU_FOLDER_NAME }}/Cemu
zip -9 -r upload/cemu-${{ env.CEMU_VERSION }}-macos-12-x64.zip ${{ env.CEMU_FOLDER_NAME }}
rm -r ./${{ env.CEMU_FOLDER_NAME }}
run: cp cemu-bin-macos-x64/Cemu.dmg upload/cemu-${{ env.CEMU_VERSION }}-macos-12-x64.dmg
- name: Create release
run: |
+2
View File
@@ -30,9 +30,11 @@ bin/Cemu_*.ilk
bin/Cemu.exe.backup
bin/mlc01/*
bin/settings.xml
bin/network_services.xml
bin/title_list_cache.xml
bin/debugger/*
bin/sdcard/*
bin/screenshots/*
!bin/shaderCache/info.txt
bin/shaderCache/*
+3
View File
@@ -13,3 +13,6 @@
[submodule "dependencies/Vulkan-Headers"]
path = dependencies/Vulkan-Headers
url = https://github.com/KhronosGroup/Vulkan-Headers
[submodule "dependencies/imgui"]
path = dependencies/imgui
url = https://github.com/ocornut/imgui
+8 -5
View File
@@ -25,7 +25,7 @@ To compile Cemu, a recent enough compiler and STL with C++20 support is required
### Installing dependencies
#### For Ubuntu and derivatives:
`sudo apt install -y git curl cmake ninja-build nasm libgtk-3-dev libsecret-1-dev libgcrypt20-dev libsystemd-dev freeglut3-dev libpulse-dev`
`sudo apt install -y cmake curl freeglut3-dev git libgcrypt20-dev libgtk-3-dev libpulse-dev libsecret-1-dev libsystemd-dev nasm ninja-build`
*Additionally, for Ubuntu 22.04 only:*
- `sudo apt install -y clang-12`
@@ -33,10 +33,10 @@ To compile Cemu, a recent enough compiler and STL with C++20 support is required
`cmake -S . -B build -DCMAKE_BUILD_TYPE=release -DCMAKE_C_COMPILER=/usr/bin/clang-12 -DCMAKE_CXX_COMPILER=/usr/bin/clang++-12 -G Ninja -DCMAKE_MAKE_PROGRAM=/usr/bin/ninja`
#### For Arch and derivatives:
`sudo pacman -S git cmake clang ninja nasm base-devel linux-headers gtk3 libsecret libgcrypt systemd freeglut zip unzip libpulse`
`sudo pacman -S --needed base-devel clang cmake freeglut git gtk3 libgcrypt libpulse libsecret linux-headers llvm nasm ninja systemd unzip zip`
#### For Fedora and derivatives:
`sudo dnf install git cmake clang ninja-build nasm kernel-headers gtk3-devel libsecret-devel libgcrypt-devel systemd-devel freeglut-devel perl-core zlib-devel cubeb-devel`
`sudo dnf install clang cmake cubeb-devel freeglut-devel git gtk3-devel kernel-headers libgcrypt-devel libsecret-devel nasm ninja-build perl-core systemd-devel zlib-devel`
### Build Cemu using cmake and clang
1. `git clone --recursive https://github.com/cemu-project/Cemu`
@@ -65,7 +65,10 @@ To compile Cemu, a recent enough compiler and STL with C++20 support is required
below, built in LLVM, and Xcode LLVM don't support the C++20 feature set required. Currently,
LLVM 15 isn't supported due to compatibility issues with Boost dependency. The OpenGL graphics
API isn't support on MacOS, Vulkan must be used. Additionally Vulkan must be used through the
Molten-VK compatibility layer.
Molten-VK compatibility layer.
### Installing brew
`/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"`
### Installing dependencies
`brew install git cmake llvm@14 ninja nasm molten-vk`
@@ -73,7 +76,7 @@ Molten-VK compatibility layer.
### Build Cemu using cmake and clang
1. `git clone --recursive https://github.com/cemu-project/Cemu`
2. `cd Cemu`
3. `cmake -S . -B build -DCMAKE_BUILD_TYPE=release -DPUBLIC_RELEASE=ON
3. `cmake -S . -B build -DCMAKE_BUILD_TYPE=release
-DCMAKE_C_COMPILER=/usr/local/opt/llvm@14/bin/clang -DCMAKE_CXX_COMPILER=/usr/local/opt/llvm@14/bin/clang++ -G Ninja`
4. `cmake --build build`
5. You should now have a Cemu executable file in the /bin folder, which you can run using `./bin/Cemu_release`.
+7 -2
View File
@@ -1,6 +1,8 @@
cmake_minimum_required(VERSION 3.21.1)
option(ENABLE_VCPKG "Enable the vcpkg package manager" ON)
option(PORTABLE "All data created and maintained by Cemu will be in the directory where the executable file is located" ON)
option(MACOS_BUNDLE "The executable when built on macOS will be created as an application bundle" OFF)
set(EXPERIMENTAL_VERSION "" CACHE STRING "") # used by CI script to set experimental version
if (EXPERIMENTAL_VERSION)
@@ -19,7 +21,7 @@ if (ENABLE_VCPKG)
endif()
endif()
project(Cemu VERSION 2.0)
project(Cemu VERSION 2.0.0)
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")
@@ -30,6 +32,10 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
add_compile_definitions($<$<CONFIG:Debug>:CEMU_DEBUG_ASSERT>) # if build type is debug, set CEMU_DEBUG_ASSERT
if(PORTABLE)
add_compile_definitions(PORTABLE)
endif()
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
# enable link time optimization for release builds
@@ -83,7 +89,6 @@ find_package(Threads REQUIRED)
find_package(SDL2 REQUIRED)
find_package(CURL REQUIRED)
find_package(pugixml REQUIRED)
find_package(imgui REQUIRED)
find_package(RapidJSON REQUIRED)
find_package(Boost COMPONENTS program_options filesystem nowide REQUIRED)
find_package(libzip REQUIRED)
@@ -1,7 +1 @@
# LEGO City Undercover (USA)
[General]
loadSharedLibraries = false
[Graphics]
GPUBufferCacheAccuracy = 0
# LEGO City Undercover (USA)
@@ -1,7 +1 @@
# LEGO City Undercover (EUR)
[General]
loadSharedLibraries = false
[Graphics]
GPUBufferCacheAccuracy = 0
# LEGO City Undercover (EUR)
@@ -1,5 +1,4 @@
# Monster Hunter 3(tri-)GHD Ver. (JPN)
[Graphics]
GPUBufferCacheAccuracy = 1
streamoutBufferCacheSize = 48
@@ -1,7 +1,4 @@
# Super Mario 3D World (JPN)
[CPU]
[Graphics]
accurateShaderMul = false
GPUBufferCacheAccuracy = 2
@@ -2,6 +2,3 @@
[CPU]
cpuMode = Singlecore-Recompiler
[Graphics]
GPUBufferCacheAccuracy = 2
@@ -1,7 +1 @@
# Scribblenauts Unlimited (EUR)
[General]
loadSharedLibraries = true
[Graphics]
GPUBufferCacheAccuracy = 0
# Scribblenauts Unlimited (EUR)
@@ -1,7 +1 @@
# Ben 10 Omniverse (USA)
[General]
loadSharedLibraries = false
[Graphics]
GPUBufferCacheAccuracy = 0
# Ben 10 Omniverse (USA)
@@ -1,4 +1 @@
# Rayman Legends (USA)
[Graphics]
GPUBufferCacheAccuracy = 0
# Rayman Legends (USA)
@@ -1,7 +1 @@
# Scribblenauts Unlimited (US)
[General]
loadSharedLibraries = true
[Graphics]
GPUBufferCacheAccuracy = 0
# Scribblenauts Unlimited (US)
@@ -1,4 +1 @@
# Mass Effect 3 Special Edition (USA)
[Graphics]
GPUBufferCacheAccuracy = 0
# Mass Effect 3 Special Edition (USA)
@@ -1,4 +1 @@
# ZombiU (US)
[Graphics]
GPUBufferCacheAccuracy = 0
# ZombiU (US)
@@ -1,4 +1 @@
# 007 Legends (US)
[Graphics]
GPUBufferCacheAccuracy = 0
# 007 Legends (US)
@@ -1,7 +1 @@
# Cabela's Dangerous Hunts 2013 (USA)
[General]
loadSharedLibraries = false
[Graphics]
GPUBufferCacheAccuracy = 0
# Cabela's Dangerous Hunts 2013 (USA)

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