The specs do not quite define for which vehicles (front engine, articulated part, wagon, secondary engine) the callback is called for each of the effects.
As usual the behaviour of TTDP and OTTD do not agree in all cases, while they agree in some cases in a way which is obviously non-sense

Anyway, let's discuss the behaviour for trains. RV should just behave the same as trains, and aircraft and ships are easy anyway (though not neccessarily correct in TTDP/OTTD

Overview: Wrt. TTDP I am confident but not entirely sure I read the source for effects 06 and 09 correctly

Code: Select all
Effect | TTDP | OTTD | Discussion
------------------------------------------|----------------------------------------------|-------------------|-------------
01 Start sound | front | front |
| | |
02 Tunnel sound | front | front |
| | |
03 Breakdown sound | front | front |
| | |
04 Running sound per distance interval | front | various | (M)
| | |
05 Plane touch down | (front) | (front) |
| | |
06 Visual effect generation | every vehicle that spawns an effect | front | (V)
| according to CB10 (not sure) | |
| | |
07 Running sound per time interval | front | various | (M)
| | |
08 Stopped sound per time interval | front | various | (M)
| | |
09 Load/unload sound | front, each gradual loading step (not sure), | front, instead of | (L)
| independent of payment sound | payment sound |
| | |
10 Bridge sound | (bridge) | (bridge) |
- Did anyone ever use effects (V) and (L), i.e. is there a test GRF out there?
- (V) and (L) could be triggered quite often. For (M) there are engine ticks and motion counter to allow the NewGRF to control the sound amount.
Should there be random bits to play the effect only sometimes?
Or are vehicle ticks enough? - Some sound effect might benefit from additional info. E.g. visual effect might need the type of visual effect that was spawned.
So I guess var 10 should be clarified/changed to only use bits 0 to 7 for the sound effect type.
- Called only for front. (weird for consists with multiple engines, esp. with only cab car in front)
- Called for all engines in the consist (independent of powered-ness), not called for articulated parts or rear-heads.
- Called for all engines in the consist (independent of powered-ness), including articulated parts and rear-heads.
- Called for all vehicles in the consist, including wagons, articulated parts and rear-heads.
- I guess the TTDP behaviour makes sense. Play sound whenever CB10 says to make an effect.
All options include "play independent of/in addition to payment sound".
- Called only for front when loading/unloading starts (i.e. not per gradual loading step).
- Called for all vehicles (including articulated parts) in the consist whenever they load/unload stuff (i.e. per gradual loading step)