SkyTemple Randomizer Changelog

What's new in SkyTemple Randomizer 2.0.0

Apr 25, 2024
  • NEW FEATURES:
  • Completely new UI based on GTK 4 and Adwaita. This new UI is much easier to use and navigate and supports small screens.
  • SkyTemple Randomizer is now localized into multiple languages. German is fully localized. Thank you to all our localizers!
  • ROMS are now loaded before randomization begins. Things like a list of Pokémon and dungeon are pulled from the loaded ROM.
  • An experimental release for MacOS ARM is now available.
  • Added a completely new algorithm to replace text, which is more conservative in what it replaces, aiming to replace less wrong/unrelated texts. This is the new default. Thanks to @in2erval.
  • Added a "Blind Items" and a "Blind Moves" mode. These modes hide item and move details. In these modes the player will have to figure out what item/move does what.
  • IMPROVEMENTS:
  • Options not supported by the current ROM are now not shown in the UI (eg. text randomization for JP ROMs)
  • Dependencies have been updated and Python 3.12 is supported.
  • Some settings can be imported and exported from CSV, test and XML files.
  • A lot of under the hood improvements for MacOS and Windows support.
  • Added SpriteCollab license credits to the info NPCs on Crossroads.
  • The "FixEvolutionGlitch" patch is now always applied. Thanks to @Chesyon.
  • The "ExtraSpace" patch has been updated to 0.3.0 (thanks to @tech-ticks). Overlay 36 is now loaded ealier in the game's boot process, which means that patches which need it very early can now utilize Overlay 36.
  • BUG FIXES:
  • Fixed the Randomizer trying to save scripts that don't exist when switching between ROMs
  • The "CompleteTeamControl" patch was updated to version 1.2.5 by @Adex-8x, fixing the following issue:
  • When using Complete Team Control, if you attempted to use an Orb with an ally who wasn't originally the leader, the game would still recalculate the potential targets surrounding them. This has the noticeable impact of an ally using an Orb in an unintended direction from where they're currently facing.
  • MISC:
  • SkyTemple Randomizer has a command line interface now. This is only available when installing SkyTemple Randomizer from source. See README and documentation.

New in SkyTemple Randomizer 1.6.5 (Apr 1, 2024)

  • Improvements:
  • Updated a lot of libraries SkyTemple uses.
  • Added a success message when ASM code has been imported for effects (thanks to @Chesyon).
  • Updated localizaions.
  • Prevent being able to endlessly zoom in and out in a lot of places.
  • Added a help button to the top of the main window that will open up a relevant wiki page for the currently open view.
  • A lot of under the hood changes in preparation for SkyTemple 2.0 (preparation for GTK 4 migration). If something breaks, sorry! Please report any errors.
  • Bugfixes:
  • Fixed parameter help popup for back_SetEffect and back2_SetEffect. The parameters were flipped (thanks to @Chesyon).
  • Fixed some map backgrounds for rest rooms not rendering for some dungeon mappings.
  • Fixed game debug logging not formatting parameters correctly in the debugger (thanks to @tech-ticks).
  • Fixed backgrounds (BGP) being corrupted when imported with native file handlers enabled.
  • Fixed potential memory corruption with monster data when using native file handlers.
  • Fixed the link to Crowdin in the settings (thanks to @Adex-8x).
  • Prevent empty user feedback from being submit when reporting errors.

New in SkyTemple Randomizer 1.6.3 (Jan 13, 2024)

  • Improvements:
  • The description of some fixed room actions was improved (thanks to @End45)
  • The import/export buttons for Pokémon sprites are now grayed out if the Pokémon has an invalid sprite ID assigned (the button to add a new sprite is still available).
  • Bugfixes:
  • Fixed a bug introduced in 1.6.2 that prevented adding new Pokémon sprites.
  • Actually fixed the issue affecting tile corruption with trap and item sprites
  • Fixed an issue where tileset 81 was not able to be loaded with "Native File Handlers" enabled and fixed related potential tileset corruption issues
  • The CompleteTeamControl patch was updated to version 1.2.5 by @Adex-8x, fixing the following issue:
  • When using Complete Team Control, if you attempted to use an Orb with an ally who wasn't originally the leader, the game would still recalculate the potential targets surrounding them. This has the noticeable impact of an ally using an Orb in an unintended direction from where they're currently facing.

