jamespetts / simutrans-extended

Sources for the Experimental branch of the popular game Simutrans
http://forum.simutrans.com/index.php?board=53.0
Other
82 stars 53 forks source link

Simutrans-Extended

1) About

Simutrans-Extended (formerly Simutrans-Experimental) is a fork of the popular open source transport simulation game, Simutrans. Your goal is to establish a successful transport company. Transport passengers, mail and goods by rail, road, ship, and even air. Interconnect districts, cities, public buildings, industries and tourist attractions by building a transport network you always dreamed of.

1.1) Download Simutrans-Extended

You can download Simutrans-Extended from:

Simutrans-Extended is updated nightly, so you will need an up-to-date game to play network games. For this purpose, an automatic updater is available (requires Java 9 or later). If you play Simutrans-Extended on Steam, the Steam client will take care of updates for you.

1.2) Helpful links

2) Compiling Simutrans-Extended

This is a short guide on compiling Simutrans-Extended. If you want more detailed information, read the Compiling Simutrans wiki page. Note: A system set up to compile Simutrans should be able to compile Simutrans-Extended.

If you are on Windows, download either Microsoft Visual Studio or MSYS2. MSVC is easy for debugging, MSYS2 is easy to set up (but it has to be done on the command line).

2.1) Getting the Source Code

You can download the latest version with a git client:

git clone https://github.com/jamespetts/simutrans-extended.git

2.2) Getting the libraries

This is a list of libraries used by Simutrans-Extended. Not all of them are necessary, some are optional, so pick them according to your needs. Read below about how to install them.

Library Website Necessary? Notes
zlib https://zlib.net/ Necessary Basic compression support
bzip2 https://www.bzip.org/downloads.html Necessary Alternative compression. You can pick this or zstd
libpng http://www.libpng.org/pub/png/ Necessary Image manipulation
libSDL2 http://www.libsdl.org/ Necessary* *On Linux & Mac. Optional but recommended for Windows. Graphics back-end
libzstd https://github.com/facebook/zstd Optional Alternative compression (larger save files than bzip2, but faster)
libfreetype http://www.freetype.org/ Optional TrueType font support
libminiupnpc http://miniupnp.free.fr/ Optional Easy Server option
libfluidsynth https://www.fluidsynth.org/ Optional MIDI playback recommended on Linux & temporarily on Mac
libSDL2_mixer http://www.libsdl.org/ Optional Alternative MIDI playback and sound system

You will also need pkgconfig (Unix) or vcpkg (MSVC + CMake)

2.3) Compiling

Go to the source code directory of simutrans-extended. You have three build systems to choose from: make, MSVC, and CMake. We recommend make or MSVC for debug builds.

Compiling will give you only the executable, you still need a Simutrans-Extended installation to run the program. You can start simutrans-extended with -use_workdir to point it to an existing installation.

2.3.1) Compiling with make

The executable will be built in build/default.

(Linux) autoconf
(MacOS) autoreconf -ivf
./configure
make -j 4
(MacOS) make OSX/getversion

2.3.2) Compiling with Microsoft Visual Studio

Open Simutrans-Extended.sln, choose the configuration you want and compile.

2.3.3) Compiling with CMake

The executable will be built in build/simutrans-extended.

Linux/MinGW/MacOS
mkdir build && cd build
cmake -G "Insert Correct Makefiles Generator" ..
cmake --build . -j 4

See here for a list of generators.

MSVC
mkdir build && cd build
cmake.exe .. -G "Visual Studio 16 2019" -A x64 -DCMAKE_TOOLCHAIN_FILE=[vcpkg-root]/scripts/buildsystems/vcpkg.cmake
cmake --build . --config Release

2.4) Cross-Compiling

If you want to cross-compile Simutrans-Extended from Linux for Windows, see the Cross-Compiling Simutrans wiki page.

3) Contribute

You cand find general information about contributing to Simutrans-Extended in the Development Index of the wiki.

3.1) Coding

3.2) Translating

Simutrans-Extended is constantly updating and adding texts so we are always in need for translators:

3.3) Painting

Simutrans-Extended is always looking for artists! If you want to paint graphics for Simutrans-Extended, check:

3.4) Reporting bugs

Please make sure you are using the latest version of Simutrans-Extended before reporting any bugs. For bug reports use the Bug Reports Sub-Forum.

4) License

Simutrans-Extended is licensed under the Artistic License version 1.0. The Artistic License 1.0 is an OSI-approved license which allows for use, distribution, modification, and distribution of modified versions, under the terms of the Artistic License 1.0. For the complete license text see LICENSE.txt.

Simutrans-Extended paksets (which are necessary to run the game) have their own license, but no one is included alongside this code.

5) Credits

Simutrans was originally written by Hansjörg Malthaner "Hajo" from 1997 until he retired from development around 2004. Since then a team of contributors (The Simutrans Team) lead by Markus Pristovsek "Prissi" develop Simutrans. The Simutrans-Extended development is lead by James E. Petts with help of many contributors.

A list of early contributors can be found in simutrans/thanks.txt