A sprite is stored once. When an object wants it facing the other way or
upside down,
vflip_sprite_data rewrites the sprite's own bytes -- rows swapped end for
end, or each row's bytes reversed through the bit-reversal table at
reverse_bits_tbl --
and toggles a bit in its header to remember which way round the data now
lies. So a snapshot catches each sprite as it was last drawn: spr_014 is
stored upside down in this one, because the last thing drawn with it was the
fourth corner of the menu's border, which
print_border draws flipped.