Skip to content

snake-biscuits/bsp_tool

Repository files navigation

bsp_tool

Python library for analysing .bsp files

bsp_tool provides a Command Line Interface for analysing .bsp files

Installation

To use the latest unstable version, clone with git:

$ git clone git@github.com:snake-biscuits/bsp_tool.git

You can also clone with pip:

$ pip install git+https://github.com/snake-biscuits/bsp_tool.git

Or, use the latest stable release (August 2024 | 0.5.0 | Python 3.8-11):

$ pip install bsp_tool

Fair Use

Please do not use bsp_tool to copy or steal another creator's work
The primary goal of bsp_tool is to extend community mapping tools

Always

  • Ask the creator's permission before touching their work
  • Understand that by default creator's works are under copyright
  • Contact the original creator to get their permission
    • This can get complicated
    • Some creators don't hold the copyright on their works
      • often because of Company / Publisher contracts
  • Credit the original creator; once you have permission to share a derivative work
  • Support the official release

DO NOT use this tool to steal another creator's work
DO use this tool to understand the .bsp format(s) and create more specific tools

Be aware that this gets even more complicated with commercial projects

Usage

To load a .bsp file in python:

>>> import bsp_tool
>>> bsp_tool.load_bsp("map_folder/filename.bsp")
<ValveBsp filename.bsp (VBSP version 20) at 0x00...>

Full documentation: snake-biscuits.github.io/bsp_tool/ [WIP]

Thanks

  • BobTheBob
    • Identified loads of Titanfall lumps (90% of static props + more)
  • Call of Duty Promod Team
    • For distributing safe links to Call of Duty 4 Mod Tools
  • Chris Strahl
    • Preserving extensive documentation, mods & source code for Quake 3 & Ubertools games
  • Ficool2
    • Providing lots of current and detailed info on Source & helping track down some rarer titles
  • F1F7Y
    • Lead developer on MRVN-Radiant NetRadiant-custom fork for Respawn's Source Engine fork
  • GCFScape
    • Super handy .vpk (Valve format) browser; VTFLib / VTFEdit is also from Nem's Tools
  • JJL772
    • Published public documentation for the otherwise closed-source VBSP v25
  • John Romero
    • Supplying .map level source files for Quake
  • Maxime Dupuis
    • Helping me identify multiple lumps in Source Engine .bsps
  • MobyGames
    • Keeping records of the credits on so many games, helping to pin down engine origins
  • pakextract
    • Super useful tool for .pak files
  • PCGamingWiki
    • Archiving old patches to help install old modding tools
  • rexx
    • Donating a lot of time helping organise & gather maps from 2019 Apex Legends
  • REDxEYE
    • Being very open and actively collaborating on SourceIO & Titanfall .bsps
  • Taskinoz
    • Helping me find people that can actively use my research & tools
  • Valve Developer Wiki
    • For starting me on this path however many years ago
  • Warmist
    • Identifying physics model related structs for Titanfall 2
  • All of the Wiki Editors
    • Except for the uncited Id Tech 3 -> Treyarch NGL on CoDWiki [citation needed]