1
0
mirror of synced 2024-11-23 22:40:57 +01:00

add Daytona New Season Edition

This commit is contained in:
Aaron M 2021-12-01 17:29:59 +13:00
parent 04e02e7669
commit eff6f414e8
6 changed files with 103 additions and 0 deletions

View File

@ -520,6 +520,12 @@ Gear4=99
Gear5=99
Gear6=99
[Daytona Championship USA NSE]
GameId=59
FeedbackLength=80
EnableDamper=0
DamperStrength=100
[WMMT5]
GameId=9
DefaultCentering=0

View File

@ -26,6 +26,7 @@
<ClInclude Include="Game Files\Batman.h" />
<ClInclude Include="Game Files\CrazyTaxi.h" />
<ClInclude Include="Game Files\D1GP.h" />
<ClInclude Include="Game Files\Daytona3NSE.h" />
<ClInclude Include="Game Files\DirtyDrivin.h" />
<ClInclude Include="Game Files\FordRacingOther.h" />
<ClInclude Include="Game Files\GoldenGun.h" />
@ -70,6 +71,7 @@
<ClCompile Include="Game Files\Batman.cpp" />
<ClCompile Include="Game Files\CrazyTaxi.cpp" />
<ClCompile Include="Game Files\D1GP.cpp" />
<ClCompile Include="Game Files\Daytona3NSE.cpp" />
<ClCompile Include="Game Files\DemulATVTrackInputs.cpp" />
<ClCompile Include="Game Files\DemulFasterThanSpeedInputs.cpp" />
<ClCompile Include="Game Files\DemulMaximumSpeedInputs.cpp" />

View File

@ -144,6 +144,7 @@
<ClCompile Include="Game Files\WMMT5DX+.cpp" />
<ClCompile Include="Game Files\WMMT5DX.cpp" />
<ClCompile Include="Game Files\CrazyTaxi.cpp" />
<ClCompile Include="Game Files\Daytona3NSE.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="Game Files\Daytona3.h">
@ -336,6 +337,9 @@
<ClInclude Include="Game Files\CrazyTaxi.h">
<Filter>Common Header Files</Filter>
</ClInclude>
<ClInclude Include="Game Files\Daytona3NSE.h">
<Filter>Common Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<MASM Include="DLLWrapper.asm" />

View File

@ -38,6 +38,7 @@ along with FFB Arcade Plugin.If not, see < https://www.gnu.org/licenses/>.
#include "Game Files/CrazyTaxi.h"
#include "Game Files/D1GP.h"
#include "Game Files/Daytona3.h"
#include "Game Files/Daytona3NSE.h"
#include "Game Files/DirtyDrivin.h"
#include "Game Files/FordRacing.h"
#include "Game Files/FordRacingOther.h"
@ -1023,6 +1024,7 @@ const int D1_GP = 55;
const int WMMT_5DXPlus = 56;
const int WMMT_5DX = 57;
const int Crazy_Taxi = 58;
const int DAYTONA_3_NSE = 59;
HINSTANCE Get_hInstance()
{
@ -2316,6 +2318,9 @@ DWORD WINAPI FFBLoop(LPVOID lpParam)
case DAYTONA_3:
game = new Daytona3;
break;
case DAYTONA_3_NSE:
game = new Daytona3NSE;
break;
case SUPERMODEL_:
game = new MAMESupermodel;
break;

View File

@ -0,0 +1,66 @@
/*This file is part of FFB Arcade Plugin.
FFB Arcade Plugin is free software : you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
FFB Arcade Plugin is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with FFB Arcade Plugin.If not, see < https://www.gnu.org/licenses/>.
*/
#include <string>
#include "Daytona3NSE.h"
extern int EnableDamper;
extern int DamperStrength;
void Daytona3NSE::FFBLoop(EffectConstants* constants, Helpers* helpers, EffectTriggers* triggers) {
UINT8 FFB = helpers->ReadByte(0x1334061, true);
if (FFB >= 0xF8 && FFB <= 0xFF)
{
double percentForce = (256 - FFB) / 8.0;
triggers->Springi(percentForce);
}
if (FFB >= 0xC4 && FFB <= 0xC7)
{
double percentForce = ((199 - FFB) / 4.0) / 6.0;
double percentLength = 100.0;
triggers->Sine(35, 0, percentForce);
triggers->Rumble(percentForce, percentForce, percentLength);
}
if (FFB >= 0xD8 && FFB <= 0xDF)
{
double percentForce = (224 - FFB) / 8.0;
triggers->Friction(percentForce);
}
if (FFB == 0xBD || FFB == 0xCD)
{
double percentForce = 0.35;
double percentLength = 100.0;
triggers->Sine(140, 0, percentForce);
triggers->Rumble(percentForce, percentForce, percentLength);
}
if (FFB >= 0xA8 && FFB <= 0xAF) // Roll Left
{
double percentForce = (176 - FFB) / 8.0;
double percentLength = 100.0;
triggers->Rumble(0, percentForce, percentLength);
triggers->Constant(constants->DIRECTION_FROM_RIGHT, percentForce);
}
if (FFB >= 0x98 && FFB <= 0x9F) // Roll Right
{
double percentForce = (160 - FFB) / 8.0;
double percentLength = 100.0;
triggers->Rumble(percentForce, 0, percentLength);
triggers->Constant(constants->DIRECTION_FROM_LEFT, percentForce);
}
}

20
Game Files/Daytona3NSE.h Normal file
View File

@ -0,0 +1,20 @@
/*This file is part of FFB Arcade Plugin.
FFB Arcade Plugin is free software : you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
FFB Arcade Plugin is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with FFB Arcade Plugin.If not, see < https://www.gnu.org/licenses/>.
*/
#pragma once
#include "../Common Files/Game.h"
class Daytona3NSE : public Game {
public:
void FFBLoop(EffectConstants* constants, Helpers* helpers, EffectTriggers* triggers);
};