The long awaited Simutrans 124 is finally here! This version comes with a lot of changes, although the most visible ones are the improved support for anti-alising of fonts and some reworked windows. Under the hood, many less visible changes were made to allow this to be the first stable Android release – which means you will be able to play online now on Android too!

Download Simutrans 124

Highlights of this version

  • Improved anti-aliasing of fonts, now using TrueType fonts by default.
  • Reworked main menu and option windows.
  • Reworked list windows, they are now checkered lists easier to read.
  • The minimap now changes if you are in underground mode.
  • The new directory structure allows the players to install paksets if they don’t have admin rights.
  • Fixed loading of heightmaps.

Paksets updated since Simutrans 123

  • pak64 124.0
  • pak128 2.9
  • pak192.comic 0.71
  • pak64.german 124.0.0.2
  • pak128.german 2.2
  • pak64.nippon 0.62

Full changelog

Here’s the full list of changes since the last version.

Added

  • pak64.german 0.124.0.0.1 uses 40×40 buttons and therefore the theme is necessary and should not be missing
  • labelupdate for all windows were it makes sense
  • Checkered list windows
  • obj_xxx_details in translation will display some more details on an obj, especially vehciles
  • traffic lights remove themselves if only a curve or a single tile is below them
  • fontconfig for linux font selection
  • Aliasing fonts
  • Rework of banner and options windows. Added button to play tutorial and load last save to banner
  • rotate house tool will also switch railroad switches (eyecandy only)
  • new parameter in simuconf.tab cityroad_speeds for a timeline (year,new_speed) of speed limits of way with pavement
  • rotate also rotates the order of vehicles on a tile to avoid overlapping
  • Sell all convois in a depot with Ctrl + Sell button
  • Signals can be replaced by overbuilding them using left-click
  • missing script ai text
  • menubar can be dragged to each corner
  • Display artist credits for music
  • function find backend specific default TTF font dr_get_system_font()
  • Theme colour parameter for highlighted objects (gui_color_object_highlight)
  • scroll to selected font in load-font window
  • theme parameter gui_color_image_transparency to set transparency color for icons (Yona-TYT)
  • update vehicle history frame with search string
  • .pak files are now also searched for in subdirectories of pakset
  • tooltip warnign when try to cross way without suitable crossing or curves on runways
  • Loading time display in depot, convoi info and vehicle timeline
  • MSI installer for SDL2 MSVC builds
  • single toolbar mode (top and centered) primarily for Android and tablets
  • Try to detect base_dir when installed on linux
  • new tool (and button in signal dialog) for removing signals only
  • map view can be changed with any general tool by dragging the pointer above a threshold

