Options reference

--- Main Contents ---
Generic Tutorials Reference Options
Legal's & Copyright
Contact, info sources
Extending this program
Bugs & Limits
Changelog
Quick'n'Easy
Complex example
Instance-creating things
Walk-Through:
    Before you start
    Installation, basic usage
    Command file Examples
Command-line options
Command file syntax
FAQ / Common pitfalls
Named colors
color
colorize
doublesided
envmap
invisible
legosplit
lower_coll
nocoll
off
setshade
shade
surface
tazsplit
tecolor
tedelete
texmap
texturefloor
transparency
wall_*

This is an alphabetical list of all options rvglue currently understands:

Back to index


 color 

color: Set fixed color for untextured polygons

Sets a new color for untextured polygons, overwriting shading. If you want to preserve a present shading, use colorize.

Argument is a color definition. Only positive values between 0 and 255 are legal.

Example:
stuff.fin (
  metal( color 128 128 128 )
  thing( color turquoise )
)     


 color definition 

color definitions

(This is no option. It just describes how colors can be specified for the options that actually require one: colorize, envmap, shade and others)

Colors are specified by either three decimal numbers (red, green and blue) or a named color.

When using numbers, separate them by spaces. You can use negative values where appropriate and values larger than 255.

Examples:
255 255 0
-100 -100 -100
30 800 -12


 colorize 

colorize: Set shaded color for untextured polygons

Sets a new color for untextured polygons, preserving the present shading. The resulting color will be darker than specified, so use bright colors. If you want to overwrite the existing shading, use color.

Argument is a color definition. Only positive values are legal.

Example:
stuff.fin (
  metal( colorize 400 500 600 )
  thing( colorize turquoise )
)     


 doublesided 

doublesided: Make polygons double-sided

This option will make the backside of the polygons it gets applied to visible. It takes no arguments.


 envmap 

envmap: Setting env mapping

Enables environment mapping and sets it's color.

Argument is a color definition. Only positive values between 0 and 255 are legal.

Warning: Environment mapping only works for .w files. Instances can have env mappings, but it's defined in the track's .fin file, not the instance itself. So, when you write instances, the env mapping color is lost.

Example:
stuff.fin (
  metal( envmap 128 128 128 )
  thing( envmap turquoise )
)     


 invisible 

invisible: Hiding items

Creates invisible parts. Use it for boundaries that keep cars from getting blasted off track. In example, if you have a window where you want the player to be able to look through, you may want to put an instance into it that is invisible and of the 'no tracks' surface type.

Option takes no argument.

Example:
bounds.fin (
  bwall( surface(notracks) invisible )
)     


 legosplit 

legosplit: Splitting track editor tracks

The legosplit option breaks up a track exported by the track editor, and lets you specify options for single components.

The argument to legosplit is a complete list of components and options, where the component names refer to certain parts of the track:

ComponentConsists of
pwallThe blue walls of track pieces
rwallThe walls of the room, except for the images at one of the walls.
carimgThe images on one wall.
floorThe green floor of the room
lampThe lamps at the ceiling
boxThe boxes that are stacked in one corner of the room
trackThe track itself

Warning: Use this option for unmodified track editor tracks only. Detecting parts is done by very rough heuristics. Using this option on instances or already modified track bodies will lead to funny results.


 lower_coll 

lower_coll: Lowering collision data

The lower_coll option lowers collision data of vertical quad polygons. It can be used to get rid of the "invisible obstacles" sometimes created by rvglue.

Certain lego editor pieces have vertical blue walls, which are under the track and reach exactly up to track floor height. Due to rounding errors within rvglue (which cannot be avoided), sometimes these walls reach a little bit higher; these are the annoying "invisible obstacles" you bump into. Option lower_coll can be used to subtract a small value from that height, so push the obstacles back under the track floor.

Options lower_coll finds vertical axis-aligned four-sided polygons amongst its input, and substracts a small value (0.1 generic units) from the top of each. Other polygons (not four-sided, not axis-aligned or not vertical) are unaffected. Visual information is unchanged for all.

