Skip to content

Commit

Permalink
v2.03.1
Browse files Browse the repository at this point in the history
  • Loading branch information
unexpectedpanda committed Apr 6, 2024
1 parent c657880 commit 928bfae
Show file tree
Hide file tree
Showing 13 changed files with 82 additions and 13,600 deletions.
11 changes: 10 additions & 1 deletion changelog.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,15 @@
# Retool changelog


## 2.03.1 (2024-04-06)

- **_Change_**: The **Prefer regions over languages** setting now also overrides
superset selection.

- **_Fix_**: DTD file detection wasn't updated to take into account the new entry point
paths. This didn't matter on Windows, but did affect Linux and MacOS.


## 2.03.0 (2024-04-06)

- **_Feature_**: Some changes aimed at ROMVault and DATVault users:
Expand Down Expand Up @@ -110,7 +119,7 @@
they had already been reassigned groups by a clone list.

- **_Fix_**: Fixed the **Process DAT files** button not enabling if you clicked a button
to add DAT files, cancelled, then actually add DAT files.
to add DAT files, cancelled, then actually added DAT files.

- **_Fix_**: Retool now works on Windows Server 2019+.

Expand Down
11 changes: 10 additions & 1 deletion docs/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,15 @@ hide:
# Changelog


## 2.03.1 (2024-04-06)

- **_Change_**: The **Prefer regions over languages** setting now also overrides
superset selection.

- **_Fix_**: DTD file detection wasn't updated to take into account the new entry point
paths. This didn't matter on Windows, but did affect Linux and MacOS.


## 2.03.0 (2024-04-06)

- **_Feature_**: Some changes aimed at ROMVault and DATVault users:
Expand Down Expand Up @@ -115,7 +124,7 @@ hide:
they had already been reassigned groups by a clone list.

- **_Fix_**: Fixed the **Process DAT files** button not enabling if you clicked a button
to add DAT files, cancelled, then actually add DAT files.
to add DAT files, cancelled, then actually added DAT files.

- **_Fix_**: Retool now works on Windows Server 2019+.

Expand Down
2 changes: 1 addition & 1 deletion docs/includes/sha256.md
Original file line number Diff line number Diff line change
@@ -1 +1 @@
89562ab3f22e0e8676566f4327528c1ad68bcaa8fb6baa65e115f671b3bb4441
13b165022650689c220a647524c285bc561c8d569cde48367b0eb50aacd2424a
33 changes: 26 additions & 7 deletions modules/chooseparent.py
Original file line number Diff line number Diff line change
Expand Up @@ -3214,23 +3214,42 @@ def production_retail(
'REF0119', [group_name], cross_region_parent_titles, keep_remove=False
)

# Remove titles with the same name in different regions, ignoring supersets
# Remove titles with the same name in different regions
cross_region_temp = cross_region_parent_titles.copy()

for title_1, title_2 in itertools.combinations(cross_region_temp, 2):
if (
title_1.short_name == title_2.short_name
and title_1 in cross_region_parent_titles
and title_2 in cross_region_parent_titles
and not title_1.is_superset
and not title_2.is_superset
and 'BIOS' not in title_1.categories
and 'BIOS' not in title_2.categories
):
if title_1.region_priority < title_2.region_priority:
cross_region_parent_titles.remove(title_2)
elif title_2.region_priority < title_1.region_priority:
cross_region_parent_titles.remove(title_1)
if not config.user_input.region_bias:
# Leave supersets alone if the user doesn't specify region priority
if (not title_1.is_superset
and not title_2.is_superset):
if title_1.region_priority < title_2.region_priority:
cross_region_parent_titles.remove(title_2)
elif title_2.region_priority < title_1.region_priority:
cross_region_parent_titles.remove(title_1)
else:
# Supersets can be removed if the user does specify region priority,
# except for "World" supersets where USA, Europe, or Japan are involved
if title_1.region_priority < title_2.region_priority:
if not ((
title_1.primary_region == 'USA'
or title_1.primary_region == 'Europe'
or title_1.primary_region == 'Japan')
and title_2.primary_region == 'World'):
cross_region_parent_titles.remove(title_2)
elif title_2.region_priority < title_1.region_priority:
if not ((
title_2.primary_region == 'USA'
or title_2.primary_region == 'Europe'
or title_2.primary_region == 'Japan')
and title_1.primary_region == 'World'):
cross_region_parent_titles.remove(title_1)

