summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnuskuss2022-09-09 20:26:19 +0200
committerAnuskuss2022-09-09 20:26:19 +0200
commit6dca3e40eb28c522e8d46dc423523937aea1d888 (patch)
tree8b19a4ae9e2502034cc8bfd9b3ae866cbad58c77
parent0c2c21cade5f435f62a075cf95391b9ca998e2ea (diff)
downloadaur-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--.SRCINFO10
-rw-r--r--PKGBUILD12
-rw-r--r--case.diff64
-rw-r--r--overlay.diff5
-rw-r--r--xdg.diff6
5 files changed, 36 insertions, 61 deletions
diff --git a/.SRCINFO b/.SRCINFO
index ade5c25fb0cd..54fbf209feb3 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index 5bb5b2f3b49d..f6d807ce7c43 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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 @@
diff --git a/xdg.diff b/xdg.diff
index 77167eed0c18..4208722b09fb 100644
--- a/xdg.diff
+++ b/xdg.diff
@@ -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