@@ -7,6 +7,7 @@ import { applyToTargets, CopyFilter, getTargets, getVehicleSettings } from "../s
77import { changeSpacing , changeTrackProgress , setMass , setPositionX , setPositionY , setPositionZ , setPoweredAcceleration , setPoweredMaximumSpeed , setPrimaryColour , setReversed , setRideType , setSeatCount , setSecondaryColour , setSpin , setTertiaryColour , setVariant } from "../services/vehicleEditor" ;
88import { VehicleSpan } from "../services/vehicleSpan" ;
99import { isValidGameVersion } from "../services/versionChecker" ;
10+ import { floor } from "../utilities/math" ;
1011import { VehicleViewModel } from "../viewmodels/vehicleViewModel" ;
1112import { model as rideModel , rideWindow } from "./rideWindow" ;
1213import { labelled , labelledSpinner , LabelledSpinnerParams , multiplier } from "./utilityControls" ;
@@ -353,32 +354,32 @@ const mainWindow = window({
353354 step : model . _multiplier ,
354355 value : model . _x ,
355356 format : model . _formatPosition ,
356- onChange : value => model . _modifyVehicle ( setPositionX , value )
357+ onChange : ( _ , incr ) => model . _modifyVehicle ( setPositionX , incr )
357358 } ) ,
358359 positionSpinner ( {
359360 _label : { text : "Y position:" } ,
360361 disabled : model . _isPositionDisabled ,
361362 step : model . _multiplier ,
362363 value : model . _y ,
363364 format : model . _formatPosition ,
364- onChange : value => model . _modifyVehicle ( setPositionY , value )
365+ onChange : ( _ , incr ) => model . _modifyVehicle ( setPositionY , incr )
365366 } ) ,
366367 positionSpinner ( {
367368 _label : { text : "Z position:" } ,
368369 disabled : model . _isPositionDisabled ,
369370 step : model . _multiplier ,
370371 value : model . _z ,
371372 format : model . _formatPosition ,
372- onChange : value => model . _modifyVehicle ( setPositionZ , value )
373+ onChange : ( _ , incr ) => model . _modifyVehicle ( setPositionZ , incr )
373374 } ) ,
374375 labelSpinner ( {
375376 _label : { text : "Spin angle:" } ,
376377 minimum : 0 ,
377- maximum : 255 ,
378+ maximum : compute ( model . _spinFrames , frames => frames > 0 ? frames - 1 : 0 ) ,
378379 disabled : model . _isSpinDisabled ,
379380 step : model . _multiplier ,
380- value : model . _spin ,
381- onChange : value => model . _modifyVehicle ( setSpin , value )
381+ value : compute ( model . _spin , model . _spinFrames , ( spin , frames ) => floor ( ( spin * frames ) / 256 ) ) ,
382+ onChange : ( _ , incr ) => model . _modifyVehicle ( setSpin , floor ( ( incr * 256 ) / model . _spinFrames . get ( ) ) )
382383 } )
383384 ]
384385 } ) ,
0 commit comments