In-Development StatusDisplay - status.json / journal display and surface navigation assistant.

Robert Maynard

Volunteer Moderator
With the inclusion of status.json as an addition to the player journal data offered by the game in 3.0, I started development of an application to display that data and, given that positional information is included when in proximity to a landable body, allow the player to set destination latitude / longitude and calculate the range and bearing to that destination. Following success with status.json, attention has now moved to reading and displaying information from the player journal.


Displays

StatusDisplay offers two types of displays: "grids" and "MFDs" which display either buttons or panels selected by the user in a number of display elements.

Elements are rectangular portions of a display which can show either buttons or panels.

Buttons are designed as small display elements which may show control bindings or game data and may be assigned to any element in an MFD display.

Panels are designed as large display elements which show game related data and may be assigned to any element of a grid display and the central elements of an MFD display.

Flag panels are user defined display elements of up to 32 flags from Status.json, each presented as the flag name with an adjacent filled square, the colour of the fill denoting the state of the flag. The state box of some flags flashes to attract attention (at 1Hz) and particular flags have a brighter hue associated with them when set to further attract attention.

The Combo Panel allows the user to create a custom panel of up to 6 x 6 elements which can be set to any panel or flag panel (but not to a combo panel or multi panel).

Multi-panels are single display elements that can display a user selected (by mouse clicking in the selector bar) panel, combo panel or flag panel, one of up to eight selected by the user. The selector bar position can be set by the user along any edge of the element and the width / height of the bar can be set in the range 5% to 25% of the width / height of the element. Tabs can be auto-selected when particular game flags are set with priorities able to be assigned to each tab (to determine which is shown in the event of two or more relevant flags being set). The selector bar can also be hidden if desired, useful for auto-selected tabs.

The basis hue, saturation and luminosity of grids and MFDs can be modified.

The border settings for the grid and MFD displays can be individually defined - example shows 0% for both - which reduces the size of the image within the window (and, in the case of MFD displays, expands buttons to the edges) to suit individual display requirements.

Grids are comprised of up to 144 display elements arranged in a 12 x 12 grid. The user defined size of the grid display can be set in the range 240px x 60px and 3840px x 2160px. Grid displays are resized by changing their dimensions in the grid settings dialog. The background of any grid can be disabled allowing completely transparent elements in the image. There is also an option to display elements with rounded corners rather than square corners. Each grid element can be set to display a panel. If adjacent elements are set to display the same panel then they will be combined to form larger chunks, firstly horizontally then vertically.

When in focus, grid displays are opaque, reverting to a user defined opacity on loss of focus.

MFDs are comprised of 20 peripheral elements, 8 corner elements and up to 36 central elements. The outer 28 can be set to mirror bound controls by extracting relevant control bindings from the user's control bindings file with the corresponding button being assigned to the element. There is an option to have the application automatically switch between ship and SRV bindings with the SRV set being defined separately. The central 36 elements behave like a 6 x 6 grid and can have panels assigned to each element. Elements in the central section of the MFD display will be combined to form chunks as they are for grid displays.

Up to 128 user defined buttons, for use around the periphery of each MFD, can be created. The format of the required UserDefinedButtons.json file is explained in UserDefinedButtons_Manual_v0.pdf contained in the 7z file with the executable.

Horizontal and vertical text alignment can be specified for each group of display elements for each MFD display, i.e. top row, bottom row, left column, right column and centre block.

All displays can be set to inactive, subject to one display remaining active.

All displays can be set to "hide" when GuiFocus is not zero, i.e. when not looking out of the cockpit.


Example grids (1 x 9 and 6 x 7 elements respectively):
unknown.png
unknown.png



Example MFDs:
unknown.png
unknown.png



StatusDisplay options are set in the options dialog (accessed by right clicking on any of the displayed windows or activating any grid or MFD and using ALT-O) which incorporates core StatusDisplay settings, all grid and MFD settings buttons, Great Circle Navigation settings, route selection, countdown timer and surface destination co-ordinates. All display windows are set to be always on top, so will be visible when on the same screen as the game while playing in borderless or windowed mode.


Beta 0.1.0.2 [released 24th March 2024]
1) Rework of "No Background" toggle for grids and panels - now actually removes the background.
2) Addition of "No Lines" toggle for grids and panels, to remove lines surrounding buttons and grid elements.

