Compare commits
5 commits
605a1eb7ca
...
20b21760ee
Author | SHA1 | Date | |
---|---|---|---|
20b21760ee | |||
c5438ec4ee | |||
4982dcfaa5 | |||
677148bdca | |||
f088f028f3 |
13 changed files with 47 additions and 36 deletions
|
@ -310,6 +310,7 @@ endif()
|
||||||
if (ARCHITECTURE_arm64 AND (ANDROID OR PLATFORM_LINUX))
|
if (ARCHITECTURE_arm64 AND (ANDROID OR PLATFORM_LINUX))
|
||||||
set(HAS_NCE 1)
|
set(HAS_NCE 1)
|
||||||
add_compile_definitions(HAS_NCE=1)
|
add_compile_definitions(HAS_NCE=1)
|
||||||
|
find_package(oaknut 2.0.1)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (YUZU_ROOM)
|
if (YUZU_ROOM)
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
# SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
|
|
||||||
include(FindPackageHandleStandardArgs)
|
|
||||||
|
|
||||||
find_package(PkgConfig QUIET)
|
|
||||||
pkg_search_module(sirit QUIET IMPORTED_TARGET sirit)
|
|
||||||
find_package_handle_standard_args(sirit
|
|
||||||
REQUIRED_VARS sirit_LINK_LIBRARIES
|
|
||||||
VERSION_VAR sirit_VERSION
|
|
||||||
)
|
|
|
@ -31,7 +31,11 @@ set(GIT_DESC ${BUILD_VERSION})
|
||||||
set(REPO_NAME "Eden")
|
set(REPO_NAME "Eden")
|
||||||
set(BUILD_ID ${GIT_REFSPEC})
|
set(BUILD_ID ${GIT_REFSPEC})
|
||||||
set(BUILD_FULLNAME "${REPO_NAME} ${BUILD_VERSION} ")
|
set(BUILD_FULLNAME "${REPO_NAME} ${BUILD_VERSION} ")
|
||||||
|
|
||||||
set(CXX_COMPILER "${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION}")
|
set(CXX_COMPILER "${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION}")
|
||||||
|
|
||||||
|
# Auto-updater metadata! Must somewhat mirror GitHub API endpoint
|
||||||
|
set(BUILD_AUTO_UPDATE_WEBSITE "https://github.com")
|
||||||
|
set(BUILD_AUTO_UPDATE_API "http://api.github.com")
|
||||||
|
set(BUILD_AUTO_UPDATE_REPO "eden-emulator/Releases")
|
||||||
|
|
||||||
configure_file(scm_rev.cpp.in scm_rev.cpp @ONLY)
|
configure_file(scm_rev.cpp.in scm_rev.cpp @ONLY)
|
||||||
|
|
2
externals/cpmfile.json
vendored
2
externals/cpmfile.json
vendored
|
@ -10,7 +10,7 @@
|
||||||
"repo": "eden-emulator/sirit",
|
"repo": "eden-emulator/sirit",
|
||||||
"sha": "db1f1e8ab5",
|
"sha": "db1f1e8ab5",
|
||||||
"hash": "73eb3a042848c63a10656545797e85f40d142009dfb7827384548a385e1e28e1ac72f42b25924ce530d58275f8638554281e884d72f9c7aaf4ed08690a414b05",
|
"hash": "73eb3a042848c63a10656545797e85f40d142009dfb7827384548a385e1e28e1ac72f42b25924ce530d58275f8638554281e884d72f9c7aaf4ed08690a414b05",
|
||||||
"find_args": "MODULE",
|
"find_args": "CONFIG",
|
||||||
"options": [
|
"options": [
|
||||||
"SIRIT_USE_SYSTEM_SPIRV_HEADERS ON"
|
"SIRIT_USE_SYSTEM_SPIRV_HEADERS ON"
|
||||||
]
|
]
|
||||||
|
|
|
@ -18,6 +18,9 @@
|
||||||
#define TITLE_BAR_FORMAT_RUNNING "@TITLE_BAR_FORMAT_RUNNING@"
|
#define TITLE_BAR_FORMAT_RUNNING "@TITLE_BAR_FORMAT_RUNNING@"
|
||||||
#define IS_DEV_BUILD @IS_DEV_BUILD@
|
#define IS_DEV_BUILD @IS_DEV_BUILD@
|
||||||
#define COMPILER_ID "@CXX_COMPILER@"
|
#define COMPILER_ID "@CXX_COMPILER@"
|
||||||
|
#define BUILD_AUTO_UPDATE_WEBISTE "@BUILD_AUTO_UPDATE_WEBISTE@"
|
||||||
|
#define BUILD_AUTO_UPDATE_API "@BUILD_AUTO_UPDATE_API@"
|
||||||
|
#define BUILD_AUTO_UPDATE_REPO "@BUILD_AUTO_UPDATE_REPO@"
|
||||||
|
|
||||||
namespace Common {
|
namespace Common {
|
||||||
|
|
||||||
|
@ -34,4 +37,8 @@ constexpr const char g_title_bar_format_running[] = TITLE_BAR_FORMAT_RUNNING;
|
||||||
constexpr const char g_compiler_id[] = COMPILER_ID;
|
constexpr const char g_compiler_id[] = COMPILER_ID;
|
||||||
constexpr const bool g_is_dev_build = IS_DEV_BUILD;
|
constexpr const bool g_is_dev_build = IS_DEV_BUILD;
|
||||||
|
|
||||||
|
constexpr const char g_build_auto_update_website[] = BUILD_AUTO_UPDATE_WEBISTE;
|
||||||
|
constexpr const char g_build_auto_update_api[] = BUILD_AUTO_UPDATE_API;
|
||||||
|
constexpr const char g_build_auto_update_repo[] = BUILD_AUTO_UPDATE_REPO;
|
||||||
|
|
||||||
} // namespace Common
|
} // namespace Common
|
||||||
|
|
|
@ -1224,7 +1224,7 @@ if (HAS_NCE)
|
||||||
arm/nce/patcher.h
|
arm/nce/patcher.h
|
||||||
arm/nce/visitor_base.h
|
arm/nce/visitor_base.h
|
||||||
)
|
)
|
||||||
target_link_libraries(core PRIVATE merry::mcl merry::oaknut)
|
target_link_libraries(core PRIVATE merry::oaknut)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64)
|
if (ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64)
|
||||||
|
|
|
@ -27,11 +27,11 @@ template <>
|
||||||
struct std::hash<PatchCacheKey> {
|
struct std::hash<PatchCacheKey> {
|
||||||
size_t operator()(const PatchCacheKey& key) const {
|
size_t operator()(const PatchCacheKey& key) const {
|
||||||
// Simple XOR hash of first few bytes
|
// Simple XOR hash of first few bytes
|
||||||
size_t hash = 0;
|
size_t hash_ = 0;
|
||||||
for (size_t i = 0; i < key.module_id.size(); ++i) {
|
for (size_t i = 0; i < key.module_id.size(); ++i) {
|
||||||
hash ^= static_cast<size_t>(key.module_id[i]) << ((i % sizeof(size_t)) * 8);
|
hash_ ^= static_cast<size_t>(key.module_id[i]) << ((i % sizeof(size_t)) * 8);
|
||||||
}
|
}
|
||||||
return hash ^ std::hash<uintptr_t>{}(key.offset);
|
return hash_ ^ std::hash<uintptr_t>{}(key.offset);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -374,7 +374,7 @@ endif()
|
||||||
|
|
||||||
target_compile_options(dynarmic PRIVATE ${DYNARMIC_CXX_FLAGS})
|
target_compile_options(dynarmic PRIVATE ${DYNARMIC_CXX_FLAGS})
|
||||||
target_link_libraries(dynarmic
|
target_link_libraries(dynarmic
|
||||||
PRIVATE
|
PUBLIC
|
||||||
fmt::fmt
|
fmt::fmt
|
||||||
merry::mcl
|
merry::mcl
|
||||||
)
|
)
|
||||||
|
|
|
@ -14,11 +14,12 @@ AboutDialog::AboutDialog(QWidget* parent)
|
||||||
: QDialog(parent)
|
: QDialog(parent)
|
||||||
, ui{std::make_unique<Ui::AboutDialog>()}
|
, ui{std::make_unique<Ui::AboutDialog>()}
|
||||||
{
|
{
|
||||||
static const std::string description = std::string{Common::g_build_version};
|
|
||||||
static const std::string build_id = std::string{Common::g_build_id};
|
static const std::string build_id = std::string{Common::g_build_id};
|
||||||
static const std::string compiler = std::string{Common::g_compiler_id};
|
static const std::string yuzu_build = fmt::format("{} | {} | {}",
|
||||||
|
std::string{Common::g_build_name},
|
||||||
static const std::string yuzu_build = fmt::format("Eden | {} | {}", description, compiler);
|
std::string{Common::g_build_version},
|
||||||
|
std::string{Common::g_compiler_id}
|
||||||
|
);
|
||||||
|
|
||||||
const auto override_build = fmt::format(fmt::runtime(
|
const auto override_build = fmt::format(fmt::runtime(
|
||||||
std::string(Common::g_title_bar_format_idle)),
|
std::string(Common::g_title_bar_format_idle)),
|
||||||
|
|
|
@ -4192,23 +4192,25 @@ void GMainWindow::OnEmulatorUpdateAvailable() {
|
||||||
update_prompt.addButton(QMessageBox::Yes);
|
update_prompt.addButton(QMessageBox::Yes);
|
||||||
update_prompt.addButton(QMessageBox::Ignore);
|
update_prompt.addButton(QMessageBox::Ignore);
|
||||||
update_prompt.setText(
|
update_prompt.setText(
|
||||||
tr("Update %1 for Eden is available.\nWould you like to download it?").arg(version_string));
|
tr("Download the %1 update?").arg(version_string));
|
||||||
update_prompt.exec();
|
update_prompt.exec();
|
||||||
if (update_prompt.button(QMessageBox::Yes) == update_prompt.clickedButton()) {
|
if (update_prompt.button(QMessageBox::Yes) == update_prompt.clickedButton()) {
|
||||||
QDesktopServices::openUrl(
|
auto const full_url = fmt::format("{}/{}/releases/tag/",
|
||||||
QUrl(QString::fromStdString("https://github.com/eden-emulator/Releases/releases/tag/") +
|
std::string{Common::g_build_auto_update_website},
|
||||||
version_string));
|
std::string{Common::g_build_auto_update_repo}
|
||||||
|
);
|
||||||
|
QDesktopServices::openUrl(QUrl(QString::fromStdString(full_url) + version_string));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void GMainWindow::UpdateWindowTitle(std::string_view title_name, std::string_view title_version,
|
void GMainWindow::UpdateWindowTitle(std::string_view title_name, std::string_view title_version,
|
||||||
std::string_view gpu_vendor) {
|
std::string_view gpu_vendor) {
|
||||||
static const std::string description = std::string{Common::g_build_version};
|
static const std::string yuzu_title = fmt::format("{} | {} | {}",
|
||||||
static const std::string build_id = std::string{Common::g_build_id};
|
std::string{Common::g_build_name},
|
||||||
static const std::string compiler = std::string{Common::g_compiler_id};
|
std::string{Common::g_build_version},
|
||||||
|
std::string{Common::g_compiler_id}
|
||||||
static const std::string yuzu_title = fmt::format("Eden | {} | {}", description, compiler);
|
);
|
||||||
|
|
||||||
const auto override_title =
|
const auto override_title =
|
||||||
fmt::format(fmt::runtime(std::string(Common::g_title_bar_format_idle)), build_id);
|
fmt::format(fmt::runtime(std::string(Common::g_title_bar_format_idle)), build_id);
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
// Copyright Citra Emulator Project / Azahar Emulator Project
|
// Copyright Citra Emulator Project / Azahar Emulator Project
|
||||||
// Licensed under GPLv2 or any later version
|
// Licensed under GPLv2 or any later version
|
||||||
// Refer to the license.txt file included.
|
// Refer to the license.txt file included.
|
||||||
|
@ -12,6 +15,7 @@
|
||||||
#include <nlohmann/json.hpp>
|
#include <nlohmann/json.hpp>
|
||||||
#include <optional>
|
#include <optional>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
#include "common/scm_rev.h"
|
||||||
|
|
||||||
std::optional<std::string> UpdateChecker::GetResponse(std::string url, std::string path)
|
std::optional<std::string> UpdateChecker::GetResponse(std::string url, std::string path)
|
||||||
{
|
{
|
||||||
|
@ -54,8 +58,8 @@ std::optional<std::string> UpdateChecker::GetResponse(std::string url, std::stri
|
||||||
|
|
||||||
std::optional<std::string> UpdateChecker::GetLatestRelease(bool include_prereleases)
|
std::optional<std::string> UpdateChecker::GetLatestRelease(bool include_prereleases)
|
||||||
{
|
{
|
||||||
constexpr auto update_check_url = "http://api.github.com";
|
constexpr auto update_check_url = std::string{Common::g_build_auto_update_api};
|
||||||
std::string update_check_path = "/repos/eden-emulator/Releases";
|
std::string update_check_path = fmt::format("/repos/{}", std::string{Common::g_build_auto_update_repo});
|
||||||
try {
|
try {
|
||||||
if (include_prereleases) { // This can return either a prerelease or a stable release,
|
if (include_prereleases) { // This can return either a prerelease or a stable release,
|
||||||
// whichever is more recent.
|
// whichever is more recent.
|
||||||
|
|
|
@ -229,7 +229,7 @@ void EmuWindow_SDL2::WaitEvent() {
|
||||||
const u32 current_time = SDL_GetTicks();
|
const u32 current_time = SDL_GetTicks();
|
||||||
if (current_time > last_time + 2000) {
|
if (current_time > last_time + 2000) {
|
||||||
const auto results = system.GetAndResetPerfStats();
|
const auto results = system.GetAndResetPerfStats();
|
||||||
const auto title = fmt::format("Eden {} | {}-{} | FPS: {:.0f} ({:.0f}%)",
|
const auto title = fmt::format("{} | {}-{} | FPS: {:.0f} ({:.0f}%)",
|
||||||
Common::g_build_fullname,
|
Common::g_build_fullname,
|
||||||
Common::g_scm_branch,
|
Common::g_scm_branch,
|
||||||
Common::g_scm_desc,
|
Common::g_scm_desc,
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
@ -90,7 +93,7 @@ EmuWindow_SDL2_GL::EmuWindow_SDL2_GL(InputCommon::InputSubsystem* input_subsyste
|
||||||
}
|
}
|
||||||
SDL_GL_SetSwapInterval(0);
|
SDL_GL_SetSwapInterval(0);
|
||||||
|
|
||||||
std::string window_title = fmt::format("Eden {} | {}-{}", Common::g_build_fullname,
|
std::string window_title = fmt::format("{} | {}-{}", Common::g_build_fullname,
|
||||||
Common::g_scm_branch, Common::g_scm_desc);
|
Common::g_scm_branch, Common::g_scm_desc);
|
||||||
render_window =
|
render_window =
|
||||||
SDL_CreateWindow(window_title.c_str(),
|
SDL_CreateWindow(window_title.c_str(),
|
||||||
|
@ -138,7 +141,7 @@ EmuWindow_SDL2_GL::EmuWindow_SDL2_GL(InputCommon::InputSubsystem* input_subsyste
|
||||||
OnResize();
|
OnResize();
|
||||||
OnMinimalClientAreaChangeRequest(GetActiveConfig().min_client_area_size);
|
OnMinimalClientAreaChangeRequest(GetActiveConfig().min_client_area_size);
|
||||||
SDL_PumpEvents();
|
SDL_PumpEvents();
|
||||||
LOG_INFO(Frontend, "Eden Version: {} | {}-{}", Common::g_build_fullname, Common::g_scm_branch,
|
LOG_INFO(Frontend, "Build string: {} | {}-{}", Common::g_build_fullname, Common::g_scm_branch,
|
||||||
Common::g_scm_desc);
|
Common::g_scm_desc);
|
||||||
Settings::LogSettings();
|
Settings::LogSettings();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue