useful 32bpp and 16bpp hints. (alphaonly was broken and had the effect
of 32bpp anyway). These force a texture to 32bpp and 16bpp, overriding
the user's preference.
Use 32bpp for images that really do need 32bpp (where "dither" isn't
good enough). Use 16bpp for images that really don't need 32bpp,
to save memory.
allow Models and BitmapTexts in BGAnimationLayer (detected through file extension)
add RageModelVertex, which doesn't have a color property
add "stretch" file name hint for textures
Foo [res 128x64].png
This can be used to store a texture at a different resolution without
having to change all of the metrics that reference it.
The most obvious use is to lower the resolution of large images.
A less obvious use is to raise the resolution of images. If an image is
going to be zoomed, it may be useful to store the texture at a higher
resolution than native.
This can be done with metrics, but it's a pain to have to track down
each metric that needs to be changed. This (should) also work with
fonts (but that needs testing).
Use this sparingly.
The most immediate use of this is for the company screen shadow;
it's horribly banded in 16-bit, and this lets us load it as an 8-bit texture,
using half the memory and giving full precision.
This could be automatically used, if all non-transparent pixels in a texture
are #FFFFFF. (todo)
This can also allow us to have extremely large, memory-compact fonts.
A 1024x1024 layer in ALPHA4 is just 512k, and can store several thousand
16x16 glyphs. (The only trouble is actually constructing such a font;
doing it by hand in Photoshop isn't a nice option.)
GL_COLOR_TABLE_FORMAT_EXT; it's defined in glext.h
(we could enable this if the imaging subset is defined, too, but checking
for the extension version is probably good enough)