]> git.tdb.fi Git - r2c2.git/log
r2c2.git
14 years agoAvoid various problems associated with dead end blocks
Mikko Rasa [Sun, 26 Sep 2010 11:26:23 +0000 (11:26 +0000)]
Avoid various problems associated with dead end blocks
Deal with nonexistent blocks while loading trains

14 years agoFull vehicle unification
Mikko Rasa [Sun, 26 Sep 2010 09:28:16 +0000 (09:28 +0000)]
Full vehicle unification
Add controls for adding vehicles to TrainProperties

14 years agoAdd some utility functions for interfacing with hardware
Mikko Rasa [Sat, 25 Sep 2010 08:46:20 +0000 (08:46 +0000)]
Add some utility functions for interfacing with hardware
Improve makefile to support uploading to Arduino Mini
Expand s88w protocol to support multiple transmitters
Add lcd output to s88w-r for debugging

14 years agoMake better use of GL::Pipeline
Mikko Rasa [Thu, 16 Sep 2010 19:42:27 +0000 (19:42 +0000)]
Make better use of GL::Pipeline
Double the amount of segments in curved tracks
Adapt to mspgl changes

14 years agoCopy position and rotation when duplicating tracks
Mikko Rasa [Thu, 16 Sep 2010 19:41:21 +0000 (19:41 +0000)]
Copy position and rotation when duplicating tracks

14 years agoAdd some new vehicles
Mikko Rasa [Sat, 1 May 2010 13:29:16 +0000 (13:29 +0000)]
Add some new vehicles
Give proper type codes for the tank wagons

14 years agoAdd wireless s88 firmware and schematic
Mikko Rasa [Fri, 30 Apr 2010 20:47:18 +0000 (20:47 +0000)]
Add wireless s88 firmware and schematic

14 years agoDon't clear timetable before all rows are successfully parsed
Mikko Rasa [Mon, 26 Apr 2010 09:09:21 +0000 (09:09 +0000)]
Don't clear timetable before all rows are successfully parsed
Do a more complete reset of timetable state when clearing
Also reset timetable state when toggling enabled state

14 years agoAdd a UI for editing train timetables
Mikko Rasa [Sat, 24 Apr 2010 21:01:15 +0000 (21:01 +0000)]
Add a UI for editing train timetables
Add an enabled flag to Timetable
Display turnout and sensor ids when clicked

14 years agoFix a compile error
Mikko Rasa [Sat, 24 Apr 2010 18:04:08 +0000 (18:04 +0000)]
Fix a compile error
Handle a null train properly in TrainProperties constructor
Print emergencies to stdout
Report sensor number in unreserved sensor triggers
Never update real_speed[0]
Return a nonzero value if no speeds are recorded yet

14 years agoDon't reserve blocks when not active
Mikko Rasa [Fri, 23 Apr 2010 19:29:58 +0000 (19:29 +0000)]
Don't reserve blocks when not active

14 years agoImplement train priority system
Mikko Rasa [Fri, 23 Apr 2010 19:28:39 +0000 (19:28 +0000)]
Implement train priority system

14 years agoHandle reversing in a way that allows backing out of a dead end
Mikko Rasa [Fri, 23 Apr 2010 18:21:12 +0000 (18:21 +0000)]
Handle reversing in a way that allows backing out of a dead end

14 years agoDo not render unplaced vehicles
Mikko Rasa [Fri, 23 Apr 2010 18:05:44 +0000 (18:05 +0000)]
Do not render unplaced vehicles

14 years agoRelease non-sensor blocks when the tail end of the train has passed far enough
Mikko Rasa [Fri, 23 Apr 2010 17:21:00 +0000 (17:21 +0000)]
Release non-sensor blocks when the tail end of the train has passed far enough

14 years agoMark train positions as inaccurate on halt
Mikko Rasa [Fri, 23 Apr 2010 17:11:35 +0000 (17:11 +0000)]
Mark train positions as inaccurate on halt

14 years agoFix problems with turnouts
Mikko Rasa [Fri, 23 Apr 2010 17:11:04 +0000 (17:11 +0000)]
Fix problems with turnouts

