#ifndef _COMMON #define _COMMON typedef uchar bool; typedef struct { string text; } CString ; typedef struct { uint32 size; if (size > 0) { char text[size]; } } CStringFixed ; string StringRead(CString &str) { if (exists(str.text)) { return str.text; } return ""; } string StringReadFixed(CStringFixed &str) { if (exists(str.text)) { return str.text; } return ""; } typedef char FourCC[4] ; FourCC FourCCInt(uint32 in) { FourCC fcc; fcc[0] = (in >> 24) & 0xFF; fcc[1] = (in >> 16) & 0xFF; fcc[2] = (in >> 8) & 0xFF; fcc[3] = (in >> 0) & 0xFF; return fcc; } string FormatBytes(uint64 size) { byte order = 0; while (size >= 1024 && order < 5) { order++; size /= 1024; } string suffix; switch (order) { case 0: suffix = ""; break; case 1: suffix = " KiB"; break; case 2: suffix = " MiB"; break; case 3: suffix = " GiB"; break; case 4: suffix = " TiB"; break; } return Str("%d%s", size, suffix); } string SizeComment(uint64 size) { return Str("Size: %s (0x%X)", FormatBytes(size), size); } local GUID GUIDZero ; // Struct wrapper for GUID // Allows array usage typedef struct { GUID inner; } CGuid < read=(GUIDToString(inner)), fgcolor=(cLtAqua) >; typedef enum { NONE = 0x0, LZSS_8 = 0x1, LZSS_16 = 0x2, LZSS_32 = 0x3, ZLIB = 0xD, } CompressionType; #endif// _COMMON