AutoBSPpackingTool: Difference between revisions
Jump to navigation
Jump to search
Note:The program requires Microsoft
.NET Framework 4.0 or higher.
Note:The program uses vpk.exe and bspzip.exe, so you must have the SDK tools installed and the game itself you want to pack files for.
Tip:It will be better if you pack your custom content referenced in scripts by yourself, because there are a lot of situations in which it's impossible to detect custom content used in scripts without running the engine.
Important:You should put the program in an individual folder, because it will create a cache folder and a folder to store game configurations in the directory the .exe file is in.
Warning:
Tip:You can create your own game configuration or edit existing ones
Note:If you are using
Hammer++ with a game that isn't officially supported by it (for example, with
Garry's Mod), you may need to manually set the -game parameter depending on the game you are using it with, so the complete Parameters for
Garry's Mod will look like this:
-vmf $path\$file.vmf -bsp $bspdir\$file.bsp -game "garrysmod" -notify
(update 17.0.0.0 (changed version numbering)) |
m (some clarification) |
||
Line 31: | Line 31: | ||
| version = 17.0.0.0 | | version = 17.0.0.0 | ||
}} | }} | ||
{{autobspp|4}} is a third party tool made for {{Src|4}} developers and mappers. It automatically detects and packs almost every possible custom | {{autobspp|4}} is a third party tool made for {{Src|4}} developers and mappers. It automatically detects and packs almost every possible custom asset that can be used in a [[BSP|map]]. | ||
{{Note|The program requires Microsoft {{net|4}} 4.0 or higher.}} | {{Note|The program requires Microsoft {{net|4}} 4.0 or higher.}} | ||
{{Note|The program uses [[VPK#Windows|vpk.exe]] and [[BSPZIP|bspzip.exe]], so you must have the SDK tools installed and the game itself you want to pack files for.}} | {{Note|The program uses [[VPK#Windows|vpk.exe]] and [[BSPZIP|bspzip.exe]], so you must have the SDK tools installed and the game itself you want to pack files for.}} | ||
Line 98: | Line 98: | ||
* The program reads <code>gameinfo.txt</code> (and <code>mount.cfg</code> for {{gmod|4}}) to get content search paths. | * The program reads <code>gameinfo.txt</code> (and <code>mount.cfg</code> for {{gmod|4}}) to get content search paths. | ||
* The program also reads <code>libraryfolders.vdf</code> to get steam library folders paths. | * The program also reads <code>libraryfolders.vdf</code> to get steam library folders paths. | ||
* Can either pack all the found files into [[.bsp]] or save a file with a list of all detected custom | * Can either pack all the found files into [[.bsp]] or save a file with a list of all detected custom assets. | ||
* The program will create a backup copy of the [[.bsp]] file (.bsp.backup) | * The program will create a backup copy of the [[.bsp]] file (.bsp.backup) | ||
* The program checks for an update on startup. | * The program checks for an update on startup. | ||
Line 118: | Line 118: | ||
; {{Code|-vmf <path>}}: Set the path to .vmf file. | ; {{Code|-vmf <path>}}: Set the path to .vmf file. | ||
; {{Code|-bsp <path>}}: Set the path to .bsp file (if not specified, a file with a list of all detected custom | ; {{Code|-bsp <path>}}: Set the path to .bsp file (if not specified, a file with a list of all detected custom assets will be saved in the ''cache'' folder). | ||
; {{Code|-game <index {{!}} gamefolder {{!}} path>}}: Select the game to use. Index is a number of game in [[#Supported games|supported games list]] starting from 0 (the order of the games in the list may change in the future, so it is better to use the game folder name or the path to it). | ; {{Code|-game <index {{!}} gamefolder {{!}} path>}}: Select the game to use. Index is a number of game in [[#Supported games|supported games list]] starting from 0 (the order of the games in the list may change in the future, so it is better to use the game folder name or the path to it). | ||
Line 138: | Line 138: | ||
== Usage with Hammer == | == Usage with Hammer == | ||
You can add a Hammer configuration to pack all the custom | You can add a Hammer configuration to pack all the custom assets right after compile. Follow these steps if you want to. | ||
Revision as of 14:21, 20 April 2024
AutoBSPpackingTool is a third party tool made for
Source developers and mappers. It automatically detects and packs almost every possible custom asset that can be used in a map.





Checkbox | Packed file(s), if existent |
---|---|
.nav (navigation mesh) | ![]() /maps/<mapname>.nav
|
.ain (info_node) | ![]() /maps/graphs/<mapname>.ain
|
.txt (map description) | ![]() /maps/<mapname>.txt
|
.txt (soundscape) | ![]() /scripts/soundscapes_<mapname>.txt
|
.txt (soundscript) | ![]() /maps/<mapname>_level_sounds.txt
|
.cache (soundcache) | ![]() /maps/soundcache/<mapname>.cache
|
.txt (retake bombplants) | ![]() /maps/<mapname>_retake.txt
|
.txt (camera positions) | ![]() /maps/<mapname>_cameras.txt
|
.txt (map story) | ![]() /maps/<mapname>_story.txt
|
.txt (map commentary) | ![]() /maps/<mapname>_commentary.txt
|
.txt (particles manifests) | ![]() /particles/particles_manifest.txt ![]() /maps/<mapname>_particles.txt ![]() /particles/<mapname>_manifest.txt
|
.txt (radar information) | ![]() /resource/overviews/<mapname>.txt
|
.dds (radar images) | ![]() /resource/overviews/<mapname>_radar.dds ![]() /resource/overviews/<mapname>_radar_spectate.dds (and vertical sections) |
.svg (map icon) | ![]() /materials/panorama/images/map_icons/map_icon_<mapname>.svg
|
.png (map background) | ![]() /materials/panorama/images/map_icons/screenshots/1080p/<mapname>.png
|
.kv (player models) | ![]() /maps/<mapname>.kv
|
.kv3 (bots behaviour) | ![]() /scripts/<any mentioned in scripts or .vmf>.kv3
|
.png (dz spawn mask) | ![]() /maps/<mapname>_spawnmask.png
|
.png (dz deployment map) | ![]() /materials/panorama/images/survival/spawnselect/map_<mapname>.png
|
.vtf (dz tablet map) | ![]() /materials/models/weapons/v_models/tablet/tablet_radar_<mapname>.vtf
|
Features
- Detects materials, textures, models, sounds (.wav, .mp3, .ogg), skybox materials, detail files, color correction profiles, particles.
- Detects materials and textures used in models (including skins), also detects $includemodel parameter and gibs.
- Recognizes patch materials.
- Detects .nav (navigation mesh), .ain (info_node), .txt (map description), .txt (soundscape), .txt (soundscript), .cache (soundcache), .txt (retake bombplants), .txt (camera positions), .txt (map story), .txt (map commentary), .txt (particles manifests), .txt (radar information), .dds (radar images), .svg (map icon), .png (map background), .kv (player models), .kv3 (bots behaviour), .png (dz spawn mask), .png (dz deployment map), .vtf (dz tablet map).
- Detects sounds referenced in soundscape and soundscript files.
- Detects scripts (.nut and .cfg).
- Detects models, sounds, bots behaviour files and other scripts inside detected scripts if and only if they are named with their file extensions (.mdl, .wav, .mp3, .ogg, .kv3, .nut, .cfg).

- The program does not detect scripts with a space in the path (so does the logic_script entity in
Hammer).
- The program does not detect sounds referenced in scripts with a space in the path.
- Also finds .vmf files specified in func_instance entities and packs their data too.
- The program reads
gameinfo.txt
(andmount.cfg
forGarry's Mod) to get content search paths.
- The program also reads
libraryfolders.vdf
to get steam library folders paths. - Can either pack all the found files into .bsp or save a file with a list of all detected custom assets.
- The program will create a backup copy of the .bsp file (.bsp.backup)
- The program checks for an update on startup.
- The program shows a notification when packing is finished.
Supported games

Native support:
Options
The program can also be used via the command line interface. Below is a list of arguments that can be passed directly when launching the program.
- -vmf <path>
- Set the path to .vmf file.
- -bsp <path>
- Set the path to .bsp file (if not specified, a file with a list of all detected custom assets will be saved in the cache folder).
- -game <index | gamefolder | path>
- Select the game to use. Index is a number of game in supported games list starting from 0 (the order of the games in the list may change in the future, so it is better to use the game folder name or the path to it).
- Also, if the program fails to find your Steam path and if you use the path to the game folder in this argument, then the Steam path will be obtained from it.
- Examples: 0, 1, csgo, garrysmod,
C:/Program Files (x86)/Steam/steamapps/common/Counter-Strike Global Offensive/csgo/
- Examples: 0, 1, csgo, garrysmod,
- -log
- Create a log file. If this option is enabled and any argument is invalid, a cmd_exit_reason.log file will be created in the cache folder.
- -notify
- Show a notification when packing is finished.
- -cachedir <path>
- Override default cache folder path (<the directory .exe file is in>/cache/).
- -addcfg <path>
- Add game configuration (configurations located in <the directory .exe file is in>/game_cfgs/ will be added automatically).
- -gameinfo <path>
- Set the path to the
gameinfo.txt
file if it isn't stored in the default location or the program fails to find it.
- -mountcfg <path>
- Set the path to the
mount.cfg
file if it isn't stored in the default location or the program fails to find it (only in).
Usage with Hammer
You can add a Hammer configuration to pack all the custom assets right after compile. Follow these steps if you want to.
- Add a new compile configuration in the expert compile mode.
- Set its name to [AutoBSPpackingTool] - Pack data or whatever you want.
- Set the Command to the full path of the program .exe file.
- Example:
C:/Users/user/Downloads/AutoBSPpackingTool.exe
- Example:
- Set the Parameters to: -vmf $path\$file.vmf -bsp $bspdir\$file.bsp -game $gamedir -notify and add other arguments if you want.
- Done! Now press Go! and wait until the notification appears.




-vmf $path\$file.vmf -bsp $bspdir\$file.bsp -game "garrysmod" -notify
External links
Downloads