Changed

  • High resolution icon for Android
  • all list react immediately on editing the filter name
  • removed a lot of table to speed up convoi list and added route bar
  • right click/control+left -> goto pos, left click -> open window
  • Again orange as default unowned color to have more contrast
  • Decouple label style and show option
  • enforce a minimum width of 5 digits for number edit fields
  • GUI numberinputs stretch horizontally to fill their space
  • Players can’t build over public ways if there is another player halt on them
  • Slightly improved goods window
  • Almost impossible to have a language selected with a non-matching font
  • rename texttype to correct name
  • save button and save window single translate
  • button text to exists translate (equal to the window title of the dialog)
  • state of railroad switches will be saved between games
  • Delete buttons are always shown when saving/loading. Config show_delete_buttons is deprecated
  • Increased default vertical spacing of loadsave items from 0 to 1 (so it doesn’t look super crammed)
  • use internal server list name for backup
  • use 5bit granularity for alpha-blending sometimes
  • do not change debug tab in scenario window if debug text is empty
  • issue warning when old object is overlaid by new one
  • click on ticker jumps to coordinate of message under cursor (or opens message window)
  • send doubled-object warning as message, click on the message shows the full warning
  • only warn about doubled objects with different checksums
  • a go-to-coordinate action will change view to underground/normal view if target is invisible
  • messages, speed records, ticker use 3d coordinates
  • tests use command_x.set_slope
  • Display number of station tiles in parenthesis in convoi details
  • update convoi list name filter on enter to avoid longer delays
  • reflect underground view settings in minimap windows
  • Look for fonts in subdirectories recursively (up to 5 levels)
  • pedestrians spawned on more tiles, more distributed over tiles, now client wise settings for server games
  • Ignore pedestrians for deletion tool
  • only show connection of top factory window in minimap
  • use TAB to change between tabs
  • 6% speed gain to to a freelist with integrated iterator
  • Always allow ‘-until’ command line parameter
  • MacOS bundle is now self-contained
  • removed LEFT_REPEAT message hack, as this destroys left dragging for fps<10
  • discard all but the last drag event in a single call to check_events(() or the calac_route maz be called twice during mark_tiles
  • process events in screen refresh and queue them for execution for more responsiveness on weak devices”
  • reset frame time when zoom in
  • file location in the same directory
  • pakset downloader in separate file
  • Divide minimap ‘Selections’ button into two (Show networks and Selections)
  • Use XDG_DATA_HOME for user dir on linux (only if it has been set)
  • allow dragging scrollpanes instead using scrollbars
  • only load goods for a destination into a single convoi. This avoids loading in parrallel of slow loading convois
  • test connect timeout now 2 seconds (for windows, please adapt and test on Linux/Mac) for query server status

Fixed

  • generating header script works under windows again
  • all again to connect from vertical cliff to monorailboden
  • vehiclelist ignored name filter for waytypes selection
  • vehicle list did not sort by capacity and was not properly restored after saving
  • hide wayremover, wayobjremover and signalremove icons when those ways are not available
  • labellist positions need to be 3D
  • derive ground info from obj info so long waynames work again
  • a bridge and tunnel has just a default street => do not show info
  • extra margins of objects inside a marginless container fixed => all dialogues open in the same size again
  • if a schedule open not of plane 1 => crash
  • Could connect way to side of sloped elevated way
  • Game lags when paused, especially on big maps
  • Withdraw Line button did not indicate withdraw status correctly
  • OS window sometimes does not close when modal dialogue is open
  • makeobj MSVC builds
  • show waiting bars even without labels
  • banner window does not close on window close!
  • outside was not redrawn when windows minimized
  • wrong function name
  • default char for cyr.bdf and revision detection fpor MSVC
  • start also with a wrong unloadable font specified
  • Error when using ‘makeobj dump’
  • removed unblocking sockets for linux
  • distribute.sh was not working for some time on linux with default template
  • Height conversion mode ignored if selected after heightmap
  • Wrong speed of bridge ramps in some cases
  • Wrong length for bridges in build preview tooltip
  • pakset.nsh
  • built nsis again for github nightly
  • Extract .cab and .tar.gz correctly
  • (THLeaderH) crossings upgrade in ways are upgraded
  • crash when loading vehiles as cnv==1 is used as flag during loading
  • drawing order of private car
  • better calculation of dsip_lane also with overtaking cars and road convois
  • Wrong draw order of road convois turning E->SE or NW->N
  • airplane convois are somewhat working. Need through stops better for this
  • Makeobj ignored switch images for tracks with no seasons
  • Graphical glitches related to translucent player colours
  • Wrong brightness of colours in screenshots
  • Label colours when label is unowned
  • swallow all extra finger events to have better zoom and three finger scrolling
  • Debug assertion failure when starting a new scenario
  • Loading window no longer closes all other windows and does not trigger other loading tools in the toolbar.
  • Missing translation of ‘Depot’ (dataobj/schedule.cc:590)
  • Clamp env_t::max_acceleration correctly
  • Cannot load sounds from pakset if pakset is in user directory
  • ticker messages – use one method to insert in list
  • replace %% in translated strings by %, but only for those strings where the base string does not contain format specifiers
  • Memory label cut off when increasing map size in New World dialogue
  • Broken compat.tab parsing
  • Crash when trying to load TTF font without family or style name
  • Crash when allocation of buffer for node name fails
  • Crash when dumping pak file containing a node with invalid size
  • Crash when reading pak nodes with malformed or unknown type
  • Crash when using ‘makeobj dump’ on corrupted pak files
  • Crash when reading non-null-terminated object names from pak files
  • Use-after-free when listing node names of pak files
  • crash when such a pedestrian was created near map border
  • do not generate pedestrians on roads without any connected roads
  • Crash when displaying alpha images near window border
  • builing vehicles from the future is not allowed
  • problems with transparent pixels
  • crash in build-station tool without cursor
  • get_available_* returns only descs of buildable objects
  • do not draw on the window boundary
  • correctly check for character 30
  • improved width calculation for numberinput elements
  • cannot build double slopes if the pakset does not support it
  • try to repair broken format strings (replace % with %% for broken specifiers)
  • use double percent sign in translatable strings
  • format string checks
  • fix/remove more RGB555 stuff
  • crash if desc == NULL (may come from scripts)
  • Missing credits of midi tracks
  • Credits of midi tracks
  • correctly handle suspended calls with ct == FORCE
  • crash in scripted tools
  • correctly reset tool-drag event if scenario check failed
  • search_folder_t::search_path if d_type is not supported (koroal)
  • invert schedule function not working properly (koroal)
  • window position not being saved in some cases (koroal)
  • factory_x::get_tile_list returns list of tile_x’s (Yona-TYT)
  • remove preview image of tools if moved on a tile that is forbidden by scenario rules
  • memory leak
  • -addons/-noaddons setting saved in settings.xml
  • do not reset full underground mode when zoom with mouse wheel
  • apply the correct coordinates when processing links in scenario window
  • Vehicle list name filter not saved due to typo
  • initialize restart-variable (Yona-TYT)
  • properly clear random-mode flag
  • do not check for local execution, shut down network on quit
  • size calculation of depot dialog to properly show vehicle list (Roboron)
  • loading of scenarios for paksets from addons (Yona-TYT)
  • (after ranran) loading of legacy translation files
  • schedule positions when rotating non-square maps
  • clear schedule-editing flag if check fails
  • trivial case in haltestelle_t::is_connected
  • crash with invalid defaultparam
  • Cannot build trees on clouds
  • world.generate_goods did not work correctly for mail/freight
  • Uninitialized read in gui_image_t::get_min_size when COLOUR_DEPTH=0
  • Adapt Load Script dialog to new directory structure
  • restore all open convoi and halt windows
  • quit does not quit the server
  • Addons are loaded by default (contrary to documentation)
  • starting a scenario in now a command to do this in the step
  • call the quit tool from dialogues for quitting
  • Undefined Behaviour when converting char * to utf8 *&
  • Crash when supplying invalid default_param to tool_plant_groundobj_t
  • Crash when supplying invalid default_param to tool_build_station_t
  • Crash when supplying null default_param to tool_build_station_t
  • implement constructor in c++ instead in squirrel
  • correctly propagate error when pushing large arrays
  • Crash when supplying invalid default_param to tool_plant_tree_t
  • Speedbonus not being applied to air (reverts partly r9208)
  • use translated error message instead of raw string
  • setslope for scripts on server games on single-height paks
  • accept sym-links as directory
  • dragging of tools with ctrl, propagate flags through defered calls
  • scrolling with mouse wheel in droplists opened above combobox
  • copy way-flags when replacing ground tiles
  • Cannot load addon scenarios if there are no addon objects
  • Use-after-free in makeobj when reading malformed dat file
  • crash when trying to save to unreachable location
  • check for NULL pointers
  • Paks loaded from addon subdirectory even if -noaddons is specified
  • Signals not shown when minimap is set to show tracks
  • Graphical glitch when ticker disappears while background is visible
  • Position of elements in ‘Sort by’ depot combobox
  • PVkraftwerk should produce again power
  • Disable font size button for bitmaps fonts
  • do not updtae crossing speed with new way
  • when deleting stuff from tiles with two or more objects
  • Don’t double sync_step citycars
  • focus with comboboxes
  • pedestrians agon walking diagonal
  • also forbid pedestrian entry on tiles with more than 240 objects
  • Do not generate too many pedestrians per ground
  • pedestrians try to hop to full ground
  • beaches were not properly recognised for environmental sounds
  • Curl pakset download for built-in installer
  • pakset downloader not listing any paksets
  • crash due to calc_route called twice when dragging way tools at low fps
  • Obey control lock tool in more all situations where the control key would work
  • accidently swapped single toolbar option defualt for non-android
  • Pakset selector failed to load a single pakset with no addons
  • Network filter comboboxes take preference capturing the mouse wheel over the minimap
  • control+drag of ways
  • append halt only once
  • show no tooltips on toolbars if cursor is on title bar
  • do not swallow keys and scrollwheel events in scrollpanes
  • windows were topped before the underlying window got their removal message => topped window function not working as expecting i.e. schedule display of convois
  • Disallow merging with public stop (or any stop) to take over ownership
  • heavy_rotate_saves does not delete old saves correctly
  • Cannot load PPM heightmaps
  • Int overflow for large power networks in minimap
  • missing string and no spaces at the end of translator objects
  • switch on and off network overlay when line is active
  • minimap background rendiering mode is not reset but selecting other options
  • crossing logic did not correctly obeyed speed limits
  • After loading a save, the color of the stop list title
  • display_snapshot uses wrong area if area is offset horizontally
  • scaling window with GDI