New in SkyTemple Randomizer 1.6.2 (Jan 8, 2024)

  • NEW FEATURES:
  • The NegativeEnemyDensity patch has been added (thanks to @End45):
  • Makes negative enemy density values work as intended (the absolute value of the density is used, without adding a random variation).
  • IMPROVEMENTS:
  • The ExtraSpace patch has been updated to 0.3.0 (thanks to @tech-ticks). Overlay 36 is now loaded ealier in the game's boot process, which means that patches which need it very early can now utilize Overlay 36.
  • The documentation (auto completions) for Explorerscript operations have been improved to match our wiki (thanks to @cheyson).
  • Some help texts in the UI have been improved (thanks to @End45).
  • BUG FIXES:
  • Crashes under Windows have been fixed when running SkyTemple on PCs with certain locales installed.
  • An internal error message has been replaced with a proper error message when trying to load a file that is not a ROM as a ROM
  • Fixed a bug where DTEF XML files could not be selected for import under some MacOS versions.
  • A game crash has been fixed that occurred if DungeonInterrupt and ExternalizeWazaFile were applied under certain circumstances (thanks to @Adex-8x). The fix can be applied by re-applying DungeonInterrupt.
  • The WaitBack2Effect ExplorerScipt operation has been renamed from WaitBack2Effec (typo). The old spelling will continue to work until SkyTemple 1.7.
  • The autocompletion for back_SetBackEffect has been fixed to properly only contain one argument.
  • A bug has been fixed that caused some trap and item sprites to contain flipped 8x8 sections when importing.
  • An attempt was made to fix a rare issue when debugging.
  • Fixed an issue that caused the mission restriction file not being updated when the ExtractDungeonData patch was applied, breaking the SkyTemple UI (this was auto-corrected by re-opening the project).
  • Fixed an internal error when trying to import a sprite for a Pokémon with an invalid sprite ID configured. A proper error message is now shown.
  • Improved an internal error message when trying to import non-indexed images where indexed images are required.
  • An issue was solved where some older DTEF packages were no longer imported into SkyTemple 1.6.0 and the tile importing algorithm otherwise failed in some cases.

