########################################################### ########################################################### # NAME: Silver Raw - v6.6.5.47 - Momentum Rack 5.2 - Karsten - Featuring Shadak, Panos, Santos, NuScorpii & tUMi. Mid level wheel bases. # # HUGE THANKS! to Peter Stefano, Stakanov, Michael Enright, AxisMagi, Chip, inthebagbud, Gillish, Mikk Schleifer & everybody else in the Reiza forum for continued suggestions & help balancing this file! # # Also thanks to CycloZeb (for suggesting the grip impact on momentum) and to Alegunner(as well as other Reiza Forum members) for providing adjustment feedback. # # If you copy this over in full or partly, or base a solution on the same general methods after seeing it, please credit "Momentum Rack" however used("included"/"extended"/"modified"/"based on"), I would be pleased - Thanks. # ########################################################### # # Madness bug madness # # Create many vars here so the madness bug will hit that. # (madness_bug1 1.0) (madness_bug2 1.0) (madness_bug3 1.0) (madness_bug4 1.0) (madness_bug5 1.0) (madness_bug6 1.0) (madness_bug7 1.0) (madness_bug8 1.0) (madness_bug9 1.0) (madness_bug10 1.0) (madness_bug11 1.0) (madness_bug12 1.0) (madness_bug13 1.0) (madness_bug14 1.0) (madness_bug15 1.0) (madness_bug16 1.0) (madness_bug17 1.0) (madness_bug18 1.0) (madness_bug19 1.0) (madness_bug20 1.0) (madness_bug21 1.0) (madness_bug22 1.0) (madness_bug23 1.0) (madness_bug24 1.0) (madness_bug25 1.0) (madness_bug26 1.0) (madness_bug27 1.0) (madness_bug28 1.0) (madness_bug29 1.0) (madness_bug30 1.0) ########################################################### # # Main dials # (master_rack 1.50) #Rack & road scale. (master_road 1.40) #Road bum, details & suspension (master_effects 1.60) #Effects scale. ########################################################### # # Rack settings # (tighten_range 0.06) #Use for lower end wheel bases. (tighten_falloff 0.006) #Use for lower end wheel bases. (power_steering_lfb 0.1) (center_full 1.2) #Increase for more full center, decrease for opposite. Remember LFB in-game also affects this, so set a value that works for a range of LFB settings. (static_force_reduction 0.85) #Range: 0.0 - 1.0. Adjust up to reduce the very highest end of cornering resistance. (static_force_reduction_hi_df 0.30) #Range: 0.0 - 1.0. Adjust up to reduce the very highest end of cornering resistance. (brake_feel 3.0) #How much braking is felt (exaggerated_brake 0.2) #Differently calculated brake feel. (acc_boost_feel 0.1) #Further lightens the feel on acceleration. (acc2_scale 0.8) (dec2_scale 0.5) (dec_boost_feel 0.07) #Further tightens the feel on deceleration. (centering 0.58) #How fast the steering/tyres auto centers. (longitudinal_scale 0.9) (relax_lateral_center 0.7) (balance_scale 0.02) #How much balance under normal df. (balance_scale_hi_df 0.02) #How much balance under high df. This is here because balance is felt less under high df, so if you want to counter that you can increase that here. (relax_balance_center 0.8) (exaggerate_front_load_feel 0.1) (exaggerate_front_load_feel_hi_df 0.0) (stretch_feel_scale 0.0) #0.0-1.0. 0 no feel of tyre stretch, 1 most feel of tyre stretch. This works in combination with stretch_feel_time. (stretch_feel_time 0.175) #Delta period for stretch feel. The higher the more the stretch is pronounced/felt. This works in combination with stretch_feel_scale. (limit_high_df 1.0) #Limits how stiff the steering becomes in high df cars. Range: 0.0-1.0. 0.0=most extreme high df possible, 1.0=limit high df as much as possible. (velocity_scale 1.0) (rear_grip_loss_feel 0.1) #How much rear grip loss decreases feel of grip (yaw_scale 0.8) (relax_yaw_center 0.8) (over_steer_scale 1.1) (front_slide_scale 0.3) (change_of_balance_feel 0.2) #Feeling of balance shifting. The faster it shifts, the stronger the feeling. Mostly felt around center when turning left/right. (tyre_initial_resist 0.6) (lat_edge 1.0) ########################################################### # # Road features settings # (texture_scale 0.8) (micro_bumps_scale 2.1) (kerbs_surface_scale 8.0) (kerb_bump_scale 4.8) #How big the tall curb bumps are. (large_track_bump_scale 0.9) #how much bumps on the track are felt. (large_offroad_bump_scale 0.2) #how much bumps off the track are felt. (details_smoothing 0.1) #smoothing of texture and minor bumps. ########################################################### # # Effect scales - Change here to make an effect more or less pronounced. # (engine_scale_at_still 0.3) (engine_scale_at_speed 0.6) (scrub_scale 0.5) (scrub_frq_scale 0.4) (flatspots_scale 1.2) #how much you feel the flat spotting. At default 1.0 flatspots are nicely felt in a formula V10. (vibrations_scale 0.8) (suspension_scale 1.9) #how much the suspension is felt. ########################################################### # # Calc LFB slider value # (output 0.25) (lfbval (power (max 0 (min 1 (- (/ (lfb 0.25 0.15) 0.25) 1))) 0.7)) ########################################################### # # Helper vars & prep # (center_full (max 0.5 (+ center_full 0.2))) (longitudinal_scale (* longitudinal_scale center_full)) (over_steer_scale (/ over_steer_scale center_full)) (kmh (* (abs vel_mag) 3600 0.001)) (speed_bias5 (max 0.0 (min 1.0 (/ (- kmh 1) 5.0)))) (dist_time_mult (/ 80 (max 20 kmh))) (delta_sa_max (* dt 3.14)) (flatspot_smoothing (blend (min 1 (* kmh 0.005)) 0.06 0.01)) (flatspot_vol (blend (min 1 (* kmh 0.005)) 2.5 1)) (fl_fs_sm (* 10 (smooth FL_Flatspot flatspot_smoothing))) (fr_fs_sm (* 10 (smooth FR_Flatspot flatspot_smoothing))) (grip_fl (- 1.0 (abs FL_slide))) (grip_fr (- 1.0 (abs FR_slide))) (grip_fl (* grip_fl (- 1 (min 1 (abs fl_fs_sm))))) (grip_fr (* grip_fr (- 1 (min 1 (abs fr_fs_sm))))) (grip_rl (max (* (- 10.0 (max 0 (- (abs RL_scrub) 2))) 0.1) 0.0)) (grip_rr (max (* (- 10.0 (max 0 (- (abs RR_scrub) 2))) 0.1) 0.0)) (grip_fl (* grip_fl (if FL_bump_kerb 0.75 (if FL_bump_offroad 0.5 1)))) (grip_fr (* grip_fr (if FR_bump_kerb 0.75 (if FR_bump_offroad 0.5 1)))) (grip_rl (* grip_rl (if RL_bump_kerb 0.75 (if RL_bump_offroad 0.5 1)))) (grip_rr (* grip_rr (if RR_bump_kerb 0.75 (if RR_bump_offroad 0.5 1)))) (balance_start (* 0.2 dist_time_mult)) (ratio (/ steer_ratio 16)) (steering_angle_l (* steering_angle_FL 3.14159265)) (steering_angle_r (* steering_angle_FR 3.14159265)) (steering_angle (* (+ steering_angle_l steering_angle_r) 0.5)) (sa_delta (* (/ 1 (* dt 333)) (- steering_angle old_sa))) (old_sa steering_angle) (sa_delta (hard_clip sa_delta delta_sa_max)) (read_smoothed (* 0.5 (+ (smooth FL_load 0.01) (smooth FR_load 0.01)))) (read_smoothed2 (* 0.5 (+ (smooth FL_load 0.5) (smooth FR_load 0.5)))) (start_load_front start_load_front) (start_load_front (if start_load_front start_load_front 10000)) (stand_still (if (min 0 (- kmh 1.0)) 1 0)) (stand_still (if (max 0 (- read_smoothed2 20.0)) stand_still 0)) (stand_still (if (min 0.0 (- (abs (- read_smoothed read_smoothed2)) 20.0)) stand_still 0)) (stand_still (if (min 0 (- 1 dt)) 0 stand_still)) (stand_still (if (- start_load_front 10000) stand_still 1)) (stand_still (if (min 0 (- et 30)) stand_still 0)) (start_load_front (if stand_still read_smoothed start_load_front)) (load_norm_wheel 250.0) (FL_load_norm (/ FL_load start_load_front)) (FR_load_norm (/ FR_load start_load_front)) #limit high df (x (+ 0.1 (* 0.2 limit_high_df))) (y (- 1 (/ 1 (+ 1 x)))) (FL_load_norm_s (spring FL_load_norm 20000 1 1)) (FR_load_norm_s (spring FR_load_norm 20000 1 1)) (FL_load_norm_s (* (/ 1 y) (- 1 (/ 1 (+ 1 (* x (abs FL_load_norm_s))))) (if (min 0 FL_load_norm_s) -1 1))) (FR_load_norm_s (* (/ 1 y) (- 1 (/ 1 (+ 1 (* x (abs FR_load_norm_s))))) (if (min 0 FR_load_norm_s) -1 1))) (FL_load_norm (+ FL_load_norm_s (- FL_load_norm (spring FL_load_norm 20000 1 1)))) (FR_load_norm (+ FR_load_norm_s (- FR_load_norm (spring FR_load_norm 20000 1 1)))) (FL_load_norm (* FL_load_norm load_norm_wheel)) (FR_load_norm (* FR_load_norm load_norm_wheel)) (sm_spd (blend (min 1 (* (abs steering_angle) 20)) 0 1)) (sm_spd (blend (min 1 (/ (smooth (abs sa_delta) 0.01) (* (* dt 3.14) 0.3))) sm_spd 1)) (kmh_s (smooth kmh 0.05)) (kmh_hi (max kmh kmh_s)) (kmh_lo (min kmh kmh_s)) (sm_spd (blend (min 1 (* 20 (/ (- kmh_hi kmh_lo) (max kmh_lo 0.1)))) sm_spd 1)) (sm_spd (smooth sm_spd 0.01)) (m_FL_load (max 0 (spring FL_load_norm 20000 1 (blend sm_spd 100 1)))) (m_FR_load (max 0 (spring FR_load_norm 20000 1 (blend sm_spd 100 1)))) (rel_weight_FL (/ m_FL_load load_norm_wheel)) (rel_weight_FR (/ m_FR_load load_norm_wheel)) (load_df (+ (* 0.66 (min rel_weight_FL rel_weight_FR)) (* 0.33 (max rel_weight_FL rel_weight_FR)))) (load_power_fx (max 0.0 (min 1.0 (* 2.5 (- load_df 1))))) (load_power_fx (min load_power_fx (smooth load_power_fx 0.1))) (load_power (blend (power (* 2 (- (max 0.5 gain) 0.5)) 0.65) 1.0 0.25)) #load power of 1.0 at gain 50, power of 0.25 at gain 100. Only used on high down force. (load_power (blend load_power_fx 1.0 load_power)) (load_power_l (if (min 0.0 (- m_FL_load load_norm_wheel)) 1 load_power)) (load_power_r (if (min 0.0 (- m_FR_load load_norm_wheel)) 1 load_power)) (m_FL_load (min m_FL_load (* load_norm_wheel (power (/ m_FL_load load_norm_wheel) load_power_l)))) (m_FR_load (min m_FR_load (* load_norm_wheel (power (/ m_FR_load load_norm_wheel) load_power_r)))) (ex_front_load_l (max (- 1 load_power_fx) (/ (smooth FL_load_norm 0.01) (max 0.2 (smooth FL_load_norm 0.025))))) (ex_front_load_r (max (- 1 load_power_fx) (/ (smooth FR_load_norm 0.01) (max 0.2 (smooth FR_load_norm 0.025))))) (ex_front_load_l (max 0.0 (+ 1.0 (* (blend load_power_fx exaggerate_front_load_feel exaggerate_front_load_feel_hi_df) (- ex_front_load_l 1.0))))) (ex_front_load_r (max 0.0 (+ 1.0 (* (blend load_power_fx exaggerate_front_load_feel exaggerate_front_load_feel_hi_df) (- ex_front_load_r 1.0))))) (m_FL_load (* m_FL_load ex_front_load_l)) (m_FR_load (* m_FR_load ex_front_load_r)) (m_FL_load (* m_FL_load (+ 1 (* brake 0.15 brake_feel grip_fl)) (min 2 (max 1 (/ (smooth kmh 0.2) (max 1 (smooth kmh 0.01))))))) (m_FR_load (* m_FR_load (+ 1 (* brake 0.15 brake_feel grip_fr)) (min 2 (max 1 (/ (smooth kmh 0.2) (max 1 (smooth kmh 0.01))))))) (acc (/ kmh (max 1 (smooth kmh 0.005)))) (acc2_vel (- acc (smooth acc 0.05))) (acc2 (+ 1 (* acc2_scale 600 (max 0 acc2_vel)))) (m_FL_load (/ m_FL_load (min acc2 2))) (m_FR_load (/ m_FR_load (min acc2 2))) (dec2 (- 1 (* dec2_scale 600 (min 0 acc2_vel)))) (m_FL_load (* m_FL_load (min dec2 2))) (m_FR_load (* m_FR_load (min dec2 2))) (rel_weight_relaxed_FL (/ m_FL_load load_norm_wheel)) (rel_weight_relaxed_FR (/ m_FR_load load_norm_wheel)) (velocity_scale (* velocity_scale (blend (max 0 (* 2 (- gain 0.5))) 1 0))) (x (* 10 (/ (min kmh 250) 400))) (vel_mag_k_pull (+ (* 0.02 velocity_scale 0.5 x) (/ 1 (+ 1 (* 20 x))))) (vel_mag_k_pull (+ 1 (* (- vel_mag_k_pull 1) 0.6))) (vel_mag_k_pull (* vel_mag_k_pull 2)) (mom_FL2 (* rel_weight_relaxed_FL vel_mag_k_pull)) (mom_FR2 (* rel_weight_relaxed_FR vel_mag_k_pull)) (acc_dec (/ (- vel_mag (smooth vel_mag 0.05)) (max 2 vel_mag))) (acc_dec_scale (- 1 (+ (* acc_boost_feel (max 0 acc_dec)) (* dec_boost_feel (min 0 acc_dec))))) (mom_FL (* mom_FL2 acc_dec_scale)) (mom_FR (* mom_FR2 acc_dec_scale)) (grip_feel_rear (min 1 (/ (+ (* grip_rl rel_weight_FL) (* grip_rr rel_weight_FR)) (max 0.0001 (+ rel_weight_FL rel_weight_FR))))) (grip_feel_front (min 1 (/ (+ (* grip_fl rel_weight_FL) (* grip_fr rel_weight_FR)) (max 0.0001 (+ rel_weight_FL rel_weight_FR))))) (grip_l (max 0 (- grip_fl (* rear_grip_loss_feel (- 1 grip_rl))))) (grip_r (max 0 (- grip_fr (* rear_grip_loss_feel (- 1 grip_rr))))) ############ # # Momentum Rack - If you copy this over in full or partly, or base a solution on the same general methods after seeing it, please credit "Momentum Rack" however used("included"/"extended"/"modified"/"based on"), I would be pleased - Thanks. # # Handles each front wheel separately to calculate FFB when wheels are not in equal conditions. # # Calculations have not been shortened to make it easier to understand what is going on. # (sa_delta (+ sa_delta (* 2.5 tyre_initial_resist (- sa_delta (smooth sa_delta 0.005))))) (FL_sl_lat (+ (* (- FL_sl_lat RL_sl_lat) front_slide_scale) (* over_steer_scale RL_sl_lat))) (FR_sl_lat (+ (* (- FR_sl_lat RR_sl_lat) front_slide_scale) (* over_steer_scale RR_sl_lat))) (fl_sl_lat_relaxed (power FL_sl_lat (power (abs FL_sl_lat) (* -0.05 relax_lateral_center)))) (fr_sl_lat_relaxed (power FR_sl_lat (power (abs FR_sl_lat) (* -0.05 relax_lateral_center)))) (steering_angle_l2 (- steering_angle_l (* fl_sl_lat_relaxed 3.14))) (steering_angle_r2 (- steering_angle_r (* fr_sl_lat_relaxed 3.14))) (stretch_l_mul (+ 1 (* stretch_feel_scale (- FL_stretch (smooth FL_stretch stretch_feel_time))))) (stretch_r_mul (+ 1 (* stretch_feel_scale (- FR_stretch (smooth FR_stretch stretch_feel_time))))) (brake_centering (+ 1 (* 10 brake exaggerated_brake grip_feel_front (abs (min 0 acc_dec))))) (travel (* brake_centering (/ 1 300) (/ kmh 3.6))) (m (power (- 1 centering) travel)) (wanted_sa_l (* (- steering_angle_l2 sa_delta) m)) #getting the old angle, to calc where it would have gone by itself (wanted_sa_r (* (- steering_angle_r2 sa_delta) m)) (angle_d_l (- wanted_sa_l steering_angle_l2)) #diff from where it would have gone by itself to actual steering (angle_d_r (- wanted_sa_r steering_angle_r2)) (angle_d_l (* longitudinal_scale ratio (/ 0.6 centering) angle_d_l)) (angle_d_r (* longitudinal_scale ratio (/ 0.6 centering) angle_d_r)) (angle_d_l (- angle_d_l (* damping_slider sa_delta))) (angle_d_r (- angle_d_r (* damping_slider sa_delta))) (rack_momentum_l (* 14 (smooth angle_d_l 0.01) mom_FL stretch_l_mul)) (rack_momentum_r (* 14 (smooth angle_d_r 0.01) mom_FR stretch_r_mul)) # Add lateral force edge (rack_momentum_l (+ rack_momentum_l (* 0.005 lat_edge (- (smooth FL_lat 0.002) (smooth FL_lat 0.005))))) (rack_momentum_r (+ rack_momentum_r (* 0.005 lat_edge (- (smooth FR_lat 0.002) (smooth FR_lat 0.005))))) # Car balance - uses load on each wheel to calculate balance (slope_balance (/ (- (smooth FL_load_norm balance_start) (smooth FR_load_norm balance_start)) (* 2 load_norm_wheel))) (balance_s (* slope_balance 2 2 (power (* 0.1 (min 10.0 kmh)) 2) 0.4)) (balance_l (* balance_s stretch_l_mul)) (balance_r (* balance_s stretch_r_mul)) (balance_s (blend load_power_fx balance_scale balance_scale_hi_df)) (balance_l (* balance_l balance_s 0.5 grip_l)) (balance_r (* balance_r balance_s 0.5 grip_r)) (balance_r (* balance_r balance_s 0.5 grip_r)) (balance_l (power balance_l (power (abs balance_l) (* -0.05 relax_balance_center)))) (balance_r (power balance_r (power (abs balance_r) (* -0.05 relax_balance_center)))) (balance (+ balance_l balance_r)) # Blend rack (yaw_relaxed (power yawrt (power (abs yawrt) (* -0.05 relax_yaw_center)))) (yaw_relaxed (* yaw_relaxed -1 0.3 yaw_scale)) # Change of balance - when changing left-right-left you feel it around center, where the change of balance is happening most. (bal_rel (- balance (smooth balance 0.01))) (bal_rel (* 40 change_of_balance_feel grip_feel_front (smooth bal_rel 0.01))) # Combine # weirdness, adding comment to make the next line actually work.... (rack_momentum_l (+ rack_momentum_l balance_l)) (rack_momentum_r (+ rack_momentum_r balance_r)) # LFB before grip, damping & clip (rack_momentum_l (power rack_momentum_l (power (abs rack_momentum_l) (* -0.025)))) (rack_momentum_r (power rack_momentum_r (power (abs rack_momentum_r) (* -0.025)))) (rack_momentum_l (* rack_momentum_l 2)) (rack_momentum_r (* rack_momentum_r 2)) (output rack_momentum_l) (rack_momentum_l (lfb rack_momentum_l 0.15)) (output rack_momentum_r) (rack_momentum_r (lfb rack_momentum_r 0.15)) (rack_momentum_l (* rack_momentum_l 0.5)) (rack_momentum_r (* rack_momentum_r 0.5)) (rack_momentum (+ (* rack_momentum_l grip_l) (* rack_momentum_r grip_r))) (f (max (* 8 (power power_steering_lfb 1.4)) 0.0001)) (rack_momentum (* (- 1 (/ 1 (+ 1 (* f (abs rack_momentum))))) (if (min 0 rack_momentum) -1 1))) (rack_momentum (/ rack_momentum (- 1 (/ 1 (+ 1 f))))) (rack_effect (+ yaw_relaxed bal_rel)) (output rack_effect) (rack_effect (lfb rack_effect 0.175)) (rack_momentum (+ rack_momentum rack_effect)) # Rack spring (steer_spring_strength 1.0) (want_steer want_steer) (want_steer (* want_steer m)) (steer_delta (- want_steer steering_angle)) (steer_delta (if (max 0 (- (abs steer_delta) 0.5)) (* 0.5 (/ steer_delta (abs steer_delta))) steer_delta)) (want_steer (+ steering_angle steer_delta)) (steer_pull (hard_clip (* steer_spring_strength steer_delta 0.4) 0.5)) (want_steer (- want_steer (- steer_delta (hard_clip steer_delta (* 0.2 (max 0 (- (/ 1 (max kmh 2)) 0.05))))))) (steer_pull (- steer_pull (* 6 sa_delta))) (steer_pull (* 10 (/ 1.5 master_rack) steer_pull grip_feel_front (* (/ 1 8) (+ FL_stretch FR_stretch 6)))) (rack_momentum (blend (min 1 (/ kmh 10)) steer_pull rack_momentum)) # Smooth slightly (rack_momentum (smooth rack_momentum 0.005)) ########################################################### # # Static force reduction # (rack_momentum_long (smooth rack_momentum 0.2)) (rack_momentum_short (- rack_momentum rack_momentum_long)) (rack_momentum_long (* rack_momentum_long (blend (power (min 1 (abs rack_momentum_long)) 1.0) 1 (- 1 (blend load_power_fx static_force_reduction static_force_reduction_hi_df))))) (rack_momentum (+ rack_momentum_long rack_momentum_short)) ########################################################### # # Build road slope details & bumps # (curb_started curb_started) #-1 means left, 1 means right. 0 means no curb active. (curb_dist curb_dist) (curb_started (if curb_started curb_started (if FL_bump_kerb -1 (if FR_bump_kerb 1 0)))) (curb_dist (if (+ FL_bump_kerb FR_bump_kerb) 0 curb_dist)) (curb_started (if (min 0 (- curb_dist 10)) curb_started 0)) #within 10m we keep same curb side (curb_dist (+ curb_dist (* dt (/ kmh 3.6)))) (boost_on_curb 9) (FL_bump_kerb_active FL_bump_kerb_active) (FR_bump_kerb_active FR_bump_kerb_active) (FL_bump_kerb_active (if FL_bump_kerb 1 FL_bump_kerb_active)) (FR_bump_kerb_active (if FR_bump_kerb 1 FR_bump_kerb_active)) (FL_bump_kerb_active (max 0 (- FL_bump_kerb_active (* 4 dt)))) (FR_bump_kerb_active (max 0 (- FR_bump_kerb_active (* 4 dt)))) (FL_bal FL_bal) (FR_bal FR_bal) (FL_bal (* FL_bal (power 0.03 dt))) (FR_bal (* FR_bal (power 0.03 dt))) (FL_bal (max FL_bal FL_load)) (FR_bal (max FR_bal FR_load)) (FL_load3 (if FL_bump_kerb_active FL_bal FL_load)) (FR_load3 (if FR_bump_kerb_active FR_bal FR_load)) (dist_time_mult (max 0.5 (/ 80 (max 10 kmh)))) (fast (* 0.01 dist_time_mult)) (slow (* 0.02 dist_time_mult)) (tyre_l (- (smooth FL_load3 fast) (smooth FL_load3 slow))) (tyre_r (- (smooth FR_load3 fast) (smooth FR_load3 slow))) (tyre_l (/ tyre_l load_norm_wheel)) (tyre_r (/ tyre_r load_norm_wheel)) (tyre_l (max 0 (- tyre_l 0.05))) (tyre_r (max 0 (- tyre_r 0.05))) (tyre_l (* tyre_l (min 1 (/ (smooth FL_load3 fast) load_norm_wheel)))) (tyre_r (* tyre_r (min 1 (/ (smooth FR_load3 fast) load_norm_wheel)))) (tyre_l (* (* boost_on_curb FL_bump_kerb_active) 0.5 tyre_l)) (tyre_r (* (* boost_on_curb FR_bump_kerb_active) 0.5 tyre_r)) (tyre_l (* (if (min 0 tyre_l) -1 1) (- 1 (/ 1 (+ (abs (* 2 tyre_l)) 1))))) (tyre_r (* (if (min 0 tyre_r) -1 1) (- 1 (/ 1 (+ (abs (* 2 tyre_r)) 1))))) (tyre_l (* tyre_l (if (- curb_started 1) 1 -1))) #curb started right side means multiply left side with -1 (tyre_r (* tyre_r (if (+ curb_started 1) 1 -1))) #curb started left side means multiply right side with -1 (slope_large (spring (- tyre_r tyre_l) 50000 0.3)) (slope_large (* slope_large 0.4)) (slope_large (* linkage_sign (- 1 (/ 1 (+ 1 (abs slope_large)))) (if (min 0 slope_large) -1 1))) (slope_large (smooth slope_large 0.005)) ########################################################### # # Road features # (left_texture_o left_texture_o) (right_texture_o right_texture_o) (left_texture (* 0.002 (if (+ FL_bump_kerb FL_bump_offroad) 0 1) (- FL_load left_texture_o))) (right_texture (* 0.002 (if (+ FR_bump_kerb FR_bump_offroad) 0 1) (- FR_load right_texture_o))) (left_texture_o FL_load) (right_texture_o FR_load) (texture (+ left_texture right_texture)) (texture (smooth texture 0.005)) (texture (hard_clip texture 0.06)) (texture (if (min 0 (- (abs texture) 0.0001)) 0 (power texture (power (abs texture) 0.02)))) (left_details (* 0.002 (- FL_load (smooth FL_load 0.005)))) (right_details (* 0.002 (- FR_load (smooth FR_load 0.005)))) (left_details_pos left_details_pos) (right_details_pos right_details_pos) (left_details_pos (+ left_details_pos (* (- left_details left_details_pos) (power 0.001 dt)))) (right_details_pos (+ right_details_pos (* (- right_details right_details_pos) (power 0.001 dt)))) (left_details_pos (max left_details_pos left_details)) (right_details_pos (max right_details_pos right_details)) (left_details (spring left_details_pos 7500 40)) (right_details (spring right_details_pos 7500 40)) (left_details (* left_details (if FL_bump_offroad 0 1) (blend (smooth FL_bump_kerb 0.01) micro_bumps_scale kerbs_surface_scale))) (right_details (* right_details (if FR_bump_offroad 0 1) (blend (smooth FR_bump_kerb 0.01) micro_bumps_scale kerbs_surface_scale))) (road_details (blend (smooth (min 1 (+ FL_bump_kerb FR_bump_kerb)) 0.02) (+ left_details right_details) (- left_details right_details))) (road_details (- road_details (smooth road_details 0.008))) (road_details (* road_details 40)) (left_bump (* 0.002 (- FL_load (smooth FL_load 0.015)))) (right_bump (* 0.002 (- FR_load (smooth FR_load 0.015)))) (left_bump (* (power (- 1 (min 1 (abs left_bump))) 1) left_bump)) (right_bump (* (power (- 1 (min 1 (abs right_bump))) 1) right_bump)) (left_bump (* 2 left_bump (if FL_bump_kerb 0 (if FL_bump_offroad large_offroad_bump_scale large_track_bump_scale)))) (right_bump (* 2 right_bump (if FR_bump_kerb 0 (if FR_bump_offroad large_offroad_bump_scale large_track_bump_scale)))) (left_bump (spring left_bump 10000 0.015)) (right_bump (spring right_bump 10000 0.015)) (road_bumps (blend (smooth (min 1 (+ FL_bump_kerb FR_bump_kerb)) 0.02) (+ left_bump right_bump) (- left_bump right_bump))) (road_bumps_vibes (- road_bumps (smooth road_bumps 0.002))) (road_bumps (+ road_bumps (* road_bumps_vibes 25))) (road_bumps (* road_bumps 0.3 0.25)) (road_bumps (smooth road_bumps 0.005)) (left (- (smooth FL_load 0.02) (smooth FL_load 0.03))) (right (- (smooth FR_load 0.02) (smooth FR_load 0.03))) (suspension (+ (* left mom_FL2 (if FL_bump_offroad 0.25 1)) (* right mom_FR2 (if FR_bump_offroad 0.25 1)))) (suspension (spring suspension 2500 1.0)) (suspension (* suspension 0.002 3 suspension_scale)) (as (blend (min 1 (* (abs steering_angle) 10)) 1 0)) (as (power as 0.7)) (as (smooth as 0.1)) (suspension (* suspension as)) # LFB # road features lfb according to fx (lfb_apply (* 2 (max 0 (- fx 0.5)))) (slope_large (* slope_large kerb_bump_scale)) (slope_large2 (power slope_large (power (abs slope_large) (* -0.05)))) (output slope_large2) (slope_large2 (lfb slope_large2 0.15)) (slope_large (blend lfb_apply slope_large slope_large2)) (road_features (+ slope_large suspension road_bumps road_details (* texture texture_scale 0.5))) (road_features (blend speed_bias5 0.0 road_features)) (road_features (* (max 0.4 (min 0.75 gain)) road_features 1.1 master_road (* 2 (power fx 2)))) ########################################################### # # Scrub FX # (scrub_scale_front 0.3) (scrub_scale_rear 0.5) (FL_scrub (* (if FL_bump_offroad 0 1) (smooth (abs FL_scrub) 0.01))) (FR_scrub (* (if FR_bump_offroad 0 1) (smooth (abs FR_scrub) 0.01))) (RL_scrub (* (if RL_bump_offroad 0 1) (smooth (abs RL_scrub) 0.01))) (RR_scrub (* (if RR_bump_offroad 0 1) (smooth (abs RR_scrub) 0.01))) (F_scrub (max FL_scrub FR_scrub)) (R_scrub (max RL_scrub RR_scrub)) (F_scrub (max 0 (- F_scrub 0.15))) (R_scrub (max 0 (- R_scrub 0.15))) (front_spin_feel (max grip_feel_front (* 2 (min 1 (* kmh 0.02))))) (rear_spin_feel (max grip_feel_rear (* 2 (min 1 (* kmh 0.02))))) (F_scrubVol (* 0.5 (+ 1 front_spin_feel) (power (min 1 (/ F_scrub 6)) 2.0))) (R_scrubVol (* 0.5 (+ 1 rear_spin_feel) (power (min 1 (/ R_scrub 6)) 2.0))) (F_scrubS (* scrub_frq_scale (- 1.3 (* 0.6 (power (/ (min 6 (abs F_scrub)) 6) 2.0))))) (R_scrubS (* scrub_frq_scale (- 1.3 (* 0.6 (power (/ (min 6 (abs R_scrub)) 6) 2.0))))) (F_scrubP F_scrubP) (R_scrubP R_scrubP) (F_scrubP (+ F_scrubP (* dt F_scrubS 0.4 650))) (R_scrubP (+ R_scrubP (* dt R_scrubS 0.4 500))) (F_scrub (+ (* 0.4 (sin (* 1.0 F_scrubP))) (* 0.3 (sin (* 1.5 F_scrubP))) (* 0.4 (sin (* 7.0 F_scrubP))))) (R_scrub (+ (* 0.4 (sin (* 1.0 R_scrubP))) (* 0.3 (sin (* 1.5 R_scrubP))) (* 0.4 (sin (* 7.0 R_scrubP))))) (F_scrub (* F_scrub scrub_scale_front F_scrubVol)) (R_scrub (* R_scrub scrub_scale_rear R_scrubVol)) (scrub_effect (* scrub_scale 1.3 (+ F_scrub R_scrub))) (scrub_effect (smooth scrub_effect 0.005)) ########################################################### # # Join, blend & LFB # (rack_big rack_momentum) # Smart clip (rack_big (* gain rack_big master_rack)) (rack_big2 (smooth (abs rack_big) 0.04)) (pos_neg (if (min 0.0 rack_big) -1 1)) (rack_big (if (max 0 (- (abs rack_big) 0.5)) (+ (min 0.90 rack_big2) (- (abs rack_big) rack_big2)) (abs rack_big))) (rack_big (* rack_big pos_neg)) (max_rack_big max_rack_big) (rack_big2 (smooth (abs rack_big) 0.01)) (max_rack_big (if (max 0 (- rack_big2 max_rack_big)) rack_big2 max_rack_big)) (rack_big (if (max 0 (- max_rack_big 0.9)) (/ (* 0.9 rack_big) max_rack_big) rack_big)) (max_rack_big (* max_rack_big (power 0.1 dt))) ########################################################### # # Engine FX # (max_rps 8000.0) (cp (+ cp (min 6.28 (* dt crankshaft 0.7)))) (cp (if (min 0 cp) 0 cp)) (cp (if (max 0 (- cp 6.283)) (- cp 6.283) cp)) (cp (if (max 0 (- cp 6.283)) 0 cp)) (cp (max 0 (min cp 6.283))) (m (min (/ kmh 80.0) 1.0)) (engine_scale (blend m engine_scale_at_still engine_scale_at_speed)) (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 (smooth throttle 0.1)) (load_mult (max load_mult 0.5)) (n (if (max 0 (- cp 3.14159265)) -1 1)) (x (if (max 0 (- cp 3.14159265)) (- cp 3.14159265) cp)) (engine_vibe (/ (* 16 x (- 3.14159265 x)) (- (* 5 3.14159265 3.14159265) (* 4 x (- 3.14159265 x))))) (engine_vibe (* engine_vibe n)) (engine_effect (* engine_scale load_mult engine_vibe rps_scale)) ########################################################### # # Flatspots effect # (flatspots_effect (* flatspots_scale flatspot_vol (+ (* fl_fs_sm load_power_fx_l) (* fr_fs_sm load_power_fx_r)))) ########################################################### # # Effects blend & scale # (effects (+ engine_effect scrub_effect flatspots_effect)) (effects (* effects (* 2 (power fx 2)) (max 0.4 (min 0.75 gain)) master_effects)) ########################################################### # # Vibrations # (makespringworkagain (spring 1 10000 1)) (vibrations (spring (+ road_features effects) 20000 0.000000001)) (vibrations (* vibrations_scale (- vibrations (smooth vibrations 0.005)))) ########################################################### # # Final Rack & Effects Blending # (all (+ (smooth rack_big 0.01) road_features effects vibrations)) # Damping (damping (* (min 1 (/ kmh 250)) 1500 damping_slider)) (all (- all (* damping (- sa_delta (smooth sa_delta 0.005))))) (all (* all (if (min 0 (- dt 0.1)) 1 0))) (all (* all (min 1 (* (max 0 (- et 0.5)) 0.5)))) (output all) ########################################################### # # 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) ########################################################### # # Lock Stops # (custom_lock_stop 1.0) (stops (bumpstop wheel_dir 0.1 0.5 0.2 1.0)) (output (+ output (* stops custom_lock_stop))) ########################################################### # # Statistics output # (histogram output) (info2 output) (output (if output (if (+ tighten_range tighten_falloff) (tighten output tighten_range tighten_falloff) output) output)) (doom_check output) (output (hard_clip output 1.0))