Jump to content

(Linux) Less buggy SCML compiler?


CodeCube

Recommended Posts

I am using the linux build of the Don't Starve modding tools. I have not been able to pinpont the cause, but some animations I compile with it have parts of the animation sliding around. The original SCML is fine, but if I decompile the built animation, it appears very weird. Is there a way to prevent this, or another SCML compiler that is less buggy? I am attaching the original and decompiled projects.

Soul Transfuser.zip

Link to comment
Share on other sites

I am using the linux build of the Don't Starve modding tools. I have not been able to pinpont the cause, but some animations I compile with it have parts of the animation sliding around. The original SCML is fine, but if I decompile the built animation, it appears very weird. Is there a way to prevent this, or another SCML compiler that is less buggy? I am attaching the original and decompiled projects.

 

It's not an issue with the decompiler, it's an issue with the compiled projects.

 

See the documentation for the source code for it.

Link to comment
Share on other sites

Apparently I wasn't very clear, sorry about that. I forgot to mention that they are appearing weird in the game as well, so I wanted to know if it was a problem with the game or with the compiler. I decompiled it and, since it was corrupted there, I determined that it was a problem with the compiler. Also, to get the linux modding tools, I downloaded the source from GitHub and compiled it. Do you know of any way to fix the problem I'm having? My hypothesis is that it has to do with values the compiler doesn't know what to do with. E.G. one time I changed the alpha of a spite, and it caused another sprite in the animation to slide around very oddly.

Link to comment
Share on other sites

Note one thing: modtools were built to support spriter b5 free, later updated to support changes in spriter b7 or whichever changed/removed the key data. They do not support new spriter features nor spriter pro features. Your issues might be something specific to spriter release changes - tho the scml looks fine to me looking from b8 that doesn't mean it's fine enough for modtools.

 

Now to the matter at hand, the scml file is... weird. Resaving it under b8 doesn't fix the weirdness either. Look under open animation

 

<animation id="3" name="open" length="250" interval="100">            <mainline>                <key id="0" curve_type="cubic" c1="0" c2="1">                    <object_ref id="0" timeline="2" key="0" z_index="0"/>                    <object_ref id="1" timeline="0" key="0" z_index="1"/>                    <object_ref id="2" timeline="1" key="0" z_index="2"/>                </key>                <key id="1" time="12" curve_type="cubic" c1="0" c2="1">                    <object_ref id="0" timeline="2" key="0" z_index="0"/>                    <object_ref id="1" timeline="0" key="2" z_index="1"/>                    <object_ref id="2" timeline="1" key="0" z_index="2"/>                </key>                <key id="2" time="124" curve_type="cubic" c1="0" c2="0.995215">                    <object_ref id="0" timeline="2" key="1" z_index="0"/>                    <object_ref id="1" timeline="0" key="4" z_index="1"/>                    <object_ref id="2" timeline="1" key="1" z_index="2"/>                </key>            </mainline>            <timeline id="0" name="StandFull">                <key id="0" spin="0">                    <object folder="0" file="0" x="-101.242236" y="300" angle="0"/>                </key>                <key id="1" time="12" spin="0">                    <object folder="0" file="0" x="-101.051714" y="300.16954" pivot_x="0" pivot_y="1" angle="0" scale_x="0.998221" scale_y="1.000564"/>                </key>                <key id="2" time="12" spin="0">                    <object folder="0" file="0" x="-1.598157" y="0.498621" pivot_x="0.498154" pivot_y="0.00166" angle="0" scale_x="0.998221" scale_y="1.000564"/>                </key>                <key id="3" time="124" spin="0">                    <object folder="0" file="0" x="-0.739569" y="0.534774" angle="0" scale_x="0.88401" scale_y="1.036778"/>                </key>                <key id="4" time="124" spin="0">                    <object folder="0" file="0" x="-88.814193" y="311.051859" angle="0" scale_x="0.88401" scale_y="1.036778"/>                </key>            </timeline>

 

basically you have 2 keys under same time with totally different coordinates. I have no idea why it did it or wether its some new bug or feature but... I'd say that is what's buggy, not scml compiler. Note that key referenced are actually WRONG ones (key2 not key1, look at its x/y). So modtools did exactly what spriter file said, the sliding is caused by spriter bug, and spriter is buggy for showing the non-messed up version instead of the one it actually saved Changing timeline id 0 to remove duplicate keys and animation to reference proper keys has fixed the sliding for me, at least according to krane.

 

Attaching the modified scml (its just the scml file the rest is untouched)

soul_transfuser.zip

 

I haven't seen this happen before, maybe I was just lucky, or maybe its r1 or linux spriter version bug, perhaps you could try downgrading? Then again I haven't exactly read through every line of generated files either, as long as they work... no idea.

 

EDIT: or maybe its cubic that is causing double keys? But that still doesn't explain the key referenced being totally wrong and spriter pretending it's not.

Link to comment
Share on other sites

I am using the linux build of the Don't Starve modding tools. I have not been able to pinpont the cause, but some animations I compile with it have parts of the animation sliding around. The original SCML is fine, but if I decompile the built animation, it appears very weird. Is there a way to prevent this, or another SCML compiler that is less buggy? I am attaching the original and decompiled projects.

Hi there, seeing as I'm the one who wrote krane and ported the modtools to Linux, I thought I'd provide some input here, though I'm mostly reinforcing what @DeathDisciple said. The duplication of timeline keys seems to be the issue here. I'm not sure why Spriter did that, or even what that's supposed to represent, but the scml compiler would certainly malfunction on that input. Additionally, the compiler supports neither cubic interpolation (only linear) nor animation level alpha (only texture level alpha).

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

Please be aware that the content of this thread may be outdated and no longer applicable.

×
  • Create New...