(#54) Implement TrainSets#205
Draft
marcinn wants to merge 35 commits into
Draft
Conversation
…use multithreaded loading for models.
Use p_enabled parameter instead of inherited enabled from TrainPart to ensure correct acknowledgment behavior.
Add support for MSVC specific compile options and multi-config output directories.
Enhance CMakeLists for MSVC and debug handling
…ions .clang-tidy will now enforce CODE_STYLE.md
Dev/code format fixer
(#191) Remove ObservableValue
This is initial implementation of tracks rendering. It is not 100%-compatible with the original simulator, but still good enough for PoC. Current implementation: * adds TrackRenderingServer, which uses RenderingServer directly * adds initial MaszynaTrack3D node for tracks placement * adds initial MaszynaSwitch3D for junctions Limitations: * tracks are defined as Curve3D with multiple points, where the original simulator uses 2-point curves only per track segment; this is incompatible with Mover physics server * junctions are defined as MaszynaSwitch3D, a separate nodes, where the original simulator uses for switches two curves per track with a common point; this is incompatible with Mover physics server * common render settings like curve quality or smoothing should be implemented as project-wide settings Issues: * possible random crashes on gdextension unload / hot reload (to be addressed separately) Co-authored-by: Marcin Nowak <marcin.j.nowak@gmail.com>
…movement Add track rendering without vehicle movement
…ection (#203) Add TrainWheels section / LoadFIZ_Wheels
marcinn
commented
Apr 26, 2026
Member
Author
marcinn
left a comment
There was a problem hiding this comment.
- remove ai slop
- do better public api
- reduce mover changes
To do in next review:
- check commands refactoring
| add_autoload_singleton("Console", "res://addons/libmaszyna/console/console.gd") | ||
| add_autoload_singleton("AudioStreamManager", "res://addons/libmaszyna/sound/audio_stream_manager.gd") | ||
| add_autoload_singleton("UserSettings","res://addons/libmaszyna/settings/user_settings.gd" ) | ||
| _ensure_autoload("MaszynaEnvironment", "res://addons/libmaszyna/environment/maszyna_environment.gd") |
| remove_autoload_singleton("Console") | ||
| remove_autoload_singleton("MaszynaEnvironment") | ||
| remove_autoload_singleton("UserSettings") | ||
| _remove_autoload_if_present("AudioStreamManager") |
| ProjectSettings.set_initial_value(name, default_value) | ||
|
|
||
|
|
||
| func _ensure_autoload(name: String, path: String) -> void: |
| compatibility_minimum = "4.4" | ||
| reloadable = true | ||
| compatibility_minimum = "4.6" | ||
| reloadable = false |
| func _enter_tree(): | ||
| _ensure_curve() | ||
| _ensure_track() | ||
| _ensure_virtual_track() |
Member
Author
There was a problem hiding this comment.
Virtual track should not be exposed, and should be managed internally
| #pragma once | ||
| //--------------------------------------------------------------------------- | ||
| // Q: 20160805 - odlaczenie pliku fizyki .pas od kompilacji | ||
| #include "hamulce.h" |
| // TDynamicObject *vehicle{nullptr}; // detected obstacle | ||
| int vehicle_end{-1}; // facing end of the obstacle | ||
| TMoverParameters *vehicle{nullptr}; // detected obstacle | ||
| int vehicle_end{-1}; // facing end of the obstacle |
| bool LoadTypeChange{false}; // indicates load type was changed | ||
| std::string LoadQuantity; // jednostki miary | ||
| int LoadStatus = 0; //+1=trwa rozladunek,+2=trwa zaladunek,+4=zakończono,0=zaktualizowany model | ||
| bool LoadTypeChange{false}; // indicates load type was changed |
|
|
||
| // double CouplerForce(int const End, double dt); | ||
| // void CollisionDetect(int const End, double const dt); // | ||
| double CouplerForce(int const End, double dt); |
| // which aren't part of the same consist | ||
| // vehicles which aren't part of the same consist | ||
| auto const safevelocitylimit{15.0}; | ||
| auto const selfvx{std::cos(Rot.Rz) * V}; |
Member
Author
There was a problem hiding this comment.
Fcking ai slop - revert mover changes
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #54