0,0 → 1,49 |
/** |
* ART files for Imagination Pilots Entertainment 32-bit games (IPE32) |
* - Where's Waldo? Exploring Geography |
* - Eraser Turnabout by Imagination Pilots |
* - Virtual K'Nex by Imagination Pilots |
* ART file packer and unpacker by Daniel Marschall, ViaThinkSoft (C) 2018 |
* Revision: 2018-02-15 |
**/ |
|
#ifndef __inc__ipe32_artfile |
#define __inc__ipe32_artfile |
|
#include <stdint.h> |
|
#define IPE32_COMPRESSIONTYPE_LZW 0 |
#define IPE32_COMPRESSIONTYPE_NONE 1 |
|
#define IPE32_NAME_SIZE 8 |
|
#define IPE32_MAGIC_ART "ART_DATA" |
|
#pragma pack(push, 1) |
|
typedef struct tagIpe32FileHeader { |
char magic[IPE32_NAME_SIZE]; // always "ART_DATA" |
uint32_t totalHeaderSize; // size of all headers (file header and all picture headers). headerSize/16 = numberPictures |
uint32_t reserved; // always 0 |
} Ipe32FileHeader; |
|
typedef struct tagIpe32PictureEntryHeader { |
char name[IPE32_NAME_SIZE]; |
uint32_t offset; // offset to the picture (Ipe32PictureHeader) |
uint32_t uncompressedSize; // size of the picture (picture data + palette) |
} Ipe32PictureEntryHeader; |
|
/* |
typedef struct tagIpe32PictureChunk { |
unsigned compressionType : 1; // Compression type of the follow-up data |
// 0 = LZW-like compression (special implementation) |
// 1 = None |
unsigned chunkDataSize : 15; // size of the chunk data |
//char data[]; |
} Ipe32PictureChunk; |
*/ |
|
#pragma pack(pop) |
|
#endif // #ifndef __inc__ipe32_artfile |
|
Property changes: |
Added: svn:mime-type |
+text/x-chdr |
\ No newline at end of property |