This application aims to simplify the process of adding and removing route simulations to the local installation of Railway Operation Simulator (ROS), a railway signalling simulation by Albert Ball.
Full documentation can be found on the project website.
On first launch you will need to specify the location of the RailOS executable on your system, this location is used to determine where add-ons should be installed. Once this is set the location will be cached and so no longer required. Functionality for altering the installation will be added at a later date. Within this manual ${ROS_HOME}
refers to the directory containing railway.exe
/RailOS64.exe
/RailOS32.exe
.
Packages are installed by selecting "Install Package" and pointing to a downloaded archive containing the project files. These files will be extracted to the relevant locations. If a package/route metadata TOML file is not present within the archive one will be created and saved in ${ROS_HOME}/Metadata
, this file is formatted in the standard described on the ROS project template GitHub repository here. Only add-ons installed using this application, and so having a metadata file, will be listed in the package manager.
Uninstalling packages is simple, select the entry from the list of installed add-ons and click "Uninstall Package".
A new package can be created by selecting "Create Package" and filling in the relevant information. All fields are mandatory apart from "Sessions" and "Contributors". Note documentation must be either PDF or markdown, Microsoft Office files will not be accepted as they are not easily cross-platform compatible. Documentation for a package is mandatory (a simulation should have a README!).
The buttons next to the file declaration fields allow you to browse for files to add, if more than one file is included the paths are comma-separated values.
Field | Description |
---|---|
Package Name | Name of the package as it would appear on a file system. |
Display Name | Name of the package as it would appear on a listing. |
Description | A brief description of the contained simulation. |
Version | A semantic version of the form MAJOR.MINOR.PATCH for this package. |
Author | The leading author of this project. |
Contributors | (Optional) Additional authors (separated by , ). |
Railway File | Single .rly for this simulation. |
Timetable Files | All .ttb files for this simulation (separated by , ). |
Session Files | (Optional) All .ssn files for this simulation (separated by , ). |
Documentation Files | Documentation files (.pdf , .md ) for this simulation (separated by , ). |
Graphic Files | (Optional) Graphics files used in map (separated by , ). |
Image Files | Screenshot image files to include (separated by , ). |
Country Code | Two letter country code of route origin in this simulation (FN if fictional). |
Factual | If simulation is a factual representation. |
Year | Year for which this simulation is a representation (can be any value if fictional). |
If a zip file containing a RailOS executable is selected the program will assume it to be a copy of the main ROS program and ask if you wish to upgrade your local installation with the files contained.
Clicking the "Advanced" checkbox shows additional options for package installation.
Installations can be performed from a GitHub repository containing the required files to define a project. Clicking the "GitHub" button under the advanced options opens a dialog in which the user can enter the relevant GitHub project. The project is specified in the form "github-user/project-name". By default the user is set to "Railway-Op-Sim" as authors are encouraged to develop under this organisation which offers templates to ensure projects are in the correct form. There is also the option to specify an alternative branch to "master". Clicking "Ok" will download an archive of the project and install it.
To build this application you will need an installation of Qt5 or Qt6 on your system, you will need to also ensure openssl
is installed on the system.
Install openssl
using the relevant package manager for your distribution. Build using:
cmake -Bbuild -DCURL_USE_OPENSSL=ON
cmake --build build
you can also speed up the build process by installing libcurl-dev
/libcurl-devel
, make sure to do this after OpenSSL, you will not need the CURL_USE_OPENSSL
argument if you do this.
The application is built on Windows using packages/applications installed via the Chocolatey package manager:
choco install cmake
choco install curl
It can be built using the included script from within the source root directory:
bash release/build.sh