ReleaseNotes:Planimate 4.14 Release Notes

From Planimate Knowledge Base
Revision as of 14:25, 22 December 2008 by Craig.Chandler (talk | contribs) (Planimate 4.14 Release Notes moved to ReleaseNotes:Planimate 4.14 Release Notes: move to namespace)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Release notes, bug fixes and misc enhancements to Planimate 4.14


  • reworked way turned around trains signal loop entry delays


  • scenario tables include column headings (as a comment)
  • "RANDOM" distribution patterns no longer get clipped at lower bound 0
  • Random seed increment can be set for multiple runs (using 0 uses the same random seed for all multiple runs)
  • Cell stats now apply view rounding as set for their source table columns
  • cleaned up debugging option flags remote debugging via TCP implemented [for debug builds only]
  • memory allocation now shown in run profile, and run profile can be reviewed in edit mode
  • reworked trip auto completion algorithm
  • use more preallocated tables
  • does not invoke search algorithm if the next step is directly reachable (no steps need to be guesses)

This will *greatly* reduce model start times and memory swapping in models with densely connected tracks


  • fixed train direction code


  • extended run profile report

= reworked FEC code handling, removed old code



  • added code to re-evaluate train direction when it stops at a loop (because the loop was a step in the route)


  • registry handling implemented

model now saves most recently loaded/saved model list

  • added "Run Profile" option in the Display menu

displays runtime engine statistics, focussing on aspects which influence model speed performance and memory usage


  • can broadcast an item from a change object (broader.mdl)


[new file version]
  • fixed crash bug when exiting (palette deletion order)
  • fixed attribute editor so reselecting label mode shows label list
  • reordered saving code so item attributes get saved after all label lists (including class lists) have been defined

Now item attributes formatted as multi-labels should reload properly

  • multi label list can now reference sub-labels and object labels needs testing


  • fixed crash bug with bmp display dials
  • fixed ordering problems on deleting label lists
  • dial displays update properly in edit of attributes this invoved some re-implementation of stat display handling


  • implemented change calculation command (Special) to reset spatial link caches/positions on all panels

Use this to force update of spatial net details after the portals have been repositioned

  • row specific table row colours
  • a table option sets the row (like row labels)
  • an option selects whether column colour overrides row colour
  • row colours range from 1..16, 0 = keep default

I've not implemented dynamic redraw on just a colour change (this would slow down displays considerably)

  • Cyclic selection option on label lists
  • enables "yes/no" type labels to be toggled by clicking in the table cell rather than having to make selection from list


  • Implemented dynamic table references by attrefs
  • This enables a table in an attref to be lookup up on the fly using names in a label list
  • can be used to implement "3d" tables

DYNTABLE.MDL demonstrates it

  • rounding option now works for item attributes
  • Fixed serious bugs with table copy/paste/undo/row insert which would corrupt memory in instances where empty tables had rows pasted into them


  • Implemented Label Subset lists
  • These are label lists which contain a subset of another label list's contents. Useful for providing selective access to members of a label list in user fields


  • Planimate will now find data in _*.DB files in the working directory as well as in the system directory. Files in the wd are searched first
  • can now browse into databases when browsing BMP paint
  • Go Back button action (like ctrl-b) now available
  • Stat displays now hide properly when panel stat/table hide option is on
  • Undo implemented on table edits (not if columns get changed though)


  • The fix in


made things worse with the hide paint option. This version finally fixes it. Any models loaded which have version 212 will have the "hide paint" option turned off on all panels

(the file version is now 213)


  • fixed panel options bug introduced in 'c'

new panels would have random options enabled


  • track fix

a section become unavailable as a train in a loop enters loop exit delay will allow the train through

  • fixed user button to set panel
  • section capacity editing disabled
  • I'll be dropping support for multi-lane sections in an upcoming version. Use spatial links instead if its a road


  • Log Viewer cleanups
  • no longer crashes on exit if selection was in progress
  • no longer crashes if class filter selection
  • printing works
  • handles loading currently logged data from a model which is paused
  • handles loading data from model which has been restarted
  • menubar rearranged
  • export option now added, export header format cleaned up
  • user button to set panel zoom
  • fixed bugs in attribute selection
  • selecting label unit format did not update properly
  • routine attribute dialog failed because widget not initialised properly
  • dialog z-orde code reworked, report any new strange behaviour with ordering
  • "godzilla clock" bug fixed (clock got bigger as maio window was zoomed smaller because I was using it to measure the clock's font metrics)


  • Change to ATTRIBUTES

An attribute (Portal,Item,Routine,Class) no longer has a Distribution Pattern dialog as part of its definition.
This distribution was used to give the attributes *initial value* a random variation. This was itself limited in that the distribution used to initialise an attribute could not reference other attributes to specify its constants.
For item attributes, similar functionality can be achieved (with more flexibility) using the "Random" operation in a change object
For portal attributes which you want to initialise to a random value at the start of a run, the system "_Run Start" broadcast can be used to trigger a routine
This change will reduce model size slightly, decrease the model's memory footprint and speed up model run starts. Model run time will probably not be affected much.

  • Attref copy now copies latest field changes and closes the attref dialog (applying the changes)
  • Gantt graph debugged
  • its now functional
  • lines extending past ends of graph are properly cropped rather than drawn to their end point which would be very confusing
  • min y value and max y value can be used to extend the graph range (eg: min y can go -ve to get more space for the lowest labels)
  • Can adjust zoom scale on a panel by panel basis

This scales in addition to the overall system zoom factor, so individual panels can have special zoom settings. Good for large high resolution report panels; no need to zoom out to see them but they will still print properly.
Please keep the nominal screen zoom factor to 100% and only change where really required. Users can then use the master zoom to make the model accomodate their displays.
NOTE: Running animation with an overal zoom NOT at 100% places much higher load on the CPU due to co-ordinate scaling and bitmap stretching

WARNING: Running with very high zoom factors (overall > 500) and very large panels is a great way to exhaust virtual memory and lock up your system!!!

  • DISPLAY OPTIONS - some are now set on a panel-by-panel basis

Many panel/screen specific display options have been removed from the global display options and added as properties which can be configured individually to each panel.
The options are now configured by the "Options" menu reached by the panel background menu

idkbase note 161