2018-06-17 01:42:31 +00:00
|
|
|
// Copyright (c) 2012- PPSSPP Project.
|
|
|
|
|
|
|
|
// This program is free software: you can redistribute it and/or modify
|
|
|
|
// it under the terms of the GNU General Public License as published by
|
|
|
|
// the Free Software Foundation, version 2.0 or later versions.
|
|
|
|
|
|
|
|
// This program is distributed in the hope that it will be useful,
|
|
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
// GNU General Public License 2.0 for more details.
|
|
|
|
|
|
|
|
// A copy of the GPL 2.0 should have been included with the program.
|
|
|
|
// If not, see http://www.gnu.org/licenses/
|
|
|
|
|
|
|
|
// Official git repository and contact information can be found at
|
|
|
|
// https://github.com/hrydgard/ppsspp and http://www.ppsspp.org/.
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <cstdint>
|
2019-06-22 18:20:01 +00:00
|
|
|
#include <string>
|
2019-06-22 19:22:47 +00:00
|
|
|
#ifndef _MSC_VER
|
|
|
|
#include <strings.h>
|
|
|
|
#endif
|
|
|
|
#include "Common/CommonFuncs.h"
|
2018-06-17 01:42:31 +00:00
|
|
|
|
|
|
|
const int PSP_MODEL_FAT = 0;
|
|
|
|
const int PSP_MODEL_SLIM = 1;
|
|
|
|
const int PSP_DEFAULT_FIRMWARE = 660;
|
|
|
|
static const int8_t VOLUME_OFF = 0;
|
2021-08-10 03:47:24 +00:00
|
|
|
static const int8_t VOLUME_FULL = 10;
|
2018-06-17 01:42:31 +00:00
|
|
|
|
|
|
|
enum class CPUCore {
|
|
|
|
INTERPRETER = 0,
|
|
|
|
JIT = 1,
|
|
|
|
IR_JIT = 2,
|
|
|
|
};
|
|
|
|
|
|
|
|
enum {
|
|
|
|
ROTATION_AUTO = 0,
|
|
|
|
ROTATION_LOCKED_HORIZONTAL = 1,
|
|
|
|
ROTATION_LOCKED_VERTICAL = 2,
|
|
|
|
ROTATION_LOCKED_HORIZONTAL180 = 3,
|
|
|
|
ROTATION_LOCKED_VERTICAL180 = 4,
|
2019-02-23 16:17:40 +00:00
|
|
|
ROTATION_AUTO_HORIZONTAL = 5,
|
2018-06-17 01:42:31 +00:00
|
|
|
};
|
|
|
|
|
2021-09-02 22:06:49 +00:00
|
|
|
enum TextureFiltering {
|
|
|
|
TEX_FILTER_AUTO = 1,
|
|
|
|
TEX_FILTER_FORCE_NEAREST = 2,
|
|
|
|
TEX_FILTER_FORCE_LINEAR = 3,
|
|
|
|
TEX_FILTER_AUTO_MAX_QUALITY = 4,
|
|
|
|
};
|
|
|
|
|
2018-06-17 01:42:31 +00:00
|
|
|
enum BufferFilter {
|
|
|
|
SCALE_LINEAR = 1,
|
|
|
|
SCALE_NEAREST = 2,
|
|
|
|
};
|
|
|
|
|
|
|
|
// Software is not among these because it will have one of these perform the blit to display.
|
|
|
|
enum class GPUBackend {
|
|
|
|
OPENGL = 0,
|
|
|
|
DIRECT3D9 = 1,
|
|
|
|
DIRECT3D11 = 2,
|
|
|
|
VULKAN = 3,
|
|
|
|
};
|
|
|
|
|
2019-06-22 18:20:01 +00:00
|
|
|
inline std::string GPUBackendToString(GPUBackend backend) {
|
|
|
|
switch (backend) {
|
|
|
|
case GPUBackend::OPENGL:
|
|
|
|
return "OPENGL";
|
|
|
|
case GPUBackend::DIRECT3D9:
|
|
|
|
return "DIRECT3D9";
|
|
|
|
case GPUBackend::DIRECT3D11:
|
|
|
|
return "DIRECT3D11";
|
|
|
|
case GPUBackend::VULKAN:
|
|
|
|
return "VULKAN";
|
|
|
|
}
|
|
|
|
// Intentionally not a default so we get a warning.
|
|
|
|
return "INVALID";
|
|
|
|
}
|
|
|
|
|
|
|
|
inline GPUBackend GPUBackendFromString(const std::string &backend) {
|
2019-06-22 19:22:47 +00:00
|
|
|
if (!strcasecmp(backend.c_str(), "OPENGL") || backend == "0")
|
2019-06-22 18:20:01 +00:00
|
|
|
return GPUBackend::OPENGL;
|
2019-06-22 19:22:47 +00:00
|
|
|
if (!strcasecmp(backend.c_str(), "DIRECT3D9") || backend == "1")
|
2019-06-22 18:20:01 +00:00
|
|
|
return GPUBackend::DIRECT3D9;
|
2019-06-22 19:22:47 +00:00
|
|
|
if (!strcasecmp(backend.c_str(), "DIRECT3D11") || backend == "2")
|
2019-06-22 18:20:01 +00:00
|
|
|
return GPUBackend::DIRECT3D11;
|
2019-06-22 19:22:47 +00:00
|
|
|
if (!strcasecmp(backend.c_str(), "VULKAN") || backend == "3")
|
2019-06-22 18:20:01 +00:00
|
|
|
return GPUBackend::VULKAN;
|
|
|
|
return GPUBackend::OPENGL;
|
|
|
|
}
|
|
|
|
|
2018-06-17 01:42:31 +00:00
|
|
|
enum AudioBackendType {
|
|
|
|
AUDIO_BACKEND_AUTO,
|
|
|
|
AUDIO_BACKEND_DSOUND,
|
|
|
|
AUDIO_BACKEND_WASAPI,
|
|
|
|
};
|
|
|
|
|
|
|
|
// For iIOTimingMethod.
|
|
|
|
enum IOTimingMethods {
|
|
|
|
IOTIMING_FAST = 0,
|
|
|
|
IOTIMING_HOST = 1,
|
|
|
|
IOTIMING_REALISTIC = 2,
|
|
|
|
};
|
|
|
|
|
2018-06-17 02:20:23 +00:00
|
|
|
enum class SmallDisplayZoom {
|
|
|
|
STRETCH = 0,
|
|
|
|
PARTIAL_STRETCH = 1,
|
|
|
|
AUTO = 2,
|
|
|
|
MANUAL = 3,
|
|
|
|
};
|
2018-06-21 08:00:57 +00:00
|
|
|
|
2018-06-26 06:52:02 +00:00
|
|
|
enum class AutoLoadSaveState {
|
2018-06-21 08:00:57 +00:00
|
|
|
OFF = 0,
|
|
|
|
OLDEST = 1,
|
|
|
|
NEWEST = 2,
|
|
|
|
};
|
2020-05-24 21:57:18 +00:00
|
|
|
|
2021-08-17 14:48:47 +00:00
|
|
|
enum class FastForwardMode {
|
2020-05-24 21:57:18 +00:00
|
|
|
CONTINUOUS = 0,
|
|
|
|
SKIP_FLIP = 2,
|
|
|
|
};
|
2021-04-04 17:48:42 +00:00
|
|
|
|
|
|
|
enum class BackgroundAnimation {
|
|
|
|
OFF = 0,
|
|
|
|
FLOATING_SYMBOLS = 1,
|
|
|
|
RECENT_GAMES = 2,
|
2021-09-08 13:03:32 +00:00
|
|
|
WAVE = 3,
|
2021-09-09 23:55:23 +00:00
|
|
|
MOVING_BACKGROUND = 4,
|
2021-04-04 17:48:42 +00:00
|
|
|
};
|
2022-07-04 20:10:42 +00:00
|
|
|
|
|
|
|
enum class AnalogFpsMode {
|
|
|
|
AUTO = 0,
|
|
|
|
MAPPED_DIRECTION = 1,
|
2022-07-05 23:07:09 +00:00
|
|
|
MAPPED_DIR_TO_OPPOSITE_DIR = 2,
|
2022-07-04 20:10:42 +00:00
|
|
|
};
|