This utility extracts the entity lumps from .bsp or .pak files, and writes them into files bspname.ent, for further processing. Unpack zip -d/folders option to put the source into a subdirectory. The code is a minor modification of Raphael Quinet's QEU (thanks, Raphael, for providing code that's so portable, comprehensible and modifiable, a standard I have certainly failed to maintain!). Full source (I hope I haven't left anything out), and a TC3 project file is provided (though of course you'll have to change the paths). Since whatever virtue may inhere in this code is due to the work of Raphael Quinet, all usage must be in accord with the terms specified by him, at the top of the source-files. ---- This version of unent supports Quake, Quake2 and Hexen2. Forthcoming Quake engine games will be supported if possible. ---- File-formats, so I can remember them for next time: .pak: 4-byte `magic number', spelling PACK (on DOS & other little-endian systems), followed by 4-byte (UInt32) offset and 4-byte length for directory to pack components. Same for Q1, Q2, H2. .pak directory entry: 56 bytes for the name, followed by 2 UInt32's for offset and length (F_PACK.H). .bsp/Q1,H2: 4-byte `magic number' = with 1st byte = hex 1D, remaining 3 = 0, followed by UInt32 directory offset & size; entities are first. .bsp/Q2: 4-byte magic number spelling IBSP, followed by UInt32 `bsp version number' = 38, followed by 2 UInt32's for directory offset & size (relative to start of .bsp file if it's in a .pak). Entities are again first. .bsp directory entry: 2 UInt32's for offset and size (F_BSP.H). .bsp's have a fixed number of componets, so position marks type. - tiglari@hexenworld.com