Merge branch 'master' into 'dev'

Build success for Android and Windows: cleaned up external packages

See merge request suyu-emu/suyu!23
This commit is contained in:
Crimson Hawk 2024-03-06 07:09:04 +00:00
commit ed20ee50f5
7 changed files with 29 additions and 84 deletions

76
.gitmodules vendored
View file

@ -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

View file

@ -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://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}) 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://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 "${CLANG_FORMAT}" SHOW_PROGRESS
STATUS DOWNLOAD_SUCCESS) STATUS DOWNLOAD_SUCCESS)
if (NOT DOWNLOAD_SUCCESS EQUAL 0) if (NOT DOWNLOAD_SUCCESS EQUAL 0)

View file

@ -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://github.com/yuzu-emu/") 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")

View file

@ -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.

View file

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

View file

@ -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");

View file

@ -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();
} }