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.
91 lines
2.1 KiB
91 lines
2.1 KiB
//========= Copyright 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
|