Subversion Repositories ipe_artfile_utils

Compare Revisions

No changes between revisions

Regard whitespace Rev 1 → Rev 2

/trunk/ipe32_artfile.h
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