1
0
mirror of synced 2024-11-28 00:20:52 +01:00

Mario Kart FFB Changes etc and 2.0.0.28 version

This commit is contained in:
Boomslangnz 2023-03-25 22:45:33 +13:00
parent 7538037966
commit 3020c0ead4
19 changed files with 277 additions and 37 deletions

View File

@ -460,7 +460,25 @@ Power10RumbleLength=100
GameId=19 GameId=19
FeedbackLength=80 FeedbackLength=80
[Mario Kart Arcade GP DX v100] [Mario Kart Arcade GP DX USA Real]
GameId=70
FeedbackLength=80
EnableDamper=0
DamperStrength=100
[Mario Kart Arcade GP DX v110 Real]
GameId=69
FeedbackLength=80
EnableDamper=0
DamperStrength=100
[Mario Kart Arcade GP DX v118 Real]
GameId=68
FeedbackLength=80
EnableDamper=0
DamperStrength=100
[Mario Kart Arcade GP DX v100 Custom]
GameId=11 GameId=11
DefaultCentering=25 DefaultCentering=25
FeedbackLength=80 FeedbackLength=80
@ -969,7 +987,7 @@ Button8Device2Rumble=99
Button9Device2Rumble=99 Button9Device2Rumble=99
Button10Device2Rumble=99 Button10Device2Rumble=99
[Mario Kart Arcade GP DX v110] [Mario Kart Arcade GP DX v110 Custom]
GameId=20 GameId=20
DefaultCentering=-1 DefaultCentering=-1
FeedbackLength=80 FeedbackLength=80
@ -1010,7 +1028,7 @@ BridgeRumble=1
BridgeRumbleStrength=40 BridgeRumbleStrength=40
HideCursor=0 HideCursor=0
[Mario Kart Arcade GP DX USA] [Mario Kart Arcade GP DX USA Custom]
GameId=51 GameId=51
DefaultCentering=-1 DefaultCentering=-1
FeedbackLength=80 FeedbackLength=80

Binary file not shown.

Binary file not shown.

View File

