FMT_PAL. The intent is that all combinations are valid--that the pixfmt doesn't
depend on the format of img. (The only exception is that CreateTexture
never palettizes, so if pixfmt is FMT_PAL, img must be, too.)
The conventions I'm using are to put the entire copyright notice at the bottom
of each file, and to put the summary of the source file's use at the top of the
header.
Putting the license text in each file avoids confusion, and is normal practice
for many projects. Putting it at the bottom gets it out of the way; it's a
ton of clutter to put at the top.
The description is in the header. People who don't know what a class is for,
or how to use it, are probably looking at the header to see the interface,
not the implementation, so let's put the description in there. Keep it brief
(one line); any substantial implementation notes should go in the source file.
It might be useful to save some conversions--that is, if a conversion to
a native format is needed, it'll be available to the caller--but it's confusing
and it's never helpful in practice. It was causing some banner-related
crashes, so let's just remove it.
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
UpdateTexture can now take any image format; it doesn't have to match the
original format, or even be a standard pixel format. This is because we
can often do the conversion much more efficiently within UpdateTexture
than we can in the caller. With D3D, we can convert any source format
as we copy, preventing an extra blit. OpenGL can do it on the fly if
it happens to be a known texture format.
We can figure out the pixel format from the image itself, so there's
no need to pass pixfmt to UpdateTexture.
Add BGR8, for movies with OpenGL.