I'm going to post it whether I finish it or not. There might be something in it of use to others.
I also need to get a bit of feedback on the speed. I'd forgotten I was using a quad core 2.6G machine at home - until I took it into work to try it on my machine there. Ssssllllllooooowwwwww!...
If everyone finds it sluggish I'll have to do a bit of work on it.
Might get a half finished version uploaded tonight with any luck.
[Edit] Here's a very rough, un-optimized version of what I have so far. Please note that it is ONLY a demo of the vehicle selection screen and nothing else works.
Please let me know if there are any glitches for you, or it's so slow it's unusable. I think I can safely assume that it probably requires a 'half-decent' machine at least...
Gosub Setup
Gosub Make_Vehicles
Gosub Splash_Screen
Gosub Main_Menu
Rem Main Program Loop
Do
Rem Gosub Generate Random Track
If Test = True
Rem Gosub Generate_Track
Rem Gosub Test
Rem Gosub Main_Menu
Else
Rem Gosub Generate_Track
Rem Gosub Race
Rem Gosub HighScores
Rem Gosub Main_Menu
Endif
Sync
Loop
end
Rem ******************************************************************************************
Rem *** PROCEDURES ***
Rem ******************************************************************************************
Select_Car:
Set Text Size 16
CLS 0: Sync
Set Camera View 0,0,800,600
Show Sprite 1: Show Sprite 2: Show Sprite 3: Show Sprite 4
If Object Exist(20000+N) = 0 Then Gosub Place_Vehicles
Position Camera 0,3,-29
Point Camera VSpotX#(0),0.0,VSpotZ#(0)
FadeType = 1: Gosub Fader
ChoseCar = False
Repeat
Mx=MouseX(): My=MouseY(): Mc=MouseClick()
For N = 0 To 7
YRotate Object 20000+N,WrapValue(Object Angle Y(20000)+.4): Rem Platform
YRotate Object N * 100 + 5000,WrapValue(Object Angle Y(CurrentVehicle * 100 + 5000)+.4)
YRotate Object N * 100 + 5050,WrapValue(Object Angle Y(CurrentVehicle * 100 + 5050)+.4)
Next N
If LeftKey()=1 Or (My>549 And Mx>0 And Mx<51 And Mc=1): Rem Previous Car
RotRight = False
Gosub Rotate_Stock
Dec CurrentVehicle
If CurrentVehicle < 0 Then CurrentVehicle = MaxVehicle
Repeat
Until LeftKey()=0 And MouseClick()=0
Endif
If RightKey()=1 Or (My>549 And Mx>749 And Mx<800 And Mc=1): Rem Next Car
RotRight = True
Gosub Rotate_Stock
Inc CurrentVehicle
If CurrentVehicle > MaxVehicle Then CurrentVehicle = 0
Repeat
Until RightKey()=0 And MouseClick()=0
Endif
If ReturnKey()=1 Or (My>549 And Mx>285 And Mx<515 And Mc=1): Rem I Want This One!
ChoseCar = True
Repeat
Until ReturnKey()=0 And MouseClick()=0
Endif
Sync
Gosub Screen_Messages
Until ChoseCar = True
Hide Sprite 1: Hide Sprite 2: Hide Sprite 3: Hide Sprite 4
Set Camera View 0,0,1,1
CLS: Sync
Return
Hide_All_Cars:
For N = 5050 To 5999
If Object Exist(N) Then Hide Object N
Next N
Return
Splash_Screen:
rem Gosub Hide_All_Cars
Set Text Size 42: Sync
Set Gamma 0,0,0: Wait_Time(3)
Ink RGB(255,150,0),0: Center Text 400,200,"<< ICTOAT RACING >>"
Ink RGB(255,255,0),0: Center Text 398,198,"<< ICTOAT RACING >>"
Rem 1=Fade In 0=Fade Out
FadeType = 1: Gosub Fader: Wait_Time(3)
FadeType = 0: Gosub Fader: CLS
Set Text Size 32: Sync
Ink RGB(0,0,255),0: Center Text 402,202,"DBC Programming Challenge Entry"
Ink RGB(255,255,255),0: Center Text 400,200,"DBC Programming Challenge Entry"
Ink RGB(0,0,255),0: Center Text 402,252,"July/August 2009"
Ink RGB(255,255,255),0: Center Text 400,250,"July/August 2009"
FadeType = 1: Gosub Fader: Wait_Time(2)
FadeType = 0: Gosub Fader: CLS
Ink RGB(255,0,255),0: Center Text 402,202,"Written By TDK_Man"
Ink RGB(255,255,255),0: Center Text 400,200,"Written By TDK_Man"
FadeType = 1: Gosub Fader: Wait_Time(2)
FadeType = 0: Gosub Fader
CLS 0: Sync: Sync
Return
Fader:
Select FadeType
Case 0
Rem Fade Out
Done=0: T=Timer()
EndTime#=T+(2000)
Step#=EndTime#-T
Repeat
CurT#=Timer()-T
Ratio#=CurT#/Step#
RGBVal=255-(255*Ratio#)
If RGBVal<0 then RGBVal=0 : Done=1
Set Gamma RGBVal,RGBVal,RGBVal
Sync
Until Done=1
EndCase
Case 1
Rem Fade In
Done=0: T=Timer()
EndTime#=T+(2000)
Step#=EndTime#-T
Repeat
CurT#=Timer()-T
Ratio#=CurT#/Step#
RGBVal=(255*Ratio#)
If RGBVal>255 then RGBVal=255 : Done=1
Set Gamma RGBVal,RGBVal,RGBVal
Sync
Until Done=1
EndCase
EndSelect
Return
Main_Menu:
Rem Main Menu
Show Mouse
Set Text Size 36: Sync
MM$(0) = "Select Car"
MM$(1) = "Game Options"
MM$(2) = "Test Lap"
MM$(3) = "Start Race"
MM$(4) = "Exit Game"
Rem MM$(5) = "HiScores"
Ink RGB(255,100,0),0: Center Text 402,12,"Main Menu"
Ink RGB(255,255,0),0: Center Text 400,10,"Main Menu"
FadeType = 1: Gosub Fader: Rem Fade In
Done = False: OldSelection = -1: Selection = 0
Repeat
Mx=MouseX(): My=MouseY()
Selection = (My-130) / 70
If Selection <> OldSelection
For N = 0 To 4
Ink RGB(0,0,255),0: Center Text 402,N*70+132,MM$(N)
If N = Selection
Ink RGB(255,255,255),0
Else
Ink RGB(0,255,255),0
Endif
Center Text 400,N*70+130,MM$(N)
Next N
Sync
Endif
If ReturnKey()=1 Or MouseClick()=1
Select Selection
Case 0
FadeType = 0: Gosub Fader: CLS
Gosub Select_Car
Set Text Size 36: Sync
Ink RGB(255,100,0),0: Center Text 402,12,"Main Menu"
Ink RGB(255,255,0),0: Center Text 400,10,"Main Menu"
Done = False: OldSelection = -1: Selection = 0
EndCase
Case 1
Gosub Options
EndCase
Case 2
Test = True: Done = True: Rem Exit Main Menu For test Lap...
EndCase
Case 3
Test = False: Done = True: Rem Exit Main Menu To Race...
EndCase
Case 4
End
EndCase
EndSelect
Endif
Repeat
Sync
Until MouseClick()=0
Until Done = True
Hide Mouse
Return
Options:
Rem Options Screen
Return
Select_Car2:
Rem Select Car
ChoseCar = False
Repeat
For N = 0 To 7
YRotate Object 20000+N,WrapValue(Object Angle Y(20000)+.4): Rem Platform
YRotate Object N * 100 + 5000,WrapValue(Object Angle Y(CurrentVehicle * 100 + 5000)+.4)
YRotate Object N * 100 + 5050,WrapValue(Object Angle Y(CurrentVehicle * 100 + 5050)+.4)
Next N
If LeftKey()=1: Rem Previous Car
RotRight = False
Gosub Rotate_Stock
Dec CurrentVehicle
If CurrentVehicle < 0 Then CurrentVehicle = MaxVehicle
Repeat
Until LeftKey()=0
Endif
If RightKey()=1: Rem Next Car
RotRight = True
Gosub Rotate_Stock
Inc CurrentVehicle
If CurrentVehicle > MaxVehicle Then CurrentVehicle = 0
Repeat
Until RightKey()=0
Endif
If ReturnKey()=1: Rem I Want This One!
ChoseCar = True
Repeat
Until ReturnKey()=0
Endif
Sync
Gosub Screen_Messages
Until ChoseCar = True
End
Return
Rotate_Stock:
Rem Rotate Stock 45 degrees clockwise at 15x3 degrees
If RotRight = False
RA# = 3.0
Else
RA# = -3.0
Endif
For I = 0 To 14
For N = 0 To 7
X#(N) = WrapValue(X#(N) + RA#): Z#(N) = WrapValue(Z#(N) + RA#)
VSpotX#(N) = newxvalue(0,X#(N),Radius#): VSpotZ#(N) = newzvalue(0,Z#(N),Radius#)
Position Object 20000+N, VSpotX#(N), 0.0, VSpotZ#(N): Rem Base
Position Object 20100+N, VSpotX#(N), 0.0, VSpotZ#(N): Rem Mask
Position Object N*100+5000, VSpotX#(N), 0.65, VSpotZ#(N): Rem Top Vehicle
Position Object N*100+5050, VSpotX#(N), -0.5, VSpotZ#(N): Rem Bottom Vehicle
Next N
Sync
Gosub Screen_Messages
Next I
Return
Setup:
Set Display Mode 800,600,32
Sync On: Sync Rate 60: Sync
Dim VSpotX#(9): Dim VSpotZ#(9): Dim X#(9): Dim Z#(9): Dim MM$(5)
Dim Vehicle$(9,9): Rem 0=Name 1=Accel 2=Top Speed 3=Weapon 4=Damage 5=Shield 6=Nitro 7-Fuel 8-Special
Vehicle$(0,0) = "Hillman Imp Sportster": Rem Name
Vehicle$(0,1) = "6": Rem Accel
Vehicle$(0,2) = "120": Rem Top Speed
Vehicle$(0,3) = "Machine Gun": Rem Weapon
Vehicle$(0,4) = "1": Rem Damage
Vehicle$(0,5) = "16": Rem Shield
Vehicle$(0,6) = "4": Rem Nitro
Vehicle$(0,7) = "200": Rem Fuel
Vehicle$(0,8) = "Smoke Pod": Rem Special
Vehicle$(1,0) = "Mr Whippy Ice Cream Van": Rem Name
Vehicle$(1,1) = "4": Rem Accel
Vehicle$(1,2) = "100": Rem Top Speed
Vehicle$(1,3) = "Freeze Gun": Rem Weapon
Vehicle$(1,4) = "3": Rem Damage
Vehicle$(1,5) = "20": Rem Shield
Vehicle$(1,6) = "6": Rem Nitro
Vehicle$(1,7) = "250": Rem Fuel
Vehicle$(1,8) = "Slush Puppy Spray": Rem Special
Vehicle$(2,0) = "London Bus": Rem Name
Vehicle$(2,1) = "3": Rem Accel
Vehicle$(2,2) = "85": Rem Top Speed
Vehicle$(2,3) = "Spud Gun": Rem Weapon
Vehicle$(2,4) = "2": Rem Damage
Vehicle$(2,5) = "180": Rem Shield
Vehicle$(2,6) = "5": Rem Nitro
Vehicle$(2,7) = "350": Rem Fuel
Vehicle$(2,8) = "None": Rem Special
Vehicle$(3,0) = "Ford Pickup": Rem Name
Vehicle$(3,1) = "4": Rem Accel
Vehicle$(3,2) = "110": Rem Top Speed
Vehicle$(3,3) = "Ray Gun": Rem Weapon
Vehicle$(3,4) = "7": Rem Damage
Vehicle$(3,5) = "25": Rem Shield
Vehicle$(3,6) = "8": Rem Nitro
Vehicle$(3,7) = "150": Rem Fuel
Vehicle$(3,8) = "Cargo Bomb": Rem Special
Vehicle$(4,0) = "Oil Tanker": Rem Name
Vehicle$(4,1) = "2": Rem Accel
Vehicle$(4,2) = "90": Rem Top Speed
Vehicle$(4,3) = "Homing Missile": Rem Weapon
Vehicle$(4,4) = "6": Rem Damage
Vehicle$(4,5) = "120": Rem Shield
Vehicle$(4,6) = "9": Rem Nitro
Vehicle$(4,7) = "350": Rem Fuel
Vehicle$(4,8) = "Oil Slick": Rem Special
Vehicle$(5,0) = "US Police Car": Rem Name
Vehicle$(5,1) = "5": Rem Accel
Vehicle$(5,2) = "130": Rem Top Speed
Vehicle$(5,3) = "Magnum 45": Rem Weapon
Vehicle$(5,4) = "3": Rem Damage
Vehicle$(5,5) = "40": Rem Shield
Vehicle$(5,6) = "3": Rem Nitro
Vehicle$(5,7) = "180": Rem Fuel
Vehicle$(5,8) = "Tazer Gun": Rem Special
Vehicle$(6,0) = "UK Ambulance": Rem Name
Vehicle$(6,1) = "4": Rem Accel
Vehicle$(6,2) = "125": Rem Top Speed
Vehicle$(6,3) = "Sleep Gun": Rem Weapon
Vehicle$(6,4) = "8": Rem Damage
Vehicle$(6,5) = "35": Rem Shield
Vehicle$(6,6) = "4": Rem Nitro
Vehicle$(6,7) = "250": Rem Fuel
Vehicle$(6,8) = "Shrink Lights": Rem Special
Vehicle$(7,0) = "TDK Convertible": Rem Name
Vehicle$(7,1) = "6": Rem Accel
Vehicle$(7,2) = "140": Rem Top Speed
Vehicle$(7,3) = "Rocket Launcher": Rem Weapon
Vehicle$(7,4) = "12": Rem Damage
Vehicle$(7,5) = "30": Rem Shield
Vehicle$(7,6) = "2": Rem Nitro
Vehicle$(7,7) = "100": Rem Fuel
Vehicle$(7,8) = "Stealth Mode": Rem Special
True = 1: False = 0: MaxVehicle = 7
Rem Make 255x255 Masking Plate Texture For Discs
CLS RGB(1,1,1): Ink RGB(0,0,0),0
For N = 0 To 46
Circle 127,127,N: Circle 128,126,N
Circle 127,128,N: Circle 128,127,N
Next N
Sync
Get Image 12100,0,0,255,255,1
Gosub Make_Sprites
Autocam Off
Backdrop On
Color Backdrop 0
Hide Mouse
Set Camera View 0,0,1,1
Rem Make Lights
Make Light 1
Position Light 1,-5,5,5: Rem Rear Left
Color Light 1,RGB(64,64,64)
Make Light 2
Position Light 2,5,5,5: Rem Rear Right
Color Light 2,RGB(64,64,64)
Make Light 3
Set spot light 3,5,75: Position Light 3,-5,5,-5: Rem Front Left
Color Light 3,RGB(255,255,255): Point light 3,0,0,0
Make Light 4
Set spot light 4,5,75: Position Light 4,5,5,-5: Rem Front Right
Color Light 4,RGB(255,255,255): Point light 4,0,0,0
Rem Rotation Variables
Radius#=22.0: AngleInc=45: Angle# = 135.0
For N = 0 To 7
X#(N) = Angle#: Z#(N) = Angle#: Rem Start Angles
Angle# = WrapValue(Angle# + 45.0)
Next N
Return
Make_Vehicles:
Rem Car Types: 0 - Car 1 - IC Van 2 - Bus 3 - Pickup 4 - Oil Tanker 5 - Police Car 6 - Ambulance
Rem 7 - Convertible
Vehicle(5000,0,200,200,0): Vehicle(5050,0,200,200,0): XRotate Object 5050,180: Fix Object Pivot 5050
Vehicle(5100,150,200,150,1): Vehicle(5150,150,200,150,1): XRotate Object 5150,180: Fix Object Pivot 5150
Vehicle(5200,255,0,0,2): Vehicle(5250,255,0,0,2): XRotate Object 5250,180: Fix Object Pivot 5250
Vehicle(5300,155,80,0,3): Vehicle(5350,155,80,0,3): XRotate Object 5350,180: Fix Object Pivot 5350
Vehicle(5400,10,150,10,4): Vehicle(5450,10,150,10,4): XRotate Object 5450,180: Fix Object Pivot 5450
Vehicle(5500,32,32,32,5): Vehicle(5550,32,32,32,5): XRotate Object 5550,180: Fix Object Pivot 5550
Vehicle(5600,255,255,255,6): Vehicle(5650,255,255,255,6): XRotate Object 5650,180: Fix Object Pivot 5650
Vehicle(5700,255,155,0,7): Vehicle(5750,255,155,0,7): XRotate Object 5750,180: Fix Object Pivot 5750
Return
Place_Vehicles:
Rem Vehicles & Plinths
For N = 0 To 7
Make Object Cylinder 20000+N,8: Scale Object 20000+N,100,2,100: Color Object 20000+N,RGB(170,120,170)
Ghost Object On 20000+N
Set object ambient 20000+N,RGB(64,64,64): set object diffuse 20000+N,RGB(64,64,64)
Set object emissive 20000+N,RGB(0,0,0): set object specular 20000+N,RGB(190,190,190),10.0
Make Object Plain 20100+N,21.5,21.5: Texture Object 20100+N,12100
XRotate Object 20100+N,90: Set Object 20100+N, 1, 0, 0
X#(N) = WrapValue(X#(N) + AngleInc) : Z#(N) = WrapValue(Z#(N) + AngleInc)
VSpotX#(N) = newxvalue(0,X#(N),Radius#): VSpotZ#(N) = newzvalue(0,Z#(N),Radius#)
Position Object 20000+N, VSpotX#(N), 0.0, VSpotZ#(N): Rem Base
Position Object 20100+N, VSpotX#(N), 0.0, VSpotZ#(N): Rem Mask
Position Object N*100+5000, VSpotX#(N), 0.65, VSpotZ#(N): Rem Top Vehicle
Position Object N*100+5050, VSpotX#(N), -0.5, VSpotZ#(N): Rem Bottom Vehicle
Next N
Make Object Plain 20108,23,23: Color Object 20108,0: XRotate Object 20108,90: Position Object 20108, 0.0, 0.01, 0.0: Rem Centre Mask
Return
Screen_Messages:
Rem Vehicle Stats
Ink RGB(255,255,255),0: TPosY = 400
Ink RGB(0,100,0),0: Center Text 400,TPosY,"Vehicle: "+Vehicle$(CurrentVehicle,0)
Ink RGB(0,255,0),0: Center Text 398,TPosY-2,"Vehicle: "+Vehicle$(CurrentVehicle,0)
T$ = "Accelleration: "+Vehicle$(CurrentVehicle,1) + " Top Speed: "+Vehicle$(CurrentVehicle,2)
Ink RGB(0,0,0),0: Center Text 400,TPosY+(1*TH),T$
Ink RGB(255,255,0),0: Center Text 398,TPosY+(1*TH)-2,T$
T$ = "Weapon: "+Vehicle$(CurrentVehicle,3) + " Weapon Damage: "+Vehicle$(CurrentVehicle,4)
Ink RGB(0,0,0),0: Center Text 400,TPosY+(2*TH),T$
Ink RGB(255,255,0),0: Center Text 398,TPosY+(2*TH)-2,T$
T$ = "Fuel: "+Vehicle$(CurrentVehicle,7) + " Nitro Bursts: "+Vehicle$(CurrentVehicle,6)
Ink RGB(0,0,0),0: Center Text 400,TPosY+(3*TH),T$
Ink RGB(255,255,0),0: Center Text 398,TPosY+(3*TH)-2,T$
T$ = "Shield: "+Vehicle$(CurrentVehicle,5) + " Special Ability: "+Vehicle$(CurrentVehicle,8)
Ink RGB(0,0,0),0: Center Text 400,TPosY+(4*TH),T$
Ink RGB(255,255,0),0: Center Text 398,TPosY+(4*TH)-2,T$
Return
Make_Sprites:
CLS 0
Set Text Font "Comic Sans MS"
Set Text Size 36: Sync
TH = Text Height("X")
Ink RGB(255,60,0),0: Center Text 400,2,"Choose Your Vehicle"
Ink RGB(255,255,255),0: Center Text 398,0,"Choose Your Vehicle"
Get Image 12200,0,0,799,TH
Sprite 1,0,0,12200: Hide Sprite 1
CLS 0: Set Text Size 16
Sync
TH = Text Height("X")-4
CLS 0
Set Text Font "Wingdings",1
Set Text Size 32: Sync
Ink RGB(0,255,0),0: Box 0,0,50,50
Ink 0,0: Box 2,2,48,48
Ink RGB(255,255,0),0: Text 10,10,Chr$(231)
Get Image 12201,0,0,51,51
Ink 0,0: Box 2,2,48,48
Ink RGB(255,255,0),0: Text 10,10,Chr$(232)
Get Image 12202,0,0,51,51
Sprite 2,1,549,12201: Hide Sprite 2
Sprite 3,749,549,12202: Hide Sprite 3
Set Text Font "Comic Sans MS": Sync
Ink RGB(0,255,0),0: Box 100,100,330,150
Ink 0,0: Box 102,102,328,148
Ink RGB(255,255,0),0: Text 134,94,"SELECT"
Get Image 12203,100,100,331,151
Sprite 4,285,549,12203: Hide Sprite 4
Set Text Size 36: Sync
Return
Rem ******************************************************************************************
Rem *** FUNCTIONS ***
Rem ******************************************************************************************
Function Wait_Time(Seconds)
DisplayTime = Timer()
Repeat
Sync
Until Timer() - DisplayTime >= Seconds*1000
EndFunction
Function Vehicle(ObjNum,R,G,B,VehicleType)
BodyColour = RGB(R,G,B)
Rem Car Types: 0 - Car 1 - IC Van 2 - Bus 3 - Pickup 4 - Oil Tanker 5 - Police Car 6 - Ambulance
Rem 7 - Convertible
Select VehicleType
Case 0
Rem Car Body
Make Object Box ObjNum, 3.5, .75, 2: Color Object ObjNum,BodyColour
Rem Roof
Make Object Box ObjNum+1, 1.5, .5, 2: Color Object ObjNum+1,BodyColour
Glue Object To Limb ObjNum+1, ObjNum,0: Offset Limb ObjNum+1,0, -0.3, 0.5, 0
Rem Body Stripe
Make Object Box ObjNum+2, 3.52, .73, .5: Color Object ObjNum+2,RGB(255,255,255)
Glue Object To Limb ObjNum+2, ObjNum,0: Offset Limb ObjNum+2,0, 0.0, 0.02, 0
Rem Roof Stripe
Make Object Box ObjNum+3, 1.49, .2, .5: Color Object ObjNum+3,RGB(255,255,255)
Glue Object To Limb ObjNum+3, ObjNum,0: Offset Limb ObjNum+3,0, -0.3, 0.66, 0
Rem Exhaust
Make Object Cylinder ObjNum+4,0.12: Color Object ObjNum+4,0
ZRotate Object ObjNum+4,90: Fix Object Pivot ObjNum+4: Scale Object ObjNum+4,800,100,100
Glue Object To Limb ObjNum+4, ObjNum,0: Offset Limb ObjNum+4,0, -1.75, -0.45, 0.1
Make Object Cylinder ObjNum+5,0.12: Color Object ObjNum+5,0
ZRotate Object ObjNum+5,90: Fix Object Pivot ObjNum+5: Scale Object ObjNum+5,800,100,100
Glue Object To Limb ObjNum+5, ObjNum,0: Offset Limb ObjNum+5,0, -1.75, -0.45, -0.1
Rem Front Glass
Make Object Box ObjNum+14, 0.55, 0.5, 1.95: Color Object ObjNum+14,RGB(220,220,255)
ZRotate Object ObjNum+14,30: Fix Object Pivot ObjNum+14
Glue Object To Limb ObjNum+14, ObjNum,0: Offset Limb ObjNum+14,0, 0.35, 0.4, 0
Rem Side Glass
Make Object Box ObjNum+15, 1.45, 0.35, 2.02: Color Object ObjNum+15,RGB(220,220,255)
Glue Object To Limb ObjNum+15, ObjNum,0: Offset Limb ObjNum+15,0, -0.3, 0.55, 0
Rem Rear Glass
Make Object Box ObjNum+16, 0.13, 0.35, 1.95: Color Object ObjNum+16,RGB(220,220,255)
Glue Object To Limb ObjNum+16, ObjNum,0: Offset Limb ObjNum+16,0, -1.0, 0.55, 0
Rem Aero Wing
Make Object Box ObjNum+21, 0.40, 0.02, 2.02: Color Object ObjNum+21,BodyColour
ZRotate Object ObjNum+21,350: Fix Object Pivot ObjNum+21
Glue Object To Limb ObjNum+21,ObjNum,0: Offset Limb ObjNum+21,0, -1.5, 0.7, 0.0
Make Object Box ObjNum+22, 0.1, 0.5, 0.02: Color Object ObjNum+22,0
Glue Object To Limb ObjNum+22,ObjNum,0: Offset Limb ObjNum+22,0, -1.5, 0.4, 0.80
Make Object Box ObjNum+23, 0.1, 0.5, 0.02: Color Object ObjNum+23,0
Glue Object To Limb ObjNum+23,ObjNum,0: Offset Limb ObjNum+23,0, -1.5, 0.4, -0.80
EndCase
Case 1
Rem Ice Cream Van Sign Texture
If Image Exist(12004) = 0
CLS RGB(255,255,255): Ink 0,0
Text 0,0," STOP ME AND BUY ONE! "
Get Image 12004,0,0,Text Width(" STOP ME AND BUY ONE! "),Text Height("X")
Endif
Rem Ice Cream Van Body
Make Object Box ObjNum, 3.5, .75, 2: Color Object ObjNum,BodyColour
Make Object Box ObjNum+1, 3.0, .75, 2: Color Object ObjNum+1,BodyColour
Glue Object To Limb ObjNum+1, ObjNum,0: Offset Limb ObjNum+1,0, -0.25, .75, 0
Make Object Box ObjNum+2, 3.2, .2, 2: Color Object ObjNum+2,BodyColour
Glue Object To Limb ObjNum+2, ObjNum,0: Offset Limb ObjNum+2,0, -0.15, 1.1, 0
Rem Ice Cream Cone
Make Object Cone ObjNum+3, 0.6: Color Object ObjNum+3,RGB(168,150,0)
Scale Object ObjNum+3,200,50,50
ZRotate Object ObjNum+3, 180: Fix Object Pivot ObjNum+3
Glue Object To Limb ObjNum+3, ObjNum,0: Offset Limb ObjNum+3,0, 1.5, 1.2, 0
Make Object Sphere ObjNum+4, 0.58: Color Object ObjNum+4,RGB(255,180,180)
Glue Object To Limb ObjNum+4, ObjNum,0: Offset Limb ObjNum+4,0, 1.5, 1.57, 0
Rem Sign
Make Object Box ObjNum+5, 1.6, 0.4, 0.6: Texture Object ObjNum+5,12004
YRotate Object ObjNum+5,90: Fix Object Pivot ObjNum+5
Glue Object To Limb ObjNum+5, ObjNum,0: Offset Limb ObjNum+5,0, -1.46, 0.0, 0
Rem Front Glass
Make Object Box ObjNum+14, 0.55, 0.5, 1.93: Color Object ObjNum+14,RGB(220,220,255)
Glue Object To Limb ObjNum+14, ObjNum,0: Offset Limb ObjNum+14,0, 1.0, 0.6, 0
Rem Side Glass
Make Object Box ObjNum+15, 2.1, 0.6, 2.02: Color Object ObjNum+15,RGB(220,220,255)
Glue Object To Limb ObjNum+15, ObjNum,0: Offset Limb ObjNum+15,0, -0.6, 0.75, 0
Rem Rear Glass
Make Object Box ObjNum+16, 0.13, 0.6, 1.8: Color Object ObjNum+16,RGB(220,220,255)
Glue Object To Limb ObjNum+16, ObjNum,0: Offset Limb ObjNum+16,0, -1.7, 0.75, 0
EndCase
Case 2
Rem Bus Sign Texture
If Image Exist(12000) = 0
CLS 0
Ink RGB(255,255,0),0
Text 0,0," 004 West End "
Get Image 12000,0,0,Text Width(" 004 West End "),Text Height("X")
Endif
Rem Bus Body
Make Object Box ObjNum, 3.5, 0.75, 2.0: Color Object ObjNum,BodyColour
Make Object Box ObjNum+1, 3.5, 0.75, 2.0: Color Object ObjNum+1,BodyColour: Rem top
Glue Object To Limb ObjNum+1, ObjNum,0: Offset Limb ObjNum+1,0, 0.0, 1.5, 0.0
Make Object Box ObjNum+2, 3.5, 0.75, 1.0: Color Object ObjNum+2,BodyColour: Rem Long Centre
Glue Object To Limb ObjNum+2, ObjNum,0: Offset Limb ObjNum+2,0, 0.0, 0.75, -0.5
Make Object Box ObjNum+3, 3.0, 0.75, 1.0: Color Object ObjNum+3,BodyColour: Rem Short Centre
Glue Object To Limb ObjNum+3, ObjNum,0: Offset Limb ObjNum+3,0, -0.25, 0.75, 0.5
Rem Front Glass (Left of Driver)
Make Object Box ObjNum+14, 0.55, 0.7, 1.93: Color Object ObjNum+14,RGB(220,220,255)
Glue Object To Limb ObjNum+14, ObjNum,0: Offset Limb ObjNum+14,0, 1.0, 0.7, 0
Rem Front Glass 2 (Driver)
Make Object Box ObjNum+15, 0.2, 0.7, 0.9: Color Object ObjNum+15,RGB(220,220,255)
Glue Object To Limb ObjNum+15, ObjNum,0: Offset Limb ObjNum+15,0, 1.66, 0.75, -0.5
Rem Top Glass
Make Object Box ObjNum+16, 3.52, 0.45, 1.9: Color Object ObjNum+16,RGB(220,220,255)
Glue Object To Limb ObjNum+16, ObjNum,0: Offset Limb ObjNum+16,0, 0.0, 1.6, 0.0
Rem Side 1 Glass (Front)
Make Object Box ObjNum+21, 0.8, 0.45, 2.04: Color Object ObjNum+21,RGB(220,220,255)
Glue Object To Limb ObjNum+21, ObjNum,0: Offset Limb ObjNum+21,0, 1.3, 1.6, 0.0
Rem Side 2 Glass
Make Object Box ObjNum+22, 0.8, 0.45, 2.04: Color Object ObjNum+22,RGB(220,220,255)
Glue Object To Limb ObjNum+22, ObjNum,0: Offset Limb ObjNum+22,0, 0.45, 1.6, 0.0
Rem Side 3 Glass (top rear)
Make Object Box ObjNum+23, 0.8, 0.45, 2.04: Color Object ObjNum+23,RGB(220,220,255)
Glue Object To Limb ObjNum+23, ObjNum,0: Offset Limb ObjNum+23,0, -0.4, 1.6, 0.0
Rem Side 4 Glass (top rear)
Make Object Box ObjNum+24, 0.8, 0.45, 2.04: Color Object ObjNum+24,RGB(220,220,255)
Glue Object To Limb ObjNum+24, ObjNum,0: Offset Limb ObjNum+24,0, -1.25, 1.6, 0.0
Rem Bottom Rear Glass
Make Object Box ObjNum+25, 0.52, 0.45, 0.9: Color Object ObjNum+25,RGB(220,220,255)
Glue Object To Limb ObjNum+25, ObjNum,0: Offset Limb ObjNum+25,0, -1.5, 0.7, 0.5
Rem Side 1 Glass
Make Object Box ObjNum+26, 0.8, 0.45, 2.04: Color Object ObjNum+26,RGB(220,220,255)
Glue Object To Limb ObjNum+26, ObjNum,0: Offset Limb ObjNum+26,0, 0.45, 0.7, 0.0
Rem Side 1 Glass
Make Object Box ObjNum+27, 0.8, 0.45, 2.04: Color Object ObjNum+27,RGB(220,220,255)
Glue Object To Limb ObjNum+27, ObjNum,0: Offset Limb ObjNum+27,0, -0.4, 0.7, 0.0
Rem Side 1 Glass (Rear bottom)
Make Object Box ObjNum+28, 0.8, 0.45, 2.04: Color Object ObjNum+28,RGB(220,220,255)
Glue Object To Limb ObjNum+28, ObjNum,0: Offset Limb ObjNum+28,0, -1.25, 0.7, 0.0
Rem Number
Make Object Box ObjNum+29, 1.1, 0.15, 3.54: YRotate Object ObjNum+29,90: Fix Object Pivot ObjNum+29
Glue Object To Limb ObjNum+29, ObjNum,0: Offset Limb ObjNum+29,0, 0.0, 1.25, 0.0
Texture Object ObjNum+29,12000
EndCase
Case 3: Rem Pickup
Rem Pickup Body
Make Object Box ObjNum, 3.5, .75, 2: Color Object ObjNum,BodyColour
Rem Roof
Make Object Box ObjNum+1, 0.8, .6, 2: Color Object ObjNum+1,BodyColour
Glue Object To Limb ObjNum+1, ObjNum,0: Offset Limb ObjNum+1,0, 1.05, 0.6, 0
Rem Tarp
Make Object Box ObjNum+2, 2.24, .3, 1.9: Color Object ObjNum+2,RGB(20,20,20)
Glue Object To Limb ObjNum+2, ObjNum,0: Offset Limb ObjNum+2,0, -0.56, 0.25, 0
Rem Front Glass
Make Object Box ObjNum+14, 0.62, 0.5, 1.95: Color Object ObjNum+14,RGB(220,220,255)
ZRotate Object ObjNum+14,30: Fix Object Pivot ObjNum+14
Glue Object To Limb ObjNum+14, ObjNum,0: Offset Limb ObjNum+14,0, 1.33, 0.44, 0
Rem Side Glass
Make Object Box ObjNum+15, 0.6, 0.45, 2.02: Color Object ObjNum+15,RGB(220,220,255)
Glue Object To Limb ObjNum+15, ObjNum,0: Offset Limb ObjNum+15,0, 1.05, 0.6, 0
Rem Rear Glass
Make Object Box ObjNum+16, 0.5, 0.35, 1.0: Color Object ObjNum+16,RGB(220,220,255)
Glue Object To Limb ObjNum+16, ObjNum,0: Offset Limb ObjNum+16,0, 0.89, 0.6, 0
EndCase
Case 4: Rem Oil Tanker
Rem Wagon Body
Make Object Box ObjNum, 3.5, .75, 2: Color Object ObjNum,BodyColour
Rem Cab
Make Object Box ObjNum+1, 0.8, .6, 2: Color Object ObjNum+1,BodyColour
Glue Object To Limb ObjNum+1, ObjNum,0: Offset Limb ObjNum+1,0, 1.35, 0.67, 0
Rem Tank
Make Object Cylinder ObjNum+2,1.4: Color Object ObjNum+2,RGB(255,255,255)
ZRotate Object ObjNum+2,90: YRotate Object ObjNum+2,210: Fix Object Pivot ObjNum+2
Glue Object To Limb ObjNum+2, ObjNum,0: Offset Limb ObjNum+2,0, -0.45, 1.0, 0
Make Object Sphere ObjNum+3,1.4: Color Object ObjNum+3,RGB(255,255,255)
Glue Object To Limb ObjNum+3, ObjNum,0: Offset Limb ObjNum+3,0, 0.25, 1.0, 0
Make Object Sphere ObjNum+4,1.4: Color Object ObjNum+4,RGB(255,255,255)
Glue Object To Limb ObjNum+4, ObjNum,0: Offset Limb ObjNum+4,0, -1.2, 1.0, 0
Rem Front Glass
Make Object Box ObjNum+14, 0.62, 0.5, 1.95: Color Object ObjNum+14,RGB(220,220,255)
Glue Object To Limb ObjNum+14, ObjNum,0: Offset Limb ObjNum+14,0, 1.45, 0.65, 0
Rem Side Glass
Make Object Box ObjNum+15, 0.62, 0.5, 2.02: Color Object ObjNum+15,RGB(220,220,255)
Glue Object To Limb ObjNum+15, ObjNum,0: Offset Limb ObjNum+15,0, 1.35, 0.65, 0
Rem Front Support
Make Object Box ObjNum+16, 0.1, 0.5, 1.5: Color Object ObjNum+16,RGB(0,0,200)
Glue Object To Limb ObjNum+16, ObjNum,0: Offset Limb ObjNum+16,0, 0.5, 0.65, 0
Rem Centre Support
Make Object Box ObjNum+21, 0.1, 0.5, 1.5: Color Object ObjNum+21,RGB(0,0,200)
Glue Object To Limb ObjNum+21, ObjNum,0: Offset Limb ObjNum+21,0, -0.5, 0.65, 0
Rem Rear Support
Make Object Box ObjNum+22, 0.1, 0.5, 1.5: Color Object ObjNum+22,RGB(0,0,200)
Glue Object To Limb ObjNum+22, ObjNum,0: Offset Limb ObjNum+22,0, -1.5, 0.65, 0
EndCase
Case 5: Rem Police Car
Rem Bus Sign Texture
If Image Exist(12001) = 0
CLS RGB(255,255,255)
Set Text To Bold
Ink 0,0: Text 0,0," POLICE "
Get Image 12001,0,0,Text Width(" POLICE "),Text Height("X")
Set Text To Normal
Endif
Rem Police Car Body
Make Object Box ObjNum, 3.5, .75, 2: Color Object ObjNum,BodyColour
Rem White Roof
Make Object Box ObjNum+1, 1.5, 1.2, 2.01: Color Object ObjNum+1,RGB(255,255,255)
Glue Object To Limb ObjNum+1, ObjNum,0: Offset Limb ObjNum+1,0, 0.0, 0.2, 0
Rem Police Sign
Make Object Box ObjNum+2, 1.2, 0.5, 2.02: Color Object ObjNum+2,RGB(255,155,255)
Glue Object To Limb ObjNum+2, ObjNum,0: Offset Limb ObjNum+2,0, 0.0, 0.02, 0
Texture Object ObjNum+2,12001
Rem Exhaust
Make Object Cylinder ObjNum+4,0.12: Color Object ObjNum+4,0
ZRotate Object ObjNum+4,90: Fix Object Pivot ObjNum+4: Scale Object ObjNum+4,800,100,100
Glue Object To Limb ObjNum+4, ObjNum,0: Offset Limb ObjNum+4,0, -1.75, -0.45, 0.1
Make Object Cylinder ObjNum+5,0.12: Color Object ObjNum+5,0
ZRotate Object ObjNum+5,90: Fix Object Pivot ObjNum+5: Scale Object ObjNum+5,800,100,100
Glue Object To Limb ObjNum+5, ObjNum,0: Offset Limb ObjNum+5,0, -1.75, -0.45, -0.1
Rem Front Glass
Make Object Box ObjNum+14, 0.55, 0.5, 1.95: Color Object ObjNum+14,RGB(220,220,255)
ZRotate Object ObjNum+14,30: Fix Object Pivot ObjNum+14
Glue Object To Limb ObjNum+14, ObjNum,0: Offset Limb ObjNum+14,0, 0.65, 0.4, 0
Rem Side Glass
Make Object Box ObjNum+15, 1.35, 0.4, 2.03: Color Object ObjNum+15,RGB(220,220,255)
Glue Object To Limb ObjNum+15, ObjNum,0: Offset Limb ObjNum+15,0, -0.0, 0.55, 0
Rem Rear Glass
Make Object Box ObjNum+16, 0.55, 0.5, 1.95: Color Object ObjNum+16,RGB(220,220,255)
ZRotate Object ObjNum+16,50: Fix Object Pivot ObjNum+16
Glue Object To Limb ObjNum+16, ObjNum,0: Offset Limb ObjNum+16,0, -0.75, 0.4, 0
Rem Lights
Make Object Box ObjNum+21, 0.2, 0.4, 1.8: Color Object ObjNum+21,0
Glue Object To Limb ObjNum+21,ObjNum,0: Offset Limb ObjNum+21,0, 0.0, 0.7, 0.0
Make Object Box ObjNum+22, 0.25, 0.45, 0.5: Color Object ObjNum+22,RGB(255,0,0)
Glue Object To Limb ObjNum+22,ObjNum,0: Offset Limb ObjNum+22,0, 0.0, 0.8, -0.7
Make Object Box ObjNum+23, 0.25, 0.45, 0.5: Color Object ObjNum+23,RGB(0,0,255)
Glue Object To Limb ObjNum+23,ObjNum,0: Offset Limb ObjNum+23,0, 0.0, 0.8, 0.7
EndCase
Case 6: Rem Ambulance Reserved 6-13 17-20 Inclusive
Rem Ambulance Sign Texture
If Image Exist(12002) = 0
CLS 0
Set Text To Bold
Ink RGB(255,255,255),0: Text 0,0," AMBULANCE "
Get Image 12002,0,0,Text Width(" AMBULANCE "),Text Height("X")
Set Text To Normal
Endif
Rem Ambulance Body
Make Object Box ObjNum, 3.5, .75, 2: Color Object ObjNum,BodyColour
Rem Middle Section
Make Object Box ObjNum+1, 3.0, .9, 2: Color Object ObjNum+1,BodyColour
Glue Object To Limb ObjNum+1, ObjNum,0: Offset Limb ObjNum+1,0, -0.25, .8, 0
Rem Sign
Make Object Box ObjNum+2, 1.5, .2, 3.02: YRotate Object ObjNum+2,90: Fix Object Pivot ObjNum+2
Glue Object To Limb ObjNum+2, ObjNum,0: Offset Limb ObjNum+2,0, -0.25, 1.1, 0
Texture Object ObjNum+2,12002
Rem Red Cross
Make Object Box ObjNum+3, 0.5, .5, .2: Color Object ObjNum+3,RGB(255,0,0)
Glue Object To Limb ObjNum+3, ObjNum,0: Offset Limb ObjNum+3,0, -1.51, 0.0, 0.0
Make Object Box ObjNum+4, 0.5, .2, .5: Color Object ObjNum+4,RGB(255,0,0)
Glue Object To Limb ObjNum+4, ObjNum,0: Offset Limb ObjNum+4,0, -1.51, 0.0, 0.0
Rem Side Glass
Make Object Box ObjNum+5, 0.6, 0.5, 2.01: Color Object ObjNum+5,RGB(220,220,255)
Glue Object To Limb ObjNum+5, ObjNum,0: Offset Limb ObjNum+5,0, 0.85, 0.7, 0
Rem Front Glass
Make Object Box ObjNum+14, 0.52, 0.5, 1.93: Color Object ObjNum+14,RGB(220,220,255)
Glue Object To Limb ObjNum+14, ObjNum,0: Offset Limb ObjNum+14,0, 1.0, 0.7, 0
Rem Rear Glass 1
Make Object Box ObjNum+15, 0.13, 0.5, 0.8: Color Object ObjNum+15,RGB(120,120,155)
Glue Object To Limb ObjNum+15, ObjNum,0: Offset Limb ObjNum+15,0, -1.7, 0.70, 0.5
Rem Rear Glass 2
Make Object Box ObjNum+16, 0.13, 0.5, 0.8: Color Object ObjNum+16,RGB(120,120,155)
Glue Object To Limb ObjNum+16, ObjNum,0: Offset Limb ObjNum+16,0, -1.7, 0.70, -0.5
Rem Lights
Make Object Box ObjNum+21, 0.11, 0.4, 1.8: Color Object ObjNum+21,RGB(255,255,255)
Glue Object To Limb ObjNum+21,ObjNum,0: Offset Limb ObjNum+21,0, 1.0, 1.15, 0.0
Make Object Box ObjNum+22, 0.13, 0.45, 0.5: Color Object ObjNum+22,RGB(255,200,0)
Glue Object To Limb ObjNum+22,ObjNum,0: Offset Limb ObjNum+22,0, 1.0, 1.2, -0.68
Make Object Box ObjNum+23, 0.13, 0.45, 0.5: Color Object ObjNum+23,RGB(255,200,0)
Glue Object To Limb ObjNum+23,ObjNum,0: Offset Limb ObjNum+23,0, 1.0, 1.2, 0.68
Rem Side Cross
Make Object Box ObjNum+24, 0.3, 0.7, 2.02: Color Object ObjNum+24,RGB(255,0,0)
Glue Object To Limb ObjNum+24, ObjNum,0: Offset Limb ObjNum+24,0, -0.5, 0.7, 0.0
Make Object Box ObjNum+25, 0.7, 0.3, 2.02: Color Object ObjNum+25,RGB(255,0,0)
Glue Object To Limb ObjNum+25, ObjNum,0: Offset Limb ObjNum+25,0, -0.5, 0.7, 0.0
EndCase
Case 7: Rem Convertible Reserved 6-13 17-20 Inclusive
Rem Convertible Wheel Texture
If Image Exist(12003) = 0
TS = Text Size()
CLS 0
Ink RGB(22,22,22),0
For N = 22 To 30
Circle 32,32,N: Circle 33,32,N
Circle 32,32,N-29: Circle 33,32,N-29
Next N
Set Text Size 48
Text 12,0,"Y"
Sync
Get Image 12003,0,0,64,64,1
Set Text Size TS
Endif
Rem Convertible Body
Make Object Box ObjNum, 3.49, .2, 2: Color Object ObjNum,BodyColour
Position Object ObjNum, 0, -1.6, 0
Rem Sides
Make Object Box ObjNum+1, 3.51, .55, .4: Color Object ObjNum+1,BodyColour
Glue Object To Limb ObjNum+1, ObjNum,0: Offset Limb ObjNum+1, 0, 0.0, 0.11, -0.81
Make Object Box ObjNum+2, 3.51, .55, .4: Color Object ObjNum+2,BodyColour
Glue Object To Limb ObjNum+2, ObjNum,0: Offset Limb ObjNum+2, 0, 0.0, 0.11, 0.81
Rem Boot
Make Object Box ObjNum+3, 1.0, .4, 1.22: Color Object ObjNum+3,BodyColour
ZRotate Object ObjNum+3,6: Fix Object Pivot ObjNum+3
Glue Object To Limb ObjNum+3, ObjNum,0: Offset Limb ObjNum+3, 0, -1.26, 0.23, 0.0
Rem Bonnet
Make Object Box ObjNum+4, 1.8, .4, 1.22: Color Object ObjNum+4,BodyColour
ZRotate Object ObjNum+4,178: Fix Object Pivot ObjNum+4
Glue Object To Limb ObjNum+4, ObjNum,0: Offset Limb ObjNum+4, 0, 0.86, 0.23, 0.0
Make Object Box ObjNum+5, 1.0, 0.4, 0.4: Color Object ObjNum+5,BodyColour
ZRotate Object ObjNum+5,4: Fix Object Pivot ObjNum+5
Glue Object To Limb ObjNum+5, ObjNum,0: Offset Limb ObjNum+5, 0, 0.86, 0.3, 0.0
Rem Exhaust
Make Object Cylinder ObjNum+14,0.16: Color Object ObjNum+14,0
ZRotate Object ObjNum+14,90: Fix Object Pivot ObjNum+14: Scale Object ObjNum+14,800,100,100
Glue Object To Limb ObjNum+14, ObjNum,0: Offset Limb ObjNum+14,0, -1.75, -0.01, 0.1
Make Object Cylinder ObjNum+15,0.16: Color Object ObjNum+15,0
ZRotate Object ObjNum+15,90: Fix Object Pivot ObjNum+15: Scale Object ObjNum+15,800,100,100
Glue Object To Limb ObjNum+15, ObjNum,0: Offset Limb ObjNum+15,0, -1.75, -0.01, -0.1
Rem Front Glass
Make Object Box ObjNum+21, 0.04, 0.5, 1.2: Color Object ObjNum+21,RGB(120,120,170)
ZRotate Object ObjNum+21,40: Fix Object Pivot ObjNum+21
Glue Object To Limb ObjNum+21, ObjNum,0: Offset Limb ObjNum+21,0, 0.0, 0.6, 0
Ghost Object On ObjNum+21
Rem Seat
Make Object Box ObjNum+22, 0.2, 0.4, 1.2: Color Object ObjNum+22,RGB(80,30,0)
ZRotate Object ObjNum+22,6: Fix Object Pivot ObjNum+22
Glue Object To Limb ObjNum+22, ObjNum,0: Offset Limb ObjNum+22, 0, -0.7, 0.23, 0.0
Make Object Box ObjNum+23, 0.4, 0.2, 1.2: Color Object ObjNum+23,RGB(80,30,0)
Glue Object To Limb ObjNum+23, ObjNum,0: Offset Limb ObjNum+23, 0, -0.4, 0.1, 0.0
Make Object Plain ObjNum+24, 0.4, 0.4: Texture Object ObjNum+24,12003
YRotate Object ObjNum+24,90: ZRotate Object ObjNum+24,168: Fix Object Pivot ObjNum+24
Glue Object To Limb ObjNum+24, ObjNum, 0: Offset Limb ObjNum+24, 0, -0.1, 0.4, 0.3
Set Object ObjNum+24, 1, 0, 0
EndCase
EndSelect
Rem ****** Parts Common To All Vehicles ******
Rem Front Right Wheel
Make Object Cylinder ObjNum+6,0.7: Color Object ObjNum+6,0
XRotate Object ObjNum+6,90: Fix Object Pivot ObjNum+6
Glue Object To Limb ObjNum+6, ObjNum,0: Offset Limb ObjNum+6,0, 1.25, -0.2, -0.7
Make Object Cylinder ObjNum+7,0.5: Color Object ObjNum+7,RGB(160,160,160)
XRotate Object ObjNum+7,90: Fix Object Pivot ObjNum+7
Glue Object To Limb ObjNum+7, ObjNum,0: Offset Limb ObjNum+7,0, 1.25, -0.2, -0.82
Rem Front Left Wheel
Make Object Cylinder ObjNum+8,0.7: Color Object ObjNum+8,0
XRotate Object ObjNum+8,90: Fix Object Pivot ObjNum+8
Glue Object To Limb ObjNum+8, ObjNum,0: Offset Limb ObjNum+8,0, 1.25, -0.2, 0.7
Make Object Cylinder ObjNum+9,0.5: Color Object ObjNum+9,RGB(160,160,160)
XRotate Object ObjNum+9,90: Fix Object Pivot ObjNum+9
Glue Object To Limb ObjNum+9, ObjNum,0: Offset Limb ObjNum+9,0, 1.25, -0.2, 0.82
Rem Back Right Wheel
Make Object Cylinder ObjNum+10,0.7: Color Object ObjNum+10,0
XRotate Object ObjNum+10,90: Fix Object Pivot ObjNum+10
Glue Object To Limb ObjNum+10, ObjNum,0: Offset Limb ObjNum+10,0, -1.25, -0.2, -0.7
Make Object Cylinder ObjNum+11,0.5: Color Object ObjNum+11,RGB(160,160,160)
XRotate Object ObjNum+11,90: Fix Object Pivot ObjNum+11
Glue Object To Limb ObjNum+11, ObjNum,0: Offset Limb ObjNum+11,0, -1.25, -0.2, -0.82
Rem Back Left Wheel
Make Object Cylinder ObjNum+12,0.7: Color Object ObjNum+12,0
XRotate Object ObjNum+12,90: Fix Object Pivot ObjNum+12
Glue Object To Limb ObjNum+12, ObjNum,0: Offset Limb ObjNum+12,0, -1.25, -0.2, 0.7
Make Object Cylinder ObjNum+13,0.5: Color Object ObjNum+13,RGB(160,160,160)
XRotate Object ObjNum+13,90: Fix Object Pivot ObjNum+13
Glue Object To Limb ObjNum+13, ObjNum,0: Offset Limb ObjNum+13,0, -1.25, -0.2, 0.82
Rem Brake Lights
Make Object Cylinder ObjNum+17,0.12: Color Object ObjNum+17,RGB(128,0,0)
ZRotate Object ObjNum+17,90: Fix Object Pivot ObjNum+17: Scale Object ObjNum+17,800,100,100
Glue Object To Limb ObjNum+17, ObjNum,0: Offset Limb ObjNum+17,0, -1.72, 0.28, 0.87
Make Object Cylinder ObjNum+18,0.12: Color Object ObjNum+18,RGB(128,0,0)
ZRotate Object ObjNum+18,90: Fix Object Pivot ObjNum+18: Scale Object ObjNum+18,800,100,100
Glue Object To Limb ObjNum+18, ObjNum,0: Offset Limb ObjNum+18,0, -1.72, 0.28, -0.87
Rem Headlights
Make Object Cylinder ObjNum+19,0.3: Color Object ObjNum+19,RGB(255,255,0)
ZRotate Object ObjNum+19,90: Fix Object Pivot ObjNum+19: Scale Object ObjNum+19,800,100,100
Glue Object To Limb ObjNum+19, ObjNum,0: Offset Limb ObjNum+19,0, 1.64, 0.20, 0.80
Make Object Cylinder ObjNum+20,0.3: Color Object ObjNum+20,RGB(255,255,0)
ZRotate Object ObjNum+20,90: Fix Object Pivot ObjNum+20: Scale Object ObjNum+20,800,100,100
Glue Object To Limb ObjNum+20, ObjNum,0: Offset Limb ObjNum+20,0, 1.64, 0.20, -0.80
Rem Apply Lighting
For N=ObjNum To ObjNum+49
If Object Exist(N)
Set Object Ambient N,RGB(48,48,48)
Set Object Diffuse N,RGB(64,64,64)
Set Object Emissive N,RGB(0,0,0)
Set Object Specular N,RGB(128,128,128),50
Endif
Next N
CLS 0
Sync
EndFunction
TDK