• This Website Is Not For Sale
  1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
Discuss the 2017 Formula One Australian Grand Prix here.

How to properly convert a mod for GSC

Discussion in 'Stock Car Extreme Mods' started by Fernando Zart, May 15, 2014.

  1. Hi guys.
    I've seen a lot of mods being converted to GSC lately, but although some of them are working fine inside the game, it seems they aren't receiving the proper treatment to *fully* work as intended.
    I am not an expert modder, in fact, I recently started to convert (privately) using the excellent tool that Grumbel provided.
    So far, I've converted HistorX, Alpine A364, F1 1967, Eagle, Legends Cars, Endurance Series and DRM. I didn't release any of them because their authors still gave no permission to do so.

    During the conversions, I've made a lot of small utilities to handle the work of altering/adjusting the veh files in batch. These steps are necessary because Grumbel's tool does 99% of the job, but not the "refining part".
    Anyway, for those willing to convert mods for personal use or release (please get proper authorization before releasing), I can offer some advice based on what I've learned so far. Others are welcome to complement or correct my infos, as I am still learning.


    EDIT: all files referenced below, like .veh or .sfx files are normal text files, use Windows Notepad or similar to edit them.

    1. As you may (or may not) know, FFB is adjusted inside GSC by settings located in RealFeelPlugin.ini file, which is in the main game folder. Every car/series inside the game has a corresponding section inside this file, i.e., Stock Cars use the settings from [Stock] section, as Formula V12 uses from the [F_V12] section, and so on.
    The important thing is that this section name is composed by the first five characters found in the "Description" entry inside the corresponding .veh file, for *every vehicle*. So, if you're converting a mod, and you don't properly tweak the .veh files, every single car from the mod will generate a new entry inside this file, and you'll have to tweak it by hand, for every new car you drive, if you want to feel FFB properly. Worst yet, if you happen to drive a car where description's 5 first chars are identical to another car (from another mod, perhaps), it will automatically find and use that section settings, and chances are that you'll feel the FFB to be all wrong.
    So, when converting a mod, pay attention to the description inside the .veh files, and alter each one of them to be consistent to their classes, specially in multiclasses mods, like Endurance, BlancPain, etc. After that, provide along with the mod the file containing the proper adjustments that must be added to the realfeelplugin.ini file, according to the tips from the original mod developers (or your own).
    For instance, for my conversion of Endurance Series, I've altered all descriptions to have one of these strings at the beginning: ESGT1, ESGT2, ES_P1, ES_P2 or ESLMP.
    The accompanying file (with proper FFB settings pulled straight from the original mod) is below:






    I could have made only two different entries, because you can see that there's only "two types" of FFB on this file (-2400 and -2700), all the rest being equal. Anyway, I prefer to give players more room to customization between cars/classes, like the original developers did. This also preserves the developers attention to detail, and a conversion should aim to honor this at all costs.

    2. Classes. If you want to be able to race different cars from same classes, or mix classes on the same race, you must check the "Classes" entry on the .veh files. Cars whose "Classes" entry matches can race against each other.
    Every "Classes" entry must contain one of these classes: reiza1, reiza2, ... up to reiza10. Every "reizaX" class corresponds to a car inside the game, i.e., reiza5 corresponds to the Minis. (That's why most of the mods converted using Grumbel's tool are found under the Mini's section of the game, unless you change this during conversion).
    Besides having this "reiza" class, each car can have several other classes associated, taking for example this entry for an Oreca that I converted (Endurance Series):
    This car pertains to all these classes (separated by commas), and so, it can be raced against all cars inside the mod that pertains to the same classes. Cars that have more classes than these can also race against it, but cars that doesn't have all these classes, cannot. This is why this car cannot be raced against a GT2 Panoz Esperante, which classes are "reiza5,EnduSeries,ES_ALMS06,ES_GT2". See? There are two different classes that prevent this: ES_ALMS06 and ES_GT2.

    3. Categories. Categories entry on the veh files determines how the cars will appear on the menu, so it is important to group them correctly to avoid cars being separated or outside the mod's name when looking at the GSC's car menu list.

    4. Finally, the sounds. You need to check if all the sounds references are correct. For this, open the .sfx files (usually one per car found inside the vehicles folder) and make sure all references point to a valid folder/file. Some mods use sounds from original rFactor, so you may want to grab the original sounds package, available for rFactor light, and complement the mod (or, better yet, provide new sounds/subtitute from GSC).
    Last edited: May 20, 2014
    • Like Like x 5
    • Beer Beer x 3
    • Winner Winner x 2
  2. Lazarou


    A very well written concise piece Fernando, i have being doing similar to you after you gave me some information before when working on my private mods. Its a bit of a chore but is worth it in the end if its a mod you really want done properly.

    It's about time Grumbel pulled his finger out and made a better version of the convertor, any amateur could have knocked it together. :laugh::laugh:
  3. Thanks Paul, I've edited the first post to include a quick reference to sounds, too. This one is trickier, because sometimes mods may point to files that GSC doesn't have, so you have to grab them elsewhere.
    Last edited: May 18, 2014
  4. Rupe Wilson

    Rupe Wilson
    Senior HistorX club driver Staff Premium

    Ive been playing around with a few conversions,
    im a complete noob at this.:redface:
    i have the problem were i feel all the kurbs and breaking but the FFB from the tyres can only be described as so week.
    it produces a file car name in the RealFeel plugin config folder when i fired it up..:thumbsup:
    im obviously doing something wrong in setting it up.. :roflmao::roflmao:

    I was trying to get the VW beetle mod converted as this is such good fun in rfactor.

    i know one thing just converting things is only half the job.. it must feel right when driving it.
  5. Lazarou


    Hi Rupe

    As Fernando has described it may be worth changing the description in the .veh file first for each car in the series as this means you only have to change the FFB once for that series. You can call it what you want as long as they are all the same. Next you can try some different FFB settings, so if you've called the description say VWBeetle there will be a realfeel entry made called [VWBee] which will have the standard GSC ffb settings. The data will look something like this.


    I would try copy and pasting from the original GSC ones first. So delete the data but leave the [VWBee] and try copy from one of the original GSC ffb settings probably the opalas or something like that and see what you think in game. From there if still not right change the MAXforce values up or down and the Steeringdamper until you get one you are happy with.
  6. Rupe Wilson

    Rupe Wilson
    Senior HistorX club driver Staff Premium

    thanks mate will try it out. :thumbsup:
  7. Hi Rupe. Interesting, VW Beetle was going to be my next mod. What version are you using? I was trying to find the last one (think it is something like 2.0 or 2.0a or whatever - but I may be wrong or confused about this)?
    May just wait to see your mod, or perhaps we can try to adjust it togheter, if I could help.
  8. This is very helpful Fernando, but going on from this, can you please tell me if this is possible:
    For example if I have a set of historic Ford Capri cars, and a set of Ford Escort RS cars, and I want to be able to choose form three different race formats - 1) all Ford Capri, or 2) all Ford Escort, or 3) a mixture of Capri and Escorts, is this possible? I have tried different combinations of classes and categories but I cannot get it to work. I am beginning to think I must copy them into separate sets to create the three options.
    Thanks for any help,
  9. Hi Keith.
    If you want to mix them, make sure they share the same string on "Classes=" line, for instance, something like Classes="reiza5, Fords".
    You can have one of them having a longer class, like "Classes="reiza5, Fords, Capri" for Capris, and only Classes="reiza5, Fords" for Escorts. So, if you choose a Ford Capri to race, it will only race against other Capris, but if you choose an Escort, then the game will probably "mix" it with Capris, since Escorts are "contained" inside the Capri's classes.

    Unfortunately, I don't know a method to allow you to freely choose *when to mix* or not. In the example above, if you want to race *only* with Escorts, you would need to select it and then manually boot the AI Capris and add more AI Escorts to complete the grid before the race.

    You can have as many classes as you like, like in Classes="reiza5, RallyCars, GroupA" and Classes="reiza5, RallyCars, GroupB, 2000cc", and so far. Every car that has at least the same string as the selected car in his Classes line, will take part on the grid:

    Car1 - classes= "A" (if selected will race against A, B, C and D)
    Car2 - classes= "A, B" (if selected will race against A and B)
    Car3 - classes= "A, B, C" if selected will race against A, B and C)
    Car4 - classes= "A, D" (if selected will race against A and D)
    Car5 - classes= "E" (if selected will race only against E)

    Please note that "Classes=A, B" is not the same as "Classes=A,B" (pay attention to spaces, etc).
    Hope to have answered your question. If not, just ask again.
    (Sorry, english isn't my native tongue). :)
    • Like Like x 1
    • Beer Beer x 1
  10. Lazarou


    Hi Fernando, for a certain endurance series i have decided to split the different classes to there own individual mod as i would prefer to race against cars in the same class so have just given each one its own string e.g "reiza1,ES_P1". Also using your method i only need to input the realfeel settings once for each class.

    For any mod now i am using the methods above. I have just done the Alpine A364's for my private use and that has worked out great (great cars to drive)

    The only problem now is i spend more time in .veh files than i do driving. Hopefully the end is in sight! Unless i find a new mod to tweak.
  11. Hi Paul, I've used the same scheme when converting multiclass mods. It works fine.
    You're right, changing .veh files is tiresome, but you can automate things using AutoIt, if you have some (little) knowledge about programming. I've done some small utilities that helped me to change lines in batch, also applying some sort of intelligence to the process, i.e., "if the car has something like *this* in class, take the first n chars and complement with *that*"... you know.
    For this, I prefer AutoIt as it has functions to alter .ini files, which are very similar to .veh files in structure. You just have to add a "section definition", i.e., a name enclosed in brackets like [general] at the beginning of the file.
    Then, using the ini functions from autoit, you can read, alter, delete, whatever-you-like each line of the veh files very easily.
    Since each mod has his own requirements, these utilities aren't very "reusable", but they don't take more than 10 minutes do develop, and they can work out 400+ files in less than 20 secs.
    Example: During conversion of the Endurance mod, I found that classes ended up being something like Classes="reiza5, Endurance option1 option2 option3 option4".
    Each "option" above was some sort of string, but one of them had the string GT1, or GT2, etc, from a group of no more than 5 possibilities. Then I decided to use it as a basis to automatically group cars togheter.
    Then, I wrote the following utility, and used it togheter with this batch file to process every veh under the mod's folder:

    batch file:
    FOR /r %%G in (*.veh) do enduracers "%%G"

    Script lazily made in Autoit (compiled to "enduracers.exe", hence the name used in the batch file):
    #include <FileConstants.au3>
    #include <MsgBoxConstants.au3>
    #include <File.au3>
    Global $File = $CmdLine[1]
    ; Read description and category
    $description = IniRead($File, "general", "Description", "erro")
    $driver = IniRead($File, "general", "Driver", "erro")
    $category = IniRead($File, "general", "Category", "erro")
    $classes= IniRead($File, "general", "Classes", "erro")
    ;Sets new Class
    if $classes <> "erro" Then
    $counter = 0
    $limit = StringLen($classes)
    $newclasses = '"'
    For $i=1 to $limit step 1
    if stringmid($classes, $i, 1) == " " then
    $counter = $counter + 1
    if $counter = 3 then
    $newclasses = $newclasses & '"'
    $newclasses = $newclasses & ","
    $newclasses = $newclasses & stringmid($classes, $i, 1)
    IniWrite($File, "general", "Classes", $newclasses)

    ;Sets new description
    ;First 5 chars define realfeel entry
    ;I want the fourth element from class (i.e., GT1, GT2, LP1, etc)
    $aDesc = StringSplit($newclasses, ",") ; Split the string of classes using the delimeter "," and the default flag value.
    ;The 4th value is our target
    $limit = stringlen($aDesc[4])
    $rf = "ES_GR"
    Switch StringMid($aDesc[4], 1, $limit-1)
    Case "ES_GT1"
    $rf = "ESGT1 "
    Case "ES_GT2"
    $rf = "ESGT2 "
    Case "ES_P1"
    $rf = "ES_P1 "
    Case "ES_P2"
    $rf = "ES_P2 "
    Case "ES_LMPC"
    $rf = "ESLMP "
    $newdescription = '"' & $rf & $description & '"'
    IniWrite($File, "general", "Description", $newdescription)

    How it worked:
    Every time the batch file found a veh file, it took his name and passed this as a parameter to the script above (compiled to an .exe using Autoit compile function), which in turn did his magic, reading the information, selecting the right piece of it and rewriting the classes, also adjusting description strings to support realfeel (ESGT1, ESGT2, etc).

    To have the [general] section inserted into the veh files, I used the minised-gui.exe app made by Grumbel and changed the first line of every veh file (which is a common commentary string) to "[general]" without quotes. :)

    Ten minutes thinking, five minutes coding, 20 secs converting. Well worth it. :)

    Note: the code above is provided as an example only, don't use it without adjusting it to your scenario, as it may probably mess your mod.
  12. Thanks Fernando, that is very helpful. I will have to get round it by creating a second set of cars to race as a one make series :)
    • Agree Agree x 1
  13. Rupe Wilson

    Rupe Wilson
    Senior HistorX club driver Staff Premium

    Any body understand how to use the upgrades .ini works and how this effects the car model.

    i am playing with a bus mod and it seems to have the 1043hp ,model and i want to use the default bus but don't seem to have this option

    GMC RTS mod includes:
    - GMC RTS 1988 Real physics (331hp engine and open diff).
    - GMC RTS 1988 Racing physics (1043hp engine and locked diff).

    but it seems, and i may be wrong, that it uses all the upgrades at standard.
  14. Hi Rupe, my (limited) knowledge agrees with this. AFAIK, the upgrades are always applied in GSC, overriding other settings. Maybe removing the upgrades.ini file will get your "normal" bus?
  15. Rupe Wilson

    Rupe Wilson
    Senior HistorX club driver Staff Premium

    ive looked at a few mods and how they word the upgrades .ini
    or whats inside of it.

    still trying to understand it.
    Last edited: May 28, 2014
  16. Rupe Wilson

    Rupe Wilson
    Senior HistorX club driver Staff Premium

    have noticed in some mods were the FFB is really weak in the HDV file there is a line that says

    In some mods this value is higher maybe as high as 4.0
    and this does give a much stronger FFB,

    looks like for the use stock items (engine and tyes) you have to duplicate the skins, and then make a new hdv file and label inside this to use the none upgraded parts..
    and then point to this in the veh file
    Last edited: May 29, 2014
    • Like Like x 1