Previous new features:
Pre 0.0.6.0
Up to 0.0.2.0:
New in 0.0.1.8, optional second MFD control set for use when in SRV.
New in 0.0.1.9, ability to load current game bindings directly from Custom.3.0.binds file for each MFD separately.
New in 0.0.2.0, ability to select one, both or neither of DEST / POSN to display in the centre of each MFD - now slightly reduced in height to leave one row of centre buttons visible when both DEST and POSN selected.
Up to 0.0.3.0:
New in 0.0.2.1, refresh rate can now be selected by user; some active MFD display elements now "pulse"; displayed time should now correct to GMT.
New in 0.0.2.2, very limited Journal information.
New in 0.0.2.3, a bit more Journal information and a fuel gauge. :)
New in 0.0.2.4, optional Info panel in Overlay and/or MFD.
New in 0.0.2.5, concatenation of consecutive journal entries of the same type for fuel scooping; discovery scans and ship passive scans.
New in 0.0.2.6, refresh of MFDs now subject to change in text / colour of elements, subject to a minimum refresh rate of 1Hz.
New in 0.0.2.9, new fonts: Droid Sans Mono; Inconsolata; SV Basic Manual. Fix to default settings. Option to select process priority added.
New in 0.0.3.0, two more MFD displays; trip meter (shares Info panel) - shows information for jumps made in the present game session.
Up to 0.0.4.0:
New in 0.0.3.1, minimum MFD element text (chars/lines) setting; "To Edge" MFD element setting; Trip Meter zero button (in Options).
New in 0.0.3.2, "To Edge" setting now permits MFD display element internal border to be set in the range 0 to 10; default = 1.
New in 0.0.3.5, Location and Trip panels for Overlay and MFDs. These are individual versions of the two displays combined in the existing Info panel (which remains).
New in 0.0.3.7, Comms display panel added. This is a large panel similar in size to the Journal panel and is available on both the main overlay and the MFD displays.
New in 0.0.3.9: now reads navigation.json which contains POI and Route information including proximity criteria for determining whether each waypoint has been reached. Initially limited to surface navigation, the intention is to expand this to include inter-system routes and dockings.
Up to 0.0.5.0:
New in 0.0.4.1: Added /Publish and /ReadHere command line parameters to instruct StatusDisplay to write journal / status.json data as it comes in to the same directory that the executable is in and to read from that directory. Requires two copes of StatusDisplay to be running to function. Allows game information to be able to be displayed on a different PC than the game is being played on.

New in 0.0.4.2, panel display system now based on a 12 x 12 grid of panel elements. Elements are formed into "chunks" first horizontally then vertically to form larger display elements in the grid. The main overlay and Tiny window have been converted into panels. Panel size can be set in the range 240px x 40px to 3,840px x 2,160px. There are known issues with toggling the border and resizing of the main panel. Workaround is here:
https://forums.frontier.co.uk/showt...on-assistant?p=7042793&viewfull=1#post7042793

New in 0.0.4.3, added a few new micro-Panels; added two-letter designation to the raw flags panel.

Beta 0.0.4.4: bugfix release.

Beta 0.0.4.5,
1) Converted MFD centre elements to a pseudo-panel, uses MFD display elements but can "chunk" them together;
2) Changed save-file format to use Base64 rather than hex for MFD and Panel assignment settings; increases number of possible panels to 4095 (the same as for MFD elements) and paves the way for reworking the display of panels on MFDs (to be the same as for Panels, for the centre section);
3) Bugfix in Options dialog (was refreshing and closing up drop-downs);
4) Activating any window permits the use of LEFTALT-R to toggle recording of session history (interleaved journal and status.json data, as it is published by the game);
5) Added some slightly more verbose status flag display panels (3-off, 9 flags per, in the order published in status.json).
New in Beta 0.0.4.6, MFD centre elements can now display either elements or panels. New 3x9 more verbose flag display panel added.

Beta 0.0.4.7:
1) Added "countdown" display element and panel - effectively a user-configurable timer for which the display flashes when the time has elapsed. It has a "snooze" feature. ;)
2) Added "Great Circle Navigation" feature and panel - allows the user to be guided on an arbitrary great circle route (defined by initial point and initial heading). The closest point on the GC, related to the player's current position, is calculated in real-time and a "target point" (a bit further along the GC) is calculated for the player to head for. A track error "tolerance" is also included to warn the player when they "step off the path".
3) Added a position "track" display, initially for Great Circle Navigation but also for just trundling around when the vehicle has position lock.
4) Added a 9x3 flag display panel (to complement the previously added 3x9 version).

Beta 0.0.4.8:
1) New bindings added for Chapter 4;
2) New Ch.4 events added (not necessarily implemented but StatusDisplay is prepared for known events);
3) New Ch.4 status.json flags / data added;
4) The refresh rate of all windows can be individually set in the range 1 Hz to 16Hz.
5) Bugfix relating to some drop-down settings.

Beta 0.0.4.9:
1) Fix to tracking of which MFD or panel is being configured; should stop settings windows becoming unresponsive;
2) FSSSignalDiscovered event now collated.
Up to 0.0.6.0
Beta 0.0.5.0:
1) Fixed FireGroup display, now with added "FireGroup A"!
2) Added more "LEFTALT" bindings; LEFTALT-C co-locates all windows; LEFTALT-L loads settings; LEFTALT-S saves settings; LEFTALT-O shows options dialog.
3) HUD Mode display "fixed" - now shows which HUD mode is selected.
4) Friends event now collated.

Beta 0.0.5.1:
1) Addition of StatusDisplay cumulative CPU utilisation as a percentage and as core-seconds.
2) The path that StatusDisplay uses to locate journal files, status.json and the bindings file is that contained in the environment variable "USERPROFILE". StatusDisplay can now be redirected to a different directory by appending the desired path to the second line of the settings file, e.g. SD:00000000000000B1;C:\Users\User where "C:\Users\User" is the desired path. This requires that the PC on which StatusDisplay is running has read access to the storage location, i.e. the user folders, on the target PC.

