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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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