PDA

View Full Version : Customizing Car Classes



The Iron Wolf
03-19-2017, 05:08 PM
In order to improve support of moddable games, we've added a carClassData.json configuration file. File is usually located in the Crew Chief installation folder.

If you want get down to business of customizing Car Classes, you can skip straight to "carClassData.json file explained" section.

Why would I want to customize car classes?
The main reason to care about car classes in Crew Chief, is to enable good CC experience for modded vehicle classes, that CC does not support out of the box. Through Class definition, CC knows about wheel sizes, brake types etc. There's a lot of awesome 3rd party content, but CC team can't cover it all (although we will add class mappings as well). That's where this mechanism becomes helpful.

Single-class vs Mult-class event
CC uses Car Class to distinguish between multi-class and single class races. If race is a multi-class race, CC will compare your lap times with lap times of vehicles of the same class. The problem is, that sometimes mods are authored in a way, that car class name is different for vehicles in a same class. For example, there might be "A GT3" class name for vehicle of brand A, and "B GT3" for vehicle of brand B. If you would like Crew Chief to treat both classes as same class, you will need to map "A GT3" and "B GT3" class names to CC GT3 class. That way, such race becomes a single class race.

Check Crew Chief console window output when you start a new session. CC will print if event is single or multi-class. It also prints each opponent and associated car class. If mod car class is not mapped to CC built in class, CC creates new class on the fly (using vehicle class coming from the mod). If mod does not use same vehicle class string for all vehicle (and there's no appropriate mapping in carClassData.json), you might get multi class race, when all vehicles are actually in a same class.

What is customizable by using this mechanism?

Map vehicle to some pre-defined CC class. For example, if your vehicle class is "Super Mod GT3", you can map it to GT3 class.



You can customize pre-defined CC car classes. For example, if you are driving a vehicle with very large wheels, CC might announce that you're locking your wheels all the time (because wheel rotates way slower than we expect). Car class configuration mechanism allows you to specify wheel sizes.

Customizing Car Classes
There are two ways in which you can customize Crew Chief Car Classes:

by modifying the main carClassData.json file
overriding provided classes by creating your own definition file.

You can edit this file in the Crew Chief install folder, or create another file called carClassData.json in your Documents folder in a new subfolder called CrewChiefV4 (i.e. Documents/CrewChiefV4/carClassData.json). Use the carClassData.json from the installation folder as a template. The car classes defined in the Documents/CrewChiefV4 folder will override any with the same name in the app's install folder, and you can also add your own here.

The carClassData.json in the app's install folder will be overwritten each time the app is updated.

Adding new car class
See: https://forum.studio-397.com/index.php?threads/crew-chief-v4-5-with-rfactor-2-support.54421/page-17#post-903314

Adding new car class to the Crew Chief
As our team can't physically drive every single mod/series out there, we can't add them all. Here's how you can help:
- Start CC
- Pick a series to race
- Start a session
- Stop CC
- CTRL+A/CTRL+C in CC Console window.
- Send that text to us with brief description what series/class it is.

carClassData.json file explained
A car class will
inherit the defaults values for things if they're not specified.

The valid params are:


{
"carClassEnum": this is the built-in car class group (see complete list below). It must match on of these built in types.
"pCarsClassNames": this is a comma (,) separated array of pCars classnames. * or ? denote wildcards. The app searches for classes which have full matches before considering wildcards
"rf2ClassNames": as above, for rFactor2
"rf1ClassNames": as above, for rFactor1, AMS, GSC, FTruck, and other RF1 based games (the Reiza games)
"acClassNames": as above, for Assetto Corsa
"raceroomClassIds": this is an array of integers or R3E class IDs
"brakeType": can be "Carbon", "Ceramic", "Iron_Race" or "Iron_Road"
"maxColdTyreTemp": used to override cold tyre temperature (celsius) upper threshold. Specifies max temperature at which tyre is still considered cold. If not specified, comes from the built in defaultTyreType.
"maxWarmTyreTemp": used to override warm (ok) tyre temperature (celsius) upper threshold. Specifies max temperature at which tyre is still considered warm/ok. Above that value, tyres are overheating. If not specified, comes from the built in defaultTyreType.
"maxHotTyreTemp": used to override hot tyre temperature (celsius) upper threshold. Specifies max temperature at which tyre is still considered hot. Above that value, tyres are "cooking". If not specified, comes from the built in defaultTyreType.
"maxColdBrakeTemp": used to override cold brake temperature (celsius) upper threshold. Specifies max temperature at which brakes are still considered cold. If not specified, comes from the built in brakeType.
"maxWarmBrakeTemp": used to override warm (ok) brake temperature (celsius) upper threshold. Specifies max temperature at which brakes are still considered warm/ok. Above that value, brakes are overheating. If not specified, comes from the built in brakeType.
"maxHotBrakeTemp": used to override hot brake temperature (celsius) upper threshold. Specifies max temperature at which brake are still considered hot. Above that value, brakes are "cooking". If not specified, comes from the built in brakeType.

"defaultTyreType": can be "Road", "Bias_Ply", "Unknown_Race", and various others that the app doesn't really use (still to be worked on...)
"maxSafeWaterTemp": water temp above this (celsius) will trigger a warning
"maxSafeOilTemp": oil temp above this (celsius) will trigger a warning
"minTyreCircumference": used to override default tyre size settings, used when calculating wheel locking and spinning. Only karts should need to override this. Decrease this value if your class gets too many "wheel spinning" messages.
"maxTyreCircumference": used to override default tyre size settings, used when calculating wheel locking and spinning. Only karts should need to override this. Increase this value if your class gets too many "locking wheel" spinning messages.
"spotterVehicleLength": specifies vehicle length (meters) for spotter to use in calculations. Defaults to spotter_*_vehicle_length preference value (4.5 by default).
"spotterVehicleWidth": specifies vehicle width (meters) for spotter to use in calculations.
"acTyreTypeData":
{
"Trofeo M Slicks (M)" : name of the specific tyre you want to override the buildin values for.
{
"maxColdTyreTemp": used to override cold tyre temperature (celsius) upper threshold. Specifies max temperature at which tyre is still considered cold. If not specified, comes from the built in defaultTyreType Or from buildin Assetto Corsa tyres.
"maxWarmTyreTemp": used to override warm (ok) tyre temperature (celsius) upper threshold. Specifies max temperature at which tyre is still considered warm/ok. Above that value, tyres are overheating. If not specified, comes from the built in defaultTyreType. Or from buildin Assetto Corsa tyres.
"maxHotTyreTemp": used to override hot tyre temperature (celsius) upper threshold. Specifies max temperature at which tyre is still considered hot. Above that value, tyres are "cooking". If not specified, comes from the built in defaultTyreType. Or from buildin Assetto Corsa tyres.
},
}
"timesInHundredths": if true, lap times and gaps under 0.2 will be reported in hundredths, otherwise in tenths.
"enabledMessageTypes": list of message types allowed for this class in "Real Mode". Possible values are: TYRE_TEMPS, TYRE_WEAR, BRAKE_TEMPS, BRAKE_DAMAGE, FUEL, LOCKING_AND_SPINNING, ALL, NONE. The purpose here is to increase realism by not including modern era messages on old classe. For example, Karts have no communication at all, hence this value is NONE.
}


The default values are:


{
"brakeType": "Iron_Race"
"defaultTyreType": "Unknown_Race"
"maxSafeWaterTemp": 105
"maxSafeOilTemp": 125
"minTyreCircumference": 0.4 * pi (40cm diameter wheel)
"maxTyreCircumference": 1.2 * pi (120cm diameter wheel)
}


Crew Chief built-in car classes are:
GT1X, GT1, GTE, GT2, GTC, GTLM, GT3, GT4, GT5, Kart_1, Kart_2, KART_JUNIOR, KART_F1, LMP1, LMP2, LMP3, ROAD_B, ROAD_C1, ROAD_C2, ROAD_D, ROAD_SUPERCAR, GROUPC, GROUPA, GROUP4, GROUP5, GROUP6, GTO, VINTAGE_INDY_65, VINTAGE_F3_A, VINTAGE_F1_A, VINTAGE_F1_A1, VINTAGE_GT3, VINTAGE_GT, HISTORIC_TOURING_1, HISTORIC_TOURING_2, VINTAGE_F1_B, VINTAGE_F1_C, STOCK_CAR, F1, F2, F3, F4, FF, TC1, TC2, TC1_2014, AUDI_TT_CUP, AUDI_TT_VLN, CLIO_CUP, DTM, DTM_2013, V8_SUPERCAR, DTM_2014, DTM_2015, DTM_2016, TRANS_AM, HILL_CLIMB_ICONS, FORMULA_RENAULT, MEGANE_TROPHY, NSU_TT, KTM_RR, INDYCAR, HYPER_CAR, HYPER_CAR_RACE, STOCK_V8, BOXER_CUP, UNKNOWN_RACE

Car classes can skip an entry if they're using the default - e.g. most cars skip defaultTyreType so they use Unknown_Race - this is only overridden in road cars.

IMPORTANT....

This file in [install_dir]/ will be *overwritten without warning* on update. If you want to define your own car classes or modify the built in ones, create a new file [My Documents]/CrewChiefV4/carClassData.json. This only needs to contain additions and overrides - the app parses the default car classes defined in this file and found in install_dir, then classes in the My Documents version override and add to the default classes.

mr_belowski
03-19-2017, 05:20 PM
Crew Chief will add and override any car classes defined in Documents/CrewChiefV4/, so if you want to add your own classes or override the defaults, create a file carClasses.json in that folder and add your customisations there

The Iron Wolf
03-19-2017, 05:27 PM
Feel free to edit my posts in line, I think it will be easier to have all the info in first post :)

