Modified source engine (2017) developed by valve and leaked in 2020. Not for commercial purporses
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

#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