14 years agoMark generated routes as temporary and don't show or save them
Mikko Rasa [Fri, 23 Apr 2010 17:05:18 +0000 (17:05 +0000)]
Mark generated routes as temporary and don't show or save them
Fix a segfault with unplaced trains
Handle end-of-line gracefully in various places

14 years agoOnly pick once per rendered frame
Mikko Rasa [Fri, 23 Apr 2010 16:31:59 +0000 (16:31 +0000)]
Only pick once per rendered frame
Don't add new routes to layout manually

14 years agoAdd a separate double_address flag to TrackType
Mikko Rasa [Wed, 21 Apr 2010 23:08:10 +0000 (23:08 +0000)]
Add a separate double_address flag to TrackType

14 years agoHalt all trains in various unexpected situations
Mikko Rasa [Wed, 21 Apr 2010 19:20:46 +0000 (19:20 +0000)]
Halt all trains in various unexpected situations
Turnouts no longer get stuck if a switching attempt fails
Save the vehicles of trains in state file
It's better to put trains too far back rather than forward

14 years agoAdd some more wagons
Mikko Rasa [Mon, 19 Apr 2010 04:38:00 +0000 (04:38 +0000)]
Add some more wagons
Add 3D models for nearly all vehicles

14 years agoPlug memory leaks
Mikko Rasa [Sun, 18 Apr 2010 11:28:17 +0000 (11:28 +0000)]
Plug memory leaks
Set correct aspect ratio to camera
Add serial to svn:ignore

14 years agoRender vehicles with real 3D models
Mikko Rasa [Sun, 18 Apr 2010 11:16:37 +0000 (11:16 +0000)]
Render vehicles with real 3D models

14 years agoSupport trains with multiple vehicles
Mikko Rasa [Sat, 17 Apr 2010 11:00:55 +0000 (11:00 +0000)]
Support trains with multiple vehicles
Correct positioning of vehicles with bogies

14 years agoEmit signal for control changes initiated by the control model itself
Mikko Rasa [Fri, 16 Apr 2010 19:42:44 +0000 (19:42 +0000)]
Emit signal for control changes initiated by the control model itself
Fix the speed display format in train panel

14 years agoAdd timetable-based operation
Mikko Rasa [Fri, 16 Apr 2010 18:26:06 +0000 (18:26 +0000)]
Add timetable-based operation

14 years agoFix pathfinder to not block itself in some situations
Mikko Rasa [Wed, 14 Apr 2010 21:06:34 +0000 (21:06 +0000)]
Fix pathfinder to not block itself in some situations
Better handling of routes at the beginning of Train::reserve_more
Delay clearing route until stopping

14 years agoFoundations of using physics simulation for trains
Mikko Rasa [Mon, 12 Apr 2010 20:49:54 +0000 (20:49 +0000)]
Foundations of using physics simulation for trains

14 years agoHandle vehicle positioning while going backwards
Mikko Rasa [Mon, 12 Apr 2010 09:56:02 +0000 (09:56 +0000)]
Handle vehicle positioning while going backwards
More sensible initial vehicle placement
Activate occupied sensors while loading trains

14 years agoDon't send redundant loco commands
Mikko Rasa [Mon, 12 Apr 2010 04:55:33 +0000 (04:55 +0000)]
Don't send redundant loco commands
Avoid confusing the IntelliBox by sending multiple commands at once in flush

14 years agoAdd vehicles
Mikko Rasa [Tue, 6 Apr 2010 08:08:54 +0000 (08:08 +0000)]
Add vehicles
Fix direction in Track::get_point
Add overload of Track::get_point that uses the current path

14 years agoAdd a set_sensor function to the Driver interface
Mikko Rasa [Mon, 5 Apr 2010 13:35:46 +0000 (13:35 +0000)]
Add a set_sensor function to the Driver interface
Bring back the simulation mode in Engineer

14 years agoAdd a program for serial port control and associated Arduino firmware
Mikko Rasa [Sat, 3 Apr 2010 09:49:02 +0000 (09:49 +0000)]
Add a program for serial port control and associated Arduino firmware
Make network client handle error packets
Add function to get all trains from the client

