Astrabit-ST / Luminol

An RPG Maker XP-VX Ace rewrite, written in Rust with love 💕
https://luminol.dev/
GNU General Public License v3.0
95 stars 11 forks source link

Update to alox-48 0.5.0 #128

Closed Speak2Erase closed 1 month ago

Speak2Erase commented 1 month ago

Connections Nothing documented here, but this addresses some really annoying issues

Description This PR updates Luminol to alox-48 0.5.0. 0.5.0 isn't based on serde, so it's a lot more reliable. There's no more weird specialization hacks (thank god) that break when using any non-alox serializer/deserializer. alox-48 now doesn't use a nightly feature, so we can actually start using stable rust!

Aside from that, alox breaking away from serde means that it'll be a lot easier to support formats other than marshal in the future! We won't have to rely on weird hacks like #[serde(with = "id")] or #[serde(with = "optional_path")] anymore for serde formats because we won't be constrained to make code that is both compatible with marshal and json.

For now I've left said hacks in. We might want to keep them in anyway to make it easier to be compatible with rmxp_extractor?

Testing I've opened several different projects and edited and then saved maps inside them. I ran a couple of tests that would go through some sample rxdatas I pulled from a few different projects that would load and then immediately save the rxdata. They all passed

Checklist