1
0
mirror of synced 2025-01-18 23:44:04 +01:00

Add Sega Touring Car Championship to MAME

Game seems broken and doesn't actually go ingame so not sure this will 100% work or not but maybe if they ever fix it up more
This commit is contained in:
Aaron M 2020-05-25 17:03:18 +12:00
parent 6d74d092d3
commit f6b784926c
2 changed files with 62 additions and 0 deletions

View File

@ -1138,6 +1138,16 @@ AlternativeMinForceRightIndy500MAME=0
AlternativeMaxForceRightIndy500MAME=100
EnableForceSpringEffectIndy500MAME=0
ForceSpringStrengthIndy500MAME=80
PowerModeSTCCMAME=0
FeedbackLengthSTCCMAME=500
MinForceSTCCMAME=0
MaxForceSTCCMAME=100
AlternativeMinForceLeftSTCCMAME=0
AlternativeMaxForceLeftSTCCMAME=-100
AlternativeMinForceRightSTCCMAME=0
AlternativeMaxForceRightSTCCMAME=100
EnableForceSpringEffectSTCCMAME=0
ForceSpringStrengthSTCCMAME=80
[MAME 64bit Outputs]
GameId=22
@ -1528,6 +1538,16 @@ AlternativeMinForceRightIndy500MAME=0
AlternativeMaxForceRightIndy500MAME=100
EnableForceSpringEffectIndy500MAME=0
ForceSpringStrengthIndy500MAME=80
PowerModeSTCCMAME=0
FeedbackLengthSTCCMAME=500
MinForceSTCCMAME=0
MaxForceSTCCMAME=100
AlternativeMinForceLeftSTCCMAME=0
AlternativeMaxForceLeftSTCCMAME=-100
AlternativeMinForceRightSTCCMAME=0
AlternativeMaxForceRightSTCCMAME=100
EnableForceSpringEffectSTCCMAME=0
ForceSpringStrengthSTCCMAME=80
; ***********************************************************************************************************************************
; ************************************************* Test cases are established below ************************************************

View File

@ -544,6 +544,17 @@ static int configFeedbackLengthIndy500MAME = GetPrivateProfileInt(TEXT("Settings
static int EnableForceSpringEffectIndy500MAME = GetPrivateProfileInt(TEXT("Settings"), TEXT("EnableForceSpringEffectIndy500MAME"), 0, settingsFilename);
static int ForceSpringStrengthIndy500MAME = GetPrivateProfileInt(TEXT("Settings"), TEXT("ForceSpringStrengthIndy500MAME"), 0, settingsFilename);
static int configMinForceSTCCMAME = GetPrivateProfileInt(TEXT("Settings"), TEXT("MinForceSTCCMAME"), 0, settingsFilename);
static int configMaxForceSTCCMAME = GetPrivateProfileInt(TEXT("Settings"), TEXT("MaxForceSTCCMAME"), 100, settingsFilename);
static int configAlternativeMinForceLeftSTCCMAME = GetPrivateProfileInt(TEXT("Settings"), TEXT("AlternativeMinForceLeftSTCCMAME"), 0, settingsFilename);
static int configAlternativeMaxForceLeftSTCCMAME = GetPrivateProfileInt(TEXT("Settings"), TEXT("AlternativeMaxForceLeftSTCCMAME"), 100, settingsFilename);
static int configAlternativeMinForceRightSTCCMAME = GetPrivateProfileInt(TEXT("Settings"), TEXT("AlternativeMinForceRightSTCCMAME"), 0, settingsFilename);
static int configAlternativeMaxForceRightSTCCMAME = GetPrivateProfileInt(TEXT("Settings"), TEXT("AlternativeMaxForceRightSTCCMAME"), 100, settingsFilename);
static int PowerModeSTCCMAME = GetPrivateProfileInt(TEXT("Settings"), TEXT("PowerModeSTCCMAME"), 0, settingsFilename);
static int configFeedbackLengthSTCCMAME = GetPrivateProfileInt(TEXT("Settings"), TEXT("FeedbackLengthSTCCMAME"), 120, settingsFilename);
static int EnableForceSpringEffectSTCCMAME = GetPrivateProfileInt(TEXT("Settings"), TEXT("EnableForceSpringEffectSTCCMAME"), 0, settingsFilename);
static int ForceSpringStrengthSTCCMAME = GetPrivateProfileInt(TEXT("Settings"), TEXT("ForceSpringStrengthSTCCMAME"), 0, settingsFilename);
static bool init = false;
static bool initSpring = false;
static bool EmuName = false;
@ -1311,6 +1322,9 @@ std::string srallycdx("srallycdx");
std::string spacegun("spacegun");
std::string spacegunu("spacegunu");
std::string spacegunj("spacegunj");
std::string stcc("stcc");
std::string stcca("stcca");
std::string stccb("stccb");
std::string rchase("rchase");
std::string rchasej("rchasej");
std::string lghost("lghost");
@ -2201,6 +2215,22 @@ void OutputReading::FFBLoop(EffectConstants* constants, Helpers* helpers, Effect
RunningFFB = "DaytonaActive";
}
if (romname == stcc)
{
configMinForce = configMinForceSTCCMAME;
configMaxForce = configMaxForceSTCCMAME;
configAlternativeMinForceLeft = configAlternativeMinForceLeftSTCCMAME;
configAlternativeMaxForceLeft = configAlternativeMaxForceLeftSTCCMAME;
configAlternativeMinForceRight = configAlternativeMinForceRightSTCCMAME;
configAlternativeMaxForceRight = configAlternativeMaxForceRightSTCCMAME;
configFeedbackLength = configFeedbackLengthSTCCMAME;
PowerMode = PowerModeSTCCMAME;
EnableForceSpringEffect = EnableForceSpringEffectSTCCMAME;
ForceSpringStrength = ForceSpringStrengthSTCCMAME;
RunningFFB = "DaytonaActive";
}
if (romname == srallyc || romname == srallycb || romname == srallycdx || romname == srallycdxa)
{
configMinForce = configMinForceSRallyMAME;
@ -3121,6 +3151,18 @@ void OutputReading::FFBLoop(EffectConstants* constants, Helpers* helpers, Effect
PatternFind = true;
}
}
if (romname == stcc)
{
aAddy2 = PatternScan("\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xFF\xFF\xFF", "xxxxxxxxxxxxxxxxxxxxxxxxxxxx");
UINT8 CheckAddy2 = helpers->ReadByte((int)aAddy2 + 0x1F, false);
if ((CheckAddy2 == 0x4E) || (CheckAddy2 == 0x4F))
{
FFBAddress = (int)aAddy2 + 0x19;
PatternFind = true;
}
}
}
else
{