Restructure repository to include all source folders
Move git root from Client/ to src/ to track all source code: - Client: Game client source (moved to Client/Client/) - Server: Game server source - GameTools: Development tools - CryptoSource: Encryption utilities - database: Database scripts - Script: Game scripts - rylCoder_16.02.2008_src: Legacy coder tools - GMFont, Game: Additional resources 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
523
GameTools/Zallad3D SceneClass/BspDataDefine.h
Normal file
523
GameTools/Zallad3D SceneClass/BspDataDefine.h
Normal file
@@ -0,0 +1,523 @@
|
||||
#include "3DMath.h"
|
||||
#include "Vertex.h"
|
||||
|
||||
/*
|
||||
*/
|
||||
|
||||
#define CONTENTS_DETAIL 0x8000000
|
||||
|
||||
#define MAX_SURFACE_VERTS 256
|
||||
#define MAX_MAP_SHADER 0xff
|
||||
#define MAX_MAP_MODELS 0x400
|
||||
#define MAX_MAP_DRAW_SURFS 0x20000
|
||||
#define MAX_MAP_DRAW_VERTS 0x80000
|
||||
#define MAX_MAP_DRAW_INDEXES 0x80000
|
||||
#define MAX_MAP_NODES 0x20000
|
||||
#define MAX_MAP_LEAFS 0x20000
|
||||
#define MAX_MAP_LEAFFACES 0x20000
|
||||
#define MAX_MAP_LEAFBRUSHES 0x40000
|
||||
#define MAX_MAP_BRUSHSIDES 0x20000
|
||||
#define MAX_MAP_BRUSHES 0x8000
|
||||
#define MAX_MAP_VISIBILITY 0x100000
|
||||
|
||||
#define MAX_STARTPOSITION 100
|
||||
#define MAX_LIGHT 0xff
|
||||
|
||||
#define MAX_PATCH_SIZE 32
|
||||
|
||||
|
||||
#define LUMP_ENTITIES 0
|
||||
#define LUMP_SHADERS 1
|
||||
#define LUMP_PLANES 2
|
||||
#define LUMP_NODES 3
|
||||
#define LUMP_LEAFS 4
|
||||
#define LUMP_LEAFSURFACES 5
|
||||
#define LUMP_LEAFBRUSHES 6
|
||||
#define LUMP_MODELS 7
|
||||
#define LUMP_BRUSHES 8
|
||||
#define LUMP_BRUSHSIDES 9
|
||||
#define LUMP_DRAWVERTS 10
|
||||
#define LUMP_DRAWINDEXES 11
|
||||
#define LUMP_FOGS 12
|
||||
#define LUMP_SURFACES 13
|
||||
#define LUMP_LIGHT 14
|
||||
#define LUMP_LIGHTGRID 15
|
||||
#define LUMP_VISIBILITY 16
|
||||
#define HEADER_LUMPS 17
|
||||
|
||||
#define MAX_EXPANDED_AXIS 128
|
||||
#define SUBDIVISION_LIMIT 8.0
|
||||
|
||||
#define PLANE_X 0
|
||||
#define PLANE_Y 1
|
||||
#define PLANE_Z 2
|
||||
#define PLANE_NON_AXIAL 3
|
||||
|
||||
#define ON_EPSILON 0.01
|
||||
|
||||
class Lump
|
||||
{
|
||||
public:
|
||||
int m_Fileofs;
|
||||
int m_Filelen;
|
||||
};
|
||||
|
||||
class DHeader
|
||||
{
|
||||
public:
|
||||
int m_Ident;
|
||||
int m_Version;
|
||||
Lump m_Lump[HEADER_LUMPS];
|
||||
};
|
||||
|
||||
#define PLANE_HASHES 1024
|
||||
#define NORMAL_EPSILON 0.0001
|
||||
#define DIST_EPSILON 0.02
|
||||
|
||||
class SPlane {
|
||||
public:
|
||||
vector3 m_vecNormal;
|
||||
float m_fDist;
|
||||
int m_Type;
|
||||
SPlane *m_pHash_Chain;
|
||||
};
|
||||
|
||||
#define MAX_POINTS_ON_WINDING 64
|
||||
#define MAX_POINTS_ON_FIXED_WINDING 12
|
||||
|
||||
class SWinding {
|
||||
public:
|
||||
int m_nPoints;
|
||||
vector3 m_vecPoints[MAX_POINTS_ON_FIXED_WINDING];
|
||||
//vector3 m_vecPoints[4];
|
||||
};
|
||||
|
||||
class SBspFace {
|
||||
public:
|
||||
SBspFace *m_pNext;
|
||||
int m_nPlane;
|
||||
int m_Priority;
|
||||
bool m_bChecked;
|
||||
bool m_bHint;
|
||||
SWinding *m_pWinding;
|
||||
};
|
||||
|
||||
|
||||
class SSide {
|
||||
public:
|
||||
int m_nPlane;
|
||||
float m_fTexMat[2][2];// Brush Primitive Texture matrix;
|
||||
float m_fvecs[2][4];// Texture Coordinate mapping
|
||||
|
||||
SWinding *m_pWinding;
|
||||
SWinding *m_pVisibleHull;
|
||||
|
||||
int m_nShader;
|
||||
|
||||
//struct shaderInfo_s *shaderInfo;
|
||||
|
||||
int m_Contents;
|
||||
int m_SurfaceFlags;
|
||||
int m_Value;
|
||||
|
||||
bool m_bVisible;
|
||||
bool m_bBevel;
|
||||
bool m_bBackSide;
|
||||
};
|
||||
|
||||
#define MAX_BRUSH_SIDES 1024
|
||||
|
||||
class SBspBrush {
|
||||
public:
|
||||
SBspBrush *m_pNext;
|
||||
int m_nEntity;
|
||||
int m_nBrush;
|
||||
|
||||
int m_nShader;
|
||||
//struct shaderInfo_s *contentShader;
|
||||
|
||||
int m_Contents;
|
||||
bool m_bDetail;
|
||||
bool m_bOpaque;
|
||||
int m_nOutPut;
|
||||
int m_PortalAreas[2];
|
||||
|
||||
SBspBrush *m_pOriginal;
|
||||
|
||||
vector3 m_vecMin,m_vecMax;
|
||||
int m_nSides;
|
||||
|
||||
SSide m_Sides[6];
|
||||
};
|
||||
|
||||
class SNode;
|
||||
|
||||
class SDrawSurRef
|
||||
{
|
||||
public:
|
||||
SDrawSurRef *m_pNextRef;
|
||||
int m_OutputNumber;
|
||||
};
|
||||
|
||||
class SPortal {
|
||||
public:
|
||||
SPlane m_Plane;
|
||||
SNode *m_pOnNode;
|
||||
SNode *m_pNodes[2];
|
||||
SPortal *m_pNext[2];
|
||||
SWinding *m_pWinding;
|
||||
|
||||
bool m_bSideFound;
|
||||
bool m_bHint;
|
||||
SSide *m_pSide;
|
||||
};
|
||||
|
||||
class SNode {
|
||||
public:
|
||||
int m_nPlane;
|
||||
SNode *m_pParent;
|
||||
vector3 m_vecMin,m_vecMax;
|
||||
SBspBrush *m_pVolume;
|
||||
|
||||
SSide *m_Side;
|
||||
SNode *m_pChildren[2];
|
||||
bool m_bHint;
|
||||
int m_nTinyPortals;
|
||||
vector3 m_vecReferencePoint;
|
||||
|
||||
bool m_bOpaque;
|
||||
bool m_bAreaPortal;
|
||||
int m_Cluster;
|
||||
int m_Area;
|
||||
SBspBrush *m_pBrushList;
|
||||
SDrawSurRef *m_pDrawSurfReferences;
|
||||
int m_Occupied;
|
||||
SPortal *m_pPortal;
|
||||
};
|
||||
|
||||
class STree {
|
||||
public:
|
||||
SNode *m_pHeadNode;
|
||||
SNode m_OutSideNode;
|
||||
vector3 m_vecMin,m_vecMax;
|
||||
};
|
||||
|
||||
class SDrawSurf
|
||||
{
|
||||
public:
|
||||
int m_nShader;
|
||||
SBspBrush *m_MapBrush;
|
||||
SSide *m_Side;
|
||||
SDrawSurf *m_pNextOnShader;
|
||||
|
||||
int m_nFog;
|
||||
int m_nLightmap;
|
||||
int m_nLightmapX,m_nLightmapY;
|
||||
int m_LightmapWidth,m_LightmapHeight;
|
||||
|
||||
int m_nVerts;
|
||||
BspVertex *m_pVerts;
|
||||
|
||||
int m_nIndex;
|
||||
int *m_pIndex;
|
||||
|
||||
int m_nPlane;
|
||||
|
||||
vector3 m_vecLightmapOrigin;
|
||||
vector3 m_vecLightmapVecs[3];
|
||||
|
||||
bool m_bPatch;
|
||||
int m_PatchWidth;
|
||||
int m_PatchHeight;
|
||||
|
||||
bool m_bMiscModel;
|
||||
bool m_bFlareSurface;
|
||||
};
|
||||
|
||||
class SEdgePoint
|
||||
{
|
||||
public:
|
||||
float m_fIntercept;
|
||||
vector3 m_vecXYZ;
|
||||
SEdgePoint *m_pPrev,*m_pNext;
|
||||
};
|
||||
|
||||
class SEdgeLine
|
||||
{
|
||||
public:
|
||||
vector3 m_vecNormal1;
|
||||
float m_fDist1;
|
||||
vector3 m_vecNormal2;
|
||||
float m_fDist2;
|
||||
|
||||
vector3 m_vecOrigin;
|
||||
vector3 m_vecDir;
|
||||
|
||||
SEdgePoint m_Chain;
|
||||
};
|
||||
|
||||
class SOriginalEdge {
|
||||
public:
|
||||
float m_fLength;
|
||||
BspVertex *m_dv[2];
|
||||
};
|
||||
|
||||
class SMesh
|
||||
{
|
||||
public:
|
||||
int m_nWidth,m_nHeight;
|
||||
BspVertex *m_pVerts;
|
||||
};
|
||||
|
||||
class SParseMesh
|
||||
{
|
||||
public:
|
||||
SParseMesh *m_pNext;
|
||||
SMesh m_Mesh;
|
||||
|
||||
int m_nShader;
|
||||
|
||||
bool m_bGrouped;
|
||||
SParseMesh *m_pGrupChain;
|
||||
};
|
||||
|
||||
class DSurface
|
||||
{
|
||||
public:
|
||||
int m_nShader;
|
||||
int m_nFog;
|
||||
int m_SurfaceType;
|
||||
|
||||
int m_FirstVert;
|
||||
int m_nVerts;
|
||||
|
||||
int m_FirstIndex;
|
||||
int m_nIndex;
|
||||
|
||||
int m_nLightmap;
|
||||
int m_LightmapX,m_LightmapY;
|
||||
int m_LightmapWidth,m_LightmapHeight;
|
||||
|
||||
vector3 m_vecLightmapOrigin;
|
||||
vector3 m_vecLightmap[3];
|
||||
|
||||
int m_PatchWidth;
|
||||
int m_PatchHeight;
|
||||
};
|
||||
|
||||
class DPlane
|
||||
{
|
||||
public:
|
||||
vector3 m_vecNormal;
|
||||
float m_fDist;
|
||||
};
|
||||
|
||||
class DModel
|
||||
{
|
||||
public:
|
||||
vector3 m_vecMin,m_vecMax;
|
||||
int m_nFirstSurface,m_nSurfaces;
|
||||
int m_nFirstBrush,m_nBrushes;
|
||||
};
|
||||
|
||||
class DNode
|
||||
{
|
||||
public:
|
||||
int m_nPlane;
|
||||
int m_Children[2];
|
||||
vector3 m_min;
|
||||
vector3 m_max;
|
||||
};
|
||||
|
||||
class DLeaf
|
||||
{
|
||||
public:
|
||||
int m_Cluster;
|
||||
int m_Area;
|
||||
|
||||
vector3 m_min;
|
||||
vector3 m_max;
|
||||
|
||||
int m_FirstLeafSurface;
|
||||
int m_nLeafSurfaces;
|
||||
int m_FirstLeafBrush;
|
||||
int m_nLeafBrushes;
|
||||
};
|
||||
|
||||
class DBrush
|
||||
{
|
||||
public:
|
||||
int m_FirstSide;
|
||||
int m_nSides;
|
||||
int m_nShader;
|
||||
};
|
||||
|
||||
class DBrushSide
|
||||
{
|
||||
public:
|
||||
int m_nPlane;
|
||||
int m_nShader;
|
||||
};
|
||||
|
||||
class DVisiblity
|
||||
{
|
||||
public:
|
||||
int nClusters;
|
||||
int RowSize;
|
||||
unsigned char data[1];
|
||||
};
|
||||
|
||||
|
||||
|
||||
class SPassage
|
||||
{
|
||||
public:
|
||||
SPassage *m_pNext;
|
||||
BYTE m_Cansee[1];
|
||||
};
|
||||
|
||||
typedef enum
|
||||
{
|
||||
stat_none,
|
||||
stat_working,
|
||||
stat_done
|
||||
}Vstatus;
|
||||
|
||||
class VPortal
|
||||
{
|
||||
public:
|
||||
int m_Num;
|
||||
bool m_bHint;
|
||||
bool m_bRemoved;
|
||||
SPlane m_Plane;
|
||||
int m_Leaf;
|
||||
|
||||
vector3 m_vecOrigin;
|
||||
float m_fRadius;
|
||||
|
||||
SWinding *m_pWinding;
|
||||
Vstatus m_Status;
|
||||
BYTE *m_pPortalFront;
|
||||
BYTE *m_pPortalFlood;
|
||||
BYTE *m_pPortalVis;
|
||||
|
||||
int m_nMightsee;
|
||||
SPassage *m_Passage;
|
||||
};
|
||||
|
||||
#define MAX_PORTALS_ON_LEAF 128
|
||||
|
||||
class Leaf
|
||||
{
|
||||
public:
|
||||
int m_nPortals;
|
||||
int m_Merged;
|
||||
VPortal *m_pPortals[MAX_PORTALS_ON_LEAF];
|
||||
};
|
||||
|
||||
#define MAX_MAP_PORTALS 65536
|
||||
#define MAX_SEPERATORS 64
|
||||
#define MAX_PORTALS 32768
|
||||
|
||||
class PStack
|
||||
{
|
||||
public:
|
||||
BYTE m_Mightsee[MAX_PORTALS/8];
|
||||
PStack *m_pNext;
|
||||
Leaf *m_pLeaf;
|
||||
VPortal *m_pPortal;
|
||||
SWinding *m_pSource;
|
||||
SWinding *m_pPass;
|
||||
|
||||
SWinding m_Winding[3];
|
||||
int m_FreeWindings[3];
|
||||
|
||||
SPlane m_PortalPlane;
|
||||
int m_Depth;
|
||||
|
||||
SPlane m_Seperators[2][MAX_SEPERATORS];
|
||||
int m_nSeperators[2];
|
||||
};
|
||||
|
||||
class ThreadData
|
||||
{
|
||||
public:
|
||||
VPortal *m_pBase;
|
||||
int m_cChains;
|
||||
PStack m_PStackHead;
|
||||
};
|
||||
|
||||
class DShader
|
||||
{
|
||||
public:
|
||||
char m_strTextureName[256];
|
||||
};
|
||||
|
||||
class DLight
|
||||
{
|
||||
public:
|
||||
vector3 m_vecLightPos;
|
||||
color m_LightColor;
|
||||
float m_fLightRange;
|
||||
int m_Photons;
|
||||
};
|
||||
|
||||
class TraceT
|
||||
{
|
||||
public:
|
||||
vector3 m_vecFilter;
|
||||
vector3 m_vecHit;
|
||||
float m_fHitFraction;
|
||||
bool m_bPassSolid;
|
||||
};
|
||||
|
||||
class TraceWorkT
|
||||
{
|
||||
public:
|
||||
vector3 m_vecStart,m_vecEnd;
|
||||
int m_nOpenLeafs;
|
||||
int m_OpenLeafNumbers[MAX_MAP_LEAFS];
|
||||
TraceT *m_Trace;
|
||||
int m_PatchShadows;
|
||||
};
|
||||
|
||||
|
||||
#define TRACE_ON_EPSILON 0.1
|
||||
|
||||
class TNode
|
||||
{
|
||||
public:
|
||||
int m_Type;
|
||||
vector3 m_vecNormal;
|
||||
float m_fDist;
|
||||
int m_Children[2];
|
||||
int m_nPlaneNum;
|
||||
};
|
||||
|
||||
#define MAX_TNODES (MAX_MAP_NODES*4)
|
||||
#define TRACE_ON_EPSILON 0.1
|
||||
|
||||
class CFaceT
|
||||
{
|
||||
public:
|
||||
float m_fSurface[4];
|
||||
int m_nBoundaries;
|
||||
float m_fBoundaries[4][4];
|
||||
|
||||
vector3 m_vecPoint[4];
|
||||
float m_fTextureMatrix[2][4];
|
||||
};
|
||||
|
||||
class SurfaceTestT
|
||||
{
|
||||
public:
|
||||
vector3 m_vecMins,m_vecMaxs;
|
||||
vector3 m_vecOrigins;
|
||||
float m_fRadius;
|
||||
|
||||
bool m_bPatch;
|
||||
int m_nFacets;
|
||||
CFaceT *m_Facets;
|
||||
|
||||
int m_nShader;
|
||||
};
|
||||
Reference in New Issue
Block a user