Display Properties of Roads, Rivers and Taxiways

How Roads and Rivers Work in FS 2000 Fs 2000 Bitmap Instructions

The new coding for these objects will apply the default Microsoft textures, using the same scenery opcodes as the default scenery. The result is a perfectly scaled texture pattern along the length of the road. When the FS 2000 box is checked in Files/General Preferences, as described above, the roads, highways and freeways will automatically use this new coding.

How Roads and Rivers Work in FS 2000


Roads, rivers and taxiways have some fundamental properties in FS 2000 that other object types do not possess.  In order to make this type of object work on top of elevated mesh terrain, the display properties are such that the scenery engine will always render these objects on top.  This effect supercedes any layering/priority commands. Therefore, attempting to layer polygons on top of them will prove to be ineffective.  Because they have these inherent properties, they will "follow along" the mesh terrain, and conform to varying elevations.

Since these objects have their relative altitudes assigned to them from drawing point to drawing point, the more drawing "handles" (seen when you edit a road or river) there are, the better they will conform to varying elevation.  Also, high resolution elevated mesh terrain, with more elevation data, will make it difficult for the road or river to conform to the terrain.

 

The wider you make a river, the more difficult it will be for the entire object to appear without seeming to "slip underneath" the terrain.  This is because the width of the river may in fact span more than two elevation points on the terrain.

 

They will also display a continuous texture, in a linear fashion, along their length as they span point-to-point.  This simplifies the process of applying texture attributes to them.

In order for all this to work correctly, the scale factor for these objects must be set to 1! If you are working with an ASD map file originally created for FS 98 and before, you may need to make a global parameter change to set all of your road, river and railway RefPoint scale factors to 1.

Step 1- In Map View, go to the Select menu and highlight all roads. Only highlight the roads on your map, and nothing else!

Step 2 - Then go to Options/Preferences/Region and select Road.

Step 3 - Go to the Visibility tab and select 1.0000 under RefPoint Scale, then click Apply

 

Step 4 - The Apply Settings dialog box will appear. Select Clear All, and then check Scale. Do not select Calculate Scale. Click OK.

All roads on your map will now be set to Scale factor 1. Repeat this procedure for Highways, Freeways, Railroads and Rivers.

Default texture properties

By default, ASD will create objects using the standard textures that come with FS 2000, as follows:


FS 2000 Bitmap Instructions

File name length command Background color
Season and Lightmap texture standard for FS 2000 Examples  

FS 2000 utilizes a more complex bitmap instruction than FS 98 and before.  The bitmap instruction will:

We have worked out the instruction set, and the SCASM DBX code, which will allow you to utilize the new instruction set and compile it with any version of the SCASM compiler. This bitmap instruction set can be very useful when creating macro objects.

File name length command

The command up to the filename is 12 bytes. Add the filename length to that, plus 1 (for a terminating zero byte.) If the resulting answer is odd, add one more to the command length to make it even. Then add two more. So in this case, the filename length is 7, so the value was calculated as 12+7=19, +1=20, +2=22.

Background color

In the examples below, the Dbx command Dbx( 80 EF 80 80 ) translates to:

Here is are a couple of examples:

For seasonal change and day/night switching (Grid.bmp-7 characters long):

Dwx( 93 00 )                 ;for the first instruction
Dwx( 43 )                     ;is the Load bitmap opcode
Dwd( 22 )                     ;calculated file name length (12+7=19, +1=20, +2=22)
Dwx( 00 )                     ;null value
Dwd( 190 )                     ;bitmap switching for seasons + night
Dbx( 80 EF 80 80 )         ;medium gray, fully opaque
Dba(Grid.bmp)             ;default texture-summer season
Dbx( 00 00 )                 ;two nulls to make length parameter even

 

For day/night switching only (Bffhangar3.bmp-13 characters long):

Dwx( 93 00 )                 ;first instruction for polygon
Dwx( 43 )                     ; load bitmap opcode
Dwd( 28 )                     ;calculated file name length (12+13=25, +1=26, +2=28)
Dwx( 00 )                     ;null value
Dwx( 81 )                     ;bitmap switching-night only
Dbx( 80 EF 80 80 )         ;medium gray, fully opaque
Dba(Bffhangar3.bmp)     ;bitmap file name
Dbx( 00 00 )                 ;two nulls to make the string even

 

The use of the old command INST_7D is not used in FS 2000 bitmap drawing commands.

 

Season and Lightmap texture standard for FS 2000

In order to make the texture swapping work, each texture you create must have the following version:

Mytexure.bmp Summer texture
Mytexture_sp.bmp Spring texture
Mytexture_fa.bmp Fall (autumn) texture
Mytexture_wi.bmp Winter texture
Mytexture_lm.bmp Lightmap

 

Standard FS Seasonal Texture variations

FS 2000 still uses the standard Flight Simulator seasonal texture variations that have been used since FS 5.  You see many of these textures in the default airports, like Grass.r8, for example.  ASD supports this standard for seasonal texture swapping.    You can use the old .r8 RAW textures, or the more modern .bmp format.  ASD will support both. We will use .bmp for this example. The naming convention for the textures is as follows.

Polytex.bmp Summer texture
Polytexs.bmp Spring texture.
Polytexf.bmp Fall (autumn) texture.
Polytexw.bmp Winter texture.

 

Elevation of Objects in FS 2000

In previous versions of the simulator, the altitude of the ground was determined by flat synthetic tiles. The designer could lay these textured tiles down in a grid, and specify the altitude of the ground for each tile.  This has changed in FS 2000, with the introduction of elevated mesh terrain in the simulator.  The ground is no longer flat, and the altitude of the ground in any geographic location is determined by the elevation data built into the default data files.

The FS 2000 mesh terrain can not be easily manipulated by the scenery designer, like you could using the old flat tiles.  of course, you have the advantage of the world no longer being flat.  The terrain may also not be retextured by the designer in any way.  The only thing you can do with the terrain is load a new elevation data file into the simulator, which is done using the Microsoft Terrain SDK tools.

What all this means to the designer is that the only way to determine the elevation of the ground, in many cases, is to simply go to those geographical coordinates in the simulator, and read the ground elevation.  If you are creating an airport in ASD which is to replace an existing default one, you can view the terrain altitude by viewing the default flatten polygon.

The good news is that placement of objects, with respect to 3D objects, is basically the same as it has always been.  When the standard Refpoint command is used, the object will automatically be displayed at the default elevation underneath it.  the same holds true for 2D ground polygons as well, but since the simulator's terrain is no longer flat, the designer must either use a flatten polygon (or Scenery.cfg flatten switch), or introduce an elevation RefPoint for the object, which will raise the polygon slightly above the terrain.  This is what the elevation parameters on the various object Properties Pages is intended for.