Packbsp: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
mNo edit summary
No edit summary
 
(18 intermediate revisions by 8 users not shown)
Line 1: Line 1:
'''PackBsp''' is a developer tool that can automatically detect custom contents needed for a map, resolve and include dependencies within them, and pack all the relevant content into the BSP file. It is currently under active development by the author.  
{{LanguageBar}}
{{pbsp|4.1}} is an open-source developer tool that automatically analyzes a map and discovers its network of dependencies, such as artistic assets, and packs them into the BSP file.  


Latest version: 2.0 Beta 2 (June 14th 2010)
{{Warning|Currently, this tool does not work at all if it cannot detect the old [[Source SDK]] at \SteamApps\[steam_username]\Source SDK\ which makes it somewhat unusable with the new [[SteamPipe]] update that moved all game folders to SteamApps\common\ -- until someone fixes it and releases new binaries, it is suggested you use [[bspzip]] or [[Pakrat]] instead.}}


"Dependencies" include VTF texture files which may be required by a VMT material file, or WAV files referenced from within a custom soundscape, or custom particle files (PCF) used within a particle manifest.
{{tip|While no longer under active development, the author welcomes any contributions or fixes, which can be submitted through Github.}}


It relies on the Source SDK to access the [[bspzip]] SDK tools for a subset of it's functionality, as well as utilizing [[HLLib]] to open BSP/GCF files. It will automatically determine the GCFs shipped with a game and will avoid packing duplicate contents.
For example, your map may have a custom model in it. PackBSP will analyze the model to find all the files and materials it uses, and then analyze those to find gibs or textures, etc. until everything has been explored. It will compare these files against what exists in GCF/NCF files so that only the custom content you really need is included in the map, and can show you when needed content is missing.
 
[[File:Packbsp_screen01.png]]


== Features==
== Features==
Line 15: Line 18:
* Handles map-specific [[particles_manifest.txt|particle manifests]].
* Handles map-specific [[particles_manifest.txt|particle manifests]].
* Handles custom [[soundscape]]s.
* Handles custom [[soundscape]]s.
== Anticipated capabilities in future releases ==
* Analyze dependencies for arbitrary files
* Graphical display of the dependency graph


== Eventual plans ==
== Eventual plans ==
* Support for VPK-based mods (Left 4 Dead series)
* Support for Left 4 Dead series, Alien Swarm
* Support Macs
* Support for Macs


== External links ==
== External links ==
* [http://technofovea.com/blog/projects/packbsp Author's site]
* [http://technofovea.com/blog/projects/packbsp Author's website]
* [https://github.com/DHager/packbsp/ GitHub project page]
 
== Issues ==
If the .bsp map has .mp3 sound files "Packbsp" will list it as "sound-name.mp3.wav"
 
"Packbsp" does not understand if the .bsp has a sprite with ".spr" E.G. materials/sprites/sprite-name.spr
 
The "Remove Selected" button is bugged and will not always remove the item that is highlighted.


== See also ==
== See also ==
Line 31: Line 38:
* [[Map Analyst]]
* [[Map Analyst]]


 
{{sdktools|0}}
[[Category:Third Party Tools]]
[[Category:Third Party Tools]]
[[Category:Level Design]]
[[Category:Level Design]]

Latest revision as of 20:41, 27 June 2025

English (en)中文 (zh)Translate (Translate)

Packbsp Packbsp is an open-source developer tool that automatically analyzes a map and discovers its network of dependencies, such as artistic assets, and packs them into the BSP file.

Warning.pngWarning:Currently, this tool does not work at all if it cannot detect the old Source SDK at \SteamApps\[steam_username]\Source SDK\ which makes it somewhat unusable with the new SteamPipe update that moved all game folders to SteamApps\common\ -- until someone fixes it and releases new binaries, it is suggested you use bspzip or Pakrat instead.
Tip.pngTip:While no longer under active development, the author welcomes any contributions or fixes, which can be submitted through Github.

For example, your map may have a custom model in it. PackBSP will analyze the model to find all the files and materials it uses, and then analyze those to find gibs or textures, etc. until everything has been explored. It will compare these files against what exists in GCF/NCF files so that only the custom content you really need is included in the map, and can show you when needed content is missing.

Packbsp screen01.png

Features

  • Detects engines and games the same way the Source SDK launcher does.
  • Autodetects the relevant GCFs for a game and examines their contents.
  • Uses the same data Hammer does (FGDs) to intelligently detect uses of textures, models, etc. in your map.
  • Packs custom skybox textures and detail sprites.
  • Examines VMT files and understands a wide variety of dependencies, such as bumpmaps, env-maps, patch shaders, etc.
  • Handles map-specific particle manifests.
  • Handles custom soundscapes.

Eventual plans

  • Support for Left 4 Dead series, Alien Swarm
  • Support for Macs

External links

Issues

If the .bsp map has .mp3 sound files "Packbsp" will list it as "sound-name.mp3.wav"

"Packbsp" does not understand if the .bsp has a sprite with ".spr" E.G. materials/sprites/sprite-name.spr

The "Remove Selected" button is bugged and will not always remove the item that is highlighted.

See also