Skip to content

Commit 928bfae

Browse files
v2.03.1
1 parent c657880 commit 928bfae

File tree

13 files changed

+82
-13600
lines changed

13 files changed

+82
-13600
lines changed

changelog.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,15 @@
11
# Retool changelog
22

33

4+
## 2.03.1 (2024-04-06)
5+
6+
- **_Change_**: The **Prefer regions over languages** setting now also overrides
7+
superset selection.
8+
9+
- **_Fix_**: DTD file detection wasn't updated to take into account the new entry point
10+
paths. This didn't matter on Windows, but did affect Linux and MacOS.
11+
12+
413
## 2.03.0 (2024-04-06)
514

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

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

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

docs/changelog.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,15 @@ hide:
66
# Changelog
77

88

9+
## 2.03.1 (2024-04-06)
10+
11+
- **_Change_**: The **Prefer regions over languages** setting now also overrides
12+
superset selection.
13+
14+
- **_Fix_**: DTD file detection wasn't updated to take into account the new entry point
15+
paths. This didn't matter on Windows, but did affect Linux and MacOS.
16+
17+
918
## 2.03.0 (2024-04-06)
1019

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

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

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

docs/includes/sha256.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
89562ab3f22e0e8676566f4327528c1ad68bcaa8fb6baa65e115f671b3bb4441
1+
13b165022650689c220a647524c285bc561c8d569cde48367b0eb50aacd2424a

modules/chooseparent.py

Lines changed: 26 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3214,23 +3214,42 @@ def production_retail(
32143214
'REF0119', [group_name], cross_region_parent_titles, keep_remove=False
32153215
)
32163216

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

32203220
for title_1, title_2 in itertools.combinations(cross_region_temp, 2):
32213221
if (
32223222
title_1.short_name == title_2.short_name
32233223
and title_1 in cross_region_parent_titles
32243224
and title_2 in cross_region_parent_titles
3225-
and not title_1.is_superset
3226-
and not title_2.is_superset
32273225
and 'BIOS' not in title_1.categories
32283226
and 'BIOS' not in title_2.categories
32293227
):
3230-
if title_1.region_priority < title_2.region_priority:
3231-
cross_region_parent_titles.remove(title_2)
3232-
elif title_2.region_priority < title_1.region_priority:
3233-
cross_region_parent_titles.remove(title_1)
3228+
if not config.user_input.region_bias:
3229+
# Leave supersets alone if the user doesn't specify region priority
3230+
if (not title_1.is_superset
3231+
and not title_2.is_superset):
3232+
if title_1.region_priority < title_2.region_priority:
3233+
cross_region_parent_titles.remove(title_2)
3234+
elif title_2.region_priority < title_1.region_priority:
3235+
cross_region_parent_titles.remove(title_1)
3236+
else:
3237+
# Supersets can be removed if the user does specify region priority,
3238+
# except for "World" supersets where USA, Europe, or Japan are involved
3239+
if title_1.region_priority < title_2.region_priority:
3240+
if not ((
3241+
title_1.primary_region == 'USA'
3242+
or title_1.primary_region == 'Europe'
3243+
or title_1.primary_region == 'Japan')
3244+
and title_2.primary_region == 'World'):
3245+
cross_region_parent_titles.remove(title_2)
3246+
elif title_2.region_priority < title_1.region_priority:
3247+
if not ((
3248+
title_2.primary_region == 'USA'
3249+
or title_2.primary_region == 'Europe'
3250+
or title_2.primary_region == 'Japan')
3251+
and title_1.primary_region == 'World'):
3252+
cross_region_parent_titles.remove(title_1)
32343253

