Okay getting filters and their offsets working correctly took a bit of work, especially getting it so both the simple (cached) and complex (uncached) drawing methods achieved the same result. Along the way I found a couple of subtle bugs, and learned some stuff, so that’s all good.
Now… next I’m going to update animations in the game to all use the offset system built into the animations now rather than trying to guess, because that sort of guesswork tends to break the first time I want to do something different (like making a spear orient towards the direction it’s moving). This will require me updating a lot of animations to offset themselves in the way that’s most useful to me, which is something I might want to build some tools for. Will figure that out tomorrow.