First of all you need to pick a car, any car you want from FM4(not dlc, sorry) and then find it in folder "Cars' xmls" extraced from "FM4 engine tuning.rar"
Open the .xml with notepad(i recommend to use notepad++)
Don't get lost in it, you only need just find out what soundbanks the car uses.
Find EngineAmbient, EngineIntake and Exhaust
Now you have 3 xmls more "4N1_E30M3_1150_EngAmb_HT.xml", "4N1_E30_1150_Int_HT.xml" and "4N3_E30M3_1150_Exh_HT.xml"
You'll find them in "Engines' xmls" folder.
These xmls defines what soundbanks(.fsb) the car uses(read inside). You'll only need two of them, for exhaust sounds and the engine itself. For exhaust sounds it is obvious that you need to use exhaust soundbanks(the ones that has Exh in its name), but for engine sound you'll have to choose which, intake or ambient, to use. Select the one which sounds better for you.
Putting sound in game
First of all you need to extract the sounds out of the soundbank and put in any folder you want inside SLRR directory. DON'T FORGET TO REMOVE SPACES IN SOUND NAMES!
Then make .RPK with my rpk creator tool. You should figure it out how it works
I personally remove the mindist and maxdist lines from the rdb, but it's not necessary.
I'm not getting into details here, you should know how rpk works in slrr.
This is where all the fun begins
Basically you need to script all the sounds into the block.java
First take a look at the sound files, you'll see a bunch of nubmers. Those numbers are RPMs, you will need those.
Idk how to explain this so i made a pic, i hope you understand the pattern
The trick is in the_car.setSfxExhaustMinVol(0.1);
Do not set it to more than 0.2, because this sets the exhaust volume when the throttle is not pressed. When it's pressed the volume sets to 1.0
That means if you set the ExhaustMinVol to 2.0, the exhaust sounds will decrees when you hit the throttle.
That's about it. I hope i haven't missed anything, if so i'll update this tutorial.
Several comma-separated tags will be considered as logical AND between them. You can also use semicolon for logical OR. AND has a priority over OR and you cannot use parentheses for logical grouping. Asterisk (*) within a tag will be regarded as a mask for "any string".