Rewrite
This commit is contained in:
parent
907c2f98de
commit
2c8e6fd5fc
File diff suppressed because it is too large
Load Diff
|
@ -394,6 +394,11 @@ 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.8
|
||||
update_field tires replaceme GRIP_SCALE Rear 0.8
|
||||
|
||||
|
@ -409,133 +414,9 @@ update_field tires replaceme_top YAW_CONTROL[3] 0.1
|
|||
\
|
||||
"""
|
||||
|
||||
ratioMult = 1.0
|
||||
gearRatios = """update_field transmission 0x097c7b7d FINAL_GEAR 2.7
|
||||
update_field transmission 0x6b4ce945 FINAL_GEAR 3
|
||||
update_field transmission 0xe679f9cd FINAL_GEAR 3.9
|
||||
update_field transmission 350z FINAL_GEAR 3.54
|
||||
update_field transmission 911gt2 FINAL_GEAR 3.44
|
||||
update_field transmission 911turbo FINAL_GEAR 3.44
|
||||
update_field transmission 911turbo_top FINAL_GEAR 3.5
|
||||
update_field transmission 997s FINAL_GEAR 3.2
|
||||
update_field transmission 997s_top FINAL_GEAR 2.7
|
||||
update_field transmission a3 FINAL_GEAR 4.235
|
||||
update_field transmission a3_top FINAL_GEAR 3.4
|
||||
update_field transmission a4 FINAL_GEAR 3.866
|
||||
update_field transmission a4_top FINAL_GEAR 3.2
|
||||
update_field transmission bmwm3gtr FINAL_GEAR 3.85
|
||||
update_field transmission bmwm3gtre46 FINAL_GEAR 3.4
|
||||
update_field transmission m3gtre46careerstart FINAL_GEAR 3.62
|
||||
update_field transmission camaro FINAL_GEAR 3.07
|
||||
update_field transmission carreragt FINAL_GEAR 4.3
|
||||
update_field transmission carreragt_top FINAL_GEAR 3.71
|
||||
update_field transmission caymans FINAL_GEAR 3.55
|
||||
update_field transmission caymans_top FINAL_GEAR 2.9
|
||||
update_field transmission clio FINAL_GEAR 3.94
|
||||
update_field transmission clio_top FINAL_GEAR 3.2
|
||||
update_field transmission clk500 FINAL_GEAR 3.1
|
||||
update_field transmission clk500_top FINAL_GEAR 2.7
|
||||
update_field transmission cobaltss FINAL_GEAR 4.05
|
||||
update_field transmission cobaltss_top FINAL_GEAR 3.6
|
||||
update_field transmission cops FINAL_GEAR 3.25
|
||||
update_field transmission corvette FINAL_GEAR 3.42
|
||||
update_field transmission corvette_top FINAL_GEAR 2.9
|
||||
update_field transmission corvettec6r FINAL_GEAR 3.1
|
||||
update_field transmission cts FINAL_GEAR 3.3
|
||||
update_field transmission cts_top FINAL_GEAR 3.2
|
||||
update_field transmission db9 FINAL_GEAR 3.54
|
||||
update_field transmission db9_top FINAL_GEAR 3.3
|
||||
update_field transmission eclipsegt FINAL_GEAR 3.5
|
||||
update_field transmission eclipsegt_top FINAL_GEAR 2.8
|
||||
update_field transmission elise FINAL_GEAR 4
|
||||
update_field transmission elise_top FINAL_GEAR 3.2
|
||||
update_field transmission fordgt FINAL_GEAR 3.36
|
||||
update_field transmission fordgt_top FINAL_GEAR 3.5
|
||||
update_field transmission gallardo FINAL_GEAR 3.82
|
||||
update_field transmission gallardo_top FINAL_GEAR 3.5
|
||||
update_field transmission gti FINAL_GEAR 3.94
|
||||
update_field transmission gti_top FINAL_GEAR 3.1
|
||||
update_field transmission gto FINAL_GEAR 3.46
|
||||
update_field transmission gto_top FINAL_GEAR 3.3
|
||||
update_field transmission imperzawrx FINAL_GEAR 3.6
|
||||
update_field transmission imprezawrx_top FINAL_GEAR 3
|
||||
update_field transmission is300 FINAL_GEAR 3.7
|
||||
update_field transmission is300_top FINAL_GEAR 3
|
||||
update_field transmission lancerevo8 FINAL_GEAR 3.6
|
||||
update_field transmission lancerevo8_top FINAL_GEAR 3.4
|
||||
update_field transmission monaro FINAL_GEAR 3.46
|
||||
update_field transmission monaro_top FINAL_GEAR 3.46
|
||||
update_field transmission murcielago FINAL_GEAR 3
|
||||
update_field transmission murcielago_top FINAL_GEAR 3.05
|
||||
update_field transmission mustanggt FINAL_GEAR 3.6
|
||||
update_field transmission mustanggt_top FINAL_GEAR 3.3
|
||||
update_field transmission punto FINAL_GEAR 3.7
|
||||
update_field transmission punto_top FINAL_GEAR 2.5
|
||||
update_field transmission rx7 FINAL_GEAR 3.6
|
||||
update_field transmission rx7_top FINAL_GEAR 3.55
|
||||
update_field transmission rx8 FINAL_GEAR 4.44
|
||||
update_field transmission rx8_top FINAL_GEAR 3.5
|
||||
update_field transmission semi FINAL_GEAR 5
|
||||
update_field transmission sl500 FINAL_GEAR 2.82
|
||||
update_field transmission sl500_top FINAL_GEAR 2.82
|
||||
update_field transmission slr FINAL_GEAR 3.06
|
||||
update_field transmission slr_top FINAL_GEAR 3.5
|
||||
update_field transmission speedtest FINAL_GEAR 2.7
|
||||
update_field transmission supra FINAL_GEAR 3.5
|
||||
update_field transmission supra_top FINAL_GEAR 3
|
||||
update_field transmission traffic FINAL_GEAR 3.44
|
||||
update_field transmission tt FINAL_GEAR 4.2
|
||||
update_field transmission tt_top FINAL_GEAR 3.3
|
||||
update_field transmission viper FINAL_GEAR 3.07
|
||||
update_field transmission viper_top FINAL_GEAR 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"]
|
||||
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","rx8speedt","sl500","sl65","slr","supra","tt","viper"]
|
||||
carlistNoTop = ["911gt2","bmwm3gtr","bmwm3gtre46","camaro","corvettec6r","rx8speedt","sl65"]
|
||||
|
||||
baseRideHeight = 8.5 # 7
|
||||
correctedRideHeight = {
|
||||
"911gt2": 1.3,
|
||||
"911turbo": 1.3,
|
||||
"997s": 1.0,
|
||||
"a3": 1.2,
|
||||
"a4": 1.3,
|
||||
"bmwm3gtr": 1.3,
|
||||
"bmwm3gtre46": 1.1,
|
||||
"camaro": 0.9,
|
||||
"carreragt": 1.1,
|
||||
"caymans": 1.2,
|
||||
"clio": 1.1,
|
||||
"clk500": 1.1,
|
||||
"cobaltss": 1.35,
|
||||
"corvette": 1.4,
|
||||
"corvettec6r": 0.8,
|
||||
"cts": 0.9,
|
||||
"db9": 0.9,
|
||||
"eclipsegt": 1.3,
|
||||
"elise": 0.9,
|
||||
"fordgt": 0.8,
|
||||
"gallardo": 1.1,
|
||||
"gti": 1.3,
|
||||
"gto": 1.3,
|
||||
"imprezawrx": 1.1,
|
||||
"is300": 1.1,
|
||||
"lancerevo8": 1.1,
|
||||
"monaro": 1.15,
|
||||
"murcielago": 0.9,
|
||||
"mustanggt": 1.1,
|
||||
"punto": 0.9,
|
||||
"rx7": 1.2,
|
||||
"rx8": 1.0,
|
||||
"rx8speedt": 1.0,
|
||||
"sl500": 1.0,
|
||||
"sl65": 1.1,
|
||||
"slr": 1.1,
|
||||
"supra": 1.0,
|
||||
"tt": 1.3,
|
||||
"viper": 0.85
|
||||
}
|
||||
rideHeightMultTop = 0.8
|
||||
|
||||
topBias = {
|
||||
"911gt2": 0.8,
|
||||
"911turbo": 0.6,
|
||||
|
@ -578,9 +459,95 @@ topBias = {
|
|||
"viper": 0.4
|
||||
}
|
||||
|
||||
gripScale = {
|
||||
"elise": 0.7
|
||||
}
|
||||
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["rx8speedt"]["chassis"]["RIDE_HEIGHT Rear"] = 1.0
|
||||
nfsmsMods["rx8speedt"]["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"] = 0.7
|
||||
|
||||
parsedVlt = []
|
||||
for line in properties.split("\n"):
|
||||
|
@ -601,66 +568,60 @@ for line in properties.split("\n"):
|
|||
if len(args) > 0:
|
||||
parsedVlt.append(args)
|
||||
|
||||
#parsedVlt = {}
|
||||
#for line in properties.split("\n"):
|
||||
# line = line.strip(" \t\r")
|
||||
# output = parsedVlt
|
||||
# arg = ""
|
||||
# for c in line:
|
||||
# if c == "#": break
|
||||
# if c in [" ","\t"]:
|
||||
# if arg != "":
|
||||
# if not arg in output:
|
||||
# output[arg] = {}
|
||||
# output = output[ærg]
|
||||
# arg = ""
|
||||
# continue
|
||||
# arg = arg + c
|
||||
# if arg != "":
|
||||
# if not arg in output:
|
||||
# output[arg] = {}
|
||||
# output = output[arg]
|
||||
|
||||
for car in carlist:
|
||||
if not car in correctedRideHeight:
|
||||
print("car doesn't have height adjusted: " +car)
|
||||
|
||||
def findTopLine(parsedVlt,fline):
|
||||
flength = len(fline)
|
||||
fline = fline.copy()[:-1]
|
||||
iVehicle = fline.index("replaceme")
|
||||
|
||||
for line in reversed(parsedVlt):
|
||||
if not len(line) == flength: continue
|
||||
try:
|
||||
if line[iVehicle] != "replaceme_top":
|
||||
continue
|
||||
except:
|
||||
continue
|
||||
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 < flength - 1:
|
||||
if index == iVehicle:
|
||||
index = index + 1
|
||||
continue
|
||||
if line[index] != fline[index]:
|
||||
while index < length:
|
||||
if linef[index] != line[index]:
|
||||
success = False
|
||||
break
|
||||
index = index + 1
|
||||
|
||||
if success == False:
|
||||
continue
|
||||
|
||||
return line
|
||||
|
||||
index += 1
|
||||
if success == False: continue
|
||||
return lineo
|
||||
return False
|
||||
|
||||
file = open(nfsmsScript,"w")
|
||||
properties = properties.split("\n")
|
||||
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()
|
||||
length = len(line)
|
||||
|
||||
isCarLine = False
|
||||
isTopLine = False
|
||||
if "replaceme" in line:
|
||||
|
@ -669,58 +630,55 @@ for car in carlist:
|
|||
isCarLine = True
|
||||
isTopLine = True
|
||||
|
||||
if isCarLine and isTopLine and car in carlistNoTop:
|
||||
if isCarLine == False:
|
||||
nfsmsMisc.append(line)
|
||||
continue
|
||||
|
||||
if line[0] == "update_field":
|
||||
if not (line[1] in ["ecar","pvehicle"]) and isCarLine:
|
||||
val = float(line[-1])
|
||||
tval = val
|
||||
|
||||
if not isTopLine:
|
||||
tline = findTopLine(parsedVlt,line)
|
||||
if tline == None:
|
||||
print(" ".join(line))
|
||||
tval = float(tline[-1])
|
||||
|
||||
val = val + ((tval - val) * topBias[car])
|
||||
|
||||
if car in gripScale:
|
||||
if line[3] == "GRIP_SCALE":
|
||||
val = val * gripScale[car]
|
||||
tval = tval * gripScale[car]
|
||||
|
||||
line[-1] = str(val)
|
||||
if not car in nfsmsCars:
|
||||
nfsmsCars[car] = [[],[]]
|
||||
|
||||
index = 0
|
||||
while index < length:
|
||||
line[index] = line[index].replace("replaceme",car,1)
|
||||
index = index + 1
|
||||
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")
|
||||
|
||||
gearRatios = gearRatios.split("\n")
|
||||
for line in gearRatios:
|
||||
line = line.split(" ")
|
||||
line[-1] = str(float(line[-1]) * ratioMult)
|
||||
line = " ".join(line)
|
||||
file.write(line + "\n")
|
||||
|
||||
for car in carlist:
|
||||
file.write("update_field chassis " +car+ " RIDE_HEIGHT Front " +str(baseRideHeight)+ "\n")
|
||||
file.write("update_field chassis " +car+ " RIDE_HEIGHT Rear " +str(baseRideHeight)+ "\n")
|
||||
if car in carlistNoTop: continue
|
||||
file.write("update_field chassis " +car+ "_top RIDE_HEIGHT Front " +str(baseRideHeight)+ "\n")
|
||||
file.write("update_field chassis " +car+ "_top RIDE_HEIGHT Rear " +str(baseRideHeight)+ "\n")
|
||||
|
||||
for car in correctedRideHeight:
|
||||
rhTop = (baseRideHeight * correctedRideHeight[car]) * rideHeightMultTop
|
||||
rh = baseRideHeight * correctedRideHeight[car]
|
||||
rh = rh + ((rhTop - rh) * topBias[car])
|
||||
|
||||
file.write("update_field chassis " +car+ " RIDE_HEIGHT Front " +str(rh)+ "\n")
|
||||
file.write("update_field chassis " +car+ " RIDE_HEIGHT Rear " +str(rh)+ "\n")
|
||||
if car in carlistNoTop: continue
|
||||
file.write("update_field chassis " +car+ "_top RIDE_HEIGHT Front " +str(rhTop)+ "\n")
|
||||
file.write("update_field chassis " +car+ "_top RIDE_HEIGHT Rear " +str(rhTop)+ "\n")
|
||||
|
||||
for line in nfsmsMisc:
|
||||
file.write(" ".join(line) + "\n")
|
||||
file.close()
|
Loading…
Reference in New Issue