Merge remote-tracking branch 'upstream/dev' into dev

fixing merge issues & rebasing upstream onto dev
This commit is contained in:
Jamie 2024-03-07 12:48:27 -05:00
commit d95ca08f68
162 changed files with 648 additions and 821 deletions

View File

@ -17,8 +17,8 @@ cmake .. \
-DCMAKE_C_COMPILER=/usr/lib/ccache/gcc \ -DCMAKE_C_COMPILER=/usr/lib/ccache/gcc \
-DCMAKE_INSTALL_PREFIX="/usr" \ -DCMAKE_INSTALL_PREFIX="/usr" \
-DDISPLAY_VERSION=$1 \ -DDISPLAY_VERSION=$1 \
-DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON \ -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=OFF \
-DENABLE_QT_TRANSLATION=ON \ -DENABLE_QT_TRANSLATION=OFF \
-DUSE_DISCORD_PRESENCE=ON \ -DUSE_DISCORD_PRESENCE=ON \
-DYUZU_ENABLE_COMPATIBILITY_REPORTING=${ENABLE_COMPATIBILITY_REPORTING:-"OFF"} \ -DYUZU_ENABLE_COMPATIBILITY_REPORTING=${ENABLE_COMPATIBILITY_REPORTING:-"OFF"} \
-DYUZU_USE_BUNDLED_FFMPEG=ON \ -DYUZU_USE_BUNDLED_FFMPEG=ON \
@ -49,9 +49,10 @@ DESTDIR="$PWD/AppDir" ninja install
rm -vf AppDir/usr/bin/yuzu-cmd AppDir/usr/bin/yuzu-tester rm -vf AppDir/usr/bin/yuzu-cmd AppDir/usr/bin/yuzu-tester
# Download tools needed to build an AppImage # Download tools needed to build an AppImage
wget -nc https://raw.githubusercontent.com/yuzu-emu/ext-linux-bin/main/appimage/deploy-linux.sh wget -nc https://gitlab.com/suyu-emu/ext-linux-bin/-/raw/main/appimage/deploy-linux.sh
wget -nc https://raw.githubusercontent.com/yuzu-emu/AppImageKit-checkrt/old/AppRun.sh wget -nc https://gitlab.com/suyu-emu/ext-linux-bin/-/raw/main/appimage/exec-x86_64.so
wget -nc https://github.com/yuzu-emu/ext-linux-bin/raw/main/appimage/exec-x86_64.so wget -nc https://gitlab.com/suyu-emu/AppImageKit-checkrt/-/raw/old/AppRun.sh
# Set executable bit # Set executable bit
chmod 755 \ chmod 755 \
deploy-linux.sh \ deploy-linux.sh \

View File

@ -3,8 +3,6 @@
# SPDX-FileCopyrightText: 2019 yuzu Emulator Project # SPDX-FileCopyrightText: 2019 yuzu Emulator Project
# SPDX-License-Identifier: GPL-2.0-or-later # SPDX-License-Identifier: GPL-2.0-or-later
# Modified by JuanCStar on 2024/03/06
. .ci/scripts/common/pre-upload.sh . .ci/scripts/common/pre-upload.sh
APPIMAGE_NAME="yuzu-${RELEASE_NAME}-${GITDATE}-${GITREV}.AppImage" APPIMAGE_NAME="yuzu-${RELEASE_NAME}-${GITDATE}-${GITREV}.AppImage"
@ -29,7 +27,7 @@ fi
# Build an AppImage # Build an AppImage
cd build cd build
wget -nc https://github.com/yuzu-emu/ext-linux-bin/raw/main/appimage/appimagetool-x86_64.AppImage wget -nc https://gitlab.com/suyu-emu/ext-linux-bin/-/raw/main/appimage/appimagetool-x86_64.AppImage
chmod 755 appimagetool-x86_64.AppImage chmod 755 appimagetool-x86_64.AppImage
# if FUSE is not available, then fallback to extract and run # if FUSE is not available, then fallback to extract and run

View File

