libmpq is a much simpler alternative to StormLib for reading MPQ archives. We use our own fork of libmpq: https://github.com/diasurgical/libmpq Impact: * DevilutionX is now a lot more portable. Unlike StormLib, libmpq only needs platform-specific code for Windows. * Locks around file access **removed** (instead we duplicate the file descriptor for streamed audio only). * RAM usage is **300 KiB** lower than StormLib. * Stripped release linux_x86_64 binary is **32 KiB** smaller. * Amiga build now hangs instead of crashing.
28 lines
488 B
C++
28 lines
488 B
C++
#pragma once
|
|
|
|
#include <cstdint>
|
|
|
|
namespace devilution {
|
|
|
|
struct PCXHeader {
|
|
uint8_t Manufacturer;
|
|
uint8_t Version;
|
|
uint8_t Encoding;
|
|
uint8_t BitsPerPixel;
|
|
uint16_t Xmin;
|
|
uint16_t Ymin;
|
|
uint16_t Xmax;
|
|
uint16_t Ymax;
|
|
uint16_t HDpi;
|
|
uint16_t VDpi;
|
|
uint8_t Colormap[48];
|
|
uint8_t Reserved;
|
|
uint8_t NPlanes;
|
|
uint16_t BytesPerLine;
|
|
uint16_t PaletteInfo;
|
|
uint16_t HscreenSize;
|
|
uint16_t VscreenSize;
|
|
uint8_t Filler[54];
|
|
};
|
|
|
|
} // namespace devilution
|