@ -42,13 +42,16 @@
<ClInclude Include="Game Files\InitialD0v230.h" /> <ClInclude Include="Game Files\InitialD0v230.h" />
<ClInclude Include="Game Files\KODrive.h" /> <ClInclude Include="Game Files\KODrive.h" />
<ClInclude Include="Game Files\MAMESupermodel.h" /> <ClInclude Include="Game Files\MAMESupermodel.h" />
<ClInclude Include="Game Files\MarioKartGPDXUSA.h" /> <ClInclude Include="Game Files\MarioKartGPDX1.10Real.h" />
<ClInclude Include="Game Files\MarioKartGPDX1.18Real.h" />
<ClInclude Include="Game Files\MarioKartGPDXUSACustom.h" />
<ClInclude Include="Game Files\MarioKartGPDXUSAReal.h" />
<ClInclude Include="Game Files\OutRun2Real.h" /> <ClInclude Include="Game Files\OutRun2Real.h" />
<ClInclude Include="Game Files\ButtonRumble.h" /> <ClInclude Include="Game Files\ButtonRumble.h" />
<ClInclude Include="Game Files\Demul.h" /> <ClInclude Include="Game Files\Demul.h" />
<ClInclude Include="dinput8.def"> <ClInclude Include="dinput8.def">
</ClInclude> </ClInclude>
<ClInclude Include="Game Files\MarioKartGPDX1.10.h" /> <ClInclude Include="Game Files\MarioKartGPDX1.10Custom.h" />
<ClInclude Include="Game Files\InitialD5.h" /> <ClInclude Include="Game Files\InitialD5.h" />
<ClInclude Include="Game Files\InitialD4Japan.h" /> <ClInclude Include="Game Files\InitialD4Japan.h" />
<ClInclude Include="Game Files\M2Emulator.h" /> <ClInclude Include="Game Files\M2Emulator.h" />
@ -103,7 +106,10 @@
<ClCompile Include="Game Files\M2EmulatorIndy500Inputs.cpp" /> <ClCompile Include="Game Files\M2EmulatorIndy500Inputs.cpp" />
<ClCompile Include="Game Files\M2EmulatorSegaRallyInputs.cpp" /> <ClCompile Include="Game Files\M2EmulatorSegaRallyInputs.cpp" />
<ClCompile Include="Game Files\MAMESupermodel.cpp" /> <ClCompile Include="Game Files\MAMESupermodel.cpp" />
<ClCompile Include="Game Files\MarioKartGPDXUSA.cpp" /> <ClCompile Include="Game Files\MarioKartGPDX1.10Real.cpp" />
<ClCompile Include="Game Files\MarioKartGPDX1.18Real.cpp" />
<ClCompile Include="Game Files\MarioKartGPDXUSACustom.cpp" />
<ClCompile Include="Game Files\MarioKartGPDXUSAReal.cpp" />
<ClCompile Include="Game Files\OutRun2Real.cpp" /> <ClCompile Include="Game Files\OutRun2Real.cpp" />
<ClCompile Include="Game Files\ButtonRumble.cpp" /> <ClCompile Include="Game Files\ButtonRumble.cpp" />
<ClCompile Include="Common Files\TeknoParrotGame.cpp" /> <ClCompile Include="Common Files\TeknoParrotGame.cpp" />
@ -127,7 +133,7 @@
<ClCompile Include="Game Files\SegaRally3.cpp" /> <ClCompile Include="Game Files\SegaRally3.cpp" />
<ClCompile Include="Game Files\SegaRacingClassic.cpp" /> <ClCompile Include="Game Files\SegaRacingClassic.cpp" />
<ClCompile Include="Game Files\FordRacing.cpp" /> <ClCompile Include="Game Files\FordRacing.cpp" />
<ClCompile Include="Game Files\MarioKartGPDX.cpp" /> <ClCompile Include="Game Files\MarioKartGPDXCustom.cpp" />
<ClCompile Include="Game Files\SegaRally3Other.cpp" /> <ClCompile Include="Game Files\SegaRally3Other.cpp" />
<ClCompile Include="Game Files\SnoCross.cpp" /> <ClCompile Include="Game Files\SnoCross.cpp" />
<ClCompile Include="Game Files\SonicSegaAllStarsRacing.cpp" /> <ClCompile Include="Game Files\SonicSegaAllStarsRacing.cpp" />
@ -146,7 +152,7 @@
<ClCompile Include="Game Files\WMMT6.cpp" /> <ClCompile Include="Game Files\WMMT6.cpp" />
<ClCompile Include="Game Files\WMMT6R.cpp" /> <ClCompile Include="Game Files\WMMT6R.cpp" />
<ClCompile Include="IDirectInputDevice.cpp" /> <ClCompile Include="IDirectInputDevice.cpp" />
<ClCompile Include="Game Files\MarioKartGPDX1.10.cpp" /> <ClCompile Include="Game Files\MarioKartGPDX1.10Custom.cpp" />
<ClCompile Include="Game Files\InitialD5.cpp" /> <ClCompile Include="Game Files\InitialD5.cpp" />
<ClCompile Include="Game Files\M2Emulator.cpp" /> <ClCompile Include="Game Files\M2Emulator.cpp" />
<ClCompile Include="Game Files\RoadFighters3D.cpp" /> <ClCompile Include="Game Files\RoadFighters3D.cpp" />
@ -170,7 +176,7 @@
<ClInclude Include="Game Files\SegaRally3.h" /> <ClInclude Include="Game Files\SegaRally3.h" />
<ClInclude Include="Game Files\SegaRacingClassic.h" /> <ClInclude Include="Game Files\SegaRacingClassic.h" />
<ClInclude Include="Game Files\FordRacing.h" /> <ClInclude Include="Game Files\FordRacing.h" />
<ClInclude Include="Game Files\MarioKartGPDX.h" /> <ClInclude Include="Game Files\MarioKartGPDXCustom.h" />
<ClInclude Include="Game Files\SegaRally3Other.h" /> <ClInclude Include="Game Files\SegaRally3Other.h" />
<ClInclude Include="Game Files\SnoCross.h" /> <ClInclude Include="Game Files\SnoCross.h" />
<ClInclude Include="Game Files\SonicSegaAllStarsRacing.h" /> <ClInclude Include="Game Files\SonicSegaAllStarsRacing.h" />

