]> git.tdb.fi Git - r2c2.git/log
r2c2.git
11 years agoImprove tile axis calculation
Mikko Rasa [Fri, 22 Nov 2013 11:05:30 +0000 (13:05 +0200)]
Improve tile axis calculation

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

11 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

11 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

11 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

11 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

11 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

11 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.

11 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

11 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

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

11 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

11 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

11 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.

11 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

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

11 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.

11 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

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

11 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

11 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

11 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.

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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.

11 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

11 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

11 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.

11 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.

11 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

11 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

11 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.

11 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.

11 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

11 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

11 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

11 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

11 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

11 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

11 years agoSome variable cleanup
Mikko Rasa [Wed, 30 Oct 2013 22:24:08 +0000 (00:24 +0200)]
Some variable cleanup

11 years agoDetect conflicting blocks and avoid creating duplicate sensors
Mikko Rasa [Wed, 30 Oct 2013 22:21:57 +0000 (00:21 +0200)]
Detect conflicting blocks and avoid creating duplicate sensors

11 years agoTurnout handling fixes
Mikko Rasa [Wed, 30 Oct 2013 22:19:40 +0000 (00:19 +0200)]
Turnout handling fixes

Add the turnout to driver when acquiring automatic id to avoid a key_error
later when removing it.  Don't bother connecting to turnout_event signal
if the track is not actually a turnout.

11 years agoDon't collide rays with unplaced vehicles
Mikko Rasa [Wed, 30 Oct 2013 22:00:39 +0000 (00:00 +0200)]
Don't collide rays with unplaced vehicles

11 years agoRemove things from the driver when no longer used
Mikko Rasa [Sun, 27 Oct 2013 15:28:44 +0000 (17:28 +0200)]
Remove things from the driver when no longer used

11 years agoAllow objects to override the shape specified in their type
Mikko Rasa [Sun, 20 Oct 2013 13:04:24 +0000 (16:04 +0300)]
Allow objects to override the shape specified in their type

11 years agoCreate track length map in ExtendTool constructor
Mikko Rasa [Sun, 20 Oct 2013 11:58:59 +0000 (14:58 +0300)]
Create track length map in ExtendTool constructor

11 years agoCorrect some multiple inclusion guard defines
Mikko Rasa [Sun, 20 Oct 2013 11:57:23 +0000 (14:57 +0300)]
Correct some multiple inclusion guard defines

11 years agoUse generic ObjectTypes in Catalogue
Mikko Rasa [Fri, 30 Aug 2013 19:18:47 +0000 (22:18 +0300)]
Use generic ObjectTypes in Catalogue

11 years agoUse some template magic to deduce the proper 3D type
Mikko Rasa [Fri, 30 Aug 2013 18:56:20 +0000 (21:56 +0300)]
Use some template magic to deduce the proper 3D type

11 years agoTurn object selection into a tool
Mikko Rasa [Sat, 24 Aug 2013 13:59:47 +0000 (16:59 +0300)]
Turn object selection into a tool

11 years agoClean up old clutter from Designer
Mikko Rasa [Sat, 24 Aug 2013 13:54:36 +0000 (16:54 +0300)]
Clean up old clutter from Designer

11 years agoView3D::create_ray should be const
Mikko Rasa [Sat, 24 Aug 2013 13:49:16 +0000 (16:49 +0300)]
View3D::create_ray should be const

11 years agoGive tools access to the keyboard
Mikko Rasa [Sat, 24 Aug 2013 12:43:43 +0000 (15:43 +0300)]
Give tools access to the keyboard

11 years agoRefactor Designer::use_tool so tools don't need to take a set of objects
Mikko Rasa [Sat, 24 Aug 2013 08:37:18 +0000 (11:37 +0300)]
Refactor Designer::use_tool so tools don't need to take a set of objects

11 years agoMove common accept/cancel handling to the Tool class
Mikko Rasa [Sat, 24 Aug 2013 08:14:21 +0000 (11:14 +0300)]
Move common accept/cancel handling to the Tool class

