naomi: display crosshair for touchscreen games

This commit is contained in:
Flyinghead 2023-03-05 15:13:18 +01:00
parent 2355bb8bb5
commit 67c070c20f
4 changed files with 15 additions and 6 deletions

View File

@ -51,6 +51,8 @@ static void loadSpecialSettings()
std::string& prod_id = settings.content.gameId;
NOTICE_LOG(BOOT, "Game ID is [%s]", prod_id.c_str());
settings.input.lightgunGame = false;
if (settings.platform.isConsole())
{
if (ip_meta.isWindowsCE() || prod_id == "T26702N") // PBA Tour Bowling 2001
@ -290,11 +292,13 @@ static void loadSpecialSettings()
{
INFO_LOG(BOOT, "Enabling lightgun setup for game %s", prod_id.c_str());
settings.input.JammaSetup = JVS::LightGun;
settings.input.lightgunGame = true;
}
else if (prod_id == "MAZAN")
{
INFO_LOG(BOOT, "Enabling specific JVS setup for game %s", prod_id.c_str());
settings.input.JammaSetup = JVS::Mazan;
settings.input.lightgunGame = true;
}
else if (prod_id == " BIOHAZARD GUN SURVIVOR2")
{
@ -331,6 +335,7 @@ static void loadSpecialSettings()
{
INFO_LOG(BOOT, "Enabling lightgun as analog setup for game %s", prod_id.c_str());
settings.input.JammaSetup = JVS::LightGunAsAnalog;
settings.input.lightgunGame = true;
}
else if (prod_id == "WAVE RUNNER GP")
{
@ -352,10 +357,16 @@ static void loadSpecialSettings()
INFO_LOG(BOOT, "Enabling specific JVS setup for game %s", prod_id.c_str());
settings.input.JammaSetup = JVS::DogWalking;
}
else if (prod_id == " TOUCH DE UNOH -------------"|| prod_id == " TOUCH DE UNOH 2 -----------")
else if (prod_id == " TOUCH DE UNOH -------------" || prod_id == " TOUCH DE UNOH 2 -----------")
{
INFO_LOG(BOOT, "Enabling specific JVS setup for game %s", prod_id.c_str());
settings.input.JammaSetup = JVS::TouchDeUno;
settings.input.lightgunGame = true;
}
else if (prod_id == "POKASUKA GHOST (JAPANESE)" // Manic Panic Ghosts
|| prod_id == "TOUCH DE ZUNO (JAPAN)")
{
settings.input.lightgunGame = true;
}
}
}

View File

@ -494,7 +494,7 @@ void startSession(int localPort, int localPlayerNum)
absPointerPos = false;
keyboardGame = false;
mouseGame = false;
if (settings.input.JammaSetup == JVS::LightGun || settings.input.JammaSetup == JVS::LightGunAsAnalog)
if (settings.input.lightgunGame)
absPointerPos = true;
else if (settings.input.JammaSetup == JVS::Keyboard)
keyboardGame = true;

View File

@ -56,10 +56,7 @@ static inline bool crosshairsNeeded()
if (config::CrosshairColor[0] == 0 && config::CrosshairColor[1] == 0
&& config::CrosshairColor[2] == 0 && config::CrosshairColor[3] == 0)
return false;
if (settings.platform.isArcade()
&& settings.input.JammaSetup != JVS::LightGun
&& settings.input.JammaSetup != JVS::LightGunAsAnalog
&& settings.input.JammaSetup != JVS::Mazan)
if (settings.platform.isArcade() && !settings.input.lightgunGame)
// not a lightgun game
return false;
return true;

View File

@ -284,6 +284,7 @@ struct settings_t
JVS JammaSetup;
KeyboardLayout keyboardLangId = KeyboardLayout::US;
bool fastForwardMode;
bool lightgunGame; // or touchscreen
} input;
struct