New in SkyTemple Randomizer 1.6.0 (Nov 27, 2023)

  • NEW FEATURES:
  • SkyTemple is now compatible with the Japanese ROM. To make this happen, a lot of people (most notably @Adex-8x and @Laioxy) have put in a lot of work to update symbols, patches and string lists.
  • Not all patches are compatible yet and generally this support is currently considered to have "beta" stability. Please report any issues.
  • "Japanese" can now be selected as localization for the SkyTemple UI. Thank you to our Japanese translators!
  • The spawn weight of monsters inside of Monster Houses can now be specified separately. By default it will be linked to the normal/main spawn weight.
  • Pokémon data can now be exported into XML files all at once.
  • Scenes can now be imported and exported.
  • SkyTemple now has a plugin system. Developers can create their own plugins to extend SkyTemple. See the wiki and blog post for more information.
  • Information on how to edit music in the game via SkySongBuilder has been added.
  • New patches have been added (all thanks to @Adex-8x):
  • AddKeyCheck
  • Disallows a party member from using a Key (Item ID 182) in the dungeon menu unless they're standing right below a Key Door.
  • ChangePortraitMidText
  • Implements the text tag [FACE:X], where "X" is the new portrait emotion ID to change the currently-loaded portrait to. This works in ground and dungeon mode, and will default to the default (FACE_NORMAL) portrait if the specified portrait emotion cannot be found.
  • DisplayScriptVariable
  • Implements the text tag [var:x:y], where "x" is a script variable ID and "y" (optional; will default to 0 if not present) is an index. The text tag will be replaced with the value of the specified script variable.
  • IMPROVEMENTS:
  • The emulator integration into the Script Engine Debugger has been completely rewritten. It is now much faster than before.
  • Added a hint to all Pokémon entries that do not have stats and/or moves to let the user know that these Pokémon can not safely be used in dungeons.
  • The unknown fields unk13 and unk15 for move data have been renamed to reflect their actual meaning and a description has been added.
  • unk13 is now a toggle that controls if the AI will use the move on frozen targets
  • unk15 is now named to explain that it's value is used to determine what range text to show in the move's description.
  • Tilequant (the tool to convert images) was updated! It now allows more advanced control over color and tile clustering to tweak the result.
  • The dungeon tilesets, dungeon backgrounds and regular backgrounds code has now been migrated to Rust. If you have "Native File handlers" enabled (default) the new Rust implementation is now used. This implementation is much faster than before.
  • If you run into issues, please report them. You can switch to the old implementation by disabling native file handlers in the settings, but this will turn off all fast implementations.
  • pmdsky-debug has been upgraded to v0.8.0+aa4b72a473.
  • The abilities dropdown now allows selecting all theoretically possible abilities, even those not implemented by default (thanks to @ShiningDeneb)
  • The "FixMemorySoftlock" patch has been upgraded to v2.1 (thanks to @End45):
  • Updates the FixMemorySoftlock patch to a new version. The patch will now prevent crashes caused by the game running out of memory by replacing the sprite that can't be loaded with a default preloaded sprite. This should fix all the cutscene crashes caused by memory errors.
  • Tracking: If you opted into tracking, we now track the number of users actually using each version of SkyTemple. This helps us understand how fast people move to new versions and get a feeling for what versions people may have issues upgrading to, so we can look into potential issues. It also gives us a feeling for how much pre-releases are actually tested.
  • API: Patches can now define parameters what are used only for certain game editions.
  • The debugging flags in the SkyTemple Script Engine Debugger are now properly named to mark that they intend to toggle (thanks to @End45).
  • Abilities and Type names are now always read from the ROM.
  • The "AddTypes" patch was updated so that it now supports setting a type for "Conversion 2" when applying it (thanks to @Adex-8x).
  • The "CompleteTeamControl" patch can now be localized (thanks to @Adex-8x)
  • The "PitfallTrapTweak" patch now hides the UI when going back a floor (thanks to @Adex-8x).
  • The definition of script variables is now read from ROM instead of being hardcoded.
  • Breaking change: If you have modified script variable names in your ROM, loading the ROM in SkyTemple and editing already decompiled and/or modified script might lead to errors on save due to unknown variable names. You need to change the names of the variables to match their new names.
  • There are no plans for this to be editable in SkyTemple, since editing the script variable definitions is likely to just break the existing game scripts and requires much care.
  • When errors occur you can now submit additional information that will help us fix the issue.
  • The arm7 binaries can now be patched (thanks to @adakite1)
  • BUG FIXES:
  • Fixed a uncaught exception in rare circumstances when loading portraits in the editor.
  • Fixed that the dungeon preview feature did not auto-update when changing most text fields.
  • Fixed the Text Strings CSV export file sometimes containing extra line breaks under Windows.
  • Fixed the MacOS version not having background illustrations.
  • Fixed the "Error Details" button not working in some circumstances.
  • Under Windows SkyTemple will now no longer remember the window size when being maximized, which previously resulted in SkyTemple launching in a window that was covering the entire screen but wasn't actually maximized. Thanks to @Emboarger.
  • SkyTemple can now load Pokémon with unused abilities when using the "Native File Handlers".
  • Issues with sprite and portrait downloads under Windows were fixed by changing the download to use HTTP.
  • Patches bundled with SkyTemple now use the same string codec as the game when they manipulate the Text Strings (relevant for JP compatibility).
  • The "AddTypes" patch was fixed to restore the default behaviour of "Normal -> Ghost" and "Fighting -> Ghost" matchups (thanks to @Adex-8x).
  • An issue with a hook address for the "ActorAndLevelLoader" patch for the EU version was fixed (thanks to an anonymous contributor).
  • A rare bug has been fixed that resulted in the level list not being read correctly for ROMs with the "ActorAndLevelLoader" patch
  • Fixed that updating a Pokémon's name always only updated in the UI when the English name was edited, even if the EU/JP ROM was used and the UI was configured to use a language supported by the ROM.
  • Fixed various issues with importing certain Pokémon sprites (thanks to @scbroede).
  • INTERNAL:
  • The loglevel of SkyTemple can now be adjusted with the environment variable SKYTEMPLE_LOGLEVEL, defaulting to info level.
  • Uses of pkg_resources have been replaced with the new importlib counterparts.
  • Some internal error reporting and the Sentry integration have been improved.
  • Deprecated API functionality that was announced to be removed in SkyTemple 1.6 will now be removed in 1.7 instead.
  • The app is now launched as a proper GtkApplication.
  • In preparation to a future GTK4 migration the view system for modules has been changed and PyGObject typestubs are now properly used and checked. See the blog for more information.
  • We have migrated from setup.py to pyproject.toml for the Python package (PEP 621, PEP 508, PEP 518).

