]> git.tdb.fi Git - r2c2.git/log
r2c2.git
10 years agoAdd a missing initializer
Mikko Rasa [Sun, 30 Mar 2014 18:14:06 +0000 (21:14 +0300)]
Add a missing initializer

10 years agoRemove some unnecessary braces and an outdated comment
Mikko Rasa [Sun, 30 Mar 2014 18:13:14 +0000 (21:13 +0300)]
Remove some unnecessary braces and an outdated comment

10 years agoPass goto target with the correct type
Mikko Rasa [Sun, 30 Mar 2014 18:11:44 +0000 (21:11 +0300)]
Pass goto target with the correct type

10 years agoAdd a distance metric to turn the routing into an A* search
Mikko Rasa [Sun, 30 Mar 2014 17:22:31 +0000 (20:22 +0300)]
Add a distance metric to turn the routing into an A* search

The original straightforward implementation exploded in complexity much
sooner than I expected.  The reasons are not entirely clear, but the
inability to converge states and drop those where the same position was
already reached through a faster path may have something to do with it.

10 years agoMaintain a separate list of pending RoutingStates
Mikko Rasa [Sun, 30 Mar 2014 17:13:53 +0000 (20:13 +0300)]
Maintain a separate list of pending RoutingStates

10 years agoCheck that occupied_track is not null before accessing it
Mikko Rasa [Sun, 30 Mar 2014 16:36:47 +0000 (19:36 +0300)]
Check that occupied_track is not null before accessing it

This could only happen if an exception is thrown from TrainRoutingState
constructor, but the resulting segfault can act as a red herring and
distract from the actual cause.

10 years agoRename is_occupied to is_occupying
Mikko Rasa [Sun, 30 Mar 2014 13:46:53 +0000 (16:46 +0300)]
Rename is_occupied to is_occupying

This reflects the function's actual purpose better.

10 years agoMake deadlock detection more robust
Mikko Rasa [Sun, 30 Mar 2014 13:43:54 +0000 (16:43 +0300)]
Make deadlock detection more robust

Deadlock cycles involving more than two trains can now be detected.

10 years agoBe stricter with const qualifiers
Mikko Rasa [Sun, 30 Mar 2014 13:34:03 +0000 (16:34 +0300)]
Be stricter with const qualifiers

10 years agoContinue TrainRoutePlanner refactoring
Mikko Rasa [Sun, 30 Mar 2014 13:20:28 +0000 (16:20 +0300)]
Continue TrainRoutePlanner refactoring

This moves even more logic into the data structures, and cleans up step
management.

10 years agoStart refactoring TrainRoutePlanner
Mikko Rasa [Sun, 30 Mar 2014 12:35:34 +0000 (15:35 +0300)]
Start refactoring TrainRoutePlanner

OOP calls for the logic to be close to the data it uses, so let's put it
there.

10 years agoFilter out non-viable routing steps before adding them to the list
Mikko Rasa [Sat, 29 Mar 2014 16:16:51 +0000 (18:16 +0200)]
Filter out non-viable routing steps before adding them to the list

10 years agoSkip arrived trains when updating states in the route planner
Mikko Rasa [Sat, 29 Mar 2014 15:06:52 +0000 (17:06 +0200)]
Skip arrived trains when updating states in the route planner

10 years agoUtilize maximum speed information in planning routes
Mikko Rasa [Sat, 29 Mar 2014 13:22:22 +0000 (15:22 +0200)]
Utilize maximum speed information in planning routes

10 years agoAssign delay in TrainRoutingState copy-constructor
Mikko Rasa [Sat, 29 Mar 2014 11:38:11 +0000 (13:38 +0200)]
Assign delay in TrainRoutingState copy-constructor

10 years agoSupport waypoints in Timetable
Mikko Rasa [Wed, 26 Mar 2014 20:44:31 +0000 (22:44 +0200)]
Support waypoints in Timetable

10 years agoGenerate an event for reaching each waypoint
Mikko Rasa [Wed, 26 Mar 2014 20:36:37 +0000 (22:36 +0200)]
Generate an event for reaching each waypoint

10 years agoEmit signal_route_changed when moving to the next route
Mikko Rasa [Wed, 26 Mar 2014 20:36:00 +0000 (22:36 +0200)]
Emit signal_route_changed when moving to the next route

10 years agoInclude destination pointer in the arrival signal
Mikko Rasa [Wed, 26 Mar 2014 20:33:13 +0000 (22:33 +0200)]
Include destination pointer in the arrival signal

