Browse Source

Merge remote-tracking branch 'origin/dev' into fix-windows

Andrea V 2 years ago
parent
commit
4b917ac0c7

+ 5 - 71
.gitmodules

@@ -9,22 +9,22 @@
 	url = https://github.com/mozilla/cubeb.git
 	url = https://github.com/mozilla/cubeb.git
 [submodule "dynarmic"]
 [submodule "dynarmic"]
 	path = externals/dynarmic
 	path = externals/dynarmic
-	url = https://github.com/merryhime/dynarmic.git
+	url = https://gitlab.com/suyu-emu/dynarmic.git
 [submodule "libusb"]
 [submodule "libusb"]
 	path = externals/libusb/libusb
 	path = externals/libusb/libusb
 	url = https://github.com/libusb/libusb.git
 	url = https://github.com/libusb/libusb.git
 [submodule "discord-rpc"]
 [submodule "discord-rpc"]
 	path = externals/discord-rpc
 	path = externals/discord-rpc
-	url = https://gitlab.com/suyu2/discord-rpc.git
+	url = https://gitlab.com/suyu-emu/discord-rpc.git
 [submodule "Vulkan-Headers"]
 [submodule "Vulkan-Headers"]
 	path = externals/Vulkan-Headers
 	path = externals/Vulkan-Headers
 	url = https://github.com/KhronosGroup/Vulkan-Headers.git
 	url = https://github.com/KhronosGroup/Vulkan-Headers.git
 [submodule "sirit"]
 [submodule "sirit"]
 	path = externals/sirit
 	path = externals/sirit
-	url = https://gitlab.com/suyu2/sirit.git
+	url = https://gitlab.com/suyu-emu/sirit.git
 [submodule "mbedtls"]
 [submodule "mbedtls"]
 	path = externals/mbedtls
 	path = externals/mbedtls
-	url = https://gitlab.com/suyu2/mbedtls.git
+	url = https://gitlab.com/suyu-emu/mbedtls.git
 [submodule "xbyak"]
 [submodule "xbyak"]
 	path = externals/xbyak
 	path = externals/xbyak
 	url = https://github.com/herumi/xbyak.git
 	url = https://github.com/herumi/xbyak.git
@@ -57,7 +57,7 @@
 	url = https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git
 	url = https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git
 [submodule "breakpad"]
 [submodule "breakpad"]
 	path = externals/breakpad
 	path = externals/breakpad
-	url = https://gitlab.com/suyu2/breakpad.git
+	url = https://gitlab.com/suyu-emu/breakpad.git
 [submodule "simpleini"]
 [submodule "simpleini"]
 	path = externals/simpleini
 	path = externals/simpleini
 	url = https://github.com/brofield/simpleini.git
 	url = https://github.com/brofield/simpleini.git
@@ -67,69 +67,3 @@
 [submodule "Vulkan-Utility-Libraries"]
 [submodule "Vulkan-Utility-Libraries"]
 	path = externals/Vulkan-Utility-Libraries
 	path = externals/Vulkan-Utility-Libraries
 	url = https://github.com/KhronosGroup/Vulkan-Utility-Libraries.git
 	url = https://github.com/KhronosGroup/Vulkan-Utility-Libraries.git
-[submodule "externals/cubeb"]
-	path = externals/cubeb
-	url = https://github.com/mozilla/cubeb.git
-[submodule "externals/Vulkan-Headers"]
-	path = externals/Vulkan-Headers
-	url = https://github.com/KhronosGroup/Vulkan-Headers.git
-[submodule "externals/breakpad"]
-	path = externals/breakpad
-	url = https://gitlab.com/suyu2/breakpad.git
-[submodule "externals/VulkanMemoryAllocator"]
-	path = externals/VulkanMemoryAllocator
-	url = https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git
-[submodule "externals/SDL"]
-	path = externals/SDL
-	url = https://github.com/libsdl-org/SDL.git
-[submodule "externals/mbedtls"]
-	path = externals/mbedtls
-	url = https://gitlab.com/suyu2/mbedtls.git
-[submodule "externals/Vulkan-Utility-Libraries"]
-	path = externals/Vulkan-Utility-Libraries
-	url = https://github.com/KhronosGroup/Vulkan-Utility-Libraries.git
-[submodule "externals/oaknut"]
-	path = externals/oaknut
-	url = https://github.com/merryhime/oaknut.git
-[submodule "externals/sirit"]
-	path = externals/sirit
-	url = https://gitlab.com/suyu2/sirit.git
-[submodule "externals/enet"]
-	path = externals/enet
-	url = https://github.com/lsalzman/enet.git
-[submodule "externals/opus"]
-	path = externals/opus
-	url = https://github.com/xiph/opus.git
-[submodule "externals/xbyak"]
-	path = externals/xbyak
-	url = https://github.com/herumi/xbyak.git
-[submodule "externals/simpleini"]
-	path = externals/simpleini
-	url = https://github.com/brofield/simpleini.git
-[submodule "externals/nx_tzdb/tzdb_to_nx"]
-	path = externals/nx_tzdb/tzdb_to_nx
-	url = https://github.com/lat9nq/tzdb_to_nx.git
-[submodule "externals/cpp-jwt"]
-	path = externals/cpp-jwt
-	url = https://github.com/arun11299/cpp-jwt.git
-[submodule "externals/vcpkg"]
-	path = externals/vcpkg
-	url = https://github.com/microsoft/vcpkg.git
-[submodule "externals/cpp-httplib"]
-	path = externals/cpp-httplib
-	url = https://github.com/yhirose/cpp-httplib.git
-[submodule "externals/libusb/libusb"]
-	path = externals/libusb/libusb
-	url = https://github.com/libusb/libusb.git
-[submodule "externals/discord-rpc"]
-	path = externals/discord-rpc
-	url = https://gitlab.com/suyu2/discord-rpc.git
-[submodule "externals/libadrenotools"]
-	path = externals/libadrenotools
-	url = https://github.com/bylaws/libadrenotools.git
-[submodule "externals/ffmpeg/ffmpeg"]
-	path = externals/ffmpeg/ffmpeg
-	url = https://github.com/FFmpeg/FFmpeg.git
-[submodule "externals/dynarmic"]
-	path = externals/dynarmic
-	url = https://gitlab.com/suyu2/dynarmic.git

+ 2 - 2
CMakeLists.txt

@@ -126,7 +126,7 @@ if (YUZU_USE_BUNDLED_VCPKG)
         set(VCPKG_DOWNLOADS_PATH ${PROJECT_SOURCE_DIR}/externals/vcpkg/downloads)
         set(VCPKG_DOWNLOADS_PATH ${PROJECT_SOURCE_DIR}/externals/vcpkg/downloads)
         set(NASM_VERSION "2.16.01")
         set(NASM_VERSION "2.16.01")
         set(NASM_DESTINATION_PATH ${VCPKG_DOWNLOADS_PATH}/nasm-${NASM_VERSION}-win64.zip)
         set(NASM_DESTINATION_PATH ${VCPKG_DOWNLOADS_PATH}/nasm-${NASM_VERSION}-win64.zip)
-        set(NASM_DOWNLOAD_URL "https://gitlab.com/curlyhacks/ext-windows-bin/raw/master/nasm/nasm-${NASM_VERSION}-win64.zip")
+        set(NASM_DOWNLOAD_URL "https://gitlab.com/suyu-emu/ext-windows-bin/raw/master/nasm/nasm-${NASM_VERSION}-win64.zip")
 
 
         if (NOT EXISTS ${NASM_DESTINATION_PATH})
         if (NOT EXISTS ${NASM_DESTINATION_PATH})
             file(DOWNLOAD ${NASM_DOWNLOAD_URL} ${NASM_DESTINATION_PATH} SHOW_PROGRESS STATUS NASM_STATUS)
             file(DOWNLOAD ${NASM_DOWNLOAD_URL} ${NASM_DESTINATION_PATH} SHOW_PROGRESS STATUS NASM_STATUS)
@@ -620,7 +620,7 @@ if (NOT CLANG_FORMAT)
         message(STATUS "Clang format not found! Downloading...")
         message(STATUS "Clang format not found! Downloading...")
         set(CLANG_FORMAT "${PROJECT_BINARY_DIR}/externals/clang-format${CLANG_FORMAT_POSTFIX}.exe")
         set(CLANG_FORMAT "${PROJECT_BINARY_DIR}/externals/clang-format${CLANG_FORMAT_POSTFIX}.exe")
         file(DOWNLOAD
         file(DOWNLOAD
-            https://gitlab.com/curlyhacks/ext-windows-bin/raw/master/clang-format${CLANG_FORMAT_POSTFIX}.exe
+            https://gitlab.com/suyu-emu/ext-windows-bin/raw/master/clang-format${CLANG_FORMAT_POSTFIX}.exe
             "${CLANG_FORMAT}" SHOW_PROGRESS
             "${CLANG_FORMAT}" SHOW_PROGRESS
             STATUS DOWNLOAD_SUCCESS)
             STATUS DOWNLOAD_SUCCESS)
         if (NOT DOWNLOAD_SUCCESS EQUAL 0)
         if (NOT DOWNLOAD_SUCCESS EQUAL 0)

+ 6 - 5
CMakeModules/DownloadExternals.cmake

@@ -7,17 +7,18 @@
 #   prefix_var: name of a variable which will be set with the path to the extracted contents
 #   prefix_var: name of a variable which will be set with the path to the extracted contents
 function(download_bundled_external remote_path lib_name prefix_var)
 function(download_bundled_external remote_path lib_name prefix_var)
 
 
-set(package_base_url "https://gitlab.com/curlyhacks/")
+set(package_base_url "https://gitlab.com/suyu-emu/")
 set(package_repo "no_platform")
 set(package_repo "no_platform")
 set(package_extension "no_platform")
 set(package_extension "no_platform")
+set(package_head "?ref_type=heads")
 if (WIN32)
 if (WIN32)
-    set(package_repo "ext-windows-bin/raw/master/")
+    set(package_repo "ext-windows-bin/-/raw/master/")
     set(package_extension ".7z")
     set(package_extension ".7z")
 elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
 elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
-    set(package_repo "ext-linux-bin/raw/main/")
+    set(package_repo "ext-linux-bin/-/raw/main/")
     set(package_extension ".tar.xz")
     set(package_extension ".tar.xz")
 elseif (ANDROID)    
 elseif (ANDROID)    
-    set(package_repo "ext-android-bin/raw/main/")
+    set(package_repo "ext-android-bin/-/raw/main/")
     set(package_extension ".tar.xz")
     set(package_extension ".tar.xz")
 else()
 else()
     message(FATAL_ERROR "No package available for this platform")
     message(FATAL_ERROR "No package available for this platform")
