Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

SpineSlotExt

A GameMaker Studio extension allowing the runtime manipulation of slot colour, alpha and collisions on Spine skeletons. · By rIKmAN

Latest Runtime Feed (2.3.7.474) / Extension Error

A topic by Animacio created Dec 08, 2021 Views: 295 Replies: 7
Viewing posts 1 to 6

Hi rIKmAN,

The new runtime finally implemented Spine 4.0 imports. Unfortunately, SpineSlotEXT no longer works with the new ide and runtime.

Thanks, Ivan

Error Code:

unable to convert string "r:Linear" to number

 at gml_Script_sse_skeleton_atlas_load (line 54) - var atlas_width = real(string_copy(str, 1, pos - 1));

############################################################################################

gml_Script_sse_skeleton_atlas_load (line 54)

gml_Script_scrSkeleton_with_collisions (line 12) - sse_skeleton_atlas_load(atlas_path, filter_name)

gml_Object_oPlayer_Create_0 (line 9)

Developer

Hi Ivan,

The error you posted is because the format of the json file Spine exports has changed, likely due to new features and data added/removed in the Spine v4 export format.

However the functions in SpineSlotExt were added natively into GMS2 way back in v2.2.2, so it is no longer needed in any versions of GMS2 later than that as the functions the extension added (ie. slot colouring) are now "built-in" and a native part of GML and can be found in the manual here.

This information is also noted at the top of the main page.

Thank you rIKmAN for the fast reply.

 Yes, have modified the atlas file, but could not fully succeed.

Good to know about the native implementation since2.2.2 

Will remove your extension and rely on the built in functions, scripts. Thanks, Ivan

Developer

No problem Ivan!

For versions later than v2.2.2 using the native functions is definitely what I'd recommend as it will give better performance than the extension which is written in standard GML.

Swapping over the function calls shouldn't be too difficult as when YYG added the support natively they named their functions pretty similarly to the sse_ function names I added with the extension.

Good luck! :)

Thank you for your response. Yes kept your script, functions and objects and re-wrote them for compatibility with native spine extension. 

Only part of the script that I cannot convert or implement is "skeleton_update_draw"

Thanks, Ivan

Developer (2 edits)

Hi Ivan,

Do you mean sse_skeleton_update_draw_data()?

If so, you don't need to convert that as it just passed color/alpha information through the extension, the native functions handle all this behind the scenes now so it isn't needed.

In fact you shouldn't need to use SpineSlotExt at all if you are using v2.3.7 as everything can (and should!) now be done using the native GML functions that were added since the v2.2.2 update.