diff --git a/.ci/scripts/linux/upload.sh b/.ci/scripts/linux/upload.sh index fbb2d9c1b0..ef8115b336 100755 --- a/.ci/scripts/linux/upload.sh +++ b/.ci/scripts/linux/upload.sh @@ -3,6 +3,8 @@ # SPDX-FileCopyrightText: 2019 yuzu Emulator Project # SPDX-License-Identifier: GPL-2.0-or-later +# Modified by JuanCStar on 2024/03/06 + . .ci/scripts/common/pre-upload.sh APPIMAGE_NAME="yuzu-${RELEASE_NAME}-${GITDATE}-${GITREV}.AppImage" @@ -37,7 +39,7 @@ fi # Don't let AppImageLauncher ask to integrate EA if [ "${RELEASE_NAME}" = "mainline" ] || [ "${RELEASE_NAME}" = "early-access" ]; then - echo "X-AppImage-Integrate=false" >> AppDir/org.yuzu_emu.yuzu.desktop + echo "X-AppImage-Integrate=false" >> AppDir/org.suyu_emu.suyu.desktop fi if [ "${RELEASE_NAME}" = "mainline" ]; then diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000000..2a47a72a60 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,45 @@ +# This file is a template, and might need editing before it works on your project. +# This is a sample GitLab CI/CD configuration file that should run without any modifications. +# It demonstrates a basic 3 stage CI/CD pipeline. Instead of real tests or scripts, +# it uses echo commands to simulate the pipeline execution. +# +# A pipeline is composed of independent jobs that run scripts, grouped into stages. +# Stages run in sequential order, but jobs within stages run in parallel. +# +# For more information, see: https://docs.gitlab.com/ee/ci/yaml/index.html#stages +# +# You can copy and paste this template into a new `.gitlab-ci.yml` file. +# You should not add this template to an existing `.gitlab-ci.yml` file by using the `include:` keyword. +# +# To contribute improvements to CI/CD templates, please follow the Development guide at: +# https://docs.gitlab.com/ee/development/cicd/templates.html +# This specific template is located at: +# https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Getting-Started.gitlab-ci.yml + +stages: # List of stages for jobs, and their order of execution + - build + +build-ubuntu: # This job runs in the build stage, which runs first. + stage: build + image: ubuntu:latest # Maybe replace with image with more required dependencies + before_script: + - apt update --yes + - apt install --yes cmake gcc g++ git + script: + - echo "Compiling the code..." + - git submodule update --init --recursive + - ls -la + # TODO: Add build instructions for linux + - echo "Compile complete." + +build-win: + stage: build + tags: + - shared-windows + - windows + - windows-1809 + script: + - echo "Compiling the code..." + - dir + # TODO: Add build instructions for windows + - echo "Compile complete." \ No newline at end of file diff --git a/.reuse/dep5 b/.reuse/dep5 index b9ae96d0b1..5b6eea8bfd 100644 --- a/.reuse/dep5 +++ b/.reuse/dep5 @@ -9,15 +9,15 @@ Files: dist/english_plurals/* dist/qt_themes/*/icons/48x48/sd_card.png dist/qt_themes/*/icons/index.theme dist/qt_themes/default/style.qss -Copyright: yuzu Emulator Project +Copyright: suyu Emulator Project License: GPL-2.0-or-later Files: dist/qt_themes/default/icons/256x256/yuzu.png dist/yuzu.bmp dist/yuzu.icns - dist/yuzu.ico - dist/yuzu.svg -Copyright: yuzu Emulator Project + dist/suyu.ico + dist/suyu.svg +Copyright: suyu Emulator Project License: GPL-2.0-or-later Files: dist/qt_themes/qdarkstyle*/LICENSE.* diff --git a/CMakeLists.txt b/CMakeLists.txt index 8c35b22299..94a67a64f0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,8 @@ # SPDX-FileCopyrightText: 2018 yuzu Emulator Project # SPDX-License-Identifier: GPL-2.0-or-later +# Modified by JuanCStar on 2024/03/06 + cmake_minimum_required(VERSION 3.22) project(yuzu) @@ -126,7 +128,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-mirror/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}) file(DOWNLOAD ${NASM_DOWNLOAD_URL} ${NASM_DESTINATION_PATH} SHOW_PROGRESS STATUS NASM_STATUS) @@ -620,7 +622,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-mirror/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 STATUS DOWNLOAD_SUCCESS) if (NOT DOWNLOAD_SUCCESS EQUAL 0) @@ -720,13 +722,13 @@ endif() # https://specifications.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-latest.html # https://www.freedesktop.org/software/appstream/docs/ if(ENABLE_QT AND UNIX AND NOT APPLE) - install(FILES "dist/org.yuzu_emu.yuzu.desktop" + install(FILES "dist/org.suyu_emu.suyu.desktop" DESTINATION "share/applications") - install(FILES "dist/yuzu.svg" + install(FILES "dist/suyu.svg" DESTINATION "share/icons/hicolor/scalable/apps" - RENAME "org.yuzu_emu.yuzu.svg") - install(FILES "dist/org.yuzu_emu.yuzu.xml" + RENAME "org.suyu_emu.suyu.svg") + install(FILES "dist/org.suyu_emu.suyu.xml" DESTINATION "share/mime/packages") - install(FILES "dist/org.yuzu_emu.yuzu.metainfo.xml" + install(FILES "dist/org.suyu_emu.suyu.metainfo.xml" DESTINATION "share/metainfo") endif() diff --git a/CMakeModules/CopyYuzuQt5Deps.cmake b/CMakeModules/CopyYuzuQt5Deps.cmake index b3a65c3476..614499a236 100644 --- a/CMakeModules/CopyYuzuQt5Deps.cmake +++ b/CMakeModules/CopyYuzuQt5Deps.cmake @@ -3,21 +3,25 @@ function(copy_yuzu_Qt5_deps target_dir) include(WindowsCopyFiles) + set(Qt5_BASE_PATH "${Qt5_DIR}/../../..") + if (NOT EXISTS "${Qt5_BASE_PATH}/bin") + set(Qt5_BASE_PATH "${Qt5_DIR}/../../qt5") + endif() if (MSVC) set(DLL_DEST "$/") - set(Qt5_DLL_DIR "${Qt5_DIR}/../../../bin") + set(Qt5_DLL_DIR "${Qt5_BASE_PATH}/bin") else() set(DLL_DEST "${CMAKE_BINARY_DIR}/bin/") - set(Qt5_DLL_DIR "${Qt5_DIR}/../../../lib/") + set(Qt5_DLL_DIR "${Qt5_BASE_PATH}/lib/") endif() - set(Qt5_PLATFORMS_DIR "${Qt5_DIR}/../../../plugins/platforms/") - set(Qt5_PLATFORMTHEMES_DIR "${Qt5_DIR}/../../../plugins/platformthemes/") - set(Qt5_PLATFORMINPUTCONTEXTS_DIR "${Qt5_DIR}/../../../plugins/platforminputcontexts/") - set(Qt5_MEDIASERVICE_DIR "${Qt5_DIR}/../../../plugins/mediaservice/") - set(Qt5_XCBGLINTEGRATIONS_DIR "${Qt5_DIR}/../../../plugins/xcbglintegrations/") - set(Qt5_STYLES_DIR "${Qt5_DIR}/../../../plugins/styles/") - set(Qt5_IMAGEFORMATS_DIR "${Qt5_DIR}/../../../plugins/imageformats/") - set(Qt5_RESOURCES_DIR "${Qt5_DIR}/../../../resources/") + set(Qt5_PLATFORMS_DIR "${Qt5_BASE_PATH}/plugins/platforms/") + set(Qt5_PLATFORMTHEMES_DIR "${Qt5_BASE_PATH}/plugins/platformthemes/") + set(Qt5_PLATFORMINPUTCONTEXTS_DIR "${Qt5_BASE_PATH}/plugins/platforminputcontexts/") + set(Qt5_MEDIASERVICE_DIR "${Qt5_BASE_PATH}/plugins/mediaservice/") + set(Qt5_XCBGLINTEGRATIONS_DIR "${Qt5_BASE_PATH}/plugins/xcbglintegrations/") + set(Qt5_STYLES_DIR "${Qt5_BASE_PATH}/plugins/styles/") + set(Qt5_IMAGEFORMATS_DIR "${Qt5_BASE_PATH}/plugins/imageformats/") + set(Qt5_RESOURCES_DIR "${Qt5_BASE_PATH}/resources/") set(PLATFORMS ${DLL_DEST}plugins/platforms/) set(MEDIASERVICE ${DLL_DEST}mediaservice/) set(STYLES ${DLL_DEST}plugins/styles/) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 1860f8cffc..c22a7531c7 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -3,4 +3,7 @@ SPDX-FileCopyrightText: 2018 yuzu Emulator Project SPDX-License-Identifier: GPL-2.0-or-later --> -**The Contributor's Guide has moved to [the yuzu wiki](https://github.com/yuzu-emu/yuzu/wiki/Contributing).** +Please check out the + + * [Conributors's guide](https://gitlab.com/suyu2/suyu/-/wikis/Contributing). + * [Merge request guidelines](https://gitlab.com/suyu-emu/suyu/-/wikis/Merge-requests) diff --git a/README.md b/README.md index cd7cc7a257..f5b27978ef 100644 --- a/README.md +++ b/README.md @@ -3,41 +3,31 @@ SPDX-FileCopyrightText: 2024 suyu emulator project SPDX-License-Identifier: GPL v3 --> -

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)

