]> git.tdb.fi Git - r2c2.git/log
r2c2.git
13 years agoRename the project to R²C²
Mikko Rasa [Tue, 16 Nov 2010 17:53:13 +0000 (17:53 +0000)]
Rename the project to R²C²

13 years agoMake LCD output selectable at runtime through an extra I/O pin
Mikko Rasa [Mon, 15 Nov 2010 21:07:41 +0000 (21:07 +0000)]
Make LCD output selectable at runtime through an extra I/O pin

13 years agoAdd support for MM-27 protocol in Intellibox driver
Mikko Rasa [Mon, 15 Nov 2010 21:06:46 +0000 (21:06 +0000)]
Add support for MM-27 protocol in Intellibox driver
Use an enum instead of string for storing train protocol
Fix an off-by-one error in Train

13 years agoFix a segfault in removing vehicles when creating a new train
Mikko Rasa [Sun, 14 Nov 2010 16:39:33 +0000 (16:39 +0000)]
Fix a segfault in removing vehicles when creating a new train

13 years agoFramework for supporting multiple control protocols in a single driver
Mikko Rasa [Fri, 12 Nov 2010 22:00:23 +0000 (22:00 +0000)]
Framework for supporting multiple control protocols in a single driver

13 years agoMatch the API change in GLtk
Mikko Rasa [Fri, 12 Nov 2010 21:53:42 +0000 (21:53 +0000)]
Match the API change in GLtk
Adjust vslider style so that the slider is at top wit zero range

13 years agoFix and improve Route::check_validity
Mikko Rasa [Fri, 12 Nov 2010 21:45:26 +0000 (21:45 +0000)]
Fix and improve Route::check_validity

13 years agoChange the input filtering for better suitability for unreliable track circuits
Mikko Rasa [Fri, 12 Nov 2010 21:03:19 +0000 (21:03 +0000)]
Change the input filtering for better suitability for unreliable track circuits
Reduce the amount of spam sent by s88w-t
Optimize the LCD output code in s88w-r

13 years agoImplement removing vehicles from a train
Mikko Rasa [Mon, 8 Nov 2010 14:29:23 +0000 (14:29 +0000)]
Implement removing vehicles from a train

13 years agoIgnore the click that causes manipulator to finish
Mikko Rasa [Mon, 8 Nov 2010 14:28:24 +0000 (14:28 +0000)]
Ignore the click that causes manipulator to finish

13 years agoChange article numbers for locos that are from starter packs
Mikko Rasa [Sun, 7 Nov 2010 21:37:31 +0000 (21:37 +0000)]
Change article numbers for locos that are from starter packs
Correct article number for tank wagons
Adjust some wagon names
Add some new wagons with generated objects (will be properly modeled later)

13 years agoAdd an SVG exporter to Designer
Mikko Rasa [Sun, 7 Nov 2010 21:30:58 +0000 (21:30 +0000)]
Add an SVG exporter to Designer

13 years agoAdd framework for generating simple meshes for vehicles
Mikko Rasa [Sun, 7 Nov 2010 14:27:40 +0000 (14:27 +0000)]
Add framework for generating simple meshes for vehicles

13 years agoPrevent segfault if an exception is thrown while loading
Mikko Rasa [Sun, 7 Nov 2010 14:26:27 +0000 (14:26 +0000)]
Prevent segfault if an exception is thrown while loading

13 years agoFix some GL function calls
Mikko Rasa [Sun, 7 Nov 2010 14:25:56 +0000 (14:25 +0000)]
Fix some GL function calls

13 years agoMake snap limit relative to gauge
Mikko Rasa [Fri, 5 Nov 2010 21:25:06 +0000 (21:25 +0000)]
Make snap limit relative to gauge
Cap snap limit to 5 pixels when zooming very far out

13 years agoAdd some shortcut functions for getting endpoints
Mikko Rasa [Thu, 4 Nov 2010 20:36:00 +0000 (20:36 +0000)]
Add some shortcut functions for getting endpoints

13 years agoConnect manipulator directly to event signals
Mikko Rasa [Thu, 4 Nov 2010 08:10:50 +0000 (08:10 +0000)]
Connect manipulator directly to event signals
Give map_pointer_coords a better name

13 years agoLoad UI resources with constructor
Mikko Rasa [Thu, 4 Nov 2010 07:30:41 +0000 (07:30 +0000)]
Load UI resources with constructor
Make root and camera_ctl direct members

13 years agoClear end_of_route if we have to free blocks from the end
Mikko Rasa [Tue, 2 Nov 2010 21:35:26 +0000 (21:35 +0000)]
Clear end_of_route if we have to free blocks from the end
Drop the return value of reserve_more as it's not useful anymore
simplify the logic of keeping good blocks
Don't keep any turnouts at the end of reservation
Fix a bug where a blocks could be current but not clear
Always set turnouts according to reserved blocks
Handle instant turnout switches correctly

