Counter Strike : Global Offensive Source Code
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

73 lines
1.5 KiB

//====== Copyright © 1996-2008, Valve Corporation, All rights reserved. =======
//
// Purpose:
//
//=============================================================================
#ifndef VOXFILE_H
#define VOXFILE_H
#ifdef _WIN32
#pragma once
#endif
#pragma pack(1)
const uint16 DVOX_CHILD_NOT_PRESENT = 0xFFFF;
struct dvoxtreenode_t
{
uint16 childNodes[8];
uint32 voxelIndex;
uint32 treeLevel;
};
struct dvoxelvert_t
{
int16 pos[3];
uint32 normal;
};
struct dvoxel_t
{
uint32 fileOffset;
uint32 fileSize;
uint32 vertexCount;
uint32 indexCount;
float vertexScale;
Vector origin; // quantized grid origin
Vector localMins; // origin relative bbox
Vector localMaxs; // ...
};
struct dvoxfilechunk_t
{
uint32 identFourCC;
uint32 version;
uint32 fileOffset;
uint32 fileSize;
};
// 1KB header
struct dvoxelfileheader_t
{
uint32 identFourCC;
uint32 voxelCount; // number of voxels in the file including LODs etc
uint32 voxTreeNodeCount; // number of nodes in the tree
uint32 voxTreeNodeRefCount; // number of references to nodes
uint32 voxTreeTopLevelNodeCount; // number of top level nodes in the tree
uint32 chunkCount;
uint32 pad0;
uint32 pad1;
dvoxfilechunk_t chunks[62];
};
#pragma pack()
#define VOXEL_FILEID MAKEID('V','M','A','P')
#define VOX_CHUNK_VOXELS MAKEID('V','V','O','X')
#define VOX_CHUNK_VOXELTREE MAKEID('T','R','E','E')
#define VOX_CHUNK_VOXELGRID MAKEID('G','R','I','D')
#define VOX_CHUNK_ENTITIES MAKEID('E','N','T','S')
#endif // VOXFILE_H