32353254
if report_on_match:
32363255
TraceTools.trace_title(

modules/dats.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1115,7 +1115,7 @@ def process_dat(dat_file: str, input_type: str, gui_input: UserInput | None, con
11151115
# Validate against the Logiqx DTD
11161116
if input_dat.is_dtd:
11171117
try:
1118-
with open(pathlib.Path('datafile.dtd')) as dtdfile:
1118+
with open(pathlib.Path(config.retool_location).joinpath('datafile.dtd')) as dtdfile:
11191119
dtd: etree.DTD = etree.DTD(dtdfile)
11201120
failed_check: bool = False
11211121

modules/gui/retool_ui.py

Lines changed: 15 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3256,7 +3256,7 @@ def setupUi(self, MainWindow):
32563256
self.scrollAreaSystemOverrides.setAlignment(Qt.AlignLeading|Qt.AlignLeft|Qt.AlignTop)
32573257
self.scrollAreaWidgetContentsSystemOverrides = QWidget()
32583258
self.scrollAreaWidgetContentsSystemOverrides.setObjectName(u"scrollAreaWidgetContentsSystemOverrides")
3259-
self.scrollAreaWidgetContentsSystemOverrides.setGeometry(QRect(0, 0, 590, 396))
3259+
self.scrollAreaWidgetContentsSystemOverrides.setGeometry(QRect(0, 0, 169, 559))
32603260
self.scrollAreaWidgetContentsSystemOverrides.setMinimumSize(QSize(0, 0))
32613261
self.gridLayoutSystemUserFilters = QGridLayout(self.scrollAreaWidgetContentsSystemOverrides)
32623262
self.gridLayoutSystemUserFilters.setObjectName(u"gridLayoutSystemUserFilters")
@@ -3367,7 +3367,7 @@ def setupUi(self, MainWindow):
33673367
self.scrollAreaSystemPostFilters.setAlignment(Qt.AlignLeading|Qt.AlignLeft|Qt.AlignTop)
33683368
self.scrollAreaWidgetContentsSystemPostFilters = QWidget()
33693369
self.scrollAreaWidgetContentsSystemPostFilters.setObjectName(u"scrollAreaWidgetContentsSystemPostFilters")
3370-
self.scrollAreaWidgetContentsSystemPostFilters.setGeometry(QRect(0, 0, 590, 396))
3370+
self.scrollAreaWidgetContentsSystemPostFilters.setGeometry(QRect(0, 0, 391, 383))
33713371
sizePolicy8.setHeightForWidth(self.scrollAreaWidgetContentsSystemPostFilters.sizePolicy().hasHeightForWidth())
33723372
self.scrollAreaWidgetContentsSystemPostFilters.setSizePolicy(sizePolicy8)
33733373
self.gridLayoutGlobalUserFilters_4 = QGridLayout(self.scrollAreaWidgetContentsSystemPostFilters)
@@ -3517,7 +3517,7 @@ def setupUi(self, MainWindow):
35173517
self.scrollAreaSystemOptions.setWidgetResizable(True)
35183518
self.layoutScrollAreaSystemOptions = QWidget()
35193519
self.layoutScrollAreaSystemOptions.setObjectName(u"layoutScrollAreaSystemOptions")
3520-
self.layoutScrollAreaSystemOptions.setGeometry(QRect(0, 0, 573, 1000))
3520+
self.layoutScrollAreaSystemOptions.setGeometry(QRect(0, 0, 423, 1064))
35213521
sizePolicy8.setHeightForWidth(self.layoutScrollAreaSystemOptions.sizePolicy().hasHeightForWidth())
35223522
self.layoutScrollAreaSystemOptions.setSizePolicy(sizePolicy8)
35233523
self.verticalLayout_22 = QVBoxLayout(self.layoutScrollAreaSystemOptions)
@@ -4424,16 +4424,13 @@ def retranslateUi(self, MainWindow):
44244424
#endif // QT_CONFIG(tooltip)
44254425
self.checkBoxGlobalOptionsIncludeHashless.setText(QCoreApplication.translate("MainWindow", u"Include titles without hashes or sizes specified in input DAT files", None))
44264426
#if QT_CONFIG(tooltip)
4427-
self.checkBoxGlobalOptionsPreferRegions.setToolTip(QCoreApplication.translate("MainWindow", u"By default, if a title from a higher priority region doesn't support\n"
4428-
"your preferred languages but a lower priority region does, Retool\n"
4429-
"selects the latter. This option disables this behavior, forcing\n"
4430-
"strict adherence to region priority regardless of language support.\n"
4427+
self.checkBoxGlobalOptionsPreferRegions.setToolTip(QCoreApplication.translate("MainWindow", u"By default, region priority is treated as lower than language priority. This is so you get\n"
4428+
"titles you can understand, along with region-exclusive supersets that contain more\n"
4429+
"content.\n"
44314430
"\n"
4432-
"This option also overrides similar behavior in superset selection,\n"
4433-
"which means you might get a title that was released in your\n"
4434-
"preferred region that has less content, instead of one that was\n"
4435-
"released in another region that contains more content and supports\n"
4436-
"your preferred languages.", None))
4431+
"This option forces strict adherence to region priority regardless of language support and\n"
4432+
"superset status. You might get titles with languages you don't understand, or that have\n"
4433+
"less content.", None))
44374434
#endif // QT_CONFIG(tooltip)
44384435
self.checkBoxGlobalOptionsPreferRegions.setText(QCoreApplication.translate("MainWindow", u"Prefer regions over languages", None))
44394436
#if QT_CONFIG(tooltip)
@@ -4872,16 +4869,13 @@ def retranslateUi(self, MainWindow):
48724869
#endif // QT_CONFIG(tooltip)
48734870
self.checkBoxSystemOptionsIncludeHashless.setText(QCoreApplication.translate("MainWindow", u"Include titles without hashes or sizes specified in input DAT files", None))
48744871
#if QT_CONFIG(tooltip)
4875-
self.checkBoxSystemOptionsPreferRegions.setToolTip(QCoreApplication.translate("MainWindow", u"By default, if a title from a higher priority region doesn't support\n"
4876-
"your preferred languages but a lower priority region does, Retool\n"
4877-
"selects the latter. This option disables this behavior, forcing\n"
4878-
"strict adherence to region priority regardless of language support.\n"
4872+
self.checkBoxSystemOptionsPreferRegions.setToolTip(QCoreApplication.translate("MainWindow", u"By default, region priority is treated as lower than language priority. This is so you get\n"
4873+
"titles you can understand, along with region-exclusive supersets that contain more\n"
4874+
"content.\n"
48794875
"\n"
4880-
"This option also overrides similar behavior in superset selection,\n"
4881-
"which means you might get a title that was released in your\n"
4882-
"preferred region that has less content, instead of one that was\n"
4883-
"released in another region that contains more content and supports\n"
4884-
"your preferred languages.", None))
4876+
"This option forces strict adherence to region priority regardless of language support and\n"
4877+
"superset status. You might get titles with languages you don't understand, or that have\n"
4878+
"less content.", None))
48854879
#endif // QT_CONFIG(tooltip)
48864880
self.checkBoxSystemOptionsPreferRegions.setText(QCoreApplication.translate("MainWindow", u"Prefer regions over languages", None))
48874881
#if QT_CONFIG(tooltip)

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "Retool"
3-
version = "2.03.0"
3+
version = "2.03.1"
44
description = "A better filter tool for Redump and No-Intro DATs"
55
readme = "readme.md"
66
requires-python = ">=3.10"

0 commit comments

Comments
 (0)