Happy New Year 2022! This year is very special for Simutrans, and we have some special events coming later this year, but for a start let’s announce a new release of Simutrans (123) and bring back to life the Simutrans blog before the fanfare begins.

Let’s also mention that we have a Screenshot Contest for pak192.comic currently going, and there’s a new version of pak192.comic (2021 RC2) available to play with this update!

Download Simutrans 123

Highlights from version 123

  • You can now schedule convois with fixed departure times, and with a specified number of departures each month.
  • Rivers now go from their source through lakes until the sea, and are shippable after passing a lake.
  • Paks can be installed now ingame.
  • You can switch fullscreen mode in the display settings.
  • The new GUI is now enforced in all dialogs.

Paksets updated

The following paksets were updated between the release of Simutrans 122 and Simutrans 123

  • pak64 (123)
  • pak64.german (123)
  • pak128.german (2.1)
  • pak192.comic (2021 Release Candidate 2)
  • pak.Nippon (0.5)
  • Pak64.japan (123.0)

Full list of changes

If you are interested in the full list of changes, you better take some breath, because it is long. There’s nothing more after that, so you can stop reading if you are not interested :-P

Added

  • cbuffer_t::trim() to have consitent line spacing in dialoges relying on imported texts
  • compare savegames (command line parameter -compare)
  • Desync debugging mode: Heavy Mode
  • command-line parameter -scenario also looks in addons directory
  • (ranran) mouseover on any car of convoi works
  • (ranran) edit dialogues with reverse sort option
  • on SDL2 use back button as backspace
  • cancel button for isntall dialogue
  • Print name of test to be executed
  • Automated tests + GitHub Action to run them for each nightly build
  • (Roboron & prissi) Toggle fullscreen mode with GUI
  • three finger movement should drag the map
  • Command line option ‘-scenario’ starts requested scenario if available
  • get_tile_list for buildings and reused it in the code in hausbauer and gebaeude
  • get_tile_list for buildings and reused it in the code
  • easy date format settings from option window
  • (Ranran main) adding factory overlay + FIX: power consumption on multiple inputs/output were broken
  • Button to copy fatal_error to clipboard (for bug reports)
  • reservation overlay now also shows single way directions and signal states (inspired from ranran)
  • single GUI button added to line list to close topmost line window when opening a new one
  • tooltips for line entries
  • revenue to line sorting and remeber last used line statisitcs buttons
  • reselect a tool will close it (new default, set by reselect_closes_tool in menuconf.tab)
  • haltlist now saved and relaoded
  • chat window transparency in network mode now controlled by theme: gui_color_chat_window_network_transparency and gui_chat_window_network_transparency
  • (Freahk) player color network synchronisation backport
  • Fatal error message when loading pakset fails
  • new button type imagebox for having a delete (and many more graphical buttons)
  • New raw image loader
  • Height map loader now supports PNG height maps
  • More supported image file formats for makeobj
  • (roboron) FluidSynth MIDI backend
  • target tile for jumping to a position (via pos button, window icon or jump dialog) will be marked with the current cursor
  • load translation text files from AI directory for translation (*.tab like en.tab etc)
  • (Leartin) totally overhauled edit windows
  • (Leartin) totally overhauled edit windows
  • (Leartin) groundobj editor
  • cursor settings for scripted tools: parameters cursor_area and cursor_offset (THLeaderH)
  • waiting time in schedules is now entered in days hours minutes (but old games will still have the old steps)
  • proper thread support for ZSTD
  • special key “SCORLLOCK”, “DELETE”, ESCAPE”, BACKSAPCE” and “+” sign for shift as modifer in tools key binding”
  • SCROLLLOCK as key binding for the scroll lock key
  • SCROLLLOCK as key binding for the scroll lock key
  • construction cost tooltip also for normal tunnel construction (clicking on slopes)
  • classify_file() to determine file format
  • 2 new height conversion modes: linear + clamp
  • GUI for pakset install script
  • new option in simuconf.tab “numpad_always_moves_map” regardsless of numlock state
  • map only moves when numlock off, new tool to move to map view (simple_tool[36]=,keybinding,-1|0)

Changed

  • one more row in schedule dialog for a little nicer display
  • (roboron) similar width for labels on extended edit
  • enable heavy mode on command-line
  • two different modes to show selected lines
  • Include name of tool that failed in warning message
  • (THLeaderH) new definitions or roadsing images, which also generates meanigfult warnings
  • removes the maximum gap of 6 during renovation of building levels
  • narrow depot frame
  • make description text in depot a little close like multiline text
  • make depot dialog scalable
  • remove setting departures_on_time
  • handle more than one event per interaction in many cases
  • shrink android size by removing debug symbols from lib
  • more compact info windows (shrink of no information, only show owner if there is one)
  • more compact ground info, seperated climate water from ground type water (now Lake or Open Sea)
  • (ranran) try to move windows so not cover tile clicked with inspection tool
  • (THLeader) stop_halt_as_scheduled=1 in simuconf.tab wiil stop convoi on the desginated tile (unless more tiles are needed to fit it into the station)
  • dragger_size to be dynamic
  • Simutrans now allows more than one file per languange. The file must just ending in XX.tab, where XX is the language code
  • remove magic offset for display_outline_proportional_rgb, and factory is now real tooltip
  • Don’t save offsets of trees also in single player mode
  • scripted tools: work, do_work, mark_tiles have additional parameter to send state of ctrl/shift keys
  • move factory overlay to transparency settings
  • Omit status messages when calling makeobj quietly
  • double orange removed and bright yellow a little better differenciated
  • Log fluidsynth messages to our own log instead of stderr
  • display on request absolute departure times
  • depature board estimates also the departure of fixed slot vonvois which are not yet arrived
  • absolute departure time can be also more than once per month (repeats the time in equal intervals)
  • maintenance of powerline tunnel/underground transformer
  • also flat grounds with some tiles with slopes are now considered for multitile buildings (stations, factories, attractions, city buildings, … )
  • enforce maximum factory distance also for factory connections
  • Use network command names instead of magic numbers for readability
  • Use tool names instead of magic numbers for readability
  • detect language on first start if possible
  • new option set_workdir to debug
  • retry pak install at most once
  • renaming broken files on reading errors
  • line list now saved reloaded and up to standard
  • option gui now saved reloaded
  • label list now saved reloaded and up to standard
  • factory list now saved reloaded and up to standard
  • curiosity list now saved reloaded and up to standard
  • sortarrow and saving for city list
  • sortarrow for goods list
  • sortarrow for vehiclelist
  • renovated halt list to new standard
  • renovate convoi list
  • halt list entry: no status bar
  • removed V_space insde halt list entry and show name in statuscolor
  • extra V_space around halt list entry
  • adjust the toolbar to top left bottom right
  • Gradual loading and unloading (full unload takes loading_time) and full load as well
  • Input of waiting time now in days, hours minutes
  • Confine simuconf.tab entries to valid values
  • (PJMack) ribi lookup using shifts and 64 bit ints
  • sort minimap industry list by producer, factories consumer, and then by name (display left to right)
  • Add good category to comsumption info in factories
  • move error message to simtool
  • lines will open with default tab pointing to last seletced one (apart from schedule tab)
  • reload font when changing languages only if default bdf-font changed
  • line windows only opens with schedule tab when opened from convoi schedule or depot
  • Use logging instead of printf for status messages
  • show all connections of open factories windows in minimap
  • Ensure that tree age always fits within 12 bits
  • http to https, update dead links
  • Exit gracefully when simgraph_init fails
  • Distribute cities before trees
  • Allow querying gameinfo of older servers again
  • libpng is now a required dependency
  • Screenshots are saved as PNGs on all platforms
  • change tool_add_message_t to general-tool to be able to send scenario/ai messages over network
  • Added insert and append mode to schedules
  • split the unrelated code for displaying relative time differences and absolute times (as preparation for coming scheduling)
  • disable revert-schedule button before it is shown;
  • schedule editing survive now save-load cycle and entries can be moved deleted by arrow buttons
  • Only public player can skip years in networkmode
  • no tunnel construction without enough money
  • Only display way 1 in tunnelmouth
  • show way images in tunnel portals facing toward screen, so tunnel backimage can leave this spots free
  • speed in crossings is not max speed, no crossings of existing way speed higher than crossing speed
  • (RanRan) rollup all windows patch
  • rivers now go to the sea and pass through lakes. A tiny stream becomes navigatavble after a lake or merging with another stream
  • remove code that assumed all short tiles are slopes
  • new line list, overhauled convoi list, new line function to add all convois with same schedule
  • renovated convoi list astemplate for new line list
  • new single line management window
  • forbid adding/removign entries when part of line
  • schedule intergrated in convoi dialog, meybe still buggy
  • rework message list display, new item class for one display of one message
  • coordinates and ribis now tested in clockwise directions nesw instead nsew as before
  • MacOS build sugegsted by CannonBall7
  • report linenumber in fatal error messages in tabfile-reading
  • Sound now player on GDI via Xaudio2 for individual volume control

And many, many fixes, thanks in part to a new automated testing system, that won’t be mentioned because I would hit the character limit. Happy Simutransing!