13 years agoUse ArticleNumber in shoppinglist
Mikko Rasa [Tue, 2 Nov 2010 05:49:11 +0000 (05:49 +0000)]
Use ArticleNumber in shoppinglist
Some other refactoring as well

13 years agoMove the fitting part of Manipulator::connect to a separate function
Mikko Rasa [Mon, 1 Nov 2010 14:40:38 +0000 (14:40 +0000)]
Move the fitting part of Manipulator::connect to a separate function
Add a manipulator mode to extend tracks out of an endpoint
Add a method to replace the entire selection at once

13 years agoEnforce a lower limit for camera distance
Mikko Rasa [Mon, 1 Nov 2010 12:08:59 +0000 (12:08 +0000)]
Enforce a lower limit for camera distance
Adjust depth clip according to distance

13 years agoBetter models of BR 185 and Rs 684
Mikko Rasa [Mon, 1 Nov 2010 06:01:03 +0000 (06:01 +0000)]
Better models of BR 185 and Rs 684

13 years agoAdd a path_changed signal to Track
Mikko Rasa [Mon, 1 Nov 2010 06:00:05 +0000 (06:00 +0000)]
Add a path_changed signal to Track
Keep blocks reserved while setting turnouts to avoid a race condition

13 years agoAdd a forward toggle to TrainView
Mikko Rasa [Sat, 30 Oct 2010 19:50:33 +0000 (19:50 +0000)]
Add a forward toggle to TrainView

13 years agoUse a single block list in Train
Mikko Rasa [Sat, 30 Oct 2010 19:50:14 +0000 (19:50 +0000)]
Use a single block list in Train

13 years agoAdd Route::get_path to streamline route traversal
Mikko Rasa [Fri, 29 Oct 2010 21:44:31 +0000 (21:44 +0000)]
Add Route::get_path to streamline route traversal

13 years agoAdd TrackLoopIter
Mikko Rasa [Fri, 29 Oct 2010 21:30:03 +0000 (21:30 +0000)]
Add TrackLoopIter
Use it instead of manually maintaining visited sets

13 years agoFix some uninitialized variable warnings
Mikko Rasa [Fri, 29 Oct 2010 21:29:00 +0000 (21:29 +0000)]
Fix some uninitialized variable warnings

13 years agoMake the pathfinder use TrackIter
Mikko Rasa [Fri, 29 Oct 2010 17:57:01 +0000 (17:57 +0000)]
Make the pathfinder use TrackIter

13 years agoRewrite CameraController to make use of mouse
Mikko Rasa [Fri, 29 Oct 2010 10:43:00 +0000 (10:43 +0000)]
Rewrite CameraController to make use of mouse

13 years agoMake Designer::get_layout and get_layout_3d return references
Mikko Rasa [Fri, 29 Oct 2010 10:30:49 +0000 (10:30 +0000)]
Make Designer::get_layout and get_layout_3d return references

13 years agoSupport more complex article numbers
Mikko Rasa [Wed, 27 Oct 2010 20:28:20 +0000 (20:28 +0000)]
Support more complex article numbers
Use typedefs for Catalogue maps

13 years agoReturn null from Route::find if a route can't be found
Mikko Rasa [Wed, 27 Oct 2010 18:49:03 +0000 (18:49 +0000)]
Return null from Route::find if a route can't be found
Avoid setting a route that can't be reached
Stop timetable if route can't be set
Put diversion route in RefPtr so it gets cleaned if we bail out

13 years agoRewrite Block::find_paths using TrackIter
Mikko Rasa [Wed, 27 Oct 2010 18:40:27 +0000 (18:40 +0000)]
Rewrite Block::find_paths using TrackIter

13 years agoSupport multiple timers (currently 0 and 1)
Mikko Rasa [Wed, 27 Oct 2010 16:14:17 +0000 (16:14 +0000)]
Support multiple timers (currently 0 and 1)
Provide functions for setting timers in µs as well as Hz
Rewrite interrupt callbacks as macros that directly create the ISR
Add an async mode for LCD
Fix DDRB in s88w-t

13 years agoAdd a feature to autofit straight runs of track
Mikko Rasa [Wed, 27 Oct 2010 12:10:03 +0000 (12:10 +0000)]
Add a feature to autofit straight runs of track

13 years agoHandle separate speed and reverse controls correctly in remote
Mikko Rasa [Wed, 27 Oct 2010 07:18:19 +0000 (07:18 +0000)]
Handle separate speed and reverse controls correctly in remote

13 years agoUse maps instead of lists in Layout3D
Mikko Rasa [Tue, 26 Oct 2010 18:44:48 +0000 (18:44 +0000)]
Use maps instead of lists in Layout3D

