/maszyna

MaSzyna Train Simulator

Primary LanguageC++Mozilla Public License 2.0MPL-2.0

Build status

MaSzyna is a free, polish train simulator. MaSzyna executable source code is licensed under MPL 2.0 license, and comes with huge pack of free assets, on custom license.

Getting Started

Prerequisites

List of requirements for compiling executable. For usage/runtime requirements see here.

In brackets there are oldest tested versions.

1. Software:

  • CMake (3.0)

  • make

  • Compiler supporting C++14*. Tested under:

    • Visual Studio (2017)
    • GCC (8.2.1)

    Note: MinGW is not supported now. There were some issues with it.

    * technically, in source code we have some features from C++17, but even older compilers should handle that. You were warned.

2. Dynamic libraries:

  • GLFW 3.x (3.2.1)

    Note: There's some issue in our build system. If link error occurs, use -DGLFW3_LIBRARIES='<path>' in CMake.

  • GLM (0.9.9.0)

  • serialport (0.1.1)

  • sndfile (1.0.28)

  • LuajIT (2.0.5)

  • GLEW (2.1.0)

  • PNG (1.6.34)

  • OpenAL (1.18.2)

  • pthread

  • Python 2.7

3. OpenGL 3.0.

Compiling

MaSzyna should work and compile natively under Linux and Windows. Other platforms are not tested. Full list of requirements is here for runtime, and here for building.

Note: Currently our dev team is too small to fully support compiling process. We do whatever we can, to fix and improve it, but still there may be some issues.

If you have any problems, feel free to send issue, or write to us on our dev chat.

Known issues:

  • GLFW may have some problems with linking.
  • there may be problems with order of linking x11, and other libs.

Commands will be written in Bash. No-Linux users must do in corresponding technology.

  1. Clone source code. You may download source code as ZIP archive, or clone it by Git. We won't provide tutorial to second one, the only note worth mention is that, repository doesn't contain submodules, so --recursive is not needed. From now, it is assumed that your working directory is inside directory with unpacked source code.

  2. Make directory, where build files will be stored, then enter inside it.

     $ mkdir build
     $ cd ./build
    
  3. Generate makefile by CMake. Call:

     $ cmake ../ [flags]
    

    where flags may be:

    Flag Meaning
    -DCMAKE_BUILD_TYPE=Debug For debug build
    -DCMAKE_BUILD_TYPE=Release For release build
    -DGLFW3_LIBRARIES='<Path>' To set path to GLFW. If other linker errors are present, it is possible to set other library paths as well, to do that corresponding variable must be fund in CMake files, then passed after -D.

    Other CMake flags may be passed as well.

  4. After generation makefile, run make.

     make
    
  5. If everything went well, compilation process should be finished.

Installing

As we don't have any install script, as make install, executable must be copied to install directory "by hand".

Executable will be in ./bin directory, named as: eu07_yymmdd, or eu07_yymmdd_d, where:

  • yy is year,
  • mm is month,
  • dd is day
  • _d is debug flag.

If you currently have MaSzyna assets, just copy executable to install directory. You can download assets from eu07.pl.

Note: Linux users may have issue, that Rainsted (third party starter), may not detect executable. In that case it is possible, to simulate Windows executable, by creation shell script, like this:

./eu07.exe (which is technically shell script)

#!/bin/sh
./eu07 $1 $2 $3 $4 $5

If it still won't work you may try to increase (by comments) file size up to 1MB.

Trailer

IMAGE ALT TEXT HERE

More...

Minimum Requirements

  • OpenGL 1.5+
  • 15 GB free disk space
  • sound card, support for OpenAL