Captain's Log 2.1.4 Released with major bugfixes, enhancements.
Main headline bugfix is the addition of an automatic attempt at fixing GALAXY.db dabases which got broken in versions 2.1.0 to 2.1.3 because during the process of upgrading the database, a final version number stamp operation couldn't be completed.
Main headline feature is the addition of a logging facility, which should prevent the above error from happening again in future versions of Captain's Log.
Download Captain's Log from here.
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 help 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 :D
- 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! :D
- 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