Code Monkey home page Code Monkey logo

maszyna's Introduction

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

maszyna's People

Contributors

tmj-fstate avatar milek7 avatar firleju avatar maciek001 avatar antonisauren avatar carmel4a avatar shaxbee avatar mrozigor avatar mizdebsk avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.