The Iron Wolf
03-31-2017, 09:51 PM
Beginning with 4.6.4.0, we've added functionality to override
* tyre temps. Note, for Assetto Corsa per-tyre type overrides allowed, for the rest of a games temps apply to all tyre types.
* brake temps
* spotter vehicle dimensions

See first post for more details.

smbrm
05-15-2017, 05:02 PM
I tried to update in notepad, a class, with revised brake temps and it told access was denied when I attempted to save the revised json.

Just wondering how to fix?
cheers

The Iron Wolf
05-15-2017, 05:18 PM
Hello smbrm,
You are editing json in Program Files, right?

mr_belowski
05-15-2017, 05:25 PM
You need to create a CrewChief folder in your Documents folder and copy which ever classes you want to modify in to a new carclasses.json in that folder, and edit it there. See trackLandmarks.json for more info (if memory serves me correctly)

smbrm
05-16-2017, 11:32 PM
You need to create a CrewChief folder in your Documents folder and copy which ever classes you want to modify in to a new carclasses.json in that folder, and edit it there. See trackLandmarks.json for more info (if memory serves me correctly)

Thanks for the reply

I added this to a carClassData.jon located in (Windows 8.1) Documents/CrewChiefV4/

These lines replaced the original lines for this particular class entry. All other classes included in the documents file and remained as original.

