ReleaseNotes:Planimate 4.96 Release Notes

From Planimate Knowledge Base
Jump to: navigation, search


CHANGE: When using the "Show Panel" routine operation you can now specify popup coordinates of -9999, -9999 and the popup will show at the mouse cursor position. (Only works with popup panels that dont have the caption bar hidden as popup windows with caption bar hidden use coordinates based on the panel not the windows desktop)


NEW: INI Option
[Edit] SwitchVisibleInRun=1
If set to non 0, newly added switches default to being visible during the run, otherwise they default to hide during run.
NEW: ctrl-e when editing toggles object/paint modes
CHANGE: Routine operations Modulus, Bit AND,Bit OR and Bit XOR are now performed using 64 bit integers so there is no 4 billion limit.
Beware of roundoff issues - beyond 14 digits you will lose precision in units.
CHANGE: Delete Paint routine operation has an option to also delete paint objects that were inheriting from the paint object (default = 1 = yes)
BUGFIX: Restoring minimised routine editor column issue fixed
BUGFIX: Loss of focus on user dialog editing in a routine fixed
BUGFIX: Scoped broadcast in application panel not broadcasting to dynamic panel that owns the application panel fixed
BUGFIX: Queues and dispatchers paste properly in a group paste


BUGFIX: Routine attribute list title was broken, often causing crash
BUGFIX: Paint delete all inherited missing screen repaint
BUGFIX: dispatcher was updating rect before loading overflow flag


CHANGE: Palettes that are visible will reload and appear after saveing model as standalone application
BUGFIX: Model merge crash fix
Merging of labels was broken if a class merge occured with item classes that had item attributes that referenced label lists (an internal list of all label list references was being corrupted)


BUGFIX: A serious engine bug which caused blocking switches in "first available path" mode not to properly retain the switch caches of following also-blocking switches.
BUGFIX: Fixed bugs with restarting run and attribute views not being properly reset during the restart. Caused a crash
BUGFIX: Fixed bugs with model copy views - were not getting log channel initialised properly, also caused a crash.

NEW: Object property "rotation" sets rotation of object bitmap units of one tenth of a degree

CHANGE: Setting an objects xpos or ypos Object property no longer animates or updates the object. This enables multiple updates of objects to be performed without flicker (a force repaint updates the positions).
NEW: Routine option Display->Repaint Dynamic Objects
this can be used to update dynamic objects which have been positioned/ scaled/rotated using the object attributes.
It updates all the objects in one hit using the animation manager.
This should result in a smooth update and the ability to create very nice animations using objects.
This routine operation also speed-regulates to keep update speed consistent on different hardware (by releasing empty CPU time to other tasks). It should be invoked in a master timing loop every "frame" you wish to show.


CHANGE: Added an extra column to the log header table.
If a logged attribute is associated with a label list, the label list name is now in column 4 of the channel header
If a logged attribute is associated with the Object State Attribute of an object, then the name of the object is passed as a label list name - eg: "_MultiServer States"
This enables log viewers to associate the column with a state label list for each object class (which the log viewer must maintain)

CHANGE: 0 width columns are not offered in the sorting column setup list
BUGFIX: Was writing garbage in log header for the hour of the date
NEW: PL now only shows the focus cell for table views which have the keyboard focus
NEW: Context help buttons being added - not yet functional


NEW: INI file option
[Display] PaletteTitleDocked=1
If set to 0, palettes wont have titles while in sidebar
BUGFIX: Palette state in menubar properly updated if palette closed while not docked
NEW: Typing while a table view has the mouse focus now goes straight into the cell for the table.
NEW: Dynamic object menu option for all objects that can be assigned object attributes. "Log Attributes To File" A dialog will allow the user to select object attributes to log to file. If an attribute has not be assigned one will be created.
NEW: Editor Palette. Brings some of the menu commands into a palette. Its display is controlled with the ini options: EditorPaletteX=0 EditorPaletteY=0 EditorPaletteDocked=1 EditorPaletteStatus=0 SidebarEditorPalettePos=0
BUGFIX: The sidebar splitter can no longer be dragged outside of the Planimate window.
NEW: Selecting an attribute in the routine editor menubar brings up its editor
NEW: Infrastructure for help buttons in dialogs added.
BUGFIX: Label lists with names starting with "_" no longer offer the scope button in their editor. They should not be moved from the top of the hierarchy.

NEW: Attribute lists name their owner in titlebar
BUGFIX: IDBase finds its XML file (should be in EXE dir) regardless of current working path
CHANGE: Renamed "Broadcast Messages" list "Broadcasts"
NEW: Ini option to disable help buttons [Edit] NoHelpButtons=0
If zet to 1, help buttons are not displayed in dialogs
NEW: Routine operation to format into label at index
Label String -> "Format Into Label/Index"
This allows modeller to specify label and index for a label added to a list. If an existing label already exists at the index, it gets replaced


