Precalculated (sun)light in the 3d space of the playable area, also called light grid. Without: World geometry is rendered overbright
Not present if compiled without lightning, otherwise a multiple of 4.096 KB. Note: the brush lost its collision (less planes in lump 4 etc.)Ĭontains most of the pre-processed lightning. "Make Weapon Clip" on a wood-textured brushĠx01500000 0x00000001 \_ usual wood flagsĠx01500000 0x00002080 / first flag like wood, second flag missleClip & bulletClip These flags can be set in AssMan, nonetheless some Radiant functions influence them as well, e.g.
Then we have an DWORD for flags, and another DWORD for content flags.Įxample: d_beachpebble 0x00b00000 0x00000004 The first 64 bytes are used for the texture name. Texture information is 72 bytes long per texture. The length of the datatype "float" is 4 byte (DWORD), so the size of one plane entry is 4 DWORDs (4*4 = 16 bytes). Such a plane is stored as a normal vector (3 floats) and a distance (1 float). Every entry is a binary representations of something, a plane custom shot glasses for instance. It's a data unit containing sub-sections, or better: entries. Each lump stores data with different functionality. The bsp description yet only supports the 37-lumps version (a valid map).Ī BSP is organized in several sections, called lumps. (no solid skybox or not everything is IN the skybox) the bsp only has 24 lumps (or even 23 if light is notĬompiled). Note: there can be a difference of number of lumps per map. Each lump that has size 0 in the list is simply not filled / not used. The array ends with 2 empty (zero) DWORDs. Then there is an array, filled with DWORD pairs, indicating the lump's offset and length respectively.
IS NOT A VALID BSP FILE UNKNOWN READ ERROR 38 SOFTWARE
The file starts with 2 DWORDS: the header 'IBSP' indicating this is a BSP file originally designed by ID software and the version number 4 (4h). One can use it for deductions regarding the lump and entry sizes and also to identify the kind of content. It analyzes the given BSP and prints the name, length and entry count of all lumps to console. Little-endian is an order in which the "little end" (least significant value in the sequence) is stored first.Īn useful however not documented feature of the cod2map.exe is the -info parameter.
The endianness describes the order in which a sequence of bytes are stored in computer memory. For other numbers one can assume the decimal count system is used. The Call of Duty 2 engine is based on its ancestor, so is the BSP: Call of Duty 1: d3dbspĮvery number ending with an 'h' indicates its a number using the hexadecimal count system. Knowing what the technique is that BSP formatted maps use, could be handy as well. I am still deciphering it myself, I will post anything I happen to get known of regarding the file format.īe sure to read here and here before you even try to decipher it. A hexadecimal editor is the best tool in this case. Since it's a binary file you can't simply read it. d3dbsp structure, Call of Duty 2's variant on the well-known BSP format, is rather difficult to decipher. Deciphering the Call of Duty 2 D3DBSP format