//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============// // // Purpose: // //=============================================================================// #ifndef MAP_SHARED_H #define MAP_SHARED_H #ifdef _WIN32 #pragma once #endif #include "ChunkFile.h" #include "bsplib.h" #include "cmdlib.h" struct LoadEntity_t { entity_t *pEntity; int nID; int nBaseFlags; int nBaseContents; }; class CMapError { public: void BrushState( int brushID ) { m_brushID = brushID; } void BrushSide( int side ) { m_sideIndex = side; } void TextureState( const char *pTextureName ) { Q_strncpy( m_textureName, pTextureName, sizeof( m_textureName ) ); } void ClearState( void ) { BrushState( 0 ); BrushSide( 0 ); TextureState( "Not a Parse error!" ); } //----------------------------------------------------------------------------- // Purpose: Hook the map parse errors and report brush/ent/texture state // Input : *pErrorString - //----------------------------------------------------------------------------- void ReportError( const char *pErrorString ) { Error( "Brush %i: %s\nSide %i\nTexture: %s\n", m_brushID, pErrorString, m_sideIndex, m_textureName ); } //----------------------------------------------------------------------------- // Purpose: Hook the map parse errors and report brush/ent/texture state without exiting. // Input : pWarningString - //----------------------------------------------------------------------------- void ReportWarning( const char *pWarningString ) { printf( "Brush %i, Side %i: %s\n", m_brushID, m_sideIndex, pWarningString ); } private: int m_brushID; int m_sideIndex; char m_textureName[80]; }; extern CMapError g_MapError; extern int g_nMapFileVersion; // Shared mapload code. ChunkFileResult_t LoadEntityKeyCallback( const char *szKey, const char *szValue, LoadEntity_t *pLoadEntity ); // Used by VRAD incremental lighting - only load ents from the file and // fill in the global entities/num_entities array. bool LoadEntsFromMapFile( char const *pFilename ); #endif // MAP_SHARED_H