FSRail - the model railway for your computer
Free demonstration version
Disclaimer
You use this software on your own risk. While I assure that I tested it for months under Windows 98, Windows NT4.0 and Windows 2000 and it never made any harm to my systems, and to my limited understanding I cannot imagine any risk related to the use of this software, I cannot guarantee this software not to harm your setup, your data and to work free of any errors under all environments. I tested the software to work properly with several scenery add-ons to FS95 and FS98, like Global Upgrade, Europe 1, several free scenery, commercial and free planes, but I assume it to be likely that there are upgrades and setups that do not work properly with this software.
I cordially trust your setup will not to be affected.
This is a demonstration version of a commercial product. This version is capable of designing and storing model railways of very limited size and features. Its main purpose is to let you work through the first lesson how to build your first simple railway. After going through this lesson, and see through the documentation a few impressions what you missed up to now, and looking at scenery produced with FSRail, you can decide if you want to continue and buy the full version or not. I think this is fair.
You may use this demonstration version to produce scenery for yourself, and to add a small railway section to a freeware project. For shareware or commercial sceneries, you need the full or the commercial version of FSRail and a licensed version of the SCASM - Compiler.
The major limitations of the demo version are:
- Rail2010,Rail2050,Rail2100,Rail2200 straight dual rails of different length,
- Cu245R10,Cu260R05 Curved rails,
- S222l100,S222r100 Switches,
- Stat2500 Station,
- Train22 Rail that can carry a train,
- Bridgen2,Bridge22,Bri2500 Bridges,
Contents
The model railway is one of the most popular leisure activities. Planing, construction, playing, and ever lasting improvement guarantee hundreds or even thousands of hours of recreation in a small, fine, self made world.
Software can never replace the feeling of a well made heavy metal engine in your hand. But the design of model railways always has to compromise on two things. The amount of material is limited by costs and the available space is always too small. You can be happy if you find a space under the roof or in the cellar with a length of 5m, most railways have to be done on 3 m or less. Often these small railways are real pieces of art.
Here is where model railway software has an advantage. Material is available unlimited and the virtual space is also unlimited. So virtual railway and real model do not exclude each other. Isn't it a nice idea to have a big area modeled in software and to choose a small detail of this to build as a real model with a level of detail not available to software today?
So this software is not intended as competition for the big model railway producers. It is more intended to extend this hobby and, maybe, to motive you to reactivate it. Have you never dreamed of building a H0 scale railway on a sphere of 472 km circumference and a well known shape with 70% sea?
I had the idea of creating a virtual model railway many years ago and collected material, book, maps, pictures, catalogs for it. But the size of this task prevented any start. Before laying any rail into a landscape you need software that has a 3-dimensional model of it and allows relative movement of the train and the observer. Support for modern hardware like a graphics adapter keeps many programmers busy.
So I had to find another way by using some software that solves many of the problems and lets me concentrate on railway. The ideal software for railway design should already have a concept of terrain with sea, land, lakes, rivers, roads, hills, mountains, cities and many other things. It must allow modification and expansion of this landscape. There should be available free and commercial tools for it and a good choice of accessories. It should not be too expensive, be available in every shop and be good value for the money. Even better if it has already been sold million times. Future development and innovative use of new features of future hardware would be guaranteed.
This was the theoretical list. I was not sure I'd ever find that software until I came across the Microsoft® Flight Simulator.
Of course the approach of using 'foreign' software has the disadvantage that it may give you some limitations. The biggest limitation is the amount of memory available for the scenery. This is 256K for FS95 and 512K for FS98. In FS2000 this limitation is gone. You can equate this with the thickness of the table you build the railway on. If the railway gets too complex and heavy the table breaks. So FS95 is only suitable for a light first design and FS2000 is best suited for very dense detailed design.
The second big limitation is that, while you can fly a plane or helicopter and watch many trains moving, there is no way to place yourself into a train to move it along the rails. This is a model railway box of almost infinite size - not a railway simulator. No way around.
To use the examples in FS2000 the following has to be fulfilled: The first patch (or second) should be installed and the area of the example must be flattened. Moving trains only run properly if you achieve at least 3 frames per second. With these conditions the macros work with FS2000 as well as with FS98; only the size limitation is removed. More specialties and a way to build railways in the 3-dimensional landscape of FS2000 will be explained later. Be patient, Rome wasn't built in one day, and no model railway was either.
The four examples in this text have been made in FS98 with the standard scenery and no additions. This is important to know since other versions, or add-ons, may have details like rivers and roads slightly displaced. So if you use another version, or scenery, just don't wonder why bridges are not exactly above the rivers and barriers not exactly on the roads.
How does a railway come to the flight simulator landscape? The complete landscape (and other objects like navigation aids) are described by a binary language called BGL. This language sends commands to the graphics systems like 'Draw a road from a point with coordinates (x1,y1) to the point with coordinates (x2,y2)' or ' Fill the polygon defined by the following point list with a blue color'. Did you see that the second example is a lake? Then you can start to write SCASM yourself. The graphics system checks all files in specific directories for such instructions. So we only have to add a file with railway building instructions and the railway is in the landscape.
If I now suggested to you to write the railway directly in BGL you would be completely right to want your money back. It was a monumental work of several authors who decoded this language long before Microsoft published any documentation. Manfred Moldenhauer developed from this a language which formulates the BGL commands in readable instruction. He called this programming language SCASM. Then he wrote a compiler that translates SCASM commands to BGL and we will use this compiler for our designs.
If I now suggest that you write your railways in SCASM you would again want your money back - and send a few Euro to Manfred. Here is where my contribution starts and it consists of two parts. The first contribution is the so-called 'macros'. SCASM provides a way to build macros from a series of commands and to use them as objects . My objects are all those things that you need for railway design: Rails, curves, switches, crossings, stations, bridges, barriers, bumps and more. I offer you a choice of more than 1500 different railway objects and most of them can change their shape widely by supplying parameters. For example the overhead wires, pylons, and lamps on the pylons can be switched on and off for each rail. About half of the macros support moving trains; the remainder are static. By the end of this manual you will know how to make your own rail macros and use them in FSRail.
Now you will probably ask where the rolling stock is? The only way to fix trains to the rails in Flight Simulator was to make them part of the rails. So the rolling stock is also a parameter of all the rails that support trains.
These macros can be used with a scenery design tool, like Airport 2.10, which supplies a graphical user interface and makes scenery design a nice, easy hobby.
The second contribution is FSRail, a program specialized for the design of railways. This program knows the properties of all rails and is able to attach them properly to each other. It is just like in a normal model railway where you can attach rail after rail until you have finished your design. FSRail supports you in giving the macros the shape you want. In addition FSRail allows you to place 3-dimensional objects or ground objects.
The design for a railway goes like this: First you need a concept. Search a good map, photos, or visit the real railway and make drawings. I prefer working with maps in scale 1:50000 which are now available for Germany in digital form. Map software has the advantage compared to paper maps that it can give you the coordinates of every object and you will need them to place the rail objects. From map software it is also easy to estimate the length of straight rails and radii of curves.
Do you want to use moving trains? Moving trains need more memory and are less detailed than static rails. But the trains move. Most good designs will mix moving and static trains.
Next you check the area in the flight simulator to see how it is realized there. Fly over it, land at critical places. Is there a mountain somewhere in the way? Are the roads placed correctly? What do you want to do with the existing roads? Use them, ignore them, cut them away?
If you now start to train as a helicopter pilot I've got you busy and you will not ask for your money back.
After getting all this together you can start FSRail to design the landscape. Lay down a central object to the precise position obtained from the map and with precise orientation. Now compile the landscape (that is one menu item) and check in the flight simulator. Is it where and as you want? Now you can attach rail after rail, compile, and check again. This process is repeated again and again, and slowly your railway is growing.
Like an advanced model railway builder, who produces his own material, at some stage you will start to build your own macros. It is relatively easy to change existing macros (like adapting to a new length). FSRail helps you with them in that it can support more than 1400 additional user rails. But, before you started to write your own macros, you will also know how to fly a helicopter.
A tool that I recommend to you is VOD from Rafael Sanchez. VOD allows the designing of houses, churches and bridges, it is an easy to use architectural program for the flight simulator. While not every house can be made with VOD it is a very good start to produce those add-ons that you need in addition to my rail macros. Rafael announced a new program Nova2000, I cannot await to see and use it.
FSRail was tested with the three version FS95, FS98 and FS2000 and is compatible to all of them. There are some smaller differences in the nature of the three simulators. The most important are:
FS95 (also sold as FS classic): The scenery buffer is only 256 KB. For moving trains only the simple trains with train numbers below 100 can be used. For static trains the more complex ones can be used if the density is not too high. Edit the FSRail file ..\includes\00user.inc. Make sure that the variable $FS2000 has the value of 0, and set $arvis to 1, or use ..\includes\00user95.inc.
FS98: FSRail was originally developed under this version. Moving scenery can contain complex trains if the density is not too high. Edit the FSRail file ..\includes\00user.inc. Set $FS2000 to 0, set $arvis to 3, or use ..\includes\00user98.inc.
For FS95 and FS98 all macros are always called with the parameter height=0. FS95 and FS98 can be viewed as a flat table where you place your rails. Height=0 means: Place on table.
FS2000: A very big step forward, maybe too big. No limitation of scenery density if your computer manage it. Real 3-dimensionality makes design much easier. Edit the FSRail file ..\includes\00user.inc. Check the variable $FS2000 is set to 1, set $arvis to 5, or use ..\includes\00user2K.inc. A small negative: In FS2000 there is no currently known way to make a trench into the terrain. Macros that make such a trench (like RoTu2050, a road tunnel below a rail) no longer work in FS2000. This is necessary since FS2000 is real 3-dimensional. It is not a table but a 3-dimensional grid onto which you can hang your railway.
The biggest difference between FS95/98 on one hand and FS2000 on the other is with bridges. The old bridges still work but the FS2000 3D bridges are so much simpler that you change to them very quickly.
Those macros that are specially designed for the 3D scenery of FS2000 (ramps) make no sense in the other versions. In FSRail they often carry the description 3D.
When you create a new railway in FSRail you can tell FSRail that it should assume the railway to be 3-dimensional. This allows FSRail to help you by suggesting height parameters.
FS2000 make another consideration necessary. It is strongly recommended to install Patch1. Patch2b removes some bugs and installs shadows but the price for this is high. The drawn surface was lowered to allow the shadows drawn by the z-buffering. In the English version the ground is lowered by about 1 m. With my German version and Patch2b this lowering of the terrain is dependent on the observers position - I observed lowering of the sea surface by 100m and more. I traced the effect and found it to be induced by the new version of terrain3d.dll. So in my version I replaced the terrain.dll of patch2b with the original version. This seems to work and is stable.
For the setup of Flight Simulator please refer to its documentation. The following examples assume the Flight Simulator to be installed to the same disk as FSRail in \FS or \FS2000. The default path \Program Files\Microsoft Games\Flight Simulator does not make writing any easier.
You can install the demonstration version by simple unzipping it. If you do nor want to keep it, you can delete it, and it will leave no traces on your system.
FSRail is installed to a directory, typically \Airport. If you have installed Airport 2.10 install it to \Airport\APT210. The directory structure after installation looks like this:
\Airport Main directory
\Airport\APT210 - Airport and the SCASM compiler delivered with Airport
\Airport\Bitmaps - bitmaps
\Airport\Program - the program and the current scenery sources
\Airport\Bridges - static bridges
\Airport\Details - other static macros and roads
\Airport\Documentation - the English documentation
\Airport\Dokumentation - the German documentation
\Airport\Includes - include file, all trains
\Airport\Moving - other moving macros
\Airport\Movrail - moving rails
\Airport\Movroad - moving roads and highways
\Airport\Movstat - moving stations
\Airport\Rails - static rails
\Airport\Scenery - finished scenery
\Airport\Stations - static stations
\Airport\Texture - textures.
\Airport\Tools - useful tools
\Airport\VOD3 - if you installed it
The above list is a typical example. Important: The directories that contain all macros must be on the same level as the \Includes and the \Program compiler directory. This is the only way to ensure that the relative path ..\includes always leads to the include files (these are more than 800 very important files, some of them are used by all macros).
After ordering the full version you will have received a personal license file. Please copy this to the ..\Program directory to enable the full features of FSRail and keep a backup of this in a safe place. The demo contains a demonstration version license.
Another small installation step is necessary. The directory \FSRail contains a small procedure BRailMaker.txt. We edit this:
scasm newrails.scm newrails.bgl
Pause
copy newrails.bgl \fs2000\scenery\rail\scenery\newrails.bgl
Pause
This template compiles the source newrails.scm and copies the resulting newrails.bgl. to the Flight Simulator directory. We check the paths and change them if necessary. Is SCASM.EXE in the correct path? Is the path of Flight Simulator correct? FSRail uses this template to compile your source files, FSRail replaces the names newrails.scm and newrails.bgl with your names. If your path name contains a blank character, the copy command has to follow the DOS - conventions for this:
copy newrails.bgl "D|Program Files\Microsoft Games\Flight Simulator\scenery\rail\scenery\newrails.bgl"
If we now start the FSRail program we can perform the following steps from the menu "Dialogs" "Change macro settings" to configure the scenery directory and to register it (for FS2000 only), but I will explain how to do it manually in case you do not know how to perform such an operation...
Next we create a \Rail directory in the \Scenery directory of FS, open it, and copy the directories \Scenery and \Texture from \Airport directory there. If we find a /Scenery98 and /Scenery2K in the distribution we take the one that fits to our simulator and make it the \Scenery directory.
This step creates \FS\Scenery\Rail\Scenery and \FS\Scenery\Rail\Texture.
Now we start FS. We have to convince it to use the new directory. From the menu "World" we choose "Scenery Library". Click OK to the warning. We choose File, Add, and fill out the dialog as below. In FS2000 the design of the dialog is different and we can browse for the directory. But there a trap is waiting for us: Do use the scenery directly, not using the buffering. Otherwise you will sometimes see your changes, sometimes not - and wonder what is going on.
Now we can activate the scenery. The sequence "World", "Scenery Library ", "Files", OK, OK is the command to FS98 to reload the scenery if we changed it in between. In FS2000 it is enough to choose the "Scenery library" and check the green ok.
Now we have to bring the aircraft to the correct position. In FS98 we choose "World", "Go To" "exact position" and fill out the next screen. In FS2000 we choose the Map view.
A few seconds later you'll see the Frankfurt Main Station with incoming and outgoing trains (not in the demo version). Now we have finished the Preparation and Start. I will now show you how to make four first designs, step by step, so you can learn how to do it. You are, of course, free to start directly but it will become difficult without the tips you get in here...
One more tip for all versions of Flight Simulator. By default the coordinates are written in the form ddd.mm.xxx, where ddd means degrees, mm minutes, xxxx fractions of minutes. All the map programs I have use the form ddd.mm.ss.xxxx, where ss means seconds. This format is used by FSRail and Airport. If you edit fltsim98.cfg (respectively FS2000.cfg) and add the line
Display_Fractional_Minutes=0
To the [Main] part, FS will use the same form. If you do not do this you will have to calculate by hand and change later so you might as well change it now.
Another small preparation necessary since FS2000. Edit the FSRail file ..\include\00user.inc. If you use FS2000 the variable $FS2000 must be set to 1, and 0 for FS95/98. If your template copies ..\include\00user...inc, this should be ok.
Users of FS2000 should next do the following:
To make a part of the scenery flat we have to edit Scenery.cfg in the main directory of FS2000. There we will find near the end some lines similar to the following:
[Area.073]
Title=Railways
Local=SCENERY\Rail\Scenery
Active=TRUE
Layer=73
Add to this chapter the following line:
Flatten.0=400,N49,E9,N49,E11,N51,E11,N51, E9
Save the file, start FS2000, and the region where we will make our first examples is as flat as a stamp. Now we can program our first examples and gain experience - we still have a long way to go before we start 3D design on the elevated mesh.
Now we've had far too much theory so now we'll start with our first design.
User interface
I hope you will like the user interface of FSRail after getting used to it. I did not try to copy the typical design steps of Airport or similar programs. My user interface is orientated along the steps performed when building a model railway.
Typically you would compile and look at the result now. If the result is good you would continue the same steps for the next rail. If not you can remove it to start again. Or you can modify it by clicking to the center of the object with the right mouse button - or do more modifications with a Shift+click of the right mouse. Right click and shift+right click also works on non-Rail objects in FSRail.
Some testers asked for the possibility of putting a bitmap behind the railway map. I thought about this but it does not work with the current computer technology. The typical distances of two rails in a station are 8 m so a resolution of 1pixel/2m is the absolute minimum that makes sense (FSRail places rails to a position of better than 25 cm). This is 250KB per square km and since a typical FSRail scenery is 50x50 km the minimum bitmap would be 625 MB. Indeed even in compressed format every useful map of a 100x100 km area fills up a CD. FSRail would get extremely slow and memory hungry long before any background map gets useful. Nevertheless I added a tool for bitmaps and marker that you can learn about later.
Another question of philosophy is how to access files. I decided that only FSRail.exe is allowed to read from and write to its own directory for safety reasons. FSRail can overwrite files in its own directory but nowhere else and it never touches C:\windows. My personal contribution to clean software. Without directory browsing, input file browsing is a waste of effort.
Some Information about navigation on the screen. Scale = 1 means that the total railway as defined in the header plus a border of 20 seconds fits on your full screen. When the header is changed, like when an attached rail leaves the header's range, the relative scale changes and you will see small jumps. As long as you are running FSRail in a Window smaller than your screen you can use the scroll bar or arrow keys to display a portion of the full screen. With a zoom factor greater than 1 this always shows only a fraction of the complete railway. You can shift this fraction around with the right menus or by pressing the appropriate keys, like < for shift visible part left, u for up, plus (+) or minus (-) for changing the zoom factor.
FSRail disables Menus when they make no sense in the current context. If the context is exited unexpectedly it may mean that most menus are still disabled. If this happens I recommend that you save your work, exit the program, and start it again. You can also force all menus to become accessible again by pressing the ESC Button - but then the security checks inside the program may no longer keep everything safe.
FSRail can not only place rails but also other elementary objects like polygons and roads of airport macros. These capabilities are limited. For bigger work I recommend using the specialized programs for this like AIRPORT, SCCreate, or ASD. These features in FSRail are intended for small operations like fitting roads to barriers, harbor docks to rails, and cranes to the rails in cargo stations.
At the end of this documentation you can see more detailed documentation of the menus and other technical details - but I recommend that you go through the lessons first to learn how FSRail works.
Our first railway will be an oval with a station like those found in the starter packs of all major model railways. We choose starting coordinates N50:00:00 and E10:00:00 which is in the middle of Franken between Würzburg and Schweinsfurt. Of course we could also start at any other point that is flattened, has no difficulties like rivers or roads in the way, and no complex object nearby. It is not clever to start in the middle of Chicago O'Hare. We start FSRail and get the following picture:
In the center there is a graphics window that is still empty, we can enlarge it. Going through the menus we see that there are only two interesting operations possible - Create a new or Read an existing railway. We decide to create a new one.
Now some information is needed. First the exact position of the railway. The northern and southern entries are correct by chance, we have to change the longitude. Later the program will extend the limits automatically so at the moment the central point is ok. Note that the initial coordinates that FSRail proposes have a negative longitude - they are at 15 degrees west in the middle of the Atlantic Ocean and a good place to do tests.
We do not check the fields for moving trains, 3D-design for this railway, nor the one to exclude standard scenery objects.
Now that we have the all necessary information together press OK, and we now have many more menu items available. We can lay down a rail first by using the menu "Railway" "Lay down a rail" or by clicking on the map. We are asked to define some default parameters:
The shape of many objects can be changed by parameters, the naming convention has been taken from SCASM and Airport.. We note the following (%6): If this is 0 the rail gets no overhead wire. A 1 switches on the wire, a 2 simple pylons, a 3 massive pylons, a 4 massive pylons with lamps and active night illumination for FS2000. Most macros allow for values between 5-7 also for active night illumination for FS2000 without pylons or wires.
We choose a 1 for the height parameters %7 and %8. Now the rails are 25 cm above ground. The parameter for %3 remains 0.00, until we make 3-dimensional designs for FS2000. The parameter for the embankment chooses its color, 0 omits the color completely. The value 18 is a mid green and suitable for our purpose. Values above 100 give a textured embankment, 105 is the seasonal grass texture.
The default for the range is also good. As the standard train we choose 109, a local German train (users of the demo version choose a value between 1 and 6). One remark on the parameter range: I use the last digit to choose the texture of the rails. 0 - 5 are used for the textures supplied with this distribution, 6 - 9 are for your use if you want to design your own set of rail textures. We press OK with these defaults. The next question concerns the exact position and orientation of the macro.
The proposed values are ok for now. If you want to change the position or orientation you should do it now. A heading of 0.00 means that the rail goes exactly from north to south, 90.00 from west to east. We can select the orientation to 1/100th of a degree and can enter any number between 0.00 and 359.99. Press OK.
After fixing the place where the macro is supposed to be we next have to select which macro to take. The first illustrated dialog helps us to choose the type. In our case we want a station so we press "station".
Now we get a choice of all static stations. There are stations with inner and outer platforms, and dead end stations. We choose a dual-railed station, named Stat2500, 500 m long, with two outer platforms. A detailed description of all rails of this type can be found in the online catalog by pressing the "Docu" button.
FSRail now makes a proposal on how to call the object. We leave the list on the left side untouched until we really know what we are doing. We just check again that %3 has the value of 0.00; any other value would most probably hide the station deep in the ground. %4 should have a value of 0.250. So we look for the list on the right that is also near to what we want. We have to replace the train # %7 by 109 (1 for the demo version) and %9 by 0, because we do not want to use the naming option. Looking into the documentation of the station we can see that %8 is a two digit number; the first digit describes the left western platform, the second the eastern. We set the value to 33. You should get used to entering all numbers left bound otherwise a number with too many leading blanks may get truncated. We press "OK" and the dialog disappears.
The map window reappears. You may have to scroll to see the station as a green line. The middle is shown by a small green circle. Both ends have little light blue circles, the endpoints. Endpoints are the most important objects in FSRail since the next rails will always be attached to endpoints.
Now we want to look at our work in Flight Simulator. We select in the file menu "Save and compile" and get asked for the filename.
We enter "newrails.scm" or any other name that follows the DOS 8.3 naming convention.
The compiler starts and seconds later the scenery is finished. If we get an error message we either made a wrong input or the installation wasn't correct. Refer to the end of this document for solving potential problems.
We set our aircraft to the position N50:00:01 E10, reload the scenery, and from an observers position we get the following picture (with another train, the picture shows train #1):
The train is ready to depart from the platform where some passengers stand. Next I'd suggest that you start to modify some parameters of the station to get a feeling for its possibilities. This can be done simply by right-clicking to the center of the station:
Modify the values of %6, %7 and %8, recompile, and see how things in the Flight Simulator change. You will see quite quickly that the shape of this simple single macro can be changed widely. You will also learn that altering the shape by entering numbers is not as complicated as one could assume at first glance. Again when entering the numbers enter them left bounded or at the same position as in the output but do not make longer strings that might get truncated.
The mouse can be used in the map window to give four basic commands:
Right click to an object allows you to modify it.
Shift+right click gives an extended dialog that allows you to modify the previous or next rail.
Left click to an endpoint attaches a rail.
Shift+left click to an endpoint shows all properties of an end point and allows you to modify it.
Our next task is to add a left curve to the northern end. With a left mouse click to the northern endpoint we get asked for the type of the next object with the well known dialog. We select a curve. FSRail knows that this has to have a dual width and lets us select among all static dual curves.
These curves differ in radius and angle. We select a radius of 1000m and an angle of 45 degrees and press Cu245R10.
Now we have a curved rail in our hand. Depending on the end we select it is either a left or a right curve. We want it left. Sometimes it is necessary to change the heading of the new rail slightly which can also be done in this dialog but for our example we leave the value of 0.00 as it is and press "left curve".
FSRail makes us a proposal that we can accept as it is. Heights, wires, and embankment are as defined in the defaults a few minutes ago. We compile again and look at the result in the Flight Simulator.
If for some reason we made a wrong input we can always delete the last rail via the "Railway dialog". Deletion of an intermediate rail is not as simple but is possible. Now we can add three more identical Cu245R10 curves, a 500 m straight rail, 4 more curves, and the oval is ready. But we want to make it more complicated: The back straight will be a big 500m bridge 7 m above ground. In the 25cm units of FSRail this height is 28 - 4 x 7 = 28. That's why the next curve will climb from 1 to 10, the second to 19 and the third to 28.
We attach again a Cu245R10 with second end to get a left curve. The free end, from which the ramp climbs, consequently is end 1. For this we enter the new height value of 10:
For the third rail we'll see that FSRail already gives the correct value of 10 for the second end so for the first end we enter 19, and let the last rail of this big bow climb up to 28. We can see that as long as we are doing our design on a flat area %3 always remains 0, and the parameters %7 and %8 can be used to create 3-dimensional effects.
Now we look at the result. We got a climb of 7 m on a 2250m length. That is a climb of 0,35% - suitable even for heavy cargo trains.
We now see the end of the curved ramp, in the background we will see the station at a distance of 2 km. Now we come to the bridge. Our model is Bri2500, dual railed with 500m length.
Probably FSRail has already calculated the height correctly (28) if we attached end 2. Now we have to select a train to place on the bridge and which shape we want for the bridge. On a bridge a train is visible from afar so I prefer 401 (the ICE 1). So we set %7 to 401. For parameter %9, which describes the shape of the bridge, take 213, without thinking about it too long now you can experiment with this parameter and see how the bridge changes shape. We look at the result after compilation:
We obtained a bridge with blue bridge rails and the ICE standing on it. Now we have learned how we can cross roads, rivers, and small lakes.
Now if we attach four more left curves Cu245R10 and let them climb down to 1 slowly the oval is closed. But we still have two open endpoints at the junction. If we zoom into the map (Menu "Map commands", "Zoom to mouse" and click to the position in question) to the maximum we will see that both end points are very near, the width is exact, and the length good. There is a reason for this: We first went 1 km north, then 2 km west, 2 km south, two km east and one km north. On a sphere this will only close exactly at the equator. To work more with the end point we shift+left click to it.
A new dialog waits for us. With "Distance" we can measure the distance of the two end points, it is 0 m. The experienced user can modify the details of an end point here but we are happy that FSRail solved the mathematics on a flattened sphere's surface for us and press Cancel. In the menu "End points" we select "Cleanup". FSRail will recognize that two end points are very near and remove them from the list of free end points. We have finished our first lesson.
Documentation of Static Macros:
One general remark:
Throughout all manuals, ends of rails or roads are called "northern" and "southern" ends. These are the orientations of the ends if the rail is layed without rotation, with %5=0. If the rail is rotated, the ends are rotated too. So for %5=90 (degrees), the "northern" end points towards east.
This chapter will list the most important static macros of the full version and the meaning of the parameters (%6 to %9 ). The macros not mentioned here follow the parameter convention as close as possible You can go from here to the more detailed documentation following the hyperlinks. I use the following abbreviations:
n = 1-4 width, one lane to four lanes,
lll = rail length in m, a 100 means 100 m,
rr = radius of a curve in 100m, 07 means 750 m radius,
ww = angle of a curve in degree
b=a, b, c, d, e, f, g, h, i angle between upper and lower rail of a bridge 30, 45,...,150 Grad.
y = r, l, y switch opening to the right, left, symmetric
L = Length of rail in 100m
Type | Name | Height | Meaning of %6 | Meaning of %7 | Meaning of %8 | Meaning of %9 |
Straight | Railnlll | Overhead wires | Height North | Height South | Embankment | |
Curves | CuwwRrr | Overhead wires | Height North | Height South | Embankment | |
Train macros | TrainnL | Overhead wires | Train | Height | Embankment | |
Barriers | Barrnlll | 1 | Overhead wires | Width in 50cm | Shape | Embankment |
Stations | Statnlll | 1 | Overhead wires | Train | Shape | Name |
Stationx | 1 | Overhead wires | Train | Shape | Name | |
Bridges (big) | Brinlll | Overhead wires | Train | Height | Shape and Bridge rail | |
Bridges (small) | Bridgenn | 28 | Overhead wires | Opening in 50 cm | Bridge rail | Embankment |
Bridges (Rail over rail) | Bridgknn | 1/28 | Overhead wires lower rail | Overhead wires upper rail | Bridge rail | Embankment |
Adapter | Paynnlll | Overhead wires | Height North | Height South | Embankment | |
Bumps | Bumpnlll | Overhead wires | Height North | Height South | Embankment | |
Wire ends | Endnlll | Overhead wires | Height North | Height South | Embankment | |
Road tunnel (not FS2000 ) | RoTunlll | Overhead wires | Surface Color | Height | Embankment | |
Highway tunnel (not FS2000) | HwTunlll | Overhead wires | Surface Color | Height | Embankment | |
Crossing | Crosnn50 | Overhead wires | Height North | Height South | Embankment | |
Crotnn50 | Overhead wires | Height North | Height South | Embankment | ||
Switches | Snnnylll | Overhead wires | Height North | Height South | Embankment |
The following rules apply:
Overhead wires: 0=no wires, 1= wires only, 2=wires and line pylons, 3=wires and massive pylons. 4=wires, massive pylons and lamps. The values 5-7 have special meaning for night illumination effects in FS2000.
All heights in %7 or %8 are given in 25 cm units.
For embankments the hexadecimal number between 00 and FF selects the corresponding number from the currently used palette. 0 suppresses the embankments and saves a few bytes per macro, especially in curves. The values 100 to 105 select different textures (eg. 100 selects the texture grass.r8). If you want to have your own texture selection add it to the file ..\includes\banktex.inc. The parameters for shape and bridge rail usually have several digits you can take the meaning from the specific documentation.
Now you should know enough to start big projects with static railways. Collect some experience before you start with moving trains which are obviously much more complicated and need more parameters. But even for static railways I can present something that makes life much more complicated, this complication has the name Flight Simulator 2000.
Static railways in Flight Simulator 2000
We made the examples up to now in FS95/98 or with FS2000 and a flattened scenery. If you tried the examples with FS2000 without the flatten switch you will have seen that many details do not fit. Sometimes the rails do not fit to each other, sometimes the ground is showing through the rails. This is the basic reason: While the landscape was flat from FS1 to FS98, with some mountains on top of it, the terrain in FS2000 is 3-dimensional, with hills, valleys etc. Each time the terrain is higher than the rail it will cover it. What to do?
You have two choices: Either you make the landscape flat or you build a 3 dimensional railway. If you have ever built a railway you'll know that the first is much simpler and the second is a much nicer solution. Since we already have experience with the first solution we will try the second now. It is a good idea to start with making the complicated areas (like the big main stations) flat at a suitable height and the connecting rails 3-dimensional.
FSRail supports you in this. Select from the menu "Map commands" "Create flatten area" and click clockwise or counterclockwise to the four edges of the rectangle you want to flatten. You'll see that the gray lines do not end exactly where you wanted. The flatten switch only works on degrees and minutes so FSRail rounds. The height now must be entered in feet. Now go to the "Menu Dialogs" "Edit railway" and press "Flatten switch FS2000". A flatten.txt is created that contains the graphically created flatten commands. You now can edit Scenery.cfg and include these lines.
Now you start to build the overland lines through the terrain. This is possible but takes much more time than the design on a flat table. You should follow the following rules:
In FS2000 it is impossible to build a trench into the ground so all rails have to be placed on a small embankment. In flat areas it should be enough to use values of %7 and %8 like 3 or four to stay above ground. If you enable the embankment (%9 > 0) the waves of the ground partially cover the embankment making the three dimensional effect much more pronounced. The steeper the terrain, the higher the embankment, and the shorter the rails have to be.
Look at each rail. Most of the time they will not fit since the height of the middle points is different. Now you right click on the rail and raise or lower the ends until they fit. If you set $FS2000 to 1 you can use any value (but the 0) for the height of the ends. After changing this several times you will have enough experience to get it correct on the first try. If you have a constant slope it may be a good idea to lay a rail without embankment as near to the ground as possible. You will learn after the chapter on moving trains how to make real 3D design by using the 3D option of FSRail and the parameter %3 explicitly - by now I assume you forgot to learn to fly the helicopter due to many other new plans and ideas.
You didn't succeed with this approach? Read more in the chapter on
.
Like with Airport, SCCreate, or ASD most testers wanted to use a background image to create a railway in front off. Without such an image, only coordinating via coordinates, they missed the orientation.
Such background images can come from many sources:
I experimented a lot with this. There are some problems that do not appear with other software. The first is the size of the bitmaps. A FSRail scenery can easily cover 50x50 km, the precision of FSRail is a few cm - the distance of rails in stations is 8 m, a useful bitmap with 1m/pixel leads to bitmaps of GB size. The second problem is the number of potential bitmaps. The third is that FSRail adapts the scale dynamically to the size of the railway making the conversion from pixel to coordinates a complicated and consuming operation. The biggest problem is the dynamic range. The Factor between the scale used for an overview often differs by a factor of 128 with the one used to attach rails. So a nice bitmap would show up as big blocks of pixels without giving you help when you need it most.
In addition for all parts of the scenery the same scale is not optimal. For overland railways in simple regions 1 : 200.000 may be sufficient, in inner cities you may want to use 1 : 25.000. Usually only a small fraction of a scenery is covered with railways so you do not need bitmaps for most of the area.
For the following example I used a screen shot of a map 1 : 200.000 of the Rhine river near Boppard. For my tastes 1 : 200.000 is to big but this image only covers 6 x 9 km with 989 x 616 pixel.
The map software tells me that the western border of the map is at 7:30:47, the eastern at 7:41:09, the southern at 50:11:20 and the northern at 50:15:28. This information can also be obtained from satellite photos and other design programs. We will learn now how to use this map in FSRail. Note that the maximum allowed size for a bitmap is your current screen size.
First we create a new railway with the following coordinates:
We select from "Map commands" "Load bitmap" and get the following dialog:
We can select the file via browse, if we do not know its name or location, and have to modify this to change the properties of the bitmap:
If we do not know width and height we enter a 0 for both. FSRail tries to obtain these numbers from reading the bitmap. If it fails we can enter these numbers the next time we load this bitmap. With version 1.14, be sure to keep the exact format of the coordinates.
We press OK and get a screen with the bitmap loaded.
FSRail will store these coordinates in your scenery and for this particular scenery you can call it again as often as you want. Looking into the available menus we see that most are grayed out. We only find under "Map commands" "Color of marker".
Markers are simple FSRail objects. Small flags which have three properties: two coordinates and one color. We start with choosing the color blue and set a row of blue flags along the river by simply clicking with the mouse. To the stations we set purple markers and green along the rails. If you want to remove the last marker hold down Shift and click with the left mouse button. If you hold down Ctrl and click with the left mouse button the last marker will be removed and a new one placed to the current position thus correcting the previous action.
With a right click we leave the bitmap..
Now all known commands are available again and, in addition, all important points got flagged. You will not always need as many flags as in the above example. Let us make a right click to the station of Boppard, that is the purple flag to left of the middle near to the place where the two lines come together.
Now we see all properties of the marker and can change them if we want. It is as if you were at the station with your GPS receiver. If we choose "inactive", the flag will disappear. With "Map commands" "Reset maker" all inactive markers of the current marker color become visible again. Another useful tool is hidden below the distance button. Select the marker to the right of the station with the right mouse button. Press "distance" and click on the button left of the station with any mouse button and you get the distance information:
This not only allows you to estimate distances but also tells you at which angle to place the station.
Next we want to use a second bitmap of this region and I'll use the FSRail file that I used to repair the Rhine valley some minutes ago. A screen shot of 839 x 527 pixels. The coordinates of the borders are obtained from FSRail:
As result we see the elevation polygons of Rhein1.scm and in the foreground the markers of the river and railways. Let us put light blue markers to the corners of the polygons.
Now we've got input from a second source, FSRail allows using up to 50 bitmaps per scenery and to place more than 2000 markers. Now the orientation should not be too difficult.
Selecting "Load bitmap" again we see that FSRail remembers both bitmaps.
We only have to select the bitmap we want next, or choose a new one via browse, and immediately we see the bitmap and the scaled FSRail scenery. The name of the bitmaps can be up to 100 characters long and contain directories. This allows selecting a new railway by browsing or entering the name and entering the borders coordinates.
You can choose any bitmap.
If the list gets longer we can scroll it.
I hope this add-on makes the usage of FSRail simpler without imposing any new restriction.
Introduction to moving trains (Full version only).
You have enough experience with static rails? Good. Now some theory in the beginning.
Those of you who have already some experience with Flight Simulator will have met "dynamic scenery" somewhere. This is used to move planes on an airport, start, and fly them. My first attempt was to try this with trains too but I found some difficulties that I could not solve. The most difficult was the elementary fact that trains always have to be on rails. The user (or the program) would have to enter thousands of coordinates exhausting the capacity very fast. For FS2000 no way exists to avoid the bleed-through of dynamic trains through 3D objects like platform roofs. And no expert had any idea how to close and open a barrier for a moving train.
The way I have chosen does not pack the train into the dynamic scenery but into the static scenery that changes shape with time. As a consequence the train is always a part of the supporting rail as with the static rails. So the moving train rails consist of 3 parts: The visible rail, the train(s) and the motor that moves the train.
The big advantage is that the same train code can be used for static and moving trains - the 'motor' is in the rails. Only those trains that bend in a curve have to load a bit of additional code.
These three parts in every rail is the reason why they use so much buffer. To keep this within acceptable limits the macros were simplified and the number of trains is limited to two in both directions for most of the rails.
Nevertheless memory usage is high and almost independent of length. That is why this concept needs long objects to make efficient usage of the limited buffer of FS95 and FS98 and length of a km or more are necessary.
To avoid effects where rails shine through trains moving rails have to start at ground level in FS95 and FS98. These three facts (Transition at ground, simpler design, great length) make the moving rails much less handy than the static ones. A good design will always use both; the long moving ones for the trains on the main lines and static ones for detailed stations, connections and local lines.
A central coordination is needed to move the trains from one rail to the other. This is hidden in switch towers, tiny buildings which are mandatory for any movement. As long as one switch tower is within the range of the observer everything runs smoothly. With two switch towers the movement becomes jumpy but small overlap cause no problem. The map function of FSRail draws the ranges of the switch towers as white ovals. If these overlap slightly and have no big holes the traffic runs optimally. A switch tower in one scenery file can control the train of another file.
Since the trains are part of the rail their timing properties are also a parameter of the rail. The schedule is part of the design and free driving is impossible. With the hundreds of trains a big railway contains this would be impossible.
To keep the trains running the movement is repeated after some time. The time after which everything starts from new is called a cycle. The elementary time that is accessible to the user is called Slot and is approximately 6 seconds long. The variable $mir in 00user.inc fixes how many slots a cycle has. The FS98 - scenery I created used $mir=50 which means that trains run every 5 minutes. For the original outside of Tokyo this is a dream. For a model railway and for the programmer waiting for a train it is an eternity . For the newer FS2000 scenery a value of 56 has been used. For scenery with single moving rails a bigger value will be useful. The maximum is 99.
The designer fixes when (Slot #) a train enters a rail in a south-north direction and when in north-south. For some macros the duration of the train is fixed but for others (stations, curves) it can be variable. All moving rails get this information with variable %8 and it is the task of the inner motor to move the train in time from one end to another. FSRail stores when a train crosses every end point so it can calculated timing correctly for each attached rail.
Another consequence: If the length of the rail, and the time the train needs to pass, it is fixed so is the speed of the train. A good design will try not to change the speed too much between two rails - but now we are already too far into the details and will start immediately with our first design - if we have the full version.
Three dimensional railways in the "elevated mesh" of FS2000
Did you work through all examples with FS98 or with the "Flatten Switch" in FS2000 ? And you successfully created your own trains and macros? Want to learn the last detail? Not yet? Go back - there is still time. Yes? I warn you. Forget everything. Nothing changed but the mathematics of space.
In the example on static rails we could change the height of the ends carefully to adapt to the terrain but with moving trains this is not possible. We have to work with explicit heights from the beginning to the end.
Fortunately we still have one parameter unused up to now: Altitude (%3). Now we will concentrate on this and you know the rest already. As soon as the value %3 is not equal to 0 all macros change a lot internally, they get massive basements reaching deep into the ground. That is why %3=0 is mandatory for FS95 and FS98 as basements do not fit on the old table.
The way to design for FS2000 without the "flatten switch" is as follows: First we detect the secrets of the terrain. With the map view we place our aircraft to the current position at altitude 0. Calling the map again we can read the current altitude at N50 E10 and we find 255 m. Better still if you learned to fly the helicopter then you can fly from spot to spot to discover the altitudes.
Look around carefully? Is it possible at all to place a railway into that landscape? Or do we try to follow downstream along a river which suddenly climbs by 100 m? Do we have to modify the terrain? Currently the flatten commands are the only way to do this and we all are waiting for tools to modify the mesh itself.
We add 1 or 2 to the measured altitude and enter the result as parameter height (%3). The result may look like (the example is M1Ra2200):
We see the rail but the right end is partially covered by the landscape - so we have to lift the rail
We change the rail until it is fully visible and suitable as a starting point of our railway. If it is no longer very close to the ground and we have to chose an embankment color or texture.
With %9=100 the above example is already convincingly three dimensional. If we want to add more rails to the right end they will disappear in the hill rather quickly.
To solve this problem moving ramps have been introduced. We select moving straight rails, "Ramps for FS2000", and get a choice of ramps with 1% or 2% climb rate that can manage between 2 and 12 m height difference. For all these ramps the northern end 1 is the higher end, the southern end 2 the lower. For example: If you want to climb by 4 m with 1% the suitable rail is M1R2Cl04. This rail has as southern height 2m and northern height +2 m. Attach to the first rail (257 m) the southern end of the ramp and the height of the middle of the rail is 259 and the height of the northern end is 261. FSRail fortunately makes this calculation for us in most cases if we've checked the "3 D Scenery" while creating the railway.
Ramps are available with one and two degrees climb rate. Since they have different lengths to the standard moving rails a set of horizontal moving rails is available that can be entered as user defined rail with the same length as these ramps. For special applications more rails are available.
M1R2Ch02 climbs by 2 m on 230 m length, this is 0.5 degrees. M1R2Ch01 (125 m length) and M1R2Cl01 (62.5m) only have a height difference of 1 m. Their special purpose is to complement the switches M1swi222 and M1sws222 to allow slightly raising or lowering a switch compared to a station in a sloped landscape. Ramps also exist for single and dual width curves. Each of them has a curvature of 15 degrees and climbs by 4 m and they differ by radius and by the orientation under which they climb. This makes curved ramps to bridges possible for FS2000 scenery.
3D design makes it necessary to check every step carefully. If the slope is too flat the rail disappears into the terrain. If it is too high we get unnatural high embankments. In hilly terrain each km needs a lot of patience until it fits perfectly. But I remember that I needed two weekends to build a 360 degree dual curve to change between two levels of my model railway - and now it is your turn to build your virtual and your real model railway.
Since FSRail can even modify the terrain you should be able to build railways everywhere. Another tip for this feature: Each elevation polygon carries a small box at the first point. Right click or shift+right click if you want to change the elevation polygon.
Modifications of the 3D Terrain
You want 3D and cannot use the default scenery? You want to follow a river and find it climbing uphill steeply? Bad news. There is, to my knowledge, no design program yet to modify the mesh. Wait - one exception - FSRail. You'll need SCASM 2.39 or above to use this feature. You see here the Rhine valley as in the MS default scenery.
Select "Map commands" "Elevation". Click to a polygon you want to be at a fixed height and right click to the last point. Enter the height you want. FSRail will display the polygon. The result is impressive:
A nice valley opens up. Look at the example Rhein1.scm to see how this feature can be used to repair the default scenery. It seems that Polygons of 3 to more than 12 points can be set to an elevation. FSRail allows editing of elevation polygons of up to 14 points. Several elevation polygons can be attached to each other.
So FSRail contains a method to modify the 3D Terrain. With "Map commands" "Elevation" you can select a polygon and set it to a fixed height. I've heard that these may overlap but I do not recommend this. Between polygons of different height ramps are mandatory.
The precision of the points that are actually used is not known. I tested this by changing them by 10 seconds make definite differences. I observed that slight changes of the polygon can make big differences on the shape of the terrain. I assume this depends on whether a mesh point gets inside or outside the polygon.
You see here a sample of 5 elevation polygons that I used to repair the Rhine valley. You see small boxes at each polygon. Shift+right click to one and you will get a list of the points of the polygon:
You can edit this list to modify the position of the corners of the polygon to place them more precisely. Polygons can be concave. It is not known how many corners are possible. In the Microsoft$#174; scenery polygons between 3 and 9 corners have been found. I have the impression, that a 12 edge polygon still works - FSRail technically can handle polygons with 14 edges. Please experiment with this feature - and check the terrain before you start laying the rails. If the result is different to your expectations try to make simpler polygons.
Attaching several elevation polygons of different altitude I found that the areas are not flat but rise continously. Together with the 3D ramps this makes placement of railways into river valleys simple. Since a neighbouring elevation polygon affects the terrain within another I recommend you place the next two or three elevation polygons before you start to lay down rails.
In the directory ..\Examples you find a scenery BadKreuz.scm. Here you can study the combination of exclusion of standard objects, background bitmaps, markers, elevation polygons and 3D railway design.
At one place I found a river climbing over a mountain and this mountain could not be affected by elevation polygons. It took me quite a while to understand that a nearby airfield (which is in reality on top of a hill) was surrounded by a rather large Flatten area. A Flatten command of 1 x 2 minutes size was able to lower the southern end of this hill to get the terrain flat. So it seems that flatten lines always overwrite elevation polygons.
If you want to enter deeper into the creation of mesh terrain, follow this link to read about creation of DEMs using FSRail.
This chapter summarizes several details that have already be explained in the text for reference purposes.
There are several selections that are assumed to be valid for all macros of a scenery. Examples are the form or color of the pylons and timing of trains.
These selection are done in a file ..\includes\00user.inc. Templates for the three different versions of FS are available. Standard values are for FS2000:
Uvar( $arvis 5 )
Uvar( $FS2000 1 )
Uvar( $mir 1 )
Uvar( $pylshape 1 )
Uvar( $slots 56 )
Uvar( $framrate 5 )
Meaning of the values:
1 green grid structure DB
10 - 14 massive structure DB in grey, green, blue, brown, dark grey
15 19 as 10-14. Foreseen for user choice of colors
20 - 24 massive structure as SNCB in grey, green, blue, brown, dark grey
25 29 as 20-24. Foreseen for user choice of colors
The following parameters only affect moving railways:
Instead of editing the files you can use the menu "Dialogs" "Change macro settings" to change the values.
For the different entries the combo boxes contain commented proposals but you can also enter other values to the fields.
The embankments of the static railways and the 3d moving railways can be selected by parameter %9 for most of the macros. Avoid drawing embankments when one of the ends is at height 0. For FS95 and Fs98 you can save valuable buffer space by omitting small embankments. %9 is a hexadecimal number with the following meaning:
To select the texture all macros use one file (..\includes\banktex.inc ). This makes it very easy for you to add more textures for values of 106 or above.
Overhead wires
For all macros the overhead wire is switched with %6. For %6 = 1 wires only are drawn. %6=2 switches on lined simple pylons, their shape and color depends on the value of $pylshape. For FS95 use only %6=0, 1 or 2. For %6=3 the pylons get massive. %6=3 and $pylshape=1 selects massive grid pylons. With %6=4 the massive Pylons get lamps on top making active night illumination for FS2000. Experiment with variable $pylshape. Some macros support the following values for extended night illumination for FS2000:
%6=5: No pylons, but illuminated rails and trains. %6=6 Night illumination without wires. %6=7 like 6 with additional lamps.
Only a few files (..\includes\plyin... ) make all pylons. For the advanced user it should not be too complicated to make your own national shape. The color of all lined pylons is selected in the file (..\includes\plycoll.inc ) and for massive pylons (..\includes\plycols.inc). If you want to introduce another pylon color this is the place to do it. Keep the values 10 to 14 and 20 to 24 as they are and replace 15 to 19 and 25 to 29 with the colors of your choice.
This part of the documentation will explain the use of the menus. Many things explained in the pages above will not be repeated.
Menu | Item | Explanation |
File | New Railway | Creates a new railway. A dialog asks for the coordinates and properties of the railway. Greyed out if a railway is in memory. Enables most operations. |
Read Railway | Reads a railway from disk. Greyed out if a railway is in memory. Enables most operations. | |
Save Railway | Saves a railway to disk. Will warn you if you change the name to an already existing one. It is a good idea to change the name from time to time to have incremental backups of your work. | |
Save and Compile | Saves a railway to disk. Will warn you if you change the name to an already existing one. Creates a batch procedure 'BRailMAKER.BAT' from the template 'BRailMAKER.TXT' and the current filename. | |
Close | Closes a railway without further warning. Enables "New Railway" and "Read Railway" and disables most other operations. | |
Exit without save | Exits without warning and save. If you accidentally exited without saving check the file 'RAILTEMP.TMP' which may contain a backup of the railway. | |
Import from FSRail | After opening a FSRail railway this allows you to import markers, bitmaps, exported exports or switch towers from another FSRail file. This will simplify building big projects consisting of several files. | |
Dialogs | Edit railway | An extended dialog that allows most operations. Specially useful to suppress most program messages by unchecking the box and to create the flatten lines for 'SCENERY.CFG'. |
Modify rail parameters | Interface to make entries to the geometry database. | |
Modify macro settings | User interface to modify the file 00user.inc and to create the template BRailmaker.txt | |
Map options | You can select the grid and the color of the markers to show. | |
Railway | Lay down a rail | Lay a rail at a free position not bound by preceeding operations. |
Attach a rail | Attach a rail to an open endpoint. Most rail properties will be calculated from the endpoint parameters. | |
Remove last rail | Remove last rail and restore the endpoint this rail was attached to. Only way to really delete a rail. | |
Switower | Place a switch tower macro. Click where you want it. You then have the possibility to shift it. FSRail will show the range of the switch tower as a white ellipse - so you can arrange switch towers so they cover most of the area and only have small overlaps. | |
Modify rail | Allows selecting a rail to change its parameters. You can also deactivate a rail. This is almost the same as a delete but the endpoints attached this rail have to be reactivated. If you press "reactivate endpoints", all deactivated endpoints of this rail will be reactivated. Maybe you'll have to delete a few of them manually. This is the same as the shift+right click to a specific rail. | |
Define defaults | Sometimes you may want to change the defaults - like when changing %6 from electrified to a Diesel rail, or the rail texture in %10. | |
Place comment | Did I ever tell you that FSRail is an assembler programming tool? A comment never makes assembler less readable. A good idea is to insert comments with station names. | |
Lift up 25 cm | This is only enabled for 3D design. Between the different patches of FS2000 the level of the terrain changed by one m at least. The chance that it will change again with the next version is higher than the chance that Microsoft gets split up. No problem: You can lift your railway up and down. | |
Lift down 25 cm | This is only enabled for 3D design. Opposite of above. | |
Shift North-South | Some testers requested a
possibility to slightly shift a railway horizontally. You
can shift in steps of 10 seconds (324 m), 1 second or 0.1
second ( 3.24 m ). Attention: When shifting in North-South direction on a sphere, lateral positions are not conserved. I estimate that shifts up to 2 km are tolerable, more will give visible effects. |
|
Shift West-East | Some testers requested a possibility to slightly shift a railway horizontally. You can shift in steps of 10 seconds (324 m), 1 second or 0.1 second ( 3.24 m ). | |
Memory usage | For a grid on the scenery this calls the program SCMEM from Manfred Moldenhauer. Size and color of the dots indicate buffer usage under the assumption that all scenery is in the \Program directory. Requires SCMEM to be installed in the same directory as FSRail. | |
Coordinate | Click on the map and get the coordinate. | |
Endpoints | Modify endpoint | You can select an endpoint and modify all its properties. This is the same as shift+left click to an endpoint on the map. |
Export endpoint | You can export an endpoint. In the source, the instruction ";FSRail AddEP" is replaced by ";FSRail ExpEP". You can move this line to another file to continue a line. | |
Cleanup endpoints | Nearby endpoints are removed automatically. This happens when adding crossings or switches to two rails. | |
Reimport | All exported endpoints are activated again - in case you want to use them in this file again. | |
Calculate distance | Calculate the distance between two endpoints. | |
Map commands | Select endpoint | Identical to shift+left click to an endpoint |
Select object | Identical to shift+right click to an object | |
Scale = 1 | Resets the scale to one. This scale is defined as that of the railway in the header so to fit on your full screen. | |
Zoom in | Enlarges the scale. You can select which quarter of the screen you want. | |
Zoom in to mouse | Enlarges the scale by 2. Click to the position around which you want it enlarged. | |
Zoom out | Reduces the scale. | |
Roads and rivers | Allows creation of simple roads or rivers. You click twice to start and end the road. Then are asked for the color and the layer. For 3 D designs the roads and rivers are always textured. Note that for FS2000 the layer has to be divisible by 4. Higher layer numbers can cover the lower. So if you cross a river with layer 8 with a road with layer 12 the road will cover the river. | |
Polygons | Left click to a series of points. Right click terminates the input. You can select the color. This does not work with textured polygons under FS2000. | |
Airport Macro | You can add an airport macro to FSRail scenery. Click on the position and edit the proposal. Note that some airport macros require special calling with %13 = v2. If some parameters are not correct the compiler may go into an endless loop. | |
Village | Place a village at the mouse position. A value of 1-3 only draws polygons, 4 to 7 add houses. | |
Create flatten area | Click to four positions clockwise or counterclockwise. They will be rounded to minutes and written to the internal ;FSRail flatten line. Use the Dialog menu to create the 'flatten.txt' file to add to 'scenery.cfg' | |
Elevation | Modify the terrain. Click to some points ( up to 14?) that you want to be the corners of a polygon to be set to one altitude. Right click to the last point you want to enter. | |
Color of marker | Sets the colors of the markers for the following marker operations | |
Set Marker | Sets a marker to the next mouse click. With a right click on a mark this can be changed or the distance to another marker measured. | |
Load Bitmap | Loads a background bitmap and sets the program to background mode. You can set as many markers as you want (2000 or more) to carry the coordinates of the most important objects to FSRail. | |
Reactivate Marker | Reactivates inactive markers. All markers of the current color are reactivated | |
Delete active markers | All active markers of the selected color are deleted. If you want to keep a few make them inactive with a right click, select the color, delete all active, and reactivate the inactives. | |
Window | Full screen | You can switch back with 'Alt+Enter' |
Help | About | Gives an About box |
Intro | Gives a first introduction.
You can call the online documentation from here. The
location of the documentation is: The directory '..\documentation' for the English documentation on all non-German systems. The directory '..\dokumentation' for the German documentation on all German systems. |
|
1 | Sets the scale to 1 and centers | |
< | Shifts the observer's position 100 pixels west. | |
> | Shifts the observer's position 100 pixels east. | |
Up | Shifts the observer's position 100 pixels north. | |
Down | Shifts the observer's position 100 pixels south. | |
- | Reduces the scale | |
+ | Increases the scale |
Shortcut keys allow the keyboard to call menus in the standard windows way: For example, Alt < shifts the observers position left.
All macros and the design program have been used by myself and several testers resulting in many reported and fixed bugs. Nevertheless I can not guarantee that all 1500 macros, 700 include files, and the design program are free of bugs. It is extremely likely that they contain bugs. I do not know anything about incompatibilities between FSRail and other add-ons to Flight Simulator, there must be some because the number of available user parameters is very low. Here is a list of common errors and their removal:
Errors during compilation.
Representation wrong:
This list will get longer with more experience. Please do not hesitate to report problems but do give me some time to answer them. The following web site will contain fixes, patches, and add-ons to FSRail. Please check regularly:
The following support group will be set up for discussion of FSRail - specific issues:
news://news.simflight.com/support.fsrail .
If you do not find your problem solved there, or want to contribute in any way to FSRail, you can also send an email to support@fsrail.com .Users of the demo version will understand that users of the full version are served with priority. Problems can be evaluated better if you provide the following information:
Please understand that the above information is necessary to analyze a problem and that I cannot guarantee to follow every question down to the ground. But I will try.