{
"carClassEnum": "INDYCAR",
"raceroomClassIds": [ 5383 ],
"pCarsClassNames": [ "Indycar" ],
"brakeType": "Carbon",
"maxSafeWaterTemp": 105,
"maxSafeOilTemp": 140,
"maxColdBrakeTemp": 411,
"maxWarmBrakeTemp": 675,
"maxHotBrakeTemp": 1570
},

I continue to get warnings of brake overheating for the Dallara DW12. Data logging shows max temps are 1073 & 767. Hot brake reports are inconsistent with when hot brakes might actually occur.

UPdated to latest version of Crewchief 4.6.5.0. File as above in documents remains unchanged, as is and was not impacted by Crewchief update.

Is my file in the wrong place?

So just trying to find out if this is working correctly?

mr_belowski
05-17-2017, 07:52 AM
it looks like you have it in the correct place, and it's got the correct name - by default Windows will hide the suffix of known file types, so if you created this as a text file make sure it's not actually called carClasses.json.txt (there's an option to show the full file name or show type of known file types somewhere in the File Explorer options).

When you start the app the console should include something like: "loaded 68 default car classes and 0 user car classes". If it's loading your car classes the second number will not be zero.

You only need to include the car class block for the class you're changing in you carClasses.json file - you can safely remove the others.

It sounds like I also need to incorporate your temperature range fixes into the default classes - I'll do this this the next release

The Iron Wolf
05-17-2017, 01:03 PM
If I am understanding the situation correctly, this is for rFactor 2 and I see no rF2 mapping in a block you pasted. So, what you need to do is check Monitor in garage, and see which vehicle class name does DW12 has. Then, you need to add to above block you pasted:


{
"carClassEnum": "INDYCAR",
"raceroomClassIds": [ 5383 ],
"pCarsClassNames": [ "Indycar" ],
"rf2ClassNames": [ "DW12 CLASS NAME" ],
"brakeType": "Carbon",
"maxSafeWaterTemp": 105,
"maxSafeOilTemp": 140,
"maxColdBrakeTemp": 411,
"maxWarmBrakeTemp": 675,
"maxHotBrakeTemp": 1570
}

What this does, is it maps rF2 car class to a car class known and understood by CC. CC covers classes in controlled games, like R3E or pCars, but moddable games need mapping.

Then, if mapping is correct, when you start session you will see text like this in CC console window:
27 : No landmarks defined for this track
05:59:21.447 : Using unmapped driver last name murphy for raw driver name john murphy
05:59:21.449 : New driver john murphy is using car class KART_JUNIOR at position 3
05:59:21.451 : Using unmapped driver last name tamm for raw driver name maki tamm
05:59:21.453 : New driver maki tamm is using car class KART_JUNIOR at position 1
05:59:21.455 : Using unmapped driver last name johansson for raw driver name ari johansson
05:59:21.457 : New driver ari johansson is using car class KART_JUNIOR at position 2
05:59:21.460 : New session, trigger data:

In your case, car class should be INDYCAR. Once this is mapped, your temperatures should get picked up, unless we messed something up :D

mr_belowski
05-17-2017, 08:42 PM
Ahhh... I think I see the issue here. There's no carClass mapping at all for the RF2 Indycar, so the app assumes it's an 'unknown race car' and will give it iron race brakes with much lower operating temps. Like my esteemed friend said above, the fix here is to add the correct rf2ClassNames line, which means the app will use 'carbon' brake temp thresholds which are much much higher

smbrm
05-18-2017, 01:07 AM
Ok, I heard what you said and understand the correction.

The fact that the entry you are suggesting needs to be added was not there in the original program's carClassData.json: does that mean that because this is an update located in documents, that the --- "rf2ClassNames": [ "Indycar" ], ---- will have to re-added every time crewchief updates? It would seem appropriate that the base carClassData.json should have content aligning with the games and cars want to use crewchief with? If not, doesn't this all get confusing about which games and cars crewchief is setup for or not? Is this just an oversight?

Great add-on by the way!

The Iron Wolf
05-18-2017, 01:44 AM
The carClassData.json in Documents will not be overwritten.

This is not an oversight. This is intentional way of how users can customize car classes for moddable games, and make it so that CC understands them. For example, I do not have DW12 on my rF2 install, and I do not know which class name to add. There are other mods that require user to do the same (spotter has ini file where you need to specify vehicle class).

But much bigger issue, is that some mods use different class name for vehicles in the same series. So, even though we try to help this situation by creating class on the fly, there will be problem with such mods (CC will think it is multi class race, when it isn't). See how DTM is mapped to rF2 in the same file (many different vehicle names are mapped to single class in CC).

I do agree it is confusing, just by the amount of explaining I need to do and we probably could simplify it a bit. But, if you will provide me with car class name for rF2 DW12, I will gladly add it to CC, just let me know the vehicle class name.

smbrm
05-18-2017, 02:57 AM
The carClassData.json in Documents will not be overwritten.

This is not an oversight. This is intentional way of how users can customize car classes for moddable games, and make it so that CC understands them. For example, I do not have DW12 on my rF2 install, and I do not know which class name to add. There are other mods that require user to do the same (spotter has ini file where you need to specify vehicle class).

But much bigger issue, is that some mods use different class name for vehicles in the same series. So, even though we try to help this situation by creating class on the fly, there will be problem with such mods (CC will think it is multi class race, when it isn't). See how DTM is mapped to rF2 in the same file (many different vehicle names are mapped to single class in CC).

I do agree it is confusing, just by the amount of explaining I need to do and we probably could simplify it a bit. But, if you will provide me with car class name for rF2 DW12, I will gladly add it to CC, just let me know the vehicle class name.

Thanks for your help. Sometimes stuff gets missed, sometimes you can't just know everything. That comment was only supposed to be question, not a judgement. I can provide the class name, I am not sure whether I understand where this place called "check Monitor in garage" actually is?

If you are talking about "class packages", the only reference to that I see is two. This class package info is located in the upgrades when you go into tuning: " Indycar_2014_Chevrolet " and " Indycar_2104_Honda ". Does that suggest that two entries are required to cover both? And does that mean two lines one for each car class in a data block or two separate blocks one for each car class variant? I guess it appears that you just add them to the block as a string?

The Iron Wolf
05-18-2017, 03:05 AM
It is all good, do not worry, this stuff is a bit confusing to me as well.

When you start a new session, and see Race button on the right hand side, and list of vehicles/drivers, what is car class name for DW12 cars? Is all same string, or different strings? Let me know if you're not sure still, I'll provide screenshot.

If mapping is working correctly, you will see "INDYCAR" as car class in Crew Chief console output.

smbrm
05-18-2017, 03:37 AM
It is all good, do not worry, this stuff is a bit confusing to me as well.

When you start a new session, and see Race button on the right hand side, and list of vehicles/drivers, what is car class name for DW12 cars? Is all same string, or different strings? Let me know if you're not sure still, I'll provide screenshot.

If mapping is working correctly, you will see "INDYCAR" as car class in Crew Chief console output.


There is no list of vehicles and drivers when the window I think you are referring too comes when direct connecting to multiplayer servers. It just says "Attempting to direct connect"

I did see this in the centre window box in crewchief:

20:24:41.741 : Player is using car class IndyCar_2014_Chevrolet at position 1

So I am assuming I did it correctly?

The Iron Wolf
05-18-2017, 03:50 AM
Ok, got it. Please, try this in your INDICAR class in Documents:
"rf2ClassNames": [ "IndyCar_2014_Chevrolet", "Indycar_2104_Honda"],

After you start session, you should see Indycar_2104_Chevrolet mapped to INDYCAR class.

smbrm
05-18-2017, 04:29 AM
Ok, got it. Please, try this in your INDICAR class in Documents:
"rf2ClassNames": [ "IndyCar_2014_Chevrolet", "Indycar_2104_Honda"],

After you start session, you should see Indycar_2104_Chevrolet mapped to INDYCAR class.

When I use this block:

"carClassEnum": "INDYCAR",
"raceroomClassIds": [ 5383 ],
"pCarsClassNames": [ "Indycar" ],
"rf2ClassNames": [ "Indycar_2014_Chevrolet", "Indycar_2104_Honda" ],
"brakeType": "Carbon",
"maxSafeWaterTemp": 105,
"maxSafeOilTemp": 140,
"maxColdBrakeTemp": 411,
"maxWarmBrakeTemp": 675,
"maxHotBrakeTemp": 1570




I see this:


22:23:26.873 : No landmarks defined for this track
22:23:26.889 : New session, trigger data:
22:23:26.891 : EventIndex 1
22:23:26.892 : SessionType Practice
22:23:26.894 : SessionPhase Garage
22:23:26.895 : SessionIteration 0
22:23:26.897 : HasMandatoryPitStop False
22:23:26.898 : PitWindowStart 0
22:23:26.900 : PitWindowEnd 0
22:23:26.901 : NumCarsAtStartOfSession 1
22:23:26.903 : SessionNumberOfLaps 0
22:23:26.904 : SessionRunTime 9930
22:23:26.905 : SessionStartPosition 1
22:23:26.907 : SessionStartTime 2017-05-17 10:23:26 PM
22:23:26.908 : TrackName Indianapolis -- Oval
22:23:26.910 : Player is using car class IndyCar_2014_Chevrolet at position 1
22:23:26.912 : New session
22:23:26.914 : New session details...
22:23:26.915 : SessionType Practice
22:23:26.917 : EventIndex 1
22:23:26.918 : SessionIteration 0
22:23:26.920 : TrackName Indianapolis -- Oval
22:23:26.921 : Clearing game state...
22:23:26.943 : Using unmapped driver last name ??????? for raw driver name ??????????
22:23:26.973 : ********** starting spotter***********


If this is what being mapped looks like then it must be mapped? I don't see any other mapping reference?

The Iron Wolf
05-18-2017, 04:41 AM
It looks from your post that you are doing everything right and that it should work correctly (but it does not), so it is possible something is broken. I'll install DW12 tomorrow and try to see what's going on, if you can, point me to content link please.

If you want to try something before that, you could backup and modify the file in CC install directory, and see if mapping works that way (by "works" I mean you should see vehicle class INDYCAR in CC output). To modify that file, you could copy it to your desktop, edit, and copy back to program files (windows will ask you for confirmation).

Thanks for patience here.

The Iron Wolf
05-18-2017, 06:06 AM
Ok, I know the problem:
Car classes are case sensitive, (I knew this is wrong, but my lazy ass never got to it). Also, despite how awesome CC is, guy can't detect that typo 2104 means 2014 :)

Correct string:
"rf2ClassNames": [ "IndyCar_2014_Chevrolet", "IndyCar_2014_Honda" ],

Make sure in Documents, your override file is in folder CrewChiefV4.

Here's how output should look like:
23:05:30.409 : New driver eddy waylon is using car class INDYCAR at position 2
23:05:30.411 : New driver hunter shark is using car class INDYCAR at position 1
23:05:30.412 : New driver takai shou is using car class INDYCAR at position 3

smbrm
05-18-2017, 02:16 PM
Ok, I know the problem:
Car classes are case sensitive, (I knew this is wrong, but my lazy ass never got to it). Also, despite how awesome CC is, guy can't detect that typo 2104 means 2014 :)

Correct string:
"rf2ClassNames": [ "IndyCar_2014_Chevrolet", "IndyCar_2014_Honda" ],





Make sure in Documents, your override file is in folder CrewChiefV4.

Here's how output should look like:
23:05:30.409 : New driver eddy waylon is using car class INDYCAR at position 2
23:05:30.411 : New driver hunter shark is using car class INDYCAR at position 1
23:05:30.412 : New driver takai shou is using car class INDYCAR at position 3

Ok, changed the block to this:


{
"carClassEnum": "INDYCAR",
"raceroomClassIds": [ 5383 ],
"pCarsClassNames": [ "Indycar" ],
"rf2ClassNames": [ "IndyCar_2014_Chevrolet", "IndyCar_2014_Honda" ],
"brakeType": "Carbon",
"maxSafeWaterTemp": 105,
"maxSafeOilTemp": 140,
"maxColdBrakeTemp": 411,
"maxWarmBrakeTemp": 675,
"maxHotBrakeTemp": 1570
},

And now I see this:

08:05:26.676 : Purged 1 sounds, there are now 1170 active SoundPlayer objects
08:05:49.051 : Initialized rFactor 2 Shared Memory
08:05:49.058 : rFactor 2 Shared Memory version: 1.1.0.1
08:06:20.321 : No landmarks defined for this track
08:06:20.339 : New session, trigger data:
08:06:20.342 : EventIndex 1
08:06:20.344 : SessionType Practice
08:06:20.346 : SessionPhase Garage
08:06:20.347 : SessionIteration 0
08:06:20.349 : HasMandatoryPitStop False
08:06:20.350 : PitWindowStart 0
08:06:20.352 : PitWindowEnd 0
08:06:20.353 : NumCarsAtStartOfSession 1
08:06:20.354 : SessionNumberOfLaps 0
08:06:20.356 : SessionRunTime 9930
08:06:20.357 : SessionStartPosition 1
08:06:20.359 : SessionStartTime 2017-05-18 8:06:20 AM
08:06:20.360 : TrackName Indianapolis -- Oval
08:06:20.362 : Player is using car class INDYCAR at position 1
08:06:20.364 : New session
08:06:20.366 : New session details...
08:06:20.367 : SessionType Practice
08:06:20.368 : EventIndex 1
08:06:20.370 : SessionIteration 0
08:06:20.371 : TrackName Indianapolis -- Oval
08:06:20.372 : Clearing game state...
08:06:20.391 : Using unmapped driver last name ????????? for raw driver name ?????????
08:06:20.419 : ********** starting spotter***********

May I assume that:

08:06:20.362 : Player is using car class INDYCAR at position 1

is what we are looking for similar to what you describe, or should the output line be more specific?

This line:

08:06:20.391 : Using unmapped driver last name ????????? for raw driver name ?????????

was using my nickname for ?????? and not my real name. Is there a way to influence what name is identified by crewchief in this line?

The devil is always in the details?

The Iron Wolf
05-18-2017, 02:33 PM
Ok, so we're making progress, looks like you mapped ISI dallara to Crew Chief indycar successfully :) Does Dw12 only has Chevy and Honda?

Also, did you replace your nickname with ???? in above text?

mr_belowski
05-18-2017, 02:35 PM
this looks correct - the INDYCAR line means that the app has correctly identified the game's car class as an Indycar.

I don't understand the second question. Does the debug actually print "??????" or have you redacted your name? Bear in mind that this is what the app will use when it's telling *other players* about you. You'll never hear this.

[edit] curse your ninja skillz


[edit2]

I would remove these lines:
"maxColdBrakeTemp": 411,
"maxWarmBrakeTemp": 675,
"maxHotBrakeTemp": 1570

and let the app use its standard "Carbon" brake temp thresholds (which are a lot higher than what you have here). The issue you were having wasn't incorrect temp thresholds for Indycars, it was because the app didn't know you were driving an Indycar

smbrm
05-18-2017, 03:52 PM
Ok, so we're making progress, looks like you mapped ISI dallara to Crew Chief indycar successfully :) Does Dw12 only has Chevy and Honda?

Also, did you replace your nickname with ???? in above text?

yes, just redacted for this reply text, nickname shows in crewchief window.

smbrm
05-18-2017, 03:55 PM
this looks correct - the INDYCAR line means that the app has correctly identified the game's car class as an Indycar.

I don't understand the second question. Does the debug actually print "??????" or have you redacted your name? Bear in mind that this is what the app will use when it's telling *other players* about you. You'll never hear this.

[edit] curse your ninja skillz


[edit2]

I would remove these lines:
"maxColdBrakeTemp": 411,
"maxWarmBrakeTemp": 675,
"maxHotBrakeTemp": 1570

and let the app use its standard "Carbon" brake temp thresholds (which are a lot higher than what you have here). The issue you were having wasn't incorrect temp thresholds for Indycars, it was because the app didn't know you were driving an Indycar

1) redacted the nickname, so the question here is sometimes I am shown as nickname and sometimes real name. Seems to depend on the server. I believe I am set to use real name, but I only set it one time. But as I say different servers show: nickname sometimes, real name other times?

2) those are the actual mod values specific to the car, which would be related to actual mod brake performance dynamics, which would make more sense if you have them? Yes because I would believe mod physics will be dynamically responding to these numbers, not generic numbers for brake condition?

mr_belowski
05-18-2017, 04:39 PM
1: this should only change if your in-game name has changed or the driver name mappings have been updated and doesn't depend on the server.

2: Not sure I follow - a max 'warm' temp for carbon brakes is a lot higher than 675 Celsius - this is right at the bottom end of their operating temperature

smbrm
05-18-2017, 05:26 PM
1: this should only change if your in-game name has changed or the driver name mappings have been updated and doesn't depend on the server.

2: Not sure I follow - a max 'warm' temp for carbon brakes is a lot higher than 675 Celsius - this is right at the bottom end of their operating temperature



1: Well, as far as I know I have only ever assigned Rf2 to use real name. Why it uses it sometimes is a bit of a mystery that I haven't felt compelled to answer yet.

2: Rf2 defines brakes this way:

cold temperature where brake torque is half of optimal: 411
min temp for optimal brake torque:675
overheated temperature where brake torque is half of optimal:1570

I did not have an explanation for the three values that crewchief defines, so assumed these would apply and used them in an attempt to get more appropriate temperature communication from the crewchief?

"maxColdBrakeTemp": 411,
"maxWarmBrakeTemp": 675,
"maxHotBrakeTemp": 1570

How you define the parmeters is important to understanding what the communication is telling you. What ever temps you use have to be consistent with the game, and the car mod definition; somehow. Perhaps 675 is too low for the crewchief definition, however, does Rfactor 2 provide a value or a method for determining a value consistent with the crewchief definition? So if max warm temp should be 1570, then what is max hot temp? Either way, one might be guessing?

mr_belowski
05-18-2017, 05:31 PM
With these values a brake temp greater than 675 will trigger an overheating warning, which I don't think is what you want.

smbrm
05-18-2017, 07:27 PM
With these values a brake temp greater than 675 will trigger an overheating warning, which I don't think is what you want.

Ok, I understand that. With the values place in carClassicData file then it is important to understand what the warning is connected too. I used the numbers I did to fill in the blanks with something I could find since no other values are discussed in the carClassData file, nothing on ceramic or carbon. At the time I was hunting for ways to get the crewchief response to be more reasonable without having any idea why it wasn't. I assume that the below the first value is what triggers cold, and as you elude the second value suggests overheating, while the third triggers what? - cooking? ? What are the iron, carbon and ceramic default values?

BTW, for for forum page reset seems short?

The Iron Wolf
05-18-2017, 07:38 PM
Rushing to ninja Jim:
maxColdIronRoadBrakeTemp = 80;
maxWarmIronRoadBrakeTemp = 500;
maxHotIronRoadBrakeTemp = 750;

maxColdIronRaceBrakeTemp = 150;
maxWarmIronRaceBrakeTemp = 700;
maxHotIronRaceBrakeTemp = 900;

maxColdCeramicBrakeTemp = 150;
maxWarmCeramicBrakeTemp = 950;
maxHotCeramicBrakeTemp = 1200;

maxColdCarbonBrakeTemp = 400;
maxWarmCarbonBrakeTemp = 1200;
maxHotCarbonBrakeTemp = 1500;

mr_belowski
05-18-2017, 07:39 PM
These are the built-in thresholds, which are based on the brake material. They're not exact but do a reasonable job:

maxColdIronRoadBrakeTemp = 80
maxWarmIronRoadBrakeTemp = 500
maxHotIronRoadBrakeTemp = 750


maxColdIronRaceBrakeTemp = 150
maxWarmIronRaceBrakeTemp = 700
maxHotIronRaceBrakeTemp = 900


maxColdCeramicBrakeTemp = 150
maxWarmCeramicBrakeTemp = 950
maxHotCeramicBrakeTemp = 1200


maxColdCarbonBrakeTemp = 400
maxWarmCarbonBrakeTemp = 1200
maxHotCarbonBrakeTemp = 1500

Anything between maxCold and maxWarm is "OK", between maxWarm and maxHot is "hot", higher than maxHot is "cooking".


I don't understand what you mean by "for for forum page reset seems short?"

[edit] ffs Vytautas, stop ninja'ing me :)

The Iron Wolf
05-18-2017, 08:43 PM
whaaa haaa haaa :) I am about to push change to comments on this, but git is killing me

