[u]texconv changes:[/u]
[list][*]The texture header struct is 24 bytes instead of 32. I removed the padding at the end.
[*]The preview option no longer takes a filename. It's automatically written to "<outfile>_preview.png".
[*]Palettes are written to "<outfile>.pal".[/list]
[u]palsync changes:[/u]
[list][*]The texture header struct is 24 bytes instead of 32. I removed the padding at the end.
[*]Added a verbose flag.
[*]Due to having palettes separate from textures, it's a bit messier to use. You have to supply pairs of textures and palettes instead of just textures. The textures are overwritten, but the palettes remain untouched.
[*]Nothing will happen unless all supplied textures and palettes are loaded successfully and are of the same color depth.[/list]
The formats are even easier now that they're split into two.
[u]Texture format:[/u]
struct TextureHeader { char magic[4]; // "TXTR" qint32 width; qint32 height; qint32 format; qint32 flags; qint32 size; }; Followed by "header.size" bytes of texture data.
[u]Palette format:[/u]
struct PaletteHeader { char magic[4]; // "PALT" qint32 num_colors; }; Followed by "header.num_colors" unsigned 32-bit ints, each representing a single ARGB8888 color.
And here's an incredibly boring screenshot showing off this stuff. The font, the frame and the window background (yes, it's textured) share a palette.
[img]http://laddauppbilder.se/?di=1013169779800[/img]