14 years agoGenerate loco events from the Dummy driver
Mikko Rasa [Tue, 30 Mar 2010 11:26:02 +0000 (11:26 +0000)]
Generate loco events from the Dummy driver
Don't emit a turnout event if the turnout was already in the correct setting

14 years agoAdd both addresses of a double-address turnout
Mikko Rasa [Tue, 23 Mar 2010 21:14:38 +0000 (21:14 +0000)]
Add both addresses of a double-address turnout
Fix get_point to accept a distance exactly equal to the path length

14 years agoIf a train is not on the specified route, find a route to it
Mikko Rasa [Tue, 23 Mar 2010 21:14:25 +0000 (21:14 +0000)]
If a train is not on the specified route, find a route to it

14 years agoAdd a pathfinder function to Route
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

14 years agoShow each train's blocks in a unique color
Mikko Rasa [Tue, 16 Mar 2010 17:26:49 +0000 (17:26 +0000)]
Show each train's blocks in a unique color

14 years agoReimplement path display
Mikko Rasa [Sun, 14 Mar 2010 20:16:37 +0000 (20:16 +0000)]
Reimplement path display
Make it possible to fill Profiles from code
Initialize Track::active_path to a valid value

14 years agoBugfixes
Mikko Rasa [Fri, 12 Mar 2010 09:37:40 +0000 (09:37 +0000)]
Bugfixes

14 years agoTurn TrackPart into a proper class
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

14 years agoMajor architecture rework
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

14 years agoForgot to add the new files
Mikko Rasa [Sun, 7 Mar 2010 10:33:15 +0000 (10:33 +0000)]
Forgot to add the new files

14 years agoEmit various signals from Train when it's loaded
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

14 years agoAdd accessors adding things to a Catalogue from the outside
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

14 years agoRename Input to InputDialog to avoid the conflict with the Msp::Input namespace
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

14 years agoUse the Root widget for tooltips
Mikko Rasa [Fri, 26 Feb 2010 10:54:32 +0000 (10:54 +0000)]
Use the Root widget for tooltips
Add a status bar for non-tooltip-like status messages

14 years agoFix memory leaks and other bad stuff
Mikko Rasa [Thu, 25 Feb 2010 20:56:20 +0000 (20:56 +0000)]
Fix memory leaks and other bad stuff

14 years agoAdd an overlay to display aspects of tracks
Mikko Rasa [Thu, 25 Feb 2010 18:03:21 +0000 (18:03 +0000)]
Add an overlay to display aspects of tracks

14 years agoUse a GL::Camera
Mikko Rasa [Wed, 24 Feb 2010 21:56:28 +0000 (21:56 +0000)]
Use a GL::Camera
Move camera controls to a separate class

14 years agoAdd an internal layout to Catalogue for selecting tracks
Mikko Rasa [Sun, 21 Feb 2010 22:00:50 +0000 (22:00 +0000)]
Add an internal layout to Catalogue for selecting tracks
Restructure Designer init/deinit code
Add tracks to Layout3D when it's created

14 years agoUse GL::Renderables and a Pipeline for rendering
Mikko Rasa [Sun, 21 Feb 2010 20:01:37 +0000 (20:01 +0000)]
Use GL::Renderables and a Pipeline for rendering
Add lighting to designer

14 years agoSplit mesh generation from Track3D to TrackType3D
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

14 years agoFix some problems with loading routes
Mikko Rasa [Wed, 27 Jan 2010 21:17:22 +0000 (21:17 +0000)]
Fix some problems with loading routes
Document some algorithms with comments
Add paths to the double-slip turnout

14 years agoImprove the block allocation algorithm
Mikko Rasa [Wed, 30 Dec 2009 18:32:26 +0000 (18:32 +0000)]
Improve the block allocation algorithm

14 years agoStop all trains when Engineer exits
Mikko Rasa [Sun, 27 Dec 2009 07:51:03 +0000 (07:51 +0000)]
Stop all trains when Engineer exits
Handle some abnormal termination conditions as well

14 years agoGet rid of Train::try_reserve and listen to signal_block_reserved instead
Mikko Rasa [Sat, 26 Dec 2009 20:35:30 +0000 (20:35 +0000)]
Get rid of Train::try_reserve and listen to signal_block_reserved instead
Fix release_blocks so it doesn't cause discrepancies in state

