Before I share today's pre-release, there are two things I want to remind about, in case you missed them:
- We have a wiki now! We still need help from people to actually fill it with content, but some pagres are already there. Thank you everyone that is contributing!
- Yesterday I posted an update on the current state of support for the japanese ROM and what's needed to get it done. You can read that here.
But now let's talk about today's pre-release
This is probably going to be the last alpha pre-release and currently I expect this to be the last release with bigger changes, although you'll come to see that this time the big changes are mostly under the hood.
Dungeon Graphics & Backgrounds: Rust Implementation
SkyTemple is originally written in Python. While Python is a pretty simple and powerful language, it's also pretty slow, due to be interpreted.
Back in SkyTemple 1.4.0 we introduced the concept of "Native File Handlers", which since are enabled by default (but can be disabled in the settings). When enabled SkyTemple uses a alternative implementations for the code that actually manipulates the files in the ROM, written in Rust, a fast compiled programming language.
In SkyTemple 1.4.0 we introduced Rust for dungeon data, map backgrounds, move data, item data, Pokémon data and other small things. This update now also adds implementations for dungeon tilesets, dungeon backgrounds and general backgrounds.
Since it's a new implementation, it might be a little buggy at first. We tested it, but we didn't test every single edge case. So please give it a try and let us know if you run into any issues! If everything works, you should not notice a difference to before, except for editing dungeon graphics and general backgrounds to be a little bit faster, especially when im- and exporting.
End has updated the FixMemorySoftlock. While this is going to be mostly useful for the upcoming update of the Randomizer, this can also be useful in your own ROMs, as sort of a fail-safe:
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.
Preperations for JP Support
We have updated pmdsky-debug to version v0.7.0+a0aa596e1c which contains a lot of symbols for the japanese ROM of the game, thanks to Laioxy. This brings us a bit closer to supporting the japanese ROM! With your help, maybe we could get JP support ready for version 1.6.0, but there's still a lot to be done, see our previous blog post.
Download and Changelog
You can find the changelog and downloads on our downloads page.
Thanks everyone for your support and for testing this new pre-release!
For 1.6.0 I at least still want to get the wiki ready so that we can add buttons to the UI that will bring you to a help page in the wiki, based on what page you are on.
There's also a GitHub project for all issues I can fesiably see in 1.6.0. As you can see there are quite a bit of features on there, especially related to hardcoded data tables that aren't editable yet. I don't plan to work on any of these for 1.6.0 yet though. So if you want, why not grab the code and add these yourself? Please comment the GitHub issue if you give it a shot, so we don't accidentally end up working on issues at the same time. Even if you are just trying but ultimatively don't end up finishing it, I invite you to give developing for SkyTemple a try and I'm always happy to lend support, just ask on the GitHub issues.
That's all for today! Until next time!