Skip to content

Releases: unexpectedpanda/retool

v2.3.8

06 May 08:19
Compare
Choose a tag to compare
  • Fix (#338): Fixed post filters not working.

v2.3.7

28 Apr 00:53
Compare
Choose a tag to compare
  • Fix: Fixed clone list and internal-config.json minimum version detection.

v2.3.6

27 Apr 08:00
Compare
Choose a tag to compare
  • Feature (#278): You can now choose to prefer the oldest production version of a title instead of the newest.

  • Fix (#308): Budget rereleases are now promoted above original titles with high revisions. For example, Example Title (USA) (PlayStation the Best) is now chosen over Example Title (USA) (Rev 3). This is on the assumption that budget rereleases most likely contain the latest revisions. This was also necessary to implement the oldest version feature properly.

  • Fix: Fixed the flags in the output DAT file filename to reflect system settings when system settings are in use, instead of reflecting global settings.

v2.3.5

26 Apr 22:46
Compare
Choose a tag to compare
  • Fix (#329): Fixed Retool crashing when Prefer titles ripped from modern rereleases was enabled.

  • Change: Because case can change frequently between DAT file revisions, overrides and post filters are no longer case sensitive. This increases convenience, but also means you're more likely to shoot your own foot off with partial and regex matches, so caveat utilitor.

  • Change: The way the version is reported has changed to accommodate dynamic versioning in Hatch. Instead of 2.03.5, Retool now shows 2.3.5.

  • Chore: Lately Windows Defender has been finding false positives on the compiled Windows version of Retool. While there's not much that can be done about this other than marking an exception in Defender on your machine, Python, PyInstaller, and UPX have all been updated in the hope that enough changes have occured to prevent the incorrect alert from happening.

  • Chore: Cleaned up how Retool outputs to screen. Made more use of code page 437 characters to freshen up the look.

  • Chore: Started reorganizing where functions live for future clean up and optimizations. While I don't really expect anyone will go code diving, those who do will find things are stored in an inconsistent fashion until this task is complete.

v2.03.4

08 Apr 21:10
Compare
Choose a tag to compare
  • Change (#324): When you specify --output in a non-interactive terminal, the output is now written to a file, not STDOUT.

  • Fix (#321): If you didn't populate your region priority list with all the regions in a clone list filter, the condition would fail to true, causing odd title selection. This has now been fixed.

v2.03.3

07 Apr 06:55
Compare
Choose a tag to compare
  • Feature: Clone list and metadata updates now use threaded downloads to reduce wait times.

v2.03.2

06 Apr 10:11
Compare
Choose a tag to compare
  • Fix: Fixed Retool falsely thinking CLRMAMEPro DAT files have already been processed.

  • Chore: Updated dependencies. Locked down PySide6 version due to a bug that interferes with testing.

v2.03.1

06 Apr 06:17
Compare
Choose a tag to compare
  • 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.

v2.03.0

06 Apr 00:00
Compare
Choose a tag to compare
  • Feature: Some changes aimed at ROMVault and DATVault users:

    • You can now choose not to add MIA attributes to titles and ROMs from clone lists. This is mainly useful if you're a DATVault subscriber.

    • You can now add a quick import folder through File > Settings. When you click the Add DAT files recursively from your quick import folder button, all DAT files in that folder and its subfolders are loaded into Retool.

    • You can now replace your input DAT files with the Retool version instead of creating new files. Make sure you've backed up your original DAT files first.

    • By default, Retool no longer processes files it has already processed. You can bypass this by going to the Options tab and enabling Allow processing of already processed files.

  • Feature: Thanks to a rewrite of the compilations code and Retool's new testing framework, you can now choose how to handle compilations. There are four modes:

    • Default: Chooses individual titles most of the time. Only chooses compilations when they have a higher region, language, or clone list priority, or contain unique titles. When choosing a compilation for unique titles, if other titles in the compilation have individual equivalents, the individual titles are also included, leading to some title duplication.

    • Prefer individual titles: Chooses individual titles regardless of region, language, and clone list priorities, and discards compilations unless they contain unique games. You're likely to prefer this mode if you use ROM hacks or Retro Achievements. When choosing a compilation for unique titles, if other titles in the compilation have individual equivalents, the individual titles are also included, leading to some title duplication.

    • Keep individual titles and compilations: Ignores the relationship between individual titles and compilations, meaning individual titles are only compared against other individual titles, and compilations against other compilations. This option has the most title duplication.

    • Optimize for least possible title duplication: Beta, not recommended. Prefers compilations to minimize file count. While this mode can save disk space, it can be hard to tell what compilations contain based on their filename. This mode might not choose the most optimal solution when supersets or clone list priorities are involved.

  • Change: In Retool GUI you now set the global output path in the Paths tab.

  • Change: The Unlicensed exclude settings are now more intuitively laid out in Retool GUI, which allows for more granular choices.

  • Change: The u exclude option in Retool CLI no longer includes aftermarket and pirate titles. Instead, set the flags separately for each unlicensed title type: u for (unl), f for (Aftermarket), p for (Pirate).

  • Change: A separator has been placed between the add and remove buttons in RetoolGUI, to reduce accidental clicks and to more cleanly separate functions.

  • Change: A majority of the Retool GUI interface is now disabled during processing to prevent settings changes while the program is working.

  • Change: The open file dialog box now opens at the currently set folder for the specific Retool option you're changing. This reduces needless navigation.

  • Change: Output DAT file headers have been tweaked a little to make replacing and splitting DAT files easier.

  • Change: Thanks to @thiagokokada, entry points have been set up properly for Retool. Additionally, Retool now treats the folder where it lives as the root folder for its relative paths, no matter the current working directory.

    This isn't consequential for Windows users running the EXE file, but to those running the Python scripts directly and launching from the command line, it means instead of navigating to the Retool folder and running python retool.py or python retoolgui.py, if you have your environment set up correctly you can just run retool or retoolgui from anywhere.

    Want to try it out? Clone Retool from the GitHub repo, navigate to the folder it was cloned to, then install it as a package with pip install .. Retool is then installed to your Python scripts folder, and your config files, clone lists, and metadata files are also kept there. Providing that folder is added to your system path, you can now run retool or retoolgui from any folder on the command line.

    There's a caveat: if you do things this way, every time you update Retool you need to run pip install --upgrade . to update the package version too, or you'll see the old version of Retool when you run retool or retoolgui.

  • Change: config/systems/template.yaml is no longer needed, as Retool now generates system config files from scratch.

  • Fix (#320): Compensated for yet another of No-Intro's inconsistent date formats, this time in the (~YYYY-XX-XX) format.

  • Fix (#316): Retool used to try to make another decision if it ultimately chose a bad dump, a preproduction title, or a pirate title. If the user didn't prefer modern titles or preferred licensed titles over unlicensed, it would also try again if it selected a title the user didn't want. This was causing selection errors, particularly when it came to preferring regions over languages. This is now treated as a filter instead of a recovery process and happens earlier, resulting in better title selection.

  • Fix: Fixed the incorrect default region order for system configs, which placed Europe lower than the global default region order.

  • Fix (#317): Fixed user override titles not being excluded from the output DAT file when 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 added DAT files.

  • Fix (#319): Retool now works on Windows Server 2019+.

  • Chore: Removed the (Homebrew) tag from Retool's processing, as No-Intro doesn't use it anymore.

v2.02.2

08 Mar 11:28
Compare
Choose a tag to compare
  • Fix: Ensured MAME Redump DAT files have unique config settings, but load Redump clone lists and metadata (#305).

  • Fix: Fixed titles without regions being assigned a blank set of regions instead of being set to (Unknown). This was most obvious when converting Redump BIOS DAT files.

  • Fix: When outputting a DAT file of removed titles while using legacy parent/clone format, the removes DAT file no longer contains clones found in the legacy parent/clone DAT file.

  • Fix: More reliable sorting of exclusions and user option tags in filenames and descriptions.

  • Fix: If a title is in a <game> or <machine> node, that node is used in the output DAT file (#305).

  • Chore: Style fixes and reduction of unnecessary work across the code base in preparation for building out more comprehensive tests.