CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In
hrydgard

CoCalc provides the best real-time collaborative environment for Jupyter Notebooks, LaTeX documents, and SageMath, scalable from individual users to large groups and classes!

GitHub Repository: hrydgard/ppsspp
Path: blob/master/Core/ConfigValues.h
Views: 1401
1
// Copyright (c) 2012- PPSSPP Project.
2
3
// This program is free software: you can redistribute it and/or modify
4
// it under the terms of the GNU General Public License as published by
5
// the Free Software Foundation, version 2.0 or later versions.
6
7
// This program is distributed in the hope that it will be useful,
8
// but WITHOUT ANY WARRANTY; without even the implied warranty of
9
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10
// GNU General Public License 2.0 for more details.
11
12
// A copy of the GPL 2.0 should have been included with the program.
13
// If not, see http://www.gnu.org/licenses/
14
15
// Official git repository and contact information can be found at
16
// https://github.com/hrydgard/ppsspp and http://www.ppsspp.org/.
17
18
#pragma once
19
20
#include <cstdint>
21
#include <string>
22
#ifndef _MSC_VER
23
#include <strings.h>
24
#endif
25
#include "Common/Common.h"
26
#include "Common/CommonFuncs.h"
27
28
const int PSP_MODEL_FAT = 0;
29
const int PSP_MODEL_SLIM = 1;
30
const int PSP_DEFAULT_FIRMWARE = 660;
31
static const int8_t VOLUME_OFF = 0;
32
static const int8_t VOLUME_FULL = 10;
33
34
struct ConfigTouchPos {
35
float x;
36
float y;
37
float scale;
38
// Note: Show is not used for all settings.
39
bool show;
40
};
41
42
struct ConfigCustomButton {
43
uint64_t key;
44
int image;
45
int shape;
46
bool toggle;
47
bool repeat;
48
};
49
50
enum class CPUCore {
51
INTERPRETER = 0,
52
JIT = 1,
53
IR_INTERPRETER = 2,
54
JIT_IR = 3,
55
};
56
57
enum {
58
ROTATION_AUTO = 0,
59
ROTATION_LOCKED_HORIZONTAL = 1,
60
ROTATION_LOCKED_VERTICAL = 2,
61
ROTATION_LOCKED_HORIZONTAL180 = 3,
62
ROTATION_LOCKED_VERTICAL180 = 4,
63
ROTATION_AUTO_HORIZONTAL = 5,
64
};
65
66
enum TextureFiltering {
67
TEX_FILTER_AUTO = 1,
68
TEX_FILTER_FORCE_NEAREST = 2,
69
TEX_FILTER_FORCE_LINEAR = 3,
70
TEX_FILTER_AUTO_MAX_QUALITY = 4,
71
};
72
73
enum BufferFilter {
74
SCALE_LINEAR = 1,
75
SCALE_NEAREST = 2,
76
};
77
78
// Software is not among these because it will have one of these perform the blit to display.
79
enum class GPUBackend {
80
OPENGL = 0,
81
DIRECT3D9 = 1,
82
DIRECT3D11 = 2,
83
VULKAN = 3,
84
};
85
86
enum class RestoreSettingsBits : int {
87
SETTINGS = 1,
88
CONTROLS = 2,
89
RECENT = 4,
90
};
91
ENUM_CLASS_BITOPS(RestoreSettingsBits);
92
93
std::string GPUBackendToString(GPUBackend backend);
94
GPUBackend GPUBackendFromString(std::string_view backend);
95
96
enum AudioBackendType {
97
AUDIO_BACKEND_AUTO,
98
AUDIO_BACKEND_DSOUND,
99
AUDIO_BACKEND_WASAPI,
100
};
101
102
// For iIOTimingMethod.
103
enum IOTimingMethods {
104
IOTIMING_FAST = 0,
105
IOTIMING_HOST = 1,
106
IOTIMING_REALISTIC = 2,
107
IOTIMING_UMDSLOWREALISTIC = 3,
108
};
109
110
enum class AutoLoadSaveState {
111
OFF = 0,
112
OLDEST = 1,
113
NEWEST = 2,
114
};
115
116
enum class FastForwardMode {
117
CONTINUOUS = 0,
118
SKIP_FLIP = 2,
119
};
120
121
enum class BackgroundAnimation {
122
OFF = 0,
123
FLOATING_SYMBOLS = 1,
124
RECENT_GAMES = 2,
125
WAVE = 3,
126
MOVING_BACKGROUND = 4,
127
};
128
129
// iOS only
130
enum class AppSwitchMode {
131
SINGLE_SWIPE_NO_INDICATOR = 0,
132
DOUBLE_SWIPE_INDICATOR = 1,
133
};
134
135
// for Config.iShowStatusFlags
136
enum class ShowStatusFlags {
137
FPS_COUNTER = 1 << 1,
138
SPEED_COUNTER = 1 << 2,
139
BATTERY_PERCENT = 1 << 3,
140
};
141
142
// for iTiltInputType
143
enum TiltTypes {
144
TILT_NULL = 0,
145
TILT_ANALOG,
146
TILT_DPAD,
147
TILT_ACTION_BUTTON,
148
TILT_TRIGGER_BUTTONS,
149
};
150
151
enum class ScreenEdgePosition {
152
BOTTOM_LEFT = 0,
153
BOTTOM_CENTER = 1,
154
BOTTOM_RIGHT = 2,
155
TOP_LEFT = 3,
156
TOP_CENTER = 4,
157
TOP_RIGHT = 5,
158
CENTER_LEFT = 6,
159
CENTER_RIGHT = 7,
160
CENTER = 8, // Used for REALLY important messages! Not RetroAchievements notifications.
161
VALUE_COUNT,
162
};
163
164
enum class DebugOverlay : int {
165
OFF,
166
DEBUG_STATS,
167
FRAME_GRAPH,
168
FRAME_TIMING,
169
#ifdef USE_PROFILER
170
FRAME_PROFILE,
171
#endif
172
CONTROL,
173
Audio,
174
GPU_PROFILE,
175
GPU_ALLOCATOR,
176
FRAMEBUFFER_LIST,
177
};
178
179
// Android-only for now
180
enum class DisplayFramerateMode : int {
181
DEFAULT,
182
REQUEST_60HZ,
183
FORCE_60HZ_METHOD1,
184
FORCE_60HZ_METHOD2,
185
};
186
187
enum class SkipGPUReadbackMode : int {
188
NO_SKIP,
189
SKIP,
190
COPY_TO_TEXTURE,
191
};
192
193
enum class RemoteISOShareType : int {
194
RECENT,
195
LOCAL_FOLDER,
196
};
197
198