14 years agoStore routes in a map by name rather than a set
Mikko Rasa [Sat, 26 Dec 2009 19:36:38 +0000 (19:36 +0000)]
Store routes in a map by name rather than a set

14 years agoImprove the handling of sensor events in Train
Mikko Rasa [Sat, 26 Dec 2009 19:26:00 +0000 (19:26 +0000)]
Improve the handling of sensor events in Train

14 years agoCompute deterministic IDs for blocks
Mikko Rasa [Sat, 26 Dec 2009 09:29:23 +0000 (09:29 +0000)]
Compute deterministic IDs for blocks
Save train route and block information

14 years agoDon't advance the estimated train position outside current blocks
Mikko Rasa [Tue, 22 Dec 2009 18:54:28 +0000 (18:54 +0000)]
Don't advance the estimated train position outside current blocks

14 years agoMake further use of the traverse functions always returning a valid result
Mikko Rasa [Tue, 22 Dec 2009 18:39:03 +0000 (18:39 +0000)]
Make further use of the traverse functions always returning a valid result

14 years agoCompute Z bounds for Track3D
Mikko Rasa [Mon, 21 Dec 2009 08:00:11 +0000 (08:00 +0000)]
Compute Z bounds for Track3D
Set Z coordinates for TrackWraps

14 years agoUse Msp::IO::print instead of std::cout
Mikko Rasa [Mon, 21 Dec 2009 07:17:19 +0000 (07:17 +0000)]
Use Msp::IO::print instead of std::cout
Use Msp::format instead of std::ostringstream

14 years agoChange a few functions in Train to take Block reference instead of pointer
Mikko Rasa [Sun, 20 Dec 2009 19:41:44 +0000 (19:41 +0000)]
Change a few functions in Train to take Block reference instead of pointer
Change Train::release_reserved_blocks into a more generic release_blocks

14 years agoImprove the block reservation algorithm
Mikko Rasa [Sun, 20 Dec 2009 19:34:12 +0000 (19:34 +0000)]
Improve the block reservation algorithm

14 years agoConsider failed track or block traversal a fatal error
Mikko Rasa [Sun, 20 Dec 2009 00:30:50 +0000 (00:30 +0000)]
Consider failed track or block traversal a fatal error

14 years agoSimulate commands if no serial device is set to make turnouts work
Mikko Rasa [Fri, 18 Dec 2009 23:07:25 +0000 (23:07 +0000)]
Simulate commands if no serial device is set to make turnouts work

14 years agoMake function toggles 1px wider to have 5 of them fill the space exactly
Mikko Rasa [Fri, 18 Dec 2009 21:10:02 +0000 (21:10 +0000)]
Make function toggles 1px wider to have 5 of them fill the space exactly
Write most function names fully
Add BR 194 loco

14 years agoTake z coordinate into account when computing points on tracks
Mikko Rasa [Fri, 18 Dec 2009 06:34:30 +0000 (06:34 +0000)]
Take z coordinate into account when computing points on tracks

14 years agoInitialize Train::route to 0
Mikko Rasa [Thu, 17 Dec 2009 21:04:35 +0000 (21:04 +0000)]
Initialize Train::route to 0

14 years agoOnly signal turnout path change when the command is successfully completed
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

14 years agoReformat the block reservation loop
Mikko Rasa [Wed, 16 Dec 2009 21:20:34 +0000 (21:20 +0000)]
Reformat the block reservation loop
Don't crash if rsv_blocks is empty at the end of reserve_more

14 years agoExport routes over network
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

14 years agoSupport dual-address locomotives with extra functions on the second address
Mikko Rasa [Sun, 13 Dec 2009 16:51:04 +0000 (16:51 +0000)]
Support dual-address locomotives with extra functions on the second address

14 years agoSupport setting routes for trains
Mikko Rasa [Sun, 13 Dec 2009 16:27:21 +0000 (16:27 +0000)]
Support setting routes for trains
Fix Train::find_speed

14 years agoPrevent a crash if a layout file contains empty routes
Mikko Rasa [Sun, 13 Dec 2009 15:05:35 +0000 (15:05 +0000)]
Prevent a crash if a layout file contains empty routes
Add missing forward declaration to train.h

