jerrrrycho
ccb973e049
fix(ai): release horn when human driver takes over from AI
2026-10-16 13:10:50 +02:00
8cd0bab27b
Editor terrain: texture browser, undo, conversion from terrain files
...
- Terrain work mode shows a browser of the textures folder in place of the
node bank; textures/materials can be dragged onto the palette entries
(replacing the material), the material field and the water material field
- Ctrl+Z/Ctrl+Y for heightmap terrain changes: a brush stroke or an
operation is one step of the editor history
- Ground conversion reads only the files of the terrain directives
(.txtf with origin/rotate, or .btf without text), paints the chunks with
the materials of the triangles, drops only the shapes of those files
- Fix: ground grids converted out-of-range floats to int, so whole-scene
queries returned the triangles of a single cell (shifted chunks)
- Fix: terrain layers copied from textures already uploaded without their
data stayed grey
- Fix: ImGui ID conflict between terrain tool radios and section headers
- Fix: layers of terrain .txtf files named with the scenery/ prefix and
could not be saved
- Editor selftest commands for the terrain
2026-10-09 23:39:26 +02:00
35bda3778c
Heightmap terrain: .tch chunk packs, streaming with LOD, terrain painting, water and modifiers - terrain/<name>/terrain.yaml + <px>_<pz>.tch packs of 16x16 chunks (250 m, 0.5/1/2/5 m spacing), slices with crc-32 and optional zstd (vendored zstd 1.5.6 in ref/zstd) - heightmap_terrain [name] endheightmap_terrain directive replaces editorterrain - streamer: worker threads, camera + look-ahead loading, geomipmap LOD with skirts, pooled geometry - mat_terrain shader: up to 8 painted layer materials per chunk via texture arrays (opengl33); other renderers fall back to the dominant material - water bodies (outline + level), terrain modifiers (vertical profile shaping kept non-destructive) - F11 Terrain work mode rebuilt: chunks, sculpt, smooth, paint, point spacing, water tools
2026-10-09 21:02:25 +02:00
645a54a739
feat(editor): icons over the 3d view: the tools of the field of work along its left edge (the edit modes of the surroundings, the track tools, the road tools with the lanes, the terrain tools with the orthophoto), the modes of the gizmo at its top, the axes of the world as the camera sees them in its top right corner, a click on one looking along it, with the top view under them; the icons drawn by editor/icons/editor_icons.py into a png which CMake writes out as an array built into the executable; the gizmo modes and the top view left out of the toolbar; Polish translation
2026-10-09 11:54:47 +02:00
96c07c63f1
Change default experimental renderer compilation flag
2026-10-09 01:23:42 +02:00
f94100ffe7
feat(editor): more models selected at once (Shift+LMB), moved and turned by the gizmo together, undone in one step; Ctrl+C / Ctrl+V copy the selected models with their groups and paste them at the cursor; Ctrl+G groups the selection, Ctrl+Shift+G takes a group apart, groups written to the scenery as group ... endgroup and loaded as groups of their own; End drops each model of the selection and of their groups onto the ground; menu of the selection at the cursor on Ctrl+RMB; Edit menu with undo, redo, the clipboard, grouping, deleting; Help > Keyboard shortcuts (F1) with the keys of every field of work, F2-F5 choose the fields of work, the tracks menu lists the track tools with their keys, the keys and descriptions in the menus and tooltips; self-test commands for the selection; Polish translation
2026-10-09 01:12:46 +02:00
9b0e88db7a
feat(editor): node bank shows the entries as cards with the previews of their models (Previews, size of the cards 48-256 px, kept in eu07_editor.ini), in the groups and with the search as the list; images found by the names the preview generator gives them, worked out by the same code now (editor/editorPreviews: path of the model and skin, numbers of entries with the same ones in the order of nodebank.txt), read and scaled down in a thread of their own, uploaded a few in a frame, at most 512 kept, read anew on Reload node bank; images of the user interface made by the gl renderers (Create_Image/Release_Image of the imgui renderer, srgb in the modern one); Polish translation
2026-10-08 23:55:56 +02:00
344034ec70
feat(ui): imgui 1.91.9b-docking in place of 1.73: local changes of the backends carried over (glad as the gl loader, srgb and gamma of the ui, gles glsl string), BufferingBar/Spinner kept, imgui_tables in cmake; cursor position, cursor enter and focus of the main window passed to the glfw backend, which works with events now; code adapted to the api: ImGuiListClipper::Begin, BeginListBox, ImTextureID as an integer, ImageButton with an id, ImGuiKey without GetKeyIndex, logarithmic sliders in place of the removed power argument; ImGuizmo with the math operators defined before imgui.h and SetNextFrameWantCaptureMouse
2026-10-08 20:38:13 +02:00
e661b9f1c7
feat(editor): -generate-nodebank-previews mode: png previews of the node bank models, or of the entries given with -entries, drawn offscreen and without a window by the full renderer: square, -resolution 1024 by default, the model in perspective from the front, side and above, fitted to the image less -margin pixels (64 by default) on white background, lit, with materials and with self shadows unless -no-shadows; saved in textures/previews/nodebank under the path of the model with the skin; software rendering of mesa when the graphics driver gives no gl 3.3 or with -software
2026-10-08 18:52:51 +02:00
maj00r
b02fe0ac2b
feat(editor): Signals mode of the Tracks window (H): semaphores, block, warning, shunting, stop, substitute signals and repeaters placed by the track from the templates of the scenery, described by //$e signal: (kind, mount, lamps, lean, the event the train reads them by) which tools/editor/signal_headers.py writes into them; a click by a track puts the signal on that side 2.25 m from the axis at the rail heads, facing the trains which have it on their right, a drag along turns it to the trains going the way of the drag; its (p1)_sem_info goes to event1 or event2 of the path, warning signals and repeaters, which the train doesn't read, get none; a head leaning away from the track swapped for its counterpart; the plate named like the signal; signals dragged along the track with their event, removed with it, renamed in the node properties with it, each a single step of the undo history; Polish translation
2026-10-08 03:12:16 +02:00
maj00r
24923dd472
feat(editor): track editor driven by what the cursor is over: the outline and a label show what a click or a drag does, snapping to free ends on the screen, handles and ends dragged directly, no rotation gizmo; laying from a free end the same in every mode, straight with Shift, the curve of a switch going on past its diverging end; height 0 where there's no terrain; placed switch leaves the switch mode, double slips listed apart, a drive of the switch placed with it by the //$e switch description of its template; compound curves of any number of radii; dragged end of a straight fits the curve beside it; name of a path, followed by the memory cells and the includes taking it; turntable placed from a template described as one, tracks led out of it and the tracks around fitted to it, its positions written to the include; infrastructure bound to the path whose events read its memory cell; terrain made where the route has none and shaped to the formation under the ballast; models along the track over the selected path and on along the joined ones while dragged, rarely used settings folded; vehicles and trainsets placed on any path, switches included, facing the way the arrow shows; joined paths spread into the selection; New scenery in the File menu starts the editor again with the wizard; ortho zoom towards the cursor; scripted self tests; Polish translation
2026-10-06 22:19:54 +02:00
maj00r
0a3cd55e59
feat(launcher): -edit without a scenery opens the wizard of a new scenery: file name, title and centre, picked on the OpenStreetMap map of geoportal.gov.pl in PUWG 1992 or given in degrees; the scenery is written with the centre as its //$g reference and opened in the editor; a bare -edit no longer loads the scenery of eu07.ini
2026-10-06 22:19:40 +02:00
maj00r
978b99b7e5
feat(scenery): models laid along curves (sweep nodes), bent to follow the paths or repeated along them, loaded and saved with the scenery; trainsets put on a path while the simulation runs; trainset turned around by reversed after its header: the first vehicle stays at the offset and leads towards point 1, the rest stands behind it; launcher keeps reversed trainsets and can turn one around; memory cells saved with the new name of the path they name; events tell their targets and the events of a multiple event; renderer tells whether the cursor is over a surface; vehicle placed in the editor entered when the driving goes on
2026-10-06 22:19:32 +02:00
90c5420396
perf(scenery): runs of model instances read straight from the text by a reader made for them, shared between threads; anything the reader doesn't cover left to the parser; model and skin located once for a run of instances; lookup of nodes by uuid filled on load only for a scenery opened for editing
2026-10-06 21:58:49 +02:00
2e631dcbd6
feat(terrain): binary terrain files (.btf) made out of text terrain files (.txtf) named by terrain directives, checked against length and checksum of the text and loaded section by section when needed; -btf command line conversion; SBT files no longer generated, only loaded
2026-10-06 01:55:38 +02:00
maj00r
3731520e33
feat(tracks): track editor in one movable Tracks window with exclusive modes, a guide of what can be done in the current step and the rarely used fields folded; vertical profile window with the ground of the scenery triangles; plain pieces added at a free end, freehand only on request; curve mode edits the single curve clicked
2026-10-05 01:21:11 +02:00
012ffc7470
Merge branch 'feat/modern-editor' of https://github.com/MaSzyna-EU07/maszyna into feat/modern-editor
2026-10-04 21:58:19 +02:00
maj00r
b0c363b586
feat: structure gauge along the line of the selected path in the OpenGL view
2026-10-04 01:27:41 +02:00
3ce9102da0
feat(roads): level crossings, spawn and removal points for road vehicles, deleting points of a road
2026-10-04 00:31:44 +02:00
maj00r
8778353b22
feat(editor): infrastructure bound to the paths follows their changes
2026-10-04 00:14:03 +02:00
maj00r
7371b18910
feat(editor): vertical profile editor, grade lines kept in the scenery
2026-10-04 00:14:03 +02:00
e4083d507f
feat(roads): editor menu and window for building roads, lanes shown as trajectories
2026-10-03 18:21:10 +02:00
2f417fddcc
feat(roads): road node with generated lanes, surface and markings
2026-10-03 17:35:08 +02:00
maj00r
8f2a34b3cf
feat(editor): route design with curves and transitions
2026-10-03 02:41:34 +02:00
maj00r
b93c5dde60
feat(editor): edit tracks loaded from the scenery
2026-10-03 02:41:34 +02:00
3199f3796e
feat(editor): layers window, scenery save and include descriptions
2026-10-02 22:40:52 +02:00
73f2f68aa0
feat(editor): edit session (-edit) and scenery layers
2026-10-02 21:29:18 +02:00
8da445bcb5
feat(editor): geoportal orthophoto layer streamed around the camera
2026-10-01 20:09:34 +02:00
1497d081ff
feat(editor): user-defined model sets, random insert from set, tabbed editor panel
2026-10-01 18:41:35 +02:00
jakubg1
ba19db8715
Revert "Remove training card window"
...
This reverts commit 363b50c9c2 .
2026-09-02 12:32:35 +02:00
jakubg1
363b50c9c2
Remove training card window
...
This was a leftover from attempts at modifying MaSzyna for professional simulators.
Interaction with this window could cause a crash.
2026-08-23 22:37:33 +02:00
Sebastian Krzyszkowiak
84b3de6088
cmake: Allow to disable date & git hash suffix in executable name
2026-06-29 23:32:38 +02:00
b0bb2c9c42
Fix autodetect python directory
2026-06-27 15:15:11 +02:00
16c94f8e19
Merge remote-tracking branch 'origin/feature/python314' into Editor-Python3.14
2026-06-18 18:22:38 +02:00
75461eaf86
World Streaming Part 1
2026-06-18 18:18:02 +02:00
449609d817
Snap to ground || New terrain system || Terrain sculping || Mesh simplification
2026-06-17 08:56:42 +02:00
5a39ed5193
ImGuizmo System OpenGL
2026-06-17 01:19:59 +02:00
3bed2212d7
Editor settings for New/Legacy camera controll
2026-06-16 23:53:01 +02:00
f07c8fdcd2
Enable /map identifier in cmakelists.txt
2026-05-26 22:08:18 +02:00
maj00r
996cc68822
Fix Windows post-build zlib path (Python DLLs folder)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-11 18:25:01 +02:00
maj00r
4258af45dd
cmake_path removed
2026-05-11 18:21:12 +02:00
maj00r
3786ecd98f
Python 3.14 build and CI updates
...
Squashes the last five commits: migrate to Python 3.14 (CMake, AppVeyor, Azure, README), vcpkg/setup-ci fixes, CMake adjustments, remove bundled ref/python 2.7, and related scripting/static file updates.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-11 18:21:12 +02:00
02cffbe4ad
Enable AVX2 support
2026-05-06 20:02:00 +02:00
docentYT
d5d1825e38
Remove dumb3d
2026-04-27 23:03:47 +02:00
copilot-swe-agent[bot]
7e49aa8740
Rewrite #includes to use explicit subdirectory paths
...
Co-authored-by: Hirek193 <23196899+Hirek193@users.noreply.github.com >
2026-03-14 19:16:48 +00:00
copilot-swe-agent[bot]
0531086bb9
Reorganize source files into logical subdirectories
...
Co-authored-by: Hirek193 <23196899+Hirek193@users.noreply.github.com >
2026-03-14 19:01:57 +00:00
11e79f52ae
Conversion to cpp 20
2026-01-18 21:21:15 +01:00
c6c042aa52
Fix screenshot manager on OpenGL renderers
2025-09-17 17:34:53 +02:00
f43d4b5201
Add trivia randomisation
2025-09-16 00:25:00 +02:00
Ryba04
33ad7b718f
Merge branch 'master' into master
2025-09-13 19:46:26 +02:00