fallout2-ce/src/pcx.h
2022-09-23 15:43:44 +03:00

40 lines
999 B
C++

#ifndef PCX_H
#define PCX_H
#include "db.h"
namespace fallout {
typedef struct PcxHeader {
unsigned char identifier;
unsigned char version;
unsigned char encoding;
unsigned char bitsPerPixel;
short minX;
short minY;
short maxX;
short maxY;
short horizontalResolution;
short verticalResolution;
unsigned char palette[48];
unsigned char reserved1;
unsigned char planeCount;
short bytesPerLine;
short paletteType;
short horizontalScreenSize;
short verticalScreenSize;
unsigned char reserved2[54];
} PcxHeader;
extern unsigned char gPcxLastRunLength;
extern unsigned char gPcxLastValue;
void pcxReadHeader(PcxHeader* pcxHeader, File* stream);
int pcxReadLine(unsigned char* data, int size, File* stream);
int pcxReadPalette(PcxHeader* pcxHeader, unsigned char* palette, File* stream);
unsigned char* pcxRead(const char* path, int* widthPtr, int* heightPtr, unsigned char* palette);
} // namespace fallout
#endif /* PCX_H */