13 years agoAllow negative counts for writing off tracks
Mikko Rasa [Tue, 26 Oct 2010 18:33:20 +0000 (18:33 +0000)]
Allow negative counts for writing off tracks

13 years agoLimit Z difference when linking tracks
Mikko Rasa [Tue, 26 Oct 2010 18:32:42 +0000 (18:32 +0000)]
Limit Z difference when linking tracks
Correctly set track Z positions when snapped
Eliminate a glitch with new tracks

13 years agoDon't give out a turnout ID that's already in use
Mikko Rasa [Tue, 26 Oct 2010 18:30:46 +0000 (18:30 +0000)]
Don't give out a turnout ID that's already in use

13 years agoDo not show path on new tracks
Mikko Rasa [Tue, 26 Oct 2010 08:39:37 +0000 (08:39 +0000)]
Do not show path on new tracks
Display errors from add_tracks_to_route in status bar
Adjust rendering pipeline to better support semi-transparent base objects

13 years agoSeparate track wrap to its own class
Mikko Rasa [Mon, 25 Oct 2010 18:12:23 +0000 (18:12 +0000)]
Separate track wrap to its own class

13 years agoMove Endpoint inside TrackType
Mikko Rasa [Mon, 25 Oct 2010 16:08:57 +0000 (16:08 +0000)]
Move Endpoint inside TrackType

13 years agoAdd TrackIter and BlockIter classes
Mikko Rasa [Mon, 25 Oct 2010 13:30:36 +0000 (13:30 +0000)]
Add TrackIter and BlockIter classes
Remove the traverse functions in favor of the iterators

13 years agoDisplay the total length of selected tracks in status bar
Mikko Rasa [Mon, 25 Oct 2010 11:41:51 +0000 (11:41 +0000)]
Display the total length of selected tracks in status bar
Reuse Shift+L to select blocks

13 years agoMaintain a Block pointer in Track
Mikko Rasa [Mon, 25 Oct 2010 11:40:33 +0000 (11:40 +0000)]
Maintain a Block pointer in Track
Drop Layout::get_block_by_track

13 years agoAdd Block::has_track and Route::has_track methods
Mikko Rasa [Fri, 22 Oct 2010 21:22:41 +0000 (21:22 +0000)]
Add Block::has_track and Route::has_track methods

13 years agoMake Route hold non-const Tracks to match Block
Mikko Rasa [Fri, 22 Oct 2010 21:08:17 +0000 (21:08 +0000)]
Make Route hold non-const Tracks to match Block
Make several functions take non-const parameters to avoid escaping constness:
- Track::get_endpoint_by_link
- Block::get_endpoint_by_link
- Layout3D::get_track

13 years agoUI tweaks
Mikko Rasa [Thu, 21 Oct 2010 12:56:28 +0000 (12:56 +0000)]
UI tweaks

13 years agoAdd a timetable row type to wait for another train
Mikko Rasa [Thu, 21 Oct 2010 10:56:16 +0000 (10:56 +0000)]
Add a timetable row type to wait for another train

13 years agoBetter lead route generation
Mikko Rasa [Thu, 21 Oct 2010 10:55:35 +0000 (10:55 +0000)]
Better lead route generation

13 years agoUse per-layout state files
Mikko Rasa [Tue, 19 Oct 2010 16:34:25 +0000 (16:34 +0000)]
Use per-layout state files
Add command line option to specify state file

13 years agoAdd a variant of Route::find that takes a set of tracks
Mikko Rasa [Tue, 19 Oct 2010 16:32:20 +0000 (16:32 +0000)]
Add a variant of Route::find that takes a set of tracks
Allow setting turnouts in a Route manually
Move Route::update_turnouts to its proper place
Add full route chaining to Train
Better logic for where to start pathfinding
Divert trains to an alternate route if possible when blocked

13 years agoReserve two ids for double-address turnouts
Mikko Rasa [Fri, 15 Oct 2010 19:15:10 +0000 (19:15 +0000)]
Reserve two ids for double-address turnouts
Report track z coordinate correctly for turnouts
Don't reserve more blocks when arriving at end of route
Add a small offset when placing a train after loading

13 years agoDo not require unique names for routes
Mikko Rasa [Fri, 15 Oct 2010 17:32:53 +0000 (17:32 +0000)]
Do not require unique names for routes
Support renaming routes
Add delete and rename buttons for routes in designer's toolbar

13 years agoGenerate IDs for new turnouts
Mikko Rasa [Thu, 14 Oct 2010 19:25:50 +0000 (19:25 +0000)]
Generate IDs for new turnouts
Update routes when a turnout ID is changed
Properly support non-loop routes
Link tracks as they are loaded
Don't move tracks when linking if one of them is flexible
Move route rebuilding to the Route class

13 years agoAdd new vehicles:
Mikko Rasa [Thu, 14 Oct 2010 19:11:27 +0000 (19:11 +0000)]
Add new vehicles:
BR E 41
B4nzb 64
Sgns 691
Fals-u 176

