###################################################### # NAME: NuScorpii/Karsten "waiting for friday" for v0.9.2.1 (engine_scale_at_start 2.5) (engine_scale_at_speed 0.8) (road_scale 0.75) (scrub_scale 0.7) (rack_lfb_ratio 0.3) (custom_lock_stop 0.5) (min_force 0.01) (scrub_vibe 1.0) ########################################################### # #Some constants # ##general multipliers (from ams1) (max_overall_force 11500.0) (recip_force ( / 1.0 max_overall_force)) #mfasr scaler (rack_scaled ( * arm_force ( / max_overall_force M_max_force_at_rack))) (rack_scaled ( * rack_scaled recip_force)) (rack rack_scaled) (rack_smooth (smooth rack M_force_smoothing)) (rack (if M_force_smoothing rack_smooth rack)) ########################################################### ##################################################### ##################################################### #PARKING LOT FORCE :) (parkingForce (* parkingForceMult rack)) (parkingForce (* parkingForce (crossover et 0.0 5.0))) (parkingForce (* parkingForce (- 1.0 (crossover vel_mag 0.0 7.0)))) (parkingForce (* parkingForce )) (rack (* rack (crossover vel_mag 0.0 5.0))) (rack (+ rack parkingForce)) ###################################################### ###################################################### #FX_AMS2- scrub effect (gives subtle vibrtions on braking / understeer) # and engine vibrations on wheel (so like ams1 "fx" -curbs) ############# # Jerk Based Road Feel ------------------------------- (FL_road (* FL_load 1.0)) (FL_road (jerk FL_road)) (FR_road (* FR_load -1.0)) (FR_road (jerk FR_road)) (ang_v (* 0.5 (+ (abs FL_angvel) (abs FR_angvel)))) (road_k 100000.0) (road_d (/ ang_v 200)) (road_d (min road_d 1.0)) (road_d (- 1.0 road_d)) (road_d (* 2.0 road_d)) (road_d (max road_d 0.2)) (road_d (min road_d 2.0)) (FL_road (split FL_road 0.0 1.0 1.0 2.0 0.01)) (FL_road (spring FL_road road_k road_d 1.0)) (FR_road (split FR_road 0.0 1.0 1.0 2.0 0.01)) (FR_road (spring FR_road road_k road_d 1.0)) (road_scale_2 (/ road_scale 80000.0)) (FL_road (* FL_road road_scale_2)) (FR_road (* FR_road road_scale_2)) (m (/ ang_v 75.0)) (m (min m 1.0)) (FL_road (* FL_road m)) (FR_road (* FR_road m)) # Scrub Front ---------------------------------------------- (FL_scrub (soft_clip FL_scrub 2.0 0.0)) (FL_scrub (scoop FL_scrub 0.65 0.995)) (FL_scrub (* FL_scrub (oscillator 1.6))) (FR_scrub (soft_clip FR_scrub 2.0 0.0)) (FR_scrub (scoop FR_scrub 0.65 0.995)) (FR_scrub (* FR_scrub (oscillator 1.6))) (scrub_scale_factor (* 35.0 scrub_scale)) (FL_scrub (* scrub_scale_factor FL_scrub)) (FR_scrub (* scrub_scale_factor FR_scrub)) (scrub_k 20000.0) (scrub_d 1.0) (FL_scrub (split FL_scrub 0.0 1.0 1.0 2.0 0.01)) (FL_scrub (spring FL_scrub scrub_k scrub_d 1.0)) (FR_scrub (split FR_scrub 0.0 1.0 1.0 2.0 0.01)) (FR_scrub (spring FR_scrub scrub_k scrub_d 1.0)) # Scrub Rear ---------------------------------------------- (RL_scrub (soft_clip RL_scrub 2.0 0.0)) (RL_scrub (scoop RL_scrub 0.6 0.995)) (RL_scrub (* RL_scrub (oscillator 1.1))) (RR_scrub (soft_clip RR_scrub 2.0 0.0)) (RR_scrub (scoop RR_scrub 0.6 0.995)) (RR_scrub (* RR_scrub (oscillator 1.1))) (scrub_scale_factor (* 25.0 scrub_scale)) (RL_scrub (* scrub_scale_factor RL_scrub)) (RR_scrub (* scrub_scale_factor RR_scrub)) (scrub_k 20000.0) (scrub_d 1.0) (RL_scrub (split RL_scrub 0.0 1.0 1.0 2.0 0.01)) (RL_scrub (spring RL_scrub scrub_k scrub_d 1.0)) (RR_scrub (split RR_scrub 0.0 1.0 1.0 2.0 0.01)) (RR_scrub (spring RR_scrub scrub_k scrub_d 1.0)) # LFB ----------------------------------------------------- (FL_scrub ( lfb FL_scrub 0.15)) (FR_scrub ( lfb FR_scrub 0.15)) (RL_scrub ( lfb RL_scrub 0.15)) (RR_scrub ( lfb RR_scrub 0.15)) (FL_road ( lfb FL_road 0.15)) (FR_road ( lfb FR_road 0.15)) (FL_tex (+ FL_scrub RL_scrub FL_road)) (FR_tex (+ FR_scrub RR_scrub FR_road)) (tex (+ FL_tex FR_tex)) (tex (soft_clip tex 1.0 0.0)) # Engine --------------------------------------------- (max_rps 8000.0) (rps_scale ( / crankshaft max_rps)) (rps_scale ( power rps_scale 0.8)) (rps_scale (min rps_scale 0.02)) (rps_scale (max rps_scale 0.14)) (load_mult (+ 0.8 throttle)) (load_mult (max load_mult 1.0)) (m (/ ang_v 120.0)) (m (min m 1.0)) (engine_scale (+ (* engine_scale_at_start (- 1.0 m)) (* engine_scale_at_speed m) )) (engine_scale (/ engine_scale 15.0)) (engine_vibe (sin crankPos)) (engine_vibe ( * load_mult engine_vibe rps_scale engine_scale)) (engine_vibe ( lfb engine_vibe 0.15)) (feel ( + tex engine_vibe)) ############################################################################ ########################################################################### (rack ( + ( * rack ( - 1.0 rack_lfb_ratio))( * ( lfb rack 0.15) rack_lfb_ratio))) (rack ( + rack ( * feel fx 0.8))) (output rack) #(output ( * tex fx 0.8)) #(output ( * engine_vibe fx 0.8)) # Scaler as informational only, doesnt affect output - (scale_window_init 10.0) (scale_window_nominal 2.0) (scale_soft_clear_t 10.0) (scale_min 0.2) (scale_max 2.0) (scale_blend_t 2.0) (signal_scale output 1.0 1.0 1.0 1.0 1.0 0.0 0.0 0.0) ###################################################### ###################################################### ##(LOW FORCE BOOST) ################ #NO THANKS, this is just plain bad. Will make the wheel "fight for center" #(output ( lfb output 0.15)) ###################################################### ###################################################### ##lock_stops (wheel_dir ( if output 1.0 -1.0)) (stops (bumpstop wheel_dir 0.1 2.0 0.1 0.1)) (output (+ output (* stops device_lock_stop))) #################################################### #allow 30% headroom (headroom ( - 0.7 gain)) (clipTo ( + 1.3 headroom)) (clipTo ( if headroom 1.3 clipTo)) (output (hard_clip output clipTo)) (output (* output gain)) (histogram output)