11 years agoFix some bugs in tools
Mikko Rasa [Sat, 24 Aug 2013 07:48:34 +0000 (10:48 +0300)]
Fix some bugs in tools

11 years agoImprove algorithms in several editing tools
Mikko Rasa [Mon, 19 Aug 2013 16:21:51 +0000 (19:21 +0300)]
Improve algorithms in several editing tools

11 years agoImprove block recreation algorithms
Mikko Rasa [Mon, 19 Aug 2013 16:06:42 +0000 (19:06 +0300)]
Improve block recreation algorithms

These changes result in a more than 100% performance improvement in
operations that create and delete a lot of tracks, such as the extend
tool.

11 years agoSplit the Manipulator class into several Tools
Mikko Rasa [Mon, 19 Aug 2013 14:37:08 +0000 (17:37 +0300)]
Split the Manipulator class into several Tools

It was getting a bit huge and unwieldy, especially with things like
terrain editing on the horizon.  Not all tools need the same information
or in the same format.

11 years agoAdd a utility function to get path length from Track
Mikko Rasa [Thu, 15 Aug 2013 15:06:37 +0000 (18:06 +0300)]
Add a utility function to get path length from Track

This shortens the incantation to get the length of the active path.

11 years agoComplete BR 50's rod setup
Mikko Rasa [Wed, 14 Aug 2013 14:12:55 +0000 (17:12 +0300)]
Complete BR 50's rod setup

11 years agoSupport mirroring only a subset of rods based on a tag filter
Mikko Rasa [Wed, 14 Aug 2013 14:08:20 +0000 (17:08 +0300)]
Support mirroring only a subset of rods based on a tag filter

11 years agoRemove an unused enum from Vehicle
Mikko Rasa [Sun, 11 Aug 2013 12:35:12 +0000 (15:35 +0300)]
Remove an unused enum from Vehicle

11 years agoImmediately update rods when a vehicle is created
Mikko Rasa [Sun, 11 Aug 2013 12:33:46 +0000 (15:33 +0300)]
Immediately update rods when a vehicle is created

The initial positions are not guaranteed to, and usually do not satisfy
the constraints.

11 years agoRewrite rod simulation code
Mikko Rasa [Sun, 11 Aug 2013 12:28:13 +0000 (15:28 +0300)]
Rewrite rod simulation code

Instead of trying to get a perfect solution on the first try, solve rod
interconnection constraints iteratively.  This simplifies the code and
allows for certain rod configurations that would have been prohibitively
difficult to solve exactly.

It's now also possible to create a mirrored set of rods on the other side
of the locomotive with a single statement.

11 years agoRemove the now-unused async picking code from Engineer
Mikko Rasa [Fri, 9 Aug 2013 17:41:04 +0000 (20:41 +0300)]
Remove the now-unused async picking code from Engineer

11 years agoMinor fixes
Mikko Rasa [Fri, 9 Aug 2013 17:38:20 +0000 (20:38 +0300)]
Minor fixes

11 years agoMove goto destination picking to RouterPanel
Mikko Rasa [Fri, 9 Aug 2013 17:35:37 +0000 (20:35 +0300)]
Move goto destination picking to RouterPanel

11 years agoAdd a utility class to display a TrackChain as a path
Mikko Rasa [Fri, 9 Aug 2013 16:39:05 +0000 (19:39 +0300)]
Add a utility class to display a TrackChain as a path

11 years agoUse Widget::find_ancestor to reduce code duplication
Mikko Rasa [Fri, 9 Aug 2013 10:54:57 +0000 (13:54 +0300)]
Use Widget::find_ancestor to reduce code duplication

11 years agoCorrect camera distance in side view
Mikko Rasa [Fri, 9 Aug 2013 10:33:07 +0000 (13:33 +0300)]
Correct camera distance in side view

11 years agoAvoid infinite loops in VehiclePlacement in certain situations
Mikko Rasa [Fri, 9 Aug 2013 10:32:14 +0000 (13:32 +0300)]
Avoid infinite loops in VehiclePlacement in certain situations

11 years agoFix a crash when reversing certain TrackOffsetIters
Mikko Rasa [Fri, 9 Aug 2013 10:31:28 +0000 (13:31 +0300)]
Fix a crash when reversing certain TrackOffsetIters

11 years agoReserve enough blocks for the entire train when placing
Mikko Rasa [Fri, 9 Aug 2013 10:30:30 +0000 (13:30 +0300)]
Reserve enough blocks for the entire train when placing

11 years agoBetter visualization for placing a train
Mikko Rasa [Thu, 8 Aug 2013 16:13:39 +0000 (19:13 +0300)]
Better visualization for placing a train

Still far from perfect, but it's a start.

11 years agoFix allocation display when a train is chasing another
Mikko Rasa [Fri, 2 Aug 2013 14:58:45 +0000 (17:58 +0300)]
Fix allocation display when a train is chasing another

11 years agoSplit vehicle placement code to a separate class
Mikko Rasa [Fri, 2 Aug 2013 14:55:48 +0000 (17:55 +0300)]
Split vehicle placement code to a separate class

I'm going to need this elsewhere soon.

11 years agoStore all axles in a single array
Mikko Rasa [Thu, 25 Jul 2013 14:48:34 +0000 (17:48 +0300)]
Store all axles in a single array

11 years agoCreate a common base class for Vehicle3D parts
Mikko Rasa [Thu, 25 Jul 2013 14:24:26 +0000 (17:24 +0300)]
Create a common base class for Vehicle3D parts

11 years agoProperly detect blocks as critical when a train is not moving
Mikko Rasa [Tue, 23 Jul 2013 13:43:20 +0000 (16:43 +0300)]
Properly detect blocks as critical when a train is not moving

11 years agoIgnore path change events on currently occupied blocks
Mikko Rasa [Tue, 23 Jul 2013 13:42:34 +0000 (16:42 +0300)]
Ignore path change events on currently occupied blocks

11 years agoAvoid a temporary inconsistent state while reserving the first block
Mikko Rasa [Tue, 23 Jul 2013 13:41:35 +0000 (16:41 +0300)]
Avoid a temporary inconsistent state while reserving the first block

11 years agoUse the tilt member in OrientedPoint in certain objects
Mikko Rasa [Tue, 23 Jul 2013 13:40:35 +0000 (16:40 +0300)]
Use the tilt member in OrientedPoint in certain objects

11 years agoRename TrackPoint to a more generic OrientedPoint
Mikko Rasa [Tue, 23 Jul 2013 13:35:36 +0000 (16:35 +0300)]
Rename TrackPoint to a more generic OrientedPoint

The grade member was also changed to a tilt angle, which is a better match
to how Object orientation is specified.

11 years agoCreate another track iterator class that holds an offset as well
Mikko Rasa [Mon, 22 Jul 2013 19:12:42 +0000 (22:12 +0300)]
Create another track iterator class that holds an offset as well

11 years agoMake use of View3D in engineer
Mikko Rasa [Sun, 21 Jul 2013 15:25:59 +0000 (18:25 +0300)]
Make use of View3D in engineer

11 years agoNew approach for displaying track state
Mikko Rasa [Sat, 20 Jul 2013 16:03:17 +0000 (19:03 +0300)]
New approach for displaying track state

Paths can now be displayed over either rail in addition to the center of
the track.  Track circuit and allocation state are displayed separately,
allowing more information to be shown.

Instead of pre-creating a path for each track, only create them as needed.
Local controller objects are much more manageable than bundling everything
into one giant class.

11 years agoAdd an out-of-bounds check to SpeedQuantizer::get_speed
Mikko Rasa [Thu, 11 Jul 2013 11:40:13 +0000 (14:40 +0300)]
Add an out-of-bounds check to SpeedQuantizer::get_speed

Just in case the previous fix wasn't the only place that could generate
bogus values.

11 years agoFix uninitialized variables in Intellibox driver
Mikko Rasa [Thu, 11 Jul 2013 11:38:23 +0000 (14:38 +0300)]
Fix uninitialized variables in Intellibox driver

Uninitialized pending_half_step caused wonky loco speed events to be
emitted, resulting in out-of-bounds access in speed quantizer.