10 years agoDrop waypoints once the train has fully covered them
Mikko Rasa [Wed, 26 Mar 2014 20:32:30 +0000 (22:32 +0200)]
Drop waypoints once the train has fully covered them

10 years agoSupport routing through multiple waypoints
Mikko Rasa [Wed, 26 Mar 2014 00:12:06 +0000 (02:12 +0200)]
Support routing through multiple waypoints

Currently the result must be valid as a single route.  No crossing one's
own path or doubling back from a reversing loop.

10 years agoAdjust terrain pick geometry so it's possible to pick tracks on top of it
Mikko Rasa [Tue, 25 Mar 2014 23:56:27 +0000 (01:56 +0200)]
Adjust terrain pick geometry so it's possible to pick tracks on top of it

10 years agoReport the closest object when picking
Mikko Rasa [Tue, 25 Mar 2014 23:56:00 +0000 (01:56 +0200)]
Report the closest object when picking

10 years agoAlso use TrackChains as target locations in Timetable
Mikko Rasa [Tue, 25 Mar 2014 23:54:01 +0000 (01:54 +0200)]
Also use TrackChains as target locations in Timetable

10 years agoUpdate zone name after loading
Mikko Rasa [Tue, 25 Mar 2014 14:56:12 +0000 (16:56 +0200)]
Update zone name after loading

10 years agoUse the TrackChain base class as destination in Router
Mikko Rasa [Sun, 23 Mar 2014 16:48:47 +0000 (18:48 +0200)]
Use the TrackChain base class as destination in Router

There's no functional difference between Zones and blocks in this context.
Giving a Route as a destination does not really make sense and may give
unexpected results, but I see no particular reason to exclude them.

10 years agoAdd a missing protection specifier
Mikko Rasa [Sun, 23 Mar 2014 15:47:44 +0000 (17:47 +0200)]
Add a missing protection specifier

10 years agoUnify TrackChain names
Mikko Rasa [Sun, 23 Mar 2014 13:30:33 +0000 (15:30 +0200)]
Unify TrackChain names

10 years agoStuff created paths into the list so they can be cleared later
Mikko Rasa [Sun, 23 Mar 2014 13:13:17 +0000 (15:13 +0200)]
Stuff created paths into the list so they can be cleared later

10 years agoOnly create a new highlight if the target actually changed
Mikko Rasa [Sat, 22 Mar 2014 08:49:09 +0000 (10:49 +0200)]
Only create a new highlight if the target actually changed

10 years agoClear destination when setting a null route
Mikko Rasa [Thu, 20 Mar 2014 22:33:59 +0000 (00:33 +0200)]
Clear destination when setting a null route

10 years agoNew timetable system, which works like an actual timetable
Mikko Rasa [Thu, 20 Mar 2014 22:33:13 +0000 (00:33 +0200)]
New timetable system, which works like an actual timetable

10 years agoAdd a maximum speed property for vehicle types
Mikko Rasa [Thu, 20 Mar 2014 22:28:50 +0000 (00:28 +0200)]
Add a maximum speed property for vehicle types

10 years agoImplement a departure delay for TrainRouter
Mikko Rasa [Wed, 19 Mar 2014 20:18:37 +0000 (22:18 +0200)]
Implement a departure delay for TrainRouter

10 years agoSet routes created by the planner as temporary
Mikko Rasa [Wed, 19 Mar 2014 20:15:57 +0000 (22:15 +0200)]
Set routes created by the planner as temporary

10 years agoGL::Light no longer has a four-argument constructor
Mikko Rasa [Wed, 19 Mar 2014 17:00:26 +0000 (19:00 +0200)]
GL::Light no longer has a four-argument constructor

10 years agoSave and load clock settings
Mikko Rasa [Wed, 19 Mar 2014 16:56:01 +0000 (18:56 +0200)]
Save and load clock settings

10 years agoAdditional accessors for Clock
Mikko Rasa [Wed, 19 Mar 2014 16:51:35 +0000 (18:51 +0200)]
Additional accessors for Clock

10 years agoDisplay the current time in the main window
Mikko Rasa [Wed, 19 Mar 2014 16:46:42 +0000 (18:46 +0200)]
Display the current time in the main window

10 years agoRender a sky in the upper hemisphere of a view's background
Mikko Rasa [Sun, 24 Nov 2013 21:54:30 +0000 (23:54 +0200)]
Render a sky in the upper hemisphere of a view's background

I'll have to do something about the lower hemisphere as well, but this
already makes train views look 46% better.

