Mikko Rasa [Sat, 20 Mar 2010 11:42:43 +0000 (11:42 +0000)]
Add a pathfinder function to Route
Implement train go-to functionality
Stop train when arriving at the end of its route
Fix a bug with multi-address turnouts
Add a Z offset to Path3D
Rewrite track picking in Engineer
Mikko Rasa [Fri, 12 Mar 2010 09:29:16 +0000 (09:29 +0000)]
Turn TrackPart into a proper class
Link TrackParts to each other for better efficiency in get_point
Move most of get_point to TrackType
Return direction and grade from get_point in addition to position
Mikko Rasa [Mon, 8 Mar 2010 21:53:29 +0000 (21:53 +0000)]
Major architecture rework
Create a Driver abstraction to hide the code that talks to the physical equipment
Remove TrafficManager and put Blocks and Trains in Layout
Dynamically update Blocks as the layout changes
Remove Locomotive, Turnout and Sensor classes
Tracks now have an active_path property
Trains now allows setting functions
Move option parsing in Engineer to a separate class
Many minor changes
Mikko Rasa [Wed, 3 Mar 2010 21:56:51 +0000 (21:56 +0000)]
Emit various signals from Train when it's loaded
Add Train3D class
Add Object3D class as base for Track3D and Train3D
Make Overlay3D use Object3Ds
Overhaul Engineer code
Mikko Rasa [Mon, 1 Mar 2010 20:35:46 +0000 (20:35 +0000)]
Add accessors adding things to a Catalogue from the outside
Emit signals from Catalogue as things are added
Make Catalogue3D listen to the signals and create appropriate things
Remove the track color and quality interfaces
Mikko Rasa [Sun, 28 Feb 2010 12:56:24 +0000 (12:56 +0000)]
Rename Input to InputDialog to avoid the conflict with the Msp::Input namespace
Derive InputDialog from GLtk::Dialog
Get events from the Root widget rather than the Window
No need for the input pointer or state in Designer anymore
Add tooltips to the Toolbar
Implement a few more of the Toolbar buttons
Mikko Rasa [Fri, 19 Feb 2010 15:44:09 +0000 (15:44 +0000)]
Split mesh generation from Track3D to TrackType3D
Add a Catalogue3D to hold the TrackType3D objects
Better parametrization of track profile
Make track profile loadable from the catalogue file
Track colors and path rendering is non-funtional at the moment
Mikko Rasa [Wed, 16 Dec 2009 23:49:24 +0000 (23:49 +0000)]
Only signal turnout path change when the command is successfully completed
Call update_speed directly from reserve_more if blocks were reserved
Do not reserve turnouts with wrong path
Mikko Rasa [Sun, 13 Dec 2009 18:14:52 +0000 (18:14 +0000)]
Export routes over network
Implement the reverse field in TrainSpeedPacket
Derive the TrainPanel in remote from Expander for a more compact train list
Set default size for the remote controller window
Catch exceptions caused by packets sent by a client
Mikko Rasa [Sun, 13 Dec 2009 13:55:03 +0000 (13:55 +0000)]
Add Dialog class to handle common elements of dialogs
Implement TrainProperties in terms of Dialog
Delete dialogs automatically
Implement the edit button in TrainPanel
Mikko Rasa [Thu, 10 Dec 2009 10:26:21 +0000 (10:26 +0000)]
Correctly handle slope when snapping tracks
Render sloped tracks with rotation, not by shearing the mesh
Render a pillar under the higher endpoint of a sloped track
Hide zero slope from tooltip
Mikko Rasa [Thu, 21 May 2009 16:57:02 +0000 (16:57 +0000)]
Attempt to estimate the exact positions of trains from measured speed data
Improve track vertex array creation
Use Point instead of separate coordinate members for Endpoint and TrackPart
Mikko Rasa [Tue, 19 May 2009 18:46:03 +0000 (18:46 +0000)]
Allow setting sensor ID for multiple tracks at once
Support for controlling turnouts with more than 2 routes
Snap flex-tracks last when loading a layout to get them correctly snapped
Slow down trains when there's only one free sensor block ahead
Put each turnout into its own block to avoid blocking adjacent tracks
Mikko Rasa [Tue, 17 Mar 2009 05:03:36 +0000 (05:03 +0000)]
Convert designer to use mspgbase instead of sdl
Add a missing file in libmarklin
Compatibility with VertexArrayBuilder change
Rename engineer.res to marklin.res for future use in designer too
Mikko Rasa [Sat, 31 May 2008 10:59:14 +0000 (10:59 +0000)]
Convert engineer to use mspgbase instead of SDL
Trains periodically try to continue if blocked by another train
Improve engineer GUI layout
Some bugfixes and tweaks
Mikko Rasa [Fri, 30 May 2008 09:54:26 +0000 (09:54 +0000)]
Major code refactoring:
- Remove container typedefs
- Separate TrackType from Track
- Use indices instead of pointers for endpoints
- Make certain functions return references and throw on error
Compatibility fixes with msp libraries
Mikko Rasa [Sun, 15 Jul 2007 10:59:20 +0000 (10:59 +0000)]
Add Track::get_endpoint_position to avoid duplicating calculations
Fix Block::traverse so it won't hang
Fix memory leaks reported by valgrind
Add signal_speed_changed for locomotive
Bugfixes for block reservation of trains
Color blocks that are occupied by a train
Remove some unnecessary stuff from Engineer
Add simulation mode for sensors
Finish train placing
Add speed display to TrainPanel