+**Note**: We do not support or condone piracy in any form. In order to use Suyu, you'll need keys from your real Switch system, and games which you have legally obtained and paid for. We do not intend to make money or profit from this project. +We are in great need of developers. Please join our Discord server below if you can help out with the project. +This repo is based on Yuzu EA 4176. Please contribute if you can! -We are in great need of developers, join our discord server at https://discord.gg/2gQRBp44KT +
-This repo is created based on yuzu EA 4176. Please contribute - -

+


- suyu + suyu
suyu

-

suyu, pronounced "sue-you" is the afterlife the world's most popular, open-source, Nintendo Switch emulator — started by the creators of Citra. +

suyu, pronounced "sue-you" (wink wink) is the continuation of the world's most popular, open-source, Nintendo Switch emulator, yuzu.
It is written in C++ with portability in mind, and we actively maintain builds for Windows, Linux and Android.

-

- - Azure Mainline CI Build Status - - - Discord - -

-

Compatibility | Development | Building | + Pipelines Downloads | Support | License @@ -45,31 +35,27 @@ It is written in C++ with portability in mind, and we actively maintain builds f ## Status -We are trying to get the builds working. We are in need of developers. Join our discord to contribute. +We are trying to get the builds working. We are in need of developers. Join our Discord to contribute. + +**Note**: This README is a fork of the original project's README, most links are broken! ## Compatibility -W.I.P. - The emulator is capable of running most commercial games at full speed, provided you meet the [necessary hardware requirements](https://suyu-emu.org/help/quickstart/#hardware-requirements). -For a full list of games suyu supports, please visit our [Compatibility page](https://suyu-emu.org/game/). +For a full list of games suyu supports, please visit our [Compatibility page](https://gitlab.com/suyu-emu/suyu/-/wikis/Compatibility). -Check out our [website](https://suyu-emu.org/) for the latest news on exciting features, monthly progress reports, and more! +Check out our [website](https://suyu.dev) for the latest news on exciting features, monthly progress reports, and more! ## Development -W.I.P. - This project is completely free and open source, this project is made possible by many people who share the same interest. -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 GitLab. 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://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. - ## Downloads * __Windows__: [Legacy Artifacts](https://github.com/pineappleea/pineapple-src/releases) @@ -77,14 +63,14 @@ If you want to contribute to the user interface translation project, please chec ## Building -* __Windows__: W.I.P. -* __Linux__: W.I.P. +* __Windows__: [Wiki page](https://gitlab.com/suyu-emu/suyu/-/wikis/Building-for-Windows) +* __Linux__: [Wiki page](https://gitlab.com/suyu-emu/suyu/-/wikis/Building-for-Linux) ## Support -This project is completely free and open source, this project is made possible by many people who share the same interest. Please join the discord server to contribute. +This project is completely free and open source, this project is made possible by many people who share the same interest. Please join the Discord server [here](https://discord.gg/2gQRBp44KT) to contribute. ## License diff --git a/dist/org.yuzu_emu.yuzu.desktop b/dist/org.suyu_emu.suyu.desktop similarity index 66% rename from dist/org.yuzu_emu.yuzu.desktop rename to dist/org.suyu_emu.suyu.desktop index 51e191a8e5..0f619d7e7e 100644 --- a/dist/org.yuzu_emu.yuzu.desktop +++ b/dist/org.suyu_emu.suyu.desktop @@ -1,16 +1,16 @@ -# SPDX-FileCopyrightText: 2018 yuzu Emulator Project +# SPDX-FileCopyrightText: 2018 yuzu Emulator Project & 2024 suyu Emulator Project # SPDX-License-Identifier: GPL-2.0-or-later [Desktop Entry] Version=1.0 Type=Application -Name=yuzu +Name=suyu GenericName=Switch Emulator Comment=Nintendo Switch video game console emulator -Icon=org.yuzu_emu.yuzu -TryExec=yuzu -Exec=yuzu %f +Icon=org.suyu_emu.suyu +TryExec=suyu +Exec=suyu %f Categories=Game;Emulator;Qt; MimeType=application/x-nx-nro;application/x-nx-nso;application/x-nx-nsp;application/x-nx-xci; Keywords=Nintendo;Switch; -StartupWMClass=yuzu +StartupWMClass=suyu diff --git a/dist/org.yuzu_emu.yuzu.metainfo.xml b/dist/org.suyu_emu.suyu.metainfo.xml similarity index 51% rename from dist/org.yuzu_emu.yuzu.metainfo.xml rename to dist/org.suyu_emu.suyu.metainfo.xml index cfd1741748..74c72ad977 100644 --- a/dist/org.yuzu_emu.yuzu.metainfo.xml +++ b/dist/org.suyu_emu.suyu.metainfo.xml @@ -1,19 +1,19 @@ - org.yuzu_emu.yuzu + org.suyu_emu.suyu CC0-1.0 - yuzu + suyu

