mirror of
https://github.com/bolucat/Archive.git
synced 2025-12-24 13:28:37 +08:00
Update On Tue Mar 19 19:28:48 CET 2024
This commit is contained in:
1
suyu/.gitignore
vendored
1
suyu/.gitignore
vendored
@@ -4,6 +4,7 @@
|
||||
# Build directory
|
||||
[Bb]uild*/
|
||||
doc-build/
|
||||
cmake-build*/
|
||||
|
||||
# Generated source files
|
||||
src/common/scm_rev.cpp
|
||||
|
||||
84
suyu/dist/icns_generator.sh
vendored
84
suyu/dist/icns_generator.sh
vendored
@@ -1,14 +1,72 @@
|
||||
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;
|
||||
#!/bin/bash
|
||||
# icns_generator.sh GNU GPLv3 License
|
||||
# Run this script when a new logo is made and the svg file inside.
|
||||
# You should install Imagemagick to make the conversions: $brew install imagemagick
|
||||
|
||||
iconutil -c icns suyu.iconset
|
||||
rm -rf suyu.iconset
|
||||
# Change working dir to where this script is located.
|
||||
cd "${0%/*}"
|
||||
|
||||
if [ -z $1 ]; then
|
||||
echo "icns_generator.sh GNU GPLv3 License"
|
||||
echo "Run this script when a new logo is made and the svg file inside."
|
||||
echo ""
|
||||
echo "Syntax: ./icns_generator <input.svg>"
|
||||
echo ""
|
||||
echo "Don't forget to install imagemagick: "
|
||||
echo "$ brew install imagemagick"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Error Handling Stuff:
|
||||
## Check command availability
|
||||
check_command() {
|
||||
if ! command -v "$1" &> /dev/null; then
|
||||
read -s -n 1 -p "Error: '$1' command not found. Please install $2."
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
## Convert image with error handling
|
||||
convert_image() {
|
||||
convert -background none -resize "$2" "$1" "$3" || {
|
||||
read -s -n 1 -p "Error: Conversion failed for $1"
|
||||
exit 1
|
||||
}
|
||||
}
|
||||
|
||||
# Check required commands
|
||||
check_command "convert" "ImageMagick"
|
||||
check_command "iconutil" "macOS"
|
||||
|
||||
# Create the iconset directory
|
||||
mkdir suyu.iconset || {
|
||||
read -s -n 1 -p "Error: Unable to create suyu.iconset directory."
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Convert images
|
||||
convert_image "$1" 16x16 suyu.iconset/icon_16x16.png
|
||||
convert_image "$1" 32x32 suyu.iconset/icon_16x16@2x.png
|
||||
convert_image "$1" 32x32 suyu.iconset/icon_32x32.png
|
||||
convert_image "$1" 64x64 suyu.iconset/icon_32x32@2x.png
|
||||
convert_image "$1" 128x128 suyu.iconset/icon_128x128.png
|
||||
convert_image "$1" 256x256 suyu.iconset/icon_256x256.png
|
||||
convert_image "$1" 256x256 suyu.iconset/icon_128x128@2x.png
|
||||
convert_image "$1" 512x512 suyu.iconset/icon_256x256@2x.png
|
||||
convert_image "$1" 512x512 suyu.iconset/icon_512x512.png
|
||||
convert_image "$1" 1024x1024 suyu.iconset/icon_512x512@2x.png
|
||||
|
||||
# Create the ICNS file
|
||||
iconutil -c icns suyu.iconset || {
|
||||
read -s -n 1 -p "Error: Failed to create ICNS file."
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Remove the temporary iconset directory
|
||||
rm -rf suyu.iconset || {
|
||||
read -s -n 1 -p "Error: Unable to remove suyu.iconset directory."
|
||||
exit 1
|
||||
}
|
||||
|
||||
echo -s -n 1 -p "Icon generation completed successfully."
|
||||
echo ""
|
||||
|
||||
@@ -11,6 +11,8 @@
|
||||
#include <dynarmic/frontend/A64/decoder/a64.h>
|
||||
#include <dynarmic/frontend/imm.h>
|
||||
|
||||
#include "common/common_types.h"
|
||||
|
||||
#pragma GCC diagnostic pop
|
||||
|
||||
namespace Core {
|
||||
|
||||
@@ -668,7 +668,7 @@ static bool ValidCryptoRevisionString(std::string_view base, size_t begin, size_
|
||||
|
||||
void KeyManager::LoadFromFile(const std::filesystem::path& file_path, bool is_title_keys) {
|
||||
if (!Common::FS::Exists(file_path)) {
|
||||
LOG_ERROR(Crypto, "Failed to load key file at '{}': File not found",
|
||||
LOG_ERROR(Crypto, "Cannot handle key file '{}': File not found",
|
||||
file_path.generic_string());
|
||||
return;
|
||||
}
|
||||
@@ -803,8 +803,7 @@ bool KeyManager::BaseDeriveNecessary() const {
|
||||
}
|
||||
|
||||
if (!Common::FS::Exists(suyu_keys_dir / "title.keys")) {
|
||||
LOG_ERROR(Crypto, "No title.keys found");
|
||||
return true;
|
||||
LOG_WARNING(Crypto, "Could not locate a title.keys file");
|
||||
}
|
||||
|
||||
if (check_key_existence(S256KeyType::Header)) {
|
||||
|
||||
@@ -55,10 +55,6 @@ AppLoader_NAX::LoadResult AppLoader_NAX::Load(Kernel::KProcess& process, Core::S
|
||||
return {ResultStatus::ErrorMissingProductionKeyFile, {}};
|
||||
}
|
||||
|
||||
if (!Core::Crypto::KeyManager::KeyFileExists(true)) {
|
||||
return {ResultStatus::ErrorMissingProductionKeyFile, {}};
|
||||
}
|
||||
|
||||
return {ResultStatus::ErrorNAXInconvertibleToNCA, {}};
|
||||
}
|
||||
|
||||
|
||||
@@ -102,10 +102,6 @@ AppLoader_NSP::LoadResult AppLoader_NSP::Load(Kernel::KProcess& process, Core::S
|
||||
return {ResultStatus::ErrorMissingProductionKeyFile, {}};
|
||||
}
|
||||
|
||||
if (!Core::Crypto::KeyManager::KeyFileExists(true)) {
|
||||
return {ResultStatus::ErrorMissingProductionKeyFile, {}};
|
||||
}
|
||||
|
||||
return {ResultStatus::ErrorNSPMissingProgramNCA, {}};
|
||||
}
|
||||
|
||||
|
||||
@@ -71,10 +71,6 @@ AppLoader_XCI::LoadResult AppLoader_XCI::Load(Kernel::KProcess& process, Core::S
|
||||
return {ResultStatus::ErrorMissingProductionKeyFile, {}};
|
||||
}
|
||||
|
||||
if (!xci->HasProgramNCA() && !Core::Crypto::KeyManager::KeyFileExists(true)) {
|
||||
return {ResultStatus::ErrorMissingProductionKeyFile, {}};
|
||||
}
|
||||
|
||||
const auto result = nca_loader->Load(process, system);
|
||||
if (result.first != ResultStatus::Success) {
|
||||
return result;
|
||||
|
||||
@@ -1755,9 +1755,9 @@ bool GMainWindow::LoadROM(const QString& filename, Service::AM::FrontendAppletPa
|
||||
if (!ContentManager::AreKeysPresent()) {
|
||||
QMessageBox::warning(this, tr("Derivation Components Missing"),
|
||||
tr("Encryption keys are missing. "
|
||||
"You need to provide both your own title.keys "
|
||||
"and your own prod.keys "
|
||||
"in order to play games"));
|
||||
"In order to use this emulator"
|
||||
"you need to provide your own encryption keys"
|
||||
"in order to play them."));
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -4630,9 +4630,9 @@ void GMainWindow::OnCheckFirmwareDecryption() {
|
||||
if (!ContentManager::AreKeysPresent()) {
|
||||
QMessageBox::warning(this, tr("Derivation Components Missing"),
|
||||
tr("Encryption keys are missing. "
|
||||
"You need to provide both your own title.keys "
|
||||
"and your own prod.keys "
|
||||
"in order to play games"));
|
||||
"In order to use this emulator"
|
||||
"you need to provide your own encryption keys"
|
||||
"in order to play them."));
|
||||
}
|
||||
|
||||
SetFirmwareVersion();
|
||||
|
||||
@@ -408,7 +408,7 @@ if (MSVC)
|
||||
/we4244 # 'conversion': conversion from 'type1' to 'type2', possible loss of data
|
||||
)
|
||||
else()
|
||||
if (APPLE)
|
||||
if (APPLE OR ARCHITECTURE_arm64)
|
||||
# error: declaration shadows a typedef in 'interval_base_set<SubType, DomainT, Compare, Interval, Alloc>'
|
||||
# error: implicit conversion loses integer precision: 'int' to 'boost::icl::bound_type' (aka 'unsigned char')
|
||||
target_compile_options(video_core PRIVATE -Wno-shadow -Wno-unused-local-typedef)
|
||||
|
||||
@@ -1364,6 +1364,7 @@ void Device::CollectToolingInfo() {
|
||||
LOG_INFO(Render_Vulkan, "Attached debugging tool: {}", name);
|
||||
has_renderdoc = has_renderdoc || name == "RenderDoc";
|
||||
has_nsight_graphics = has_nsight_graphics || name == "NVIDIA Nsight Graphics";
|
||||
has_radeon_gpu_profiler = has_radeon_gpu_profiler || name == "Radeon GPU Profiler";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -592,7 +592,7 @@ public:
|
||||
|
||||
/// Returns true when a known debugging tool is attached.
|
||||
bool HasDebuggingToolAttached() const {
|
||||
return has_renderdoc || has_nsight_graphics;
|
||||
return has_renderdoc || has_nsight_graphics || has_radeon_gpu_profiler;
|
||||
}
|
||||
|
||||
/// @returns True if compute pipelines can cause crashing.
|
||||
@@ -821,6 +821,7 @@ private:
|
||||
bool has_broken_parallel_compiling{}; ///< Has broken parallel shader compiling.
|
||||
bool has_renderdoc{}; ///< Has RenderDoc attached
|
||||
bool has_nsight_graphics{}; ///< Has Nsight Graphics attached
|
||||
bool has_radeon_gpu_profiler{}; ///< Has Radeon GPU Profiler attached.
|
||||
bool supports_d24_depth{}; ///< Supports D24 depth buffers.
|
||||
bool cant_blit_msaa{}; ///< Does not support MSAA<->MSAA blitting.
|
||||
bool must_emulate_scaled_formats{}; ///< Requires scaled vertex format emulation
|
||||
|
||||
Reference in New Issue
Block a user