View File

@ -48,7 +48,7 @@
<Filter>Game Files</Filter> <Filter>Game Files</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="Common Files\TeknoParrotGame.cpp" /> <ClCompile Include="Common Files\TeknoParrotGame.cpp" />
<ClCompile Include="Game Files\MarioKartGPDX.cpp"> <ClCompile Include="Game Files\MarioKartGPDXCustom.cpp">
<Filter>Game Files</Filter> <Filter>Game Files</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="Game Files\BG4JP.cpp"> <ClCompile Include="Game Files\BG4JP.cpp">
@ -72,7 +72,7 @@
<ClCompile Include="Game Files\PokkenTournament.cpp"> <ClCompile Include="Game Files\PokkenTournament.cpp">
<Filter>Game Files</Filter> <Filter>Game Files</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="Game Files\MarioKartGPDX1.10.cpp"> <ClCompile Include="Game Files\MarioKartGPDX1.10Custom.cpp">
<Filter>Game Files</Filter> <Filter>Game Files</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="Game Files\SonicSegaAllStarsRacing.cpp"> <ClCompile Include="Game Files\SonicSegaAllStarsRacing.cpp">
@ -131,7 +131,7 @@
<ClCompile Include="Game Files\DemulNascarInputs.cpp" /> <ClCompile Include="Game Files\DemulNascarInputs.cpp" />
<ClCompile Include="Game Files\InitialD0v211.cpp" /> <ClCompile Include="Game Files\InitialD0v211.cpp" />
<ClCompile Include="Game Files\SWDC2018.cpp" /> <ClCompile Include="Game Files\SWDC2018.cpp" />
<ClCompile Include="Game Files\MarioKartGPDXUSA.cpp" /> <ClCompile Include="Game Files\MarioKartGPDXUSACustom.cpp" />
<ClCompile Include="Game Files\WMMT6.cpp" /> <ClCompile Include="Game Files\WMMT6.cpp" />
<ClCompile Include="Game Files\WMMT6R.cpp" /> <ClCompile Include="Game Files\WMMT6R.cpp" />
<ClCompile Include="Game Files\InitialD0v131.cpp" /> <ClCompile Include="Game Files\InitialD0v131.cpp" />
@ -152,6 +152,9 @@
<ClCompile Include="Game Files\RingRiders.cpp" /> <ClCompile Include="Game Files\RingRiders.cpp" />
<ClCompile Include="Game Files\InitialD0v230.cpp" /> <ClCompile Include="Game Files\InitialD0v230.cpp" />
<ClCompile Include="Game Files\GRID.cpp" /> <ClCompile Include="Game Files\GRID.cpp" />
<ClCompile Include="Game Files\MarioKartGPDX1.18Real.cpp" />
<ClCompile Include="Game Files\MarioKartGPDX1.10Real.cpp" />
<ClCompile Include="Game Files\MarioKartGPDXUSAReal.cpp" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="Game Files\Daytona3.h"> <ClInclude Include="Game Files\Daytona3.h">
@ -190,7 +193,7 @@
<ClInclude Include="Common Files\TeknoParrotGame.h"> <ClInclude Include="Common Files\TeknoParrotGame.h">
<Filter>Common Header Files</Filter> <Filter>Common Header Files</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="Game Files\MarioKartGPDX.h"> <ClInclude Include="Game Files\MarioKartGPDXCustom.h">
<Filter>Game Files</Filter> <Filter>Game Files</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="Game Files\BG4JP.h"> <ClInclude Include="Game Files\BG4JP.h">
@ -215,7 +218,7 @@
<ClInclude Include="Game Files\PokkenTournament.h"> <ClInclude Include="Game Files\PokkenTournament.h">
<Filter>Game Files</Filter> <Filter>Game Files</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="Game Files\MarioKartGPDX1.10.h"> <ClInclude Include="Game Files\MarioKartGPDX1.10Custom.h">
<Filter>Game Files</Filter> <Filter>Game Files</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="Game Files\SonicSegaAllStarsRacing.h"> <ClInclude Include="Game Files\SonicSegaAllStarsRacing.h">
@ -314,7 +317,7 @@
<ClInclude Include="Game Files\SWDC2018.h"> <ClInclude Include="Game Files\SWDC2018.h">
<Filter>Common Header Files</Filter> <Filter>Common Header Files</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="Game Files\MarioKartGPDXUSA.h"> <ClInclude Include="Game Files\MarioKartGPDXUSACustom.h">
<Filter>Common Header Files</Filter> <Filter>Common Header Files</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="Game Files\WMMT6.h"> <ClInclude Include="Game Files\WMMT6.h">
@ -371,6 +374,15 @@
<ClInclude Include="Game Files\GRID.h"> <ClInclude Include="Game Files\GRID.h">
<Filter>Common Header Files</Filter> <Filter>Common Header Files</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="Game Files\MarioKartGPDX1.18Real.h">
<Filter>Common Header Files</Filter>
</ClInclude>
<ClInclude Include="Game Files\MarioKartGPDX1.10Real.h">
<Filter>Common Header Files</Filter>
</ClInclude>
<ClInclude Include="Game Files\MarioKartGPDXUSAReal.h">
<Filter>Common Header Files</Filter>
</ClInclude>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<MASM Include="DLLWrapper.asm" /> <MASM Include="DLLWrapper.asm" />

