UndertaleModTool icon indicating copy to clipboard operation
UndertaleModTool copied to clipboard

Add differentiation between LTS and non-LTS builds

Open Jacky720 opened this issue 1 year ago • 4 comments

Description

After the end of October 2022, the GameMaker versions were split into two: LTS and non-LTS. This marked the beginning of the era called "UndertaleModTool breaking for the 400th time".

This PR adds a Branch enum value to GeneralInfo which can be used to differentiate between these versions without causing confusion with UndertaleData.IsVersionAtLeast() (as actually setting the version to 2022.0 would indicate being much older than many of the features therein). It also adds some methods to interact with this, one being UndertaleData.IsNonLTSVersionAtLeast(), and implements its usage in regards to Particle Systems and Spine Sprites, both of which are not present on the current LTS despite other fixes. Closes #1703, closes #1729.

Caveats

Using an enum is theoretically extensible for other branches, but that seems improbable. More likely we'll just get 2024.0 and have to adjust around that; mostly I just don't want to go back to version booleans. The UndertaleData.SetLTS() method is also weird (boolean input), and this all renders the estimated version in the window title completely off. Oh, and it can't be set through the GUI.

Notes

Due to all the caveats (and wanting further input on how to resolve them), I'm marking this as draft.

Jacky720 avatar Apr 22 '24 16:04 Jacky720

Great, it works

gulup avatar Apr 23 '24 06:04 gulup

THIS GIT WORKS WITH THE LATEST ANTON BLAST DEMO!!!

PhantomSlash64 avatar Apr 24 '24 23:04 PhantomSlash64

W pull request

lucasdaweb95 avatar Apr 29 '24 12:04 lucasdaweb95