Well, they shouldn't be too hard to understand. There are 2 basic ideas behind it:
1.) inside the header of an ini-section you can source another section with the "~", like if you had this:
Code:
the_other_section
{
other_data=1
}
my_section~the_other_section
{
data=0
}
then racer would interpret it as that:
Code:
the_other_section
{
other_data=1
}
my_section
{
other_data=1
data=0
}
That's the sourcing-idea (if you change something in the file, you don't have to scroll so much and if you change a common setting, change it only once).
2.) Digital elements need not be numbers. Lets have a look at the abs-indicator:
If it's off, the transparent digit (which, as a digit, would be the "0") is shown. If it's enabled, the abs-sign is displayed (which, as a digit, would be the "1"). Now the only thing you need to make sure is, that the value for the element never gets smaller than 0 and never gets larger than 1. That's what you have the keywords "min" and "max" for.
If you wanted to make a shifting indicator which lights up at 7500rpm, you'd create a texture with an empty rect and a "indicator"-rect. Then you'd create an element with type=digital, with the settings derived from your texture and with:
Code:
var=rpm
min=0
max=1
factor_inv=7500
Now I'm getting to explaining factor_inv
If you read out an rpm and you want it to be in between 0 and 1, you'll have to divide the read-out by a number - here it is 7500, as 7500/7500=1. Any number lower than that would be less than 1 (like 5000/7500=0.666), any number higher than that would be larger than 1 - and by that exceeding our "max", so the value stays "1". Boom, the digital shifting indicator is done
So actually factor_inv should be called "divisor", as it stands for 1/factor.
P.S.: I agree on the inside dials - why transparent... But I love it if outside dials don't obscure the track, but still are readable. So that was my primary intention...