##################################
#
# Sample PSG File
#
# by Fred Anderson (fred@speedcircuit.com)
#
# thanks to: Papyrus
# TheUSPits
# Kevin Combs
#
# models and Graphics copyright Papyrus 2003
#
##################################
##################################
#
# Initial Variables
#
##################################
maEmpty: EMPTY_MESH
maxCars: MESH_GROUP "car.pas" RENAME_MAT (paintjob paintjob, window windshield)
#####################################################
#
# Custom wheels
#
#####################################################
#####################################################
# Left Front
#####################################################
###################
# Slow Speed Tire
###################
# I have to load the wheels from my scene.
# L1 is the high poly model
# L4 is the med poly model
# L7 is the low poly model
# you can use more than 3 Level of Detail (LOD),
# but for my mods 3 are enough
L1_left_tire: MESH maxCars wheel_lf
L4_left_tire: MESH maxCars wheel_lf
L7_left_tire: MESH maxCars wheel_lf
L1_LF_LOD1: GROUP(wheel_lf)
L4_LF_LOD4: GROUP(wheel_lf)
L7_LF_LOD7: GROUP(wheel_lf)
# LF Slow LOD
# I prefer STATIC_LOD to get better fps for people with low end PC.
LF_slow: STATIC_LOD ( 0 L1_LF_LOD1,
2 L1_LF_LOD1,
4.5 L1_LF_LOD1,
6.8 L4_LF_LOD4,
9.2 L4_LF_LOD4,
12.3 L4_LF_LOD4,
16.4 L7_LF_LOD7,
20.9 L7_LF_LOD7,
30.5 L7_LF_LOD7,
48.2 L7_LF_LOD7,
70 L7_LF_LOD7)
LF_slow_all: GROUP (LF_slow)
###################
# Medium Speed Tire
###################
L1_left_tire_M: COPY L1_left_tire
L4_left_tire_M: COPY L4_left_tire
L7_left_tire_M: COPY L7_left_tire
# here we swap the slow speed texture with medium speed texture
MODIFY TEXTURE BASE_TEXTURE L1_left_tire_M slowbrdg medbrdg
MODIFY TEXTURE BASE_TEXTURE L4_left_tire_M slowbrdg medbrdg
MODIFY TEXTURE BASE_TEXTURE L7_left_tire_M slowbrdg medbrdg
L1_LF_LOD1_M: GROUP(L1_left_tire_M)
L4_LF_LOD4_M: GROUP(L4_left_tire_M)
L7_LF_LOD7_M: GROUP(L7_left_tire_M)
#LOD
LF_med: STATIC_LOD ( 0 L1_LF_LOD1_M,
2 L1_LF_LOD1_M,
4.5 L1_LF_LOD1_M,
6.8 L4_LF_LOD4_M,
9.2 L4_LF_LOD4_M,
12.3 L4_LF_LOD4_M,
16.4 L7_LF_LOD7_M,
20.9 L7_LF_LOD7_M,
30.5 L7_LF_LOD7_M,
48.2 L7_LF_LOD7_M,
70 L7_LF_LOD7_M)
LF_med_all: GROUP (LF_med)
###################
# Fast Speed Tire
###################
L1_left_tire_F: COPY L1_left_tire
L4_left_tire_F: COPY L4_left_tire
L7_left_tire_F: COPY L7_left_tire
# here we swap the slow speed texture with fast speed texture
MODIFY TEXTURE BASE_TEXTURE L1_left_tire_F slowbrdg fastbrdg
MODIFY TEXTURE BASE_TEXTURE L4_left_tire_F slowbrdg fastbrdg
MODIFY TEXTURE BASE_TEXTURE L7_left_tire_F slowbrdg fastbrdg
L1_LF_LOD1_F: GROUP(L1_left_tire_F)
L4_LF_LOD4_F: GROUP(L4_left_tire_F)
L7_LF_LOD7_F: GROUP(L7_left_tire_F)
#LOD
LF_fast: STATIC_LOD ( 0 L1_LF_LOD1_F,
2 L1_LF_LOD1_F,
4.5 L1_LF_LOD1_F,
6.8 L4_LF_LOD4_F,
9.2 L4_LF_LOD4_F,
12.3 L4_LF_LOD4_F,
16.4 L7_LF_LOD7_F,
20.9 L7_LF_LOD7_F,
30.5 L7_LF_LOD7_F,
48.2 L7_LF_LOD7_F,
70 L7_LF_LOD7_F)
LF_fast_all: GROUP (LF_fast)
####################
#
# Speed State Switch
# The Speed State Switch swaps the tire models with the modified texture,
# at different speeds.
#
####################
wheelSpeedlf: STATE_SWITCH VAR wheel_speed_0 (0 LF_slow_all, 1 LF_med_all, 2 LF_fast_all, 3)
#####################################################
# Right Front
#####################################################
###################
# Slow Speed Tire
###################
L1_right_tire: MESH maxCars wheel_rf
L4_right_tire: MESH maxCars wheel_rf
L7_right_tire: MESH maxCars wheel_rf
L1_RF_LOD1: GROUP(wheel_rf)
L4_RF_LOD4: GROUP(wheel_rf)
L7_RF_LOD7: GROUP(wheel_rf)
# rf Slow LOD
RF_slow: STATIC_LOD ( 0 L1_RF_LOD1,
2 L1_RF_LOD1,
4.5 L1_RF_LOD1,
6.8 L4_RF_LOD4,
9.2 L4_RF_LOD4,
12.3 L4_RF_LOD4,
16.4 L7_RF_LOD7,
20.9 L7_RF_LOD7,
30.5 L7_RF_LOD7,
48.2 L7_RF_LOD7,
70 L7_RF_LOD7)
RF_slow_all: GROUP (RF_slow)
###################
# Medium Speed Tire
###################
L1_right_tire_M: COPY L1_right_tire
L4_right_tire_M: COPY L4_right_tire
L7_right_tire_M: COPY L7_right_tire
MODIFY TEXTURE BASE_TEXTURE L1_right_tire_M slowbrdg medbrdg
MODIFY TEXTURE BASE_TEXTURE L4_right_tire_M slowbrdg medbrdg
MODIFY TEXTURE BASE_TEXTURE L7_right_tire_M slowbrdg medbrdg
L1_RF_LOD1_M: GROUP(L1_right_tire_M)
L4_RF_LOD4_M: GROUP(L4_right_tire_M)
L7_RF_LOD7_M: GROUP(L7_right_tire_M)
# rf Slow LOD
RF_med: STATIC_LOD ( 0 L1_RF_LOD1_M,
2 L1_RF_LOD1_M,
4.5 L1_RF_LOD1_M,
6.8 L4_RF_LOD4_M,
9.2 L4_RF_LOD4_M,
12.3 L4_RF_LOD4_M,
16.4 L7_RF_LOD7_M,
20.9 L7_RF_LOD7_M,
30.5 L7_RF_LOD7_M,
48.2 L7_RF_LOD7_M,
70 L7_RF_LOD7_M)
RF_med_all: GROUP (RF_med)
###################
# Fast Speed Tire
###################
L1_right_tire_F: COPY L1_right_tire
L4_right_tire_F: COPY L4_right_tire
L7_right_tire_F: COPY L7_right_tire
MODIFY TEXTURE BASE_TEXTURE L1_right_tire_F slowbrdg fastbrdg
MODIFY TEXTURE BASE_TEXTURE L4_right_tire_F slowbrdg fastbrdg
MODIFY TEXTURE BASE_TEXTURE L7_right_tire_F slowbrdg fastbrdg
L1_RF_LOD1_F: GROUP(L1_right_tire_F)
L4_RF_LOD4_F: GROUP(L4_right_tire_F)
L7_RF_LOD7_F: GROUP(L7_right_tire_F)
# rf Slow LOD
RF_fast: STATIC_LOD ( 0 L1_RF_LOD1_F,
2 L1_RF_LOD1_F,
4.5 L1_RF_LOD1_F,
6.8 L4_RF_LOD4_F,
9.2 L4_RF_LOD4_F,
12.3 L4_RF_LOD4_F,
16.4 L7_RF_LOD7_F,
20.9 L7_RF_LOD7_F,
30.5 L7_RF_LOD7_F,
48.2 L7_RF_LOD7_F,
70 L7_RF_LOD7_F)
RF_fast_all: GROUP (RF_fast)
####################
# Speed State Switch
####################
wheelSpeedrf: STATE_SWITCH VAR wheel_speed_1 (0 RF_slow_all, 1 RF_med_all, 2 RF_fast_all, 3)
#####################################################
#
# Im a bit lazy, thats why i copy my LF Tire for the LR Tire.
# Left Rear (copy of Left Front)
#
#####################################################
####################
# Speed State Switch
####################
wheelSpeedlr: STATE_SWITCH VAR wheel_speed_2 (0 LF_slow_all, 1 LF_med_all, 2 LF_fast_all, 3)
#####################################################
#
# Same procedure like i used for the LR tire, but this time i copy the RF tire.
# Right Rear (copy of Right Front)
#
#####################################################
####################
# Speed State Switch
####################
wheelspeedrr: STATE_SWITCH VAR wheel_speed_3 (0 RF_slow_all, 1 RF_med_all, 2 RF_fast_all, 3)
#########################################
#
# here we set up our tire a give them the right position.
# I do it this way, cos you can have for each make different wheels positions.
# But for the SIMoCOT i just needed one.
#
###########################################
rfwheelObj: GROUP (wheelspeedlf)
lfwheelObj: GROUP (wheelspeedrf)
rrwheelObj: GROUP (wheelspeedlr)
lrwheelObj: GROUP (wheelspeedrr)
lf: TRANSFORM NAME lfwheel POS( 0.0, 0.0, 0.0) ROT(0, 0, 0) lfwheelObj
rf: TRANSFORM NAME rfwheel POS( 0.0, 0.0, 0.0) ROT(0, 0, 0) rfwheelObj
lr: TRANSFORM NAME lrwheel POS( 0.0, 0.0, 0.0) ROT(0, 0, 0) lrwheelObj
rr: TRANSFORM NAME rrwheel POS( 0.0, 0.0, 0.0) ROT(0, 0, 0) rrwheelObj
lfgrp0: GROUP (lf)
rfgrp0: GROUP (rf)
lrgrp0: GROUP (lr)
rrgrp0: GROUP (rr)
lfmake0: TRANSFORM POS(1,844, 0,918, 0.0) ROT(0, 0, 0) lfgrp0
rfmake0: TRANSFORM POS(1,844, 0,918, 0.0) ROT(0, 0, 0) rfgrp0
lrmake0: TRANSFORM POS(-1,12, 0,918, 0.0) ROT(0, 0, 0) lrgrp0
rrmake0: TRANSFORM POS(-1,12, -0,918, 0.0) ROT(0, 0, 0) rrgrp0
###################################
Exterior View
##################################
staticDriver: MESH maxCars driver
staticWheel: MESH maxCars wheel_st
body0: MESH maxCars body_0
chassis0: MESH maxCars glas_0
glass0: MESH maxCars chas_0
body1: MESH maxCars body_1
chassis1: MESH maxCars glas_1
glass1: MESH maxCars chas_1
body2: MESH maxCars body_2
chassis2: MESH maxCars glas_2
glass2: MESH maxCars chas_2
body3: MESH maxCars body_3
chassis3: MESH maxCars glas_3
glass3: MESH maxCars chas_3
Exterior0: GROUP (staticDriver, staticWheel, lfmake0, rfmake0, lrmake0, rrmake0, body0, chassis0, glass0)
Exterior1: GROUP (staticDriver, staticWheel, lfmake0, rfmake0, lrmake0, rrmake0, body1, chassis1, glass1)
Exterior2: GROUP (staticDriver, staticWheel, lfmake0, rfmake0, lrmake0, rrmake0, body2, chassis2, glass2)
Exterior3: GROUP (staticDriver, staticWheel, lfmake0, rfmake0, lrmake0, rrmake0, body3, chassis3, glass3)
extView: STATE_SWITCH Var carMakeIdx (0 Exterior0,1 Exterior1,2 Exterior2,3 Exterior3, 4)
##################################
#
# Interior View
#
##################################
maInt: MESH_GROUP "interior.pas" RENAME_MAT (paintjob paintjob)
# Windshield enable
window: MESH maInt glass
windshield: STATE_SWITCH VAR windshieldEnable (0.0 window, 0.9)
# Descklid
deck: MESH maInt decklid
# Shifter
mashift: MESH maInt shift
tranShifter: TRANSFORM NAME shifter POS(0.114,-0.006,-0.146) ROT(0,0,0) mashift
# mirror
mir: MESH maInt mirror
maPort: MESH maInt revPortal
mirPort: PORTAL rearView maPort
mirGroup: GROUP (mirPort,mir)
rearViewMirror: STATE_SWITCH VAR mirrorFrameEnable (0 mirGroup, 1)
# steering wheel
sWheel: MESH maInt WHEEL
tranWheel: TRANSFORM NAME steer POS(-0.320,0.391,0.323) ROT(0,0.2,0.2) sWheel
ssWheel: STATE_SWITCH VAR steeringWheelEnable (0 tranWheel, 0.9)
# DashPanel
dashPanel: MESH maInt panel
# Tub
fullTub: MESH maInt tub
# Catch
catch: MESH maInt windowcatch
# bars
bars: MESH maInt cage
# Foam
intFoam: MESH maInt foam
# DashIgn
dashIgn: MESH maInt dash
# Netting
# Netting2
# Head
tranHead: TRANSFORM NAME head POS(-0.75,0.4,0.467) ROT(0,0,0) maEmpty
# Tach
dayCol: Mesh maInt TACHDAYCOL
dayFac: Mesh maInt TACHDAYFACE
daySwi: Mesh maInt TACHDAYSWI
nightCol: Mesh maInt TACHNIGHTCOL
nightFac: Mesh maInt TACHNIGHTFACE
nightSwi: Mesh maInt TACHNIGHTSWI
TACHDAY: GROUP (dayCol,dayFac,daySwi)
TACHNIGHT: GROUP (nightCol,nightFac,nightSwi)
tDaySelf: SELFLIGHTING AMBIENT(0.5,0.5,0.5) TACHDAY
tNightSelf: SELFLIGHTING AMBIENT(0.85,0.85,0.85) TACHNIGHT
ssTach: STATE_SWITCH VAR day_night (0 tDaySelf, 1 tNightSelf, 2)
# pTach
maPTACH: MESH maInt ptach
pTachSelf: SELFLIGHTING AMBIENT(0.7,0.7,0.7) maPTACH
ssPTach: STATE_SWITCH VAR day_night (0 maPTACH, 1 pTachSelf, 2)
tranPTACH: TRANSFORM NAME ptach POS(-0.083,0.503,0.329) ROT(0,0.349,0) ssPTach
# poilp
maPTELL: MESH maInt PTELL
tranPOILP: TRANSFORM NAME poilp POS(0.075,0.411,0.388) ROT(0,0.385,0) maPTELL
# poilt
tranPOILT: TRANSFORM NAME poilt POS(0.075,0.337,0.388) ROT(0,0.385,0) maPTELL
# pfuel
tranPFUEL: TRANSFORM NAME pfuel POS(0.075,0.488,0.388) ROT(0,0.385,0) maPTELL
# pwater
tranPWATER: TRANSFORM NAME pwater POS(0.075,0.262,0.389) ROT(0,0.385,0) maPTELL
# pvoltage
tranPVOLTAGE: TRANSFORM NAME pvoltage POS(0.075,-0.021,0.389) ROT(0,0.385,0) maPTELL
# tachlight
tLightOff: MESH maInt TACHLIGHTOFF
tLightOn: MESH maInt TACHLIGHTON
TACHLIGHTON: SELFLIGHTING AMBIENT(1.0,1.0,1.0) tLightOn
ssTachLight: STATE_SWITCH VAR tachLightEnable (0 tLightOff,1 TACHLIGHTON,2)
# oilPressureLight
dum1off: MESH maInt DUMMY1OFF
dum1on: MESH maInt DUMMY1ON
slDummy1: SELFLIGHTING AMBIENT(1.0,1.0,1.0) dum1on
ssDummyOne: STATE_SWITCH VAR oilPressureLightEnable (0 dum1off,1 slDummy1,2)
tranDum1: TRANSFORM POS(0.091,0.375,0.423) ROT(0,0.366,0) ssDummyOne
# WaterTempLight
dum2off: MESH maInt DUMMY2OFF
dum2on: MESH maInt DUMMY2ON
slDummy2: SELFLIGHTING AMBIENT(1.0,1.0,1.0) dum2on
ssDummyTwo: STATE_SWITCH VAR waterTempLightEnable (0 dum2off,1 slDummy2,2)
tranDum2: TRANSFORM POS(0.091,0.397,0.423) ROT(0,0.366,0) ssDummyTwo
# FuelPressureLight
ssDummyFuel: STATE_SWITCH VAR fuelPressureLightEnable (0 dum1off,1 slDummy1,2)
tranDumFuel: TRANSFORM POS(0.091,0.452,0.423) ROT(0,0.366,0) ssDummyFuel
maInterior: GROUP (windshield,deck,tranShifter,rearViewMirror,ssWheel,dashPanel,fullTub,catch,bars,intFoam,dashIgn,tranHead,ssTach,tranPTACH,tranPOILP,tranPOILT,tranPFUEL,tranPWATER,tranPVOLTAGE,ssTachLight,tranDum1,tranDum2,tranDumFuel)
##################################
#
# Rear-View
#
##################################
maRear: MESH_GROUP "rearview.pas" RENAME_MAT (paintjob paintjob, window windshield)
rv_deck: MESH maRear deck_0
rv_glass: MESH maRear wind_0
rv_cage: MESH maRear gren_0
maRearview: GROUP (rv_deck,rv_glass,rv_cage)
##################################
#
# Cockpit View StateSwitch
#
##################################
cView: STATE_SWITCH VAR cockpitView (0 extView, 1 maInterior, 2 maRearview, 9.9)
OUTPUT cView "make_a.3do"