The NewGRF spec does not mention that sprite group `type` and the `num-ent1` fields are the same.
Reserve all unrecognised special types in case they are wanted at some point.
Lots of different structs contain variations on sub-tile bounds with different naming. Unify into a single struct that can be inherited and passed directly to AddSortableSpriteToDraw.
At the same time, offsets now work more logically: sub-tile bounds now specify the bounding box, and an offset can be applied to the sprite.