-
Notifications
You must be signed in to change notification settings - Fork 204
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fixed spine sprites in >= 2023.1 #1677
Fixed spine sprites in >= 2023.1 #1677
Conversation
Submachine Legacy did not work with before changing this.
I fixed the bracket style to Allman |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not a huge fan of just calling it Unknown. Seems to me like it's equivalent to the existing TexBlob length, suggesting the actual location of the TexBlob has moved, and I'd really like to track that down. Did you say that the data.win reserializes 1:1 with these changes?
Last I checked with Submachine: Legacy it was 1 to 1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The change was made between 2022.11 and 2023.1 (most likely in 2023.1 since I don't think there's a .12 release). The blob is indeed moved to the texture entry.
The field is the length of the texture blob. I would rename the variable to reflect this and change the version checks (would be also good to find games that use spine sprites made with 2022.11 and 2023.1 to confirm it works correctly).
bump @XdotCore |
Download the artifacts for this pull request here: GUI:
CLI: |
Since we have determined the unknown value to be the length of the texture entry, I think it would be best to find a game where there is multiple texture entries in the spine sprite >= 2023.1 to test if each UndertaleSpineTextureEntry corresponds 1:1 with the textures in the sprite and in the same order. If that is determined to be true, then it would be best to save the length of the corresponding texture entry by somehow passing that into the UndertaleSpineTextureEntry when the sprite is first unserialized. In response to @BenjaminUrquhart . |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Must have missed the changes, sorry about that!
Submachine Legacy did not work with before changing this.
Description
In gamemaker version past 2023.4, the image data for a spine sprite is held within UndertaleSprite.TextureEntry rather than the UndertaleSpineTextureEntry.
This fixes that by checking the version and populating UndertaleSprite.Textures but excluding UndertaleSpineTextureEntry.TexBlob.
Caveats
Notes
I was able to add this smiley face to the spined flame with this change: