Ver código fonte

Merge branch 'master' into 'dev'

Build success for Android and Windows: cleaned up external packages

See merge request suyu-emu/suyu!23
Crimson Hawk 2 anos atrás
pai
commit
ed20ee50f5

+ 5 - 71
.gitmodules

@@ -9,22 +9,22 @@
 	url = https://github.com/mozilla/cubeb.git
 [submodule "dynarmic"]
 	path = externals/dynarmic
-	url = https://github.com/merryhime/dynarmic.git
+	url = https://gitlab.com/suyu-emu/dynarmic.git
 [submodule "libusb"]
 	path = externals/libusb/libusb
 	url = https://github.com/libusb/libusb.git
 [submodule "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"]
 	path = externals/Vulkan-Headers
 	url = https://github.com/KhronosGroup/Vulkan-Headers.git
 [submodule "sirit"]
 	path = externals/sirit
-	url = https://gitlab.com/suyu2/sirit.git
+	url = https://gitlab.com/suyu-emu/sirit.git
 [submodule "mbedtls"]
 	path = externals/mbedtls
-	url = https://gitlab.com/suyu2/mbedtls.git
+	url = https://gitlab.com/suyu-emu/mbedtls.git
 [submodule "xbyak"]
 	path = externals/xbyak
 	url = https://github.com/herumi/xbyak.git
@@ -57,7 +57,7 @@
 	url = https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git
 [submodule "breakpad"]
 	path = externals/breakpad
-	url = https://gitlab.com/suyu2/breakpad.git
+	url = https://gitlab.com/suyu-emu/breakpad.git
 [submodule "simpleini"]
 	path = externals/simpleini
 	url = https://github.com/brofield/simpleini.git
@@ -67,69 +67,3 @@
 [submodule "Vulkan-Utility-Libraries"]
 	path = externals/Vulkan-Utility-Libraries
 	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(NASM_VERSION "2.16.01")
         set(NASM_DESTINATION_PATH ${VCPKG_DOWNLOADS_PATH}/nasm-${NASM_VERSION}-win64.zip)
-        set(NASM_DOWNLOAD_URL "https://github.com/yuzu-emu/ext-windows-bin/raw/master/nasm/nasm-${NASM_VERSION}-win64.zip")
+        set(NASM_DOWNLOAD_URL "https://github.com/yuzu-mirror/ext-windows-bin/raw/master/nasm/nasm-${NASM_VERSION}-win64.zip")
 
         if (NOT EXISTS ${NASM_DESTINATION_PATH})
             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...")
         set(CLANG_FORMAT "${PROJECT_BINARY_DIR}/externals/clang-format${CLANG_FORMAT_POSTFIX}.exe")
         file(DOWNLOAD
-            https://github.com/yuzu-emu/ext-windows-bin/raw/master/clang-format${CLANG_FORMAT_POSTFIX}.exe
+            https://github.com/yuzu-mirror/ext-windows-bin/raw/master/clang-format${CLANG_FORMAT_POSTFIX}.exe
             "${CLANG_FORMAT}" SHOW_PROGRESS
             STATUS DOWNLOAD_SUCCESS)
         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
 function(download_bundled_external remote_path lib_name prefix_var)
 
-set(package_base_url "https://github.com/yuzu-emu/")
+set(package_base_url "https://gitlab.com/suyu-emu/")
 set(package_repo "no_platform")
 set(package_extension "no_platform")
+set(package_head "?ref_type=heads")
 if (WIN32)
-    set(package_repo "ext-windows-bin/raw/master/")
+    set(package_repo "ext-windows-bin/-/raw/master/")
     set(package_extension ".7z")
 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")
 elseif (ANDROID)    
-    set(package_repo "ext-android-bin/raw/main/")
+    set(package_repo "ext-android-bin/-/raw/main/")
     set(package_extension ".tar.xz")
 else()
     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}")
     message(STATUS "Downloading binaries for ${lib_name}...")
     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)
     execute_process(COMMAND ${CMAKE_COMMAND} -E tar xf "${CMAKE_BINARY_DIR}/externals/${lib_name}${package_extension}"
         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
 -->
 
-<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>
@@ -18,7 +18,7 @@ This repo is created based on yuzu EA 4176. Please contribute
   <br>
 </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>
 It is written in C++ with portability in mind, and we actively maintain builds for Windows, Linux and Android.
 </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).
 
-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.
 
 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.

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

@@ -12,8 +12,10 @@ namespace Service {
 
 // clang-format off
 template <typename T>
-struct AutoOut {
-    T raw;
+class AutoOut {
+    public:
+        T raw;
+        AutoOut() : raw() {}
 };
 
 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
 struct BatteryLot {
     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");
 
@@ -477,6 +481,10 @@ static_assert(sizeof(NotificationSettings) == 0x18, "NotificationSettings is an
 /// This is nn::settings::factory::SerialNumber
 struct SerialNumber {
     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");
 

+ 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) {
     LOG_INFO(Service_SET, "called");
 
-    *out_console_serial = {"YUZ10000000001"};
+    *out_console_serial = SerialNumber("YUZ10000000001");
     R_SUCCEED();
 }