Beta 0.0.5.2:
1) Start of implementation of "proper" text handling for localised text from the journal.

Beta 0.0.5.3:
1) Added Fuel Reservoir level display element, making use of improved fuel level information publication in status.json.

Beta 0.0.5.4:
1) Added "Limpets" button - shows number of limpets in the ship's hold.
2) Added "FSD Emergency Drop"; "Focus Systems"; "Focus Engines" & "Focus Weapons" buttons.

Beta 0.0.5.5:
1) Added "Private Group" name button;
2) Added Mode / Private Group panel.
3) Added Fuel panels (main, aux.); Vertical if height > width, else horizontal.
4) Added Pips panels (System, Engine, Weapon, ALL); Vertical presentation with text at bottom.

Beta 0.0.5.6:
1) Added "both" fuel panel, vertical only; main and aux tank remaining, displayed side-by-side.
2) Added "Altimeter" panel - logarithmic scale, i.e. 10m; 100m; 1,000m; etc.; Vertical if height > width, else horizontal.

Beta 0.0.5.7:
1) Tidy up of fuel panels;
2) Added different log scale "tick" variants to the Altimeter panel; now offers 4, 5, 8 & 10 tick options.
3) Code tidy up.

Beta 0.0.5.8:
1) Nomenclature changes: Panel displays are now "Grid" displays.
2) Main and Tiny displays are now Grid0 and Grid1 respectively.
3) P.#0 and P.#1 are now Grid2 and Grid3 respectively.
4) Fuel panel tweaked.
5) Any display can now be set to inactive, subject to a single display remaining active.
6) Any display can now be set to "hide" when GuiFocus is not zero, i.e. when not looking out of the cockpit.
7) Options dialog: display toggle checkboxes moved to Grid and MFD options dialogs, "Gui Hide" checkboxes added to Grid and MFD options dialogs.
8) Some refactoring.

Beta 0.0.5.9.
1) Fixed bug in reading / parsing Cargo.json (for display of number of limpets);
2) Added button and panel for display of total cargo;
3) The opacity of MFDs can now be set by the user (rather than fully opaque);
4) Grids can now be set to "hide" if no position data is available;
5) Grid and MFD position can now be set using typed in x, y coordinates;
6) The "to edges" setting can now be applied to grids;
7) Raw flags panel removed.
Up to 0.0.7.0
Beta 0.0.6.0:
1) Panel added for Landing Pad with docking timer.
2) Each window can now be locked so that it cannot be moved or the borders toggled.
3) Rework of both grid and MFD options dialogs. Windows can now be positioned as well as resized from the dialog.
4) Entry of body radius removed from options dialog as it is no longer required (it is published along with position information).
5) Polling frequency on options dialog now sets the minimum polling rate - it will be higher if any window is set to a higher refresh rate.
6) MFD centre grid increased from 4x5 to 6x6 elements; settings file should be automatically corrected on the next save settings.

Beta 0.0.6.1:
1) In addition to the existing border width settings, a window offset (both horizontal and vertical) has been implemented - allows the drawn window to be moved within the frame.
2) Added fuel scooping state indicator to fuel panels that display the main tank level.
3) Under the hood: reworked button handling / display code.
4) Added "Tail" parameter to each window; controls the length of the track history shown in some panels.
5) Added visible waypoints to relevant panel.
6) Added "Datum" system feature; use LEFTALT-D to set / over-write it; permanently stored in "DatumSystem.json" in the same directory as "Navigation.json".
7) Amended specification of Navigation.json; now rev.2; see specification document for details.

Beta 0.0.6.2:
1) Fixed reading star position from loadout event written at game start;
2) Added handler for MissionAccepted event (8.21);
3) Added handler for FSSDiscoveryScan event (6.05);
4) Added handler for FSSAllBodiesFound event (6.04);
5) Added two additional Grid windows (there are now six);
6) Added handler for Squadron related events;
7) Bugfix in saving settings (did not affect any currently used settings);
8) Individual windows can be quickly toggled by activating any StatusDisplay window then using LEFTALT plus any digit to toggle the corresponding windows. In order, the windows are numbered (for legacy reasons): 1: Grid0; 2: MFD0; 3: MFD1; 4: Grid1; 5: MFD2; 6: MFD3; 7: Grid2; 8: Grid3; 9: Grid4; 0: Grid5

Beta 0.0.6.3:
1) Save settings confirmation box is visible again;
2) Optimisations to hex / base64 conversions;
3) Optimisations to number string creation functions;
4) Numeric pad keys now work (as well as main number keys) in conjunction with LEFTALT to toggle windows;
5) Windows can be resized by left-clicking in the edges of the borderless window, within 12 pixels of the edge;
6) Windows contents can be offset using the mouse - right click in the body of the window and drag the contents to the desired position.

