tokumaru wrote:
I also have 2 virtual sprite layers.
That's not a bad idea.
I had planned to work with sprite priority by adding the number of hardware sprites in the object * 4 to the sprite-that-needs-to-be-on-top's index, and using the result index for that sprite if there was a carry, otherwise just go as normal.
In other words, the sprite-on-top is put in the slot immediately before the other hardware sprites needed for the metasprite unless any one of the slots would wrap back to 0. In this case, I use the sprite slots after the carry would have occurred for the high priority sprites, then go back to fill in the lower priority sprites.
This method (I think, haven't implemented it)) means only one object can outpriortize another object with its high priority sprites, and every other object will have all its sprites entirely behind the objects that outprioritze it while still keeping priority intact for each individual object.
I haven't even thought about flickering, but I will probably do my best to do it by object, since having parts of sprites missing always looks odd to me.