直都想把Hl2BSP文件给分析分析的前也尝试过很多次可直进展缓慢昨天又看了下个BSPLoad源码终于知道是个什么概念了…………
头文件中包含:BSP文件版本号等信息.
\" align=top>structdheader_t
...{
\" align=top>ident;
\" align=top>version;
\" align=top>lump_tlumps[HEADER_LUMPS];
\" align=top>mapRevision;//themap\'srevision(iteration,version)number(addedBSPVERSION6)
\" align=top>};
这个结构体包含以下信息:
ident BSP文件类型(idIBSP ValveVBSP)
version 版本信息
lump_t 数据块信息
mapRevision 地图修改信息
lump_t结构体如下:
\" align=top>structlump_t
...
{
\" align=top>fileofs,filelen;
\" align=top>version;//defaulttozero
\" align=top>charfourCC[4];//defaultto(char)0,(char)0,(char)0,(char)0
\" align=top>};
fileofs 偏移位置也就是在文件中起始位置
filelen 长度
version 版本
fourCC[4] 4位…………没有太明白它含义读取出来都是0
LUMP_MODELS dmodel_t
LUMP_VERTEXES dvertex_t
LUMP_PLANES dplane_t
LUMP_NODES dnode_t
LUMP_TEXINFO texinfo
LUMP_TEXDATA dtexdata_t
LUMP_DISPINFO g_dispinfo
LUMP_DISP_VERTS g_DispVerts
LUMP_DISP_TRIS g_DispTris
LUMP_DISP_LIGHTMAP_SAMPLE_POSITIONS g_DispLightmapSamplePositions
LUMP_FACE_MACRO_TEXTURE_INFO g_FaceMacroTextureInfos
LUMP_FACES dface_t
LUMP_FACES_HDR dface_t
LUMP_PRIMITIVES dprimitive_t
LUMP_PRIMVERTS dprimvert_t
LUMP_PRIMINDICES unsigned
LUMP_ORIGINALFACES dface_t
LUMP_LEAFFACES dleaffaces[0]
LUMP_LEAFBRUSHES dleafbrushes[0]
LUMP_SURFEDGES dsurfedges[0]
LUMP_EDGES dedge_t
LUMP_BRUSHES dbrush_t
LUMP_BRUSHSIDES dbrushside_t
LUMP_AREAS darea_t
LUMP_AREAPORTALS dareaportal_t
LUMP_VISIBILITY 1
LUMP_LIGHTING dlightdataLDR
LUMP_LIGHTING_HDR dlightdataHDR
LUMP_LEAF_AMBIENT_LIGHTING g_LeafAmbientLightingLDR
LUMP_LEAF_AMBIENT_LIGHTING_HDR g_LeafAmbientLightingHDR
LUMP_ENTITIES dentdata
LUMP_WORLDLIGHTS dworldlight_t
LUMP_WORLDLIGHTS_HDR dworldlight_t
LUMP_LIGHTMAPPAGES g_dLightmapPages
LUMP_LIGHTMAPPAGEINFOS g_dLightmapPageInfos
LUMP_PORTALS dportal_t
LUMP_CLUSTERS dcluster_t
LUMP_LEAFWATERDATA dleafwaterdata_t
LUMP_PORTALVERTS unsigned
LUMP_CLUSTERPORTALS unsigned
LUMP_PHYSCOLLIDE (void**)&g_pPhysCollide
LUMP_VERTNORMALS g_vertnormals[0]
LUMP_VERTNORMALINDICES g_vertnormalindices[0]
LUMP_CLIPPORTALVERTS g_ClipPortalVerts[0]
LUMP_CUBEMAPS g_CubemapSamples[0]
LUMP_TEXDATA_STRING_DATA g_TexDataStringData
LUMP_TEXDATA_STRING_TABLE g_TexDataStringTable
LUMP_OVERLAYS g_Overlays[0]
LUMP_WATEROVERLAYS g_WaterOverlays[0]
LUMP_MAP_FLAGS flags_lump
LUMP_LEAFMINDISTTOWATER g_LeafMinDistToWater[0]
LUMP_PAKFILE ( void ** )&pakbuffer
LUMP_LEAFS dleaf_t
相关宏定义在:BSPFILE.H文件中加载对应结构体信息在:bsplib.cppLoadBSPFile中可以找到…………:)
[Page]直都想把Hl2BSP文件给分析分析的前也尝试过很多次可直进展缓慢昨天又看了下个BSPLoad源码终于知道是个什么概念了…………
头文件中包含:BSP文件版本号等信息.
\" align=top>structdheader_t
...{
\" align=top>ident;
\" align=top>version;
\" align=top>lump_tlumps[HEADER_LUMPS];
\" align=top>mapRevision;//themap\'srevision(iteration,version)number(addedBSPVERSION6)
\" align=top>};
这个结构体包含以下信息:
ident BSP文件类型(idIBSP ValveVBSP)
version 版本信息
lump_t 数据块信息
mapRevision 地图修改信息
lump_t结构体如下:
\" align=top>structlump_t
...{
\" align=top>fileofs,filelen;
\" align=top>version;//defaulttozero
\" align=top>charfourCC[4];//defaultto(char)0,(char)0,(char)0,(char)0
\" align=top>};
fileofs 偏移位置也就是在文件中起始位置
filelen 长度
version 版本
fourCC[4] 4位…………没有太明白它含义读取出来都是0
LUMP_MODELS dmodel_t
LUMP_VERTEXES dvertex_t
LUMP_PLANES dplane_t
LUMP_NODES dnode_t
LUMP_TEXINFO texinfo
LUMP_TEXDATA dtexdata_t
LUMP_DISPINFO g_dispinfo
LUMP_DISP_VERTS g_DispVerts
LUMP_DISP_TRIS g_DispTris
LUMP_DISP_LIGHTMAP_SAMPLE_POSITIONS g_DispLightmapSamplePositions
LUMP_FACE_MACRO_TEXTURE_INFO g_FaceMacroTextureInfos
LUMP_FACES dface_t
LUMP_FACES_HDR dface_t
LUMP_PRIMITIVES dprimitive_t
LUMP_PRIMVERTS dprimvert_t
LUMP_PRIMINDICES unsigned
LUMP_ORIGINALFACES dface_t
LUMP_LEAFFACES dleaffaces[0]
LUMP_LEAFBRUSHES dleafbrushes[0]
LUMP_SURFEDGES dsurfedges[0]
LUMP_EDGES dedge_t
LUMP_BRUSHES dbrush_t
LUMP_BRUSHSIDES dbrushside_t
LUMP_AREAS darea_t
LUMP_AREAPORTALS dareaportal_t
LUMP_VISIBILITY 1
LUMP_LIGHTING dlightdataLDR
LUMP_LIGHTING_HDR dlightdataHDR
LUMP_LEAF_AMBIENT_LIGHTING g_LeafAmbientLightingLDR
LUMP_LEAF_AMBIENT_LIGHTING_HDR g_LeafAmbientLightingHDR
LUMP_ENTITIES dentdata
LUMP_WORLDLIGHTS dworldlight_t
LUMP_WORLDLIGHTS_HDR dworldlight_t
LUMP_LIGHTMAPPAGES g_dLightmapPages
LUMP_LIGHTMAPPAGEINFOS g_dLightmapPageInfos
LUMP_PORTALS dportal_t
LUMP_CLUSTERS dcluster_t
LUMP_LEAFWATERDATA dleafwaterdata_t
LUMP_PORTALVERTS unsigned
LUMP_CLUSTERPORTALS unsigned
LUMP_PHYSCOLLIDE (void**)&g_pPhysCollide
LUMP_VERTNORMALS g_vertnormals[0]
LUMP_VERTNORMALINDICES g_vertnormalindices[0]
LUMP_CLIPPORTALVERTS g_ClipPortalVerts[0]
LUMP_CUBEMAPS g_CubemapSamples[0]
LUMP_TEXDATA_STRING_DATA g_TexDataStringData
LUMP_TEXDATA_STRING_TABLE g_TexDataStringTable
LUMP_OVERLAYS g_Overlays[0]
LUMP_WATEROVERLAYS g_WaterOverlays[0]
LUMP_MAP_FLAGS flags_lump
LUMP_LEAFMINDISTTOWATER g_LeafMinDistToWater[0]
LUMP_PAKFILE ( void ** )&pakbuffer
LUMP_LEAFS dleaf_t
相关宏定义在:BSPFILE.H文件中加载对应结构体信息在:bsplib.cppLoadBSPFile中可以找到…………:)
最新评论