Beta 0.0.6.4:
1) For fine tuning window position / size / offsets use SHIFT and CTRL in conjunction with the left-mouse-button to slow relative movement to 50% or 25% of mouse movement respectively - in conjunction relative movement is reduced to 12.5% of mouse movement;
2) Bugfix: buttons that are meant to flash now flash again;
3) Added window information overlay which is displayed when moving / resizing / changing offset to improve the process;
4) Removed any uses of stringstream from code;
5) Fixed bug in session recording;
6) Further optimisations to string creation functions.
7) Bug in firegroup display on MFDs fixed.
8) Added Landing Pad Map panel (also part of renamed General Purpose Track Display (was Great Circle Track Display)) for Orbis and Coriolis stations. Flashing dock gate "lights" correspond to in-game flashing lights at the dock gate.

Beta 0.0.6.5 [released 27th July]
1) Added body view with vehicle track display - full body (simple sphere) display with lat/lon lines for reference (every 30°). Track is plotted at relevant altitude scaled to the body radius. Also displays any StatusDisplay waypoints (at the relevant altitude).
2) Major revamp of track history plotting; now uses "proper" 3D cartesian co-ordinates and rotations rather than the previous method's approximation.
3) Pitch to target fixed in "NextWaypoint" panel.
4) Added "Surface Track" panel;
5) Fixed bug experienced on first run where an orange blank window appeared. Now has a basic setup and auto-saves the settings file.

Beta 0.0.6.6 [released 7th August 2019]:
1) Modified body view.
2) Added "Galactic Track" showing track between systems.
3) Added "Combo Panels" - user defined 6x6 grids of existing panels that can be used in both grid displays and the centre of MFD displays.
4) Modified grid display handling - should reduce CPU load from grid displays.
5) StatusDisplay now saves a settings file on first run and displays a "help" message box (accessed later using LEFTALT-H").

Beta 0.0.6.7 [released 11th August 2019]
1) Added two more views to Galactic Track display; "top, X/Y" and "side, X/Y" (in addition to default "front, Y/Z").
2) Bug-fix regarding first run (i.e. when no .INI is present).

Beta 0.0.6.8 [released 17th August]
1) Either ALT key can now be used in StatusDisplay.
2) Fixed the effect of CTRL when moving / resizing windows - now cuts relative movement by 75% (was 25%). Can be used in conjunction with SHIFT which cuts relative movement by 50% - when CTRL-SHIFT is used relative movement is cut to 12.5%.
3) Code optimisation in positional tracking and displays.
4) Bug-fix to info display - number of jumps was off by one.
5) Window borders no longer toggle. Left-mouse double-click now locks / unlocks window (stops / enables resizing / moving / offsetting).

Beta 0.0.6.9 [released 2nd October]
1) Reworked INI file format for window core setting (I had "run out of space" when adding 2 ) - now has a 344 spare bits for future development. Previous INI file format will remain compatible (for now). Upgrade of INI file will occur on first save settings after upgrade to Beta 0.0.6.9.
2) Added "brightness" setting for each window; increases minimum luminosity of colours generated for each window linearly towards maximum;
3) Luminosity now limited to 100% (rather than 200% previously) due to implementation of "brightness", in 1% steps rather than the previous 5% steps.
4) Bug in base64 implementation found and fixed.
5) base64 implementation now reads both RFC2152 and RFC4648.S5 compliant base64 and writes only RFC4648.S5 compliant base64.
6) Panel settings INI format used pre Beta 0.0.4.6 has been removed.
7) Colour intensity now able to be set to zero, i.e. pure greyscale.
8) Easter Egg added.
9) Bugfix to transparent Grid background.
10) Bugfix to GUIHide and NoDest flag effects on windows.
11) "Multi-Panels" implemented.
12) Two grid windows added.
Up to 0.0.8.0
Beta 0.0.7.0 [released 3rd October]
1) Multi-panel selector bar location now user defined. Options are top, bottom, left or right edge.
2) Multi-panel selector bar width / height now user defined in the range 5% to 25% of the element width / height.
3) Bugfix to multi-part flag structure handling.

Beta 0.0.7.1 [released 14th October]
1) Multi-panel selector bar can now be split into a number of "rows".
2) Multi-part flag handling modified.
3) Ancillary JSON files now written to relevant directory if "/Publish" is used.
4) FSS Enter and FSS Quit buttons now highlight if GUI is in FSS mode.
5) Updated MiningRefined event to stop subsequent of the same event showing; shows count.
6) Updated LaunchProbe event to stop subsequent of the same event showing; shows count.
7) Added System and Body reporting of available materials and indication of whether those available satisfy the requirements of a Green or Gold system / body.

Beta 0.0.7.2 [released 23rd October]
1) Added panels for System and Body flagging of whether materials are available to qualify as Green Basic / Standard / Premium or Gold.
2) Reworked the Status.json flag handling code.

Beta 0.0.7.3 [released 1st January]
1) Rework of display of 3D points;
2) Added decorative 3D ship models from Elite;
3) Reintroduced debug displays as panel options;
4) Some rework of system body list;
5) Added "Dark B/G" flag for MFD displays to significantly reduce luminosity of background.

Beta 0.0.7.4 [released 2nd January]
1) Fixed bug in element illumination caused by introduction of the Dark B/G flag for MFDs.

Beta 0.0.7.5 [released 15th January]
1) Amended intensity steps for active and flashing elements for MFDs to fix an issue caused by the introduction of the Dark B/G flag;
2) Rework to route handling; now works between systems, bodies in systems and docks (if a dock is specified, the docking must take place).
3) The current waypoint in a route can now be manually changed using ALT-KEYPAD-"+" and ALT-KEYPAD-"-".

