keyboard support for totd and luptype
This commit is contained in:
parent
f99d7fa262
commit
39d81923c9
|
@ -134,7 +134,8 @@ void mcfg_CreateNAOMIJamma()
|
|||
{
|
||||
mcfg_DestroyDevices();
|
||||
mcfg_Create(MDT_NaomiJamma, 0, 5);
|
||||
// mcfg_Create(MDT_Keyboard, 2, 5);
|
||||
if (settings.input.JammaSetup == JVS::Keyboard)
|
||||
mcfg_Create(MDT_Keyboard, 2, 5);
|
||||
}
|
||||
|
||||
void mcfg_CreateAtomisWaveControllers()
|
||||
|
@ -152,20 +153,20 @@ void mcfg_CreateAtomisWaveControllers()
|
|||
// Faster Than Speed needs 1 std controller on port 0 (digital inputs) and one on port 2 (analog axes)
|
||||
// Maximum Speed same
|
||||
}
|
||||
else if (settings.input.JammaSetup == 1)
|
||||
else if (settings.input.JammaSetup == JVS::FourPlayers)
|
||||
{
|
||||
// 4 players
|
||||
mcfg_Create(MDT_SegaController, 2, 5);
|
||||
mcfg_Create(MDT_SegaController, 3, 5);
|
||||
}
|
||||
else if (settings.input.JammaSetup == 5)
|
||||
else if (settings.input.JammaSetup == JVS::LightGun)
|
||||
{
|
||||
// Clay Challenge needs 2 std controllers on port 0 & 1 (digital in) and light guns on port 2 & 3
|
||||
// Sports Shooting same
|
||||
mcfg_Create(MDT_LightGun, 2, 5, 0);
|
||||
mcfg_Create(MDT_LightGun, 3, 5, 1);
|
||||
}
|
||||
else if (settings.input.JammaSetup == 3)
|
||||
else if (settings.input.JammaSetup == JVS::SegaMarineFishing)
|
||||
{
|
||||
// Sega Bass Fishing Challenge needs a mouse (track-ball) on port 2
|
||||
mcfg_Create(MDT_Mouse, 2, 5, 0);
|
||||
|
|
|
@ -1817,47 +1817,48 @@ struct maple_naomi_jamma : maple_sega_controller
|
|||
{
|
||||
switch (settings.input.JammaSetup)
|
||||
{
|
||||
case 0:
|
||||
case JVS::Default:
|
||||
default:
|
||||
io_boards.emplace_back(new jvs_837_13551(1, this));
|
||||
break;
|
||||
case 1:
|
||||
case JVS::FourPlayers:
|
||||
io_boards.emplace_back(new jvs_837_13551_4P(1, this));
|
||||
break;
|
||||
case 2:
|
||||
case JVS::RotaryEncoders:
|
||||
io_boards.emplace_back(new jvs_837_13938(1, this));
|
||||
io_boards.emplace_back(new jvs_837_13551(2, this));
|
||||
break;
|
||||
case 3: // Sega Marine Fishing
|
||||
case JVS::SegaMarineFishing:
|
||||
io_boards.emplace_back(new jvs_837_13844(1, this));
|
||||
break;
|
||||
case 4:
|
||||
case JVS::DualIOBoards4P:
|
||||
io_boards.emplace_back(new jvs_837_13551(1, this));
|
||||
io_boards.emplace_back(new jvs_837_13551(2, this, 2));
|
||||
break;
|
||||
case 5: // Ninja Assault
|
||||
case JVS::LightGun:
|
||||
io_boards.emplace_back(new jvs_namco_jyu(1, this));
|
||||
break;
|
||||
case 6: // Mazan
|
||||
case JVS::Mazan:
|
||||
io_boards.emplace_back(new jvs_namco_fcb(1, this));
|
||||
io_boards.emplace_back(new jvs_namco_fcb(2, this));
|
||||
break;
|
||||
case 7: // Gun Survivor
|
||||
case JVS::GunSurvivor:
|
||||
io_boards.emplace_back(new jvs_namco_fca(1, this));
|
||||
break;
|
||||
case 8: // Dog Walking
|
||||
case JVS::DogWalking:
|
||||
io_boards.emplace_back(new jvs_837_13844_encoders(1, this));
|
||||
break;
|
||||
case 9: // Touch de Uno
|
||||
case JVS::TouchDeUno:
|
||||
io_boards.emplace_back(new jvs_837_13844_touch(1, this));
|
||||
break;
|
||||
case 10: // World Kicks
|
||||
case JVS::WorldKicks:
|
||||
io_boards.emplace_back(new jvs_namco_v226(1, this));
|
||||
break;
|
||||
case 11: // World Kicks PCB
|
||||
case JVS::WorldKicksPCB:
|
||||
io_boards.emplace_back(new jvs_namco_v226_pcb(1, this));
|
||||
break;
|
||||
}
|
||||
if (settings.input.JammaSetup != 6)
|
||||
if (settings.input.JammaSetup != JVS::Mazan)
|
||||
for (int bus = 0; bus < MAPLE_PORTS; ++bus)
|
||||
if ((MapleDeviceType)settings.input.maple_devices[bus] == MDT_LightGun)
|
||||
{
|
||||
|
|
|
@ -375,24 +375,24 @@ void LoadSpecialSettings()
|
|||
|| !strcmp("BASS FISHING SIMULATOR VER.A", naomi_game_id))
|
||||
{
|
||||
INFO_LOG(BOOT, "Enabling JVS rotary encoders for game %s", naomi_game_id);
|
||||
settings.input.JammaSetup = 2;
|
||||
settings.input.JammaSetup = JVS::RotaryEncoders;
|
||||
}
|
||||
else if (!strcmp("POWER STONE 2 JAPAN", naomi_game_id) // Naomi
|
||||
|| !strcmp("GUILTY GEAR isuka", naomi_game_id)) // AW
|
||||
{
|
||||
INFO_LOG(BOOT, "Enabling 4-player setup for game %s", naomi_game_id);
|
||||
settings.input.JammaSetup = 1;
|
||||
settings.input.JammaSetup = JVS::FourPlayers;
|
||||
}
|
||||
else if (!strcmp("SEGA MARINE FISHING JAPAN", naomi_game_id)
|
||||
|| !strcmp(naomi_game_id, "BASS FISHING SIMULATOR VER.A")) // AW
|
||||
{
|
||||
INFO_LOG(BOOT, "Enabling specific JVS setup for game %s", naomi_game_id);
|
||||
settings.input.JammaSetup = 3;
|
||||
settings.input.JammaSetup = JVS::SegaMarineFishing;
|
||||
}
|
||||
else if (!strcmp("RINGOUT 4X4 JAPAN", naomi_game_id))
|
||||
{
|
||||
INFO_LOG(BOOT, "Enabling specific JVS setup for game %s", naomi_game_id);
|
||||
settings.input.JammaSetup = 4;
|
||||
settings.input.JammaSetup = JVS::DualIOBoards4P;
|
||||
}
|
||||
else if (!strcmp("NINJA ASSAULT", naomi_game_id)
|
||||
|| !strcmp(naomi_game_id, "Sports Shooting USA") // AW
|
||||
|
@ -401,27 +401,33 @@ void LoadSpecialSettings()
|
|||
|| !strcmp(naomi_game_id, "EXTREME HUNTING")) // AW
|
||||
{
|
||||
INFO_LOG(BOOT, "Enabling lightgun setup for game %s", naomi_game_id);
|
||||
settings.input.JammaSetup = 5;
|
||||
settings.input.JammaSetup = JVS::LightGun;
|
||||
}
|
||||
else if (!strcmp("MAZAN", naomi_game_id))
|
||||
{
|
||||
INFO_LOG(BOOT, "Enabling specific JVS setup for game %s", naomi_game_id);
|
||||
settings.input.JammaSetup = 6;
|
||||
settings.input.JammaSetup = JVS::Mazan;
|
||||
}
|
||||
else if (!strcmp(" BIOHAZARD GUN SURVIVOR2", naomi_game_id))
|
||||
{
|
||||
INFO_LOG(BOOT, "Enabling specific JVS setup for game %s", naomi_game_id);
|
||||
settings.input.JammaSetup = 7;
|
||||
settings.input.JammaSetup = JVS::GunSurvivor;
|
||||
}
|
||||
else if (!strcmp("WORLD KICKS", naomi_game_id))
|
||||
{
|
||||
INFO_LOG(BOOT, "Enabling specific JVS setup for game %s", naomi_game_id);
|
||||
settings.input.JammaSetup = 10;
|
||||
settings.input.JammaSetup = JVS::WorldKicks;
|
||||
}
|
||||
else if (!strcmp("WORLD KICKS PCB", naomi_game_id))
|
||||
{
|
||||
INFO_LOG(BOOT, "Enabling specific JVS setup for game %s", naomi_game_id);
|
||||
settings.input.JammaSetup = 11;
|
||||
settings.input.JammaSetup = JVS::WorldKicksPCB;
|
||||
}
|
||||
else if (!strcmp("THE TYPING OF THE DEAD", naomi_game_id)
|
||||
|| !strcmp(" LUPIN THE THIRD -THE TYPING-", naomi_game_id))
|
||||
{
|
||||
INFO_LOG(BOOT, "Enabling keyboard for game %s", naomi_game_id);
|
||||
settings.input.JammaSetup = JVS::Keyboard;
|
||||
}
|
||||
if (!strcmp("COSMIC SMASH IN JAPAN", naomi_game_id))
|
||||
{
|
||||
|
@ -806,7 +812,7 @@ void InitSettings()
|
|||
settings.validate.OpenGlChecks = false;
|
||||
|
||||
settings.input.MouseSensitivity = 100;
|
||||
settings.input.JammaSetup = 0;
|
||||
settings.input.JammaSetup = JVS::Default;
|
||||
settings.input.VirtualGamepadVibration = 20;
|
||||
for (int i = 0; i < MAPLE_PORTS; i++)
|
||||
{
|
||||
|
@ -905,7 +911,7 @@ void LoadSettings(bool game_specific)
|
|||
settings.validate.OpenGlChecks = cfgLoadBool(game_specific ? cfgGetGameId() : "validate", "OpenGlChecks", settings.validate.OpenGlChecks);
|
||||
|
||||
settings.input.MouseSensitivity = cfgLoadInt(input_section, "MouseSensitivity", settings.input.MouseSensitivity);
|
||||
settings.input.JammaSetup = cfgLoadInt(input_section, "JammaSetup", settings.input.JammaSetup);
|
||||
settings.input.JammaSetup = (JVS)cfgLoadInt(input_section, "JammaSetup", (int)settings.input.JammaSetup);
|
||||
settings.input.VirtualGamepadVibration = cfgLoadInt(input_section, "VirtualGamepadVibration", settings.input.VirtualGamepadVibration);
|
||||
for (int i = 0; i < MAPLE_PORTS; i++)
|
||||
{
|
||||
|
|
27
core/types.h
27
core/types.h
|
@ -377,6 +377,22 @@ struct RegisterStruct
|
|||
}
|
||||
};
|
||||
|
||||
enum class JVS {
|
||||
Default,
|
||||
FourPlayers,
|
||||
RotaryEncoders,
|
||||
SegaMarineFishing,
|
||||
DualIOBoards4P,
|
||||
LightGun,
|
||||
Mazan,
|
||||
GunSurvivor,
|
||||
DogWalking,
|
||||
TouchDeUno,
|
||||
WorldKicks,
|
||||
WorldKicksPCB,
|
||||
Keyboard
|
||||
};
|
||||
|
||||
struct settings_t
|
||||
{
|
||||
struct {
|
||||
|
@ -513,8 +529,7 @@ struct settings_t
|
|||
|
||||
struct {
|
||||
u32 MouseSensitivity;
|
||||
u32 JammaSetup; // 0: standard, 1: 4-players, 2: rotary encoders, 3: Sega Marine Fishing,
|
||||
// 4: dual I/O boards (4P), 5: Namco JYU board (Ninja Assault)
|
||||
JVS JammaSetup;
|
||||
int maple_devices[4];
|
||||
int maple_expansion_devices[4][2];
|
||||
int VirtualGamepadVibration;
|
||||
|
@ -595,12 +610,12 @@ u32 libExtDevice_ReadMem_A0_006(u32 addr,u32 size);
|
|||
void libExtDevice_WriteMem_A0_006(u32 addr,u32 data,u32 size);
|
||||
|
||||
//Area 0 , 0x01000000- 0x01FFFFFF [Ext. Device]
|
||||
static u32 libExtDevice_ReadMem_A0_010(u32 addr,u32 size) { return 0; }
|
||||
static void libExtDevice_WriteMem_A0_010(u32 addr,u32 data,u32 size) { }
|
||||
static inline u32 libExtDevice_ReadMem_A0_010(u32 addr,u32 size) { return 0; }
|
||||
static inline void libExtDevice_WriteMem_A0_010(u32 addr,u32 data,u32 size) { }
|
||||
|
||||
//Area 5
|
||||
static u32 libExtDevice_ReadMem_A5(u32 addr,u32 size){ return 0; }
|
||||
static void libExtDevice_WriteMem_A5(u32 addr,u32 data,u32 size) { }
|
||||
static inline u32 libExtDevice_ReadMem_A5(u32 addr,u32 size){ return 0; }
|
||||
static inline void libExtDevice_WriteMem_A5(u32 addr,u32 data,u32 size) { }
|
||||
|
||||
//ARM
|
||||
s32 libARM_Init();
|
||||
|
|
Loading…
Reference in New Issue