smbrm
05-18-2017, 09:10 PM
Ok, I will work with those. All should work fine now, I will report back in a few after some testing to see if things remain working? Thanks for the help and clarification.

Forum logs me out needs page refresh to continue after a relatively short time?

The Iron Wolf
08-27-2017, 06:22 PM
Added instructions on how to add your favorite series to the Crew Chief mapping:

Adding new car class to the Crew Chief
As our team can't physically drive every single mod/series out there, we can't add them all. Here's how you can help:
- Start CC
- Pick a series to race
- Start a session
- Stop CC
- CTRL+A/CTRL+C in CC Console window.
- Send that text to us with brief description what series/class it is.

We will map those series to one of the internal classes or add new one, so after an update, series that improperly detected as multi-class will be treated as single class (or, correct multi-class)

Butithought
08-31-2017, 02:01 PM
good

Goanna
09-20-2017, 02:55 PM
S397's GT-R GT500 2013, I'm assuming the line below is what you want, if not yell and I'll paste all the data (didn't want to waste unnecessary space.)

00:46:20.426 : Single-Class event:"GT-R GT500 2013" (unmapped)

The Iron Wolf
09-20-2017, 03:29 PM
S397's GT-R GT500 2013, I'm assuming the line below is what you want, if not yell and I'll paste all the data (didn't want to waste unnecessary space.)

