{ "defines": [ { "name": "RRES_H", "type": "GUARD", "value": "", "description": "" }, { "name": "RRESAPI", "type": "UNKNOWN", "value": "__declspec(dllexport)", "description": "We are building the library as a Win32 shared library (.dll)" }, { "name": "RRES_MALLOC(sz)", "type": "MACRO", "value": "malloc(sz)", "description": "" }, { "name": "RRES_CALLOC(ptr,sz)", "type": "MACRO", "value": "calloc(ptr,sz)", "description": "" }, { "name": "RRES_REALLOC(ptr,sz)", "type": "MACRO", "value": "realloc(ptr,sz)", "description": "" }, { "name": "RRES_FREE(ptr)", "type": "MACRO", "value": "free(ptr)", "description": "" }, { "name": "RRES_SUPPORT_LOG_INFO", "type": "GUARD", "value": "", "description": "" }, { "name": "RRES_LOG(...)", "type": "MACRO", "value": "printf(__VA_ARGS__)", "description": "" }, { "name": "RRES_MAX_FILENAME_SIZE", "type": "INT", "value": 1024, "description": "" } ], "structs": [ { "name": "rresFileHeader", "description": "rres file header (16 bytes)", "fields": [ { "type": "unsigned char[4]", "name": "id", "description": "File identifier: rres" }, { "type": "unsigned short", "name": "version", "description": "File version: 100 for version 1.0" }, { "type": "unsigned short", "name": "chunkCount", "description": "Number of resource chunks in the file (MAX: 65535)" }, { "type": "unsigned int", "name": "cdOffset", "description": "Central Directory offset in file (0 if not available)" }, { "type": "unsigned int", "name": "reserved", "description": "" } ] }, { "name": "rresResourceChunkInfo", "description": "rres resource chunk info header (32 bytes)", "fields": [ { "type": "unsigned char[4]", "name": "type", "description": "Resource chunk type (FourCC)" }, { "type": "unsigned int", "name": "id", "description": "Resource chunk identifier (generated from filename CRC32 hash)" }, { "type": "unsigned char", "name": "compType", "description": "Data compression algorithm" }, { "type": "unsigned char", "name": "cipherType", "description": "Data encription algorithm" }, { "type": "unsigned short", "name": "flags", "description": "Data flags (if required)" }, { "type": "unsigned int", "name": "packedSize", "description": "Data chunk size (compressed/encrypted + custom data appended)" }, { "type": "unsigned int", "name": "baseSize", "description": "Data base size (uncompressed/unencrypted)" }, { "type": "unsigned int", "name": "nextOffset", "description": "Next resource chunk global offset (if resource has multiple chunks)" }, { "type": "unsigned int", "name": "reserved", "description": "" }, { "type": "unsigned int", "name": "crc32", "description": "Data chunk CRC32 (propCount + props[] + data)" } ] }, { "name": "rresResourceChunkData", "description": "rres resource chunk data", "fields": [ { "type": "unsigned int", "name": "propCount", "description": "Resource chunk properties count" }, { "type": "unsigned int *", "name": "props", "description": "Resource chunk properties" }, { "type": "void *", "name": "raw", "description": "Resource chunk raw data" } ] }, { "name": "rresResourceChunk", "description": "rres resource chunk", "fields": [ { "type": "rresResourceChunkInfo", "name": "info", "description": "Resource chunk info" }, { "type": "rresResourceChunkData", "name": "data", "description": "Resource chunk packed data, contains propCount, props[] and raw data" } ] }, { "name": "rresResourceMulti", "description": "NOTE: It supports multiple resource chunks", "fields": [ { "type": "unsigned int", "name": "count", "description": "Resource chunks count" }, { "type": "rresResourceChunk *", "name": "chunks", "description": "Resource chunks" } ] }, { "name": "rresDirEntry", "description": "CDIR: rres central directory entry", "fields": [ { "type": "unsigned int", "name": "id", "description": "Resource id" }, { "type": "unsigned int", "name": "offset", "description": "Resource global offset in file" }, { "type": "unsigned int", "name": "reserved", "description": "reserved" }, { "type": "unsigned int", "name": "fileNameSize", "description": "Resource fileName size (NULL terminator and 4-byte alignment padding considered)" }, { "type": "char[RRES_MAX_FILENAME_SIZE]", "name": "fileName", "description": "Resource original fileName (NULL terminated and padded to 4-byte alignment)" } ] }, { "name": "rresCentralDir", "description": "NOTE: This data conforms the rresResourceChunkData", "fields": [ { "type": "unsigned int", "name": "count", "description": "Central directory entries count" }, { "type": "rresDirEntry *", "name": "entries", "description": "Central directory entries" } ] }, { "name": "rresFontGlyphInfo", "description": "NOTE: And array of this type conforms the rresResourceChunkData", "fields": [ { "type": "int", "name": "x", "description": "Glyph rectangle in the atlas image" }, { "type": "int", "name": "y", "description": "Glyph rectangle in the atlas image" }, { "type": "int", "name": "width", "description": "Glyph rectangle in the atlas image" }, { "type": "int", "name": "height", "description": "Glyph rectangle in the atlas image" }, { "type": "int", "name": "value", "description": "Glyph codepoint value" }, { "type": "int", "name": "offsetX", "description": "Glyph drawing offset (from base line)" }, { "type": "int", "name": "offsetY", "description": "Glyph drawing offset (from base line)" }, { "type": "int", "name": "advanceX", "description": "Glyph advance X for next character" } ] } ], "aliases": [ ], "enums": [ ], "callbacks": [ ], "functions": [ { "name": "rresLoadResourceChunk", "description": "Load one resource chunk for provided id", "returnType": "rresResourceChunk", "params": [ { "type": "const char *", "name": "fileName" }, { "type": "int", "name": "rresId" } ] }, { "name": "rresUnloadResourceChunk", "description": "Unload resource chunk from memory", "returnType": "void", "params": [ { "type": "rresResourceChunk", "name": "chunk" } ] }, { "name": "rresLoadResourceMulti", "description": "Load resource for provided id (multiple resource chunks)", "returnType": "rresResourceMulti", "params": [ { "type": "const char *", "name": "fileName" }, { "type": "int", "name": "rresId" } ] }, { "name": "rresUnloadResourceMulti", "description": "Unload resource from memory (multiple resource chunks)", "returnType": "void", "params": [ { "type": "rresResourceMulti", "name": "multi" } ] }, { "name": "rresLoadResourceChunkInfo", "description": "Load resource chunk info for provided id", "returnType": "rresResourceChunkInfo", "params": [ { "type": "const char *", "name": "fileName" }, { "type": "int", "name": "rresId" } ] }, { "name": "rresLoadResourceChunkInfoAll", "description": "Load all resource chunks info", "returnType": "rresResourceChunkInfo *", "params": [ { "type": "const char *", "name": "fileName" }, { "type": "unsigned int *", "name": "chunkCount" } ] }, { "name": "rresLoadCentralDirectory", "description": "Load central directory resource chunk from file", "returnType": "rresCentralDir", "params": [ { "type": "const char *", "name": "fileName" } ] }, { "name": "rresUnloadCentralDirectory", "description": "Unload central directory resource chunk", "returnType": "void", "params": [ { "type": "rresCentralDir", "name": "dir" } ] }, { "name": "rresGetDataType", "description": "Get rresResourceDataType from FourCC code", "returnType": "unsigned int", "params": [ { "type": "const unsigned char *", "name": "fourCC" } ] }, { "name": "rresGetResourceId", "description": "Get resource id for a provided filename", "returnType": "int", "params": [ { "type": "rresCentralDir", "name": "dir" }, { "type": "const char *", "name": "fileName" } ] }, { "name": "rresComputeCRC32", "description": "Compute CRC32 for provided data", "returnType": "unsigned int", "params": [ { "type": "unsigned char *", "name": "data" }, { "type": "int", "name": "len" } ] }, { "name": "rresSetCipherPassword", "description": "Set password to be used on data decryption", "returnType": "void", "params": [ { "type": "const char *", "name": "pass" } ] }, { "name": "rresGetCipherPassword", "description": "Get password to be used on data decryption", "returnType": "const char *" } ] }