citra/src/core/settings.h

146 lines
2.4 KiB
C
Raw Normal View History

// Copyright 2014 Citra Emulator Project
2014-12-17 05:38:14 +00:00
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#pragma once
2015-06-20 03:34:45 +00:00
#include <array>
#include <string>
#include "common/common_types.h"
namespace Settings {
2017-01-20 20:46:39 +00:00
namespace NativeButton {
enum Values {
A,
B,
X,
Y,
LStick,
RStick,
2017-01-20 20:46:39 +00:00
L,
R,
ZL,
ZR,
Plus,
Minus,
DLeft,
DUp,
DRight,
DDown,
LStick_Left,
LStick_Up,
LStick_Right,
LStick_Down,
RStick_Left,
RStick_Up,
RStick_Right,
RStick_Down,
SL,
SR,
2017-01-20 20:46:39 +00:00
Home,
2018-01-15 08:35:25 +00:00
Screenshot,
2017-01-20 20:46:39 +00:00
NumButtons,
};
constexpr int BUTTON_HID_BEGIN = A;
constexpr int BUTTON_NS_BEGIN = Home;
constexpr int BUTTON_HID_END = BUTTON_NS_BEGIN;
2017-01-20 20:46:39 +00:00
constexpr int BUTTON_NS_END = NumButtons;
constexpr int NUM_BUTTONS_HID = BUTTON_HID_END - BUTTON_HID_BEGIN;
constexpr int NUM_BUTTONS_NS = BUTTON_NS_END - BUTTON_NS_BEGIN;
static const std::array<const char*, NumButtons> mapping = {{
"button_a",
"button_b",
"button_x",
"button_y",
"button_lstick",
"button_rstick",
"button_l",
"button_r",
"button_zl",
"button_zr",
"button_plus",
"button_minus",
"button_dleft",
"button_dup",
"button_dright",
"button_ddown",
"button_lstick_left",
"button_lstick_up",
"button_lstick_right",
"button_lstick_down",
"button_rstick_left",
"button_rstick_up",
"button_rstick_right",
"button_rstick_down",
"button_sl",
"button_sr",
"button_home",
2018-01-15 08:35:25 +00:00
"button_screenshot",
2017-01-20 20:46:39 +00:00
}};
2017-01-20 20:46:39 +00:00
} // namespace NativeButton
2017-01-20 21:58:03 +00:00
namespace NativeAnalog {
enum Values {
LStick,
RStick,
2017-01-20 21:58:03 +00:00
NumAnalogs,
};
static const std::array<const char*, NumAnalogs> mapping = {{
"lstick",
"rstick",
2017-01-20 21:58:03 +00:00
}};
} // namespace NativeAnalog
2017-01-20 21:58:03 +00:00
enum class CpuCore {
Unicorn,
Dynarmic,
};
struct Values {
// System
bool use_docked_mode;
// Controls
2017-01-20 20:46:39 +00:00
std::array<std::string, NativeButton::NumButtons> buttons;
2017-01-20 21:58:03 +00:00
std::array<std::string, NativeAnalog::NumAnalogs> analogs;
std::string motion_device;
2017-08-08 18:34:17 +00:00
std::string touch_device;
2017-01-20 20:46:39 +00:00
// Core
CpuCore cpu_core;
// Data Storage
bool use_virtual_sd;
// Renderer
float resolution_factor;
bool toggle_framelimit;
2015-05-03 19:34:48 +00:00
float bg_red;
float bg_green;
float bg_blue;
std::string log_filter;
2015-09-02 12:56:38 +00:00
// Debugging
bool use_gdbstub;
u16 gdbstub_port;
} extern values;
2016-04-11 12:38:42 +00:00
void Apply();
} // namespace Settings