Beta 0.0.7.6 [released 1st April]
1) Added single status flag panels;
2) Tweaked flag and material panels.

Beta 0.0.7.7 [released 17th June]
1) Added the eight missing MFD corner buttons for assignment; should automatically migrate the .ini file to the new version.
2) If "paired" bindings are selected for one pair of corner buttons then the pair are merged for display purposes and show specific text, e.g. Cycle Next Target and Cycle Previous Target. Not all logical pairs have been included - please point out any that should be added.
3) Rework of 2D display of 3D coordinates method.
4) Added "NavRoute" event handling; new small panel showing jumps and distance remaining available.
5) Added panel that shows "ApproachSettlement" surface targets appropriate to the body that the game indicates the ship is close enough to. This will be augmented with the ability to select any of the displayed settlements as a StatusDisplay navigation surface target (which will, in turn, allow the app to display range and bearing to target information) in due course.
6) Rework of the three Galactic Track panels following 3) above.
7) Window borders have made a comeback, of a sort. Double-clicking the centre mouse button will toggle the border for any window.

Beta 0.0.7.8 [released 19th June]
1) Fixed bug in multi-panel element assignment;
2) Added overwrite confirmation to load bindings - if a button is used more than once all instances after the first will require the user to decide whether to overwrite the MFD peripheral element assignment.
3) Added more detailed NavRoute panel.

Beta 0.0.7.9 [released 12th July]
1) Bugfix: HUD panel related button text now shows "Active" / "Inactive" accurately.
2) NightVision button now shows Active/Inactive.
3) NavRoute handling augmented; now shows destination, distance and number of jumps.
4) Loadout handling augmented; now shows weight and power-draw of ship as configured.
5) Fuel and Range panels added providing an estimate of maximum range (dependent on current fuel level, cargo, hull and module mass) and fuel required to make a specific jump.
6) UPPERCASE flag added to each window to change all displayed text to upper-case.
Up to 0.0.9.0
Beta 0.0.8.0 [released 19th July]
1) Fixed incorrect plural in "Jump Log - Count" button.
2) Fixed range and fuel estimates to correctly account for the Guardian FSD Boosters.
3) Added buttons in the options panel to apply an FSD boost within the app - the in-game boost is persistent between game sessions if not used but is not republished in the new session's journal so the app does not "know" that it is still active.
4) Added waypoints for the pillars required to be activated as part of unlocking the Guardian FSD Booster at the Guardian site on HD 63154 B 3 a to Navigation.json.

Beta 0.0.8.1 [released 25th July]
1) Fixed CTD caused by insufficient ship information for range / fuel calculation.
2) Fixed bug in "Flight Assist" flag state display.
3) Introduced 1.5 second delay on startup before buttons / panels are drawn (backgrounds are drawn but no text / graphics).

Beta 0.0.8.2 [released 25th July]
1) Added Cargo panel.

Beta 0.0.8.3 [released 14th August]
1) Pips display reworked; now four pips rather than 8 (sub-pips) and three rather than two intensities; off; half; on.
2) Text wrapping without word sensitivity added and implemented in raw json panels.
3) CargoTransfer event now handled in journal panel.

Beta 0.0.8.4 [released 23rd August]
1) New panel class implemented: Flag Panels. Each of the 32 flag panels can display up to 32 individual flags from Status.json as text with an adjacent square, the fill colour of which denotes the flag state. Flag panels can be included in Multi Panels and Combo Panels.

Beta 0.0.8.5 [released 12th September]
1) Reworked flag handling for Multi Panels, Combo Panels and Flag Panels.
2) Added flags to Flag Panels. Title can be removed, moved to any corner of the flag panel, and squares can be moved to right side of panel.
3) Added cargo capacity to both cargo panels.
4) Fixed font sizing in main cargo panel.
5) Reworked font handling to speed up optimal font size selection.

Beta 0.0.8.6 [released 11th October]
1) Added reservoir fuel consumption panel; calculates fuel consumption based on publications of Status.json and estimates time to empty the reservoir.
2) Added CG summary panel for Community Goals to which the CMDR has signed up to.
3) Added optional long term logging of specific events: Status.json publications; Communications; Friends; Community Goal events and voyage events (StartJump and FSDJump events). Log file names are pre-pended with the CMDR FID to allow log files to be kept separate for each CMDR in the event that a player has more than one CMDR.
4) Added optional automatic session logging of all events and including every publication of all ancillary JSON files.
5) Added "Module List" panel with weight and power generation / consumption information.

Beta 0.0.8.7 [released 16th February]
1) Buttons can no longer be selected as elements of the 6x6 grid in the centre of each MFD.
2) Bug fixed, some buttons intended to merge when selected in adjacent MFD corner buttons were trying to merge when selected in adjacent side or top/bottom buttons.
3) Added "Target Information" panel;
4) Added "FSS" panel;
5) Bug fixed, display of fire-group.
6) Panels containing flags: particular flags now flash to attract attention; some of those are of higher intensity to be even more obvious.

Beta 0.0.8.8 [released 28th February]
1) Introduced autoselection for Multi-Panel tabs, based on game flags published in Status.json and a priority (in the event that one or more flags is set).

Beta 0.0.8.9 [released 22nd March]
1) Reverted change to shape of fuel scooping indicator in the Fuel panels (from square to circular).
2) Multi-panel tabs now able to be hidden if desired (means that user will no longer be able to set tab manually).
3) Speculative fix #1 to rare crashing bug.
Up to 0.1.0.0:
Beta 0.0.9.0 [released 29th March]
1) StatusDisplay now reads Alpha Journal files.
2) Optional log of unrecognised Journal events now available (primarily for testing purposes).

Beta 0.0.9.1 [released 2nd April]
1) All windows can now be toggled to be "not on top" using ALT-B.

Beta 0.0.9.2 [released 6th April]
1) Added "command" functionality whereby line delimited json formatted commands can be read from StartupCommand.json (processed each time the app is started) and Command.json (the latter deleted after being read by the app and processed). See packaged "Command_Manual_v0.pdf" for details.

Beta 0.0.9.3 [released 15th April]
1) Command.json no longer deleted after being read - app now ignores Command.json files older than the time of app startup.
2) DSS button text fixed.
3) MFD centre grid can now extend left and / or right, causing the button elements not to be displayed.
4) Multi-panel tabs increased to ten.
5) Multi-panel tabs can now be split left and right of the panel centre.
6) All dropdowns containing buttons or panels now also display the actual panel number as well as the sequential number in the dropdown list.
7) Body material composition panel added which includes percentage of raw material.

Beta 0.0.9.4 [released 17th April]
1) Main Options dialog reworked to improve aspect ratio to work better on a 16:9 screen.
2) All options dialogs now have 12 point font as a default size rather than 10 point, for improved legibility.
3) Added new landing pad map panel, oriented to have the entrance horizontal (red lights left, green lights right) rather than pad @ 6 o'clock.

Beta 0.0.9.5 [released 31st May]
1) Added Odyssey bindings;
2) Added new Status.json flags;
3) Added framework handling for new journal events;
4) Implemented "synthetic" flags based on journal events, i.e. "Target Locked"; "No Limpets"; "Docking"; "FSS Mode" & "DSS Mode";
5) Added Backpack panel (analogous to Cargo panel);
6) Added On-Foot status panel.
7) Bug-fix to Cargo panel; total cargo added.
8) Options dialog decluttered (a bit) with the addition of a menu for some options.

Beta 0.0.9.6 [released 4th June]
1) Added a radio button to the "Boost Sync" menu to indicate the current boost state in the app, which will differ from the game if the boost has been carried over from a previous session.
2) Added menu item to open development thread in default browser.
3) Added menu items to open Discord channel & Discord invitation in default browser.
4) Fixed storage of trigger flags in multi-panels - broken in 0.0.9.3 and further in 0.0.9.6 after increasing the number of multi-panel tabs and flags.
5) Fixed storage of priorities in multi-panels - broken in 0.0.9.3 with the addition of two more multi-panel tabs.
6) Multi-panel "hide-tabs" flag will need to be reset as it has been "moved" due to the increase in the number of stored priorities.
7) Added Roboto Mono font.

Beta 0.0.9.7 [released 23rd August]
1) Fixed bug in range / fuel estimates in Range and Fuel panels.
2) Added file dialog box to select which bindings file to use when loading bindings on to MFDs.
3) Added optional SLF and Foot binding sets to MFD displays.
4) Added Fleet Carrier landing pad map to docking panels.

Beta 0.0.9.8 [released 2nd January]
1) Added next jump fuel indicator to fuel gauge panels.
2) Fixed landing pad position error for Carrier landing display (pads 14 & 15 were swapped).
3) Swapped order of Latitude / Longitude to Longitude / Latitude wherever displayed.
4) Fixed error in panel display - some panels were ignoring the "ToEdge" setting on both grids and MFDs.
5) Bug fix: fixed a bug in Button 2 which would cause a crash to desktop.
6) Implemented UserDefinedButtons; up to 128x three line (each line of up to 10 chars) buttons can be defined in a UserDefinedButtons.json file in the same directory as the executable which are read once when the app is launched. UserDefinedButton_Manual_v0.pdf refers.
7) Removed "TinyHardpoint" references and replaced with "UtilityHardpoint".

Beta 0.0.9.9 [released 16th March]
1) Fix for changed naming convention for journal file.
Up to 0.1.1.0:
Beta 0.1.0.0 [released 3rd September 2023]
1) Updated application icon to that of Odyssey;
2) Added System Tray icon, tip shown on hover is Galactic Mean Time;
3) Added handling for taskbar right click > close;
4) Fixed (nasty) bug in handling of the "Promotion" event - would crash the app if promoted in Federation or Empire.
5) Fixed built-in flag panels not covering all 52 in-game flags. There are now 6x 3x3 panels and 13x4, 18x3, 4x13 and 3x18.
6) Panel titles can be hidden on a window by window basis, in the Grid / MFD options dialog and using ALT-H when the window is in focus.

Beta 0.1.0.1 [released 20th January 2024]
1) Added "transparent" panel to facilitate using multi-panels to create pop-up grids, e.g. to indicate when the vehicle is overheating.


Link to Discord server with release and direct comms: https://discord.gg/x8ZeQJC.

Direct link to 7z file containing Beta 0.1.0.1 executable: https://cdn.discordapp.com/attachme...4/StatusDisplay_Beta_0.1.0.2_20240324-2140.7z
image.png

Many more defined buttons still to be added - please suggest inclusions (i.e. omissions) below. :)


Using StatusDisplay:
  • For help, select help from options or use ALT-H
  • For options, please right click on any StatusDisplay window or click on any window and use ALT-O
  • If game overlay is desired, the game should be run in a mode other than fullscreen.
  • Windows can be moved by left-click-and-drag in the window area (other than controls) or by typing in the coordinates of the top left corner of the window in the relevant settings dialog. All windows can be disabled apart from one. Each window can have its own refresh rate, between 1Hz and 16Hz.
  • Windows can be resized using left-click-and-drag in the periphery of the window (within 12 pixels of the edge or corner).
  • Window contents can be offset within the frame either using the settings dialog or right-click-and-drag within the window area.
  • While moving / resizing / offsetting window, an overlay with window position, size and offsets is shown on the window.
  • Windows can be locked / unlocked by a double-left-mouse-click in the window this disables / enables moving / resizing / offsetting. Window settings may still be changed in the relevant options dialog.
  • Windows can be toggled to be "not on top" using ALT-B; default is on top.
  • The "AutoLoad" option must be checked (and subsequently options saved) to enable auto-loading of user settings when starting StatusDisplay.
  • Unless specifically mentioned in the change log for a Beta release the settings file (StatusDisplay.ini, in the same directory as the executable) should carry over between versions.
  • If, for any reason, StatusDisplay becomes unresponsive, activate a grid or MFD by clicking on it then use ALT-Q to quit.
  • StatusDisplay can record a session log, with journal and status.json data interleaved, written in the order that it is published by the game. Use ALT-R to toggle the recording.
  • By default, StatusDisplay locates status.json, journal and bindings files in the relevant sub-directories of the current user's home directory, stored in the "USERPROFILE" environment variable. An alternate location can be specified by manually appending it to the second line of the settings.ini file, i.e. SD:00000000000000B1;C:\Users\User where C:\Users\User is the path to the folder which contains the Saved Games\Frontier Developments\Elite Dangerous folder structure. This requires that the PC on which StatusDisplay is running has read access to the storage location, i.e. the relevant user folder, on the target PC.
Advanced Use:
Beta 0.0.9.2 brings with it "command" functionality whereby StatusDisplay will react to line delimited json formatted commands (see Control_Manual_v0.pdf in download) to affect how and what is displayed by the application.

Befa 0.0.9.8 adds up to 128 user defined buttons, for use around the periphery of each MFD. The format of the required UserDefinedButtons.json file is explained in UserDefinedButtons_Manual_v0.pdf contained in the 7z file with the executable.
 
Last edited:
Hi Robert,

this is going to be a great puzzle, to rearrange my gadgets to be able to make your display work in my cockpit!

This means many exciting DIY-hours :)

Best regards!
 
With the inclusion of status.json in the player journal data offered by the game in 3.0, I've started to develop an application to display that data and, given that positional information is included when in proximity to a landable body, allow the player to set destination latitude / longitude and calculate the range and bearing to that destination.

It's early days yet - I'll be expanding it to display the flags that are also published in status.json - both in a window and also in graphical form suitable for display on a screen behind an MFD (I use a pair of Thrustmaster Cougar MFDs as additional controllers).

Current progress:

1) Display of time and raw flags; position (if available, i.e. in proximity of a landable body) and destination (if set and if positional data is available).
2) Beginnings of MFD display template - to be filled with decoded flag information, i.e. landing gear up/down, etc.

Current game screen overlay, i.e. 1):
https://cdn.discordapp.com/attachments/320937140068548608/411978695235076146/unknown.png

Current MFD display template:
https://cdn.discordapp.com/attachments/320937140068548608/411978308914511895/unknown.png

When in focus, window 1 is opaque and changes to 60% opacity on loss of focus. Also on loss of focus, the buttons (not yet final) "disappear" by resizing the window. Window is set to be always on top, so will be visible when on the same screen as the game while playing.

It's my first Windows GUI application - so everything's a learning experience.... :)

If you can get this working in a window I can pin inside my Rift, you will officially become "My hero". Lazy explorers (like me) need this ASAP!:D
 

Robert Maynard

Volunteer Moderator
Some progress made with the MFD display windows (not the font or text size though) - independently resizable and they refresh every second. The diameter of the body can now be entered which allows speed over ground and range to destination to be expressed as a speed and distance rather than Arc°/hr and Arc°.

Next on the list:

1) font / text size;
2) customisable "button" (i.e square next to MFD button) assignment;
3) save / load window positions / sizes and button assignments;
4) something to put in the middle square.
 
Last edited:
This is an awesome idea!

Any chance you could trigger the LEDs on the MFDs to indicate Hardpoints, Cargo Scoop, or Landing Gear deployed? Mass Locked?
 