New in SkyTemple Randomizer 1.6.0 RC 1 (Oct 1, 2023)

  • NEW FEATURES:
  • SkyTemple is now compatible with the Japanese ROM. To make this happen, a lot of people (most notably @Adex-8x and @Laioxy) have put in a lot of work to update symbols, patches and string lists.
  • Not all patches are compatible yet and generally this support is currently considered to have "beta" stability. Please report any issues.
  • "Japanese" can now be selected as localization for the SkyTemple UI. Thank you to our Japanese translators!
  • The spawn weight of monsters inside of Monster Houses can now be specified separately. By default it will be linked to the normal/main spawn weight.
  • Pokémon data can now be exported into XML files all at once.
  • SkyTemple now has a plugin system. Developers can create their own plugins to extend SkyTemple. See the wiki and blog post for more information.
  • IMPROVEMENTS:
  • The emulator integration into the Script Engine Debugger has been completely rewritten. It is now much faster than before.
  • Added a hint to all Pokémon entries that do not have stats and/or moves to let the user know that these Pokémon can not safely be used in dungeons.
  • The unknown fields unk13 and unk15 for move data have been renamed to reflect their actual meaning and a description has been added.
  • unk13 is now a toggle that controls if the AI will use the move on frozen targets
  • unk15 is now named to explain that it's value is used to determine what range text to show in the move's description.
  • Tilequant (the tool to convert images) was updated! It now allows more advanced control over color and tile clustering to tweak the result.
  • The dungeon tilesets, dungeon backgrounds and regular backgrounds code has now been migrated to Rust. If you have "Native File handlers" enabled (default) the new Rust implementation is now used. This implementation is much faster than before.
  • If you run into issues, please report them. You can switch to the old implementation by disabling native file handlers in the settings, but this will turn off all fast implementations.
  • pmdsky-debug has been upgraded to v0.8.0+aa4b72a473.
  • The abilities dropdown now allows selecting all theoretically possible abilities, even those not implemented by default (thanks to @ShiningDeneb)
  • The "FixMemorySoftlock" patch has been upgraded to v2 (thanks to @End45):
  • Updates the FixMemorySoftlock patch to a new version. The patch will now prevent crashes caused by the game running out of memory by replacing the sprite that can't be loaded with a default preloaded sprite. This should fix all the cutscene crashes caused by memory errors.
  • Tracking: If you opted into tracking, we now track the number of users actually using each version of SkyTemple. This helps us understand how fast people move to new versions and get a feeling for what versions people may have issues upgrading to, so we can look into potential issues. It also gives us a feeling for how much pre-releases are actually tested.
  • API: Patches can now define parameters what are used only for certain game editions.
  • The debugging flags in the SkyTemple Script Engine Debugger are now properly named to mark that they intend to toggle (thanks to @End45).
  • Abilities and Type names are now always read from the ROM.
  • The "AddTypes" patch was updated so that it now supports setting a type for "Conversion 2" when applying it (thanks to @Adex-8x).
  • The "CompleteTeamControl" patch can now be localized (thanks to @Adex-8x)
  • The "PitfallTrapTweak" patch now hides the UI when going back a floor (thanks to @Adex-8x).
  • The definition of script variables is now read from ROM instead of being hardcoded.
  • Breaking change: If you have modified script variable names in your ROM, loading the ROM in SkyTemple and editing already decompiled and/or modified script might lead to errors on save due to unknown variable names. You need to change the names of the variables to match their new names.
  • There are no plans for this to be editable in SkyTemple, since editing the script variable definitions is likely to just break the existing game scripts and requires much care.
  • BUG FIXES:
  • The Script Engine Debugger now no longer freezes when trying to save scripts.
  • Fixed a uncaught exception in rare circumstances when loading portraits in the editor.
  • Fixed that the dungeon preview feature did not auto-update when changing most text fields.
  • Fixed the Text Strings CSV export file sometimes containing extra line breaks under Windows.
  • Fixed the MacOS version not having background illustrations.
  • Fixed the "Error Details" button not working in some circumstances.
  • Under Windows SkyTemple will now no longer remember the window size when being maximized, which previously resulted in SkyTemple launching in a window that was covering the entire screen but wasn't actually maximized. Thanks to @Emboarger.
  • SkyTemple can now load Pokémon with unused abilities when using the "Native File Handlers".
  • Issues with sprite and portrait downloads under Windows were fixed by changing the download to use HTTP.
  • Patches bundled with SkyTemple now use the same string codec as the game when they manipulate the Text Strings (relevant for JP compatibility).
  • The "AddTypes" patch was fixed to restore the default behaviour of "Normal -> Ghost" and "Fighting -> Ghost" matchups (thanks to @Adex-8x).
  • An issue with a hook address for the "ActorAndLevelLoader" patch for the EU version was fixed (thanks to an anonymous contributor).
  • A rare bug has been fixed that resulted in the level list not being read correctly for ROMs with the "ActorAndLevelLoader" patch
  • Fixed that updating a Pokémon's name always only updated in the UI when the English name was edited, even if the EU/JP ROM was used and the UI was configured to use a language supported by the ROM.
  • INTERNAL:
  • The loglevel of SkyTemple can now be adjusted with the environment variable SKYTEMPLE_LOGLEVEL, defaulting to info level.
  • Uses of pkg_resources have been replaced with the new importlib counterparts.
  • Some internal error reporting has been improved.
  • Deprecated API functionality that was announced to be removed in SkyTemple 1.6 will now be removed in 1.7 instead.
  • The app is now launched as a proper GtkApplication.
  • In preparation to a future GTK4 migration the view system for modules has been changed and PyGObject typestubs are now properly used and checked. See the blog for more information.
  • We have migrated from setup.py to pyproject.toml for the Python package (PEP 621, PEP 508, PEP 518).

New in SkyTemple Randomizer 1.6.0 Beta 1 (Sep 19, 2023)

  • NEW FEATURES:
  • SkyTemple now has a plugin system. Developers can create their own plugins to extend SkyTemple. See the wiki and blog post for more information.
  • IMPROVEMENTS:
  • Ability 0x74 is now named Multitype in the UI, as this is the name in the japanese ROM.
  • API: Patches can now define parameters that are used only for certain game editions.
  • The debugging flags in the SkyTemple Script Engine Debugger are now properly named to mark that they intend to toggle (thanks to @End45).
  • Internal: In prepreation to a future GTK4 migration the view system for modules has been changed and PyGObject typestubs are now properly used and checked. See the blog for more information.
  • "Japanese" can now be selected as localization for the SkyTemple UI. Thank you to our Japanese translators!
  • BUG FIXES:
  • SkyTemple can now load Pokémon with unused abilities when using the "Native File Handlers".
  • Issues with sprite and portrait downloads under Windows were fixed by changing the download to use HTTP.
  • Patches bundled with SkyTemple now use the same string codec as the game when they manipulate the Text Strings (relevant for future JP compatibility).
  • A soft-crash has been fixed when trying to add new scenes without the Script Engine Debugger open.

New in SkyTemple Randomizer 1.6.0 Alpha 4 (Sep 3, 2023)

  • This release is based on SkyTemple 1.5.5 + 1.6.0a2 and contains the following changes:
  • BUG FIXES:
  • Fixed the Text Strings CSV export file sometimes containing extra line breaks under Windows.
  • Fixed the MacOS version not having background illustrations.
  • Fixed the "Error Details" button not working in some circumstances.
  • Under Windows SkyTemple will now no longer remember the window size when being maximized, which previously resulted in SkyTemple launching in a window that was covering the entire screen but wasn't actually maximized. Thanks to @Emboarger.
  • IMPROVEMENTS:
  • The dungeon tilesets, dungeon brackgrounds and regular backgrounds code has now been migrated to Rust. If you have "Native File handlers" enabled (default) the new Rust implementation is now used. This implementation is much faster than before.
  • If you run into issues, please report them. You can switch to the old implementation by disabling native file handlers in the settings, but this will turn off all fast implementations.
  • pmdsky-debug has been upgraded to v0.7.0+a0aa596e1c.
  • The abilities dropdown now allows selecting all theoretically possible abilities, even those not implemented by default (thanks to @ShiningDeneb)
  • The "FixMemorySoftlock" patch has been upgraded to v2 (thanks to @End45):
  • Updates the FixMemorySoftlock patch to a new version. The patch will now prevent crashes caused by the game running out of memory by replacing the sprite that can't be loaded with a default preloaded sprite. This should fix all the cutscene crashes caused by memory errors.
  • Tracking: If you opted into tracking, we now track the number of users actually using each version of SkyTemple. This helps us understand how fast people move to new versions and get a feeling for what versions people may have issues upgrading to, so we can look into potential issues. It also gives us a feeling for how much pre-releases are actually tested.

New in SkyTemple Randomizer 1.6.0 Alpha 3 (Sep 3, 2023)

  • Github Actions: Update .pot string index

New in SkyTemple Randomizer 1.5.5 (Aug 25, 2023)

  • BUG FIXES:
  • Fixes a crash when regrouping dungeons and dragging a dungeon onto itself.
  • Fixes a spam of error messages and softlock when enabling palette animations but not sending a frame number or duration for any palette. SkyTemple will now prevent you from doing that.
  • When applying the "ChangeEvoSystem" a better error message is now shown if any of the Pokémon in the Pokémon database has an invalid pre-evolution configured.
  • The japenese ROM of the game is now properly marked as unsupported and a proper error message is shown when trying to load it. We are looking for help getting the JP ROM supported.

New in SkyTemple Randomizer 1.6.0 Alpha 2 (Aug 7, 2023)

  • BUG FIXES:
  • The Script Engine Debugger now no longer freezes when trying to save scripts.
  • Fixed a uncaught exception in rare circumstances when loading portraits in the editor.
  • Fixed that the dungeon preview feature did not auto-update when changing most text fields.
  • IMPROVEMENTS:
  • Added a hint to all Pokémon entries that do not have stats and/or moves to let the user know that these Pokémon can not safely be used in dungeons.
  • The unknown fields unk13 and unk15 for move data have been renamed to reflect their actual meaning and a description has been added.
  • unk13 is now a toggle that controls if the AI will use the move on frozen targets
  • unk15 is now named to explain that it's value is used to determine what range text to show in the move's description.
  • NEW FEATURES:
  • The spawn weight of monsters inside of Monster Houses can now be specified separately. By default it will be linked to the normal/main spawn weight.
  • Pokémon data can now be exported into XML files all at once.
  • INTERNAL:
  • The loglevel of SkyTemple can now be adjusted with the environment variable SKYTEMPLE_LOGLEVEL, defaulting to info level.
  • Uses of pkg_resources have been replaced with the new importlib counterparts.