14 years agoChange terminology to better distinguish routes on the layout from paths across track...
Mikko Rasa [Sun, 13 Dec 2009 15:04:44 +0000 (15:04 +0000)]
Change terminology to better distinguish routes on the layout from paths across tracks and blocks

14 years agoFix valgrind warnings
Mikko Rasa [Sun, 13 Dec 2009 14:04:42 +0000 (14:04 +0000)]
Fix valgrind warnings

14 years agoAdd Dialog class to handle common elements of dialogs
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

14 years agoHandle position estimate when reversing the direction of a train
Mikko Rasa [Sun, 13 Dec 2009 11:35:20 +0000 (11:35 +0000)]
Handle position estimate when reversing the direction of a train

14 years agoKeep track of real speed separately for each speed step
Mikko Rasa [Sun, 13 Dec 2009 01:13:03 +0000 (01:13 +0000)]
Keep track of real speed separately for each speed step
Base the slow speed on real speed instead of a fixed speed step

14 years agoBlock reservation fixes
Mikko Rasa [Sat, 12 Dec 2009 13:09:18 +0000 (13:09 +0000)]
Block reservation fixes

14 years agoAdd networking library and a remote control program
Mikko Rasa [Thu, 10 Dec 2009 20:05:34 +0000 (20:05 +0000)]
Add networking library and a remote control program

14 years agoCorrectly handle slope when snapping tracks
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

14 years agoDon't leave removed tracks in routes
Mikko Rasa [Thu, 10 Dec 2009 08:03:10 +0000 (08:03 +0000)]
Don't leave removed tracks in routes

14 years agoIgnore routes in shoppinglist
Mikko Rasa [Thu, 10 Dec 2009 08:00:25 +0000 (08:00 +0000)]
Ignore routes in shoppinglist

14 years agoAdapt to a change in gltk
Mikko Rasa [Wed, 9 Dec 2009 09:53:34 +0000 (09:53 +0000)]
Adapt to a change in gltk

15 years agoConvert designer to use mspgltk for UI
Mikko Rasa [Sat, 30 May 2009 19:14:17 +0000 (19:14 +0000)]
Convert designer to use mspgltk for UI
Add a toolbar to designer (not all buttons are functional yet)
Support for defining routes for a layout

15 years agoAdd graphics for toggle widget
Mikko Rasa [Sat, 23 May 2009 13:51:47 +0000 (13:51 +0000)]
Add graphics for toggle widget
Make train panels a bit more compact
Support reverse direction for trains

15 years agoCode reformatting: add spaces around assignment operators
Mikko Rasa [Sat, 23 May 2009 07:46:58 +0000 (07:46 +0000)]
Code reformatting: add spaces around assignment operators

15 years agoCode reformatting:
Mikko Rasa [Sat, 23 May 2009 07:11:51 +0000 (07:11 +0000)]
Code reformatting:
- Remove alignment from variable and function declarations
- Reorder and group class members

15 years agoReplace one more stray load function with DataFile::load
Mikko Rasa [Sat, 23 May 2009 06:20:33 +0000 (06:20 +0000)]
Replace one more stray load function with DataFile::load

15 years agoAllow intercepting and denying turnout route and locomotive speed changes
Mikko Rasa [Fri, 22 May 2009 21:49:41 +0000 (21:49 +0000)]
Allow intercepting and denying turnout route and locomotive speed changes
Reroute train when a reserved turnout changes its route
Various minor fixes

15 years agoAdd state loading and saving to engineer
Mikko Rasa [Thu, 21 May 2009 19:52:04 +0000 (19:52 +0000)]
Add state loading and saving to engineer
Modernize all load/save code

15 years agoAttempt to estimate the exact positions of trains from measured speed data
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

15 years agoAllow setting sensor ID for multiple tracks at once
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

15 years agoSupport using a mesh as a background
Mikko Rasa [Sun, 17 May 2009 11:26:52 +0000 (11:26 +0000)]
Support using a mesh as a background
Fix various input problems

15 years agoConvert designer to use mspgbase instead of sdl
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