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
- Download on the Simutrans Forums (From SourceForge)
- Download on Steam. For Steam players, please read the Steam announcement.
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