7 short int colourmaporigin
;
8 short int colourmaplength
;
19 // Requires RGBA data. Can write grayscale (comp=1), RGB (comp=3) or RGBA (comp=4)
20 int csr_tga_write( const char *path
, u32 width
, u32 height
, int comp
, u8
*rgba
)
22 FILE *fp
= fopen( path
, "wb" );
26 struct tga_header header
=
31 .bitsperpixel
= comp
* 8,
32 .imagedescriptor
= 0x20
35 fwrite( &header
, sizeof( struct tga_header
), 1, fp
);
37 for( u32 i
= 0; i
< width
* height
; i
++ )
39 u8
*colour
= rgba
+ i
*4;
44 flipped
[0] = colour
[2];
45 flipped
[1] = colour
[1];
46 flipped
[2] = colour
[0];
47 flipped
[3] = colour
[3];
52 fwrite( colour
, 1, comp
, fp
);