@@ -28,7 +29,7 @@ set(prefix "${CMAKE_BINARY_DIR}/externals/${lib_name}")
 if (NOT EXISTS "${prefix}")
 if (NOT EXISTS "${prefix}")
     message(STATUS "Downloading binaries for ${lib_name}...")
     message(STATUS "Downloading binaries for ${lib_name}...")
     file(DOWNLOAD
     file(DOWNLOAD
-        ${package_url}${remote_path}${lib_name}${package_extension}
+        ${package_url}${remote_path}${lib_name}${package_extension}${package_head}
         "${CMAKE_BINARY_DIR}/externals/${lib_name}${package_extension}" SHOW_PROGRESS)
         "${CMAKE_BINARY_DIR}/externals/${lib_name}${package_extension}" SHOW_PROGRESS)
     execute_process(COMMAND ${CMAKE_COMMAND} -E tar xf "${CMAKE_BINARY_DIR}/externals/${lib_name}${package_extension}"
     execute_process(COMMAND ${CMAKE_COMMAND} -E tar xf "${CMAKE_BINARY_DIR}/externals/${lib_name}${package_extension}"
         WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/externals")
         WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/externals")

+ 3 - 3
README.md

@@ -3,7 +3,7 @@ SPDX-FileCopyrightText: 2024 suyu emulator project
 SPDX-License-Identifier: GPL v3
 SPDX-License-Identifier: GPL v3
 -->
 -->
 
 
-<h4>This project DOES NOT suppot piracy, you are required to source your own games and keys, we make no money off this project (mainly so that Nintendon't sue us lol)</h4>
+<h4>This project DOES NOT support piracy, you are required to source your own games and keys, we make no money off this project (mainly so that Nintendo won't sue us lol)</h4>
 
 
 
 
 We are in great need of developers, join our discord server at <a href="https://discord.gg/2gQRBp44KT">https://discord.gg/2gQRBp44KT</a>
 We are in great need of developers, join our discord server at <a href="https://discord.gg/2gQRBp44KT">https://discord.gg/2gQRBp44KT</a>
@@ -18,7 +18,7 @@ This repo is created based on yuzu EA 4176. Please contribute
   <br>
   <br>
 </h1>
 </h1>
 
 
-<h4 align="center"><b>suyu</b>, prounced "sue-you" is the afterlife the world's most popular, open-source, Nintendo Switch emulator — started by the creators of <a href="https://citra-emu.org" target="_blank">Citra</a>.
+<h4 align="center"><b>suyu</b>, pronounced "sue-you" is the afterlife the world's most popular, open-source, Nintendo Switch emulator — started by the creators of <a href="https://citra-emu.org" target="_blank">Citra</a>.
 <br>
 <br>
 It is written in C++ with portability in mind, and we actively maintain builds for Windows, Linux and Android.
 It is written in C++ with portability in mind, and we actively maintain builds for Windows, Linux and Android.
 </h4>
 </h4>
@@ -65,7 +65,7 @@ This project is completely free and open source, this project is made possible b
 
 
 Most of the development happens on GitHub. For development discussion, please join us on [Discord](https://discord.gg/2gQRBp44KT).
 Most of the development happens on GitHub. For development discussion, please join us on [Discord](https://discord.gg/2gQRBp44KT).
 
 
-If you want to contribute, please take a look at the [Contributor's Guide](https://github.com/suyu-emu/suyu/wiki/Contributing) and [Developer Information](https://github.com/suyu-emu/suyu/wiki/Developer-Information).
+If you want to contribute, please take a look at the [Contributor's Guide](https://gitlab.com/suyu-emu/suyu/-/wikis/Contributing) and [Developer Information](https://gitlab.com/suyu-emu/suyu/-/wikis/Developer-Information).
 You can also contact any of the developers on Discord in order to know about the current state of the emulator.
 You can also contact any of the developers on Discord in order to know about the current state of the emulator.
 
 
 If you want to contribute to the user interface translation project, please check out the [suyu project on transifex](https://www.transifex.com/suyu-emulator/suyu). We centralize translation work there, and periodically upstream translations.
 If you want to contribute to the user interface translation project, please check out the [suyu project on transifex](https://www.transifex.com/suyu-emulator/suyu). We centralize translation work there, and periodically upstream translations.

+ 2 - 2
src/common/fs/fs_paths.h

@@ -5,7 +5,7 @@
 
 
 // yuzu data directories
 // yuzu data directories
 
 
-#define YUZU_DIR "yuzu"
+#define YUZU_DIR "suyu"
 #define PORTABLE_DIR "user"
 #define PORTABLE_DIR "user"
 
 
 // Sub-directories contained within a yuzu data directory
 // Sub-directories contained within a yuzu data directory
@@ -28,4 +28,4 @@
 
 
 // yuzu-specific files
 // yuzu-specific files
 
 
-#define LOG_FILE "yuzu_log.txt"
+#define LOG_FILE "suyu_log.txt"

+ 4 - 2
src/core/hle/service/cmif_types.h

@@ -12,8 +12,10 @@ namespace Service {
 
 
 // clang-format off
 // clang-format off
 template <typename T>
 template <typename T>
-struct AutoOut {
-    T raw;
+class AutoOut {
+    public:
+        T raw;
+        AutoOut() : raw() {}
 };
 };
 
 
 template <typename T>
 template <typename T>

+ 8 - 0
src/core/hle/service/set/settings_types.h

@@ -401,6 +401,10 @@ static_assert(sizeof(AccountNotificationSettings) == 0x18,
 /// This is nn::settings::factory::BatteryLot
 /// This is nn::settings::factory::BatteryLot
 struct BatteryLot {
 struct BatteryLot {
     std::array<char, 0x18> lot_number;
     std::array<char, 0x18> lot_number;
+    BatteryLot() = default;
+    BatteryLot(const char* str) {
+        std::copy(str, str + std::min(sizeof(lot_number), strlen(str)), lot_number.begin());
+    }
 };
 };
 static_assert(sizeof(BatteryLot) == 0x18, "BatteryLot is an invalid size");
 static_assert(sizeof(BatteryLot) == 0x18, "BatteryLot is an invalid size");
 
 
@@ -477,6 +481,10 @@ static_assert(sizeof(NotificationSettings) == 0x18, "NotificationSettings is an
 /// This is nn::settings::factory::SerialNumber
 /// This is nn::settings::factory::SerialNumber
 struct SerialNumber {
 struct SerialNumber {
     std::array<char, 0x18> serial_number;
     std::array<char, 0x18> serial_number;
+    SerialNumber() = default;
+    SerialNumber(const char* str) {
+        std::copy(str, str + std::min(sizeof(serial_number), strlen(str)), serial_number.begin());
+    }
 };
 };
 static_assert(sizeof(SerialNumber) == 0x18, "SerialNumber is an invalid size");
 static_assert(sizeof(SerialNumber) == 0x18, "SerialNumber is an invalid size");
 
 

+ 1 - 1
src/core/hle/service/set/system_settings_server.cpp

@@ -939,7 +939,7 @@ Result ISystemSettingsServer::GetBatteryLot(Out<BatteryLot> out_battery_lot) {
 Result ISystemSettingsServer::GetSerialNumber(Out<SerialNumber> out_console_serial) {
 Result ISystemSettingsServer::GetSerialNumber(Out<SerialNumber> out_console_serial) {
     LOG_INFO(Service_SET, "called");
     LOG_INFO(Service_SET, "called");
 
 
-    *out_console_serial = {"YUZ10000000001"};
+    *out_console_serial = SerialNumber("YUZ10000000001");
     R_SUCCEED();
     R_SUCCEED();
 }
 }