10 years agoCorrect direction of roof viewpoint
Mikko Rasa [Sun, 24 Nov 2013 21:45:33 +0000 (23:45 +0200)]
Correct direction of roof viewpoint

10 years agoPass catalogue reference to Object and Technique loaders
Mikko Rasa [Sun, 24 Nov 2013 21:43:13 +0000 (23:43 +0200)]
Pass catalogue reference to Object and Technique loaders

10 years agoLayout3D::get_bounds was broken and not used anywhere, remove it
Mikko Rasa [Sun, 24 Nov 2013 21:40:32 +0000 (23:40 +0200)]
Layout3D::get_bounds was broken and not used anywhere, remove it

10 years agoRender ties between rails on tracks
Mikko Rasa [Sat, 23 Nov 2013 15:36:22 +0000 (17:36 +0200)]
Render ties between rails on tracks

10 years agoMove track appearance properties into a separate class
Mikko Rasa [Fri, 22 Nov 2013 19:43:36 +0000 (21:43 +0200)]
Move track appearance properties into a separate class

This will eventually enable tracks with different appearance (such as
Märklin C and K track) to coexist in the same catalogue.

10 years agoProperly round negative elevations
Mikko Rasa [Fri, 22 Nov 2013 12:43:24 +0000 (14:43 +0200)]
Properly round negative elevations

10 years agoMake BeamGate compile with older GCC versions
Mikko Rasa [Fri, 22 Nov 2013 11:21:30 +0000 (13:21 +0200)]
Make BeamGate compile with older GCC versions

GCC 4.6 produces ambiguity errors despite the using directive in the class
declaration.

10 years agoAdd a terrain object to the catalogue layout
Mikko Rasa [Fri, 22 Nov 2013 11:09:36 +0000 (13:09 +0200)]
Add a terrain object to the catalogue layout

10 years agoProduce more compact saves of terrains
Mikko Rasa [Fri, 22 Nov 2013 11:09:16 +0000 (13:09 +0200)]
Produce more compact saves of terrains

10 years agoSave terrain position and rotation
Mikko Rasa [Fri, 22 Nov 2013 11:05:57 +0000 (13:05 +0200)]
Save terrain position and rotation

10 years agoImprove tile axis calculation
Mikko Rasa [Fri, 22 Nov 2013 11:05:30 +0000 (13:05 +0200)]
Improve tile axis calculation

10 years agoAdd property editing for terrain
Mikko Rasa [Fri, 22 Nov 2013 09:39:23 +0000 (11:39 +0200)]
Add property editing for terrain

10 years agoIgnore beam gates and terrains in shoppinglist
Mikko Rasa [Thu, 21 Nov 2013 23:39:13 +0000 (01:39 +0200)]
Ignore beam gates and terrains in shoppinglist

10 years agoSupport editing multiple terrain tiles at once
Mikko Rasa [Thu, 21 Nov 2013 23:34:38 +0000 (01:34 +0200)]
Support editing multiple terrain tiles at once

10 years agoAutomatically adjust the secondary_axis flag when elevations are changed
Mikko Rasa [Thu, 21 Nov 2013 23:33:30 +0000 (01:33 +0200)]
Automatically adjust the secondary_axis flag when elevations are changed

10 years agoEdit a single terrain node at a time if shift is held
Mikko Rasa [Thu, 21 Nov 2013 17:48:50 +0000 (19:48 +0200)]
Edit a single terrain node at a time if shift is held

10 years agoMore efficient picking of terrain nodes
Mikko Rasa [Thu, 21 Nov 2013 17:41:15 +0000 (19:41 +0200)]
More efficient picking of terrain nodes

10 years agoAdd editable terrain objects
Mikko Rasa [Thu, 21 Nov 2013 15:12:12 +0000 (17:12 +0200)]
Add editable terrain objects

These will soon replace the base object in layout.  It's still a bit
rough along the edges, especially the editing tool.  References to
surface materials are also just a hint of things to come.

10 years agoAdd button_release handler to Tool
Mikko Rasa [Thu, 21 Nov 2013 15:04:25 +0000 (17:04 +0200)]
Add button_release handler to Tool

10 years agoAvoid crash if an object does not have a shape
Mikko Rasa [Thu, 21 Nov 2013 11:42:37 +0000 (13:42 +0200)]
Avoid crash if an object does not have a shape

10 years agoTweak some dialogs a bit
Mikko Rasa [Wed, 20 Nov 2013 20:52:31 +0000 (22:52 +0200)]
Tweak some dialogs a bit

10 years agoAvoid hogging the serial link with S88 read commands
Mikko Rasa [Wed, 20 Nov 2013 20:23:37 +0000 (22:23 +0200)]
Avoid hogging the serial link with S88 read commands