00:46:20.426 : Single-Class event:"GT-R GT500 2013" (unmapped)
thanks man, I'll map it to GT1, or is it closer to GT3?

Goanna
09-20-2017, 03:37 PM
Yep :o.....honestly I dunno, maybe someone with more knowledge about the different GT classes can chime in

The Iron Wolf
09-20-2017, 03:49 PM
I'll go with GT2, it's mover powerful than GT3, but probably not as powerful as GT1 which are basically prototypes as far as I know, not very familiar with those, they're too tricky to drive :)

Edit: I'll make it a new class - GT500, as this is not really any of above.

mr_belowski
09-20-2017, 06:38 PM
gt500 is BoP'ed with modern DTMs in some cases but I'd go with GT2 (or GTE - do we have GTE?)

The Iron Wolf
09-20-2017, 06:43 PM
gt500 is BoP'ed with modern DTMs in some cases but I'd go with GT2 (or GTE - do we have GTE?)

You are correct, but I've eventually added GT500 class based on DTM, I felt those Japanese GT300/GT500 classes deserve their separate type :)

Goanna
11-19-2017, 01:35 PM
Follow up stuff on the GT500, would the brake temp data and the like be useful? I recently downloaded CarStat 2.2 - Turbo (https://forum.studio-397.com/index.php?threads/carstat-2-2-turbo.58106/#post-921601) from Studio 397 website and data is available (not on all cars though). If so do you want me to do screen dumps like below for the various types of data or tabulate the data and send you a zip file?

https://farm5.staticflickr.com/4534/37633504485_5a2cbb3eb8_o.jpg

Some interesting stuff on fuel mixtures
Fuel mix 1:1
https://farm5.staticflickr.com/4579/38464564916_7abbb7ec52_o.jpg

Fuel Mix 5:5
https://farm5.staticflickr.com/4531/37804844044_3707952633_o.jpg

The Iron Wolf
11-19-2017, 04:44 PM
Hello Goanna,

That's a very good direction. I am actually working right now on building a database of this stuff and using it in CC. I am extracting and parsing rF2 static files. Manual entry of this info will be a bit problematic, because in rF2 rear/front brakes are different, and there are many compounds + upgrades, and again, front and rear compounds are different.

When this tooling will be done, users will be able to run a tool on their favorite mod and send us files for inclusion with CC. I am only doing unencrypted stuff, but encrypted mod owners would be also able to add to DB if they want to.

This feature is a bit more work than I expected, especially due to upgrades, but it is coming! :)

