Support both types of lightgun in lost world. 2nd type fixes some missing fx. Thanks to Any for pointing this out. To use the old type change analog_gun1 to gun1 in the xml file.

This commit is contained in:
Ian Curtis 2018-01-29 19:31:23 +00:00
parent 6bc4224154
commit 10cefb7c61
4 changed files with 19 additions and 7 deletions

View file

@ -918,8 +918,8 @@
<stepping>1.5</stepping>
<inputs>
<input type="common" />
<input type="gun1" />
<input type="gun2" />
<input type="analog_gun1" />
<input type="analog_gun2" />
</inputs>
</hardware>
<roms>

View file

@ -520,7 +520,12 @@ UINT8 CModel3::ReadInputs(unsigned reg)
return serialFIFO2;
case 0x34: // Serial FIFO full/empty flags
if (m_game.inputs & (Game::INPUT_GUN1 | Game::INPUT_GUN2)) {
return 0x0C;
}
else {
return 0;
}
case 0x3C: // ADC
@ -541,12 +546,19 @@ UINT8 CModel3::ReadInputs(unsigned reg)
adc[1] = (UINT8)Inputs->analogJoyX->value;
}
if ((m_game.inputs & Game::INPUT_ANALOG_GUN1)||(m_game.inputs & Game::INPUT_ANALOG_GUN2))
if (m_game.inputs & (Game::INPUT_ANALOG_GUN1 | Game::INPUT_ANALOG_GUN2))
{
adc[0] = (UINT8)Inputs->analogGunX[0]->value;
adc[2] = (UINT8)Inputs->analogGunY[0]->value;
adc[1] = (UINT8)Inputs->analogGunX[1]->value;
adc[3] = (UINT8)Inputs->analogGunY[1]->value;
if (m_game.name == "lostwsga") { // to do, not a string compare
adc[0] = (UINT8)Inputs->analogGunX[0]->value; // order is different for some reason in lost world
adc[1] = 255 - (UINT8)Inputs->analogGunY[0]->value; // why are values inverted? is this the wrong place to fix this
adc[2] = (UINT8)Inputs->analogGunX[1]->value;
adc[3] = 255 - (UINT8)Inputs->analogGunY[1]->value;
}
}
if ((m_game.inputs & Game::INPUT_SKI))
@ -850,7 +862,7 @@ void CModel3::WriteSystemRegister(unsigned reg, UINT8 data)
case 0x0D:
case 0x0E:
case 0x0F:
case 0x1C: // LED control?
case 0x1C: // LED control
break;
default:
//DebugLog("System register %02X=%02X\n", reg, data);

View file

@ -1333,7 +1333,7 @@ static Util::Config::Node DefaultConfig()
static void Title(void)
{
puts("Supermodel: A Sega Model 3 Arcade Emulator (Version " SUPERMODEL_VERSION ")");
puts("Copyright 2011-2017 by Bart Trzynadlowski, Nik Henson, and Ian Curtis\n");
puts("Copyright 2011-2018 by Bart Trzynadlowski, Nik Henson, Ian Curtis, Harry Tuttle and Spindizzi\n");
}
static void Help(void)

View file

@ -28,6 +28,6 @@
#ifndef INCLUDED_VERSION_H
#define INCLUDED_VERSION_H
#define SUPERMODEL_VERSION "0.3a-WIP"
#define SUPERMODEL_VERSION "0.7-WIP"
#endif // INCLUDED_SUPERMODEL_H