Elysian Shadows

Texconv and Palsync Dreamcast Tools are Born

[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]

Falco Girgis
Falco Girgis is the founder and lead software architect of the Elysian Shadows project. He was previously employed in the telecom industry before taking a chance on Kickstarter and quitting his job to live the dream. He is currently pursuing his masters in Computer Engineering with a focus on GPU architecture.