10 years agoAvoid inserting turnout address zero into routes
Mikko Rasa [Wed, 20 Nov 2013 19:52:32 +0000 (21:52 +0200)]
Avoid inserting turnout address zero into routes

10 years agoAvoid advancing to a pending block
Mikko Rasa [Wed, 20 Nov 2013 19:25:11 +0000 (21:25 +0200)]
Avoid advancing to a pending block

This fixes a problem where a train would wait for a turnout to be freed,
then reserve it and immediately advance to it, triggering a false arrival
in the router.

10 years agoDon't attempt to set a turnout to the already active path
Mikko Rasa [Wed, 20 Nov 2013 12:40:04 +0000 (14:40 +0200)]
Don't attempt to set a turnout to the already active path

10 years agoFix route choices in RouterPanel
Mikko Rasa [Wed, 20 Nov 2013 12:37:12 +0000 (14:37 +0200)]
Fix route choices in RouterPanel

10 years agoRecreate the icons in Blender using faces instead of lines
Mikko Rasa [Wed, 20 Nov 2013 12:33:58 +0000 (14:33 +0200)]
Recreate the icons in Blender using faces instead of lines

The OpenGL specification gives implementors enough leeway with line
drawing that they cannot be used for this sort of pixel-scale graphics.

10 years agoDisplay icons and addresses for signals and beam gates
Mikko Rasa [Wed, 20 Nov 2013 11:19:03 +0000 (13:19 +0200)]
Display icons and addresses for signals and beam gates

10 years agoFix some uninitialized variables
Mikko Rasa [Wed, 20 Nov 2013 08:32:38 +0000 (10:32 +0200)]
Fix some uninitialized variables

10 years agoGeneralize TrackProperties to all object types
Mikko Rasa [Wed, 20 Nov 2013 08:03:29 +0000 (10:03 +0200)]
Generalize TrackProperties to all object types

10 years agoMake new and erase work on objects rather than just tracks
Mikko Rasa [Tue, 19 Nov 2013 13:59:06 +0000 (15:59 +0200)]
Make new and erase work on objects rather than just tracks

10 years agoUse any snap nodes without links as boundaries
Mikko Rasa [Tue, 19 Nov 2013 13:56:04 +0000 (15:56 +0200)]
Use any snap nodes without links as boundaries

This makes signals snap to tracks again.

10 years agoAdd a missing function for the locomotive import UI
Mikko Rasa [Tue, 19 Nov 2013 06:43:54 +0000 (08:43 +0200)]
Add a missing function for the locomotive import UI

10 years agoPopulate the import list when TrainListDialog is created
Mikko Rasa [Mon, 18 Nov 2013 18:46:25 +0000 (20:46 +0200)]
Populate the import list when TrainListDialog is created

10 years agoRemember discovered MFX locomotives across runs
Mikko Rasa [Mon, 18 Nov 2013 14:44:33 +0000 (16:44 +0200)]
Remember discovered MFX locomotives across runs

10 years agoUse a common implementation for the three different queues
Mikko Rasa [Fri, 15 Nov 2013 23:26:27 +0000 (01:26 +0200)]
Use a common implementation for the three different queues

10 years agoTerminate the control thread if ArduControl device is not found
Mikko Rasa [Fri, 15 Nov 2013 23:21:41 +0000 (01:21 +0200)]
Terminate the control thread if ArduControl device is not found

10 years agoMove the sleep in ArduControl baud rate logic to the correct place
Mikko Rasa [Fri, 15 Nov 2013 23:20:59 +0000 (01:20 +0200)]
Move the sleep in ArduControl baud rate logic to the correct place

10 years agoImplement an UI for importing locomotives from the driver
Mikko Rasa [Fri, 15 Nov 2013 23:01:39 +0000 (01:01 +0200)]
Implement an UI for importing locomotives from the driver

10 years agoBase the train list item on MultiColumnItem
Mikko Rasa [Fri, 15 Nov 2013 22:44:31 +0000 (00:44 +0200)]
Base the train list item on MultiColumnItem

10 years agoDisplay protocol in the train list
Mikko Rasa [Thu, 14 Nov 2013 17:29:52 +0000 (19:29 +0200)]
Display protocol in the train list

10 years agoStore and export information about detected MFX locomotives
Mikko Rasa [Wed, 13 Nov 2013 06:28:22 +0000 (08:28 +0200)]
Store and export information about detected MFX locomotives

