40ff13b65b
Definitely problems in aar.nas, seaport.nas; as these were hanging off a fdm-initialized. The others have timers that are started from a listener and as such are more suited to use maketimer rather than settimer The modules that use the loopid technique are probably fine, but these are also more suited (and easier to understand) using a maketimer
28 lines
1.1 KiB
Text
28 lines
1.1 KiB
Text
###############################################################################
|
|
##
|
|
## Windsock turbulence animation
|
|
##
|
|
###############################################################################
|
|
|
|
var dt = 0.0;
|
|
var windsock = func {
|
|
var wind = getprop("/environment/wind-speed-kt") or 0;
|
|
var mag1 = getprop("/environment/turbulence/magnitude-norm") or 0;
|
|
var mag2 = getprop("/environment/turbulence/raw-magnitude-norm") or 0;
|
|
var sens = getprop("/environment/turbulence/sensitivity") or 0;
|
|
var rate = 3.1514*getprop("/environment/turbulence/rate-hz") or 0;
|
|
var tot1 = math.sin(dt*rate)*mag1*mag1;
|
|
var tot2 = math.sin(3.33*dt*rate/sens)*sens*mag2*mag2;
|
|
tot2 = mag2*tot2 + (1-mag2)*math.tan(dt/10)/5;
|
|
var total = wind + tot2 + tot1*tot2;
|
|
|
|
interpolate("/environment/windsock/wind-speed-kt", total, 0.3);
|
|
|
|
total += 5*mag2;
|
|
interpolate("/environment/windsock/wind-speed-12.5kt", total, 0.1);
|
|
|
|
dt += 0.08 + 0.02*(math.sin(dt)+math.cos(dt/(mag2+0.01))*0.33);
|
|
}
|
|
windsockTimer = maketimer(0.25, windsock);
|
|
windsockTimer.simulatedTime = 1;
|
|
windsockTimer.start();
|