refactor: extract game title IDs into TitleID utility class

Signed-off-by: Zephyron <zephyron@citron-emu.org>
This commit is contained in:
Zephyron
2025-10-29 11:16:18 +10:00
parent e0d2ab3abb
commit cbfa876fb0
3 changed files with 23 additions and 1 deletions

View File

@@ -229,6 +229,7 @@ add_executable(citron
util/vram_overlay.h
util/sequence_dialog/sequence_dialog.cpp
util/sequence_dialog/sequence_dialog.h
util/title_ids.h
util/url_request_interceptor.cpp
util/url_request_interceptor.h
util/util.cpp

View File

@@ -181,6 +181,7 @@ static FileSys::VirtualFile VfsDirectoryCreateFileWrapper(const FileSys::Virtual
#include "citron/util/clickable_label.h"
#include "citron/util/performance_overlay.h"
#include "citron/util/multiplayer_room_overlay.h"
#include "citron/util/title_ids.h"
#include "citron/util/vram_overlay.h"
#include "citron/vk_device_info.h"
@@ -2019,7 +2020,8 @@ void GMainWindow::BootGame(const QString& filename, Service::AM::FrontendAppletP
system->ApplySettings();
// Final Fantasy Tactics requires single-core mode to boot properly
if (title_id == 0x010038B015560000ULL) {
if (title_id == UICommon::TitleID::FinalFantasyTactics) {
LOG_INFO(Frontend, "Applying workaround: forcing single-core mode for Final Fantasy Tactics");
Settings::values.use_multi_core.SetValue(false);
}
}

View File

@@ -0,0 +1,19 @@
// SPDX-FileCopyrightText: 2025 citron Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include "common/common_types.h"
namespace UICommon {
// Game-specific title IDs for workarounds and special handling
class TitleID {
private:
TitleID() = default;
public:
static constexpr u64 FinalFantasyTactics = 0x010038B015560000ULL;
};
} // namespace UICommon