mirror of https://github.com/nmlgc/ReC98.git
36 lines
785 B
C++
36 lines
785 B
C++
|
/// Uncompressed 16-color 32×32 sprite format
|
|||
|
/// -----------------------------------------
|
|||
|
/// Optionally supports transparency for images loaded from .PTN files,
|
|||
|
/// hardcoded to color #15.
|
|||
|
|
|||
|
#define PTN_W 32
|
|||
|
#define PTN_H 32
|
|||
|
|
|||
|
typedef dots_t(PTN_W) ptn_dots_t;
|
|||
|
|
|||
|
#pragma option -a1
|
|||
|
struct ptn_planar_t {
|
|||
|
ptn_dots_t B[PTN_H];
|
|||
|
ptn_dots_t R[PTN_H];
|
|||
|
ptn_dots_t G[PTN_H];
|
|||
|
ptn_dots_t E[PTN_H];
|
|||
|
};
|
|||
|
|
|||
|
// On-disk per-image structure
|
|||
|
struct ptn_file_image_t {
|
|||
|
int8_t unused_zero;
|
|||
|
ptn_planar_t planes;
|
|||
|
};
|
|||
|
|
|||
|
// In-memory per-image structure
|
|||
|
struct ptn_t : public ptn_file_image_t {
|
|||
|
ptn_dots_t alpha[PTN_H];
|
|||
|
};
|
|||
|
#pragma option -a.
|
|||
|
|
|||
|
#define PTN_SLOT_COUNT 8
|
|||
|
|
|||
|
extern ptn_t* ptn_images[PTN_SLOT_COUNT];
|
|||
|
extern int8_t ptn_image_count[PTN_SLOT_COUNT];
|
|||
|
/// -----------------------------------------
|