13 years agoBugfixes
Mikko Rasa [Thu, 14 Oct 2010 19:03:05 +0000 (19:03 +0000)]
Bugfixes

13 years agoRendering improvements
Mikko Rasa [Sun, 10 Oct 2010 18:26:19 +0000 (18:26 +0000)]
Rendering improvements

13 years agoAdd TrainView for viewing the layout from the train's perspective
Mikko Rasa [Sun, 10 Oct 2010 10:18:00 +0000 (10:18 +0000)]
Add TrainView for viewing the layout from the train's perspective
Make TrainPanel collapsible to save space
Add button for taking train off the track

13 years agoSupport taking trains off the tracks
Mikko Rasa [Sun, 10 Oct 2010 09:21:07 +0000 (09:21 +0000)]
Support taking trains off the tracks
Don't give up a block that still has vehicles on it
Fix get_reserved_distance after placing a long train
Don't use speed steps more than 3 above the last known one

13 years agoSet correct Z coordinate to vehicle position
Mikko Rasa [Sat, 9 Oct 2010 10:40:50 +0000 (10:40 +0000)]
Set correct Z coordinate to vehicle position
Render vehicle axles

13 years agoRework the UI elements for a smoother and more uniform look
Mikko Rasa [Wed, 6 Oct 2010 13:07:01 +0000 (13:07 +0000)]
Rework the UI elements for a smoother and more uniform look
Add styles for vsliders and multiline entries
Add selection indicator to lists

13 years agoCreate a more generic version of Train::get_reserved_distance
Mikko Rasa [Mon, 4 Oct 2010 19:59:30 +0000 (19:59 +0000)]
Create a more generic version of Train::get_reserved_distance
Use it to determine if a trailing non-sensor block can be freed
Don't release blocks if there's not enough distance for stopping
Reserve enough blocks to maintain speed

13 years agoAdd an overload of Block::traverse that takes a Route
Mikko Rasa [Sun, 3 Oct 2010 18:56:38 +0000 (18:56 +0000)]
Add an overload of Block::traverse that takes a Route
Improved handling of taking blocks from another train
Add yield system for trains of equal priority

13 years agoUse RAII for setting the anti-recursion flags
Mikko Rasa [Sun, 3 Oct 2010 18:31:48 +0000 (18:31 +0000)]
Use RAII for setting the anti-recursion flags
Fix some crashes with empty cur_blocks
Refuse to give up the last of cur_blocks

13 years agoPrevent some undesirable recursive calls
Mikko Rasa [Sun, 3 Oct 2010 13:27:54 +0000 (13:27 +0000)]
Prevent some undesirable recursive calls

13 years agoAdd error reporting to the Intellibox driver
Mikko Rasa [Sat, 2 Oct 2010 11:48:08 +0000 (11:48 +0000)]
Add error reporting to the Intellibox driver

13 years agoAdd reverse and arrival row types to Timetable
Mikko Rasa [Sat, 2 Oct 2010 11:47:33 +0000 (11:47 +0000)]
Add reverse and arrival row types to Timetable
Change "go to" into "set route to"
More flexible row parameters
Add Row::save method

13 years agoFix vacated distance calculation when moving backwards
Mikko Rasa [Sat, 2 Oct 2010 11:41:44 +0000 (11:41 +0000)]
Fix vacated distance calculation when moving backwards
Be consistent with vehicle placement when placing a train

13 years agoPlace vehicles on the track when attached
Mikko Rasa [Fri, 1 Oct 2010 12:20:14 +0000 (12:20 +0000)]
Place vehicles on the track when attached
Fix Vehicle::attach_front to actually attach to the front
Initialize VehicleType::locomotive

13 years agoMake vehicles trigger sensors as they pass over them, allowing full simulation
Mikko Rasa [Tue, 28 Sep 2010 14:03:45 +0000 (14:03 +0000)]
Make vehicles trigger sensors as they pass over them, allowing full simulation

13 years agoMove the TrainControl inside the Controller class
Mikko Rasa [Mon, 27 Sep 2010 20:34:00 +0000 (20:34 +0000)]
Move the TrainControl inside the Controller class
Rename a field in AIControl

13 years agoRename ControlModel to Controller
Mikko Rasa [Mon, 27 Sep 2010 20:27:45 +0000 (20:27 +0000)]
Rename ControlModel to Controller
Rename SimplePhysics to SimpleController

13 years agoChange the control system to separate speed and reverse
Mikko Rasa [Sun, 26 Sep 2010 19:53:02 +0000 (19:53 +0000)]
Change the control system to separate speed and reverse
Don't emit signal_arrived until the train has stopped
Slow down for the last stretch at the end of reserved track

13 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

13 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

13 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

13 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

13 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