New in SkyTemple Randomizer 1.5.4 (Jul 9, 2023)

  • Bugfixes:
  • Fixes decompiling scripts no longer working due to a breaking change in the igraph dependency (skytemple-files#378).

New in SkyTemple Randomizer 1.5.3 (Jul 6, 2023)

  • Bugfixes:
  • Fixed a crash introduced in UnusedDungeonChance v0.1.1 that could happen when generating a wall maze room (thanks to @End45)
  • The patch now requires the "ExtraSpace" patch to be applied.

New in SkyTemple Randomizer 1.5.2 (Jul 6, 2023)

  • Bugfixes:
  • Fixed that is was possible to try and import/export animated tiles when no BPA was activated. A proper error explaining this is now shown.
  • Fixed that it was not properly saved if BPAs were enabled or disabled for map backgrounds, causing bugs and inconsistencies in both SkyTemple and the game.
  • Fixed an error "Type error (null)" when SkyTemple reloaded views (eg. after applying sprites or patches) under certain circumstances.
  • Fixed that in the SpriteCollab browser it was possible to select a new entry, while another one was still loading, causing inconsistencies which sometimes required SkyTemple restarts to fix
  • Fixed that few special items in fixed rooms could not be rendered and prevented the room from loading correctly, locking up SkyTemple with a spam of error messages.
  • Fixed that it was possible to import map backgrounds with less than 16 palettes which SkyTemple and the game are not compatible with / not expecting in some cases, leading to crashes in-game and error messages when trying to open the map in SkyTemple.
  • Fixed exporting BPAs that have no tiles.
  • Fixed and improved various internal error reporting.

New in SkyTemple Randomizer 1.6.0 Alpha 1 (Jun 10, 2023)

  • This is a pre-release to test the new emulator integration for the Script Engine Debugger.
  • Improvements:
  • The emulator integration into the Script Engine Debugger has been completely rewritten. It is now much faster than before.
  • New Features:
  • The definition of script variables is now read from ROM instead of being hardcoded.
  • Breaking change: If you have modified script variable names in your ROM, loading the ROM in SkyTemple and editing already decompiled and/or modified script might lead to errors on save due to unknown variable names. You need to change the names of the variables to match their new names.
  • There are no plans for this to be editable in SkyTemple, since editing the script variable definitions is likely to just break the existing game scripts and requires much care.
  • It is recommended that MacOS and Windows users uninstall existing versions of SkyTemple before updating to this version. The same applies for if they decide to downgrade

New in SkyTemple Randomizer 1.5.1 (May 20, 2023)

  • BUG FIXES:
  • Windows: Fixes the app crashing whenever text is copied.
  • Important changes for Windows users:
  • The minimum operation version supported is now Windows 10.
  • There is no longer a 32bit release.
  • Users are recommended to uninstall previous versions (before 1.5.x) before installing this one.
  • Technical background: The app is now built using MSVC and GTK & Python for MSVC, instead of relying on MSys2 MingW. See also the BUILDING_WINDOWS.md document for more info.

New in SkyTemple Randomizer 1.5.0 (May 19, 2023)

  • New Features:
  • NoWeatherStop patch by @End45:
  • "Changes weather damage messages so they don't make the player stop running."
  • Improvements:
  • pmd_wan (the general sprite handling implementation) has been updated to version 5.1.1.
  • If the ROM should somehow exceed it's assigned maximum file size, the cartridge size in the header is now updated, making the ROM still work on original hardware.
  • Sprite import related limitations have been clarified and import has been generally improved (thanks to @marius851000)
  • Bugfixes:
  • Bugfix for BetterEnemyEvolution Patch by @End45:
  • "This fixes a bug in the BetterEnemyEvolution that might cause enemies to level up multiple times after evolving if the "Update the level and stats of evolved enemies" setting is enabled."
  • The UnusedDungeonChancePatch has been renamed to UnusedDungeonChance and updated by @End45 to fix situations where it could lead to un-completable room layouts.
  • Fixed the "sprite size was corrected" popup showing up after applying sprites with the SpriteCollab browser.
  • Fixed the coordinates always being rounded down (#521).
  • Fixed special items in fixed rooms (#506).
  • Fixed not being able to add new BPAs to existing scenes (#533).
  • Fix "Transpot already connected" error sometimes being shown when using the SpriteCollab browser.
  • Important changes for Windows users:
  • The minimum operation version supported is now Windows 10.
  • There is no longer a 32bit release.
  • Users are recommended to uninstall previous versions before installing this one.
  • Technical background: The app is now built using MSVC and GTK & Python for MSVC, instead of relying on MSys2 MingW. See also the BUILDING_WINDOWS.md document for more info.

New in SkyTemple Randomizer 1.4.7 (Mar 13, 2023)

  • NEW FEATURES:
  • PushAllies patch by Anonymous:
  • "Implements pushing allies in dungeons. Uses the same command style as PSMD"
  • BetterEnemyEvolution patch by @End45:
  • "Allows changing how enemy evolution works. In particular, it allows you to choose if the evolved enemy will get the stats and/or moves from its new species, add extra stats after evolving, heal the enemy after evolving or choosing if the evolution will take place even if the target is revived."
  • The random movement chance can now be edited for dungeons (thanks to @End45)
  • IMPROVEMENTS:
  • Added a note the the FixNoCashGbaSaves patch:
  • "Warning: Causes saving to fail on the MelonDS emulator instead."
  • The AI flags for items are now documented, thanks to @End45
  • BUG FIXES:
  • Bugfix for MoveShortcuts Patch by @End45 (0.2.2):
  • "MoveShortcuts 0.2.1 has a minor bug that prevents the player from passing their turn with A+B if their belly is less than 1.0. It only occurs if the leader pokémon struct is not aligned to 4 bytes, and probably only on real hardware and some emulators."
  • Fixes a bug that causes a soft-lock in the AntiSoftlock patch by @End45 (0.1.1):
  • "This fixes a bug that causes a softlock in real hardware and some emulators when A+B is pressed."
  • A false deprecation warning dialog is no longer shown for patches that are configurable
  • Fixed that the switches in the fixed floor editor were no longer working, thanks to @End45

New in SkyTemple Randomizer 1.4.6 (Jan 4, 2023)

  • HOTFIX:
  • Fixed app not working on fresh new installs on Windows.
  • Note: This is the last version that is digitally signed (Windows). Future versions will no longer be signed with a digital certificate.

New in SkyTemple Randomizer 1.4.5 (Jan 2, 2023)

  • HOTFIX:
  • Fixed corruption of background files after applying the ExtraSpace patch in version 1.4.3 (thus making the game crash on the title screen). Made patch reapply-able thanks to @End45).
  • BUG FIXES:
  • Fixed an uncaught error when trying to jump to labels in ExplorerScript. A proper error message is displayed now (yes this fixes the KeyError: 42 error)
  • Fixed a rare issue when ExplorerScript rewrites offsets (thanks to @End45)

New in SkyTemple Randomizer 1.4.3 (Jan 2, 2023)

  • IMPROVEMENTS:
  • The ExtraSpace patch has been updated (SkyTemple/skytemple-files#307, thanks to @End45):
  • This updates ExtraSpace to the latest version, which adds support for static initialization. This allows other projects (like c-of-time) to run initialization code when the overlay is loaded.
  • I also fixed a bug that caused the overlay to be added as an empty file when applying the patch. Since apply() uses the overlay list to export the overlays to the temporary folder where the patch is applied, it skips overlay 36 (because the overlay list hasn't been patched yet at that point), which results in an empty file being written to the temporary folder. This means the overlay that was added to the rom with rom.files.insert() gets overwritten by the one on the temporary folder, resulting in an empty file.
  • This bug hasn't caused any problems until now, so it has gone unnoticed for a long time. Armips supports writing past the end of a file, nobody had to read anything from the file until now and the game doesn't seem to care much about the overlay being empty when it's loaded, so looks like no one noticed.

New in SkyTemple Randomizer 1.4.2 (Nov 16, 2022)

  • BUG FIXES:
  • Fixed that the debug flags and "auto-advance to next floor" options in the debugger weren't working amymore
  • Fixed that the ExpandPokeList patch could not be applied
  • Fixed confusing warnings when applying patches
  • Fixed symbol descriptions being incorrect + updated pmdsky-debug
  • Fixed that when trying to apply sprites via the SpriteCollab browser it would fail if the Pokémon already had the maximum amount of animations
  • Fixed an error message after importing character sprites that had CopyOf animations without indices
  • Fixed "Save as..." not working
  • Fixed the "Created with SkyTemple..." map background script to not save the correct palettes
  • Fixed a rare error in the script main view
  • IMPROVEMENTS:
  • Updated localizations

New in SkyTemple Randomizer 1.4.0 (Nov 6, 2022)

  • Important for the Windows and macOS Versions:
  • Windows users need to install the newest 2022 Visual C++ redistributable since DesMuME has updated their requirements, otherwise the emulator will not work and the script editor will not function correctly: https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170
  • macOS 10 is no longer supported. The minimum version needed is macOS 11.
  • New features:
  • The "Patches" section has been restructured:
  • There is now a subnode there for info on how to write and apply patches with C and Rust using c-of-time.
  • The functionality to apply ASM patches has moved to "Patches > ASM".
  • Applying item, move and special process effects has been moved as subnodes of "Patches > ASM".
  • A section on pmdsky-debug has been added (see below).
  • SpriteCollab Browser:
  • Using this new tool you can now download sprites and portraits from the SpriteCollab/SpriteBot repositories straight from within SkyTemple itself.
  • This also supports copying missing EventSleep/Laying/Waking animations from the Sleep animation so Pokémon don't glitch out in the overworld when they are supposed to sleep.
  • NotSpriteCollab and other custom asset repositories can also be browsed.
  • SkyTemple is now powered by pmdsky-debug, the community's collaborative effort to reverse engineer most of the game's functions and other symbols. The symbols that are shipped with SkyTemple can be browsed in the "ASM" section".
  • New ASM patches (in no particular order):
  • FixNo$GbaSaves by End:
  • "Fixes an issue that causes saving to fail on the No$GBA emulator."
  • PitfallTrapTweak by Adex:
  • "Makes Pitfall Traps send the leader back by one floor in ascending dungeons. If the leader activates a Pitfall Trap on 1F, they will restart 1F with a different seed."
  • ChangePokemonGroundAnim by an anonymous contributor:
  • "Changes implementation of idle animation to an editable table."
  • DynamicBossesEverywhere by End:
  • "Allows placing special fixed room entities #124-127 (Explorer Maze enemies) in any fixed room without causing the game to crash."
  • BoldText by Adex:
  • "Adds new text tags that allow for bold text in strings. Encase the desired text with [BS] and [BR]."
  • ChangeTextSound by Adex:
  • "Adds new text tags that allow for the textbox sound to be changed. [TS:X] will use the Xth sound effect ID in textboxes. [TR] will revert the sound to default."
  • AppraiseAll by an anonymous contributor:
  • "Adds an extra menu in box appraisal to appraise all boxes at once."
  • AntiSoftlock by End:
  • "Allows the player to press A+B+X+Y during cutscenes to force the game to continue past a softlock (this can happen during cutscenes when using custom sprites or the randomizer). Does not work with crashes caused due to internal errors (such as the game running out of memory)."
  • SkyTemple now remembers the sprite configuration for imported sprites (ID to action name mapping). This information is saved into the ROM.
  • BUG FIXES:
  • ROMs no longer get corrupted if SkyTemple crashes while in the middle of saving.
  • The text string groups for Trap Names and Trap Descriptions were fixed (by marius).
  • Some issues with loading scripts with invalid/unknown values for arguments were fixed by an anonymous contributor.
  • Descriptions and labels about some settings in the Fixed Room editor have been fixed by End.
  • Previously changing some IQ settings instead marked the "Misc. Settings" tab as modified. That has been fixed.
  • Fix an error message when reloading the ROM while in Fixed Room view
  • Fixed encoding issues under Windows when exporting/importing floors
  • Fixed an error message when right clicking the debugger file list while filtering
  • Improvements:
  • SkyTemple now shows better error messages when values are entered info fields that are out of the valid range for the given value. The error also usually prints what the supported value ranges are.
  • The quantity of items in fixed rooms can now be edited (thanks to End).
  • ASM patches were updated (in no particular order):
  • ExtractObjectTable was updated by marius to fix data corruption on the EU ROM.
  • MoveShortcuts by End:
  • "MoveShortcuts has been updated to prevent the player from passing turn by holding A+B while the move list is shown, which would cause a minor graphical glitch."
  • CompleteTeamControl patch by Cipnit:
  • "Players are now prevented from changing team tactics during manual mode. For some reason, doing so completely destroys turn order and leadership status."
  • Native file handlers written in Rust are now used by default to process the files in the game, this can be disabled if these implementations cause errors (in the settings)
  • They should be much faster than the old Python-based implementations
  • These file handlers include portraits, map graphics, dungeon graphics, dungeon data, monster data, item data, move data, compression algorithms.
  • Strings in script files are now using the same physical ID if they are identical (thanks to techticks).
  • A lot of under the hood code quality improvements and refactoring.
  • What mechanism is used for asynchronous operations (such as loading files) can now be configured in the settings. The defaults have been tweaked to be more stable and less prone to crash.
  • Localizations have been updated. Thanks to all our translators!
  • Client Side Decorations can be disabled in the settings now.
  • Python 3.11 compatibility
  • Added backwards-compatibility checks to the ASM Patches sections and in general better error handling

New in SkyTemple Randomizer 1.3.11 (Sep 28, 2022)

  • Changes:
  • Updated GtkSourceView from 3 to 4
  • Windows: Upgraded Python to Python 3.10
  • MacOS: Built on macOS 11 (older versions may not be supported anymore), upgraded Python 3.10