OpenSRProject / OpenStarRuler-Modpack

OpenSR Modpack - An optional collection of bug fixes and non-gameplay changing improvements
Other
6 stars 3 forks source link

Fix "Pin Object Floating" not getting saved #7

Closed EngineOfDarkness closed 3 years ago

EngineOfDarkness commented 3 years ago

The game has a feature called "Pin Object / Pin Object Floating" with two possible modes

Having an Object (e.g. Ship) active and (assuming default keybinds)

  1. pressing "p" opens a popup for said object which always stays on the players screen and can be dragged elsewhere
  2. pressing "Shift + p" opens a popup for said object in "floating" mode, which means it does not stay on the screen all the time because it is tied to the Object and thus also follows the object around (if the object moves)

The second Mode was partially broken, because the "floating" does not get saved and thus is it's just a normal popup (first mode)

The Popup itself is in fact still there, well at least if it was "on screen" when you saved. I haven't checked but I think Popups that are off screen at the time of saving still exist, just outside of the players view (because if the Floating Mode is not set, then the position of the Popup can cause it to be positioned offscreen forever basically)

In both Videos I show both modes and you can see that the second mode breaks on load in vanilla SR2

Video showing the Bug: https://youtu.be/AK6QosbtePs Video Showing the Fix: https://youtu.be/Q5pQLri2x9w

Savegame related disclaimer

As it stands right now this fix breaks old saves. I'm not sure how you handle this with regards to your mod version (on my old Repo I simply abridged Semantic Versioning for it so users (be it mod authors or endusers) knew what to expect if updating was to happen.

I looked through the games code and saw something resembling version checks in some "load" methods (e.g. if(file >= SV_0157)) so if forward savegame compatibility is a requirement I could try and see if this can be used that way.

Further Information

Important Note about the feature itself

This does not fix a savegame corruption issue with this feature I just found today (tested in vanilla, without my fix).

So it's best to avoid this feature like the plague for now if you don't want to have a corrupt savegame.

I'll open a new issue for that.

DaloLorn commented 3 years ago

Oh, neat. I didn't know that was a thing.

About save compatibility: I've historically operated under the assumption that every new release broke old saves for any of my mods. Whether the MP will try to be different is not something that has previously been discussed.