2023-12-16 10:53:17 -05:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <vector>
|
|
|
|
#include <string>
|
|
|
|
#include <map>
|
|
|
|
#include "Types.h"
|
|
|
|
#include "ControllerInfo.h"
|
|
|
|
|
|
|
|
struct ARCADE_MACHINE_DEF
|
|
|
|
{
|
2024-06-08 09:42:46 -04:00
|
|
|
enum DRIVER
|
|
|
|
{
|
|
|
|
UNKNOWN,
|
|
|
|
NAMCO_SYSTEM_246,
|
|
|
|
NAMCO_SYSTEM_147,
|
|
|
|
};
|
|
|
|
|
2023-12-16 10:53:17 -05:00
|
|
|
enum class INPUT_MODE
|
|
|
|
{
|
|
|
|
DEFAULT,
|
|
|
|
LIGHTGUN,
|
|
|
|
DRUM,
|
|
|
|
DRIVE,
|
2024-02-15 15:36:23 +08:00
|
|
|
TOUCH,
|
2023-12-16 10:53:17 -05:00
|
|
|
};
|
|
|
|
|
2024-06-08 09:42:46 -04:00
|
|
|
enum class IO_MODE
|
2023-12-16 10:53:17 -05:00
|
|
|
{
|
2024-06-08 09:42:46 -04:00
|
|
|
DEFAULT,
|
|
|
|
SYS147_AI,
|
2023-12-16 10:53:17 -05:00
|
|
|
};
|
2024-06-08 09:42:46 -04:00
|
|
|
|
2023-12-16 10:53:17 -05:00
|
|
|
struct PATCH
|
|
|
|
{
|
|
|
|
uint32 address = 0;
|
|
|
|
uint32 value = 0;
|
|
|
|
};
|
|
|
|
|
2024-05-17 15:41:52 -04:00
|
|
|
using ButtonSelector = std::pair<int, PS2::CControllerInfo::BUTTON>;
|
|
|
|
|
2023-12-16 10:53:17 -05:00
|
|
|
std::string id;
|
|
|
|
std::string parent;
|
|
|
|
DRIVER driver = DRIVER::UNKNOWN;
|
|
|
|
std::string name;
|
|
|
|
std::string dongleFileName;
|
|
|
|
std::string cdvdFileName;
|
|
|
|
std::string hddFileName;
|
|
|
|
std::string nandFileName;
|
2024-03-18 10:08:35 -04:00
|
|
|
std::map<std::string, uint32> nandMounts;
|
2024-05-17 15:41:52 -04:00
|
|
|
std::map<unsigned int, ButtonSelector> buttons;
|
2023-12-16 10:53:17 -05:00
|
|
|
INPUT_MODE inputMode = INPUT_MODE::DEFAULT;
|
2024-06-08 09:42:46 -04:00
|
|
|
IO_MODE ioMode = IO_MODE::DEFAULT;
|
2024-02-17 17:34:45 +08:00
|
|
|
std::array<float, 4> screenPosXform = {65535, 0, 65535, 0};
|
2023-12-16 10:53:17 -05:00
|
|
|
uint32 eeFreqScaleNumerator = 1;
|
|
|
|
uint32 eeFreqScaleDenominator = 1;
|
|
|
|
std::string boot;
|
|
|
|
std::vector<PATCH> patches;
|
|
|
|
};
|