Vytautas

MaXyM
11-20-2017, 12:23 PM
Hi guys,
I noticed GT3 class has no brakeType set. Therefore uses default data
Is it ok?

Goanna
11-20-2017, 12:45 PM
Now there's a name I haven't seen popping up for a while, G'day MaXyM, I asked if brake type could be shown when a member on Studio 397 released Carstats 2 (see my link 3 posts up) and he said that that info wasn't available from the game. Given that his tool basically read the hdv file then that data is not available, but Vytautas would be able to clarify if that data is exposed to CC or not.

Off topic are you still developing SLS?

Cheers
Goanna

mr_belowski
11-20-2017, 12:45 PM
I think so - don't GT3 spec cars use iron discs?

MaXyM
11-20-2017, 12:54 PM
I've checked google, and you are right. Before to this I though it must be ceramic. I was wrong.

The Iron Wolf
11-20-2017, 02:30 PM
Given that his tool basically read the hdv file then that data is not available, but Vytautas would be able to clarify if that data is exposed to CC or not.

the .hdv stuff database that is being built will include only unencrypted stuff. I believe s397 gt3 cars are encrypted, so at least for now they won't have detailed parameters from hdv/tbc/tgm/ini files. This database is actually a temporary solution, let's hope eventually S397 will expose all of that data via internals, and things will become simpler.

