Nevermind. False alarm!
Maybe?
The main problem stemmed from the fact that images are rotated after they are scaled.
I removed the rotation of the ship to try to debug the problem, and when i did it was clear I wouldn't be able to tell if I'd flipped the image horizontally or not. Then it occured to me that perhaps it was flipping the image, and when I saw it apparently flip on both axes, it was really just flipping on the Y and the rotation afterwards caused it to appear to be a flip on both axes.
Well that was the case. Flipping an image by setting a negative scale does work.
The only remaining issue was one I had wondered about when examining the internal code. If you flip the image, what happens to the handle?
Well it turns out if you flip the image, then a handle that was in one corner now behaves like it is in another corner. So if you flip left to right, your 0,0 handle now causes the image to blit as if the handle is at the top right corner instead.
This does not seem to cause any issues with collision testing, and it even works with text.
But I have to wonder if the handle changing position like that is a good thing or intended. I guess I will just code around it in my sprite system. It's not that difficult.
Maybe?
The main problem stemmed from the fact that images are rotated after they are scaled.
I removed the rotation of the ship to try to debug the problem, and when i did it was clear I wouldn't be able to tell if I'd flipped the image horizontally or not. Then it occured to me that perhaps it was flipping the image, and when I saw it apparently flip on both axes, it was really just flipping on the Y and the rotation afterwards caused it to appear to be a flip on both axes.
Well that was the case. Flipping an image by setting a negative scale does work.
The only remaining issue was one I had wondered about when examining the internal code. If you flip the image, what happens to the handle?
Well it turns out if you flip the image, then a handle that was in one corner now behaves like it is in another corner. So if you flip left to right, your 0,0 handle now causes the image to blit as if the handle is at the top right corner instead.
This does not seem to cause any issues with collision testing, and it even works with text.
But I have to wonder if the handle changing position like that is a good thing or intended. I guess I will just code around it in my sprite system. It's not that difficult.