###################################################### # NAME: NuScorpii/Karsten - Adapt To Survive ########################################################### # # Wheel type ingame settings recommendations: # # direct drive wheel bases: # LFB 10 Low LFB to avoid feeling like jumping on stones. # FX 55 # # tx wheels # LFB ?? Higher values than DD likely will be great # FX 50 # # csw/ts-pc/csl # LFB ?? Higher values than DD likely will be great # FX 50 # # For non-dd wheels: # the road noise might be too low at the default values below # ########################################################### ########################################################### # # LFB - default value is 0.15 # (lfb_k 0.22) ########################################################### # # Scrub settings # # Overall scrub scale - used to scale both front and back (scrub_scale_master 30.0) # Scrub scale (0.0 - 2.0) # Set to 0.0 to disable (scrub_scale_front 1.8) (scrub_scale_rear 1.4) # Scrub lambda (inversely proportional to frequency of effect) # Higher values give lower freq. Best range 1.1 - 1.8 (scrub_lambda_front 1.6) (scrub_lambda_rear 1.2) ########################################################### # # "Real Road" details settings # # strength of road details fx (details_scale 2.0) # Gamma calculated from details_scale (micro_gamma (+ 1.0 (* (power fx 2.0) details_scale))) # Advanced fine tuning, adjusting will take you to a place of many trial & errors & you might not feel the difference right away, only wonder what happened on occasion if not careful. (detail_window_size 3.0) # Window size is the number of time steps (dt) to use for smoothing and delta calculations (detail_size_to_scale (* dt detail_window_size)) ########################################################### # # Road speed & older road fx strength settings # (road_fx 1.0) ########################################################### # # Kerb settings # (kerb_scale 0.1) ########################################################### # # Engine settings # (engine_scale_at_start 3.0) (engine_scale_at_speed 0.0) ########################################################### # # Other variables # (stock_rack_bias 0.0) # Allows you to switch to old rack lfb method (1.0) # road vibe details (road_rumbling_scale (* 1.0 road_fx)) #oscillated road noise, affected by speed & front tyre oscillations. #(road_scale_old (* 1.5 road_fx)) #medium road effect, affected by speed & front tyre oscillations. #(road_scale (* 2.5 road_fx)) #soft road effect, affected by speed & front tyre oscillations. (road_scale_old 0.0) #medium road effect, affected by speed & front tyre oscillations. (road_scale 0.0) #soft road effect, affected by speed & front tyre oscillations. ########################################################### # # Reiza code # (custom_lock_stop 1.0) (lever_mode 0) (smooth_level 0) (max_change 1.0) (min_force 0.00) (scrub_rack 0.0) (scrub_rear 0.0) #scaled rack damping, based on actual "virtual" rack velocity. (rack_damping_scale 1.0) # 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)))) (rack (* rack (crossover vel_mag 0.0 5.0))) (rack (+ rack parkingForce)) ########################################################### # # Kerb enhancement # (prd 1.0) (FL_bump_period (* 0.15 FL_bump_kerb)) (FL_bump_amplitude (* 0.1 FL_bump_kerb)) (FL_bump_sharpness 0.9) (inv_period (/ 1.0 (+ FL_bump_period 0.001))) (dphase (* FL_vel_x dt inv_period)) (sin1 (oscillator (* prd 1.0 dphase))) (sin2 (oscillator (* prd 2.0 dphase))) (sin3 (oscillator (* prd 3.0 dphase))) (term1 (* (/ -2.0 prd) sin1)) (term2 (* (/ -1.0 prd) sin2)) (term2 (* (/ -0.6667 prd) sin3)) (sawtooth (+ term1 term2 term3)) (FL_bump (* sawtooth (* FL_load 1.0) FL_bump_amplitude FL_angvel)) (FR_bump_period (* 0.15 FR_bump_kerb)) (FR_bump_amplitude (* 0.1 FR_bump_kerb)) (FR_bump_sharpness 0.8) (inv_period (/ 1.0 (+ FR_bump_period 0.001))) (dphase (* FR_vel_x dt inv_period)) (sin1 (oscillator (* prd 1.0 dphase))) (sin2 (oscillator (* prd 2.0 dphase))) (sin3 (oscillator (* prd 3.0 dphase))) (term1 (* (/ -2.0 prd) sin1)) (term2 (* (/ -1.0 prd) sin2)) (term2 (* (/ -0.6666 prd) sin3)) (sawtooth (+ term1 term2 term3)) (FR_bump (* sawtooth (* FR_load -1.0) FR_bump_amplitude FR_angvel)) (kerb_tex (* (+ FL_bump FR_bump) (* 0.0012 kerb_scale))) ########################################################### # # Road FX # # Jerk based (FL_road (* FL_load 1.0)) (FR_road (* FR_load -1.0)) (FL_road (jerk FL_road)) (FR_road (jerk FR_road)) (FL_road_old FL_road) (FR_road_old FR_road) (ang_v (* 0.5 (+ (abs FL_angvel) (abs FR_angvel)))) (road_k 20000.0) (road_s (/ ang_v 200)) (road_s (min road_s 1.0)) (road_k (- road_k (* road_s 10000.0))) #less the faster we go to avoid some stones (road_scale (+ road_scale (* road_scale road_s))) (road_d 0.2) (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 100.0)) (m (min m 1.0)) (road_k 100000.0) (road_d 2.0) (FL_road_old (split FL_road_old 0.0 1.0 1.0 2.0 0.01)) (FL_road_old (spring FL_road_old road_k road_d 1.0)) (FR_road_old (split FR_road_old 0.0 1.0 1.0 2.0 0.01)) (FR_road_old (spring FR_road_old road_k road_d 1.0)) (road_scale_noise_2 (/ road_scale_old 80000.0)) (FL_road_old (* FL_road_old road_scale_noise_2)) (FR_road_old (* FR_road_old road_scale_noise_2)) (FL_road (+ FL_road FL_road_old)) (FR_road (+ FR_road FR_road_old)) (FL_road (* FL_road m)) (FR_road (* FR_road m)) # Road rumbling (m (/ ang_v 200.0)) (m (min m 3.0)) (o (* m 0.5)) (rumbling_effect 0.3) (rumbling (* 0.1 road_rumbling_scale (oscillator o) m rumbling_effect)) ########################################################### # # Scrub FX # # Scrub Front (sf_s 0.55) (FL_scrub (soft_clip FL_scrub 2.0 0.0)) (FL_scrub (* (/ 1 (- 1.0 sf_s)) (max 0.0 (- FL_scrub sf_s)))) (FL_scrub (power FL_scrub 2.0)) (FL_scrub (* FL_scrub (oscillator scrub_lambda_front))) (FR_scrub (soft_clip FR_scrub 2.0 0.0)) (FR_scrub (* (/ 1 (- 1.0 sf_s)) (max 0.0 (- FR_scrub sf_s)))) (FR_scrub (power FR_scrub 2.0)) (FR_scrub (* FR_scrub (oscillator scrub_lambda_front))) (scrub_k 20000.0) (scrub_d 1.0) (scrub_scale_factor (* scrub_scale_master scrub_scale_front)) (FL_scrub (* scrub_scale_factor FL_scrub)) (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 (* scrub_scale_factor FR_scrub)) (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 (sr_s 0.52) (RL_scrub (soft_clip RL_scrub 2.0 0.0)) (RL_scrub (* (/ 1 (- 1.0 sr_s)) (max 0.0 (- RL_scrub sr_s)))) (RL_scrub (power RL_scrub 2.0)) (RL_scrub (* RL_scrub (oscillator scrub_lambda_rear))) (RR_scrub (soft_clip RR_scrub 2.0 0.0)) (RR_scrub (* (/ 1 (- 1.0 sr_s)) (max 0.0 (- RR_scrub sr_s)))) (RR_scrub (power RR_scrub 2.0)) (RR_scrub (* RR_scrub (oscillator scrub_lambda_rear))) (scrub_k 20000.0) (scrub_d 1.0) (scrub_scale_factor (* scrub_scale_master scrub_scale_rear)) (RL_scrub (* scrub_scale_factor RL_scrub)) (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 (* scrub_scale_factor RR_scrub)) (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)) ########################################################### # # Combining road effects # (FL_tex (+ FL_scrub RL_scrub FL_road)) (FR_tex (+ FR_scrub RR_scrub FR_road)) (tex (+ FL_tex FR_tex rumbling kerb_tex)) (tex (soft_clip tex 1.0 0.0)) # Smooth texture at standstill / very low speeds (slow_tex (smooth tex 0.1)) (slow_tex (drag slow_tex 0.0001 0.0)) (speed_bias (max 0.0 (min 1.0 (/ vel_mag 10.0)))) (tex (blend speed_bias slow_tex tex)) ########################################################### # # Engine effect # (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 (blend m engine_scale_at_start engine_scale_at_speed)) (engine_scale (/ engine_scale 15.0)) (engine_vibe (sin crankPos)) (engine_vibe ( * load_mult engine_vibe rps_scale engine_scale)) (feel ( + tex engine_vibe)) ########################################################### # # Default rack LFB # (stock_rack_lfb (lfb rack lfb_k)) ########################################################### # # Road details boost # # Smooth road details out (rack_smooth (smooth rack detail_size_to_scale)) # rack_delta is the small force that is the difference from the smoothed big force (rack_delta (- rack rack_smooth)) # Apply gamma to the micro details (rack_delta (power rack_delta (/ 1.0 micro_gamma))) # Apply lfb to the macro details (rack_smooth (lfb rack_smooth lfb_k)) ########################################################### # # Final Rack Blending # # Adding in the real road details (rack (+ rack_smooth rack_delta)) # Blend in default rack (rack (blend stock_rack_bias rack stock_rack_lfb)) # Smooth rack at standstill / very low speeds (slow_rack (smooth rack 0.1)) (slow_rack (drag slow_rack 0.0001 0.0)) (speed_bias (max 0.15 (min 1.0 (/ vel_mag 10.0)))) (rack (blend speed_bias slow_rack rack)) # FX LFB (feel ( lfb feel lfb_k)) # Combine rack and FX forces (output ( + rack ( * feel fx 0.8))) ########################################################### # # Scaler for info, no affect on 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) ########################################################### # # Light Damping # #pass thru same smoothing level as rackForce (damping_smooth (smooth rack_damping M_force_smoothing)) (rack_damping (if M_force_smoothing damping_smooth rack_damping)) (output (+ output (* rack_damping_scale rack_damping))) ########################################################### # # Clipping # #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)) ########################################################### # # Lock Stops # (stops (bumpstop output 0.1 1.0 0.14 5.0)) (output (+ output (* stops custom_lock_stop))) ########################################################### # # Statistics output # (histogram output) (info2 output)