Nintendo Switch emulator -

yuzu is the world's most popular, open-source, Nintendo Switch emulator — started by the creators of Citra.

+

suyu is the world's most popular, open-source, Nintendo Switch emulator — started by the creators of Citra.

The emulator is capable of running most commercial games at full speed, provided you meet the necessary hardware requirements.

-

For a full list of games yuzu support, please visit our Compatibility page.

+

For a full list of games suyu support, please visit our Compatibility page.

Check out our website for the latest news on exciting features, monthly progress reports, and more!

@@ -24,19 +24,19 @@ SPDX-License-Identifier: CC0-1.0 switch emulator - https://yuzu-emu.org/ - https://github.com/yuzu-emu/yuzu/issues - https://yuzu-emu.org/wiki/faq/ - https://yuzu-emu.org/wiki/home/ - https://yuzu-emu.org/donate/ - https://www.transifex.com/projects/p/yuzu + https://suyu-emu.org/ + https://gitlab.com/suyu-emu/suyu/issues + https://suyu-emu.org/wiki/faq/ + https://suyu-emu.org/wiki/home/ + https://suyu-emu.org/donate/ + https://www.transifex.com/projects/p/suyu https://community.citra-emu.org/ - https://github.com/yuzu-emu/yuzu - https://yuzu-emu.org/wiki/contributing/ - org.yuzu_emu.yuzu.desktop + https://gitlab.com/suyu-emu/suyu + https://suyu-emu.org/wiki/contributing/ + org.suyu_emu.suyu.desktop - yuzu - yuzu-cmd + suyu + suyu-cmd pointing @@ -50,13 +50,13 @@ SPDX-License-Identifier: CC0-1.0 16384 GPL-3.0-or-later - yuzu Emulator Team + suyu Emulator Team - https://raw.githubusercontent.com/yuzu-emu/yuzu-emu.github.io/master/images/screenshots/001-Super%20Mario%20Odyssey%20.png - https://raw.githubusercontent.com/yuzu-emu/yuzu-emu.github.io/master/images/screenshots/004-The%20Legend%20of%20Zelda%20Skyward%20Sword%20HD.png - https://raw.githubusercontent.com/yuzu-emu/yuzu-emu.github.io/master/images/screenshots/007-Pokemon%20Sword.png - https://raw.githubusercontent.com/yuzu-emu/yuzu-emu.github.io/master/images/screenshots/010-Hyrule%20Warriors%20Age%20of%20Calamity.png - https://raw.githubusercontent.com/yuzu-emu/yuzu-emu.github.io/master/images/screenshots/039-Pok%C3%A9mon%20Mystery%20Dungeon%20Rescue%20Team%20DX.png.png.png + https://raw.githubusercontent.com/suyu-emu/suyu-emu.github.io/master/images/screenshots/001-Super%20Mario%20Odyssey%20.png + https://raw.githubusercontent.com/suyu-emu/suyu-emu.github.io/master/images/screenshots/004-The%20Legend%20of%20Zelda%20Skyward%20Sword%20HD.png + https://raw.githubusercontent.com/suyu-emu/suyu-emu.github.io/master/images/screenshots/007-Pokemon%20Sword.png + https://raw.githubusercontent.com/suyu-emu/suyu-emu.github.io/master/images/screenshots/010-Hyrule%20Warriors%20Age%20of%20Calamity.png + https://raw.githubusercontent.com/suyu-emu/suyu-emu.github.io/master/images/screenshots/039-Pok%C3%A9mon%20Mystery%20Dungeon%20Rescue%20Team%20DX.png.png.png diff --git a/dist/org.yuzu_emu.yuzu.xml b/dist/org.suyu_emu.suyu.xml similarity index 82% rename from dist/org.yuzu_emu.yuzu.xml rename to dist/org.suyu_emu.suyu.xml index b774eb0c4e..c54c8bd8ec 100644 --- a/dist/org.yuzu_emu.yuzu.xml +++ b/dist/org.suyu_emu.suyu.xml @@ -1,7 +1,7 @@ @@ -9,7 +9,7 @@ SPDX-License-Identifier: GPL-2.0-or-later Nintendo Switch homebrew executable NRO - + @@ -17,7 +17,7 @@ SPDX-License-Identifier: GPL-2.0-or-later Nintendo Switch homebrew executable NSO - + @@ -25,7 +25,7 @@ SPDX-License-Identifier: GPL-2.0-or-later Nintendo Switch Package NSP - + @@ -33,7 +33,7 @@ SPDX-License-Identifier: GPL-2.0-or-later Nintendo Switch Card Image XCI - + diff --git a/dist/qt_themes/default/icons/256x256/yuzu.png b/dist/qt_themes/default/icons/256x256/yuzu.png index 238adeb895..8770696e30 100644 Binary files a/dist/qt_themes/default/icons/256x256/yuzu.png and b/dist/qt_themes/default/icons/256x256/yuzu.png differ diff --git a/dist/readme/suyu__Logo-Pill.svg b/dist/readme/suyu__Logo-Pill.svg new file mode 100644 index 0000000000..e34ab989c8 --- /dev/null +++ b/dist/readme/suyu__Logo-Pill.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/dist/suyu.ico b/dist/suyu.ico new file mode 100644 index 0000000000..031f75df97 Binary files /dev/null and b/dist/suyu.ico differ diff --git a/dist/yuzu.manifest b/dist/suyu.manifest similarity index 95% rename from dist/yuzu.manifest rename to dist/suyu.manifest index f2c8639a20..7467607c00 100644 --- a/dist/yuzu.manifest +++ b/dist/suyu.manifest @@ -1,7 +1,7 @@ diff --git a/dist/suyu.svg b/dist/suyu.svg new file mode 100644 index 0000000000..381d5a5a57 --- /dev/null +++ b/dist/suyu.svg @@ -0,0 +1,4 @@ + + + + diff --git a/dist/yuzu.ico b/dist/yuzu.ico deleted file mode 100644 index df3be8464f..0000000000 Binary files a/dist/yuzu.ico and /dev/null differ diff --git a/dist/yuzu.svg b/dist/yuzu.svg index 93171d1bf7..61553ff3a1 100644 --- a/dist/yuzu.svg +++ b/dist/yuzu.svg @@ -1 +1,55 @@ -Artboard 1 \ No newline at end of file + + + + + + + + + + + + + diff --git a/src/common/settings.h b/src/common/settings.h index 61969af2bf..a0f6cdb570 100644 --- a/src/common/settings.h +++ b/src/common/settings.h @@ -609,7 +609,7 @@ struct Values { Category::Network}; // WebService - Setting enable_telemetry{linkage, true, "enable_telemetry", Category::WebService}; + Setting enable_telemetry{linkage, false, "enable_telemetry", Category::WebService}; Setting web_api_url{linkage, "https://api.yuzu-emu.org", "web_api_url", Category::WebService}; Setting yuzu_username{linkage, std::string(), "yuzu_username", diff --git a/src/core/crypto/key_manager.cpp b/src/core/crypto/key_manager.cpp index 43a3c5ffd6..c6215c8aad 100644 --- a/src/core/crypto/key_manager.cpp +++ b/src/core/crypto/key_manager.cpp @@ -648,17 +648,13 @@ void KeyManager::ReloadKeys() { if (Settings::values.use_dev_keys) { dev_mode = true; - LoadFromFile(yuzu_keys_dir / "dev.keys_autogenerated", false); LoadFromFile(yuzu_keys_dir / "dev.keys", false); } else { dev_mode = false; - LoadFromFile(yuzu_keys_dir / "prod.keys_autogenerated", false); LoadFromFile(yuzu_keys_dir / "prod.keys", false); } - LoadFromFile(yuzu_keys_dir / "title.keys_autogenerated", true); LoadFromFile(yuzu_keys_dir / "title.keys", true); - LoadFromFile(yuzu_keys_dir / "console.keys_autogenerated", false); LoadFromFile(yuzu_keys_dir / "console.keys", false); } @@ -844,40 +840,6 @@ Key256 KeyManager::GetBISKey(u8 partition_id) const { return out; } -template -void KeyManager::WriteKeyToFile(KeyCategory category, std::string_view keyname, - const std::array& key) { - const auto yuzu_keys_dir = Common::FS::GetYuzuPath(Common::FS::YuzuPath::KeysDir); - - std::string filename = "title.keys_autogenerated"; - - if (category == KeyCategory::Standard) { - filename = dev_mode ? "dev.keys_autogenerated" : "prod.keys_autogenerated"; - } else if (category == KeyCategory::Console) { - filename = "console.keys_autogenerated"; - } - - const auto path = yuzu_keys_dir / filename; - const auto add_info_text = !Common::FS::Exists(path); - - Common::FS::IOFile file{path, Common::FS::FileAccessMode::Append, - Common::FS::FileType::TextFile}; - - if (!file.IsOpen()) { - return; - } - - if (add_info_text) { - void(file.WriteString( - "# This file is autogenerated by Yuzu\n" - "# It serves to store keys that were automatically generated from the normal keys\n" - "# If you are experiencing issues involving keys, it may help to delete this file\n")); - } - - void(file.WriteString(fmt::format("\n{} = {}", keyname, Common::HexToString(key)))); - LoadFromFile(path, category == KeyCategory::Title); -} - void KeyManager::SetKey(S128KeyType id, Key128 key, u64 field1, u64 field2) { if (s128_keys.find({id, field1, field2}) != s128_keys.end() || key == Key128{}) { return; @@ -886,46 +848,6 @@ void KeyManager::SetKey(S128KeyType id, Key128 key, u64 field1, u64 field2) { Key128 rights_id; std::memcpy(rights_id.data(), &field2, sizeof(u64)); std::memcpy(rights_id.data() + sizeof(u64), &field1, sizeof(u64)); - WriteKeyToFile(KeyCategory::Title, Common::HexToString(rights_id), key); - } - - auto category = KeyCategory::Standard; - if (id == S128KeyType::Keyblob || id == S128KeyType::KeyblobMAC || id == S128KeyType::TSEC || - id == S128KeyType::SecureBoot || id == S128KeyType::SDSeed || id == S128KeyType::BIS) { - category = KeyCategory::Console; - } - - const auto iter2 = std::find_if( - s128_file_id.begin(), s128_file_id.end(), [&id, &field1, &field2](const auto& elem) { - return std::tie(elem.second.type, elem.second.field1, elem.second.field2) == - std::tie(id, field1, field2); - }); - if (iter2 != s128_file_id.end()) { - WriteKeyToFile(category, iter2->first, key); - } - - // Variable cases - if (id == S128KeyType::KeyArea) { - static constexpr std::array kak_names = { - "key_area_key_application_{:02X}", - "key_area_key_ocean_{:02X}", - "key_area_key_system_{:02X}", - }; - WriteKeyToFile(category, fmt::format(fmt::runtime(kak_names.at(field2)), field1), key); - } else if (id == S128KeyType::Master) { - WriteKeyToFile(category, fmt::format("master_key_{:02X}", field1), key); - } else if (id == S128KeyType::Package1) { - WriteKeyToFile(category, fmt::format("package1_key_{:02X}", field1), key); - } else if (id == S128KeyType::Package2) { - WriteKeyToFile(category, fmt::format("package2_key_{:02X}", field1), key); - } else if (id == S128KeyType::Titlekek) { - WriteKeyToFile(category, fmt::format("titlekek_{:02X}", field1), key); - } else if (id == S128KeyType::Keyblob) { - WriteKeyToFile(category, fmt::format("keyblob_key_{:02X}", field1), key); - } else if (id == S128KeyType::KeyblobMAC) { - WriteKeyToFile(category, fmt::format("keyblob_mac_key_{:02X}", field1), key); - } else if (id == S128KeyType::Source && field1 == static_cast(SourceKeyType::Keyblob)) { - WriteKeyToFile(category, fmt::format("keyblob_key_source_{:02X}", field2), key); } s128_keys[{id, field1, field2}] = key; @@ -935,14 +857,6 @@ void KeyManager::SetKey(S256KeyType id, Key256 key, u64 field1, u64 field2) { if (s256_keys.find({id, field1, field2}) != s256_keys.end() || key == Key256{}) { return; } - const auto iter = std::find_if( - s256_file_id.begin(), s256_file_id.end(), [&id, &field1, &field2](const auto& elem) { - return std::tie(elem.second.type, elem.second.field1, elem.second.field2) == - std::tie(id, field1, field2); - }); - if (iter != s256_file_id.end()) { - WriteKeyToFile(KeyCategory::Standard, iter->first, key); - } s256_keys[{id, field1, field2}] = key; } @@ -1052,8 +966,6 @@ void KeyManager::DeriveBase() { // Decrypt keyblob if (keyblobs[i] == std::array{}) { keyblobs[i] = DecryptKeyblob(encrypted_keyblobs[i], key); - WriteKeyToFile<0x90>(KeyCategory::Console, fmt::format("keyblob_{:02X}", i), - keyblobs[i]); } Key128 package1; @@ -1183,7 +1095,6 @@ void KeyManager::DeriveETicket(PartitionDataManager& data, data.DecryptProdInfo(GetBISKey(0)); eticket_extended_kek = data.GetETicketExtendedKek(); - WriteKeyToFile(KeyCategory::Console, "eticket_extended_kek", eticket_extended_kek); DeriveETicketRSAKey(); PopulateTickets(); } @@ -1261,8 +1172,6 @@ void KeyManager::PopulateFromPartitionData(PartitionDataManager& data) { continue; } encrypted_keyblobs[i] = data.GetEncryptedKeyblob(i); - WriteKeyToFile<0xB0>(KeyCategory::Console, fmt::format("encrypted_keyblob_{:02X}", i), - encrypted_keyblobs[i]); } SetKeyWrapped(S128KeyType::Source, data.GetPackage2KeySource(), diff --git a/src/core/crypto/key_manager.h b/src/core/crypto/key_manager.h index 2250eccec1..005062345e 100644 --- a/src/core/crypto/key_manager.h +++ b/src/core/crypto/key_manager.h @@ -314,10 +314,6 @@ private: bool dev_mode; void LoadFromFile(const std::filesystem::path& file_path, bool is_title_keys); - template - void WriteKeyToFile(KeyCategory category, std::string_view keyname, - const std::array& key); - void DeriveGeneralPurposeKeys(std::size_t crypto_revision); void DeriveETicketRSAKey(); diff --git a/src/dedicated_room/yuzu_room.rc b/src/dedicated_room/yuzu_room.rc index a08957684c..6e108f6032 100644 --- a/src/dedicated_room/yuzu_room.rc +++ b/src/dedicated_room/yuzu_room.rc @@ -1,6 +1,8 @@ -// SPDX-FileCopyrightText: 2017 Citra Emulator Project +// SPDX-FileCopyrightText: 2017 Citra Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later +// Modified by JuanCStar on 2024/03/06 + #include "winresrc.h" ///////////////////////////////////////////////////////////////////////////// // @@ -9,7 +11,7 @@ // Icon with lowest ID value placed first to ensure application icon // remains consistent on all systems. -YUZU_ICON ICON "../../dist/yuzu.ico" +SUYU_ICON ICON "../../dist/suyu.ico" ///////////////////////////////////////////////////////////////////////////// @@ -17,4 +19,4 @@ YUZU_ICON ICON "../../dist/yuzu.ico" // RT_MANIFEST // -0 RT_MANIFEST "../../dist/yuzu.manifest" +0 RT_MANIFEST "../../dist/suyu.manifest" diff --git a/src/yuzu/CMakeLists.txt b/src/yuzu/CMakeLists.txt index 0259a8c293..0b48045f36 100644 --- a/src/yuzu/CMakeLists.txt +++ b/src/yuzu/CMakeLists.txt @@ -1,6 +1,8 @@ -# SPDX-FileCopyrightText: 2018 yuzu Emulator Project +# SPDX-FileCopyrightText: 2018 yuzu Emulator Project & 2024 Suyu Emulator Project # SPDX-License-Identifier: GPL-2.0-or-later +# Modified by JuanCStar on 2024/03/06 + set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) set(CMAKE_AUTOUIC ON) @@ -229,8 +231,8 @@ add_executable(yuzu vk_device_info.h compatdb.cpp compatdb.h - yuzu.qrc - yuzu.rc + suyu.qrc + suyu.rc ) if (YUZU_CRASH_DUMPS) diff --git a/src/yuzu/about_dialog.cpp b/src/yuzu/about_dialog.cpp index eeff543599..a7df9c3174 100644 --- a/src/yuzu/about_dialog.cpp +++ b/src/yuzu/about_dialog.cpp @@ -1,6 +1,8 @@ -// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later +// Modified by JuanCStar on 2024/03/06 + #include #include #include "common/scm_rev.h" @@ -13,19 +15,19 @@ AboutDialog::AboutDialog(QWidget* parent) const auto description = std::string(Common::g_scm_desc); const auto build_id = std::string(Common::g_build_id); - const auto yuzu_build = fmt::format("yuzu Development Build | {}-{}", branch_name, description); + const auto suyu_build = fmt::format("suyu Development Build | {}-{}", branch_name, description); const auto override_build = fmt::format(fmt::runtime(std::string(Common::g_title_bar_format_idle)), build_id); - const auto yuzu_build_version = override_build.empty() ? yuzu_build : override_build; + const auto suyu_build_version = override_build.empty() ? suyu_build : override_build; ui->setupUi(this); // Try and request the icon from Qt theme (Linux?) - const QIcon yuzu_logo = QIcon::fromTheme(QStringLiteral("org.yuzu_emu.yuzu")); - if (!yuzu_logo.isNull()) { - ui->labelLogo->setPixmap(yuzu_logo.pixmap(200)); + const QIcon suyu_logo = QIcon::fromTheme(QStringLiteral("org.suyu_emu.suyu")); + if (!suyu_logo.isNull()) { + ui->labelLogo->setPixmap(suyu_logo.pixmap(200)); } ui->labelBuildInfo->setText( - ui->labelBuildInfo->text().arg(QString::fromStdString(yuzu_build_version), + ui->labelBuildInfo->text().arg(QString::fromStdString(suyu_build_version), QString::fromUtf8(Common::g_build_date).left(10))); } diff --git a/src/yuzu/about_dialog.h b/src/yuzu/about_dialog.h index 3c4e71ee6c..e360ab4f44 100644 --- a/src/yuzu/about_dialog.h +++ b/src/yuzu/about_dialog.h @@ -1,6 +1,8 @@ -// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later +// Modified by JuanCStar on 2024/03/06 + #pragma once #include diff --git a/src/yuzu/configuration/configure_web.ui b/src/yuzu/configuration/configure_web.ui index 3ac3864bea..cfe6460520 100644 --- a/src/yuzu/configuration/configure_web.ui +++ b/src/yuzu/configuration/configure_web.ui @@ -2,6 +2,9 @@ ConfigureWeb + + false + 0 diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp index c0c0a19b85..98f4ca42b1 100644 --- a/src/yuzu/main.cpp +++ b/src/yuzu/main.cpp @@ -1,6 +1,8 @@ // SPDX-FileCopyrightText: 2014 Citra Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later +// Modified by JuanCStar on 2024/03/06 + #include #include #include @@ -427,9 +429,6 @@ GMainWindow::GMainWindow(std::unique_ptr config_, bool has_broken_vulk game_list->LoadCompatibilityList(); game_list->PopulateAsync(UISettings::values.game_dirs); - // Show one-time "callout" messages to the user - ShowTelemetryCallout(); - // make sure menubar has the arrow cursor instead of inheriting from this ui->menubar->setCursor(QCursor()); statusBar()->setCursor(QCursor()); @@ -4551,10 +4550,10 @@ void GMainWindow::UpdateWindowTitle(std::string_view title_name, std::string_vie const auto description = std::string(Common::g_scm_desc); const auto build_id = std::string(Common::g_build_id); - const auto yuzu_title = fmt::format("yuzu | {}-{}", branch_name, description); + const auto suyu_title = fmt::format("suyu | {}-{}", branch_name, description); const auto override_title = fmt::format(fmt::runtime(std::string(Common::g_title_bar_format_idle)), build_id); - const auto window_title = override_title.empty() ? yuzu_title : override_title; + const auto window_title = override_title.empty() ? suyu_title : override_title; if (title_name.empty()) { setWindowTitle(QString::fromStdString(window_title)); @@ -5303,7 +5302,7 @@ int main(int argc, char* argv[]) { // Fix the Wayland appId. This needs to match the name of the .desktop file without the .desktop // suffix. - QGuiApplication::setDesktopFileName(QStringLiteral("org.yuzu_emu.yuzu")); + QGuiApplication::setDesktopFileName(QStringLiteral("org.suyu_emu.suyu")); #endif SetHighDPIAttributes(); diff --git a/src/yuzu/main.ui b/src/yuzu/main.ui index 85dc1f2f67..f21bc09890 100644 --- a/src/yuzu/main.ui +++ b/src/yuzu/main.ui @@ -11,11 +11,11 @@ - yuzu + suyu - - :/img/yuzu.ico:/img/yuzu.ico + + :/img/suyu.ico:/img/suyu.ico QTabWidget::Rounded @@ -477,7 +477,7 @@ - + diff --git a/src/yuzu/suyu.qrc b/src/yuzu/suyu.qrc new file mode 100644 index 0000000000..87038fc28d --- /dev/null +++ b/src/yuzu/suyu.qrc @@ -0,0 +1,12 @@ + + + + + ../../dist/suyu.ico + + diff --git a/src/yuzu/yuzu.rc b/src/yuzu/suyu.rc similarity index 64% rename from src/yuzu/yuzu.rc rename to src/yuzu/suyu.rc index 1fc74d0659..5390815ef2 100644 --- a/src/yuzu/yuzu.rc +++ b/src/yuzu/suyu.rc @@ -1,6 +1,8 @@ -// SPDX-FileCopyrightText: 2018 yuzu Emulator Project +// SPDX-FileCopyrightText: 2018 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later +// Modified by JuanCStar on 2024/03/06 + #include "winresrc.h" ///////////////////////////////////////////////////////////////////////////// // @@ -11,7 +13,7 @@ // remains consistent on all systems. // QT requires that the default application icon is named IDI_ICON1 -IDI_ICON1 ICON "../../dist/yuzu.ico" +IDI_ICON1 ICON "../../dist/suyu.ico" ///////////////////////////////////////////////////////////////////////////// @@ -19,4 +21,4 @@ IDI_ICON1 ICON "../../dist/yuzu.ico" // RT_MANIFEST // -0 RT_MANIFEST "../../dist/yuzu.manifest" +0 RT_MANIFEST "../../dist/suyu.manifest" diff --git a/src/yuzu/yuzu.qrc b/src/yuzu/yuzu.qrc deleted file mode 100644 index 855df05fd1..0000000000 --- a/src/yuzu/yuzu.qrc +++ /dev/null @@ -1,10 +0,0 @@ - - - - - ../../dist/yuzu.ico - - diff --git a/src/yuzu_cmd/CMakeLists.txt b/src/yuzu_cmd/CMakeLists.txt index 13d4d5722f..8bedd8b9e3 100644 --- a/src/yuzu_cmd/CMakeLists.txt +++ b/src/yuzu_cmd/CMakeLists.txt @@ -1,6 +1,8 @@ # SPDX-FileCopyrightText: 2018 yuzu Emulator Project # SPDX-License-Identifier: GPL-2.0-or-later +# Modified by JuanCStar on 2024/03/06 + # Credits to Samantas5855 and others for this function. function(create_resource file output filename) # Read hex data from file @@ -25,7 +27,7 @@ add_executable(yuzu-cmd sdl_config.cpp sdl_config.h yuzu.cpp - yuzu.rc + suyu.rc ) target_link_libraries(yuzu-cmd PRIVATE common core input_common frontend_common) diff --git a/src/yuzu_cmd/yuzu.rc b/src/yuzu_cmd/suyu.rc similarity index 60% rename from src/yuzu_cmd/yuzu.rc rename to src/yuzu_cmd/suyu.rc index e230cf6809..696fac7ed3 100644 --- a/src/yuzu_cmd/yuzu.rc +++ b/src/yuzu_cmd/suyu.rc @@ -1,6 +1,8 @@ -// SPDX-FileCopyrightText: 2018 yuzu Emulator Project +// SPDX-FileCopyrightText: 2018 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later +// Modified by JuanCStar on 2024/03/06 + #include "winresrc.h" ///////////////////////////////////////////////////////////////////////////// // @@ -9,7 +11,7 @@ // Icon with lowest ID value placed first to ensure application icon // remains consistent on all systems. -YUZU_ICON ICON "../../dist/yuzu.ico" +SUYU_ICON ICON "../../dist/suyu.ico" ///////////////////////////////////////////////////////////////////////////// @@ -17,4 +19,4 @@ YUZU_ICON ICON "../../dist/yuzu.ico" // RT_MANIFEST // -0 RT_MANIFEST "../../dist/yuzu.manifest" +0 RT_MANIFEST "../../dist/suyu.manifest"