-
Notifications
You must be signed in to change notification settings - Fork 0
Getting Started
The desktop editor keeps active painting, dragging, generation, and other input at 60 FPS. When the whole-map view is unchanged it drops to 15 FPS, or 5 FPS while minimized, so an editor left open on a second monitor does not compete as aggressively with Railroader's main game thread. The in-game bridge also coalesces heartbeat writes instead of queuing one disk write per update.
The Tile Editor is a desktop application for building Railroader maps: terrain tiles, track graphs, roads and rivers, scenery, operations, signals, and crossings. It pairs with an in-game F9 workspace that edits the same data live.
- 64-bit Python 3.10 or newer
-
pygame-ce,numpy,Pillow,requests,scipy
pip install -r requirements.txtWindows:
run_editor.batThe launcher finds Python through the py launcher, PATH, registry entries, and
common python.org, Conda, and Scoop locations — Python does not need to be on
PATH. If you use a portable or unusual install, set TILE_EDITOR_PYTHON to the
exact python.exe path.
Any platform:
python -m edit_tilesA two-row navigation bar sits at the top: row 1 is terrain tools, row 2 is mod tools. The minimap is top-right, the status bar is at the bottom, and selection properties appear top-left when something is selected.
Press ? or F1 at any time for nine pages of in-app help. Full bindings
are in KEYBINDS.md.
- Open an existing map with Mod → Open Mod Folder, or choose New Mod to
create one from scratch. Existing packages may use RailLoader
Definition.jsonor native FUSEInfo.json. - The map shows every track layer, coloured by source file.
- Click a node — its properties appear top-left.
- Drag a selected node to move it. Terrain height is sampled automatically on release.
- Ctrl+click empty space (or Geo → Add Node) to place a new node.
- Select a node, click Connect →, then Ctrl+click a second node to draw a segment.
- Changes auto-save to
game-graph.jsonand hot-reload into a running game in about half a second.
Choose Mod → New Mod in the desktop editor, or Create New Mod in the F9 graph chooser.
- Choose Native FUSE for new work. RailLoader Legacy is available for old data packages, but native-only controls are disabled in that mode.
- Choose Stock-map add-on when your package changes the existing Railroader world.
- Choose Standalone map when you are building a separate world from the ground up. Enter the real latitude and longitude of the southwest map origin.
- The standalone wizard creates
Info.json,map.fuse.json, andMap/Map.json. The native declaration suppresses the stock world only when this map is launched. - In the desktop editor, the new
Maptile folder opens with the package and tile generation uses its georeference automatically. - When creating through F9, return to the main menu and launch the registered map through FUSE before authoring its empty world. F9 cannot replace the live stock-map session underneath the player.
Generated, deleted, and undo-restored terrain tiles update the tiles list in
Map.json automatically. The stock map's historical westward terrain correction
is applied only at the stock origin and never leaks into a new map.
- Load tiles — Load Tiles, or drag a tile folder onto the window.
- Press
Fto fit them in view. - Press
Efor edit mode. The cursor becomes a brush. -
LMB paints, RMB erases.
[and]size the brush;-and=change strength. - Press
Bto cycle brush type — Raise, Flatten, Paint, Smooth, Noise, Erode. - Ctrl+S saves modified tiles. Ctrl+Z undoes.
Press D for diff mode at any point to see which tiles you have changed.
| Key | Mode |
|---|---|
H |
Heightmap — elevation contours, dark green low to yellow/white high |
V |
Vegetation — dominant biome per pixel (presets 0–7) |
W |
Water — white is water, black is land |
D |
Diff — tiles modified since the last save |
Vegetation values are density levels, not eight fixed biomes or anonymous paint numbers. The examples describe common uses; the game's density rules still exclude plants around track, water, objects, steep slopes, and cut-tree masks.
| ID | Density | Approx. mask | Typical use |
|---|---|---|---|
| 0 | Full | 100% | Dense forest and maximum plant placement |
| 1 | Very Dense | 86% | Woodland or other very dense cover |
| 2 | Dense | 71% | Trees and brush with small openings |
| 3 | Medium | 57% | Balanced mixed vegetation and open ground |
| 4 | Light | 43% | Grass, shrubs, and scattered trees |
| 5 | Sparse | 29% | Mostly open grass or ground |
| 6 | Minimal | 14% | Pasture, cropland, and lightly planted yards |
| 7 | Clear | 0% | Built-up, bare, snow, or open-water ground |
Saving is atomic and keeps a recoverable tile backup. A successful desktop save recalculates tile statistics and invalidates every overview/detail/scale render cache, even when pixels were changed by paste or generation rather than the brush. The in-game editor invalidates Railroader's terrain cache after a successful save (or rebuilds it when a new override source was mounted), so vegetation and water reload from the saved tile instead of reverting to a stale texture.
S toggles hillshade, which adds directional lighting and is the fastest way to
read terrain shape.
The ●LIVE/OFF indicator in the nav bar shows the TrackBridge connection.
With Hrogers.TileEditorBridge installed in Railroader, edits made in the desktop
editor hot-reload into the running game, and the in-game F9 workspace edits the
same data back. Track, scenery, splineys, telegraph poles, and terrain tiles
synchronise in both directions.
Dirty-edit ownership locks prevent both sides writing at once. If a reload arrives while you have unsaved work, it is preserved as a timestamped conflict copy rather than being overwritten.
Ctrl+- and Ctrl+= shrink and grow the whole UI; Ctrl+0 resets to 100%. The
setting persists between launches. The sidebar A- / 100% / A+ buttons under
Workspace do the same.
Reopens the current track graph and mod JSON from disk. Its colour tells you the state:
| Colour | Meaning |
|---|---|
| Grey | Nothing loaded that can be reloaded |
| Blue | Reload available |
| Yellow | Reload available and unsaved changes would be discarded |
Ctrl+Z covers terrain strokes and mod edits, up to 50 mod steps. The status bar
shows ↩ N with the number available.
Batch tile deletion is also undoable — deleted tiles move to a timestamped
_TileEditor_Deleted_Tiles recovery folder, and Ctrl+Z restores the whole batch.
- Keybind Reference — every binding
- Terrain Editing
- Track Editing
- Mod Tools
- Data Formats
Mirrored from docs/GETTING_STARTED.md - edit there, not here.