Captain's Log 2.1.4 Released With Some Significant Bugfixes And Attempt At Auto-Repair Of GALAXY.db
I've added a facility in 2.1.4 which examines GALAXY.db and if it sees that the navbeaconscan database column has been added, but the database version isn't the expected number, the it will attempt to stamp the correct version number into the database - an automatic fix for the manual procedure I outlined in an earlier post.
I've also added something which I should have added a long time ago - a Logging facility, which can be found in the Configuration Manager panel, in the new Logging tab. This should prevent any future shenanigans happening whilst upgrading/migrating the GALAXY.db database, or in future the Trip databases, if I'm going to be altering their structure.
There are many other bugfixes in this - and my personal thanks go to a few users who provided valuable feedback in the #beta-testing channel of the Captain's Log Discord server, during the beta stage of 2.1.4. They know who they are.
On that front, if you are willing to try out future Beta versions of CL2, and help stomp out bugs before a full release by reporting your findings, then you are welcome to join the CL2 Discord, address/invite in my signature below.
Download from :
https://captainslog.scarygliders.net/download/captains-log-2x/ , there is an alternate download location provided there if you have difficulties downloading from my site.
2.1.4 Changelog
-
BUGFIX : check to see if a trip DB has been configured. If not, set to v2default.
-
BUGFIX : check to see if configured trip DB exists. If not, set to v2default.
-
BUGFIX : treat CMDR's credits as a string when emitting them as a QSignal from the LoadGame parser. Some CMDRs are FAR TOO RICH for their own good!
-
pre-emptive BUGFIX : On that note, also send the calculated Total Trip Value as an emitted string from that thread, because some explorers are going to be getting enough scans to have BEEEELIONS! And Qt can't cope with sending anything bigger than 2^31 - 1 as an integer, because obviously maths hurts its poor little GUI head.
-
pre-emptive BUGFIX II, The BUGFIX Strikes Back : on that happy note above, receive the value signals data as text and convert it back into Python ints, which can in fact handle the pressure.
-
BUGFIX/ENHANCEMENT : Add a logging text widget to ConfigurationManager, in it's own Logging tab. A log for Captain's Log.
-
BUGFIX/ENHANCEMENT : Add Python's Logging functionality. Because logs are good.
-
BUGFIX/ENHANCEMENT : Divert Python's stdout and stderr to the logging text widget. Because lots of pesky python libraries send pesky messages to stdout and stderr, and a Windows GUI version of a Python program doesn't /have/ stdout and stderr, so there's nowhere for the pesky messages to go, and so you get those even peskier cx_Freeze error dialogues, which peskily enough crash Captain's Log 2, and even peskier things happen. Like, databases not being stamped with the correct version number! Cats and dogs living together! People screaming and on fire! We're talking Armageddon here folks!
-
BUGFIX/ENHANCEMENT : Start producing Logging messages at various stages of CL2's initialisation, this helps see where CL2 is crashing if it does. This is an initial implementation so not all stages will be tattle-tales yet.
-
BUGFIX FOR A BUGFIX : If starting with a blank trip DB, and the total trip value is Nothing, don't try to convert a text Nothing into an integer Nothing, because Python hates that and prints an Error Message, which gets sent to stderr, which.. well you know the rest. That's fixed now, so all's well with the world. Or should that be galaxy?
- added some logging to ConfigFile class
- added moar logging to configuratiomanager, because why not
- added some logging to V2DBInterface, can never have too much logging
-
BUGFIX : altered tooltip of Scan & Import button to reflect what actually happens, rather than troll people by telling them lies, funny though that is
- set an application-wide logger for Captain's Log, called "captains_logger". Geddit? captains_logger? Huh? Geddit? I'll fetch me coat.
- added some logging of things to main CL2 loop, because logging is fun.
-
BUGFIX : when checking to see if a trip database exists, do remember to suffix the name with ".db" when checking for the actual file, otherwise this sets one up for 45 minutes of frowning at source code and hating life.
- added more informative logging messages, especially around the Player Journal location bits of the code.
- altered some logging messages to be more meaningful/less confusing.
- added a logging message to JournalParser, telling which journal file it has been fed with.
- changed the order in which the journal parser gets started, and the indication that the journal has started.
- added a parserStatus label beside the Elite running label, and the accompanying stylesheets and logic to update it.
- added calling of the afmu and jumponium availability checker after a nav beacon scan, to update those two overlay widgets.
- updated main ui setup.bat to include calling of a couple of widget ui compilations which were missing.
-
BUGFIX : Correct the ValueFormula for planets such that it truly reflects the MattG forum formula. Good news guys! Terraformable values get a buff!
-
BUGFIX : Add an automatic check and fix for GALAXY.db databases which got ruined by those evil 2.1.0 to 2.1.3 versions of Captain's Log. It'll automatically stamp GALAXY.db with the correct version number for the CL 2.1.x series, which enables the loading of them. ONCE AGAIN THE UNIVERSE (Galaxy) HAS BEEN SAVED!
-
ENHANCEMENT : Only update the overlay widgets if we are, in fact in Overlay Mode. Why do all that extra work when it's not needed?
-
BUGFIX : only display the overlay planet table widget if it has data and has been populated with data. Revert behaviour to selecting the first planet (if any) in the planet table, so that data can be shown on the overlay. This should still fix the old 'subliminal data' bug that the previous fix fixed, but better. Because why not?
- abort CL2 if all else has failed with the GALAXY.db version check.
- flag up for a migration check if the GALAXY.db version check thinks it's a 2.0.0 version.
- ensure overlay Distance To and Odometer are updated, so they can be viewed when going into overlay mode.
- try to make configuration loading more resilient by trapping some errors in loading coordinates and setting those to 0 if such an error occurs. Like trapping rabid animals and turning them into tame pets.
-
ENHANCEMENT : When importing Journal logs, attach the Nav Beacon Scan signal to the mark_system_as_navbeacon_data() function in the import journal parser, in order to accurately import nav beacon scan data and mark that as such, so that CL2 doesn't include it in its value estimation for that trip DB.
-
Version bumped to 2.1.4