CellBloc:
Change level.dba as follows, you already have the media if you downloaded the last file;
prepareLevel1:
mdlSky$ = "sky.x"
txtHeight$ = "height.bmp"
txtColor$ = "color.bmp"
txtDetail$ = "detail.tga"
GLOBAL cam As Entity
cam.s = 1.0
cam.a.x = 0.0
cam.a.y = 0.0
cam.a.z = 0.0
cam.p.x = 400
cam.p.y = 40
cam.p.z = 600
gAmbient = 80
gAmbientColor = rgb(40, 40, 40)
gAmbientRange = 100
gSunNX# = 0.0
gSunNY# = -1.00
gSunNZ# = -1.00
gFogDistance# = 0.0
gFogColor# = rgb(10,10,10)
set ambient light gAmbient
set directional light 0, gSunNX#, gSunNY#, gSunNZ#
set light range 0, gAmbientRange
REM SKYBOX
SET DIR pthGfx$ + pthPrefix$ + pthLevels$ + pthPrefix$ + "Sky"
gSky = free_object()
load object mdlSky$, gSky
scale object gSky, gWorldSize#*2, gWorldSize#*2, gWorldSize#*2
set object light gSky, 0
set object fog gSky, 0
set object texture gSky, 3, 0
position object gSky, 0, 0, 0
SET DIR pthRoot$
`TO CHANGE TERRAIN TO ADVANCE TERRAIN,
`REM THE BELOW LINES
REM TERRAIN
SET DIR pthGfx$ + pthPrefix$ + pthLevels$
REMSTART
gter = free_object()
load object "Road.x", gter
set object ambience gter, 40
NewtonMakeFloor(gter, 1)
`UNTIL HERE
`AND REMOVE THE REMS BELOW
REMEND
col = free_image() : load image txtColor$, col
det = free_image() : load image txtDetail$, det
gter = free_object()
make object terrain gter
set terrain heightmap gter, txtHeight$
set terrain scale gter, 10, 1, 10
set terrain split gter, 8
set terrain tiling gter, 4
set terrain light gter, -1, 0.25, 0, 0.25, 0.25, 0.25, 0.3
set terrain texture gter, col, det
build terrain gter
NewtonMakeFloor(gter, 1)
`Col = NDB_NewtonCreateTreeCollision( gTer, 1 )
`Level = NDB_NewtonCreateBody( Col )
`UNTIL HERE
SET DIR pthRoot$
REM GAUGES
SET DIR pthGfx$ + pthPrefix$ + pthImages$
imgGauge$ = "Speed.png"
imgGauge = free_image()
load image imgGauge$, imgGauge, 1
SET DIR pthRoot$
#CONSTANT Ford = 1
#CONSTANT PathFinder = 2
#CONSTANT Bmw6 = 3
#CONSTANT Van = 4
SELECT selectedCar
CASE Ford
NewtonVehicle(selectedCar$,3.5,0.8,1.3,6.1,4.25,-2.0,2.7,0.98,0.5,0.2,1000.0)
accel# = 50
maxTorque# = 1600.0
minTorque# = -500.0
maxVel# = 160.0
dec# = 0.25
Tires = 2
sideSleepSpeed#=100.0
sideSleepCoef#=2.0
longSleepSpeed#=80.0
longSleepCoef#=2.0
ENDCASE
CASE PathFinder
NewtonVehicle(selectedCar$,3.5,0.8,1.3,4.7,3.6,0.0,2.4,0.98,0.5,0.2,1000.0)
accel# = 75
maxTorque# = 1600.0
minTorque# = -500.0
maxVel# = 160.0
dec# = 0.25
Tires = 4
sideSleepSpeed#=100.0
sideSleepCoef#=2.0
longSleepSpeed#=80.0
longSleepCoef#=2.0
ENDCASE
CASE Bmw6
NewtonVehicle(selectedCar$,3.5, 1.2,1.2,5.35,4.45,-0.2,2.7, 0.98,0.5,0.2,1000.0)
accel# = 150
maxTorque# = 2600.0
minTorque# = -500.0
maxVel# = 260.0
dec# = 0.25
Tires = 2
sideSleepSpeed#=100.0
sideSleepCoef#=2.0
longSleepSpeed#=80.0
longSleepCoef#=2.0
ENDCASE
CASE Van
NewtonVehicle(selectedCar$,3.5, 0.8,1.8,11.3,8.75,0.0,4.9, 0.98,0.5,0.2,1000.0)
accel# = 50
maxTorque# = 2000.0
minTorque# = -1500.0
maxVel# = 130.0
dec# = 0.25
Tires = 2
sideSleepSpeed#=100.0
sideSleepCoef#=2.0
longSleepSpeed#=80.0
longSleepCoef#=2.0
ENDCASE
ENDSELECT
RETURN
UpdateLevel1:
position object gSky, cam.p.x, cam.p.y, cam.p.z
UPDATE TERRAIN
RETURN
Baggers: its already so easy to implement new cars, all you have to do is making your own 3d car, making the collision bod file and put them in the appropriate folder.
if you examine the code, you have to change the menu only then.
about the track, building tracks is easy with 3dmax, all you have to do is loft a spline through another spline, and then paint it.