Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
962dd50
Store the understeer factor for generic car
futurexdesign Apr 13, 2019
919156a
Set correct value to understeerOffset
futurexdesign Apr 14, 2019
c365cad
Update system to allow all vjoy >= 2.1.8
slikk66 Jul 16, 2019
00a7a32
Merge pull request #1 from futurexdesign/GenericCarUndersteer
Fuzzwah Jan 26, 2020
76aa3df
Merge pull request #2 from slikk66/cert-resign
Fuzzwah Jan 26, 2020
03d4878
added understeerCoefs for bmw z4, m8, fr35
Fuzzwah Jan 27, 2020
ad47a95
format fix
Fuzzwah Jan 27, 2020
973cbb5
added guestimates for f3 and radical
Fuzzwah Feb 3, 2020
60ef83d
718 and hpd
Fuzzwah Mar 7, 2020
c1cffda
Merge pull request #3 from Fuzzwah/fuzzwah
Fuzzwah Apr 29, 2020
e632d73
c8r and p217
Fuzzwah Sep 13, 2020
58fd51c
added ruf
Fuzzwah Nov 17, 2020
6a151db
added bmwm4gt3, c6r, fordgt gt3, lamborghinievogt3, mclaren570sgt4"
Fuzzwah Mar 12, 2021
97d763f
added fvee and 911 gt3.r
Fuzzwah Jun 11, 2021
bb98409
updated about box
Fuzzwah Jun 11, 2021
6cae65f
Merge branch 'master' of github.com:Fuzzwah/irFFB
Fuzzwah Jun 11, 2021
be5712a
Update Resource.h
Fuzzwah Jun 11, 2021
8947e32
updated about box
Fuzzwah Jun 11, 2021
847bd57
added srf
Fuzzwah Jun 11, 2021
c1ad08f
added under/oversteer support for ferrarievogt3 and porsche992cup
Fuzzwah Sep 11, 2021
b3925ae
lotus49
Fuzzwah Sep 19, 2021
7bd02db
williamsfw31 and mclarenmp430
Fuzzwah Sep 24, 2021
fa00264
added understeer for tcr, w12, v8supercars
Fuzzwah Dec 8, 2021
5dd48d2
added formulair04, stockcarbrasil corolla & cruze, tweak fr20
Fuzzwah Mar 13, 2022
bc51b59
added amvantagegt4
Fuzzwah Mar 13, 2022
a5a2b31
Added understeer support for mercedesamgevogt3, mercedesamggt4, radic…
Fuzzwah Jun 8, 2022
570ef01
added understeer options for audi90gto, audir18, hyundaivelostern, po…
Fuzzwah Jun 16, 2022
9117d44
Update README with archive notice and alternative link
Fuzzwah Dec 2, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions HGInstaller64/HGInstaller64.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -23,32 +23,32 @@
<ProjectGuid>{0F49720F-1BB0-4ECC-A255-3474201F8FC8}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>HGInstaller64</RootNamespace>
<WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,5 @@ irFFB can feed the 360 Hz steering column torque data recently made available in
It can also drive a 'Jetseat' and fans if you have them.

There's more detail in the wiki..

