You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@grondag does indigo/canvas by any chance fix animated sprite interpolation not interpolating alpha? 👀
i forget where exactly but the code is somewhere in Sprite
interpolated opacity is 👌
i perstered tterrag to implement it in CTM for 1.12
the asm for it is here if you wanna peek https://github.com/Chisel-Team/ConnectedTexturesMod/blob/6bab85ef64b098b9ab854757c3b388f182f60e80/src/main/java/team/chisel/ctm/client/asm/CTMTransformer.java#L192-L220
(dont scroll up if you want to avoid mcp names)
the bytecode is pretty impressive tbh
super clean
i doubt you could get it as high precision as that with a mixin lol
but maybe.. would need to look at the code again
problem is you cant manipulate bitshifts
you might be able to slice and capture mixin-generated locals mid-op :ThinkNoose:
im not sure if youd be able to get into a spot where the local would be visible though.. ive rarely gotten generated locals to capture
i think ive only achieved it once
and it was probably a bug
lol
GrondagToday at 6:58 PM
Canvas doesn't do anything about that. Was not even aware of the bug. If I were going to fix I'd probably just redirect interpolateFrames() altogether and make it a config option.
If I had to do it as a Mixin I'd probably capture the two calls to getFramePixel(), compute my result on the second one, and then hook the call to setPixelRGB and mask in my alpha there. Still a mess.
The text was updated successfully, but these errors were encountered:
Consider fixing, per conversation below:
@grondag does indigo/canvas by any chance fix animated sprite interpolation not interpolating alpha? 👀
i forget where exactly but the code is somewhere in Sprite
interpolated opacity is 👌
i perstered tterrag to implement it in CTM for 1.12
the asm for it is here if you wanna peek https://github.com/Chisel-Team/ConnectedTexturesMod/blob/6bab85ef64b098b9ab854757c3b388f182f60e80/src/main/java/team/chisel/ctm/client/asm/CTMTransformer.java#L192-L220
(dont scroll up if you want to avoid mcp names)
the bytecode is pretty impressive tbh
super clean
i doubt you could get it as high precision as that with a mixin lol
but maybe.. would need to look at the code again
problem is you cant manipulate bitshifts
you might be able to slice and capture mixin-generated locals mid-op :ThinkNoose:
im not sure if youd be able to get into a spot where the local would be visible though.. ive rarely gotten generated locals to capture
i think ive only achieved it once
and it was probably a bug
lol
GrondagToday at 6:58 PM
Canvas doesn't do anything about that. Was not even aware of the bug. If I were going to fix I'd probably just redirect interpolateFrames() altogether and make it a config option.
If I had to do it as a Mixin I'd probably capture the two calls to getFramePixel(), compute my result on the second one, and then hook the call to setPixelRGB and mask in my alpha there. Still a mess.
The text was updated successfully, but these errors were encountered: