You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.4 KiB
61 lines
1.4 KiB
#ifndef _PICLIB_H_ |
|
#define _PICLIB_H_ |
|
|
|
typedef enum |
|
{ |
|
ms_none, |
|
ms_mask, |
|
ms_transcolor, |
|
ms_lasso |
|
} |
|
mask_t; |
|
|
|
typedef enum |
|
{ |
|
cm_none, |
|
cm_rle1 |
|
} |
|
compress_t; |
|
|
|
typedef struct |
|
{ |
|
char manufacturer; |
|
char version; |
|
char encoding; |
|
char bits_per_pixel; |
|
unsigned short xmin,ymin,xmax,ymax; |
|
unsigned short hres,vres; |
|
unsigned char palette[48]; |
|
char reserved; |
|
char color_planes; |
|
unsigned short bytes_per_line; |
|
unsigned short palette_type; |
|
char filler[58]; |
|
unsigned char data; |
|
} pcx_t; |
|
|
|
typedef struct |
|
{ |
|
unsigned char id_length; |
|
unsigned char colormap_type; |
|
unsigned char image_type; |
|
unsigned char pad1; // not in file |
|
unsigned short colormap_index; |
|
unsigned short colormap_length; |
|
unsigned char colormap_size; |
|
unsigned char pad2; // not in file |
|
unsigned short x_origin; |
|
unsigned short y_origin; |
|
unsigned short width; |
|
unsigned short height; |
|
unsigned char pixel_size; |
|
unsigned char attributes; |
|
} tga_t; |
|
|
|
extern void TL_LoadPCX(char* filename, byte_t** picture, byte_t** palette, int* width, int* height); |
|
extern void TL_SavePCX(char* filename, byte_t* data, int width, int height, byte_t* palette); |
|
extern void TL_LoadTGA(char* name, byte_t** pixels, int* width, int* height); |
|
extern void TL_SaveTGA(char* filename, byte_t* pixels, int width, int height, int sbpp, int tbpp); |
|
extern void TL_LoadImage(char* name, byte_t** pixels, byte_t** palette, int* width, int* height); |
|
|
|
#endif
|
|
|