Valve BSP-file parser, written in modern C++. This parser does only parse the basic .bsp tree
and doesn't include a .vpk/.mdl parser/reader. Feel free to contribute 😊
- C++ compiler with support for C++ 17
- Tested with Visual Studio 2019
v16.0+ MSVC compiler
- Tested with Visual Studio 2019
I'm using
/MTin release and/MTdin debug as runtime library. So either adjust your project settings to mine or vice versa!
- Clone the repository into your solution directory (I alway do this in
contrib) - Right click on your solution
- Add > Existing Project ... > and select the
valve-bsp-parser.vcxproj - Right click on your project in your solution
- Add > Reference... > and select
valve-bsp-parser - Right click on your project in your solution > Properties
- C/C++ > General > Additional Include Directories and add the
includedirectory of this repository!
All you need to parse a .bsp file is the path of the game- and map-directory. There's a short example code for Counter-Strike: Global Offensive
// in your update routine
_parsed_map = _bsp_parser->load_map(
_engine->get_game_directory(),
_client_state->get_map_directory()
);
// your sdk helper or wrapper function ... w/e
bool sdk_helper::is_visible(
const rn::vector3& origin,
const rn::vector3& destination
) const
{
return _parsed_map
? _bsp_parser->is_visible( origin, destination )
: false;
}