33 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
329 changed files with 1885 additions and 1492 deletions
+15 -4
View File
@@ -45,7 +45,7 @@ jobs:
- name: "Install system dependencies" - name: "Install system dependencies"
run: | run: |
sudo apt update -qq 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" - name: "Bootstrap vcpkg"
run: | run: |
bash ./dependencies/vcpkg/bootstrap-vcpkg.sh bash ./dependencies/vcpkg/bootstrap-vcpkg.sh
@@ -162,6 +162,8 @@ jobs:
with: with:
name: cemu-bin-windows-x64 name: cemu-bin-windows-x64
path: ./bin/Cemu.exe path: ./bin/Cemu.exe
build-macos: build-macos:
runs-on: macos-12 runs-on: macos-12
steps: steps:
@@ -213,7 +215,7 @@ jobs:
run: | run: |
mkdir build mkdir build
cd 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" - name: "Build Cemu"
run: | run: |
@@ -221,11 +223,20 @@ jobs:
- name: Prepare artifact - name: Prepare artifact
if: ${{ inputs.deploymode == 'release' }} 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 - name: Upload artifact
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3
if: ${{ inputs.deploymode == 'release' }} if: ${{ inputs.deploymode == 'release' }}
with: with:
name: cemu-bin-macos-x64 name: cemu-bin-macos-x64
path: ./bin/Cemu path: ./bin/Cemu.dmg
@@ -64,13 +64,7 @@ jobs:
rm -r ./${{ env.CEMU_FOLDER_NAME }} rm -r ./${{ env.CEMU_FOLDER_NAME }}
- name: Create release from macos-bin - name: Create release from macos-bin
run: | run: cp cemu-bin-macos-x64/Cemu.dmg upload/cemu-${{ env.CEMU_VERSION }}-macos-12-x64.dmg
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 }}
- name: Create release - name: Create release
run: | run: |
+1 -7
View File
@@ -68,13 +68,7 @@ jobs:
rm -r ./${{ env.CEMU_FOLDER_NAME }} rm -r ./${{ env.CEMU_FOLDER_NAME }}
- name: Create release from macos-bin - name: Create release from macos-bin
run: | run: cp cemu-bin-macos-x64/Cemu.dmg upload/cemu-${{ env.CEMU_VERSION }}-macos-12-x64.dmg
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 }}
- name: Create release - name: Create release
run: | run: |
+3 -3
View File
@@ -25,7 +25,7 @@ To compile Cemu, a recent enough compiler and STL with C++20 support is required
### Installing dependencies ### Installing dependencies
#### For Ubuntu and derivatives: #### 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:* *Additionally, for Ubuntu 22.04 only:*
- `sudo apt install -y clang-12` - `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` `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: #### For Arch and derivatives:
`sudo pacman -S --needed git cmake llvm 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: #### 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 ### Build Cemu using cmake and clang
1. `git clone --recursive https://github.com/cemu-project/Cemu` 1. `git clone --recursive https://github.com/cemu-project/Cemu`
+2 -1
View File
@@ -2,6 +2,7 @@ cmake_minimum_required(VERSION 3.21.1)
option(ENABLE_VCPKG "Enable the vcpkg package manager" ON) 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(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 set(EXPERIMENTAL_VERSION "" CACHE STRING "") # used by CI script to set experimental version
if (EXPERIMENTAL_VERSION) if (EXPERIMENTAL_VERSION)
@@ -20,7 +21,7 @@ if (ENABLE_VCPKG)
endif() endif()
endif() endif()
project(Cemu VERSION 2.0) project(Cemu VERSION 2.0.0)
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake") list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")
@@ -1,7 +1 @@
# LEGO City Undercover (USA) # LEGO City Undercover (USA)
[General]
loadSharedLibraries = false
[Graphics]
GPUBufferCacheAccuracy = 0
@@ -1,7 +1 @@
# LEGO City Undercover (EUR) # LEGO City Undercover (EUR)
[General]
loadSharedLibraries = false
[Graphics]
GPUBufferCacheAccuracy = 0
@@ -1,5 +1,4 @@
# Monster Hunter 3(tri-)GHD Ver. (JPN) # Monster Hunter 3(tri-)GHD Ver. (JPN)
[Graphics] [Graphics]
GPUBufferCacheAccuracy = 1
streamoutBufferCacheSize = 48 streamoutBufferCacheSize = 48
@@ -1,7 +1,4 @@
# Super Mario 3D World (JPN) # Super Mario 3D World (JPN)
[CPU]
[Graphics] [Graphics]
accurateShaderMul = false accurateShaderMul = false
GPUBufferCacheAccuracy = 2
@@ -2,6 +2,3 @@
[CPU] [CPU]
cpuMode = Singlecore-Recompiler cpuMode = Singlecore-Recompiler
[Graphics]
GPUBufferCacheAccuracy = 2
@@ -1,7 +1 @@
# Scribblenauts Unlimited (EUR) # Scribblenauts Unlimited (EUR)
[General]
loadSharedLibraries = true
[Graphics]
GPUBufferCacheAccuracy = 0
@@ -1,7 +1 @@
# Ben 10 Omniverse (USA) # Ben 10 Omniverse (USA)
[General]
loadSharedLibraries = false
[Graphics]
GPUBufferCacheAccuracy = 0
@@ -1,4 +1 @@
# Rayman Legends (USA) # Rayman Legends (USA)
[Graphics]
GPUBufferCacheAccuracy = 0
@@ -1,7 +1 @@
# Scribblenauts Unlimited (US) # Scribblenauts Unlimited (US)
[General]
loadSharedLibraries = true
[Graphics]
GPUBufferCacheAccuracy = 0
@@ -1,4 +1 @@
# Mass Effect 3 Special Edition (USA) # Mass Effect 3 Special Edition (USA)
[Graphics]
GPUBufferCacheAccuracy = 0
@@ -1,4 +1 @@
# ZombiU (US) # ZombiU (US)
[Graphics]
GPUBufferCacheAccuracy = 0
@@ -1,4 +1 @@
# 007 Legends (US) # 007 Legends (US)
[Graphics]
GPUBufferCacheAccuracy = 0
@@ -1,7 +1 @@
# Cabela's Dangerous Hunts 2013 (USA) # Cabela's Dangerous Hunts 2013 (USA)
[General]
loadSharedLibraries = false
[Graphics]
GPUBufferCacheAccuracy = 0
@@ -2,6 +2,3 @@
[CPU] [CPU]
cpuMode = Singlecore-Recompiler cpuMode = Singlecore-Recompiler
[Graphics]
GPUBufferCacheAccuracy = 2
@@ -2,6 +2,3 @@
[CPU] [CPU]
cpuMode = Singlecore-Recompiler cpuMode = Singlecore-Recompiler
[Graphics]
GPUBufferCacheAccuracy = 2

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