diff options
author | Anuskuss | 2022-09-09 20:26:19 +0200 |
---|---|---|
committer | Anuskuss | 2022-09-09 20:26:19 +0200 |
commit | 6dca3e40eb28c522e8d46dc423523937aea1d888 (patch) | |
tree | 8b19a4ae9e2502034cc8bfd9b3ae866cbad58c77 | |
parent | 0c2c21cade5f435f62a075cf95391b9ca998e2ea (diff) | |
download | aur-6dca3e40eb28c522e8d46dc423523937aea1d888.tar.gz |
Updated to latest version (massive improvements!)
Fixes many games which would crash at the start like Captain Toad, Donkey Kong Country, Mario Kart 8 and Yoshi's Woolly World
-rw-r--r-- | .SRCINFO | 10 | ||||
-rw-r--r-- | PKGBUILD | 12 | ||||
-rw-r--r-- | case.diff | 64 | ||||
-rw-r--r-- | overlay.diff | 5 | ||||
-rw-r--r-- | xdg.diff | 6 |
5 files changed, 36 insertions, 61 deletions
@@ -1,6 +1,6 @@ pkgbase = cemu pkgdesc = Software to emulate Wii U games and applications on PC (with cutting edge Linux patches) - pkgver = 2.0.106 + pkgver = 2.0.109 pkgrel = 1 url = https://cemu.info install = cemu.install @@ -23,7 +23,7 @@ pkgbase = cemu depends = libpng depends = wxwidgets-gtk3>=3.2 optdepends = vulkan-driver: Vulkan graphics - source = git+https://github.com/cemu-project/Cemu#commit=1e851fe7e2e7a26e5a97d27fc07ffabec852ca0f + source = git+https://github.com/cemu-project/Cemu#commit=6dda53e84f7200283351a9514b0db569360dbe1a source = imgui-1.88.tar.gz::https://github.com/ocornut/imgui/archive/refs/tags/v1.88.tar.gz source = imgui.cmake::https://raw.githubusercontent.com/microsoft/vcpkg/master/ports/imgui/CMakeLists.txt source = imgui.conf::https://raw.githubusercontent.com/microsoft/vcpkg/master/ports/imgui/imgui-config.cmake.in @@ -42,8 +42,8 @@ pkgbase = cemu sha256sums = SKIP sha256sums = SKIP sha256sums = SKIP - sha256sums = 65a4455f47386475ff1567ba94dbf281b928d52f7d69e4b733d7dc60ef96d1cb - sha256sums = 7ca0223ef7fae14399ca4e0148335052d8d5863d4a41c31ae6f72f26688a6834 - sha256sums = 09d19fd8975a22b10e57066516e76a57b7fbc08efd199c5133e40f1462b13b5f + sha256sums = 3af4bd2757f6053ba30186aaa53ffcb95bb13b98c1d3fabe13cab972697c2e08 + sha256sums = f25d13fe76cc6a0b475f0131211a951288160ddae92cd7a815f5aea61d7cfc0f + sha256sums = aecc99abdf756202f7fb978e69d2745bccc78023ba6c9583942e8faf1304bc49 pkgname = cemu @@ -1,6 +1,6 @@ # Maintainer: Anuskuss <anuskuss@googlemail.com> pkgname=cemu -pkgver=2.0.106 +pkgver=2.0.109 pkgrel=1 pkgdesc='Software to emulate Wii U games and applications on PC (with cutting edge Linux patches)' arch=(x86_64) @@ -25,7 +25,7 @@ optdepends=( ) install=cemu.install source=( - git+https://github.com/cemu-project/Cemu#commit=1e851fe7e2e7a26e5a97d27fc07ffabec852ca0f + git+https://github.com/cemu-project/Cemu#commit=6dda53e84f7200283351a9514b0db569360dbe1a # dependencies imgui-1.88.tar.gz::https://github.com/ocornut/imgui/archive/refs/tags/v1.88.tar.gz imgui.cmake::https://raw.githubusercontent.com/microsoft/vcpkg/master/ports/imgui/CMakeLists.txt @@ -41,7 +41,7 @@ source=( # patches xdg.diff # 963f9b38349c5d03b26ab2a50ead2ee4e743ca41 overlay.diff # edeb14d4c68ee8bf500b990b13079177e01c25f1 - case.diff # dfe35375b72da312f5a70784f771938580cae4fe + case.diff # 4f3025ec3ac1644cd469d895cd10237e36e8e36c ) sha256sums=( SKIP @@ -52,9 +52,9 @@ sha256sums=( SKIP SKIP SKIP - 65a4455f47386475ff1567ba94dbf281b928d52f7d69e4b733d7dc60ef96d1cb - 7ca0223ef7fae14399ca4e0148335052d8d5863d4a41c31ae6f72f26688a6834 - 09d19fd8975a22b10e57066516e76a57b7fbc08efd199c5133e40f1462b13b5f + 3af4bd2757f6053ba30186aaa53ffcb95bb13b98c1d3fabe13cab972697c2e08 + f25d13fe76cc6a0b475f0131211a951288160ddae92cd7a815f5aea61d7cfc0f + aecc99abdf756202f7fb978e69d2745bccc78023ba6c9583942e8faf1304bc49 ) pkgver() { diff --git a/case.diff b/case.diff index d01b5da0d8bf..b6acf46054c7 100644 --- a/case.diff +++ b/case.diff @@ -1,67 +1,47 @@ --- a/src/Common/unix/FileStream_unix.cpp +++ b/src/Common/unix/FileStream_unix.cpp -@@ -1,5 +1,31 @@ +@@ -1,5 +1,26 @@ #include "Common/unix/FileStream_unix.h" -+std::optional<fs::path> findPathCI(const fs::path& path) ++fs::path findPathCI(const fs::path& path) +{ + if (fs::exists(path)) return path; -+ if (!path.has_parent_path()) return {}; -+ auto parrentPath = path.parent_path(); -+ if (!fs::exists(parrentPath)) ++ ++ fs::path fName = path.filename(); ++ fs::path parentPath = path.parent_path(); ++ if (!fs::exists(parentPath)) + { -+ auto tempParrentPath = findPathCI(parrentPath); -+ if (tempParrentPath.has_value()) -+ parrentPath = std::move(tempParrentPath.value()); -+ else -+ return {}; ++ auto CIParent = findPathCI(parentPath); ++ if (fs::exists(CIParent)) ++ return findPathCI(CIParent / fName); + } -+ std::string fName = path.filename().string(); -+ if (fs::exists(parrentPath)) -+ for (auto&& dirEntry : fs::directory_iterator(parrentPath)) -+ { -+ std::string dirFName = dirEntry.path().filename().string(); -+ if (boost::iequals(dirFName, fName)) -+ { -+ return dirEntry; -+ } -+ } -+ return parrentPath / fName; ++ ++ std::error_code listErr; ++ for (auto&& dirEntry : fs::directory_iterator(parentPath, listErr)) ++ if (boost::iequals(dirEntry.path().filename().string(), fName.string())) ++ return dirEntry; ++ ++ return parentPath / fName; +} + FileStream* FileStream::openFile(std::string_view path) { return openFile2(path, false); -@@ -13,7 +39,7 @@ FileStream* FileStream::openFile(const wchar_t* path, bool allowWrite) - FileStream* FileStream::openFile2(const fs::path& path, bool allowWrite) - { - //return openFile(path.generic_wstring().c_str(), allowWrite); -- FileStream* fs = new FileStream(path, true, allowWrite); -+ FileStream* fs = new FileStream(findPathCI(path).value_or(path), true, allowWrite); - if (fs->m_isValid) - return fs; - delete fs; -@@ -32,7 +58,7 @@ FileStream* FileStream::createFile(std::string_view path) +@@ -188,14 +209,15 @@ FileStream::~FileStream() - FileStream* FileStream::createFile2(const fs::path& path) - { -- FileStream* fs = new FileStream(path, false, false); -+ FileStream* fs = new FileStream(findPathCI(path).value_or(path), false, false); - if (fs->m_isValid) - return fs; - delete fs; -@@ -190,12 +216,12 @@ FileStream::FileStream(const fs::path& path, bool isOpen, bool isWriteable) + FileStream::FileStream(const fs::path& path, bool isOpen, bool isWriteable) { ++ fs::path CIPath = findPathCI(path); if (isOpen) { - m_fileStream.open(path, isWriteable ? (std::ios_base::in | std::ios_base::out | std::ios_base::binary) : (std::ios_base::in | std::ios_base::binary)); -+ m_fileStream.open(findPathCI(path).value_or(path), isWriteable ? (std::ios_base::in | std::ios_base::out | std::ios_base::binary) : (std::ios_base::in | std::ios_base::binary)); ++ m_fileStream.open(CIPath, isWriteable ? (std::ios_base::in | std::ios_base::out | std::ios_base::binary) : (std::ios_base::in | std::ios_base::binary)); m_isValid = m_fileStream.is_open(); } else { - m_fileStream.open(path, std::ios_base::in | std::ios_base::out | std::ios_base::binary | std::ios_base::trunc); -+ m_fileStream.open(findPathCI(path).value_or(path), std::ios_base::in | std::ios_base::out | std::ios_base::binary | std::ios_base::trunc); ++ m_fileStream.open(CIPath, std::ios_base::in | std::ios_base::out | std::ios_base::binary | std::ios_base::trunc); m_isValid = m_fileStream.is_open(); } - } + if(m_isValid && fs::is_directory(path)) diff --git a/overlay.diff b/overlay.diff index 6be6cde2c278..7ef31cf81880 100644 --- a/overlay.diff +++ b/overlay.diff @@ -147,7 +147,6 @@ // update vram g_renderer->GetVRAMInfo(g_state.vramUsage, g_state.vramTotal); -new file mode 100644 --- /dev/null +++ b/src/util/SystemInfo/SystemInfo.cpp @@ -0,0 +1,34 @@ @@ -186,7 +185,6 @@ new file mode 100644 + out.user = user; +} \ No newline at end of file -new file mode 100644 --- /dev/null +++ b/src/util/SystemInfo/SystemInfo.h @@ -0,0 +1,17 @@ @@ -208,7 +206,6 @@ new file mode 100644 +void QueryProcTime(ProcessorTime &out); +void QueryCoreTimes(uint32 count, ProcessorTime out[]); \ No newline at end of file -new file mode 100644 --- /dev/null +++ b/src/util/SystemInfo/SystemInfoLinux.cpp @@ -0,0 +1,67 @@ @@ -280,7 +277,6 @@ new file mode 100644 + +#endif \ No newline at end of file -new file mode 100644 --- /dev/null +++ b/src/util/SystemInfo/SystemInfoStub.cpp @@ -0,0 +1,25 @@ @@ -310,7 +306,6 @@ new file mode 100644 + +#endif \ No newline at end of file -new file mode 100644 --- /dev/null +++ b/src/util/SystemInfo/SystemInfoWin.cpp @@ -0,0 +1,72 @@ @@ -603,7 +603,7 @@ if(sbNameLen == 0) --- a/src/gui/MainWindow.cpp +++ b/src/gui/MainWindow.cpp -@@ -997,7 +997,7 @@ void MainWindow::OnDebugSetting(wxCommandEvent& event) +@@ -999,7 +999,7 @@ void MainWindow::OnDebugSetting(wxCommandEvent& event) { try { @@ -612,7 +612,7 @@ fs::create_directories(path); } catch (const std::exception& ex) -@@ -1054,8 +1054,8 @@ void MainWindow::OnDebugDumpUsedTextures(wxCommandEvent& event) +@@ -1056,8 +1056,8 @@ void MainWindow::OnDebugDumpUsedTextures(wxCommandEvent& event) try { // create directory @@ -623,7 +623,7 @@ } catch (const std::exception& ex) { -@@ -1075,8 +1075,8 @@ void MainWindow::OnDebugDumpUsedShaders(wxCommandEvent& event) +@@ -1077,8 +1077,8 @@ void MainWindow::OnDebugDumpUsedShaders(wxCommandEvent& event) try { // create directory |