10 years agoAdd interface for importing detected locomotives from the driver
Mikko Rasa [Wed, 13 Nov 2013 06:19:03 +0000 (08:19 +0200)]
Add interface for importing detected locomotives from the driver

10 years agoDetect and set arducontrol baud rate on startup
Mikko Rasa [Tue, 12 Nov 2013 19:49:51 +0000 (21:49 +0200)]
Detect and set arducontrol baud rate on startup

10 years agoAdd two new locomotives
Mikko Rasa [Fri, 8 Nov 2013 22:48:59 +0000 (00:48 +0200)]
Add two new locomotives

The 3D models are still rough drafts, especially the BR 96.  I'll make
better ones as time permits.

10 years agoFix and improve logic in MfxSearchTask
Mikko Rasa [Fri, 8 Nov 2013 19:39:26 +0000 (21:39 +0200)]
Fix and improve logic in MfxSearchTask

10 years agoMove further stuff from the ArduControl main class into Task classes
Mikko Rasa [Fri, 8 Nov 2013 18:27:18 +0000 (20:27 +0200)]
Move further stuff from the ArduControl main class into Task classes

10 years agoRestructure ArduControl driver into more manageable units
Mikko Rasa [Fri, 8 Nov 2013 13:06:30 +0000 (15:06 +0200)]
Restructure ArduControl driver into more manageable units

The control thread main function was getting a bit unwieldy at over 200
lines.

10 years agoAdd basic MFX support to arducontrol driver
Mikko Rasa [Thu, 7 Nov 2013 23:55:29 +0000 (01:55 +0200)]
Add basic MFX support to arducontrol driver

A lot of polishing is still needed.  Locomotive discovery in particular
has several deficiencies.

10 years agoRead power state from arducontrol device on startup
Mikko Rasa [Thu, 7 Nov 2013 22:38:20 +0000 (00:38 +0200)]
Read power state from arducontrol device on startup

10 years agoAdd some more range checks in ArduControl and improve existing ones
Mikko Rasa [Thu, 7 Nov 2013 22:23:32 +0000 (00:23 +0200)]
Add some more range checks in ArduControl and improve existing ones

10 years agoRefer to things in the driver with abstract ids instead of addresses
Mikko Rasa [Thu, 7 Nov 2013 22:01:03 +0000 (00:01 +0200)]
Refer to things in the driver with abstract ids instead of addresses

Since different protocols can and do have overlapping address spaces, the
address alone isn't sufficient to identify a thing.  Passing both address
and protocol in every function and signal would make the interface too
complicated.

At the moment only locomotives can have a protocol specified, but there's
no technical reason why other types of things couldn't have different
protocols as well.

10 years agoRename turnout/sensor_id fields in Track and Block to *_addr
Mikko Rasa [Thu, 7 Nov 2013 20:31:50 +0000 (22:31 +0200)]
Rename turnout/sensor_id fields in Track and Block to *_addr

That's what they really are.  The *_id names would get in the way of what
I'm going to do next.

10 years agoUse simpler logic when dealing with routes in TrackOffsetIter
Mikko Rasa [Thu, 7 Nov 2013 20:29:56 +0000 (22:29 +0200)]
Use simpler logic when dealing with routes in TrackOffsetIter

10 years agoBreak link from the target track too before re-linking
Mikko Rasa [Thu, 7 Nov 2013 19:42:24 +0000 (21:42 +0200)]
Break link from the target track too before re-linking

10 years agoFix a logic error in arducontrol accessory control
Mikko Rasa [Thu, 7 Nov 2013 18:57:45 +0000 (20:57 +0200)]
Fix a logic error in arducontrol accessory control

10 years agoUse a GLtk::Layout with FloatingArrangement to manage dialogs
Mikko Rasa [Thu, 7 Nov 2013 13:13:01 +0000 (15:13 +0200)]
Use a GLtk::Layout with FloatingArrangement to manage dialogs

10 years agoConsider the expander area's with when autosizing TrainDialog
Mikko Rasa [Wed, 6 Nov 2013 12:59:45 +0000 (14:59 +0200)]
Consider the expander area's with when autosizing TrainDialog

10 years agoKeep the train list dialog up to date whem trains are added or removed
Mikko Rasa [Wed, 6 Nov 2013 12:59:02 +0000 (14:59 +0200)]
Keep the train list dialog up to date whem trains are added or removed

11 years agoAdd driver for my custom Arduino-based control device
Mikko Rasa [Thu, 31 Oct 2013 23:10:57 +0000 (01:10 +0200)]
Add driver for my custom Arduino-based control device