FredBasset
09-27-2018, 07:49 PM
I'm trying to set up a car specific setting for the iRacing Skip Barber, to provide a higher oil temperature warning

This is what I have in the json file

{
"CarClasses": [{
{
"carClassEnum": "SKIP_BARBER",
"iracingCarIds": [1],
"maxSafeOilTemp": 138,
},
]
}

And I see this error in the console, what am I doing wrong folks

Error parsing E:\documents\CrewChiefV4\carClassData.json: Invalid property identifier character: {. Path 'CarClasses[0]', line 3, position 2.

Any help appreciated.

Thanks
Gary

mr_belowski
09-27-2018, 07:58 PM
Your JSON is incorrectly formatted. You have a extra { character and a trailing comma that needs to be removed from the oil temp element. Try pasting into jsonlint.com for format checking

FredBasset
09-27-2018, 08:58 PM
Your JSON is incorrectly formatted. You have a extra { character and a trailing comma that needs to be removed from the oil temp element. Try pasting into jsonlint.com for format checking

Oh that was sloppy, apologies. Now seems to be working, thank you.

Fred

kashif
03-27-2019, 12:01 AM
So... for rFactor 2.. there was an Endurance pack released by S397 that seem to have different specs than that of the URD mods that are already put in CC.. Is there any chance of updating the optimal temps for the new packs? Same with the GT3 pack? I copied and pasted the information like the first post said, to add car temps... but where do I send it to?

The Iron Wolf
03-27-2019, 02:21 PM
So... for rFactor 2.. there was an Endurance pack released by S397 that seem to have different specs than that of the URD mods that are already put in CC.. Is there any chance of updating the optimal temps for the new packs? Same with the GT3 pack? I copied and pasted the information like the first post said, to add car temps... but where do I send it to?
What you could do is customize temperature ranges to your personal liking. Easiest way to achieve that is by copying:

"Program Files (x86)\Britton IT Ltd\CrewChiefV4\carClassData.json"
to your Documents folder:
"Documents\CrewChiefV4\carClassData.json"

And customize it there. Everything you need to do is explained in the .json itself and first post of this thread. Good luck!