if report_on_match:
TraceTools.trace_title(
Expand Down
2 changes: 1 addition & 1 deletion modules/dats.py
Original file line number Diff line number Diff line change
Expand Up @@ -1115,7 +1115,7 @@ def process_dat(dat_file: str, input_type: str, gui_input: UserInput | None, con
# Validate against the Logiqx DTD
if input_dat.is_dtd:
try:
with open(pathlib.Path('datafile.dtd')) as dtdfile:
with open(pathlib.Path(config.retool_location).joinpath('datafile.dtd')) as dtdfile:
dtd: etree.DTD = etree.DTD(dtdfile)
failed_check: bool = False

Expand Down
36 changes: 15 additions & 21 deletions modules/gui/retool_ui.py
Original file line number Diff line number Diff line change
Expand Up @@ -3256,7 +3256,7 @@ def setupUi(self, MainWindow):
self.scrollAreaSystemOverrides.setAlignment(Qt.AlignLeading|Qt.AlignLeft|Qt.AlignTop)
self.scrollAreaWidgetContentsSystemOverrides = QWidget()
self.scrollAreaWidgetContentsSystemOverrides.setObjectName(u"scrollAreaWidgetContentsSystemOverrides")
self.scrollAreaWidgetContentsSystemOverrides.setGeometry(QRect(0, 0, 590, 396))
self.scrollAreaWidgetContentsSystemOverrides.setGeometry(QRect(0, 0, 169, 559))
self.scrollAreaWidgetContentsSystemOverrides.setMinimumSize(QSize(0, 0))
self.gridLayoutSystemUserFilters = QGridLayout(self.scrollAreaWidgetContentsSystemOverrides)
self.gridLayoutSystemUserFilters.setObjectName(u"gridLayoutSystemUserFilters")
Expand Down Expand Up @@ -3367,7 +3367,7 @@ def setupUi(self, MainWindow):
self.scrollAreaSystemPostFilters.setAlignment(Qt.AlignLeading|Qt.AlignLeft|Qt.AlignTop)
self.scrollAreaWidgetContentsSystemPostFilters = QWidget()
self.scrollAreaWidgetContentsSystemPostFilters.setObjectName(u"scrollAreaWidgetContentsSystemPostFilters")
self.scrollAreaWidgetContentsSystemPostFilters.setGeometry(QRect(0, 0, 590, 396))
self.scrollAreaWidgetContentsSystemPostFilters.setGeometry(QRect(0, 0, 391, 383))
sizePolicy8.setHeightForWidth(self.scrollAreaWidgetContentsSystemPostFilters.sizePolicy().hasHeightForWidth())
self.scrollAreaWidgetContentsSystemPostFilters.setSizePolicy(sizePolicy8)
self.gridLayoutGlobalUserFilters_4 = QGridLayout(self.scrollAreaWidgetContentsSystemPostFilters)
Expand Down Expand Up @@ -3517,7 +3517,7 @@ def setupUi(self, MainWindow):
self.scrollAreaSystemOptions.setWidgetResizable(True)
self.layoutScrollAreaSystemOptions = QWidget()
self.layoutScrollAreaSystemOptions.setObjectName(u"layoutScrollAreaSystemOptions")
self.layoutScrollAreaSystemOptions.setGeometry(QRect(0, 0, 573, 1000))
self.layoutScrollAreaSystemOptions.setGeometry(QRect(0, 0, 423, 1064))
sizePolicy8.setHeightForWidth(self.layoutScrollAreaSystemOptions.sizePolicy().hasHeightForWidth())
self.layoutScrollAreaSystemOptions.setSizePolicy(sizePolicy8)
self.verticalLayout_22 = QVBoxLayout(self.layoutScrollAreaSystemOptions)
Expand Down Expand Up @@ -4424,16 +4424,13 @@ def retranslateUi(self, MainWindow):
#endif // QT_CONFIG(tooltip)
self.checkBoxGlobalOptionsIncludeHashless.setText(QCoreApplication.translate("MainWindow", u"Include titles without hashes or sizes specified in input DAT files", None))
#if QT_CONFIG(tooltip)
self.checkBoxGlobalOptionsPreferRegions.setToolTip(QCoreApplication.translate("MainWindow", u"By default, if a title from a higher priority region doesn't support\n"
"your preferred languages but a lower priority region does, Retool\n"
"selects the latter. This option disables this behavior, forcing\n"
"strict adherence to region priority regardless of language support.\n"
self.checkBoxGlobalOptionsPreferRegions.setToolTip(QCoreApplication.translate("MainWindow", u"By default, region priority is treated as lower than language priority. This is so you get\n"
"titles you can understand, along with region-exclusive supersets that contain more\n"
"content.\n"
"\n"
"This option also overrides similar behavior in superset selection,\n"
"which means you might get a title that was released in your\n"
"preferred region that has less content, instead of one that was\n"
"released in another region that contains more content and supports\n"
"your preferred languages.", None))
"This option forces strict adherence to region priority regardless of language support and\n"
"superset status. You might get titles with languages you don't understand, or that have\n"
"less content.", None))
#endif // QT_CONFIG(tooltip)
self.checkBoxGlobalOptionsPreferRegions.setText(QCoreApplication.translate("MainWindow", u"Prefer regions over languages", None))
#if QT_CONFIG(tooltip)
Expand Down Expand Up @@ -4872,16 +4869,13 @@ def retranslateUi(self, MainWindow):
#endif // QT_CONFIG(tooltip)
self.checkBoxSystemOptionsIncludeHashless.setText(QCoreApplication.translate("MainWindow", u"Include titles without hashes or sizes specified in input DAT files", None))
#if QT_CONFIG(tooltip)
self.checkBoxSystemOptionsPreferRegions.setToolTip(QCoreApplication.translate("MainWindow", u"By default, if a title from a higher priority region doesn't support\n"
"your preferred languages but a lower priority region does, Retool\n"
"selects the latter. This option disables this behavior, forcing\n"
"strict adherence to region priority regardless of language support.\n"
self.checkBoxSystemOptionsPreferRegions.setToolTip(QCoreApplication.translate("MainWindow", u"By default, region priority is treated as lower than language priority. This is so you get\n"
"titles you can understand, along with region-exclusive supersets that contain more\n"
"content.\n"
"\n"
"This option also overrides similar behavior in superset selection,\n"
"which means you might get a title that was released in your\n"
"preferred region that has less content, instead of one that was\n"
"released in another region that contains more content and supports\n"
"your preferred languages.", None))
"This option forces strict adherence to region priority regardless of language support and\n"
"superset status. You might get titles with languages you don't understand, or that have\n"
"less content.", None))
#endif // QT_CONFIG(tooltip)
self.checkBoxSystemOptionsPreferRegions.setText(QCoreApplication.translate("MainWindow", u"Prefer regions over languages", None))
#if QT_CONFIG(tooltip)
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "Retool"
version = "2.03.0"
version = "2.03.1"
description = "A better filter tool for Redump and No-Intro DATs"
readme = "readme.md"
requires-python = ">=3.10"
Expand Down
Loading

0 comments on commit 928bfae

Please sign in to comment.