@@ -1575,7 +1575,8 @@ local function saveUserPreferences()
15751575 local file = io.open (' user_preferences.lua' , " w" );
15761576 file :write (" userPreferences={\n " );
15771577 for moduleName , userPreference in pairs (userPreferences ) do
1578- file :write (" \t " .. moduleName .. " ={\n " );
1578+ local shouldWriteModule = false ;
1579+ local preferencesString = " \t " .. moduleName .. " ={\n " ;
15791580 for OSDType , preference in pairs (userPreference ) do
15801581 local valueToWrite = " true" ;
15811582 if preference == nil then
@@ -1584,10 +1585,14 @@ local function saveUserPreferences()
15841585 valueToWrite = " false" ;
15851586 end
15861587 if userPreferences [moduleName ][OSDType ] ~= defaultPreferences [moduleName ][OSDType ] then
1587- file :write (" \t\t " .. OSDType .. " =" .. valueToWrite .. " ,\n " );
1588+ shouldWriteModule = true ;
1589+ preferencesString = preferencesString .. " \t\t " .. OSDType .. " =" .. valueToWrite .. " ,\n " ;
15881590 end
15891591 end
1590- file :write (" \t },\n " );
1592+ if shouldWriteModule then
1593+ preferencesString = preferencesString .. " \t },\n " ;
1594+ file :write (preferencesString );
1595+ end
15911596 end
15921597 file :write (" };\n " );
15931598 file :close ();
@@ -1938,30 +1943,25 @@ local function plot_pos()
19381943 end
19391944
19401945 if not isLagged then
1941- if not exactlyOneFrameHasPassed then
1946+ if exactlyOneFrameHasPassed then
1947+ dx = x - prev_x ;
1948+ dy = y - prev_y ;
1949+ dz = z - prev_z ;
1950+ d = math.sqrt (dx * dx + dz * dz );
1951+
1952+ odometer = odometer + d ;
1953+ max_dx = math.max (max_dx , math.abs (dx ));
1954+ max_dy = math.max (max_dy , math.abs (dy ));
1955+ max_dz = math.max (max_dz , math.abs (dz ));
1956+ max_d = math.max (max_d , d );
1957+ else
19421958 dx = 0 ;
19431959 dy = 0 ;
19441960 dz = 0 ;
19451961 max_dx = 0.0 ;
19461962 max_dy = 0.0 ;
19471963 max_dz = 0.0 ;
19481964 max_d = 0.0 ;
1949- else
1950- dx = x - prev_x ;
1951- dy = y - prev_y ;
1952- dz = z - prev_z ;
1953- end
1954-
1955- d = math.sqrt (dx * dx + dz * dz );
1956- odometer = odometer + d ;
1957-
1958- max_dx = math.max (max_dx , math.abs (dx ));
1959- max_dy = math.max (max_dy , math.abs (dy ));
1960- max_dz = math.max (max_dz , math.abs (dz ));
1961- max_d = math.max (max_d , d );
1962- if not exactlyOneFrameHasPassed then
1963- max_dx = 0 ; max_dy = 0 ; max_dz = 0 ;
1964- max_d = 0 ;
19651965 end
19661966
19671967 if ScriptHawk .smooth_moving_angle == true then
0 commit comments