v2.6.0 Released. New Stuff, Lots Of Fixes
Another day, another new release.
Download from the usual place.
[NEW] - Main overlay now displays icons for the stars and their type, as well as a tooltip with each designation, for a given star system.
[NEW] - parse the new Genuses line from the Update 13 Player Journal, in the JournalParser.
[NEW] - the SpeciesLister now displays all, but not yet scanned genus, discovered from the Surface Scanner.
[NEW] - if a Species has been analysed, the SpeciesLister will display the "Genus/Species" name highlighted, instead of the Surface Scanned Genus.
[NEW] - rewired the DBInterface functions which handle genus and species.
[NEW] - created explanatory Tooltips for the Species Lister. Mousing over each listed genus or species explains what the current sampling/analysis state is.
[NEW] - completely got rid of the Trip Totals thread. Total Estimated Trip value is now calculated on the fly when loading a Trip. This might cause some brief "pauses" on some individual star systems if they do not yet have a stored estimated value; the slight pause is CL calculating that system's value and storing it in that star system's record in the galaxy table.
[NEW] - as a result of the above, the "zero and "recall" of the trip total estimated value is made simpler. No longer does "recall" trigger the now-unused Trip Totals thread. Instead, when "zero" is called, the current total is stored. When "recall" is clicked, whatever new values were added due to scanning etc. is added to the stored value and the new total is displayed. Subsequent clicks of the "zero" button will add the current trip value to the stored total value before zero-ing again. Recall will display the updated total trip value.
[NEW] - the Species Lister overlay will display if a Surface Probe Scan has sent back details of all Genus available on the scanned planet. Afterwards, certain actions will make that species overlay go away until it reappears again after starting to sample bio life. The Species Lister overlay can be toggled at any time with ALT+L.
[NEW] - created icons for Metal Rich Terraformable, and Ammonia World Terraformable planets.
[NEW] - added an additional "is notable planet" check for Metal rich and Ammonia terraformables, and will add those to the system notes if found during an FSS scan.
[NEW] - in the JournalParser, separated the parsing of SAASignalsFound and FSSBodySignals to their own parsing and signals.
[NEW] - added a PAUSE flag to Journalparser which, when True, pauses further reading of the Player Journal until it is made False again by whichever handler of the JournalParser signals has completed its tasks.
[NEW] - In the JournalParser, immediately pause further reading of the player journal when either a SAAScanComplete or a SAASignalsFound Event has occurred.
[NEW] - the new body_saasignals_handler() is now responsible for adding Genuses data to a planet record in the database. It also removes the existing planet data row from the planet table, and inserts the freshly updated data row back into the table. This is faster than clearing and totally rebuilding the planet table.
[NEW] - the Journal importer now imports organic samples.
[NEW] - the Journal importer now imports organic analysis.
[FIX] - connect up the "clear target lat/lon" button clicked() signal on the standalone Nav overlay.
[FIX] - also set the Lat/Lon text on the Nav widget in the main overlay if the text in the standalone target lat/lon is changed.
[FIX] - got rid of some unneeded db session commit()s, close()es, and db engine dispose().
[FIX] - in the IconGenerator() class, added the creation of an icon for Metal Rich Body Terraformables, also pre-empted a potential future fix requirement by adding the creation of an icon for Ammonia World terraformable planets, because why not.
[FIX] - in the BioNav class, changed "Anenomes" to "Anenome" in its internal genus list, and changed how it searches for the bio life being sampled, which fixes errors where it wouldn't find nor deal with Anenome biological life.
[FIX] - give materials widget in planet info table a transparent background, so the currently highlighted background colour is now displayed along the entire table row.
[FIX] - format the gravity text in the plant table to be right-aligned and to 2 decimal points with trailing zeros. Also ensure gravity text widget has a sensible width so that text showing higher gravity values doesn't overflow off the column.
[FIX] - make sure the biosampling flag variable exists on CL startup, because the catchup functions need to see it.
[FIX] - split up handling of the BodySignals and SAASignalsFound events into their own functions, in the CL main loop.
[FIX] - prevent a Qt/user interface race condition between the various body signal events, and the SAAScanComplete event, and the Detailed Scan event.
[FIX] - the body scan complete handler is now called by the Detailed Scan handler directly, instead of via a Qt signal from the JournalParser. This fixes yet another Qt/UI race condition.
[FIX] - the add_or_modify_star() function in the main loop does nothing if the Thing being scanned (probe mapped) was a Ring of a star. This prevents Rings being added to the DB star table.
[FIX] - the add_or_modify_planet() function in the main loop does nothing if the Thing being scanned (probe mapped) was a Ring of a planet. This prevents Rings being added to the DB planet table.
[FIX] - add_or_modify_planet does nothing if it sees that CL is currently processing the SAASignalsFound event. This is a precaution as now the JournalParser is also paused immediately upon the SAASignalsFound journal event; a precaution against Qt/UI race conditions.
[FIX] - the fsd jump started handler clears more stuff from the main Overlay widget, when the ship goes into Hyperjump.
[FIX] - only display the BioTracker if the ship has active lat/lon coordinates.
[FIX] - prevent a Qt/UI race condition in body_scan_completed_handler() in the main loop, if it detects Mapping in progress or CL is currently processing SAASignalsFound.
[FIX] - body_scan_completed_handler() will look for and remove an existing entry in the planet table before inserting a new or updated row for the planet being processed. This means the function works OK when either a passive or manual FSS scan has occurred, or if a new Detailed Scan event has been written to the player journal for an existing planet entry - that usually occurs either right before or right after a SAASignalsFound journal event (which is, annoyingly, unpredictable, so this new precaution must be taken otherwise a duplicate planet entry in the planet table can occur).
[FIX] - the probe_mapping_complete_handler() does nothing if the body being probemapped is a Ring.
[FIX] - Subsequent clicks of the total trip value "zero" button would also zero the stored total trip value. This undesirable behaviour has been fixed.
[FIX] - When entering overlay mode, if the current system name is known, set the current system name on the main overlay widget.
[FIX] - Standalone BioTracker overlay now works as expected. (Wasn't being told the planet radius like the main overlay version was.)
[FIX] - only try to parse "PlayerControlled" in parse_touchdown() if that exists in a Player Journal.
[FIX] - Deal with Thargoid interdictions by not adding a duplicate Jump entry (the player journal repeats the same FSDJump event if a player has been hyperdicted by a Goid, this looks weird if added in CL.)
[FIX] - Qt couldn't cope with the huge ShipID numbers being sent in a Qt Signal from the JournalParser. Fixed by changing those into a string and sending the string instead.
[FIX] - Just commit() changes to the database tables regardless of being in a live game or not. This was an old technique which is no longer valid given the many changes to the DBInterface in recent versions of CL. This makes things like the Importer work properly.
[FIX] - the Journal importer now properly keeps track of where the CMDR's ship is.
[MISC] - moved star icon generator functions into their own class for re-use, also split one function into two.
[MISC] - finally give all remaining DBInterface functions their own DB session to work with.
[MISC] - move the NAV and Biotracker widgets down the main overlay by 20 pixels, due to the addition of the stars display in the main overlay.
[MISC] - further work done to prevent SQLAlchemy/sqlite complaining.
[MISC] - in the PlanetTableWidget class, added a remove row from table function, and split get_planet_table_insertion_point() into that plus find_planet_in_table().
[MISC] - split handling of body signals from the FSS and SAASignalsFound in the DBInterface() class.
[MISC] - DBInterface creates a new planet entry in the database if one doesn't already exist, when handling body signals. This is to prevent an error trying to update signals for a planet which doesn't exist in the DB. The planet should exist though (via use of the FSS after entering a star system or via a passive scan), so this is just a precaution.
[MISC] - remove all reference to and use of the ParserDBInterface, now there is only one DBInterface in use in the main CL loop.
[MISC] - removed unneeded second list from the species lister widget.
[MISC] - changed wording of the BioNav widget for the genuses detected/species analysed counts.
[MISC] - modified the wording of the genuses/species lister.
[MISC] - modified the wording and layout/dimensions of the standalone genuses/species widget.
[MISC] - pause journalparser whilst dealing with a planet detailed scan event.
[MISC] - make the DBInterface less noisy - most of the messages emanating it were for debugging purposes.
[MISC] - added some new, intervening importer functions to properly process events before sending them to the DBInterface.