@ -20,19 +20,23 @@ format:
script: script:
- bash -ex ./.ci/scripts/format/script.sh - bash -ex ./.ci/scripts/format/script.sh
build:
build-linux:
stage: build stage: build
image: ubuntu:latest image: debian:trixie # Maybe replace with image with more required dependencies
resource_group: linux-ci
variables:
RELEASE_NAME: mainline
before_script:
- apt-get update --yes
- apt-get install --yes wget ccache cmake gcc g++ nasm git patchelf xz-utils ninja-build autoconf glslang-tools pkg-config catch2 libtool nlohmann-json3-dev qtbase5-dev qtbase5-private-dev qtmultimedia5-dev libqt5gui5 libva-dev libavcodec-dev libavfilter-dev libboost-dev libboost-context-dev libfmt-dev zlib1g-dev libzstd-dev libcurl4-openssl-dev liblz4-dev llvm-17-dev libedit-dev libssl-dev mesa-common-dev libzydis-dev libusb-dev libpulse-dev
script: script:
- apt-get update -y - git submodule update --init --depth 1 --recursive
- DEBIAN_FRONTEND=noninteractive apt-get install -y openjdk-17-jdk ccache autoconf cmake git glslang-tools libasound2 libboost-context-dev libglu1-mesa-dev libhidapi-dev libpulse-dev libtool libudev-dev libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-render-util0 libxcb-xinerama0 libxcb-xkb1 libxext-dev libxkbcommon-x11-0 mesa-common-dev nasm ninja-build qtbase5-dev qtbase5-private-dev qtwebengine5-dev qtmultimedia5-dev libmbedtls-dev catch2 libfmt-dev liblz4-dev nlohmann-json3-dev libzstd-dev libssl-dev libavfilter-dev libavcodec-dev libswscale-dev g++-11 gcc-11 - bash .ci/scripts/linux/docker.sh
- /usr/sbin/update-ccache-symlinks - bash .ci/scripts/linux/upload.sh
- ls -la /usr/lib/ccache/
- bash -c "export PR_NUMBER=$PR_NUMBER; ./.ci/scripts/linux/docker.sh"
artifacts: artifacts:
name: "linux"
paths: paths:
- artifacts/ - artifacts/*
build-mac: build-mac:
stage: build-mac stage: build-mac
@ -81,3 +85,4 @@ android:
paths: paths:
- artifacts/ - artifacts/

View File

@ -14,7 +14,7 @@ License: GPL-2.0-or-later
Files: dist/qt_themes/default/icons/256x256/yuzu.png Files: dist/qt_themes/default/icons/256x256/yuzu.png
dist/yuzu.bmp dist/yuzu.bmp
dist/yuzu.icns dist/suyu.icns
dist/suyu.ico dist/suyu.ico
dist/suyu.svg dist/suyu.svg
Copyright: suyu Emulator Project Copyright: suyu Emulator Project

View File

@ -1,8 +1,6 @@
# SPDX-FileCopyrightText: 2018 yuzu Emulator Project # SPDX-FileCopyrightText: 2018 yuzu Emulator Project
# SPDX-License-Identifier: GPL-2.0-or-later # SPDX-License-Identifier: GPL-2.0-or-later
# Modified by JuanCStar on 2024/03/06
cmake_minimum_required(VERSION 3.22) cmake_minimum_required(VERSION 3.22)
project(yuzu) project(yuzu)
@ -40,7 +38,7 @@ option(YUZU_USE_EXTERNAL_VULKAN_HEADERS "Use Vulkan-Headers from externals" ON)
option(YUZU_USE_EXTERNAL_VULKAN_UTILITY_LIBRARIES "Use Vulkan-Utility-Libraries from externals" ON) option(YUZU_USE_EXTERNAL_VULKAN_UTILITY_LIBRARIES "Use Vulkan-Utility-Libraries from externals" ON)
option(YUZU_USE_QT_MULTIMEDIA "Use QtMultimedia for Camera" OFF) option(SUYU_USE_QT_MULTIMEDIA "Use QtMultimedia for Camera" OFF)
option(YUZU_USE_QT_WEB_ENGINE "Use QtWebEngine for web applet implementation" OFF) option(YUZU_USE_QT_WEB_ENGINE "Use QtWebEngine for web applet implementation" OFF)
@ -66,7 +64,7 @@ option(YUZU_ENABLE_LTO "Enable link-time optimization" OFF)
option(YUZU_DOWNLOAD_TIME_ZONE_DATA "Always download time zone binaries" OFF) option(YUZU_DOWNLOAD_TIME_ZONE_DATA "Always download time zone binaries" OFF)
option(YUZU_ENABLE_PORTABLE "Allow yuzu to enable portable mode if a user folder is found in the CWD" ON) option(SUYU_ENABLE_PORTABLE "Allow suyu to enable portable mode if a user folder is found in the CWD" ON)
CMAKE_DEPENDENT_OPTION(YUZU_USE_FASTER_LD "Check if a faster linker is available" ON "NOT WIN32" OFF) CMAKE_DEPENDENT_OPTION(YUZU_USE_FASTER_LD "Check if a faster linker is available" ON "NOT WIN32" OFF)
@ -264,7 +262,7 @@ endif()
message(STATUS "Target architecture: ${ARCHITECTURE}") message(STATUS "Target architecture: ${ARCHITECTURE}")
if (UNIX) if (UNIX)
add_definitions(-DYUZU_UNIX=1) add_definitions(-DSUYU_UNIX=1)
endif() endif()
if (ARCHITECTURE_arm64 AND (ANDROID OR ${CMAKE_SYSTEM_NAME} STREQUAL "Linux")) if (ARCHITECTURE_arm64 AND (ANDROID OR ${CMAKE_SYSTEM_NAME} STREQUAL "Linux"))
@ -373,7 +371,7 @@ function(set_yuzu_qt_components)
if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux") if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
list(APPEND YUZU_QT_COMPONENTS2 DBus) list(APPEND YUZU_QT_COMPONENTS2 DBus)
endif() endif()
if (YUZU_USE_QT_MULTIMEDIA) if (SUYU_USE_QT_MULTIMEDIA)
list(APPEND YUZU_QT_COMPONENTS2 Multimedia) list(APPEND YUZU_QT_COMPONENTS2 Multimedia)
endif() endif()
if (YUZU_USE_QT_WEB_ENGINE) if (YUZU_USE_QT_WEB_ENGINE)
@ -411,7 +409,7 @@ if(ENABLE_QT)
set(QT_DEFAULT_MAJOR_VERSION 5) set(QT_DEFAULT_MAJOR_VERSION 5)
set(QT_MAJOR_VERSION 5) set(QT_MAJOR_VERSION 5)
set(YUZU_USE_QT_MULTIMEDIA ON) set(SUYU_USE_QT_MULTIMEDIA ON)
# Check for system Qt on Linux, fallback to bundled Qt # Check for system Qt on Linux, fallback to bundled Qt
if (UNIX AND NOT APPLE) if (UNIX AND NOT APPLE)
if (NOT YUZU_USE_BUNDLED_QT) if (NOT YUZU_USE_BUNDLED_QT)
@ -518,7 +516,7 @@ if(ENABLE_QT)
set(YUZU_QT_NO_CMAKE_SYSTEM_PATH "NO_CMAKE_SYSTEM_PATH") set(YUZU_QT_NO_CMAKE_SYSTEM_PATH "NO_CMAKE_SYSTEM_PATH")
# Binary package for Qt5 has Qt Multimedia # Binary package for Qt5 has Qt Multimedia
set(YUZU_USE_QT_MULTIMEDIA ON CACHE BOOL "Use Qt Multimedia" FORCE) set(SUYU_USE_QT_MULTIMEDIA ON CACHE BOOL "Use Qt Multimedia" FORCE)
endif() endif()
set_yuzu_qt_components() set_yuzu_qt_components()

View File

@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: 2016 Citra Emulator Project # SPDX-FileCopyrightText: 2016 Citra Emulator Project & 2024 suyu Emulator Project
# SPDX-License-Identifier: GPL-2.0-or-later # SPDX-License-Identifier: GPL-2.0-or-later
function(copy_yuzu_Qt5_deps target_dir) function(copy_yuzu_Qt5_deps target_dir)
@ -33,7 +33,7 @@ function(copy_yuzu_Qt5_deps target_dir)
Qt5Widgets$<$<CONFIG:Debug>:d>.* Qt5Widgets$<$<CONFIG:Debug>:d>.*
Qt5Network$<$<CONFIG:Debug>:d>.* Qt5Network$<$<CONFIG:Debug>:d>.*
) )
if (YUZU_USE_QT_MULTIMEDIA) if (SUYU_USE_QT_MULTIMEDIA)
windows_copy_files(${target_dir} ${Qt5_DLL_DIR} ${DLL_DEST} windows_copy_files(${target_dir} ${Qt5_DLL_DIR} ${DLL_DEST}
Qt5Multimedia$<$<CONFIG:Debug>:d>.* Qt5Multimedia$<$<CONFIG:Debug>:d>.*
) )

View File

@ -3,16 +3,16 @@ SPDX-FileCopyrightText: 2024 suyu emulator project
SPDX-License-Identifier: GPL v3 SPDX-License-Identifier: GPL v3
--> -->
**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. **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. We're in need of developers. Please join our Discord server below if you want to contribute!
This repo is based on Yuzu EA 4176. Please contribute if you can! This repo is based on Yuzu EA 4176.
<hr /> <hr />
<h1 align="center"> <h1 align="center">
<br> <br>
<a href="https://gitlab.com/suyu-emu/suyu"><img src="dist/readme/suyu__Logo-Pill.svg" alt="suyu" height="128"></a> <a href="https://suyu.dev"><img src="dist/readme/suyu__Logo-Pill.svg" alt="suyu" height="128"></a>
<br> <br>
<b>suyu</b> <b>suyu</b>
<br> <br>
@ -24,42 +24,37 @@ It is written in C++ with portability in mind, and we actively maintain builds f
</h4> </h4>
<p align="center"> <p align="center">
<a href="#compatibility">Compatibility</a> | <a href="https://discord.gg/2gQRBp44KT">Discord</a> |
<a href="#status">Status</a> |
<a href="#development">Development</a> | <a href="#development">Development</a> |
<a href="#building">Building</a> |
<a href="https://gitlab.com/suyu-emu/suyu/-/pipelines">Pipelines</a>
<a href="#downloads">Downloads</a> | <a href="#downloads">Downloads</a> |
<a href="#building">Building</a> |
<a href="#support">Support</a> | <a href="#support">Support</a> |
<a href="#license">License</a> <a href="#license">License</a> |
<a href="https://gitlab.com/suyu-emu/suyu/-/pipelines">Pipelines</a>
</p> </p>
## Status ## Status
We are trying to get the builds working. We are in need of developers. Join our Discord to contribute. Although we're able to make builds, we don't have a version ready for distribution yet. But we can always use more help! You can make a merge request if you'd like to see something changed, or you can [chat with other developers to find out what needs work](https://discord.gg/2gQRBp44KT).
**Note**: This README is a fork of the original project's README, most links are broken! **Note**: We try to update this README whenever we can, but some links might be broken, and some information may be outdated or irrelevant.
## Compatibility
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://gitlab.com/suyu-emu/suyu/-/wikis/Compatibility).
Check out our [website](https://suyu.dev) for the latest news on exciting features, monthly progress reports, and more!
## Development ## Development
This project is completely free and open source, this project is made possible by many people who share the same interest. This project is completely free and open source, and anyone can contribute to help improve suyu.
Most of the development happens on GitLab. 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). 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 to learn more about the current state of suyu.
## Downloads ## Downloads
* __Windows__: [Legacy Artifacts](https://github.com/pineappleea/pineapple-src/releases) * __Windows__: WIP
* __Linux__: [Legacy Artifacts](https://github.com/pineappleea/pineapple-src/releases) * __Linux__: WIP
We don't have any official builds yet! If any website or person is claiming to have a build for suyu, take that with a grain of salt, because it might contain malware. Until we do have an official build, it might be a better idea to keep using the last version of yuzu.
## Building ## Building
@ -70,7 +65,7 @@ You can also contact any of the developers on Discord in order to know about the
## Support ## 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 [here](https://discord.gg/2gQRBp44KT) to contribute. If you have any questions, don't hesitate to ask us on [Discord](https://discord.gg/2gQRBp44KT). We don't bite!
## License ## License

14
dist/icns_generator.sh vendored Executable file
View File

@ -0,0 +1,14 @@
mkdir suyu.iconset
convert -background none -resize 16x16 suyu.svg suyu.iconset/icon_16x16.png;
convert -background none -resize 32x32 suyu.svg suyu.iconset/icon_16x16@2x.png;
convert -background none -resize 32x32 suyu.svg suyu.iconset/icon_32x32.png;
convert -background none -resize 64x64 suyu.svg suyu.iconset/icon_32x32@2x.png;
convert -background none -resize 128x128 suyu.svg suyu.iconset/icon_128x128.png;
convert -background none -resize 256x256 suyu.svg suyu.iconset/icon_256x256.png;
convert -background none -resize 256x256 suyu.svg suyu.iconset/icon_128x128@2x.png;
convert -background none -resize 512x512 suyu.svg suyu.iconset/icon_256x256@2x.png;
convert -background none -resize 512x512 suyu.svg suyu.iconset/icon_512x512.png;
convert -background none -resize 1024x1024 suyu.svg suyu.iconset/icon_512x512@2x.png;
iconutil -c icns suyu.iconset
rm -rf suyu.iconset

View File

@ -6838,7 +6838,7 @@ Debug Message: </source>
</message> </message>
<message> <message>
<location filename="../../src/yuzu/uisettings.h" line="242"/> <location filename="../../src/yuzu/uisettings.h" line="242"/>
<source>Exit yuzu</source> <source>Exit suyu</source>
<translation>الخروج من يوزو</translation> <translation>الخروج من يوزو</translation>
</message> </message>
<message> <message>

View File

@ -6875,7 +6875,7 @@ Debug Message: </source>
</message> </message>
<message> <message>
<location filename="../../src/yuzu/uisettings.h" line="242"/> <location filename="../../src/yuzu/uisettings.h" line="242"/>
<source>Exit yuzu</source> <source>Exit suyu</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>

View File

@ -6859,7 +6859,7 @@ Debug Message: </source>
</message> </message>
<message> <message>
<location filename="../../src/yuzu/uisettings.h" line="242"/> <location filename="../../src/yuzu/uisettings.h" line="242"/>
<source>Exit yuzu</source> <source>Exit suyu</source>
<translation>Ukončit yuzu</translation> <translation>Ukončit yuzu</translation>
</message> </message>
<message> <message>

View File

@ -6863,7 +6863,7 @@ Debug Message: </source>
</message> </message>
<message> <message>
<location filename="../../src/yuzu/uisettings.h" line="242"/> <location filename="../../src/yuzu/uisettings.h" line="242"/>
<source>Exit yuzu</source> <source>Exit suyu</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>

View File

@ -6886,7 +6886,7 @@ Debug Nachricht:</translation>
</message> </message>
<message> <message>
<location filename="../../src/yuzu/uisettings.h" line="242"/> <location filename="../../src/yuzu/uisettings.h" line="242"/>
<source>Exit yuzu</source> <source>Exit suyu</source>
<translation>yuzu verlassen</translation> <translation>yuzu verlassen</translation>
</message> </message>
<message> <message>

View File

@ -6859,7 +6859,7 @@ Debug Message: </source>
</message> </message>
<message> <message>
<location filename="../../src/yuzu/uisettings.h" line="242"/> <location filename="../../src/yuzu/uisettings.h" line="242"/>
<source>Exit yuzu</source> <source>Exit suyu</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>

View File

@ -6932,7 +6932,7 @@ Mensaje de depuración: </translation>
</message> </message>
<message> <message>
<location filename="../../src/yuzu/uisettings.h" line="242"/> <location filename="../../src/yuzu/uisettings.h" line="242"/>
<source>Exit yuzu</source> <source>Exit suyu</source>
<translation>Cerrar yuzu</translation> <translation>Cerrar yuzu</translation>
</message> </message>
<message> <message>

View File

@ -6925,7 +6925,7 @@ Message de débogage : </translation>
</message> </message>
<message> <message>
<location filename="../../src/yuzu/uisettings.h" line="242"/> <location filename="../../src/yuzu/uisettings.h" line="242"/>
<source>Exit yuzu</source> <source>Exit suyu</source>
<translation>Quitter yuzu</translation> <translation>Quitter yuzu</translation>
</message> </message>
<message> <message>

View File

@ -6899,7 +6899,7 @@ Hibakereső üzenet:</translation>
</message> </message>
<message> <message>
<location filename="../../src/yuzu/uisettings.h" line="242"/> <location filename="../../src/yuzu/uisettings.h" line="242"/>
<source>Exit yuzu</source> <source>Exit suyu</source>
<translation>Kilépés a yuzuból</translation> <translation>Kilépés a yuzuból</translation>
</message> </message>
<message> <message>

View File

@ -6916,7 +6916,7 @@ Debug Message: </source>
</message> </message>
<message> <message>
<location filename="../../src/yuzu/uisettings.h" line="242"/> <location filename="../../src/yuzu/uisettings.h" line="242"/>
<source>Exit yuzu</source> <source>Exit suyu</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>

View File

@ -6895,7 +6895,7 @@ Messaggio di debug:</translation>
</message> </message>
<message> <message>
<location filename="../../src/yuzu/uisettings.h" line="242"/> <location filename="../../src/yuzu/uisettings.h" line="242"/>
<source>Exit yuzu</source> <source>Exit suyu</source>
<translation>Esci da yuzu</translation> <translation>Esci da yuzu</translation>
</message> </message>
<message> <message>

View File

@ -6881,7 +6881,7 @@ Debug Message: </source>
</message> </message>
<message> <message>
<location filename="../../src/yuzu/uisettings.h" line="242"/> <location filename="../../src/yuzu/uisettings.h" line="242"/>
<source>Exit yuzu</source> <source>Exit suyu</source>
<translation>yuzuを終了</translation> <translation>yuzuを終了</translation>
</message> </message>
<message> <message>

View File

@ -6880,7 +6880,7 @@ Debug Message: </source>
</message> </message>
<message> <message>
<location filename="../../src/yuzu/uisettings.h" line="242"/> <location filename="../../src/yuzu/uisettings.h" line="242"/>
<source>Exit yuzu</source> <source>Exit suyu</source>
<translation>yuzu </translation> <translation>yuzu </translation>
</message> </message>
<message> <message>

View File

@ -6885,7 +6885,7 @@ Feilmelding:</translation>
</message> </message>
<message> <message>
<location filename="../../src/yuzu/uisettings.h" line="242"/> <location filename="../../src/yuzu/uisettings.h" line="242"/>
<source>Exit yuzu</source> <source>Exit suyu</source>
<translation>Avslutt yuzu</translation> <translation>Avslutt yuzu</translation>
</message> </message>
<message> <message>

View File

@ -6873,7 +6873,7 @@ Debug-bericht: </translation>
</message> </message>
<message> <message>
<location filename="../../src/yuzu/uisettings.h" line="242"/> <location filename="../../src/yuzu/uisettings.h" line="242"/>
<source>Exit yuzu</source> <source>Exit suyu</source>
<translation>yuzu afsluiten</translation> <translation>yuzu afsluiten</translation>
</message> </message>
<message> <message>

View File

@ -6876,7 +6876,7 @@ Komunikat debugowania:</translation>
</message> </message>
<message> <message>
<location filename="../../src/yuzu/uisettings.h" line="242"/> <location filename="../../src/yuzu/uisettings.h" line="242"/>
<source>Exit yuzu</source> <source>Exit suyu</source>
<translation>Wyjdź z yuzu</translation> <translation>Wyjdź z yuzu</translation>
</message> </message>
<message> <message>

View File

@ -6934,7 +6934,7 @@ Mensagem de depuração:</translation>
</message> </message>
<message> <message>
<location filename="../../src/yuzu/uisettings.h" line="242"/> <location filename="../../src/yuzu/uisettings.h" line="242"/>
<source>Exit yuzu</source> <source>Exit suyu</source>
<translation>Sair do yuzu</translation> <translation>Sair do yuzu</translation>
</message> </message>
<message> <message>

View File

@ -6917,7 +6917,7 @@ Mensagem de depuração:</translation>
</message> </message>
<message> <message>
<location filename="../../src/yuzu/uisettings.h" line="242"/> <location filename="../../src/yuzu/uisettings.h" line="242"/>
<source>Exit yuzu</source> <source>Exit suyu</source>
<translation>Sair do yuzu</translation> <translation>Sair do yuzu</translation>
</message> </message>
<message> <message>

View File

@ -6930,7 +6930,7 @@ Debug Message: </source>
</message> </message>
<message> <message>
<location filename="../../src/yuzu/uisettings.h" line="242"/> <location filename="../../src/yuzu/uisettings.h" line="242"/>
<source>Exit yuzu</source> <source>Exit suyu</source>
<translation>Выйти из yuzu</translation> <translation>Выйти из yuzu</translation>
</message> </message>
<message> <message>

View File

@ -6854,7 +6854,7 @@ Debug Message: </source>
</message> </message>
<message> <message>
<location filename="../../src/yuzu/uisettings.h" line="242"/> <location filename="../../src/yuzu/uisettings.h" line="242"/>
<source>Exit yuzu</source> <source>Exit suyu</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>

View File

@ -6876,7 +6876,7 @@ Debug Message: </source>
</message> </message>
<message> <message>
<location filename="../../src/yuzu/uisettings.h" line="242"/> <location filename="../../src/yuzu/uisettings.h" line="242"/>
<source>Exit yuzu</source> <source>Exit suyu</source>
<translation>Yuzu&apos;dan çık</translation> <translation>Yuzu&apos;dan çık</translation>
</message> </message>
<message> <message>

View File

@ -6889,7 +6889,7 @@ Debug Message: </source>
</message> </message>
<message> <message>
<location filename="../../src/yuzu/uisettings.h" line="242"/> <location filename="../../src/yuzu/uisettings.h" line="242"/>
<source>Exit yuzu</source> <source>Exit suyu</source>
<translation>Вийти з yuzu</translation> <translation>Вийти з yuzu</translation>
</message> </message>
<message> <message>

View File

@ -6882,7 +6882,7 @@ Tin nhắn gỡ lỗi:</translation>
</message> </message>
<message> <message>
<location filename="../../src/yuzu/uisettings.h" line="242"/> <location filename="../../src/yuzu/uisettings.h" line="242"/>
<source>Exit yuzu</source> <source>Exit suyu</source>
<translation>Thoát yuzu</translation> <translation>Thoát yuzu</translation>
</message> </message>
<message> <message>

View File

@ -6882,7 +6882,7 @@ Tin nhắn gỡ lỗi:</translation>
</message> </message>
<message> <message>
<location filename="../../src/yuzu/uisettings.h" line="242"/> <location filename="../../src/yuzu/uisettings.h" line="242"/>
<source>Exit yuzu</source> <source>Exit suyu</source>
<translation>Thoát yuzu</translation> <translation>Thoát yuzu</translation>
</message> </message>
<message> <message>

View File

@ -6930,7 +6930,7 @@ Debug Message: </source>
</message> </message>
<message> <message>
<location filename="../../src/yuzu/uisettings.h" line="242"/> <location filename="../../src/yuzu/uisettings.h" line="242"/>
<source>Exit yuzu</source> <source>Exit suyu</source>
<translation>退 yuzu</translation> <translation>退 yuzu</translation>
</message> </message>
<message> <message>

View File

@ -6926,7 +6926,7 @@ Debug Message: </source>
</message> </message>
<message> <message>
<location filename="../../src/yuzu/uisettings.h" line="242"/> <location filename="../../src/yuzu/uisettings.h" line="242"/>
<source>Exit yuzu</source> <source>Exit suyu</source>
<translation> yuzu</translation> <translation> yuzu</translation>
</message> </message>
<message> <message>

View File

@ -8,8 +8,8 @@ Name=suyu
GenericName=Switch Emulator GenericName=Switch Emulator
Comment=Nintendo Switch video game console emulator Comment=Nintendo Switch video game console emulator
Icon=org.suyu_emu.suyu Icon=org.suyu_emu.suyu
TryExec=suyu TryExec=yuzu
Exec=suyu %f Exec=yuzu %f
Categories=Game;Emulator;Qt; Categories=Game;Emulator;Qt;
MimeType=application/x-nx-nro;application/x-nx-nso;application/x-nx-nsp;application/x-nx-xci; MimeType=application/x-nx-nro;application/x-nx-nso;application/x-nx-nsp;application/x-nx-xci;
Keywords=Nintendo;Switch; Keywords=Nintendo;Switch;

BIN
dist/suyu.icns vendored Normal file

Binary file not shown.

BIN
dist/yuzu.icns vendored

Binary file not shown.

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#include <codecvt> #include <codecvt>
@ -659,7 +659,7 @@ void Java_org_yuzu_yuzu_1emu_NativeLibrary_submitInlineKeyboardInput(JNIEnv* env
void Java_org_yuzu_yuzu_1emu_NativeLibrary_initializeEmptyUserDirectory(JNIEnv* env, void Java_org_yuzu_yuzu_1emu_NativeLibrary_initializeEmptyUserDirectory(JNIEnv* env,
jobject instance) { jobject instance) {
const auto nand_dir = Common::FS::GetYuzuPath(Common::FS::YuzuPath::NANDDir); const auto nand_dir = Common::FS::GetSuyuPath(Common::FS::SuyuPath::NANDDir);
auto vfs_nand_dir = EmulationSession::GetInstance().System().GetFilesystem()->OpenDirectory( auto vfs_nand_dir = EmulationSession::GetInstance().System().GetFilesystem()->OpenDirectory(
Common::FS::PathToUTF8String(nand_dir), FileSys::OpenMode::Read); Common::FS::PathToUTF8String(nand_dir), FileSys::OpenMode::Read);
@ -831,7 +831,7 @@ jstring Java_org_yuzu_yuzu_1emu_NativeLibrary_getSavePath(JNIEnv* env, jobject j
const auto user_id = manager.GetUser(static_cast<std::size_t>(0)); const auto user_id = manager.GetUser(static_cast<std::size_t>(0));
ASSERT(user_id); ASSERT(user_id);
const auto nandDir = Common::FS::GetYuzuPath(Common::FS::YuzuPath::NANDDir); const auto nandDir = Common::FS::GetSuyuPath(Common::FS::SuyuPath::NANDDir);
auto vfsNandDir = system.GetFilesystem()->OpenDirectory(Common::FS::PathToUTF8String(nandDir), auto vfsNandDir = system.GetFilesystem()->OpenDirectory(Common::FS::PathToUTF8String(nandDir),
FileSys::OpenMode::Read); FileSys::OpenMode::Read);

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: 2024 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#include <common/fs/fs.h> #include <common/fs/fs.h>
@ -44,7 +44,7 @@ bool IsProfileNameValid(std::string_view profile_name) {
} }
bool ProfileExistsInFilesystem(std::string_view profile_name) { bool ProfileExistsInFilesystem(std::string_view profile_name) {
return Common::FS::Exists(Common::FS::GetYuzuPath(Common::FS::YuzuPath::ConfigDir) / "input" / return Common::FS::Exists(Common::FS::GetSuyuPath(Common::FS::SuyuPath::ConfigDir) / "input" /
fmt::format("{}.ini", profile_name)); fmt::format("{}.ini", profile_name));
} }
@ -304,7 +304,7 @@ void Java_org_yuzu_yuzu_1emu_features_input_NativeInput_loadInputProfiles(JNIEnv
jobject j_obj) { jobject j_obj) {
map_profiles.clear(); map_profiles.clear();
const auto input_profile_loc = const auto input_profile_loc =
Common::FS::GetYuzuPath(Common::FS::YuzuPath::ConfigDir) / "input"; Common::FS::GetSuyuPath(Common::FS::SuyuPath::ConfigDir) / "input";
if (Common::FS::IsDir(input_profile_loc)) { if (Common::FS::IsDir(input_profile_loc)) {
Common::FS::IterateDirEntries( Common::FS::IterateDirEntries(

View File

@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: 2018 yuzu Emulator Project # SPDX-FileCopyrightText: 2018 yuzu Emulator Project & 2024 suyu Emulator Project
# SPDX-License-Identifier: GPL-2.0-or-later # SPDX-License-Identifier: GPL-2.0-or-later
if (DEFINED ENV{AZURECIREPO}) if (DEFINED ENV{AZURECIREPO})
@ -161,8 +161,8 @@ add_library(common STATIC
zstd_compression.h zstd_compression.h
) )
if (YUZU_ENABLE_PORTABLE) if (SUYU_ENABLE_PORTABLE)
add_compile_definitions(YUZU_ENABLE_PORTABLE) add_compile_definitions(SUYU_ENABLE_PORTABLE)
endif() endif()
if (WIN32) if (WIN32)

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#pragma once #pragma once
@ -109,11 +109,11 @@ __declspec(dllimport) void __stdcall DebugBreak(void);
return static_cast<T>(key) == 0; \ return static_cast<T>(key) == 0; \
} }
#define YUZU_NON_COPYABLE(cls) \ #define SUYU_NON_COPYABLE(cls) \
cls(const cls&) = delete; \ cls(const cls&) = delete; \
cls& operator=(const cls&) = delete cls& operator=(const cls&) = delete
#define YUZU_NON_MOVEABLE(cls) \ #define SUYU_NON_MOVEABLE(cls) \
cls(cls&&) = delete; \ cls(cls&&) = delete; \
cls& operator=(cls&&) = delete cls& operator=(cls&&) = delete

View File

@ -1,14 +1,14 @@
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#pragma once #pragma once
// yuzu data directories // suyu data directories
#define YUZU_DIR "suyu" #define SUYU_DIR "suyu"
#define PORTABLE_DIR "user" #define PORTABLE_DIR "user"
// Sub-directories contained within a yuzu data directory // Sub-directories contained within a suyu data directory
#define AMIIBO_DIR "amiibo" #define AMIIBO_DIR "amiibo"
#define CACHE_DIR "cache" #define CACHE_DIR "cache"
@ -26,6 +26,6 @@
#define TAS_DIR "tas" #define TAS_DIR "tas"
#define ICONS_DIR "icons" #define ICONS_DIR "icons"
// yuzu-specific files // suyu-specific files
#define LOG_FILE "suyu_log.txt" #define LOG_FILE "suyu_log.txt"

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#include <algorithm> #include <algorithm>
@ -56,10 +56,10 @@ namespace fs = std::filesystem;
/** /**
* The PathManagerImpl is a singleton allowing to manage the mapping of * The PathManagerImpl is a singleton allowing to manage the mapping of
* YuzuPath enums to real filesystem paths. * SuyuPath enums to real filesystem paths.
* This class provides 2 functions: GetYuzuPathImpl and SetYuzuPathImpl. * This class provides 2 functions: GetSuyuPathImpl and SetSuyuPathImpl.
* These are used by GetYuzuPath and SetYuzuPath respectively to get or modify * These are used by GetSuyuPath and SetSuyuPath respectively to get or modify
* the path mapped by the YuzuPath enum. * the path mapped by the SuyuPath enum.
*/ */
class PathManagerImpl { class PathManagerImpl {
public: public:
@ -75,62 +75,62 @@ public:
PathManagerImpl(PathManagerImpl&&) = delete; PathManagerImpl(PathManagerImpl&&) = delete;
PathManagerImpl& operator=(PathManagerImpl&&) = delete; PathManagerImpl& operator=(PathManagerImpl&&) = delete;
[[nodiscard]] const fs::path& GetYuzuPathImpl(YuzuPath yuzu_path) { [[nodiscard]] const fs::path& GetSuyuPathImpl(SuyuPath suyu_path) {
return yuzu_paths.at(yuzu_path); return suyu_paths.at(suyu_path);
} }
void SetYuzuPathImpl(YuzuPath yuzu_path, const fs::path& new_path) { void SetSuyuPathImpl(SuyuPath suyu_path, const fs::path& new_path) {
yuzu_paths.insert_or_assign(yuzu_path, new_path); suyu_paths.insert_or_assign(suyu_path, new_path);
} }
void Reinitialize(fs::path yuzu_path = {}) { void Reinitialize(fs::path suyu_path = {}) {
fs::path yuzu_path_cache; fs::path suyu_path_cache;
fs::path yuzu_path_config; fs::path suyu_path_config;
#ifdef _WIN32 #ifdef _WIN32
#ifdef YUZU_ENABLE_PORTABLE #ifdef SUYU_ENABLE_PORTABLE
yuzu_path = GetExeDirectory() / PORTABLE_DIR; suyu_path = GetExeDirectory() / PORTABLE_DIR;
#endif #endif
if (!IsDir(yuzu_path)) { if (!IsDir(suyu_path)) {
yuzu_path = GetAppDataRoamingDirectory() / YUZU_DIR; suyu_path = GetAppDataRoamingDirectory() / SUYU_DIR;
} }
yuzu_path_cache = yuzu_path / CACHE_DIR; suyu_path_cache = suyu_path / CACHE_DIR;
yuzu_path_config = yuzu_path / CONFIG_DIR; suyu_path_config = suyu_path / CONFIG_DIR;
#elif ANDROID #elif ANDROID
ASSERT(!yuzu_path.empty()); ASSERT(!suyu_path.empty());
yuzu_path_cache = yuzu_path / CACHE_DIR; suyu_path_cache = suyu_path / CACHE_DIR;
yuzu_path_config = yuzu_path / CONFIG_DIR; suyu_path_config = suyu_path / CONFIG_DIR;
#else #else
#ifdef YUZU_ENABLE_PORTABLE #ifdef SUYU_ENABLE_PORTABLE
yuzu_path = GetCurrentDir() / PORTABLE_DIR; suyu_path = GetCurrentDir() / PORTABLE_DIR;
#endif #endif
if (Exists(yuzu_path) && IsDir(yuzu_path)) { if (Exists(suyu_path) && IsDir(suyu_path)) {
yuzu_path_cache = yuzu_path / CACHE_DIR; suyu_path_cache = suyu_path / CACHE_DIR;
yuzu_path_config = yuzu_path / CONFIG_DIR; suyu_path_config = suyu_path / CONFIG_DIR;
} else { } else {
yuzu_path = GetDataDirectory("XDG_DATA_HOME") / YUZU_DIR; suyu_path = GetDataDirectory("XDG_DATA_HOME") / SUYU_DIR;
yuzu_path_cache = GetDataDirectory("XDG_CACHE_HOME") / YUZU_DIR; suyu_path_cache = GetDataDirectory("XDG_CACHE_HOME") / SUYU_DIR;
yuzu_path_config = GetDataDirectory("XDG_CONFIG_HOME") / YUZU_DIR; suyu_path_config = GetDataDirectory("XDG_CONFIG_HOME") / SUYU_DIR;
} }
#endif #endif
GenerateYuzuPath(YuzuPath::YuzuDir, yuzu_path); GenerateSuyuPath(SuyuPath::SuyuDir, suyu_path);
GenerateYuzuPath(YuzuPath::AmiiboDir, yuzu_path / AMIIBO_DIR); GenerateSuyuPath(SuyuPath::AmiiboDir, suyu_path / AMIIBO_DIR);
GenerateYuzuPath(YuzuPath::CacheDir, yuzu_path_cache); GenerateSuyuPath(SuyuPath::CacheDir, suyu_path_cache);
GenerateYuzuPath(YuzuPath::ConfigDir, yuzu_path_config); GenerateSuyuPath(SuyuPath::ConfigDir, suyu_path_config);
GenerateYuzuPath(YuzuPath::CrashDumpsDir, yuzu_path / CRASH_DUMPS_DIR); GenerateSuyuPath(SuyuPath::CrashDumpsDir, suyu_path / CRASH_DUMPS_DIR);
GenerateYuzuPath(YuzuPath::DumpDir, yuzu_path / DUMP_DIR); GenerateSuyuPath(SuyuPath::DumpDir, suyu_path / DUMP_DIR);
GenerateYuzuPath(YuzuPath::KeysDir, yuzu_path / KEYS_DIR); GenerateSuyuPath(SuyuPath::KeysDir, suyu_path / KEYS_DIR);
GenerateYuzuPath(YuzuPath::LoadDir, yuzu_path / LOAD_DIR); GenerateSuyuPath(SuyuPath::LoadDir, suyu_path / LOAD_DIR);
GenerateYuzuPath(YuzuPath::LogDir, yuzu_path / LOG_DIR); GenerateSuyuPath(SuyuPath::LogDir, suyu_path / LOG_DIR);
GenerateYuzuPath(YuzuPath::NANDDir, yuzu_path / NAND_DIR); GenerateSuyuPath(SuyuPath::NANDDir, suyu_path / NAND_DIR);
GenerateYuzuPath(YuzuPath::PlayTimeDir, yuzu_path / PLAY_TIME_DIR); GenerateSuyuPath(SuyuPath::PlayTimeDir, suyu_path / PLAY_TIME_DIR);
GenerateYuzuPath(YuzuPath::ScreenshotsDir, yuzu_path / SCREENSHOTS_DIR); GenerateSuyuPath(SuyuPath::ScreenshotsDir, suyu_path / SCREENSHOTS_DIR);
GenerateYuzuPath(YuzuPath::SDMCDir, yuzu_path / SDMC_DIR); GenerateSuyuPath(SuyuPath::SDMCDir, suyu_path / SDMC_DIR);
GenerateYuzuPath(YuzuPath::ShaderDir, yuzu_path / SHADER_DIR); GenerateSuyuPath(SuyuPath::ShaderDir, suyu_path / SHADER_DIR);
GenerateYuzuPath(YuzuPath::TASDir, yuzu_path / TAS_DIR); GenerateSuyuPath(SuyuPath::TASDir, suyu_path / TAS_DIR);
GenerateYuzuPath(YuzuPath::IconsDir, yuzu_path / ICONS_DIR); GenerateSuyuPath(SuyuPath::IconsDir, suyu_path / ICONS_DIR);
} }
private: private:
@ -140,13 +140,13 @@ private:
~PathManagerImpl() = default; ~PathManagerImpl() = default;
void GenerateYuzuPath(YuzuPath yuzu_path, const fs::path& new_path) { void GenerateSuyuPath(SuyuPath suyu_path, const fs::path& new_path) {
void(FS::CreateDir(new_path)); void(FS::CreateDir(new_path));
SetYuzuPathImpl(yuzu_path, new_path); SetSuyuPathImpl(suyu_path, new_path);
} }
std::unordered_map<YuzuPath, fs::path> yuzu_paths; std::unordered_map<SuyuPath, fs::path> suyu_paths;
}; };
bool ValidatePath(const fs::path& path) { bool ValidatePath(const fs::path& path) {
@ -230,22 +230,22 @@ void SetAppDirectory(const std::string& app_directory) {
PathManagerImpl::GetInstance().Reinitialize(app_directory); PathManagerImpl::GetInstance().Reinitialize(app_directory);
} }
const fs::path& GetYuzuPath(YuzuPath yuzu_path) { const fs::path& GetSuyuPath(SuyuPath suyu_path) {
return PathManagerImpl::GetInstance().GetYuzuPathImpl(yuzu_path); return PathManagerImpl::GetInstance().GetSuyuPathImpl(suyu_path);
} }
std::string GetYuzuPathString(YuzuPath yuzu_path) { std::string GetSuyuPathString(SuyuPath suyu_path) {
return PathToUTF8String(GetYuzuPath(yuzu_path)); return PathToUTF8String(GetSuyuPath(suyu_path));
} }
void SetYuzuPath(YuzuPath yuzu_path, const fs::path& new_path) { void SetSuyuPath(SuyuPath suyu_path, const fs::path& new_path) {
if (!FS::IsDir(new_path)) { if (!FS::IsDir(new_path)) {
LOG_ERROR(Common_Filesystem, "Filesystem object at new_path={} is not a directory", LOG_ERROR(Common_Filesystem, "Filesystem object at new_path={} is not a directory",
PathToUTF8String(new_path)); PathToUTF8String(new_path));
return; return;
} }
PathManagerImpl::GetInstance().SetYuzuPathImpl(yuzu_path, new_path); PathManagerImpl::GetInstance().SetSuyuPathImpl(suyu_path, new_path);
} }
#ifdef _WIN32 #ifdef _WIN32

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#pragma once #pragma once
@ -10,8 +10,8 @@
namespace Common::FS { namespace Common::FS {
enum class YuzuPath { enum class SuyuPath {
YuzuDir, // Where yuzu stores its data. SuyuDir, // Where suyu stores its data.
AmiiboDir, // Where Amiibo backups are stored. AmiiboDir, // Where Amiibo backups are stored.
CacheDir, // Where cached filesystem data is stored. CacheDir, // Where cached filesystem data is stored.
ConfigDir, // Where config files are stored. ConfigDir, // Where config files are stored.
@ -22,7 +22,7 @@ enum class YuzuPath {
LogDir, // Where log files are stored. LogDir, // Where log files are stored.
NANDDir, // Where the emulated NAND is stored. NANDDir, // Where the emulated NAND is stored.
PlayTimeDir, // Where play time data is stored. PlayTimeDir, // Where play time data is stored.
ScreenshotsDir, // Where yuzu screenshots are stored. ScreenshotsDir, // Where suyu screenshots are stored.
SDMCDir, // Where the emulated SDMC is stored. SDMCDir, // Where the emulated SDMC is stored.
ShaderDir, // Where shaders are stored. ShaderDir, // Where shaders are stored.
TASDir, // Where TAS scripts are stored. TASDir, // Where TAS scripts are stored.
@ -193,39 +193,39 @@ template <typename Path>
void SetAppDirectory(const std::string& app_directory); void SetAppDirectory(const std::string& app_directory);
/** /**
* Gets the filesystem path associated with the YuzuPath enum. * Gets the filesystem path associated with the SuyuPath enum.
* *
* @param yuzu_path YuzuPath enum * @param suyu_path SuyuPath enum
* *
* @returns The filesystem path associated with the YuzuPath enum. * @returns The filesystem path associated with the SuyuPath enum.
*/ */
[[nodiscard]] const std::filesystem::path& GetYuzuPath(YuzuPath yuzu_path); [[nodiscard]] const std::filesystem::path& GetSuyuPath(SuyuPath suyu_path);
/** /**
* Gets the filesystem path associated with the YuzuPath enum as a UTF-8 encoded std::string. * Gets the filesystem path associated with the SuyuPath enum as a UTF-8 encoded std::string.
* *
* @param yuzu_path YuzuPath enum * @param suyu_path SuyuPath enum
* *
* @returns The filesystem path associated with the YuzuPath enum as a UTF-8 encoded std::string. * @returns The filesystem path associated with the SuyuPath enum as a UTF-8 encoded std::string.
*/ */
[[nodiscard]] std::string GetYuzuPathString(YuzuPath yuzu_path); [[nodiscard]] std::string GetSuyuPathString(SuyuPath suyu_path);
/** /**
* Sets a new filesystem path associated with the YuzuPath enum. * Sets a new filesystem path associated with the SuyuPath enum.
* If the filesystem object at new_path is not a directory, this function will not do anything. * If the filesystem object at new_path is not a directory, this function will not do anything.
* *
* @param yuzu_path YuzuPath enum * @param suyu_path SuyuPath enum
* @param new_path New filesystem path * @param new_path New filesystem path
*/ */
void SetYuzuPath(YuzuPath yuzu_path, const std::filesystem::path& new_path); void SetSuyuPath(SuyuPath suyu_path, const std::filesystem::path& new_path);
#ifdef _WIN32 #ifdef _WIN32
template <typename Path> template <typename Path>
void SetYuzuPath(YuzuPath yuzu_path, const Path& new_path) { void SetSuyuPath(SuyuPath suyu_path, const Path& new_path) {
if constexpr (IsChar<typename Path::value_type>) { if constexpr (IsChar<typename Path::value_type>) {
SetYuzuPath(yuzu_path, ToU8String(new_path)); SetSuyuPath(suyu_path, ToU8String(new_path));
} else { } else {
SetYuzuPath(yuzu_path, std::filesystem::path{new_path}); SetSuyuPath(suyu_path, std::filesystem::path{new_path});
} }
} }
#endif #endif
@ -257,14 +257,14 @@ void SetYuzuPath(YuzuPath yuzu_path, const Path& new_path) {
[[nodiscard]] std::filesystem::path GetHomeDirectory(); [[nodiscard]] std::filesystem::path GetHomeDirectory();
/** /**
* Gets the relevant paths for yuzu to store its data based on the given XDG environment variable. * Gets the relevant paths for suyu to store its data based on the given XDG environment variable.
* See https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html * See https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
* Defaults to $HOME/.local/share for main application data, * Defaults to $HOME/.local/share for main application data,
* $HOME/.cache for cached data, and $HOME/.config for configuration files. * $HOME/.cache for cached data, and $HOME/.config for configuration files.
* *
* @param env_name XDG environment variable name * @param env_name XDG environment variable name
* *
* @returns The path where yuzu should store its data. * @returns The path where suyu should store its data.
*/ */
[[nodiscard]] std::filesystem::path GetDataDirectory(const std::string& env_name); [[nodiscard]] std::filesystem::path GetDataDirectory(const std::string& env_name);
@ -288,11 +288,11 @@ enum class DirectorySeparator {
}; };
// Splits the path on '/' or '\' and put the components into a vector // Splits the path on '/' or '\' and put the components into a vector
// i.e. "C:\Users\Yuzu\Documents\save.bin" becomes {"C:", "Users", "Yuzu", "Documents", "save.bin" } // i.e. "C:\Users\Suyu\Documents\save.bin" becomes {"C:", "Users", "Suyu", "Documents", "save.bin" }
[[nodiscard]] std::vector<std::string_view> SplitPathComponents(std::string_view filename); [[nodiscard]] std::vector<std::string_view> SplitPathComponents(std::string_view filename);
// Splits the path on '/' or '\' and put the components into a vector // Splits the path on '/' or '\' and put the components into a vector
// i.e. "C:\Users\Yuzu\Documents\save.bin" becomes {"C:", "Users", "Yuzu", "Documents", "save.bin" } // i.e. "C:\Users\Suyu\Documents\save.bin" becomes {"C:", "Users", "Suyu", "Documents", "save.bin" }
[[nodiscard]] std::vector<std::string> SplitPathComponentsCopy(std::string_view filename); [[nodiscard]] std::vector<std::string> SplitPathComponentsCopy(std::string_view filename);
// Removes trailing slash, makes all '\\' into '/', and removes duplicate '/'. Makes '/' into '\\' // Removes trailing slash, makes all '\\' into '/', and removes duplicate '/'. Makes '/' into '\\'

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#pragma once #pragma once
@ -16,7 +16,7 @@ class IntrusiveListImpl;
} }
class IntrusiveListNode { class IntrusiveListNode {
YUZU_NON_COPYABLE(IntrusiveListNode); SUYU_NON_COPYABLE(IntrusiveListNode);
private: private:
friend class impl::IntrusiveListImpl; friend class impl::IntrusiveListImpl;
@ -96,7 +96,7 @@ private:
namespace impl { namespace impl {
class IntrusiveListImpl { class IntrusiveListImpl {
YUZU_NON_COPYABLE(IntrusiveListImpl); SUYU_NON_COPYABLE(IntrusiveListImpl);
private: private:
IntrusiveListNode m_root_node; IntrusiveListNode m_root_node;
@ -302,7 +302,7 @@ private:
template <class T, class Traits> template <class T, class Traits>
class IntrusiveList { class IntrusiveList {
YUZU_NON_COPYABLE(IntrusiveList); SUYU_NON_COPYABLE(IntrusiveList);
private: private:
impl::IntrusiveListImpl m_impl; impl::IntrusiveListImpl m_impl;

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#pragma once #pragma once
@ -17,7 +17,7 @@ class IntrusiveRedBlackTreeImpl;
#pragma pack(push, 4) #pragma pack(push, 4)
struct IntrusiveRedBlackTreeNode { struct IntrusiveRedBlackTreeNode {
YUZU_NON_COPYABLE(IntrusiveRedBlackTreeNode); SUYU_NON_COPYABLE(IntrusiveRedBlackTreeNode);
public: public:
using RBEntry = freebsd::RBEntry<IntrusiveRedBlackTreeNode>; using RBEntry = freebsd::RBEntry<IntrusiveRedBlackTreeNode>;
@ -49,7 +49,7 @@ class IntrusiveRedBlackTree;
namespace impl { namespace impl {
class IntrusiveRedBlackTreeImpl { class IntrusiveRedBlackTreeImpl {
YUZU_NON_COPYABLE(IntrusiveRedBlackTreeImpl); SUYU_NON_COPYABLE(IntrusiveRedBlackTreeImpl);
private: private:
template <class, class, class> template <class, class, class>
@ -261,7 +261,7 @@ using RedBlackKeyType = std::remove_pointer_t<decltype(impl::GetRedBlackKeyType<
template <class T, class Traits, class Comparator> template <class T, class Traits, class Comparator>
class IntrusiveRedBlackTree { class IntrusiveRedBlackTree {
YUZU_NON_COPYABLE(IntrusiveRedBlackTree); SUYU_NON_COPYABLE(IntrusiveRedBlackTree);
public: public:
using ImplType = impl::IntrusiveRedBlackTreeImpl; using ImplType = impl::IntrusiveRedBlackTreeImpl;

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: 2014 Citra Emulator Project // SPDX-FileCopyrightText: 2014 Citra Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#include <atomic> #include <atomic>
@ -195,7 +195,7 @@ public:
return; return;
} }
using namespace Common::FS; using namespace Common::FS;
const auto& log_dir = GetYuzuPath(YuzuPath::LogDir); const auto& log_dir = GetSuyuPath(SuyuPath::LogDir);
void(CreateDir(log_dir)); void(CreateDir(log_dir));
Filter filter; Filter filter;
filter.ParseFilterString(Settings::values.log_filter.GetValue()); filter.ParseFilterString(Settings::values.log_filter.GetValue());

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#include <cstdlib> #include <cstdlib>
@ -14,7 +14,7 @@ namespace Common {
void ConfigureNvidiaEnvironmentFlags() { void ConfigureNvidiaEnvironmentFlags() {
#ifdef _WIN32 #ifdef _WIN32
const auto nvidia_shader_dir = const auto nvidia_shader_dir =
Common::FS::GetYuzuPath(Common::FS::YuzuPath::ShaderDir) / "nvidia"; Common::FS::GetSuyuPath(Common::FS::SuyuPath::ShaderDir) / "nvidia";
if (!Common::FS::CreateDirs(nvidia_shader_dir)) { if (!Common::FS::CreateDirs(nvidia_shader_dir)) {
return; return;

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: 2014 Citra Emulator Project // SPDX-FileCopyrightText: 2014 Citra Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#pragma once #pragma once
@ -9,7 +9,7 @@
namespace detail { namespace detail {
template <class F> template <class F>
class ScopeGuard { class ScopeGuard {
YUZU_NON_COPYABLE(ScopeGuard); SUYU_NON_COPYABLE(ScopeGuard);
private: private:
F f; F f;

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#include <version> #include <version>
@ -130,11 +130,11 @@ void LogSettings() {
log_setting(name, setting->Canonicalize()); log_setting(name, setting->Canonicalize());
} }
} }
log_path("DataStorage_CacheDir", Common::FS::GetYuzuPath(Common::FS::YuzuPath::CacheDir)); log_path("DataStorage_CacheDir", Common::FS::GetSuyuPath(Common::FS::SuyuPath::CacheDir));
log_path("DataStorage_ConfigDir", Common::FS::GetYuzuPath(Common::FS::YuzuPath::ConfigDir)); log_path("DataStorage_ConfigDir", Common::FS::GetSuyuPath(Common::FS::SuyuPath::ConfigDir));
log_path("DataStorage_LoadDir", Common::FS::GetYuzuPath(Common::FS::YuzuPath::LoadDir)); log_path("DataStorage_LoadDir", Common::FS::GetSuyuPath(Common::FS::SuyuPath::LoadDir));
log_path("DataStorage_NANDDir", Common::FS::GetYuzuPath(Common::FS::YuzuPath::NANDDir)); log_path("DataStorage_NANDDir", Common::FS::GetSuyuPath(Common::FS::SuyuPath::NANDDir));
log_path("DataStorage_SDMCDir", Common::FS::GetYuzuPath(Common::FS::YuzuPath::SDMCDir)); log_path("DataStorage_SDMCDir", Common::FS::GetSuyuPath(Common::FS::SuyuPath::SDMCDir));
} }
void UpdateGPUAccuracy() { void UpdateGPUAccuracy() {

View File

@ -1,6 +1,8 @@
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
// Modified by palfaiate on <2024/03/07>
#pragma once #pragma once
#include <algorithm> #include <algorithm>

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: 2017 Citra Emulator Project // SPDX-FileCopyrightText: 2017 Citra Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#pragma once #pragma once
@ -52,7 +52,7 @@ public:
template <typename T> template <typename T>
class Field : public FieldInterface { class Field : public FieldInterface {
public: public:
YUZU_NON_COPYABLE(Field); SUYU_NON_COPYABLE(Field);
Field(FieldType type_, std::string_view name_, T value_) Field(FieldType type_, std::string_view name_, T value_)
: name(name_), type(type_), value(std::move(value_)) {} : name(name_), type(type_), value(std::move(value_)) {}
@ -101,7 +101,7 @@ private:
*/ */
class FieldCollection final { class FieldCollection final {
public: public:
YUZU_NON_COPYABLE(FieldCollection); SUYU_NON_COPYABLE(FieldCollection);
FieldCollection() = default; FieldCollection() = default;
~FieldCollection() = default; ~FieldCollection() = default;
@ -168,7 +168,7 @@ struct VisitorInterface {
* backend implementation is not available. * backend implementation is not available.
*/ */
struct NullVisitor final : public VisitorInterface { struct NullVisitor final : public VisitorInterface {
YUZU_NON_COPYABLE(NullVisitor); SUYU_NON_COPYABLE(NullVisitor);
NullVisitor() = default; NullVisitor() = default;
~NullVisitor() override = default; ~NullVisitor() override = default;

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: 2014 Citra Emulator Project // SPDX-FileCopyrightText: 2014 Citra Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#pragma once #pragma once
@ -47,8 +47,8 @@ enum class Architecture {
/// Generic ARMv8 CPU interface /// Generic ARMv8 CPU interface
class ArmInterface { class ArmInterface {
public: public:
YUZU_NON_COPYABLE(ArmInterface); SUYU_NON_COPYABLE(ArmInterface);
YUZU_NON_MOVEABLE(ArmInterface); SUYU_NON_MOVEABLE(ArmInterface);
explicit ArmInterface(bool uses_wall_clock) : m_uses_wall_clock{uses_wall_clock} {} explicit ArmInterface(bool uses_wall_clock) : m_uses_wall_clock{uses_wall_clock} {}
virtual ~ArmInterface() = default; virtual ~ArmInterface() = default;

View File

@ -1,4 +1,4 @@
// 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 // SPDX-License-Identifier: GPL-2.0-or-later
#include <algorithm> #include <algorithm>
@ -372,7 +372,7 @@ Key128 DeriveKeyblobMACKey(const Key128& keyblob_key, const Key128& mac_source)
std::optional<Key128> DeriveSDSeed() { std::optional<Key128> DeriveSDSeed() {
const auto system_save_43_path = const auto system_save_43_path =
Common::FS::GetYuzuPath(Common::FS::YuzuPath::NANDDir) / "system/save/8000000000000043"; Common::FS::GetSuyuPath(Common::FS::SuyuPath::NANDDir) / "system/save/8000000000000043";
const Common::FS::IOFile save_43{system_save_43_path, Common::FS::FileAccessMode::Read, const Common::FS::IOFile save_43{system_save_43_path, Common::FS::FileAccessMode::Read,
Common::FS::FileType::BinaryFile}; Common::FS::FileType::BinaryFile};
@ -381,7 +381,7 @@ std::optional<Key128> DeriveSDSeed() {
} }
const auto sd_private_path = const auto sd_private_path =
Common::FS::GetYuzuPath(Common::FS::YuzuPath::SDMCDir) / "Nintendo/Contents/private"; Common::FS::GetSuyuPath(Common::FS::SuyuPath::SDMCDir) / "Nintendo/Contents/private";
const Common::FS::IOFile sd_private{sd_private_path, Common::FS::FileAccessMode::Read, const Common::FS::IOFile sd_private{sd_private_path, Common::FS::FileAccessMode::Read,
Common::FS::FileType::BinaryFile}; Common::FS::FileType::BinaryFile};
@ -640,7 +640,7 @@ KeyManager::KeyManager() {
void KeyManager::ReloadKeys() { void KeyManager::ReloadKeys() {
// Initialize keys // Initialize keys
const auto yuzu_keys_dir = Common::FS::GetYuzuPath(Common::FS::YuzuPath::KeysDir); const auto yuzu_keys_dir = Common::FS::GetSuyuPath(Common::FS::SuyuPath::KeysDir);
if (!Common::FS::CreateDir(yuzu_keys_dir)) { if (!Common::FS::CreateDir(yuzu_keys_dir)) {
LOG_ERROR(Core, "Failed to create the keys directory."); LOG_ERROR(Core, "Failed to create the keys directory.");
@ -861,7 +861,7 @@ void KeyManager::SetKey(S256KeyType id, Key256 key, u64 field1, u64 field2) {
} }
bool KeyManager::KeyFileExists(bool title) { bool KeyManager::KeyFileExists(bool title) {
const auto yuzu_keys_dir = Common::FS::GetYuzuPath(Common::FS::YuzuPath::KeysDir); const auto yuzu_keys_dir = Common::FS::GetSuyuPath(Common::FS::SuyuPath::KeysDir);
if (title) { if (title) {
return Common::FS::Exists(yuzu_keys_dir / "title.keys"); return Common::FS::Exists(yuzu_keys_dir / "title.keys");
@ -1108,7 +1108,7 @@ void KeyManager::PopulateTickets() {
std::vector<Ticket> tickets; std::vector<Ticket> tickets;
const auto system_save_e1_path = const auto system_save_e1_path =
Common::FS::GetYuzuPath(Common::FS::YuzuPath::NANDDir) / "system/save/80000000000000e1"; Common::FS::GetSuyuPath(Common::FS::SuyuPath::NANDDir) / "system/save/80000000000000e1";
if (Common::FS::Exists(system_save_e1_path)) { if (Common::FS::Exists(system_save_e1_path)) {
const Common::FS::IOFile save_e1{system_save_e1_path, Common::FS::FileAccessMode::Read, const Common::FS::IOFile save_e1{system_save_e1_path, Common::FS::FileAccessMode::Read,
Common::FS::FileType::BinaryFile}; Common::FS::FileType::BinaryFile};
@ -1117,7 +1117,7 @@ void KeyManager::PopulateTickets() {
} }
const auto system_save_e2_path = const auto system_save_e2_path =
Common::FS::GetYuzuPath(Common::FS::YuzuPath::NANDDir) / "system/save/80000000000000e2"; Common::FS::GetSuyuPath(Common::FS::SuyuPath::NANDDir) / "system/save/80000000000000e2";
if (Common::FS::Exists(system_save_e2_path)) { if (Common::FS::Exists(system_save_e2_path)) {
const Common::FS::IOFile save_e2{system_save_e2_path, Common::FS::FileAccessMode::Read, const Common::FS::IOFile save_e2{system_save_e2_path, Common::FS::FileAccessMode::Read,
Common::FS::FileType::BinaryFile}; Common::FS::FileType::BinaryFile};

View File

@ -1,4 +1,4 @@
// 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 // SPDX-License-Identifier: GPL-2.0-or-later
#include <fmt/format.h> #include <fmt/format.h>
@ -83,7 +83,7 @@ VirtualFile BISFactory::OpenPartitionStorage(BisPartitionId id,
VirtualFilesystem file_system) const { VirtualFilesystem file_system) const {
auto& keys = Core::Crypto::KeyManager::Instance(); auto& keys = Core::Crypto::KeyManager::Instance();
Core::Crypto::PartitionDataManager pdm{file_system->OpenDirectory( Core::Crypto::PartitionDataManager pdm{file_system->OpenDirectory(
Common::FS::GetYuzuPathString(Common::FS::YuzuPath::NANDDir), OpenMode::Read)}; Common::FS::GetSuyuPathString(Common::FS::SuyuPath::NANDDir), OpenMode::Read)};
keys.PopulateFromPartitionData(pdm); keys.PopulateFromPartitionData(pdm);
switch (id) { switch (id) {

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#pragma once #pragma once
@ -15,8 +15,8 @@ namespace FileSys {
class DirectoryPathParser; class DirectoryPathParser;
class Path { class Path {
YUZU_NON_COPYABLE(Path); SUYU_NON_COPYABLE(Path);
YUZU_NON_MOVEABLE(Path); SUYU_NON_MOVEABLE(Path);
private: private:
static constexpr const char* EmptyPath = ""; static constexpr const char* EmptyPath = "";
@ -27,7 +27,7 @@ private:
public: public:
class WriteBuffer { class WriteBuffer {
YUZU_NON_COPYABLE(WriteBuffer); SUYU_NON_COPYABLE(WriteBuffer);
private: private:
char* m_buffer; char* m_buffer;

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#pragma once #pragma once
@ -14,8 +14,8 @@ namespace FileSys {
using namespace Common::Literals; using namespace Common::Literals;
class AesCtrCounterExtendedStorage : public IReadOnlyStorage { class AesCtrCounterExtendedStorage : public IReadOnlyStorage {
YUZU_NON_COPYABLE(AesCtrCounterExtendedStorage); SUYU_NON_COPYABLE(AesCtrCounterExtendedStorage);
YUZU_NON_MOVEABLE(AesCtrCounterExtendedStorage); SUYU_NON_MOVEABLE(AesCtrCounterExtendedStorage);
public: public:
static constexpr size_t BlockSize = 0x10; static constexpr size_t BlockSize = 0x10;

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#pragma once #pragma once
@ -14,8 +14,8 @@
namespace FileSys { namespace FileSys {
class AesCtrStorage : public IStorage { class AesCtrStorage : public IStorage {
YUZU_NON_COPYABLE(AesCtrStorage); SUYU_NON_COPYABLE(AesCtrStorage);
YUZU_NON_MOVEABLE(AesCtrStorage); SUYU_NON_MOVEABLE(AesCtrStorage);
public: public:
static constexpr size_t BlockSize = 0x10; static constexpr size_t BlockSize = 0x10;

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#pragma once #pragma once
@ -13,8 +13,8 @@
namespace FileSys { namespace FileSys {
class AesXtsStorage : public IReadOnlyStorage { class AesXtsStorage : public IReadOnlyStorage {
YUZU_NON_COPYABLE(AesXtsStorage); SUYU_NON_COPYABLE(AesXtsStorage);
YUZU_NON_MOVEABLE(AesXtsStorage); SUYU_NON_MOVEABLE(AesXtsStorage);
public: public:
static constexpr size_t AesBlockSize = 0x10; static constexpr size_t AesBlockSize = 0x10;

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#pragma once #pragma once
@ -13,8 +13,8 @@ namespace FileSys {
template <size_t DataAlign_, size_t BufferAlign_> template <size_t DataAlign_, size_t BufferAlign_>
class AlignmentMatchingStorage : public IStorage { class AlignmentMatchingStorage : public IStorage {
YUZU_NON_COPYABLE(AlignmentMatchingStorage); SUYU_NON_COPYABLE(AlignmentMatchingStorage);
YUZU_NON_MOVEABLE(AlignmentMatchingStorage); SUYU_NON_MOVEABLE(AlignmentMatchingStorage);
public: public:
static constexpr size_t DataAlign = DataAlign_; static constexpr size_t DataAlign = DataAlign_;
@ -77,8 +77,8 @@ public:
template <size_t BufferAlign_> template <size_t BufferAlign_>
class AlignmentMatchingStoragePooledBuffer : public IStorage { class AlignmentMatchingStoragePooledBuffer : public IStorage {
YUZU_NON_COPYABLE(AlignmentMatchingStoragePooledBuffer); SUYU_NON_COPYABLE(AlignmentMatchingStoragePooledBuffer);
YUZU_NON_MOVEABLE(AlignmentMatchingStoragePooledBuffer); SUYU_NON_MOVEABLE(AlignmentMatchingStoragePooledBuffer);
public: public:
static constexpr size_t BufferAlign = BufferAlign_; static constexpr size_t BufferAlign = BufferAlign_;

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#pragma once #pragma once
@ -18,8 +18,8 @@ namespace FileSys {
using namespace Common::Literals; using namespace Common::Literals;
class BucketTree { class BucketTree {
YUZU_NON_COPYABLE(BucketTree); SUYU_NON_COPYABLE(BucketTree);
YUZU_NON_MOVEABLE(BucketTree); SUYU_NON_MOVEABLE(BucketTree);
public: public:
static constexpr u32 Magic = Common::MakeMagic('B', 'K', 'T', 'R'); static constexpr u32 Magic = Common::MakeMagic('B', 'K', 'T', 'R');
@ -123,7 +123,7 @@ public:
private: private:
class NodeBuffer { class NodeBuffer {
YUZU_NON_COPYABLE(NodeBuffer); SUYU_NON_COPYABLE(NodeBuffer);
public: public:
NodeBuffer() : m_header() {} NodeBuffer() : m_header() {}
@ -330,8 +330,8 @@ private:
}; };
class BucketTree::Visitor { class BucketTree::Visitor {
YUZU_NON_COPYABLE(Visitor); SUYU_NON_COPYABLE(Visitor);
YUZU_NON_MOVEABLE(Visitor); SUYU_NON_MOVEABLE(Visitor);
public: public:
constexpr Visitor() constexpr Visitor()

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#pragma once #pragma once
@ -17,8 +17,8 @@ namespace FileSys {
using namespace Common::Literals; using namespace Common::Literals;
class CompressedStorage : public IReadOnlyStorage { class CompressedStorage : public IReadOnlyStorage {
YUZU_NON_COPYABLE(CompressedStorage); SUYU_NON_COPYABLE(CompressedStorage);
YUZU_NON_MOVEABLE(CompressedStorage); SUYU_NON_MOVEABLE(CompressedStorage);
public: public:
static constexpr size_t NodeSize = 16_KiB; static constexpr size_t NodeSize = 16_KiB;
@ -47,8 +47,8 @@ public:
private: private:
class CompressedStorageCore { class CompressedStorageCore {
YUZU_NON_COPYABLE(CompressedStorageCore); SUYU_NON_COPYABLE(CompressedStorageCore);
YUZU_NON_MOVEABLE(CompressedStorageCore); SUYU_NON_MOVEABLE(CompressedStorageCore);
public: public:
CompressedStorageCore() : m_table(), m_data_storage() {} CompressedStorageCore() : m_table(), m_data_storage() {}
@ -674,8 +674,8 @@ private:
}; };
class CacheManager { class CacheManager {
YUZU_NON_COPYABLE(CacheManager); SUYU_NON_COPYABLE(CacheManager);
YUZU_NON_MOVEABLE(CacheManager); SUYU_NON_MOVEABLE(CacheManager);
private: private:
struct AccessRange { struct AccessRange {

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#pragma once #pragma once
@ -57,8 +57,8 @@ struct HierarchicalIntegrityVerificationSizeSet {
static_assert(std::is_trivial_v<HierarchicalIntegrityVerificationSizeSet>); static_assert(std::is_trivial_v<HierarchicalIntegrityVerificationSizeSet>);
class HierarchicalIntegrityVerificationStorage : public IReadOnlyStorage { class HierarchicalIntegrityVerificationStorage : public IReadOnlyStorage {
YUZU_NON_COPYABLE(HierarchicalIntegrityVerificationStorage); SUYU_NON_COPYABLE(HierarchicalIntegrityVerificationStorage);
YUZU_NON_MOVEABLE(HierarchicalIntegrityVerificationStorage); SUYU_NON_MOVEABLE(HierarchicalIntegrityVerificationStorage);
public: public:
using GenerateRandomFunction = void (*)(void* dst, size_t size); using GenerateRandomFunction = void (*)(void* dst, size_t size);

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#pragma once #pragma once
@ -12,8 +12,8 @@
namespace FileSys { namespace FileSys {
class HierarchicalSha256Storage : public IReadOnlyStorage { class HierarchicalSha256Storage : public IReadOnlyStorage {
YUZU_NON_COPYABLE(HierarchicalSha256Storage); SUYU_NON_COPYABLE(HierarchicalSha256Storage);
YUZU_NON_MOVEABLE(HierarchicalSha256Storage); SUYU_NON_MOVEABLE(HierarchicalSha256Storage);
public: public:
static constexpr s32 LayerCount = 3; static constexpr s32 LayerCount = 3;

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#pragma once #pragma once
@ -13,8 +13,8 @@
namespace FileSys { namespace FileSys {
class IndirectStorage : public IReadOnlyStorage { class IndirectStorage : public IReadOnlyStorage {
YUZU_NON_COPYABLE(IndirectStorage); SUYU_NON_COPYABLE(IndirectStorage);
YUZU_NON_MOVEABLE(IndirectStorage); SUYU_NON_MOVEABLE(IndirectStorage);
public: public:
static constexpr s32 StorageCount = 2; static constexpr s32 StorageCount = 2;

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#pragma once #pragma once
@ -11,8 +11,8 @@
namespace FileSys { namespace FileSys {
class IntegrityVerificationStorage : public IReadOnlyStorage { class IntegrityVerificationStorage : public IReadOnlyStorage {
YUZU_NON_COPYABLE(IntegrityVerificationStorage); SUYU_NON_COPYABLE(IntegrityVerificationStorage);
YUZU_NON_MOVEABLE(IntegrityVerificationStorage); SUYU_NON_MOVEABLE(IntegrityVerificationStorage);
public: public:
static constexpr s64 HashSize = 256 / 8; static constexpr s64 HashSize = 256 / 8;

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#pragma once #pragma once
@ -8,8 +8,8 @@
namespace FileSys { namespace FileSys {
class MemoryResourceBufferHoldStorage : public IStorage { class MemoryResourceBufferHoldStorage : public IStorage {
YUZU_NON_COPYABLE(MemoryResourceBufferHoldStorage); SUYU_NON_COPYABLE(MemoryResourceBufferHoldStorage);
YUZU_NON_MOVEABLE(MemoryResourceBufferHoldStorage); SUYU_NON_MOVEABLE(MemoryResourceBufferHoldStorage);
public: public:
MemoryResourceBufferHoldStorage(VirtualFile storage, size_t buffer_size) MemoryResourceBufferHoldStorage(VirtualFile storage, size_t buffer_size)

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#include "core/file_sys/fssystem/fssystem_aes_ctr_counter_extended_storage.h" #include "core/file_sys/fssystem/fssystem_aes_ctr_counter_extended_storage.h"
@ -28,8 +28,8 @@ constexpr inline s32 IntegrityDataCacheCountForMeta = 16;
constexpr inline s32 IntegrityHashCacheCountForMeta = 2; constexpr inline s32 IntegrityHashCacheCountForMeta = 2;
class SharedNcaBodyStorage : public IReadOnlyStorage { class SharedNcaBodyStorage : public IReadOnlyStorage {
YUZU_NON_COPYABLE(SharedNcaBodyStorage); SUYU_NON_COPYABLE(SharedNcaBodyStorage);
YUZU_NON_MOVEABLE(SharedNcaBodyStorage); SUYU_NON_MOVEABLE(SharedNcaBodyStorage);
private: private:
VirtualFile m_storage; VirtualFile m_storage;

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#pragma once #pragma once
@ -88,8 +88,8 @@ constexpr inline s32 GetKeyTypeValue(u8 key_index, u8 key_generation) {
} }
class NcaReader { class NcaReader {
YUZU_NON_COPYABLE(NcaReader); SUYU_NON_COPYABLE(NcaReader);
YUZU_NON_MOVEABLE(NcaReader); SUYU_NON_MOVEABLE(NcaReader);
public: public:
NcaReader(); NcaReader();
@ -154,8 +154,8 @@ private:
}; };
class NcaFsHeaderReader { class NcaFsHeaderReader {
YUZU_NON_COPYABLE(NcaFsHeaderReader); SUYU_NON_COPYABLE(NcaFsHeaderReader);
YUZU_NON_MOVEABLE(NcaFsHeaderReader); SUYU_NON_MOVEABLE(NcaFsHeaderReader);
public: public:
NcaFsHeaderReader() : m_fs_index(-1) { NcaFsHeaderReader() : m_fs_index(-1) {
@ -207,8 +207,8 @@ private:
}; };
class NcaFileSystemDriver { class NcaFileSystemDriver {
YUZU_NON_COPYABLE(NcaFileSystemDriver); SUYU_NON_COPYABLE(NcaFileSystemDriver);
YUZU_NON_MOVEABLE(NcaFileSystemDriver); SUYU_NON_MOVEABLE(NcaFileSystemDriver);
public: public:
struct StorageContext { struct StorageContext {

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#pragma once #pragma once
@ -16,7 +16,7 @@ constexpr inline size_t BufferPoolAlignment = 4_KiB;
constexpr inline size_t BufferPoolWorkSize = 320; constexpr inline size_t BufferPoolWorkSize = 320;
class PooledBuffer { class PooledBuffer {
YUZU_NON_COPYABLE(PooledBuffer); SUYU_NON_COPYABLE(PooledBuffer);
public: public:
// Constructor/Destructor. // Constructor/Destructor.

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#pragma once #pragma once
@ -8,8 +8,8 @@
namespace FileSys { namespace FileSys {
class SparseStorage : public IndirectStorage { class SparseStorage : public IndirectStorage {
YUZU_NON_COPYABLE(SparseStorage); SUYU_NON_COPYABLE(SparseStorage);
YUZU_NON_MOVEABLE(SparseStorage); SUYU_NON_MOVEABLE(SparseStorage);
private: private:
class ZeroStorage : public IReadOnlyStorage { class ZeroStorage : public IReadOnlyStorage {

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#pragma once #pragma once
@ -8,8 +8,8 @@
namespace FileSys { namespace FileSys {
class RegionSwitchStorage : public IReadOnlyStorage { class RegionSwitchStorage : public IReadOnlyStorage {
YUZU_NON_COPYABLE(RegionSwitchStorage); SUYU_NON_COPYABLE(RegionSwitchStorage);
YUZU_NON_MOVEABLE(RegionSwitchStorage); SUYU_NON_MOVEABLE(RegionSwitchStorage);
public: public:
struct Region { struct Region {

View File

@ -1,4 +1,4 @@
// 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 // SPDX-License-Identifier: GPL-2.0-or-later
#pragma once #pragma once
@ -30,8 +30,8 @@ enum class VfsEntryType {
// functionality, they will need to override. // functionality, they will need to override.
class VfsFilesystem { class VfsFilesystem {
public: public:
YUZU_NON_COPYABLE(VfsFilesystem); SUYU_NON_COPYABLE(VfsFilesystem);
YUZU_NON_MOVEABLE(VfsFilesystem); SUYU_NON_MOVEABLE(VfsFilesystem);
explicit VfsFilesystem(VirtualDir root); explicit VfsFilesystem(VirtualDir root);
virtual ~VfsFilesystem(); virtual ~VfsFilesystem();
@ -81,8 +81,8 @@ protected:
// A class representing a file in an abstract filesystem. // A class representing a file in an abstract filesystem.
class VfsFile { class VfsFile {
public: public:
YUZU_NON_COPYABLE(VfsFile); SUYU_NON_COPYABLE(VfsFile);
YUZU_NON_MOVEABLE(VfsFile); SUYU_NON_MOVEABLE(VfsFile);
VfsFile() = default; VfsFile() = default;
virtual ~VfsFile(); virtual ~VfsFile();
@ -184,8 +184,8 @@ public:
// A class representing a directory in an abstract filesystem. // A class representing a directory in an abstract filesystem.
class VfsDirectory { class VfsDirectory {
public: public:
YUZU_NON_COPYABLE(VfsDirectory); SUYU_NON_COPYABLE(VfsDirectory);
YUZU_NON_MOVEABLE(VfsDirectory); SUYU_NON_MOVEABLE(VfsDirectory);
VfsDirectory() = default; VfsDirectory() = default;
virtual ~VfsDirectory(); virtual ~VfsDirectory();

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#pragma once #pragma once
@ -27,8 +27,8 @@ private:
static constexpr inline ClassTokenType ClassToken() { return ::Kernel::ClassToken<CLASS>; } \ static constexpr inline ClassTokenType ClassToken() { return ::Kernel::ClassToken<CLASS>; } \
\ \
public: \ public: \
YUZU_NON_COPYABLE(CLASS); \ SUYU_NON_COPYABLE(CLASS); \
YUZU_NON_MOVEABLE(CLASS); \ SUYU_NON_MOVEABLE(CLASS); \
\ \
using BaseClass = BASE_CLASS; \ using BaseClass = BASE_CLASS; \
static constexpr TypeObj GetStaticTypeObj() { \ static constexpr TypeObj GetStaticTypeObj() { \
@ -211,7 +211,7 @@ private:
template <typename T> template <typename T>
class KScopedAutoObject { class KScopedAutoObject {
public: public:
YUZU_NON_COPYABLE(KScopedAutoObject); SUYU_NON_COPYABLE(KScopedAutoObject);
constexpr KScopedAutoObject() = default; constexpr KScopedAutoObject() = default;

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#pragma once #pragma once
@ -16,8 +16,8 @@ class KProcess;
class KAutoObjectWithListContainer { class KAutoObjectWithListContainer {
public: public:
YUZU_NON_COPYABLE(KAutoObjectWithListContainer); SUYU_NON_COPYABLE(KAutoObjectWithListContainer);
YUZU_NON_MOVEABLE(KAutoObjectWithListContainer); SUYU_NON_MOVEABLE(KAutoObjectWithListContainer);
using ListType = boost::intrusive::rbtree<KAutoObjectWithList>; using ListType = boost::intrusive::rbtree<KAutoObjectWithList>;

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#pragma once #pragma once
@ -12,8 +12,8 @@ namespace Kernel {
template <typename T, bool ClearNode = false> template <typename T, bool ClearNode = false>
class KDynamicResourceManager { class KDynamicResourceManager {
YUZU_NON_COPYABLE(KDynamicResourceManager); SUYU_NON_COPYABLE(KDynamicResourceManager);
YUZU_NON_MOVEABLE(KDynamicResourceManager); SUYU_NON_MOVEABLE(KDynamicResourceManager);
public: public:
using DynamicSlabType = KDynamicSlabHeap<T, ClearNode>; using DynamicSlabType = KDynamicSlabHeap<T, ClearNode>;

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#pragma once #pragma once
@ -13,8 +13,8 @@ namespace Kernel {
template <typename T, bool ClearNode = false> template <typename T, bool ClearNode = false>
class KDynamicSlabHeap : protected impl::KSlabHeapImpl { class KDynamicSlabHeap : protected impl::KSlabHeapImpl {
YUZU_NON_COPYABLE(KDynamicSlabHeap); SUYU_NON_COPYABLE(KDynamicSlabHeap);
YUZU_NON_MOVEABLE(KDynamicSlabHeap); SUYU_NON_MOVEABLE(KDynamicSlabHeap);
public: public:
constexpr KDynamicSlabHeap() = default; constexpr KDynamicSlabHeap() = default;

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#pragma once #pragma once
@ -21,8 +21,8 @@ namespace Kernel {
class KernelCore; class KernelCore;
class KHandleTable { class KHandleTable {
YUZU_NON_COPYABLE(KHandleTable); SUYU_NON_COPYABLE(KHandleTable);
YUZU_NON_MOVEABLE(KHandleTable); SUYU_NON_MOVEABLE(KHandleTable);
public: public:
static constexpr size_t MaxTableSize = 1024; static constexpr size_t MaxTableSize = 1024;

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#pragma once #pragma once
@ -17,8 +17,8 @@ class KMemoryRegion final : public Common::IntrusiveRedBlackTreeBaseNode<KMemory
friend class KMemoryRegionTree; friend class KMemoryRegionTree;
public: public:
YUZU_NON_COPYABLE(KMemoryRegion); SUYU_NON_COPYABLE(KMemoryRegion);
YUZU_NON_MOVEABLE(KMemoryRegion); SUYU_NON_MOVEABLE(KMemoryRegion);
constexpr KMemoryRegion() = default; constexpr KMemoryRegion() = default;
constexpr KMemoryRegion(u64 address, u64 last_address) constexpr KMemoryRegion(u64 address, u64 last_address)
@ -123,8 +123,8 @@ private:
Common::IntrusiveRedBlackTreeBaseTraits<KMemoryRegion>::TreeType<KMemoryRegion>; Common::IntrusiveRedBlackTreeBaseTraits<KMemoryRegion>::TreeType<KMemoryRegion>;
public: public:
YUZU_NON_COPYABLE(KMemoryRegionTree); SUYU_NON_COPYABLE(KMemoryRegionTree);
YUZU_NON_MOVEABLE(KMemoryRegionTree); SUYU_NON_MOVEABLE(KMemoryRegionTree);
using value_type = TreeType::value_type; using value_type = TreeType::value_type;
using size_type = TreeType::size_type; using size_type = TreeType::size_type;
@ -327,8 +327,8 @@ private:
class KMemoryRegionAllocator final { class KMemoryRegionAllocator final {
public: public:
YUZU_NON_COPYABLE(KMemoryRegionAllocator); SUYU_NON_COPYABLE(KMemoryRegionAllocator);
YUZU_NON_MOVEABLE(KMemoryRegionAllocator); SUYU_NON_MOVEABLE(KMemoryRegionAllocator);
static constexpr size_t MaxMemoryRegions = 200; static constexpr size_t MaxMemoryRegions = 200;

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#include "common/scope_exit.h" #include "common/scope_exit.h"
@ -14,8 +14,8 @@ namespace Kernel {
namespace { namespace {
class KScopedLightLockPair { class KScopedLightLockPair {
YUZU_NON_COPYABLE(KScopedLightLockPair); SUYU_NON_COPYABLE(KScopedLightLockPair);
YUZU_NON_MOVEABLE(KScopedLightLockPair); SUYU_NON_MOVEABLE(KScopedLightLockPair);
private: private:
KLightLock* m_lower; KLightLock* m_lower;

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#pragma once #pragma once
@ -49,8 +49,8 @@ class KResourceLimit;
class KSystemResource; class KSystemResource;
class KPageTableBase { class KPageTableBase {
YUZU_NON_COPYABLE(KPageTableBase); SUYU_NON_COPYABLE(KPageTableBase);
YUZU_NON_MOVEABLE(KPageTableBase); SUYU_NON_MOVEABLE(KPageTableBase);
public: public:
using TraversalEntry = Common::PageTable::TraversalEntry; using TraversalEntry = Common::PageTable::TraversalEntry;

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#pragma once #pragma once
@ -33,8 +33,8 @@ class KScopedSchedulerLockAndSleep;
class KScheduler final { class KScheduler final {
public: public:
YUZU_NON_COPYABLE(KScheduler); SUYU_NON_COPYABLE(KScheduler);
YUZU_NON_MOVEABLE(KScheduler); SUYU_NON_MOVEABLE(KScheduler);
using LockType = KAbstractSchedulerLock<KScheduler>; using LockType = KAbstractSchedulerLock<KScheduler>;

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#pragma once #pragma once
@ -18,8 +18,8 @@ class KernelCore;
namespace impl { namespace impl {
class KSlabHeapImpl { class KSlabHeapImpl {
YUZU_NON_COPYABLE(KSlabHeapImpl); SUYU_NON_COPYABLE(KSlabHeapImpl);
YUZU_NON_MOVEABLE(KSlabHeapImpl); SUYU_NON_MOVEABLE(KSlabHeapImpl);
public: public:
struct Node { struct Node {
@ -72,8 +72,8 @@ private:
template <bool SupportDynamicExpansion> template <bool SupportDynamicExpansion>
class KSlabHeapBase : protected impl::KSlabHeapImpl { class KSlabHeapBase : protected impl::KSlabHeapImpl {
YUZU_NON_COPYABLE(KSlabHeapBase); SUYU_NON_COPYABLE(KSlabHeapBase);
YUZU_NON_MOVEABLE(KSlabHeapBase); SUYU_NON_MOVEABLE(KSlabHeapBase);
private: private:
size_t m_obj_size{}; size_t m_obj_size{};

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#pragma once #pragma once
@ -14,8 +14,8 @@ class KSpinLock {
public: public:
explicit KSpinLock() = default; explicit KSpinLock() = default;
YUZU_NON_COPYABLE(KSpinLock); SUYU_NON_COPYABLE(KSpinLock);
YUZU_NON_MOVEABLE(KSpinLock); SUYU_NON_MOVEABLE(KSpinLock);
void Lock(); void Lock();
void Unlock(); void Unlock();

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#pragma once #pragma once
@ -26,8 +26,8 @@ public:
PhysicalCore(KernelCore& kernel, std::size_t core_index); PhysicalCore(KernelCore& kernel, std::size_t core_index);
~PhysicalCore(); ~PhysicalCore();
YUZU_NON_COPYABLE(PhysicalCore); SUYU_NON_COPYABLE(PhysicalCore);
YUZU_NON_MOVEABLE(PhysicalCore); SUYU_NON_MOVEABLE(PhysicalCore);
// Execute guest code running on the given thread. // Execute guest code running on the given thread.
void RunThread(KThread* thread); void RunThread(KThread* thread);

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: 2014 Citra Emulator Project // SPDX-FileCopyrightText: 2014 Citra Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#pragma once #pragma once
@ -298,8 +298,8 @@ private:
namespace ResultImpl { namespace ResultImpl {
template <auto EvaluateResult, class F> template <auto EvaluateResult, class F>
class ScopedResultGuard { class ScopedResultGuard {
YUZU_NON_COPYABLE(ScopedResultGuard); SUYU_NON_COPYABLE(ScopedResultGuard);
YUZU_NON_MOVEABLE(ScopedResultGuard); SUYU_NON_MOVEABLE(ScopedResultGuard);
private: private:
Result& m_ref; Result& m_ref;

View File

@ -1,4 +1,4 @@
// 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 // SPDX-License-Identifier: GPL-2.0-or-later
#include <algorithm> #include <algorithm>
@ -36,7 +36,7 @@ namespace Service::Account {
constexpr std::size_t THUMBNAIL_SIZE = 0x24000; constexpr std::size_t THUMBNAIL_SIZE = 0x24000;
static std::filesystem::path GetImagePath(const Common::UUID& uuid) { static std::filesystem::path GetImagePath(const Common::UUID& uuid) {
return Common::FS::GetYuzuPath(Common::FS::YuzuPath::NANDDir) / return Common::FS::GetSuyuPath(Common::FS::SuyuPath::NANDDir) /
fmt::format("system/save/8000000000000010/su/avators/{}.jpg", uuid.FormattedString()); fmt::format("system/save/8000000000000010/su/avators/{}.jpg", uuid.FormattedString());
} }

View File

@ -1,4 +1,4 @@
// 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 // SPDX-License-Identifier: GPL-2.0-or-later
#include <cstring> #include <cstring>
@ -377,7 +377,7 @@ bool ProfileManager::SetProfileBaseAndData(Common::UUID uuid, const ProfileBase&
} }
void ProfileManager::ParseUserSaveFile() { void ProfileManager::ParseUserSaveFile() {
const auto save_path(FS::GetYuzuPath(FS::YuzuPath::NANDDir) / ACC_SAVE_AVATORS_BASE_PATH / const auto save_path(FS::GetSuyuPath(FS::SuyuPath::NANDDir) / ACC_SAVE_AVATORS_BASE_PATH /
"profiles.dat"); "profiles.dat");
const FS::IOFile save(save_path, FS::FileAccessMode::Read, FS::FileType::BinaryFile); const FS::IOFile save(save_path, FS::FileAccessMode::Read, FS::FileType::BinaryFile);
@ -429,12 +429,12 @@ void ProfileManager::WriteUserSaveFile() {
}; };
} }
const auto raw_path(FS::GetYuzuPath(FS::YuzuPath::NANDDir) / "system/save/8000000000000010"); const auto raw_path(FS::GetSuyuPath(FS::SuyuPath::NANDDir) / "system/save/8000000000000010");
if (FS::IsFile(raw_path) && !FS::RemoveFile(raw_path)) { if (FS::IsFile(raw_path) && !FS::RemoveFile(raw_path)) {
return; return;
} }
const auto save_path(FS::GetYuzuPath(FS::YuzuPath::NANDDir) / ACC_SAVE_AVATORS_BASE_PATH / const auto save_path(FS::GetSuyuPath(FS::SuyuPath::NANDDir) / ACC_SAVE_AVATORS_BASE_PATH /
"profiles.dat"); "profiles.dat");
if (!FS::CreateParentDirs(save_path)) { if (!FS::CreateParentDirs(save_path)) {

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#include "common/assert.h" #include "common/assert.h"
@ -155,7 +155,7 @@ void ExtractSharedFonts(Core::System& system) {
"FontNintendoExtended2.ttf", "FontNintendoExtended2.ttf",
}; };
const auto fonts_dir = Common::FS::GetYuzuPath(Common::FS::YuzuPath::CacheDir) / "fonts"; const auto fonts_dir = Common::FS::GetSuyuPath(Common::FS::SuyuPath::CacheDir) / "fonts";
for (std::size_t i = 0; i < NS::SHARED_FONTS.size(); ++i) { for (std::size_t i = 0; i < NS::SHARED_FONTS.size(); ++i) {
const auto font_file_path = fonts_dir / DECRYPTED_SHARED_FONTS[i]; const auto font_file_path = fonts_dir / DECRYPTED_SHARED_FONTS[i];
@ -415,7 +415,7 @@ void WebBrowser::InitializeOffline() {
"system_data", "system_data",
}; };
offline_cache_dir = Common::FS::GetYuzuPath(Common::FS::YuzuPath::CacheDir) / offline_cache_dir = Common::FS::GetSuyuPath(Common::FS::SuyuPath::CacheDir) /
fmt::format("offline_web_applet_{}/{:016X}", fmt::format("offline_web_applet_{}/{:016X}",
RESOURCE_TYPES[static_cast<u32>(document_kind) - 1], title_id); RESOURCE_TYPES[static_cast<u32>(document_kind) - 1], title_id);

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#include <sstream> #include <sstream>
@ -303,7 +303,7 @@ void AlbumManager::FindScreenshots() {
album_files.clear(); album_files.clear();
// TODO: Swap this with a blocking operation. // TODO: Swap this with a blocking operation.
const auto screenshots_dir = Common::FS::GetYuzuPath(Common::FS::YuzuPath::ScreenshotsDir); const auto screenshots_dir = Common::FS::GetSuyuPath(Common::FS::SuyuPath::ScreenshotsDir);
Common::FS::IterateDirEntries( Common::FS::IterateDirEntries(
screenshots_dir, screenshots_dir,
[this](const std::filesystem::path& full_path) { [this](const std::filesystem::path& full_path) {
@ -438,7 +438,7 @@ static void PNGToMemory(void* context, void* data, int len) {
Result AlbumManager::SaveImage(ApplicationAlbumEntry& out_entry, std::span<const u8> image, Result AlbumManager::SaveImage(ApplicationAlbumEntry& out_entry, std::span<const u8> image,
u64 title_id, const AlbumFileDateTime& date) const { u64 title_id, const AlbumFileDateTime& date) const {
const auto screenshot_path = const auto screenshot_path =
Common::FS::GetYuzuPathString(Common::FS::YuzuPath::ScreenshotsDir); Common::FS::GetSuyuPathString(Common::FS::SuyuPath::ScreenshotsDir);
const std::string formatted_date = const std::string formatted_date =
fmt::format("{:04}-{:02}-{:02}_{:02}-{:02}-{:02}-{:03}", date.year, date.month, date.day, fmt::format("{:04}-{:02}-{:02}_{:02}-{:02}-{:02}-{:03}", date.year, date.month, date.day,
date.hour, date.minute, date.second, 0); date.hour, date.minute, date.second, 0);

View File

@ -1,4 +1,4 @@
// 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 // SPDX-License-Identifier: GPL-2.0-or-later
#include <utility> #include <utility>
@ -346,12 +346,12 @@ std::shared_ptr<SaveDataController> FileSystemController::OpenSaveDataController
std::shared_ptr<FileSys::SaveDataFactory> FileSystemController::CreateSaveDataFactory( std::shared_ptr<FileSys::SaveDataFactory> FileSystemController::CreateSaveDataFactory(
ProgramId program_id) { ProgramId program_id) {
using YuzuPath = Common::FS::YuzuPath; using SuyuPath = Common::FS::SuyuPath;
const auto rw_mode = FileSys::OpenMode::ReadWrite; const auto rw_mode = FileSys::OpenMode::ReadWrite;
auto vfs = system.GetFilesystem(); auto vfs = system.GetFilesystem();
const auto nand_directory = const auto nand_directory =
vfs->OpenDirectory(Common::FS::GetYuzuPathString(YuzuPath::NANDDir), rw_mode); vfs->OpenDirectory(Common::FS::GetSuyuPathString(SuyuPath::NANDDir), rw_mode);
return std::make_shared<FileSys::SaveDataFactory>(system, program_id, return std::make_shared<FileSys::SaveDataFactory>(system, program_id,
std::move(nand_directory)); std::move(nand_directory));
} }
@ -683,20 +683,20 @@ void FileSystemController::CreateFactories(FileSys::VfsFilesystem& vfs, bool ove
sdmc_factory = nullptr; sdmc_factory = nullptr;
} }
using YuzuPath = Common::FS::YuzuPath; using SuyuPath = Common::FS::SuyuPath;
const auto sdmc_dir_path = Common::FS::GetYuzuPath(YuzuPath::SDMCDir); const auto sdmc_dir_path = Common::FS::GetSuyuPath(SuyuPath::SDMCDir);
const auto sdmc_load_dir_path = sdmc_dir_path / "atmosphere/contents"; const auto sdmc_load_dir_path = sdmc_dir_path / "atmosphere/contents";
const auto rw_mode = FileSys::OpenMode::ReadWrite; const auto rw_mode = FileSys::OpenMode::ReadWrite;
auto nand_directory = auto nand_directory =
vfs.OpenDirectory(Common::FS::GetYuzuPathString(YuzuPath::NANDDir), rw_mode); vfs.OpenDirectory(Common::FS::GetSuyuPathString(SuyuPath::NANDDir), rw_mode);
auto sd_directory = vfs.OpenDirectory(Common::FS::PathToUTF8String(sdmc_dir_path), rw_mode); auto sd_directory = vfs.OpenDirectory(Common::FS::PathToUTF8String(sdmc_dir_path), rw_mode);
auto load_directory = vfs.OpenDirectory(Common::FS::GetYuzuPathString(YuzuPath::LoadDir), auto load_directory = vfs.OpenDirectory(Common::FS::GetSuyuPathString(SuyuPath::LoadDir),
FileSys::OpenMode::Read); FileSys::OpenMode::Read);
auto sd_load_directory = vfs.OpenDirectory(Common::FS::PathToUTF8String(sdmc_load_dir_path), auto sd_load_directory = vfs.OpenDirectory(Common::FS::PathToUTF8String(sdmc_load_dir_path),
FileSys::OpenMode::Read); FileSys::OpenMode::Read);
auto dump_directory = auto dump_directory =
vfs.OpenDirectory(Common::FS::GetYuzuPathString(YuzuPath::DumpDir), rw_mode); vfs.OpenDirectory(Common::FS::GetSuyuPathString(SuyuPath::DumpDir), rw_mode);
if (bis_factory == nullptr) { if (bis_factory == nullptr) {
bis_factory = std::make_unique<FileSys::BISFactory>( bis_factory = std::make_unique<FileSys::BISFactory>(

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#pragma once #pragma once
@ -11,7 +11,7 @@ namespace Service::JIT {
class CodeMemory { class CodeMemory {
public: public:
YUZU_NON_COPYABLE(CodeMemory); SUYU_NON_COPYABLE(CodeMemory);
explicit CodeMemory() = default; explicit CodeMemory() = default;

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#include "common/assert.h" #include "common/assert.h"
@ -22,9 +22,9 @@ DatabaseManager::DatabaseManager() {}
Result DatabaseManager::MountSaveData() { Result DatabaseManager::MountSaveData() {
if (!is_save_data_mounted) { if (!is_save_data_mounted) {
system_save_dir = system_save_dir =
Common::FS::GetYuzuPath(Common::FS::YuzuPath::NANDDir) / "system/save/8000000000000030"; Common::FS::GetSuyuPath(Common::FS::SuyuPath::NANDDir) / "system/save/8000000000000030";
if (is_test_db) { if (is_test_db) {
system_save_dir = Common::FS::GetYuzuPath(Common::FS::YuzuPath::NANDDir) / system_save_dir = Common::FS::GetSuyuPath(Common::FS::SuyuPath::NANDDir) /
"system/save/8000000000000031"; "system/save/8000000000000031";
} }

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later // SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: Copyright 2017 socram8888/amiitool // SPDX-FileCopyrightText: Copyright 2017 socram8888/amiitool
@ -271,7 +271,7 @@ void Cipher(const DerivedKeys& keys, const NTAG215File& in_data, NTAG215File& ou
} }
bool LoadKeys(InternalKey& locked_secret, InternalKey& unfixed_info) { bool LoadKeys(InternalKey& locked_secret, InternalKey& unfixed_info) {
const auto yuzu_keys_dir = Common::FS::GetYuzuPath(Common::FS::YuzuPath::KeysDir); const auto yuzu_keys_dir = Common::FS::GetSuyuPath(Common::FS::SuyuPath::KeysDir);
const Common::FS::IOFile keys_file{yuzu_keys_dir / "key_retail.bin", const Common::FS::IOFile keys_file{yuzu_keys_dir / "key_retail.bin",
Common::FS::FileAccessMode::Read, Common::FS::FileAccessMode::Read,
@ -295,7 +295,7 @@ bool LoadKeys(InternalKey& locked_secret, InternalKey& unfixed_info) {
} }
bool IsKeyAvailable() { bool IsKeyAvailable() {
const auto yuzu_keys_dir = Common::FS::GetYuzuPath(Common::FS::YuzuPath::KeysDir); const auto yuzu_keys_dir = Common::FS::GetSuyuPath(Common::FS::SuyuPath::KeysDir);
return Common::FS::Exists(yuzu_keys_dir / "key_retail.bin"); return Common::FS::Exists(yuzu_keys_dir / "key_retail.bin");
} }

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#include "core/hle/service/glue/time/static.h" #include "core/hle/service/glue/time/static.h"
@ -1261,7 +1261,7 @@ Result NfcDevice::BreakTag(NFP::BreakType break_type) {
Result NfcDevice::HasBackup(const UniqueSerialNumber& uid, std::size_t uuid_size) const { Result NfcDevice::HasBackup(const UniqueSerialNumber& uid, std::size_t uuid_size) const {
ASSERT_MSG(uuid_size < sizeof(UniqueSerialNumber), "Invalid UUID size"); ASSERT_MSG(uuid_size < sizeof(UniqueSerialNumber), "Invalid UUID size");
constexpr auto backup_dir = "backup"; constexpr auto backup_dir = "backup";
const auto yuzu_amiibo_dir = Common::FS::GetYuzuPath(Common::FS::YuzuPath::AmiiboDir); const auto yuzu_amiibo_dir = Common::FS::GetSuyuPath(Common::FS::SuyuPath::AmiiboDir);
const auto file_name = const auto file_name =
fmt::format("{0:02x}.bin", fmt::join(uid.begin(), uid.begin() + uuid_size, "")); fmt::format("{0:02x}.bin", fmt::join(uid.begin(), uid.begin() + uuid_size, ""));
@ -1282,7 +1282,7 @@ Result NfcDevice::ReadBackupData(const UniqueSerialNumber& uid, std::size_t uuid
std::span<u8> data) const { std::span<u8> data) const {
ASSERT_MSG(uuid_size < sizeof(UniqueSerialNumber), "Invalid UUID size"); ASSERT_MSG(uuid_size < sizeof(UniqueSerialNumber), "Invalid UUID size");
constexpr auto backup_dir = "backup"; constexpr auto backup_dir = "backup";
const auto yuzu_amiibo_dir = Common::FS::GetYuzuPath(Common::FS::YuzuPath::AmiiboDir); const auto yuzu_amiibo_dir = Common::FS::GetSuyuPath(Common::FS::SuyuPath::AmiiboDir);
const auto file_name = const auto file_name =
fmt::format("{0:02x}.bin", fmt::join(uid.begin(), uid.begin() + uuid_size, "")); fmt::format("{0:02x}.bin", fmt::join(uid.begin(), uid.begin() + uuid_size, ""));
@ -1313,7 +1313,7 @@ Result NfcDevice::WriteBackupData(const UniqueSerialNumber& uid, std::size_t uui
std::span<const u8> data) { std::span<const u8> data) {
ASSERT_MSG(uuid_size < sizeof(UniqueSerialNumber), "Invalid UUID size"); ASSERT_MSG(uuid_size < sizeof(UniqueSerialNumber), "Invalid UUID size");
constexpr auto backup_dir = "backup"; constexpr auto backup_dir = "backup";
const auto yuzu_amiibo_dir = Common::FS::GetYuzuPath(Common::FS::YuzuPath::AmiiboDir); const auto yuzu_amiibo_dir = Common::FS::GetSuyuPath(Common::FS::SuyuPath::AmiiboDir);
const auto file_name = const auto file_name =
fmt::format("{0:02x}.bin", fmt::join(uid.begin(), uid.begin() + uuid_size, "")); fmt::format("{0:02x}.bin", fmt::join(uid.begin(), uid.begin() + uuid_size, ""));

View File

@ -1,4 +1,4 @@
// 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 // SPDX-License-Identifier: GPL-2.0-or-later
#include <fstream> #include <fstream>
@ -1308,25 +1308,25 @@ Result ISystemSettingsServer::SetPanelCrcMode(s32 panel_crc_mode) {
void ISystemSettingsServer::SetupSettings() { void ISystemSettingsServer::SetupSettings() {
auto system_dir = auto system_dir =
Common::FS::GetYuzuPath(Common::FS::YuzuPath::NANDDir) / "system/save/8000000000000050"; Common::FS::GetSuyuPath(Common::FS::SuyuPath::NANDDir) / "system/save/8000000000000050";
if (!LoadSettingsFile(system_dir, []() { return DefaultSystemSettings(); })) { if (!LoadSettingsFile(system_dir, []() { return DefaultSystemSettings(); })) {
ASSERT(false); ASSERT(false);
} }
auto private_dir = auto private_dir =
Common::FS::GetYuzuPath(Common::FS::YuzuPath::NANDDir) / "system/save/8000000000000052"; Common::FS::GetSuyuPath(Common::FS::SuyuPath::NANDDir) / "system/save/8000000000000052";
if (!LoadSettingsFile(private_dir, []() { return DefaultPrivateSettings(); })) { if (!LoadSettingsFile(private_dir, []() { return DefaultPrivateSettings(); })) {
ASSERT(false); ASSERT(false);
} }
auto device_dir = auto device_dir =
Common::FS::GetYuzuPath(Common::FS::YuzuPath::NANDDir) / "system/save/8000000000000053"; Common::FS::GetSuyuPath(Common::FS::SuyuPath::NANDDir) / "system/save/8000000000000053";
if (!LoadSettingsFile(device_dir, []() { return DefaultDeviceSettings(); })) { if (!LoadSettingsFile(device_dir, []() { return DefaultDeviceSettings(); })) {
ASSERT(false); ASSERT(false);
} }
auto appln_dir = auto appln_dir =
Common::FS::GetYuzuPath(Common::FS::YuzuPath::NANDDir) / "system/save/8000000000000054"; Common::FS::GetSuyuPath(Common::FS::SuyuPath::NANDDir) / "system/save/8000000000000054";
if (!LoadSettingsFile(appln_dir, []() { return DefaultApplnSettings(); })) { if (!LoadSettingsFile(appln_dir, []() { return DefaultApplnSettings(); })) {
ASSERT(false); ASSERT(false);
} }
@ -1334,25 +1334,25 @@ void ISystemSettingsServer::SetupSettings() {
void ISystemSettingsServer::StoreSettings() { void ISystemSettingsServer::StoreSettings() {
auto system_dir = auto system_dir =
Common::FS::GetYuzuPath(Common::FS::YuzuPath::NANDDir) / "system/save/8000000000000050"; Common::FS::GetSuyuPath(Common::FS::SuyuPath::NANDDir) / "system/save/8000000000000050";
if (!StoreSettingsFile(system_dir, m_system_settings)) { if (!StoreSettingsFile(system_dir, m_system_settings)) {
LOG_ERROR(Service_SET, "Failed to store System settings"); LOG_ERROR(Service_SET, "Failed to store System settings");
} }
auto private_dir = auto private_dir =
Common::FS::GetYuzuPath(Common::FS::YuzuPath::NANDDir) / "system/save/8000000000000052"; Common::FS::GetSuyuPath(Common::FS::SuyuPath::NANDDir) / "system/save/8000000000000052";
if (!StoreSettingsFile(private_dir, m_private_settings)) { if (!StoreSettingsFile(private_dir, m_private_settings)) {
LOG_ERROR(Service_SET, "Failed to store Private settings"); LOG_ERROR(Service_SET, "Failed to store Private settings");
} }
auto device_dir = auto device_dir =
Common::FS::GetYuzuPath(Common::FS::YuzuPath::NANDDir) / "system/save/8000000000000053"; Common::FS::GetSuyuPath(Common::FS::SuyuPath::NANDDir) / "system/save/8000000000000053";
if (!StoreSettingsFile(device_dir, m_device_settings)) { if (!StoreSettingsFile(device_dir, m_device_settings)) {
LOG_ERROR(Service_SET, "Failed to store Device settings"); LOG_ERROR(Service_SET, "Failed to store Device settings");
} }
auto appln_dir = auto appln_dir =
Common::FS::GetYuzuPath(Common::FS::YuzuPath::NANDDir) / "system/save/8000000000000054"; Common::FS::GetSuyuPath(Common::FS::SuyuPath::NANDDir) / "system/save/8000000000000054";
if (!StoreSettingsFile(appln_dir, m_appln_settings)) { if (!StoreSettingsFile(appln_dir, m_appln_settings)) {
LOG_ERROR(Service_SET, "Failed to store ApplLn settings"); LOG_ERROR(Service_SET, "Failed to store ApplLn settings");
} }

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#include <mutex> #include <mutex>
@ -23,7 +23,7 @@ template <typename T>
struct CFReleaser { struct CFReleaser {
T ptr; T ptr;
YUZU_NON_COPYABLE(CFReleaser); SUYU_NON_COPYABLE(CFReleaser);
constexpr CFReleaser() : ptr(nullptr) {} constexpr CFReleaser() : ptr(nullptr) {}
constexpr CFReleaser(T ptr) : ptr(ptr) {} constexpr CFReleaser(T ptr) : ptr(ptr) {}
constexpr operator T() { constexpr operator T() {

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#include <algorithm> #include <algorithm>
@ -12,7 +12,7 @@
#ifdef _WIN32 #ifdef _WIN32
#include <winsock2.h> #include <winsock2.h>
#include <ws2tcpip.h> #include <ws2tcpip.h>
#elif YUZU_UNIX #elif SUYU_UNIX
#include <arpa/inet.h> #include <arpa/inet.h>
#include <errno.h> #include <errno.h>
#include <fcntl.h> #include <fcntl.h>
@ -77,7 +77,7 @@ SOCKET GetInterruptSocket() {
sockaddr TranslateFromSockAddrIn(SockAddrIn input) { sockaddr TranslateFromSockAddrIn(SockAddrIn input) {
sockaddr_in result; sockaddr_in result;
#if YUZU_UNIX #if SUYU_UNIX
result.sin_len = sizeof(result); result.sin_len = sizeof(result);
#endif #endif
@ -162,7 +162,7 @@ Errno TranslateNativeError(int e, CallType call_type = CallType::Other) {
} }
} }
#elif YUZU_UNIX // ^ _WIN32 v YUZU_UNIX #elif SUYU_UNIX // ^ _WIN32 v SUYU_UNIX
using SOCKET = int; using SOCKET = int;
using WSAPOLLFD = pollfd; using WSAPOLLFD = pollfd;
@ -835,7 +835,7 @@ std::pair<s32, Errno> Socket::Send(std::span<const u8> message, int flags) {
ASSERT(flags == 0); ASSERT(flags == 0);
int native_flags = 0; int native_flags = 0;
#if YUZU_UNIX #if SUYU_UNIX
native_flags |= MSG_NOSIGNAL; // do not send us SIGPIPE native_flags |= MSG_NOSIGNAL; // do not send us SIGPIPE
#endif #endif
const auto result = send(fd, reinterpret_cast<const char*>(message.data()), const auto result = send(fd, reinterpret_cast<const char*>(message.data()),

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#pragma once #pragma once
@ -13,7 +13,7 @@
#ifdef _WIN32 #ifdef _WIN32
#include <winsock2.h> #include <winsock2.h>
#elif YUZU_UNIX #elif SUYU_UNIX
#include <netinet/in.h> #include <netinet/in.h>
#endif #endif
@ -104,7 +104,7 @@ constexpr IPv4Address TranslateIPv4(in_addr addr) {
auto& bytes = addr.S_un.S_un_b; auto& bytes = addr.S_un.S_un_b;
return IPv4Address{bytes.s_b1, bytes.s_b2, bytes.s_b3, bytes.s_b4}; return IPv4Address{bytes.s_b1, bytes.s_b2, bytes.s_b3, bytes.s_b4};
} }
#elif YUZU_UNIX #elif SUYU_UNIX
constexpr IPv4Address TranslateIPv4(in_addr addr) { constexpr IPv4Address TranslateIPv4(in_addr addr) {
const u32 bytes = addr.s_addr; const u32 bytes = addr.s_addr;
return IPv4Address{static_cast<u8>(bytes), static_cast<u8>(bytes >> 8), return IPv4Address{static_cast<u8>(bytes), static_cast<u8>(bytes >> 8),

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project & 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#include <chrono> #include <chrono>
@ -12,7 +12,7 @@
#include "core/internal_network/socket_proxy.h" #include "core/internal_network/socket_proxy.h"
#include "network/network.h" #include "network/network.h"
#if YUZU_UNIX #if SUYU_UNIX
#include <sys/socket.h> #include <sys/socket.h>
#endif #endif

Some files were not shown because too many files have changed in this diff Show More