Oh, the old AAA stuff? That's 4.08m or 4.09b1m... Even if this is just a simple thing to do, I'm afraid I don't have a classdump of that version at hands anymore.
If you can spot the "2735B1CA75C7B402" in your game and upload it somewhere, I could apply the modification there for you to test it.
The "funny thing" is this:
IL-2 uses a belting scheme for each gun, where each bullet in the belt is defined separately.
There are three properties for tracers, defining their mesh/trail/color, either combination.
Usually this would fully define tracers: If none of the three is defined, the bullet does not have a tracer, otherwise the defined one(s) apply.
The ShVAKs have, as I wrote before, tracers on every 4th bullet, which would make sense and might be historically correct. I don't know if it is, that's why I asked for sources.
Now comes the odd part:
For some unknown reason (I guess it's a thing from java code attic) there's an additional property "traceFreq" on each gun, an integer number.
As written before, the frequency where tracers apply is fully defined by the tracers already, and it basically doesn't make sense to try to define it by a single number since the frequency might even vary (imagine a TP-T/HE/TP-T/HE/HE/TP-T/TP-T/HE belting for instance). Still that property is there and it's been used in code:
In the "Gun" class tracers are created only when this is true:
if(Config.isUSE_RENDER() && bulletNum % prop.traceFreq == 0)
"Config.isUSE_RENDER()" defines whether or not 3D stuff is drawn at all (it isn't on dedicated servers for instance).
"bulletNum" is a number giving the position on the belt (0 to number of bullets on belt minus 1).
This means that tracers will only be drawn when the bullet number can be divided by "traceFreq" without remainder.
A spot check shows that this doesn't matter for guns in IL-2 usually as the belting definition matches the "traceFreq" property.
However for the ShVAKs, each 4th bullet in the belt is a tracer, but "traceFreq" is set to "3".
The result is that 2 out of 3 tracers will be skipped (bullet number 4 and 8, neither can be divided by 3).
That just doesn't make sense and as I wrote before I guess that this is a simple mistake, code attic. Someone altered the belting but forgot to match this useless "traceFreq" property or vice versa.
The glitch is there in 4.09m so I guess it will be in AAA code as well.
Best regards - Mike