Hi,
There was a recent change tagged as 1.7.08 in github (commit 2b241c3 from 16th Jan) which made the following change in some of the runtimes.
Previously...
worldY = (flipY && flipY != yDown) ? -y : y;
Now...
worldY = flipY != yDown ? -y : y;
I have only just updated my run-time to this version and this change seems to have caused some problems. For XNA the yDown is set to true (which sounds right because the origin is top left). So, I might set the location to be 500, 800 (800 pixels down the screen) and as long as my skeleton is less than 800 pixels tall then it will fit on the screen and not be poking off the top of the screen.
With the recent change (above) where flipY is false but yDown is true the worldY gets set to -800 which means the skeleton is not on screen.
I'm not actually sure what the flipY setting is meant to do? Is the intention that the root bone would stay in the same place but the skeleton would be mirrored in the vertical axis. (e.g. if the root bone was at the feet of the skeleton then setting flipY to true would display the mirror image of the skeleton as if the skeleton was stood on a mirror? Or does it do something else?
I did a few tests...
If I set the flipY to true on the skeleton then indeed the skeleton is mirrored about the root bone as I describe - this works for the old code and the new code in XNA. This makes sense because the code is effectively the same as flipY is true.
However if the flipY is set to false then the old code seems to work correctly (in my eyes) as the root bone location is the same but the skeleton is up the right way. But in the new code the skeleton is off the screen.
I hope the above makes sense. Could you take a look at some point Nate and see if this is a bug or if I have misunderstood what is going on?
Many thanks ๐