BUGFIX: Times written in log files were broken
BUGFIX: Message when calendar time needed fixed
CHANGE: Full Text table cells no longer written out when a table is exported. They would corrupt the table as a delimited format doesn't mix well with a format supporting new lines and tabs.
NEW: <Insert> key while viewing a routine brings up menu to insert a new routine operation
CHANGE: Tab order in routine step order to make it quicker to get to the routine operation buttons
BUGFIX: Deleting paint objects in a group of selected objects now also deletes any paint objects that inherit from them.
Note that PL doesn't ask to confirm as when a single paint object is deleted.
NEW: Dragging in background in Paint mode enables a selection to be made as in object mode. All objects are selectable (as in object mode) but only paint objects are sensitive to clicks and drags, not modelling objects. This mirrors object mode.
CHANGE: Views are now sensitive to clicks in paint mode. This makes it easier to position them while creating paint content.
CHANGE: Views default to white background/black text


CHANGE: Long Label Support
I've increased buffers to support much longer labels
4k byte temporary string handling buffers (up from 512 bytes) 1k byte label text (up from 64 bytes)
Some UI elements like editor's context popups will look silly with long labels so be careful where you use them.
Long labels are primarily intended for internal use, such as file paths and URLs
NEW: New Label String Routine Operation:
"Label Character"
enables modeller to read the ascii code of a given character within any formatted value (doesn't have to be a label). This is useful for special processing, looking for delimiters etc. Works well in conjunction with using Formatted Width (to get the width of a formatted value/label) and Label Trim (to extract a substring of a label string)
NEW: Can now message into a module and the class remapping will work. You need to manually set up the remapping (portal menu->data->class mappings) as the platform doesn't prompt to do it automatically as when you are flow editing.
BUGFIX: Message entries now properly count message items entering their subsystem. Previously this was missed causing the portal's occupancy to go -ve when the message item went through an exit


      • A Number Of Changes require modeller attention if
  • loading models using the _Log broadcast or _Logged Attributes label list
  • loading models containing tables without the "Variable Length" option on

CHANGE: The "Variable Length" table option is no longer supported. All tables are assumed and treated to be variable length by the run engine.
This does not affect end user options to not resize the table but affects the way tables are treated when rows are appended/deleted during a run or a "clear" is performed on the table.
An old model with the "Variable Length" option off will report a warning upon load. The warning will also be logged to the debug file.
NB: Planimate has been warning about turning off the Variable Length option on tables for a while now. Older models may have had this option "off" as tables used to be "fixed length" by default.
Older versions of PL have a "Find" function to locate fixed length tables. Obviously this is no longer useful and has been removed.
If you want to "Clear" a table without deleting its rows, you can achieve this by using the arithmetic "Clear" operation on the entire table.

NEW: Table file reading supports reading data formatted on a cell by cell basis. This requires the new option described below.
NEW: Option in file reading in change object "Read Over Existing Table Contents"
With this option "on", PL will not clear a table before reading into it. Instead, PL will attempt to read the file based on the formats of the existing cells in the table.
This is VERY useful combined with using cell specific formats in a table. The modeller can specify what format data should be read in on a cell-by-cell basis (including different label lists).
This option replaces the behaviour of reading into a table with the (now retired) "Variable Length" table option turned off.
With this option on, PL doesn't read data past the rows already present in the table.

CHANGE: Logging option on an attribute view is now "Change Broadcast"
New option "Record Changes To Log FIle" will write a log file of changes to the attribute (NOT IMPLEMENTED YET)
CHANGE: Renamed internal lists

  • the broadcast "_Log" is now called "_Value Change"
  • the Label List "_Logged Attributes" is now called "_Change Tracking"

If you have used this mechanism (introduced in


) then you will need to manually replace these strings in your model - match/replace including the quotes:
"_Log" -> "_Value Change" '_Logged Attributes" -> "_Change Tracking"
Alternatively remove references to the "_Log" broadcast and "_Logged Attributes" label list before upgrading the model.




change also affected BCs sent from graphs. Have updated Train, Gantt and Log Driven graph click handling

CHANGE: Log Driven Graph has new initial scale options
CHANGE: Trig Menu in routine selector is now called Math
BUGFIX: Reindexing reworked for:
Labels SubLabels MultiLabels Object Labels Panel Labels Paint Log Labels Broadcasts
(was not properly occuring meaning that model merges would mess up)
BUGFIX: Paint palette now uses paint palette INI settings for co-ordinates (if not docked) and docked state, rather than using object palette
BUGFIX: Lockup in displaying model object list when object/subsystem names were very long fixed
CHANGE: Updated application banner resource in PL


BUGFIX: A change in


caused an attribute view formatted to a label list with cyclic selection AND configured to send a broadcast to now put up a bogus "pause run" menu when clicked.

I've fixed this by ensuring that cyclic selection actions wait for the mouse button to be UP before proceeding. (In previous verisons the cyclic selection occured on the mouse down).
BUGFIX: Clicking objects off palette created flickering - fixed
BUGFIX: Default for command button click action was invalid and would cause a crash if selecting a command for a new button was not performed
CHANGE: Renamed "Gantt" graph mode (in Column Overlay Graph) to "Labelled Bar" to distinguish it from the "Gantt" view.
The Labelled Bar mode is useful where the overhead of the Gantt View is not desired as it does not keep a copy of the gantt nodes.
NEW: Attribute and Cell Views have new option "Cen Edit During Simulation which enables them to be clicked upon/edited in simulate mode.
The Engine Option "Mouse Clicks While Running" must be on


BUGFIX: z-order of gantt parameters dialog fixed
BUGFIX: flow hover line over object connected to spatial/pipe appears properly
BUGFIX: crash bug if a module was loaded but not pasted (produced a system error and corrupted the target model file)
BUGFIX: new ibeam cursor causing more problems than tool tips on fields are worth. Removed it. Tool tips seem OK under XP.
BUGFIX: Queue/Dispatcher bounding boxes had slight calculation error causing their width to be offset and hence vertical lines through them not to be straight
BUGFIX: double redraw when changing panels fixed - avoid unnecessary menubar rebuild function call. This prevents the flicker and and speeds up panel changes
CHANGE: View edit menus have new layout
CHANGE: The object palette now supports dragging OR clicking objects off the palette, either case lets you drag an object about and place it.
This keeps the UI consistent with the paint palette yet lets users who like dragging get their fix.
CHANGE: Help files can now be located in the model file directory, not just the executable directory
NEW: INI file options that effect the order that widows are displayed in the sidebar. The higher the number the higher the sidebar position. [Display] SidebarTreePos=1 [Palettes] SidebarObjectPalettePos=4 SidebarPaintPalettePos=3 SidebarClassPalettePos=2

NEW: Paint palette now includes icons for adding links and viewports.
Its called the Paint & Link Palette
NEW: The paste from clipboard routine operation now has an option to show or not whow the configuration first (1 = show the ui).
The table editor has a new option to edit the default clipboard import configuration.
BUGFIX: If you typed key while dragging object off the object palette it would confuse the message pump. Planimate would continue thinking it was in a drag (even though you can use it) and would not quit.
BUGFIX: Tracks no longer enable a ghost rectangle in the lower left corner when using drag-selects
NEW: Added hacked ibeam cursor to resources so tooltips work properly in fields (used by idbase currently)
BUGFIX Forming a track/spatial link/pipe wont flash the origin object.
Has a new cursor too
BUGFIX: Model INI file (not PLANIMAT.INI) now defaults to the model's name
CHANGE: Small UI enhancements and consistency fixes

  • irrelevant dynamic options hidden in panels
  • section details dialog z-order fixed

BUGFIX: Loading a module will now merge in any resources in its DB file into the current model's DB file.
Any existing resources with the same name and type are replaced.
CHANGE: Object Menu cleanup

              • IMPORTANT ************* ** ** A lot of basic UI stuff has been messed with this version. ** Please take note of the TO BE TESTED section below ** **

NEW: Planimate confirms when starting a run with trace animation on
NEW: Object attribute Out count was counting negatively, now it counts +ve
BUGFIX: Crash on adding object to a view panel now avoided
CHANGE: No blocking between items option is on by default for new servers
CHANGE: "Advanced editing" is no longer an option saved with the model. IT can be toggled using the "Settings" menu and a default set in the PLANIMAT.INI file.
BUGFIX: Zoom animation when a note is closed now visible
NEW: Improved interface to adding an RTF note:

  • first draw box for the note
  • then select note file

Note then appears. The note "link" is placed at the bottom left of the note and named with the note file name.
Cancelling either step aborts adding of the note.
REWORK: Flickering
Flickering when switching modes and updating menubar now reduced. This involves the menubar rework below and may introduce missing update bugs if I've missed an action that can cause something to change state.
NEW: Paint palette (in progress)
NEW: Ini file now at version 2
BUGFIX: Changing a class's scope or name properly udpates the menubar and class palette
REWRITES: Following may impact existing models and introduce bugs


  • Paint object management (internal ordinals reordered)
  • Paint object addition process now uses messages internally


  • Menu bar display and updates during editing, loading, switching modes. Menu bar contents are much more dynamic and are updated more often but more smoothly
  • All menu bar command handling has been reworked/cleaned up.
      • TO BE TESTED ***
  • All menu bar commands are functional in their appropriate modes
  • Background menus appear, update and work as expected in their modes
  • All menu bar button "Click Actions" are impacted and must be tested
  • Editing and the use of keyboard shortcuts doesn't forget to update menubar contents (eg: palette indicators)
  • Dynamic changing/opening of panels during a run doesn't mess up the menubar or background menus or cause a crash
  • Dynamic model structure updating doesn't cause crashes or ridiculous amount of repainting of the menubar or navigator
  • Crashes or other unexpected displays dont occur loading models which hide editing tools
  • Background menus (object, panel, paint, flow) cleaned up

idkbase note 225