**Please Note** I no longer use this myself and as you can see I haven't updated it since 2022. I've archived the repo. You may be interested in checking out [Marvin's Awesome iRacing App](https://github.com/mherbold/MarvinsAIRARefactored) which is what I've been using recently. Else, iRacing FFB has improved a lot since irFFB was a thing.....
9 changes: 4 additions & 5 deletions irFFB.sln
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.26430.6
# Visual Studio Version 16
VisualStudioVersion = 16.0.29709.97
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "irFFB", "irFFB\irFFB.vcxproj", "{8BC973E0-815D-4BA3-A461-E09201F29869}"
EndProject
Expand All @@ -22,7 +22,8 @@ Global
{8BC973E0-815D-4BA3-A461-E09201F29869}.Debug|x64.Build.0 = Debug|x64
{8BC973E0-815D-4BA3-A461-E09201F29869}.Debug|x86.ActiveCfg = Debug|Win32
{8BC973E0-815D-4BA3-A461-E09201F29869}.Debug|x86.Build.0 = Debug|Win32
{8BC973E0-815D-4BA3-A461-E09201F29869}.Release|Win32.ActiveCfg = Release|x64
{8BC973E0-815D-4BA3-A461-E09201F29869}.Release|Win32.ActiveCfg = Release|Win32
{8BC973E0-815D-4BA3-A461-E09201F29869}.Release|Win32.Build.0 = Release|Win32
{8BC973E0-815D-4BA3-A461-E09201F29869}.Release|x64.ActiveCfg = Release|x64
{8BC973E0-815D-4BA3-A461-E09201F29869}.Release|x64.Build.0 = Release|x64
{8BC973E0-815D-4BA3-A461-E09201F29869}.Release|x86.ActiveCfg = Release|Win32
Expand All @@ -34,11 +35,9 @@ Global
{0F49720F-1BB0-4ECC-A255-3474201F8FC8}.Debug|x86.ActiveCfg = Debug|x64
{0F49720F-1BB0-4ECC-A255-3474201F8FC8}.Debug|x86.Build.0 = Debug|x64
{0F49720F-1BB0-4ECC-A255-3474201F8FC8}.Release|Win32.ActiveCfg = Release|Win32
{0F49720F-1BB0-4ECC-A255-3474201F8FC8}.Release|Win32.Build.0 = Release|Win32
{0F49720F-1BB0-4ECC-A255-3474201F8FC8}.Release|x64.ActiveCfg = Release|x64
{0F49720F-1BB0-4ECC-A255-3474201F8FC8}.Release|x64.Build.0 = Release|x64
{0F49720F-1BB0-4ECC-A255-3474201F8FC8}.Release|x86.ActiveCfg = Release|x64
{0F49720F-1BB0-4ECC-A255-3474201F8FC8}.Release|x86.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down
Binary file modified irFFB/Resource.h
Binary file not shown.
67 changes: 56 additions & 11 deletions irFFB/irFFB.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -74,16 +74,65 @@ float firc12[] = {

char car[MAX_CAR_NAME];
understeerCoefs usteerCoefs[] = {
{ "astonmartin dbr9", 46.0f, 78.0f },
{ "amvantagegt4", 40.0f, 70.0f },
{ "audi90gto", 40.0f, 70.0f },
{ "audir18", 38.0f, 110.0f },
{ "audirs3lms", 40.0f, 70.0f },
{ "audir8gt3", 52.0f, 78.0f },
{ "ferrari488gt3", 46.0f, 54.0f },
{ "ferrari488gte", 44.0f, 46.0f },
{ "formularenault20", 34.5f, 96.0f },
{ "bmwm8gte", 46.0f, 78.0f },
{ "bmwm4gt4", 40.0f, 70.0f },
{ "bmwz4gt3", 54.0f, 80.0f },
{ "bmwm4gt3", 37.5f, 82.0f },
{ "c6r", 40.5f, 82.0f },
{ "c8rvettegte", 48.0f, 78.0f },
{ "dallaraf3", 38.0f, 102.0f },
{ "dallarair18", 44.0f, 110.0f },
{ "dallarap217", 44.0f, 110.0f },
{ "ferrari488gt3", 52.0f, 78.0f },
{ "ferrarievogt3", 54.0f, 80.0f },
{ "ferrari488gte", 44.0f, 82.0f },
{ "fordgt gt3", 52.0f, 78.0f },
{ "formulair04", 40.0f, 100.0f },
{ "formulamazda", 34.5f, 96.0f },
{ "formularenault20", 38.5f, 100.0f },
{ "formularenault35", 44.0f, 110.0f },
{ "formulavee", 23.0f, 68.0f },
{ "fr500s", 40.0f, 70.0f },
{ "hondacivictyper", 40.0f, 70.0f },
{ "hpdarx01c", 44.0f, 110.0f },
{ "hyundaielantracn7", 40.0f, 70.0f },
{ "hyundaivelostern", 40.0f, 70.0f },
{ "indypropm18", 34.5f, 100.0f },
{ "lamborghinievogt3", 52.0f, 78.0f },
{ "lotus49", 23.8f, 70.0f },
{ "lotus79", 27.8f, 104.0f },
{ "mclaren570sgt4", 40.0f, 70.0f },
{ "mclarenmp4", 52.0f, 78.0f },
{ "mclarenmp430", 38.0f, 110.0f },
{ "mercedesamggt3", 37.5f, 82.0f },
{ "mercedesamgevogt3", 40.5f, 84.0f },
{ "mercedesamggt4", 40.0f, 70.0f },
{ "mercedesw12", 48.0f, 120.0f },
{ "mx5 mx52016", 36.0f, 96.0f },
{ "nissangtpzxt", 44.0f, 110.0f },
{ "porsche718gt4", 40.0f, 70.0f },
{ "porsche911cup", 46.0f, 88.0f },
{ "porsche992cup", 48.0f, 90.0f },
{ "porsche911rgt3", 52.0f, 80.0f },
{ "porsche919", 38.0f, 110.0f },
{ "porsche991rsr", 42.0f, 72.0f },
{ "rt2000", 25.0f, 86.0f }
{ "radical sr8", 40.0f, 100.0f },
{ "radicalsr10", 44.0f, 110.0f },
{ "rt2000", 25.0f, 86.0f },
{ "rufrt12r track", 46.0f, 88.0f },
{ "specracer", 25.0f, 86.0f },
{ "stockcarbrasil corolla", 40.0f, 70.0f },
{ "stockcarbrasil cruze", 40.0f, 70.0f },
{ "usf2000usf17", 34.5f, 96.0f },
{ "v8supercars fordmustanggt", 52.0f, 78.0f },
{ "v8supercars holden2019", 52.0f, 78.0f },
{ "williamsfw31", 38.0f, 110.0f }
};

int force = 0;
Expand Down Expand Up @@ -2160,20 +2209,16 @@ inline void setFFB(int mag) {

bool initVJD() {

WORD verDll, verDrv;
WORD verDrv;
int maxVjDev;
VjdStat vjdStatus = VJD_STAT_UNKN;

if (!vJoyEnabled()) {
text(L"vJoy not enabled!");
return false;
}
else if (!DriverMatch(&verDll, &verDrv)) {
text(L"vJoy driver version %04x != required version %04x!", verDrv, verDll);
return false;
}
else
text(L"vJoy driver version %04x init OK", verDrv);
text(L"vJoy driver version %04x init OK", &verDrv);

vjDev = 1;

Expand Down Expand Up @@ -2262,4 +2307,4 @@ void releaseAll() {

irsdk_shutdown();

}
}
Binary file modified irFFB/irFFB.rc
Binary file not shown.
10 changes: 5 additions & 5 deletions irFFB/irFFB.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -22,32 +22,32 @@
<ProjectGuid>{8BC973E0-815D-4BA3-A461-E09201F29869}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>irFFB</RootNamespace>
<WindowsTargetPlatformVersion>10.0.15063.0</WindowsTargetPlatformVersion>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
Expand Down
Binary file modified irFFB/resource.h
Binary file not shown.
4 changes: 3 additions & 1 deletion irFFB/settings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -455,6 +455,8 @@ void Settings::writeGenericSettings() {
setRegSetting(key, L"maxForce", maxForce);
setRegSetting(key, L"minForce", getMinForceSetting());
setRegSetting(key, L"use360ForDirect", use360ForDirect);
setRegSetting(key, L"understeerFactor", understeerFactor);
setRegSetting(key, L"understeerOffset", understeerOffset);

RegCloseKey(key);

Expand Down Expand Up @@ -684,4 +686,4 @@ void Settings::writeWithNewline(std::ofstream &file, char *buf) {
int len = strlen(buf);
buf[len] = '\n';
file.write(buf, len + 1);
}
}
4 changes: 2 additions & 2 deletions irFFB/vJoyInterface.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -352,10 +352,10 @@ extern "C" {
return version;
}

VJOYINTERFACE_API BOOL __cdecl DriverMatch(WORD * DllVer, WORD * DrvVer)
VJOYINTERFACE_API BOOL __cdecl DriverMinVersion(WORD * DllVer, WORD * DrvVer)
/*
Compare the version of this DLL to the driver's
Return TRUE if identical, otherwise return FALSE
Return TRUE if >= DLL, otherwise return FALSE
If DllVer a valid pointer - sets the version of this DLL file (e.g. 0x0205)
If DrvVer a valid pointer - sets the version of driver (e.g. 0x0205)
*/
Expand Down
2 changes: 1 addition & 1 deletion irFFB/vjoyinterface.h
Original file line number Diff line number Diff line change
Expand Up @@ -258,7 +258,7 @@ extern "C" {
///// General driver data
VJOYINTERFACE_API SHORT __cdecl GetvJoyVersion(void);
VJOYINTERFACE_API BOOL __cdecl vJoyEnabled(void);
VJOYINTERFACE_API BOOL __cdecl DriverMatch(WORD * DllVer, WORD * DrvVer);
VJOYINTERFACE_API BOOL __cdecl DriverMinVersion(WORD * DllVer, WORD * DrvVer);
VJOYINTERFACE_API BOOL __cdecl vJoyFfbCap(BOOL * Supported); // Is this version of vJoy capable of FFB?
VJOYINTERFACE_API BOOL __cdecl GetvJoyMaxDevices(int * n); // What is the maximum possible number of vJoy devices
VJOYINTERFACE_API BOOL __cdecl GetNumberExistingVJD(int * n); // What is the number of vJoy devices currently enabled
Expand Down