lower_coll works best together with legosplit. The change in collision data (which is minuscule anyway) is applied only to blue lego walls (which you normally don't bump into):
user018.w (
  legosplit (
    pwall ( lower_coll )
  )
)

Option takes no argument.


 nocoll 

nocoll:

Creates parts you are able to look at but are not solid. Use it for off-track items, like the house in the distance you cannot drive to.

Option takes no argument.


 off 

off:

Is equal to "(nocoll invisible)". Item is deleted. Use this option for things you need while editing the track, like instances you used for marking special positions, or to exclude parts of track editor tracks.

Option takes no argument.


 setshade 

setshade: Setting texture shading

Sets the shading for textured polygons. Untextured polygons are not modified.

Argument is a color definition. Only positive values between 0 and 255 are legal.

Example:
stuff.fin (
  metal( setshade 128 128 128 )
  thing( setshade white )
)     


 shade 

shade: Shading things

Shades things by increasing or decreasing the shading of textured polygons resp. the color of untextured polygons. This is equivalent to the "Model RGB" sliders in the "instance" edit mode.

Argument is a color definition. Only values between -255 and +255 are legal.

Example:
stuff.fin (
  metal( shade 0 0 -40 )
  thing( shade +100 +100 -255 )
)     


 surface() 

surface(...), s(...): Setting surface properties

Sets the surface properties to what is specified as argument. If you use a numeric value, it will not be checked for being "valid", so that you can try to find other types that are currently unknown.

You may enclose the surface value in brackets, but it is not required.

This list may be wrong, and may be not detailed enough to find the type you are looking for. Consider downloading the Surface Test Track (external) , where you can drive on the types 1 to 25.

Currently known values are:

valuekeyword effect
0,1,2 standard standard floor.
3 - grey car tracks.
4 - green car tracks, slippery, yellow sparks
5 - grey car tracks, slippery.
6 - very light car tracks
7 - thin car tracks
8 notracks no car tracks
9 - grey car tracks
10 ice Like the freezer floor in Market1
11 - slightly slippery.
12 grass green car tracks, slippery, grass bits being thrown up.
13 - slightly slippery.
14 verybump very bumpy, throws up dirt/gravel
15 bump bumpy, throws up dirt/gravel
16 - pushes car in one direction.
17 - pushes car in another direction.
18,19,20 mud brown car tracks, slippery.
21,22 slippery thin car tracks, slippery.
24 - pushes car.
25 - pushes car in random directions. (Rain-Toytanic deck)

Example:
ground.fin (
  mymud( surface mud )
  mymeadow ( s 12 )
)     


 tazsplit 

tazsplit: Splitting input by .taz files

The tazsplit option breaks up the input according to track zones and lets you specify options for single components.

The components are named after the track zone numbers.

The first argument to tazsplit is the name of a .taz file, followed by a complete list of components and options.

Example:
user018.w (
  tazsplit ( 
    zones.taz                [ Read zones.taz ]
    0 ( off )                [ Delete everything in zone 0 ]
    1 ( transparency(128) )  [ Everything in zone 1 becomes transparent ]
  )
)  


 tecolor() 

tecolor(...): Obsolete

This option is no longer part of rvglue. A combination of legosplit and colorize does what tecolor used to do.

If you had a statement like tecolor( ff0000 ), you would now use something like
user018.w (
  legosplit (
    pwall ( colorize 255 0 0 )
  )
)     


 tedelete() 

tedelete(...): Obsolete

This option is no longer part of rvglue. A combination of legosplit and off does what tedelete used to do.

If you had a statement like tedelete( pwall ), you would now use something like
user018.w (
  legosplit (
    pwall ( off )
  )
)     


 texmap() 

texmap(...): Remapping textures

The texmap option remaps textures to other sheets, positions and orientation. It is similar to the rvtexmap program from the "rvminis".

It requires an argument, like in 'texmap ( from-texture=to-texture [rot] )'

The argument 'b:128,0:64x32' refers to texture sheet B (file xxxxb.bmp), the 64 by 32 pixel sized part with the position 128,0 as top-left corner.

If rot is specified, the to-texture is expected to be rotated +90 degrees (counter-clockwise). This is useful if you have to rotate textures to arrange them optimally.

You may enclose the argument in brackets, but it is not required.

Multiple texmap's are executed in order.

You can replace some of the XXXXtranslateme with a '*' to use default values:

'*' in...from-textureto-texture
texture sheet Remap from every sheet Don't alter sheet
top-left position 0,0 same position as in from-texture
texture size to the image's lower-right corner same size as in from-texture

Example:
user018.w (

  [ 1. Remap a.bmp to j.bmp: ]
  texmap a:*:*=j:*:*

  [ 2. Remap the Cougar's image on the lego track walls
       to the start grid's texture: ]
  texmap h:0,64:64x64=c:0,0:192x192

  [ 3. Rescale every texture to use only the upper-right half of the bitmaps: ]
  texmap *:*:*=*:128,0:128x128

  [ 4. Remap a (landscape) texture from sheet A to its rotated (portrait) and half-sized correspondence on sheet B: ]
  texmap a:0,0:128x32=B:0,0:16x64 rot

)     

Rotation example:
Commandfrom-textureto-texture
[1. without rotation]
texmap a:0,0:128x192=b:0,64:64x192
[2. with rotation]
texmap a:0,0:128x192=b:0,64:64x192 rot


 texturefloor 

texturefloor: Texturize the green lego floor

The option texturefloor texturizes the green lego floor with nicer textures (just a tiled thing instead of the weird puzzled style exported by the lego editor).

Argument to this option is a texture definition, which may be enclosed in brackets.

Texture definitions are of the style c:0,128:64x64 (which refers to the 64x64 pixel sized texture in c.bmp, with the coordinates 0,128 as top-left corner.

Warning: This option may only appear in the option list for a .w file at top level. That means: Neither for instances, nor nested in other options.


 transparency() 

transparency(...), t(...): Setting transparency

Sets transparency. Argument must be between 0 and 255, where 0 is fully transparent and 255 is fully opaque. (Although you should never set the transparency to 0)

Setting the transparency to 255 will disable the transparency and make things fully opaque.

Don't use transparency if you want items to be invisible. Use the invisible option instead!


 wall_* 

wall_*: Texturize the blue lego walls

The options wall_single and wall_double texturize the blue lego walls. Use wall_single for single-size exported tracks, and wall_double for double-size exported tracks.

Argument to this option is a texture definition, which may be enclosed in brackets.

Texture definitions are of the style c:0,128:64x64 (which refers to the 64x64 pixel sized texture in c.bmp, with the coordinates 0,128 as top-left corner.

Warning: This option may only appear in the option list for a .w file at top level. That means: Neither for instances, nor nested in other options.


Last modified: Wed Oct 10 11:54:00 CEST 2001