710 lines
29 KiB
Python
Executable File
710 lines
29 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
import sys
|
|
import os
|
|
|
|
oldexcepthook = sys.excepthook
|
|
def newexcepthook(type,value,traceback):
|
|
oldexcepthook(type,value,traceback)
|
|
input("Press ENTER to quit.")
|
|
sys.excepthook = newexcepthook
|
|
|
|
p = os.path.join
|
|
pUp = os.path.dirname
|
|
s = False
|
|
if getattr(sys, 'frozen', False) and hasattr(sys, '_MEIPASS'):
|
|
s = os.path.realpath(sys.executable)
|
|
else:
|
|
s = os.path.realpath(__file__)
|
|
sp = pUp(s)
|
|
os.chdir(sp)
|
|
|
|
nfsmsScript = s.replace(".py",".nfsms")
|
|
|
|
properties = """\
|
|
# This has a lot of old stuff in it, some has been updated and replaced over time lower down. I may sort it out somewhen.
|
|
|
|
### CARBON MUSCLE VALUES ###
|
|
update_field chassis replaceme AERO_CG 50
|
|
#update_field chassis replaceme AERO_COEFFICIENT 0.17
|
|
#update_field chassis replaceme DIVE_SPEED 1
|
|
update_field chassis replaceme DRAG_COEFFICIENT 0.3
|
|
update_field chassis replaceme FRONT_AXLE 1.65
|
|
update_field chassis replaceme FRONT_WEIGHT_BIAS 50
|
|
update_field chassis replaceme RENDER_MOTION 1
|
|
update_field chassis replaceme RIDE_HEIGHT Front 7
|
|
update_field chassis replaceme RIDE_HEIGHT Rear 7
|
|
update_field chassis replaceme ROLL_CENTER 11.5
|
|
#update_field chassis replaceme ROLL_SPEED 1
|
|
update_field chassis replaceme SHOCK_BLOWOUT 7
|
|
update_field chassis replaceme SHOCK_DIGRESSION Front 0.5
|
|
update_field chassis replaceme SHOCK_DIGRESSION Rear 0.5
|
|
update_field chassis replaceme SHOCK_EXT_STIFFNESS Front 45
|
|
update_field chassis replaceme SHOCK_EXT_STIFFNESS Rear 60
|
|
update_field chassis replaceme SHOCK_STIFFNESS Front 40
|
|
update_field chassis replaceme SHOCK_STIFFNESS Rear 50
|
|
update_field chassis replaceme SHOCK_VALVING Front 17
|
|
update_field chassis replaceme SHOCK_VALVING Rear 17.5
|
|
update_field chassis replaceme SPRING_PROGRESSION Front 5
|
|
update_field chassis replaceme SPRING_PROGRESSION Rear 6
|
|
update_field chassis replaceme SPRING_STIFFNESS Front 300
|
|
update_field chassis replaceme SPRING_STIFFNESS Rear 500
|
|
update_field chassis replaceme SWAYBAR_STIFFNESS Front 225
|
|
update_field chassis replaceme SWAYBAR_STIFFNESS Rear 350
|
|
#update_field chassis replaceme TRACK_WIDTH Front 1.564
|
|
#update_field chassis replaceme TRACK_WIDTH Rear 1.564
|
|
update_field chassis replaceme TRAVEL Front 10
|
|
update_field chassis replaceme TRAVEL Rear 10
|
|
#update_field chassis replaceme WHEEL_BASE 2.9718
|
|
update_field chassis replaceme_top AERO_CG 50
|
|
#update_field chassis replaceme_top AERO_COEFFICIENT 0.19
|
|
#update_field chassis replaceme_top DIVE_SPEED 1
|
|
update_field chassis replaceme_top DRAG_COEFFICIENT 0.48
|
|
update_field chassis replaceme_top FRONT_AXLE 1.65
|
|
update_field chassis replaceme_top FRONT_WEIGHT_BIAS 50
|
|
update_field chassis replaceme_top RENDER_MOTION 0.7
|
|
update_field chassis replaceme_top RIDE_HEIGHT Front 7
|
|
update_field chassis replaceme_top RIDE_HEIGHT Rear 7
|
|
update_field chassis replaceme_top ROLL_CENTER 10.75
|
|
#update_field chassis replaceme_top ROLL_SPEED 1
|
|
update_field chassis replaceme_top SHOCK_BLOWOUT 7
|
|
update_field chassis replaceme_top SHOCK_DIGRESSION Front 0.4
|
|
update_field chassis replaceme_top SHOCK_DIGRESSION Rear 0.4
|
|
update_field chassis replaceme_top SHOCK_EXT_STIFFNESS Front 63
|
|
update_field chassis replaceme_top SHOCK_EXT_STIFFNESS Rear 70
|
|
update_field chassis replaceme_top SHOCK_STIFFNESS Front 57
|
|
update_field chassis replaceme_top SHOCK_STIFFNESS Rear 60
|
|
update_field chassis replaceme_top SHOCK_VALVING Front 20
|
|
update_field chassis replaceme_top SHOCK_VALVING Rear 20
|
|
update_field chassis replaceme_top SPRING_PROGRESSION Front 7
|
|
update_field chassis replaceme_top SPRING_PROGRESSION Rear 8
|
|
update_field chassis replaceme_top SPRING_STIFFNESS Front 656
|
|
update_field chassis replaceme_top SPRING_STIFFNESS Rear 750
|
|
update_field chassis replaceme_top SWAYBAR_STIFFNESS Front 300
|
|
update_field chassis replaceme_top SWAYBAR_STIFFNESS Rear 375
|
|
#update_field chassis replaceme_top TRACK_WIDTH Front 1.564
|
|
#update_field chassis replaceme_top TRACK_WIDTH Rear 1.564
|
|
update_field chassis replaceme_top TRAVEL Front 7
|
|
update_field chassis replaceme_top TRAVEL Rear 7
|
|
#update_field chassis replaceme_top WHEEL_BASE 2.9718
|
|
|
|
update_field ecar replaceme BodyDive DegPerG 2
|
|
update_field ecar replaceme BodyDive DegPerSec 10
|
|
update_field ecar replaceme BodyDive MaxG 0.5
|
|
update_field ecar replaceme BodyRoll DegPerG 3
|
|
update_field ecar replaceme BodyRoll DegPerSec 9
|
|
update_field ecar replaceme BodyRoll MaxG 1
|
|
update_field ecar replaceme BodySquat DegPerG 3
|
|
update_field ecar replaceme BodySquat DegPerSec 10
|
|
update_field ecar replaceme BodySquat MaxG 0.5
|
|
|
|
### CARBON RX8 VALUES ###
|
|
update_field chassis replaceme AERO_CG 47.5
|
|
update_field chassis replaceme AERO_COEFFICIENT 0.195
|
|
update_field chassis replaceme DRAG_COEFFICIENT 0.35
|
|
update_field chassis replaceme FRONT_AXLE 1.38
|
|
update_field chassis replaceme FRONT_WEIGHT_BIAS 53
|
|
update_field chassis replaceme RENDER_MOTION 1
|
|
update_field chassis replaceme RIDE_HEIGHT Front 6.5
|
|
update_field chassis replaceme RIDE_HEIGHT Rear 6.5
|
|
update_field chassis replaceme ROLL_CENTER 9
|
|
update_field chassis replaceme SHOCK_BLOWOUT 6
|
|
update_field chassis replaceme SHOCK_DIGRESSION Front 0.4
|
|
update_field chassis replaceme SHOCK_DIGRESSION Rear 0.4
|
|
update_field chassis replaceme SHOCK_EXT_STIFFNESS Front 60
|
|
update_field chassis replaceme SHOCK_EXT_STIFFNESS Rear 60
|
|
update_field chassis replaceme SHOCK_STIFFNESS Front 50
|
|
update_field chassis replaceme SHOCK_STIFFNESS Rear 49
|
|
update_field chassis replaceme SHOCK_VALVING Front 24
|
|
update_field chassis replaceme SHOCK_VALVING Rear 24
|
|
update_field chassis replaceme SPRING_PROGRESSION Front 6.1
|
|
update_field chassis replaceme SPRING_PROGRESSION Rear 6.2
|
|
update_field chassis replaceme SPRING_STIFFNESS Front 432
|
|
update_field chassis replaceme SPRING_STIFFNESS Rear 375
|
|
update_field chassis replaceme SWAYBAR_STIFFNESS Front 225
|
|
update_field chassis replaceme SWAYBAR_STIFFNESS Rear 210
|
|
#update_field chassis replaceme TRACK_WIDTH Front 1.49606
|
|
#update_field chassis replaceme TRACK_WIDTH Rear 1.50622
|
|
update_field chassis replaceme TRAVEL Front 6.5
|
|
update_field chassis replaceme TRAVEL Rear 6.5
|
|
#update_field chassis replaceme WHEEL_BASE 2.69
|
|
update_field chassis replaceme_top AERO_CG 48.5
|
|
update_field chassis replaceme_top AERO_COEFFICIENT 0.23
|
|
update_field chassis replaceme_top DRAG_COEFFICIENT 0.44
|
|
update_field chassis replaceme_top FRONT_AXLE 1.38
|
|
update_field chassis replaceme_top FRONT_WEIGHT_BIAS 53.7
|
|
update_field chassis replaceme_top RENDER_MOTION 0.5
|
|
update_field chassis replaceme_top RIDE_HEIGHT Front 6.5
|
|
update_field chassis replaceme_top RIDE_HEIGHT Rear 6.5
|
|
update_field chassis replaceme_top ROLL_CENTER 8.75
|
|
update_field chassis replaceme_top SHOCK_BLOWOUT 6
|
|
update_field chassis replaceme_top SHOCK_DIGRESSION Front 0.45
|
|
update_field chassis replaceme_top SHOCK_DIGRESSION Rear 0.45
|
|
update_field chassis replaceme_top SHOCK_EXT_STIFFNESS Front 85
|
|
update_field chassis replaceme_top SHOCK_EXT_STIFFNESS Rear 90
|
|
update_field chassis replaceme_top SHOCK_STIFFNESS Front 70
|
|
update_field chassis replaceme_top SHOCK_STIFFNESS Rear 70
|
|
update_field chassis replaceme_top SHOCK_VALVING Front 24
|
|
update_field chassis replaceme_top SHOCK_VALVING Rear 24
|
|
update_field chassis replaceme_top SPRING_PROGRESSION Front 7
|
|
update_field chassis replaceme_top SPRING_PROGRESSION Rear 7
|
|
update_field chassis replaceme_top SPRING_STIFFNESS Front 550
|
|
update_field chassis replaceme_top SPRING_STIFFNESS Rear 500
|
|
update_field chassis replaceme_top SWAYBAR_STIFFNESS Front 275
|
|
update_field chassis replaceme_top SWAYBAR_STIFFNESS Rear 275
|
|
#update_field chassis replaceme_top TRACK_WIDTH Front 1.49606
|
|
#update_field chassis replaceme_top TRACK_WIDTH Rear 1.50622
|
|
update_field chassis replaceme_top TRAVEL Front 6
|
|
update_field chassis replaceme_top TRAVEL Rear 6
|
|
#update_field chassis replaceme_top WHEEL_BASE 2.69
|
|
update_field ecar replaceme BodyDive DegPerG 2
|
|
update_field ecar replaceme BodyDive DegPerSec 10
|
|
update_field ecar replaceme BodyDive MaxG 0.5
|
|
update_field ecar replaceme BodyRoll DegPerG 2.5
|
|
update_field ecar replaceme BodyRoll DegPerSec 9
|
|
update_field ecar replaceme BodyRoll MaxG 1
|
|
update_field ecar replaceme BodySquat DegPerG 4
|
|
update_field ecar replaceme BodySquat DegPerSec 10
|
|
update_field ecar replaceme BodySquat MaxG 0.5
|
|
update_field ecar replaceme SkidFX[0] 0.1
|
|
update_field ecar replaceme SkidFX[1] 1
|
|
update_field ecar replaceme SlipFX[0] 0.1
|
|
update_field ecar replaceme SlipFX[1] 1
|
|
#update_field ecar replaceme MaxTireSteer 60
|
|
#update_field ecar replaceme WheelWell 22.5
|
|
update_field pvehicle replaceme TENSOR_SCALE X 1.05
|
|
update_field pvehicle replaceme TENSOR_SCALE Y 3.6
|
|
update_field pvehicle replaceme TENSOR_SCALE Z 1.05
|
|
update_field rigidbodyspecs racers CG X 0
|
|
update_field rigidbodyspecs racers CG Y 0
|
|
update_field rigidbodyspecs racers CG Z 0
|
|
update_field rigidbodyspecs racers CG W 0
|
|
update_field rigidbodyspecs racers COLLISION_BOX_PAD X 0
|
|
update_field rigidbodyspecs racers COLLISION_BOX_PAD Y 0
|
|
update_field rigidbodyspecs racers COLLISION_BOX_PAD Z 0
|
|
update_field rigidbodyspecs racers COLLISION_BOX_PAD W 0
|
|
update_field rigidbodyspecs racers DRAG X 0
|
|
update_field rigidbodyspecs racers DRAG Y 0
|
|
update_field rigidbodyspecs racers DRAG Z 0
|
|
update_field rigidbodyspecs racers DRAG W 0
|
|
update_field rigidbodyspecs racers DRAG_ANGULAR X 0
|
|
update_field rigidbodyspecs racers DRAG_ANGULAR Y 0
|
|
update_field rigidbodyspecs racers DRAG_ANGULAR Z 0
|
|
update_field rigidbodyspecs racers DRAG_ANGULAR W 0
|
|
update_field rigidbodyspecs racers GRAVITY -9.8128
|
|
update_field rigidbodyspecs racers GROUND_ELASTICITY X 0
|
|
update_field rigidbodyspecs racers GROUND_ELASTICITY Y 0
|
|
update_field rigidbodyspecs racers GROUND_ELASTICITY Z 0
|
|
update_field rigidbodyspecs racers GROUND_ELASTICITY W 0
|
|
#update_field rigidbodyspecs racers GROUND_FRICTION[0] 0.55
|
|
#update_field rigidbodyspecs racers GROUND_FRICTION[1] 0.45
|
|
update_field rigidbodyspecs racers GROUND_MOMENT_SCALE X 1.5
|
|
update_field rigidbodyspecs racers GROUND_MOMENT_SCALE Y 3
|
|
update_field rigidbodyspecs racers GROUND_MOMENT_SCALE Z 1.5
|
|
update_field rigidbodyspecs racers GROUND_MOMENT_SCALE W 0
|
|
update_field rigidbodyspecs racers IMMOBILE_OBJECT_COLLISIONS False
|
|
update_field rigidbodyspecs racers INSTANCE_COLLISIONS_3D False
|
|
update_field rigidbodyspecs racers NATURAL_ANGULAR_DAMPING 0
|
|
update_field rigidbodyspecs racers NO_GROUND_COLLISIONS False
|
|
update_field rigidbodyspecs racers NO_OBJ_COLLISIONS False
|
|
update_field rigidbodyspecs racers NO_WORLD_COLLISIONS False
|
|
update_field rigidbodyspecs racers OBJ_ELASTICITY X 0
|
|
update_field rigidbodyspecs racers OBJ_ELASTICITY Y 0
|
|
update_field rigidbodyspecs racers OBJ_ELASTICITY Z 0.05
|
|
update_field rigidbodyspecs racers OBJ_ELASTICITY W 0
|
|
update_field rigidbodyspecs racers OBJ_FRICTION[0] 0.55
|
|
update_field rigidbodyspecs racers OBJ_FRICTION[1] 0.35
|
|
update_field rigidbodyspecs racers OBJ_MOMENT_SCALE X 4
|
|
update_field rigidbodyspecs racers OBJ_MOMENT_SCALE Y 15
|
|
update_field rigidbodyspecs racers OBJ_MOMENT_SCALE Z 3
|
|
update_field rigidbodyspecs racers OBJ_MOMENT_SCALE W 0
|
|
update_field rigidbodyspecs racers SLEEP_VELOCITY 1
|
|
update_field rigidbodyspecs racers WALL_ELASTICITY X 0
|
|
update_field rigidbodyspecs racers WALL_ELASTICITY Y 0
|
|
update_field rigidbodyspecs racers WALL_ELASTICITY Z 0
|
|
update_field rigidbodyspecs racers WALL_ELASTICITY W 0
|
|
update_field rigidbodyspecs racers WALL_FRICTION[0] 0.55
|
|
update_field rigidbodyspecs racers WALL_FRICTION[1] 0.3
|
|
update_field rigidbodyspecs racers WORLD_MOMENT_SCALE X 3
|
|
update_field rigidbodyspecs racers WORLD_MOMENT_SCALE Y 1.5
|
|
update_field rigidbodyspecs racers WORLD_MOMENT_SCALE Z 3
|
|
update_field rigidbodyspecs racers WORLD_MOMENT_SCALE W 0
|
|
|
|
update_field tires replaceme DYNAMIC_GRIP Front 1.6
|
|
update_field tires replaceme DYNAMIC_GRIP Rear 1.65
|
|
update_field tires replaceme GRIP_SCALE Front 1
|
|
update_field tires replaceme GRIP_SCALE Rear 1
|
|
update_field tires replaceme STATIC_GRIP Front 1.8
|
|
update_field tires replaceme STATIC_GRIP Rear 1.85
|
|
update_field tires replaceme STEERING 1.03
|
|
update_field tires replaceme YAW_CONTROL[0] 0
|
|
update_field tires replaceme YAW_CONTROL[1] 0.2
|
|
update_field tires replaceme YAW_CONTROL[2] 0.4
|
|
update_field tires replaceme YAW_CONTROL[3] 0.7
|
|
update_field tires replaceme YAW_SPEED 0.4
|
|
#update_field tires replaceme SECTION_WIDTH Front 245
|
|
#update_field tires replaceme SECTION_WIDTH Rear 245
|
|
#update_field tires replaceme ASPECT_RATIO Front 45
|
|
#update_field tires replaceme ASPECT_RATIO Rear 45
|
|
update_field tires replaceme_top DYNAMIC_GRIP Front 1.8
|
|
update_field tires replaceme_top DYNAMIC_GRIP Rear 1.8
|
|
update_field tires replaceme_top GRIP_SCALE Front 1.1
|
|
update_field tires replaceme_top GRIP_SCALE Rear 1.1
|
|
update_field tires replaceme_top STATIC_GRIP Front 2
|
|
update_field tires replaceme_top STATIC_GRIP Rear 2.05
|
|
update_field tires replaceme_top STEERING 1.03
|
|
update_field tires replaceme_top YAW_CONTROL[0] 0.1
|
|
update_field tires replaceme_top YAW_CONTROL[1] 0.65
|
|
update_field tires replaceme_top YAW_CONTROL[2] 0.8
|
|
update_field tires replaceme_top YAW_CONTROL[3] 1
|
|
update_field tires replaceme_top YAW_SPEED 0.4
|
|
#update_field tires replaceme_top ASPECT_RATIO Front 45
|
|
#update_field tires replaceme_top ASPECT_RATIO Rear 45
|
|
#update_field tires replaceme_top SECTION_WIDTH Front 245
|
|
#update_field tires replaceme_top SECTION_WIDTH Rear 245
|
|
|
|
update_field tires replaceme YAW_SPEED 0.25
|
|
update_field tires replaceme_top YAW_SPEED 0.25
|
|
|
|
update_field rigidbodyspecs racers WORLD_MOMENT_SCALE X 1
|
|
update_field rigidbodyspecs racers WORLD_MOMENT_SCALE Y 2
|
|
update_field rigidbodyspecs racers WORLD_MOMENT_SCALE Z 10
|
|
update_field rigidbodyspecs racers GROUND_MOMENT_SCALE X 1
|
|
update_field rigidbodyspecs racers GROUND_MOMENT_SCALE Y 2
|
|
update_field rigidbodyspecs racers GROUND_MOMENT_SCALE Z 10
|
|
update_field rigidbodyspecs racers GROUND_FRICTION[0] 0.0
|
|
update_field rigidbodyspecs racers GROUND_FRICTION[1] 0.0
|
|
update_field rigidbodyspecs racers DRAG_ANGULAR Z 100
|
|
|
|
### NO ARTIFICIAL BODY ROLL ###
|
|
update_field ecar replaceme BodyDive DegPerG 0
|
|
update_field ecar replaceme BodyDive DegPerSec 0
|
|
update_field ecar replaceme BodyDive MaxG 0.0
|
|
update_field ecar replaceme BodyRoll DegPerG 0.0
|
|
update_field ecar replaceme BodyRoll DegPerSec 0
|
|
update_field ecar replaceme BodyRoll MaxG 0
|
|
update_field ecar replaceme BodySquat DegPerG 0
|
|
update_field ecar replaceme BodySquat DegPerSec 0
|
|
update_field ecar replaceme BodySquat MaxG 0.0
|
|
|
|
### SOFT SWAYBARS ###
|
|
update_field chassis replaceme SWAYBAR_STIFFNESS Front 100
|
|
update_field chassis replaceme SWAYBAR_STIFFNESS Rear 100
|
|
update_field chassis replaceme_top SWAYBAR_STIFFNESS Front 100
|
|
update_field chassis replaceme_top SWAYBAR_STIFFNESS Rear 100
|
|
|
|
update_field chassis replaceme SPRING_PROGRESSION Front 0
|
|
update_field chassis replaceme SPRING_PROGRESSION Rear 0
|
|
update_field chassis replaceme_top SPRING_PROGRESSION Front 0
|
|
update_field chassis replaceme_top SPRING_PROGRESSION Rear 0
|
|
update_field chassis replaceme TRAVEL Front 20
|
|
update_field chassis replaceme TRAVEL Rear 20
|
|
update_field chassis replaceme_top TRAVEL Front 20
|
|
update_field chassis replaceme_top TRAVEL Rear 20
|
|
|
|
update_field chassis replaceme SHOCK_STIFFNESS Front 17
|
|
update_field chassis replaceme SHOCK_STIFFNESS Rear 17
|
|
update_field chassis replaceme SHOCK_EXT_STIFFNESS Front 50
|
|
update_field chassis replaceme SHOCK_EXT_STIFFNESS Rear 50
|
|
update_field chassis replaceme SHOCK_BLOWOUT 0
|
|
|
|
update_field chassis replaceme_top SHOCK_STIFFNESS Front 17
|
|
update_field chassis replaceme_top SHOCK_STIFFNESS Rear 17
|
|
update_field chassis replaceme_top SHOCK_EXT_STIFFNESS Front 50
|
|
update_field chassis replaceme_top SHOCK_EXT_STIFFNESS Rear 50
|
|
update_field chassis replaceme_top SHOCK_BLOWOUT 0
|
|
|
|
### LOWER AERO ###
|
|
#update_field chassis replaceme AERO_COEFFICIENT 0.13
|
|
#update_field chassis replaceme_top AERO_COEFFICIENT 0.15
|
|
|
|
### EVEN LOWER AERO ###
|
|
#update_field chassis replaceme AERO_COEFFICIENT 0.06
|
|
#update_field chassis replaceme_top AERO_COEFFICIENT 0.07
|
|
|
|
### A1 ###
|
|
update_field chassis replaceme SHOCK_STIFFNESS Front 5
|
|
update_field chassis replaceme SHOCK_STIFFNESS Rear 5
|
|
update_field chassis replaceme SHOCK_EXT_STIFFNESS Front 40
|
|
update_field chassis replaceme SHOCK_EXT_STIFFNESS Rear 40
|
|
update_field chassis replaceme SHOCK_BLOWOUT 0
|
|
|
|
update_field chassis replaceme_top SHOCK_STIFFNESS Front 5
|
|
update_field chassis replaceme_top SHOCK_STIFFNESS Rear 5
|
|
update_field chassis replaceme_top SHOCK_EXT_STIFFNESS Front 80
|
|
update_field chassis replaceme_top SHOCK_EXT_STIFFNESS Rear 80
|
|
update_field chassis replaceme_top SHOCK_BLOWOUT 0
|
|
|
|
### A3 ###
|
|
update_field chassis replaceme ROLL_CENTER 3
|
|
update_field chassis replaceme_top ROLL_CENTER 3
|
|
|
|
### A5 ###
|
|
update_field chassis replaceme SHOCK_STIFFNESS Front 0
|
|
update_field chassis replaceme SHOCK_STIFFNESS Rear 0
|
|
update_field chassis replaceme SHOCK_STIFFNESS Front 0
|
|
update_field chassis replaceme SHOCK_STIFFNESS Rear 0
|
|
#update_field chassis replaceme AERO_COEFFICIENT 0.06
|
|
#update_field chassis replaceme_top AERO_COEFFICIENT 0.07
|
|
|
|
### A6 ###
|
|
#update_field tires replaceme ASPECT_RATIO Front 100
|
|
#update_field tires replaceme ASPECT_RATIO Rear 100
|
|
#update_field tires replaceme_top ASPECT_RATIO Front 100
|
|
#update_field tires replaceme_top ASPECT_RATIO Rear 100
|
|
#update_field chassis replaceme ROLL_CENTER 6
|
|
#update_field chassis replaceme_top ROLL_CENTER 6
|
|
|
|
|
|
## A7 ###
|
|
#update_field tires replaceme ASPECT_RATIO Front 100
|
|
#update_field tires replaceme ASPECT_RATIO Rear 100
|
|
|
|
#update_field chassis replaceme SHOCK_STIFFNESS Front 15
|
|
#update_field chassis replaceme SHOCK_STIFFNESS Rear 15
|
|
#update_field chassis replaceme SHOCK_EXT_STIFFNESS Front 120
|
|
#update_field chassis replaceme SHOCK_EXT_STIFFNESS Rear 120
|
|
#update_field chassis replaceme SHOCK_BLOWOUT 0
|
|
|
|
#update_field chassis replaceme_top SHOCK_STIFFNESS Front 15
|
|
#update_field chassis replaceme_top SHOCK_STIFFNESS Rear 15
|
|
#update_field chassis replaceme_top SHOCK_EXT_STIFFNESS Front 120
|
|
#update_field chassis replaceme_top SHOCK_EXT_STIFFNESS Rear 120
|
|
#update_field chassis replaceme_top SHOCK_BLOWOUT 0
|
|
|
|
### A8 ###
|
|
|
|
update_field chassis replaceme SHOCK_DIGRESSION Front 0
|
|
update_field chassis replaceme SHOCK_DIGRESSION Rear 0
|
|
update_field chassis replaceme_top SHOCK_DIGRESSION Front 0
|
|
update_field chassis replaceme_top SHOCK_DIGRESSION Rear 0
|
|
|
|
update_field chassis replaceme ROLL_CENTER 5
|
|
update_field chassis replaceme_top ROLL_CENTER 5
|
|
|
|
update_field pvehicle replaceme TENSOR_SCALE X 1.4
|
|
update_field pvehicle replaceme TENSOR_SCALE Y 1.5
|
|
update_field pvehicle replaceme TENSOR_SCALE Z 1.0
|
|
|
|
### NO SWAYBARS ###
|
|
update_field chassis replaceme SWAYBAR_STIFFNESS Front -100
|
|
update_field chassis replaceme SWAYBAR_STIFFNESS Rear -100
|
|
update_field chassis replaceme_top SWAYBAR_STIFFNESS Front -100
|
|
update_field chassis replaceme_top SWAYBAR_STIFFNESS Rear -100
|
|
update_field chassis replaceme ROLL_CENTER 10
|
|
update_field chassis replaceme_top ROLL_CENTER 8
|
|
|
|
update_field chassis replaceme TRAVEL Front 12
|
|
update_field chassis replaceme TRAVEL Rear 12
|
|
update_field chassis replaceme_top TRAVEL Front 12
|
|
update_field chassis replaceme_top TRAVEL Rear 12
|
|
|
|
update_field chassis replaceme RIDE_HEIGHT Front 8.5
|
|
update_field chassis replaceme RIDE_HEIGHT Rear 8.5
|
|
update_field chassis replaceme_top RIDE_HEIGHT Front 7.65
|
|
update_field chassis replaceme_top RIDE_HEIGHT Rear 7.65
|
|
|
|
update_field tires replaceme GRIP_SCALE Front 0.7
|
|
update_field tires replaceme GRIP_SCALE Rear 0.7
|
|
update_field tires replaceme_top GRIP_SCALE Front 1.4
|
|
update_field tires replaceme_top GRIP_SCALE Rear 1.4
|
|
|
|
update_field tires replaceme YAW_CONTROL[0] 0.3
|
|
update_field tires replaceme YAW_CONTROL[1] 0.3
|
|
update_field tires replaceme YAW_CONTROL[2] 0.3
|
|
update_field tires replaceme YAW_CONTROL[3] 0.3
|
|
|
|
update_field tires replaceme_top YAW_CONTROL[0] 0.3
|
|
update_field tires replaceme_top YAW_CONTROL[1] 0.3
|
|
update_field tires replaceme_top YAW_CONTROL[2] 0.3
|
|
update_field tires replaceme_top YAW_CONTROL[3] 0.3
|
|
|
|
update_field tires replaceme DYNAMIC_GRIP Front 1.7
|
|
update_field tires replaceme DYNAMIC_GRIP Rear 1.75
|
|
update_field tires replaceme STATIC_GRIP Front 2.3
|
|
update_field tires replaceme STATIC_GRIP Rear 2.35
|
|
update_field tires replaceme_top DYNAMIC_GRIP Front 1.9
|
|
update_field tires replaceme_top DYNAMIC_GRIP Rear 1.9
|
|
update_field tires replaceme_top STATIC_GRIP Front 2.5
|
|
update_field tires replaceme_top STATIC_GRIP Rear 2.55
|
|
|
|
update_field rigidbodyspecs racers DRAG_ANGULAR Y 1000
|
|
add_field pvehicle racers BEHAVIOR_MECHANIC_RIGIDBODY
|
|
update_field pvehicle racers BEHAVIOR_MECHANIC_RIGIDBODY RBCop
|
|
|
|
update_field chassis replaceme SHOCK_STIFFNESS Front 5
|
|
update_field chassis replaceme SHOCK_STIFFNESS Rear 5
|
|
update_field chassis replaceme_top SHOCK_STIFFNESS Front 5
|
|
update_field chassis replaceme_top SHOCK_STIFFNESS Rear 5
|
|
|
|
#update_field tires replaceme STATIC_GRIP Rear 1.3
|
|
#update_field tires replaceme_top STATIC_GRIP Rear 1.3
|
|
\
|
|
"""
|
|
|
|
carlist = ["911gt2","911turbo","997s","a3","a4","bmwm3gtr","bmwm3gtre46","camaro","carreragt","caymans","clio","clk500","cobaltss","corvette","corvettec6r","cts","db9","eclipsegt","elise","fordgt","gallardo","gti","gto","imprezawrx","is300","lancerevo8","monaro","murcielago","mustanggt","punto","rx7","rx8","sl500","sl65","slr","supra","tt","viper"]
|
|
carlistNoTop = ["911gt2","bmwm3gtr","bmwm3gtre46","camaro","corvettec6r","rx8speedt","sl65"]
|
|
|
|
topBias = {
|
|
"911gt2": 0.8,
|
|
"911turbo": 0.6,
|
|
"997s": 0.6,
|
|
"a3": 0.2,
|
|
"a4": 0.2,
|
|
"bmwm3gtr": 1.0,
|
|
"bmwm3gtre46": 0.4,
|
|
"camaro": 0.0,
|
|
"carreragt": 0.9,
|
|
"caymans": 0.6,
|
|
"clio": 0.2,
|
|
"clk500": 0.2,
|
|
"cobaltss": 0.1,
|
|
"corvette": 0.4,
|
|
"corvettec6r": 1.0,
|
|
"cts": 0.1,
|
|
"db9": 0.7,
|
|
"eclipsegt": 0.4,
|
|
"elise": 0.6,
|
|
"fordgt": 0.6,
|
|
"gallardo": 0.6,
|
|
"gti": 0.2,
|
|
"gto": 0.1,
|
|
"imprezawrx": 0.4,
|
|
"is300": 0.0,
|
|
"lancerevo8": 0.5,
|
|
"monaro": 0.1,
|
|
"murcielago": 0.3,
|
|
"mustanggt": 0.1,
|
|
"punto": 0.2,
|
|
"rx7": 0.3,
|
|
"rx8": 0.2,
|
|
"sl500": 0.5,
|
|
"sl65": 0.4,
|
|
"slr": 0.6,
|
|
"supra": 0.3,
|
|
"tt": 0.3,
|
|
"viper": 0.4
|
|
}
|
|
|
|
nfsmsMods = {}
|
|
nfsmsModsTop = {}
|
|
for car in carlist:
|
|
nfsmsMods[car] = {}
|
|
nfsmsMods[car]["chassis"] = {}
|
|
nfsmsMods[car]["tires"] = {}
|
|
|
|
# Ride height scale
|
|
nfsmsMods["911gt2"]["chassis"]["RIDE_HEIGHT Rear"] = 1.3
|
|
nfsmsMods["911gt2"]["chassis"]["RIDE_HEIGHT Front"] = 1.3
|
|
nfsmsMods["911turbo"]["chassis"]["RIDE_HEIGHT Rear"] = 1.3
|
|
nfsmsMods["911turbo"]["chassis"]["RIDE_HEIGHT Front"] = 1.3
|
|
nfsmsMods["997s"]["chassis"]["RIDE_HEIGHT Rear"] = 1.0
|
|
nfsmsMods["997s"]["chassis"]["RIDE_HEIGHT Front"] = 1.0
|
|
nfsmsMods["a3"]["chassis"]["RIDE_HEIGHT Rear"] = 1.2
|
|
nfsmsMods["a3"]["chassis"]["RIDE_HEIGHT Front"] = 1.2
|
|
nfsmsMods["a4"]["chassis"]["RIDE_HEIGHT Rear"] = 1.3
|
|
nfsmsMods["a4"]["chassis"]["RIDE_HEIGHT Front"] = 1.3
|
|
nfsmsMods["bmwm3gtr"]["chassis"]["RIDE_HEIGHT Rear"] = 1.3
|
|
nfsmsMods["bmwm3gtr"]["chassis"]["RIDE_HEIGHT Front"] = 1.3
|
|
nfsmsMods["bmwm3gtre46"]["chassis"]["RIDE_HEIGHT Rear"] = 1.1
|
|
nfsmsMods["bmwm3gtre46"]["chassis"]["RIDE_HEIGHT Front"] = 1.1
|
|
nfsmsMods["camaro"]["chassis"]["RIDE_HEIGHT Rear"] = 0.9
|
|
nfsmsMods["camaro"]["chassis"]["RIDE_HEIGHT Front"] = 0.9
|
|
nfsmsMods["carreragt"]["chassis"]["RIDE_HEIGHT Rear"] = 1.1
|
|
nfsmsMods["carreragt"]["chassis"]["RIDE_HEIGHT Front"] = 1.1
|
|
nfsmsMods["caymans"]["chassis"]["RIDE_HEIGHT Rear"] = 1.2
|
|
nfsmsMods["caymans"]["chassis"]["RIDE_HEIGHT Front"] = 1.2
|
|
nfsmsMods["clio"]["chassis"]["RIDE_HEIGHT Rear"] = 1.1
|
|
nfsmsMods["clio"]["chassis"]["RIDE_HEIGHT Front"] = 1.1
|
|
nfsmsMods["clk500"]["chassis"]["RIDE_HEIGHT Rear"] = 1.1
|
|
nfsmsMods["clk500"]["chassis"]["RIDE_HEIGHT Front"] = 1.1
|
|
nfsmsMods["cobaltss"]["chassis"]["RIDE_HEIGHT Rear"] = 1.35
|
|
nfsmsMods["cobaltss"]["chassis"]["RIDE_HEIGHT Front"] = 1.35
|
|
nfsmsMods["corvette"]["chassis"]["RIDE_HEIGHT Rear"] = 1.4
|
|
nfsmsMods["corvette"]["chassis"]["RIDE_HEIGHT Front"] = 1.4
|
|
nfsmsMods["corvettec6r"]["chassis"]["RIDE_HEIGHT Rear"] = 0.8
|
|
nfsmsMods["corvettec6r"]["chassis"]["RIDE_HEIGHT Front"] = 0.8
|
|
nfsmsMods["cts"]["chassis"]["RIDE_HEIGHT Rear"] = 0.9
|
|
nfsmsMods["cts"]["chassis"]["RIDE_HEIGHT Front"] = 0.9
|
|
nfsmsMods["db9"]["chassis"]["RIDE_HEIGHT Rear"] = 0.9
|
|
nfsmsMods["db9"]["chassis"]["RIDE_HEIGHT Front"] = 0.9
|
|
nfsmsMods["eclipsegt"]["chassis"]["RIDE_HEIGHT Rear"] = 1.3
|
|
nfsmsMods["eclipsegt"]["chassis"]["RIDE_HEIGHT Front"] = 1.3
|
|
nfsmsMods["elise"]["chassis"]["RIDE_HEIGHT Rear"] = 0.9
|
|
nfsmsMods["elise"]["chassis"]["RIDE_HEIGHT Front"] = 0.9
|
|
nfsmsMods["fordgt"]["chassis"]["RIDE_HEIGHT Rear"] = 0.8
|
|
nfsmsMods["fordgt"]["chassis"]["RIDE_HEIGHT Front"] = 0.8
|
|
nfsmsMods["gallardo"]["chassis"]["RIDE_HEIGHT Rear"] = 1.1
|
|
nfsmsMods["gallardo"]["chassis"]["RIDE_HEIGHT Front"] = 1.1
|
|
nfsmsMods["gti"]["chassis"]["RIDE_HEIGHT Rear"] = 1.3
|
|
nfsmsMods["gti"]["chassis"]["RIDE_HEIGHT Front"] = 1.3
|
|
nfsmsMods["gto"]["chassis"]["RIDE_HEIGHT Rear"] = 1.3
|
|
nfsmsMods["gto"]["chassis"]["RIDE_HEIGHT Front"] = 1.3
|
|
nfsmsMods["imprezawrx"]["chassis"]["RIDE_HEIGHT Rear"] = 1.1
|
|
nfsmsMods["imprezawrx"]["chassis"]["RIDE_HEIGHT Front"] = 1.1
|
|
nfsmsMods["is300"]["chassis"]["RIDE_HEIGHT Rear"] = 1.1
|
|
nfsmsMods["is300"]["chassis"]["RIDE_HEIGHT Front"] = 1.1
|
|
nfsmsMods["lancerevo8"]["chassis"]["RIDE_HEIGHT Rear"] = 1.1
|
|
nfsmsMods["lancerevo8"]["chassis"]["RIDE_HEIGHT Front"] = 1.1
|
|
nfsmsMods["monaro"]["chassis"]["RIDE_HEIGHT Rear"] = 1.15
|
|
nfsmsMods["monaro"]["chassis"]["RIDE_HEIGHT Front"] = 1.15
|
|
nfsmsMods["murcielago"]["chassis"]["RIDE_HEIGHT Rear"] = 0.9
|
|
nfsmsMods["murcielago"]["chassis"]["RIDE_HEIGHT Front"] = 0.9
|
|
nfsmsMods["mustanggt"]["chassis"]["RIDE_HEIGHT Rear"] = 1.1
|
|
nfsmsMods["mustanggt"]["chassis"]["RIDE_HEIGHT Front"] = 1.1
|
|
nfsmsMods["punto"]["chassis"]["RIDE_HEIGHT Rear"] = 0.9
|
|
nfsmsMods["punto"]["chassis"]["RIDE_HEIGHT Front"] = 0.9
|
|
nfsmsMods["rx7"]["chassis"]["RIDE_HEIGHT Rear"] = 1.2
|
|
nfsmsMods["rx7"]["chassis"]["RIDE_HEIGHT Front"] = 1.2
|
|
nfsmsMods["rx8"]["chassis"]["RIDE_HEIGHT Rear"] = 1.0
|
|
nfsmsMods["rx8"]["chassis"]["RIDE_HEIGHT Front"] = 1.0
|
|
nfsmsMods["sl500"]["chassis"]["RIDE_HEIGHT Rear"] = 1.0
|
|
nfsmsMods["sl500"]["chassis"]["RIDE_HEIGHT Front"] = 1.0
|
|
nfsmsMods["sl65"]["chassis"]["RIDE_HEIGHT Rear"] = 1.1
|
|
nfsmsMods["sl65"]["chassis"]["RIDE_HEIGHT Front"] = 1.1
|
|
nfsmsMods["slr"]["chassis"]["RIDE_HEIGHT Rear"] = 1.1
|
|
nfsmsMods["slr"]["chassis"]["RIDE_HEIGHT Front"] = 1.1
|
|
nfsmsMods["supra"]["chassis"]["RIDE_HEIGHT Rear"] = 1.0
|
|
nfsmsMods["supra"]["chassis"]["RIDE_HEIGHT Front"] = 1.0
|
|
nfsmsMods["tt"]["chassis"]["RIDE_HEIGHT Rear"] = 1.3
|
|
nfsmsMods["tt"]["chassis"]["RIDE_HEIGHT Front"] = 1.3
|
|
nfsmsMods["viper"]["chassis"]["RIDE_HEIGHT Rear"] = 0.85
|
|
nfsmsMods["viper"]["chassis"]["RIDE_HEIGHT Front"] = 0.85
|
|
|
|
# Grip scale
|
|
nfsmsMods["elise"]["tires"]["GRIP_SCALE Front"] = 0.4
|
|
nfsmsMods["elise"]["tires"]["GRIP_SCALE Rear"] = 0.4
|
|
|
|
parsedVlt = []
|
|
for line in properties.split("\n"):
|
|
line = line.strip(" \t\r")
|
|
arg = ""
|
|
args = []
|
|
for c in line:
|
|
if c == "#": break
|
|
if c in [" ","\t"]:
|
|
if arg != "":
|
|
args.append(arg)
|
|
arg = ""
|
|
continue
|
|
arg = arg + c
|
|
if arg != "":
|
|
args.append(arg)
|
|
arg = ""
|
|
if len(args) > 0:
|
|
parsedVlt.append(args)
|
|
|
|
def findLine(linef,ls):
|
|
linef = linef.copy()
|
|
linef.pop(-1)
|
|
linef.pop(2)
|
|
linefLength = len(linef)
|
|
for line in reversed(ls):
|
|
length = len(line) - 2
|
|
if length != linefLength: continue
|
|
lineo = line
|
|
line = line.copy()
|
|
line.pop(-1)
|
|
line.pop(2)
|
|
index = 0
|
|
success = True
|
|
while index < length:
|
|
if linef[index] != line[index]:
|
|
success = False
|
|
break
|
|
index += 1
|
|
if success == False: continue
|
|
return lineo
|
|
return False
|
|
|
|
def lineToPropPair(line):
|
|
line = line.copy()
|
|
cat = line[1]
|
|
line.pop(0)
|
|
line.pop(0)
|
|
line.pop(0)
|
|
line.pop(-1)
|
|
line = " ".join(line)
|
|
return [cat,line]
|
|
|
|
def getNfsmsMod(car,line,isTop = False):
|
|
prop = lineToPropPair(line)
|
|
|
|
if isTop:
|
|
if car in nfsmsModsTop:
|
|
if prop[0] in nfsmsModsTop[car]:
|
|
if prop[1] in nfsmsModsTop[car][prop[0]]:
|
|
return nfsmsModsTop[car][prop[0]][prop[1]]
|
|
|
|
if car in nfsmsMods:
|
|
if prop[0] in nfsmsMods[car]:
|
|
if prop[1] in nfsmsMods[car][prop[0]]:
|
|
return nfsmsMods[car][prop[0]][prop[1]]
|
|
|
|
return False
|
|
|
|
nfsmsMisc = []
|
|
nfsmsCars = {}
|
|
for car in carlist:
|
|
for line in parsedVlt:
|
|
line = line.copy()
|
|
isCarLine = False
|
|
isTopLine = False
|
|
if "replaceme" in line:
|
|
isCarLine = True
|
|
if "replaceme_top" in line:
|
|
isCarLine = True
|
|
isTopLine = True
|
|
|
|
if isCarLine == False:
|
|
nfsmsMisc.append(line)
|
|
continue
|
|
|
|
if not car in nfsmsCars:
|
|
nfsmsCars[car] = [[],[]]
|
|
|
|
if not isTopLine:
|
|
nfsmsCars[car][0].append(line)
|
|
else:
|
|
nfsmsCars[car][1].append(line)
|
|
|
|
for car in nfsmsCars:
|
|
for line in nfsmsCars[car][0]:
|
|
if line[0] != "update_field": continue
|
|
mult = getNfsmsMod(car,line)
|
|
if mult == False: continue
|
|
line[-1] = str(float(line[-1]) * mult)
|
|
|
|
for line in nfsmsCars[car][1]:
|
|
if line[0] != "update_field": continue
|
|
mult = getNfsmsMod(car,line,True)
|
|
if mult == False: continue
|
|
line[-1] = str(float(line[-1]) * mult)
|
|
|
|
for car in nfsmsCars:
|
|
if not (car in topBias): continue
|
|
for line in nfsmsCars[car][0]:
|
|
if line[0] != "update_field": continue
|
|
if line[1] in ["ecar","pvehicle"]: continue
|
|
topLine = findLine(line,nfsmsCars[car][1])
|
|
if topLine == False:
|
|
print("Warning, no top line found: " +(" ".join(line)))
|
|
continue
|
|
topLine = topLine.copy()
|
|
topLine[-1] = float(topLine[-1])
|
|
line[-1] = float(line[-1])
|
|
line[-1] = str(line[-1] + ((topLine[-1] - line[-1])*topBias[car]))
|
|
|
|
file = open(nfsmsScript,"w")
|
|
for car in nfsmsCars:
|
|
for line in nfsmsCars[car][0]:
|
|
if line[2] == "replaceme": line[2] = car
|
|
file.write(" ".join(line) + "\n")
|
|
if car in carlistNoTop: continue
|
|
for line in nfsmsCars[car][1]:
|
|
if line[2] == "replaceme_top": line[2] = car + "_top"
|
|
file.write(" ".join(line) + "\n")
|
|
|
|
for line in nfsmsMisc:
|
|
file.write(" ".join(line) + "\n")
|
|
file.close() |