mirror of
https://github.com/alliedmodders/hl2sdk.git
synced 2025-01-04 00:23:25 +08:00
c7a00a9a87
Adds ISpawnGroup, ILoadingSpawnGroup, IGameSpawnGroupMgr, IWorld, IWorldReference & IWorldRendererMgr interfaces.
71 lines
2.0 KiB
C++
71 lines
2.0 KiB
C++
#ifndef WORLD_SCHEMA_H
|
|
#define WORLD_SCHEMA_H
|
|
|
|
#ifdef COMPILER_MSVC
|
|
#pragma once
|
|
#endif
|
|
|
|
#include <tier0/platform.h>
|
|
#include <tier1/utlstring.h>
|
|
#include <tier1/utlvector.h>
|
|
#include <mathlib/vector.h>
|
|
#include <mathlib/vector2d.h>
|
|
|
|
//--------------------------------------------------------------------------------------
|
|
// Enum related
|
|
//--------------------------------------------------------------------------------------
|
|
enum WorldNodeFlags_t
|
|
{
|
|
WORLD_NODE_SIMPLIFIED = 0x0001, // The geometry is simplified
|
|
WORLD_NODE_UNIQUE_UV = 0x0002, // The geometry is uniquely mapped (likely, we're a higher LOD)
|
|
WORLD_NODE_ATLASED = 0x0004, // This node was atlased but not uniquely mapped
|
|
WORLD_NODE_KDTREE = 0x0008, // Node contains a kd-tree for raycasts
|
|
WORLD_NODE_NODRAW = 0x0010, // Node has no actual draw calls... it's just a container for stuff and other nodes
|
|
WORLD_NODE_START_TRAVERSAL = 0x0020, // Start a traversal at this node (add a check to ensure that the KDTREE flag also exists with this one)
|
|
WORLD_NODE_CAN_SEE_SKY = 0x0040, // Can this node see the sky?
|
|
WORLD_NODE_MOST_DETAILED = 0x0080, // Node is the most detailed node containing the original geometry and textures
|
|
};
|
|
|
|
struct WorldBuilderParams_t
|
|
{
|
|
public:
|
|
float m_flMinDrawVolumeSize;
|
|
bool m_bBuildBakedLighting;
|
|
Vector2D m_vLightmapUvScale;
|
|
private:
|
|
uint8 m_unk001[3];
|
|
public:
|
|
uint64 m_nCompileTimestamp;
|
|
uint64 m_nCompileFingerprint;
|
|
};
|
|
|
|
struct NodeData_t
|
|
{
|
|
public:
|
|
int32 m_nParent;
|
|
Vector m_vOrigin;
|
|
Vector m_vMinBounds;
|
|
Vector m_vMaxBounds;
|
|
float m_flMinimumDistance;
|
|
CUtlVector< int32 > m_ChildNodeIndices;
|
|
private:
|
|
uint8 m_unk001[4];
|
|
public:
|
|
CUtlString m_worldNodePrefix;
|
|
};
|
|
|
|
struct BakedLightingInfo_t
|
|
{
|
|
public:
|
|
uint32 m_nLightmapVersionNumber;
|
|
uint32 m_nLightmapGameVersionNumber;
|
|
Vector2D m_vLightmapUvScale;
|
|
bool m_bHasLightmaps;
|
|
private:
|
|
uint8 m_unk001[7];
|
|
public:
|
|
CUtlVector< void * /* CStrongHandle< InfoForResourceTypeCTextureBase > */ > m_lightMaps;
|
|
};
|
|
|
|
#endif // WORLD_SCHEMA_H
|