mirror of
https://git.eden-emu.dev/eden-emu/eden
synced 2026-04-11 22:38:58 +02:00
Adds a place to override specific game settings for specific vendors Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2963 Reviewed-by: Caio Oliveira <caiooliveirafarias0@gmail.com> Reviewed-by: Maufeat <sahyno1996@gmail.com> Co-authored-by: Kleidis <kleidis1@protonmail.com> Co-committed-by: Kleidis <kleidis1@protonmail.com>
60 lines
1 KiB
C++
60 lines
1 KiB
C++
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
#pragma once
|
|
|
|
#include <array>
|
|
#include <cstdint>
|
|
#include <string>
|
|
|
|
namespace VideoCore { class RendererBase; }
|
|
|
|
namespace Core::GameSettings {
|
|
|
|
enum class OS {
|
|
Windows,
|
|
Linux,
|
|
MacOS,
|
|
IOS,
|
|
Android,
|
|
FireOS,
|
|
HarmonyOS,
|
|
FreeBSD,
|
|
DragonFlyBSD,
|
|
NetBSD,
|
|
OpenBSD,
|
|
HaikuOS,
|
|
AIX,
|
|
Managarm,
|
|
RedoxOS,
|
|
Solaris,
|
|
Unknown,
|
|
};
|
|
|
|
enum class GPUVendor {
|
|
Nvidia,
|
|
AMD,
|
|
Intel,
|
|
Apple,
|
|
Qualcomm,
|
|
ARM,
|
|
Imagination,
|
|
Microsoft,
|
|
Unknown,
|
|
};
|
|
|
|
enum class TitleID : std::uint64_t {
|
|
NinjaGaidenRagebound = 0x0100781020710000ULL
|
|
};
|
|
|
|
struct EnvironmentInfo {
|
|
OS os{OS::Unknown};
|
|
GPUVendor vendor{GPUVendor::Unknown};
|
|
std::string vendor_string; // raw string from driver
|
|
};
|
|
|
|
EnvironmentInfo DetectEnvironment(const VideoCore::RendererBase& renderer);
|
|
|
|
void LoadOverrides(std::uint64_t program_id, const VideoCore::RendererBase& renderer);
|
|
|
|
} // namespace Core::GameSettings
|