Robert Maynard

Volunteer Moderator
This is an awesome idea!

Any chance you could trigger the LEDs on the MFDs to indicate Hardpoints, Cargo Scoop, or Landing Gear deployed? Mass Locked?

I'm not interfacing with the MFDs - just putting images on the screen behind them.

The square next to each button changes colour - and, later, may possibly flash, depending on severity - when each flag is set.
 
I guess I'm asking if it is possible for your application to do that as a future enhancement. I assume the data you would need are in the status.json?
 

Robert Maynard

Volunteer Moderator
The data is certainly in status.json - however I'm not sure that the button backlights are individually addressable to permit single buttons lights to be changed.
 
Hi,

I've made some experiments with the TARGET software in the past, the button backlights can't be controlled separately, only the two small LEDs on the upper left/right. Together, that is four, so gears/scoop/hardpoints/lights (or whatever) status could be displayed with some additional plugin stuff... It was just a pain to follow the on/off statuses with VA and TARGET (however not impossible).

Best regards!
 
Hi,

I've made some experiments with the TARGET software in the past, the button backlights can't be controlled separately, only the two small LEDs on the upper left/right. Together, that is four, so gears/scoop/hardpoints/lights (or whatever) status could be displayed with some additional plugin stuff... It was just a pain to follow the on/off statuses with VA and TARGET (however not impossible).

Best regards!

That's pretty much my understanding. You can adjust the backlighting on a per-MFD level but not per button. I was thinking about those 4 LEDs as status lights.
I've got a proof of concept library/utility that sets the LEDs at https://github.com/AndreMessier/ThrustmasterMFDLights Just need to figure out how to link those to the statuses. I could probably get gear, hardpoints, and cargo scoop from VA but masslock would need to come from elsewhere.
 

Robert Maynard

Volunteer Moderator
That's pretty much my understanding. You can adjust the backlighting on a per-MFD level but not per button. I was thinking about those 4 LEDs as status lights.
I've got a proof of concept library/utility that sets the LEDs at https://github.com/AndreMessier/ThrustmasterMFDLights Just need to figure out how to link those to the statuses. I could probably get gear, hardpoints, and cargo scoop from VA but masslock would need to come from elsewhere.

Gear, hardpoints, scoop and masslock are all in status.json - in the Flags field.
 
Last edited:

Robert Maynard

Volunteer Moderator
From the previous "to-do-list":
1) font / text size;
2) customisable "button" (i.e square next to MFD button) assignment;
3) save / load window positions / sizes and button assignments;
4) something to put in the middle square.

Item 1 is pretty much complete - with the added bonus that the main overlay window is now resizable (via a settings dialog).
 

Robert Maynard

Volunteer Moderator
From the previous "to-do-list":

Item 1 is pretty much complete - with the added bonus that the main overlay window is now resizable (via a settings dialog).

Items 2 pretty much complete and 4 started (the position and destination data from the overlay window is now in the middle of MFD0 as well (likely to be optional).

.... just settings savings to go for first release.
 

Robert Maynard

Volunteer Moderator
Saving of window state (i.e. displayed or not and, in the case of the overlay, which elements are visible and for the MFDs, the size of the window (overlay window size is dictated by fontheight whereas MFD window size is user specified)) and position complete. Settings will auto-load if desired.

Saving of MFD "button" assignment next.
 
Last edited:

Robert Maynard

Volunteer Moderator
With the impending release of Beyond: Chapter 1 fast approaching, I'm delighted to say that the save / reload of assigned "buttons" is complete - along with a comprehensive rework of the save file format.

Furiously adding defined buttons to the available list for assigning to the MFD windows - I don't see any reason, at this time, why I won't be able to release the first Beta version of StatusDisplay tomorrow.
 
Hi,

I can't decide since a while, how to improve my "spaceship": continue with my old school rig with triples and buttons and displays, or VR. I'm afraid, this is going to be a plus point for the old school :) !

Looking forward to your app!
 
Hi,

first of all, thanks :) !

This is how my very first attempt looks like, it seems like my secondary screen dashboard is coming really alive!

fHT7jNw.jpg


This approach already looks very fancy, even without the Cougars!

A few questions:

-would it be possible to turn on/off the MFD window borders, just to have a clean look?
-option to hide the POSN-DEST, and show custom windows on MFD0?
-custom fonts and font size adjustment in the MFD windows?

There are so many possibilities in this :) !

Thanks in advance!

Best regards!
 

Robert Maynard

Volunteer Moderator
Thanks for the feedback. :)

1) I will attempt to hide the borders on the MFDs - probably by removing the ability to resize on-the-fly and replacing it with height and width settings.
2) Offering an option to display POSN/DEST on either (or neither) MFD is on my internal to-do-list already. What do you mean by "custom windows"? If you mean the same 15 display elements as on MFD1 then yes - that's part of making POSN/DEST optional.
3) I'll have a look at adding font changing as an option - however some elements (POSN/DEST and the main overlay) use a monospaced font at this time. Do you have any particular fonts in mind? Regarding font size, it's set so that all display element text is the same size and is therefore limited to fitting 9 characters in the left/right column display elements.
 
Last edited:
Top Bottom