View File

@ -57,9 +57,12 @@ along with FFB Arcade Plugin.If not, see < https://www.gnu.org/licenses/>.
#include "Game Files/InitialD6.h" #include "Game Files/InitialD6.h"
#include "Game Files/InitialD7.h" #include "Game Files/InitialD7.h"
#include "Game Files/InitialD8.h" #include "Game Files/InitialD8.h"
#include "Game Files/MarioKartGPDX.h" #include "Game Files/MarioKartGPDXCustom.h"
#include "Game Files/MarioKartGPDX1.10.h" #include "Game Files/MarioKartGPDX1.10Custom.h"
#include "Game Files/MarioKartGPDXUSA.h" #include "Game Files/MarioKartGPDX1.10Real.h"
#include "Game Files/MarioKartGPDX1.18Real.h"
#include "Game Files/MarioKartGPDXUSACustom.h"
#include "Game Files/MarioKartGPDXUSAReal.h"
#include "Game Files/MAMESupermodel.h" #include "Game Files/MAMESupermodel.h"
#include "Game Files/OutRun2Fake.h" #include "Game Files/OutRun2Fake.h"
#include "Game Files/OutRun2Real.h" #include "Game Files/OutRun2Real.h"
@ -993,7 +996,7 @@ const int FORD_RACING = 7;
const int INITIAL_D_6 = 8; const int INITIAL_D_6 = 8;
const int WMMT_5 = 9; const int WMMT_5 = 9;
const int GRID_ = 10; const int GRID_ = 10;
const int MARIO_KART_GPDX = 11; const int MARIO_KART_GPDX_CUSTOM = 11;
const int OUTRUN_2Fake = 12; const int OUTRUN_2Fake = 12;
const int BG4_JP = 13; const int BG4_JP = 13;
const int MACH_STORM = 14; const int MACH_STORM = 14;
@ -1002,7 +1005,7 @@ const int INITIAL_D_4 = 16;
const int INITIAL_D_7 = 17; const int INITIAL_D_7 = 17;
const int INITIAL_D_8 = 18; const int INITIAL_D_8 = 18;
const int POKKEN_TOURNAMENT = 19; const int POKKEN_TOURNAMENT = 19;
const int MARIO_KART_GPDX_110 = 20; const int MARIO_KART_GPDX_110_CUSTOM = 20;
const int Sonic_Sega_AllStars_Racing = 21; const int Sonic_Sega_AllStars_Racing = 21;
const int MAME_ = 22; const int MAME_ = 22;
const int INITIAL_D_5 = 23; const int INITIAL_D_5 = 23;
@ -1031,7 +1034,7 @@ const int R_Tuned = 46;
const int SEGA_RALLY_3_Other = 47; const int SEGA_RALLY_3_Other = 47;
const int INITIAL_D_0_211 = 49; const int INITIAL_D_0_211 = 49;
const int SWDC_2018 = 50; const int SWDC_2018 = 50;
const int MARIO_KART_GPDX_USA = 51; const int MARIO_KART_GPDX_USA_CUSTOM = 51;
const int WMMT_6 = 52; const int WMMT_6 = 52;
const int WMMT_6_R = 53; const int WMMT_6_R = 53;
const int SRG = 54; const int SRG = 54;
@ -1048,6 +1051,9 @@ const int GAELCO_TUNING_RACE = 64;
const int TOKYO_COP = 65; const int TOKYO_COP = 65;
const int RING_RIDERS = 66; const int RING_RIDERS = 66;
const int INITIAL_D_0_230 = 67; const int INITIAL_D_0_230 = 67;
const int MARIO_KART_GPDX_118_REAL = 68;
const int MARIO_KART_GPDX_110_REAL = 69;
const int MARIO_KART_GPDX_USA_REAL = 70;
HINSTANCE Get_hInstance() HINSTANCE Get_hInstance()
{ {
@ -2429,8 +2435,8 @@ DWORD WINAPI FFBLoop(LPVOID lpParam)
case WMMT_5DXPlus: case WMMT_5DXPlus:
game = new WMMT5DXPlus; game = new WMMT5DXPlus;
break; break;
case MARIO_KART_GPDX: case MARIO_KART_GPDX_CUSTOM:
game = new MarioKartGPDX100; game = new MarioKartGPDX100Custom;
break; break;
case OUTRUN_2Fake: case OUTRUN_2Fake:
game = new OutRun2Fake; game = new OutRun2Fake;
@ -2450,11 +2456,11 @@ DWORD WINAPI FFBLoop(LPVOID lpParam)
case RAMBO_: case RAMBO_:
game = new Rambo; game = new Rambo;
break; break;
case MARIO_KART_GPDX_110: case MARIO_KART_GPDX_110_CUSTOM:
game = new MarioKartGPDX110; game = new MarioKartGPDX110Custom;
break; break;
case MARIO_KART_GPDX_USA: case MARIO_KART_GPDX_USA_CUSTOM:
game = new MarioKartGPDXUSA; game = new MarioKartGPDXUSACustom;
break; break;
case Sonic_Sega_AllStars_Racing: case Sonic_Sega_AllStars_Racing:
game = new SonicSegaAllStarsRacing; game = new SonicSegaAllStarsRacing;
@ -2540,6 +2546,15 @@ DWORD WINAPI FFBLoop(LPVOID lpParam)
case RING_RIDERS: case RING_RIDERS:
game = new RingRiders; game = new RingRiders;
break; break;
case MARIO_KART_GPDX_118_REAL:
game = new MarioKartGPDX118Real;
break;
case MARIO_KART_GPDX_110_REAL:
game = new MarioKartGPDX110Real;
break;
case MARIO_KART_GPDX_USA_REAL:
game = new MarioKartGPDXUSAReal;
break;
case TEST_GAME_CONST: case TEST_GAME_CONST:
case TEST_GAME_FRICTION: case TEST_GAME_FRICTION:
case TEST_GAME_SINE: case TEST_GAME_SINE:

View File

@ -12,7 +12,7 @@ along with FFB Arcade Plugin.If not, see < https://www.gnu.org/licenses/>.
*/ */
#include <string> #include <string>
#include "MarioKartGPDX1.10.h" #include "MarioKartGPDX1.10Custom.h"
extern int EnableDamper; extern int EnableDamper;
extern int DamperStrength; extern int DamperStrength;
@ -52,7 +52,7 @@ static int RoughTrackRumbleStrength = GetPrivateProfileInt(TEXT("Settings"), TEX
static int BridgeRumble = GetPrivateProfileInt(TEXT("Settings"), TEXT("BridgeRumble"), 0, settingsFilename); static int BridgeRumble = GetPrivateProfileInt(TEXT("Settings"), TEXT("BridgeRumble"), 0, settingsFilename);
static int BridgeRumbleStrength = GetPrivateProfileInt(TEXT("Settings"), TEXT("BridgeRumbleStrength"), 0, settingsFilename); static int BridgeRumbleStrength = GetPrivateProfileInt(TEXT("Settings"), TEXT("BridgeRumbleStrength"), 0, settingsFilename);
void MarioKartGPDX110::FFBLoop(EffectConstants *constants, Helpers *helpers, EffectTriggers* triggers) { void MarioKartGPDX110Custom::FFBLoop(EffectConstants *constants, Helpers *helpers, EffectTriggers* triggers) {
INT_PTR ff1 = helpers->ReadIntPtr(0xA46974, /* isRelativeOffset */ true); //shake INT_PTR ff1 = helpers->ReadIntPtr(0xA46974, /* isRelativeOffset */ true); //shake
INT_PTR ff2 = helpers->ReadIntPtr(0x00A416E4,/* isRelativeOffset */ true); INT_PTR ff2 = helpers->ReadIntPtr(0x00A416E4,/* isRelativeOffset */ true);

View File

@ -13,7 +13,7 @@ along with FFB Arcade Plugin.If not, see < https://www.gnu.org/licenses/>.
#pragma once #pragma once
#include "../Common Files/Game.h" #include "../Common Files/Game.h"
class MarioKartGPDXUSA : public Game { class MarioKartGPDX110Custom : public Game {
public: public:
void FFBLoop(EffectConstants *constants, Helpers *helpers, EffectTriggers* triggers); void FFBLoop(EffectConstants *constants, Helpers *helpers, EffectTriggers* triggers);

View File

@ -0,0 +1,43 @@
/*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 "MarioKartGPDX1.10Real.h"
extern int EnableDamper;
extern int DamperStrength;
void MarioKartGPDX110Real::FFBLoop(EffectConstants* constants, Helpers* helpers, EffectTriggers* triggers) {
if (EnableDamper)
triggers->Damper(DamperStrength / 100.0);
DWORD Base = helpers->ReadInt32(0xA2FE20, true);
DWORD BaseOff0 = helpers->ReadInt32(Base + 0x08, false);
float FFB = helpers->ReadFloat32(BaseOff0 + 0xA44, false);
if (FFB > 0)
{
double percentForce = FFB;
double percentLength = 100;
triggers->Rumble(percentForce, 0, percentLength);
triggers->Constant(constants->DIRECTION_FROM_LEFT, percentForce);
}
else if (FFB < 0)
{
double percentForce = -FFB;
double percentLength = 100;
triggers->Rumble(0, percentForce, percentLength);
triggers->Constant(constants->DIRECTION_FROM_RIGHT, percentForce);
}
}

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 MarioKartGPDX110Real : public Game {
public:
void FFBLoop(EffectConstants* constants, Helpers* helpers, EffectTriggers* triggers);
};

View File

@ -0,0 +1,43 @@
/*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 "MarioKartGPDX1.18Real.h"
extern int EnableDamper;
extern int DamperStrength;
void MarioKartGPDX118Real::FFBLoop(EffectConstants* constants, Helpers* helpers, EffectTriggers* triggers) {
if (EnableDamper)
triggers->Damper(DamperStrength / 100.0);
DWORD Base = helpers->ReadInt32(0xAAEEA0, true);
DWORD BaseOff0 = helpers->ReadInt32(Base + 0x08, false);
float FFB = helpers->ReadFloat32(BaseOff0 + 0xBC8, false);
if (FFB > 0)
{
double percentForce = FFB;
double percentLength = 100;
triggers->Rumble(percentForce, 0, percentLength);
triggers->Constant(constants->DIRECTION_FROM_LEFT, percentForce);
}
else if (FFB < 0)
{
double percentForce = -FFB;
double percentLength = 100;
triggers->Rumble(0, percentForce, percentLength);
triggers->Constant(constants->DIRECTION_FROM_RIGHT, percentForce);
}
}

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 MarioKartGPDX118Real : public Game {
public:
void FFBLoop(EffectConstants* constants, Helpers* helpers, EffectTriggers* triggers);
};

View File

@ -12,12 +12,12 @@ along with FFB Arcade Plugin.If not, see < https://www.gnu.org/licenses/>.
*/ */
#include <string> #include <string>
#include "MarioKartGPDX.h" #include "MarioKartGPDXCustom.h"
extern int EnableDamper; extern int EnableDamper;
extern int DamperStrength; extern int DamperStrength;
void MarioKartGPDX100::FFBLoop(EffectConstants *constants, Helpers *helpers, EffectTriggers* triggers) { void MarioKartGPDX100Custom::FFBLoop(EffectConstants *constants, Helpers *helpers, EffectTriggers* triggers) {
helpers->log("in MKDX Ffbloop"); helpers->log("in MKDX Ffbloop");
int ff1 = helpers->ReadInt32(0x564C5F, /* isRelativeOffset */ true); //shake int ff1 = helpers->ReadInt32(0x564C5F, /* isRelativeOffset */ true); //shake

View File

@ -13,7 +13,7 @@ along with FFB Arcade Plugin.If not, see < https://www.gnu.org/licenses/>.
#pragma once #pragma once
#include "../Common Files/Game.h" #include "../Common Files/Game.h"
class MarioKartGPDX100 : public Game { class MarioKartGPDX100Custom : public Game {
public: public:
void FFBLoop(EffectConstants *constants, Helpers *helpers, EffectTriggers* triggers); void FFBLoop(EffectConstants *constants, Helpers *helpers, EffectTriggers* triggers);

View File

@ -12,12 +12,12 @@ along with FFB Arcade Plugin.If not, see < https://www.gnu.org/licenses/>.
*/ */
#include <string> #include <string>
#include "MarioKartGPDXUSA.h" #include "MarioKartGPDXUSACustom.h"
extern int EnableDamper; extern int EnableDamper;
extern int DamperStrength; extern int DamperStrength;
void MarioKartGPDXUSA::FFBLoop(EffectConstants *constants, Helpers *helpers, EffectTriggers* triggers) { void MarioKartGPDXUSACustom::FFBLoop(EffectConstants *constants, Helpers *helpers, EffectTriggers* triggers) {
wchar_t *settingsFilename = TEXT(".\\FFBPlugin.ini"); wchar_t *settingsFilename = TEXT(".\\FFBPlugin.ini");
int ConstantEffectForSteering = GetPrivateProfileInt(TEXT("Settings"), TEXT("ConstantEffectForSteering"), 0, settingsFilename); int ConstantEffectForSteering = GetPrivateProfileInt(TEXT("Settings"), TEXT("ConstantEffectForSteering"), 0, settingsFilename);

View File

@ -13,7 +13,7 @@ along with FFB Arcade Plugin.If not, see < https://www.gnu.org/licenses/>.
#pragma once #pragma once
#include "../Common Files/Game.h" #include "../Common Files/Game.h"
class MarioKartGPDX110 : public Game { class MarioKartGPDXUSACustom : public Game {
public: public:
void FFBLoop(EffectConstants *constants, Helpers *helpers, EffectTriggers* triggers); void FFBLoop(EffectConstants *constants, Helpers *helpers, EffectTriggers* triggers);

View File

@ -0,0 +1,43 @@
/*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 "MarioKartGPDXUSAReal.h"
extern int EnableDamper;
extern int DamperStrength;
void MarioKartGPDXUSAReal::FFBLoop(EffectConstants* constants, Helpers* helpers, EffectTriggers* triggers) {
if (EnableDamper)
triggers->Damper(DamperStrength / 100.0);
DWORD Base = helpers->ReadInt32(0xB47B48, true);
DWORD BaseOff0 = helpers->ReadInt32(Base + 0x08, false);
float FFB = helpers->ReadFloat32(BaseOff0 + 0x2FC, false);
if (FFB > 0)
{
double percentForce = FFB;
double percentLength = 100;
triggers->Rumble(percentForce, 0, percentLength);
triggers->Constant(constants->DIRECTION_FROM_LEFT, percentForce);
}
else if (FFB < 0)
{
double percentForce = -FFB;
double percentLength = 100;
triggers->Rumble(0, percentForce, percentLength);
triggers->Constant(constants->DIRECTION_FROM_RIGHT, percentForce);
}
}

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 MarioKartGPDXUSAReal : public Game {
public:
void FFBLoop(EffectConstants* constants, Helpers* helpers, EffectTriggers* triggers);
};

View File

@ -1 +1 @@
v2.0.0.27 v2.0.0.28