FILE FORMAT
-----------
A description of the format of the .v files read by the game.
Note that standard C preprocessor commands such as #include, #define
and so on are also available.

File:			/* .v input file */
	<Item> [<Item> ... ]

Item:			/* something in the vehicle file */
	<Vehicle>
	<VehicleDef>
	<Map>
	<Lookout>
	<Fade>
	<Ground>
	<Sky>
	<Stars>

Vehicle:		/* A tank, helicopter, fish, house, etc... */
	vehicle CODE { <VehicleItem> [<VehicleItem> ... ] }

VehicleDef:		/* Non-instanced definition of a vehicle */
	vehicle CODE def { <VehicleItem> [<VehicleItem> ... ] }

VehicleItem:		/* Part of the vehicle description */
	<Name>
	<Velocity>
	<Angle>
	<AngleVelocity>
	<Offset>
	<HP>
	type <Type>
	weapon <Weapon>
	owner <Owner>
	<Copy>
	<Instance>
	<Maximum>
	<Seed>
	<Spin>
	<Ammo>
	<VehicleScale>
	<Object>
	flying		/* this vehicle is not subject to gravity */

Name:			/* A short description of the vehicle */
	name "DESCRIPTION"

Velocity:		/* Initial speed of the vehicle */
	velocity V

Angle:			/* Initial direction of the vehicle */
	angle A

AngleVelocity:		/* Initial rotation speed of the vehicle */
	angle_velocity AV

Offset:			/* Values to be added to each object position */
	offset X Y Z

HP:			/* Initial hit points of the vehicle */
	hp H

Type:			/* Determines the actions of the vehicle */
	tank
	fish
	bird
	hover
	fixedwing
	scenery		/* Can never be collided with */
	static		/* House or building */
	thing		/* Like static, but with moving parts */
	bullet
	missile
	tree		/* Can reproduce into more trees */
	seedpod
	gunsite
	mine
	weapon		/* can be collected for weapon bonus */

Weapon:			/* Armament of the vehicle */
	none
	tracer
	bullet
	shell
	flame
	missile		/* Homes in on locked target */
	chicken
	plasmaballs
	torpedo		/* homes in like missile */

Owner:			/* where the vehicle is controlled from */
	player		/*
	game		 * For internal use only
	network		 */
	none		/* initially unmanned */

Copy:			/* Copy all attributes from another vehicle */
	copy SOURCE

Instance:		/* Copy all attributes from defined vehicle */
	instance DEFINITION

Maximum:		/* Set a motion maximum for this vehicle */
	max velocity V	 /* fasted speed allowed */
	max angle_vel A	 /* fasted rotation rate allowed */
	max altitude A	 /* highest altitude */
	max turret_ang A /* max vertical tilt of turret */
	max treeheight H /* height at which this tree explodes */

Seed:			/* For trees, the code of the vehicle seedpods become */
	seed CODE

Spin:			/* rates of spin about the X, Y and Z axes */
	spin XSPIN YSPIN ZSPIN
	spin random XSPIN YSPIN ZSPIN	/* copies/instances have random spin */

Ammo:			/* initial amount of ammunition for this vehicle */
	ammo SHOTS

VehicleScale:		/* scales objects of the vehicle so far defined */
	scale XSCALE YSCALE ZSCALE


Object:			/* A convex 3-d part of the vehicle */
	object { <ObjectItem> [<ObjectItem> ... ] }

ObjectItem:		/* Part of an object description */
	<Position>
	<Centre>
	<Points>
	<Face>
	<Oscli>
	<Bounce>
	<Anglevel>
	<Offset>
	<Scale>
	turret		/* This object is part of the vehicle's gun turret */
	counter		/* Faces are defined counter-clockwise */

Position:		/* Position which points are relative to */
	at X Y Z

Centre:			/* Where bullets are fired from in this object */
	centre X Y Z

Points:			/* The list of points of the object */
	points { X Y Z [ X Y Z ... ] }

Face:			/* On face of the object */
	face COLOUR <FaceType> { POINT [ POINT ... ] }

FaceType:		/* Fill style of this face */
	f		/* Only visible from one side */
	p		/* Plane visible from both sides */
	w		/* Wireframe */
	l		/* Line */
	g		/* Glass Plane */
	c		/* Sphere, point 0 is centre and point 1 surface */
	s		/* Partially Transparent Plane */
	d		/* A single point */

Oscli:			/* Sinusoidal motion of a point */
	oscli POINT RATE [ PHASE ] { X Y Z }

Bounce:			/* Sin^2 motion of a point */
	bounce POINT RATE [ PHASE ] { X Y Z }

Anglevel:		/* Rate of rotation of this object */
	angle_velocity RATE

Offset:			/* values to be added to all points in the object */
	offset X Y Z

Scale:			/* values multiply by all points in the object by */
	scale X Y Z

Rotate:			/* Angle to rotate all points in the object by, 
	rotate ANG	   about the Z (vertical) axis */


Map:			/* Landscape of the game world */
	map WIDTH HEIGHT GROUNDSCALE ALTITUDE { <MapLine> [ <MapLine> ... ] }

MapLine:		/* A row of the map */
	/* A row of characters from A .. z, where A = altitude 0 and
	 * z = maximum altiude, given by ALTITUDE above. */

Lookout:		/* Where view mode 2 looks from */
	lookout X Y Z

Fade:			/* Colour world fades to in the distance */
	fadeto R G B	/* RGB values from 0-65535 */

Ground:			/* Colours of the ground and hills */
	ground HILLS GROUND	/* 1=grey, 2=green, 3=blue... */
	ground none		/* removes the ground */

Sky:			/* Colour of the sky */
	sky COLOUR

Stars:			/* creates a number of stars/planets in the sky */
	stars COUNT


COLOURS
-------
Unless otherwise specified, the colours used in the vehicle files are
defined as:

0   - 31	Unchanged from default colourmap
32  - 63	Grey shades, from black to white
64  - 95	Green shades
96  - 127	Blue shades
128 - 159	Red shades
160 - 191	Brown shades
192 - 223	Lilac shades
224 - 255	Cyan shades

