diff --git a/Tools/HolocronToolset/src/toolset/config.py b/Tools/HolocronToolset/src/toolset/config.py index 094ecff7c..f7acd216b 100644 --- a/Tools/HolocronToolset/src/toolset/config.py +++ b/Tools/HolocronToolset/src/toolset/config.py @@ -27,7 +27,7 @@ "toolsetDownloadLink": "https://deadlystream.com/files/file/1982-holocron-toolset", "toolsetBetaDownloadLink": "https://mega.nz/folder/cGJDAKaa#WzsWF8LgUkM8U2FDEoeeRA", "toolsetLatestNotes": "Fixed major bug that was causing most editors to load data incorrectly.", - "toolsetLatestBetaNotes": "
- Tons of performance optimizations
- Fix filtering by name in the Texture tab
- Fix editors not starting on top
- Use new strategy for IO
- Use pillow to load large TGA images.
- Fix reload/refresh buttons
- Prompt before creating a .mod when using module designer.
- Fix bug when compiling scripts inside RIMs, when rims saving setting is disabled.
- Optimize installation loading and show progress bar for the entire process.
- Fix issue with installations not being cached when swapping to a different installation in the combobox.
- Fix issue with windows not having separate taskbar entries.
- Add an option to disable/enable loading Override textures into the module designer (workaround for large textures taking ages to load).
- Add additional resources into the Core tab.

Thank you to the users who've reported the bugs in the last few versions.", + "toolsetLatestBetaNotes": "Various bugfixes, update when you are able :)", "kits": { "Black Vulkar Base": {"version": 1, "id": "blackvulkar"}, "Endar Spire": {"version": 1, "id": "endarspire"}, @@ -57,13 +57,12 @@ def getRemoteToolsetUpdateInfo(*, useBetaChannel: bool = False, silent: bool = F # Use regex to extract the JSON part between the markers json_data_match = re.search(r"<---JSON_START--->\#(.*?)\#<---JSON_END--->", decoded_content_str, flags=re.DOTALL) - if json_data_match: - json_str = json_data_match.group(1) - remoteInfo = json.loads(json_str) - if not isinstance(remoteInfo, dict): - raise TypeError(f"Expected remoteInfo to be a dict, instead got type {remoteInfo.__class__.__name__}") # noqa: TRY301 - else: + if not json_data_match: raise ValueError(f"JSON data not found or markers are incorrect: {json_data_match}") # noqa: TRY301 + json_str = json_data_match.group(1) + remoteInfo = json.loads(json_str) + if not isinstance(remoteInfo, dict): + raise TypeError(f"Expected remoteInfo to be a dict, instead got type {remoteInfo.__class__.__name__}") # noqa: TRY301 except Exception as e: # noqa: BLE001 errMsg = str(universal_simplify_exception(e)) result = silent or QMessageBox.question( diff --git a/Tools/HolocronToolset/src/toolset/data/settings.py b/Tools/HolocronToolset/src/toolset/data/settings.py index 10ac5d13e..44e778e8c 100644 --- a/Tools/HolocronToolset/src/toolset/data/settings.py +++ b/Tools/HolocronToolset/src/toolset/data/settings.py @@ -106,7 +106,8 @@ def getter(this: Settings) -> Any: return this.settings.value(name, l_default, l_default.__class__) def setter(this: Settings, value: Any): - #serialized_value = jsonpickle.encode(value, warn=True) - this.settings.setValue(name, jsonpickle.encode(convert_value(value))) + converted_value = convert_value(value) + serialized_value = jsonpickle.encode(converted_value, warn=True) + this.settings.setValue(name, serialized_value) return property(getter, setter) diff --git a/Tools/HolocronToolset/src/toolset/gui/widgets/settings/misc.py b/Tools/HolocronToolset/src/toolset/gui/widgets/settings/misc.py index 2e43087b2..9332b702a 100644 --- a/Tools/HolocronToolset/src/toolset/gui/widgets/settings/misc.py +++ b/Tools/HolocronToolset/src/toolset/gui/widgets/settings/misc.py @@ -37,7 +37,7 @@ def setupValues(self): def save(self): self.settings.alsoCheckReleaseVersion = self.ui.alsoCheckReleaseVersion.isChecked() - self.settings.useBetaChannel = not self.ui.useBetaChannel.isChecked() + self.settings.useBetaChannel = self.ui.useBetaChannel.isChecked() self.settings.disableRIMSaving = not self.ui.saveRimCheck.isChecked() self.settings.joinRIMsTogether = self.ui.mergeRimCheck.isChecked() self.settings.moduleSortOption = self.ui.moduleSortOptionComboBox.currentIndex() diff --git a/Tools/HolocronToolset/src/toolset/gui/windows/main.py b/Tools/HolocronToolset/src/toolset/gui/windows/main.py index 4cf8269a8..2bdd9c2f1 100644 --- a/Tools/HolocronToolset/src/toolset/gui/windows/main.py +++ b/Tools/HolocronToolset/src/toolset/gui/windows/main.py @@ -941,13 +941,10 @@ def _check_toolset_update(self, *, silent: bool): toolsetLatestReleaseVersion = remoteInfo["toolsetLatestVersion"] toolsetLatestBetaVersion = remoteInfo["toolsetLatestBetaVersion"] - releaseNewerThanBeta = remoteVersionNewer(toolsetLatestReleaseVersion, toolsetLatestBetaVersion) - if ( - self.settings.alsoCheckReleaseVersion - and ( - not self.settings.useBetaChannel - or releaseNewerThanBeta is True - ) + releaseNewerThanBeta = not remoteVersionNewer(toolsetLatestReleaseVersion, toolsetLatestBetaVersion) + if self.settings.alsoCheckReleaseVersion and ( + not self.settings.useBetaChannel + or releaseNewerThanBeta ): releaseVersionChecked = True greatestAvailableVersion = remoteInfo["toolsetLatestVersion"]