AutoBSPpackingTool: Difference between revisions
Jump to navigation
Jump to search
Note:The program requires Microsoft
.NET Framework 4.0 or higher.
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 assets 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
Portal 2), you may need to manually set the --game parameter depending on the game you are using it with, so the complete Parameters for
Portal 2 will look like this:
--vmf $path\$file.vmf --bsp $bspdir\$file.bsp --game "portal2" --notify
m (temporary fix for Dropbox link) |
(update 18.0.0) |
||
Line 16: | Line 16: | ||
| distribution = Freeware | | distribution = Freeware | ||
| websites = | | websites = | ||
| download = | | download = {{github|drinklc/AutoBSPpackingTool/releases|GitHub}} | ||
<!-- Operating system(s)--> | <!-- Operating system(s)--> | ||
Line 30: | Line 30: | ||
| enginesstyle = 1 | | enginesstyle = 1 | ||
| version = | | version = 18.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 asset that can be used in a [[BSP|map]]. | {{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.}} | ||
{{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 assets used in scripts without running the engine.}} | |||
{{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 | |||
{{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.}} | {{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.}} | ||
Line 85: | Line 84: | ||
== Features == | == Features == | ||
* Detects materials, textures, models, sounds ([[.wav]], [[.mp3]], | * Detects materials, textures, models, sounds ([[.wav]], [[MP3|.mp3]], {{wiki|Ogg|.ogg|icon=0}}, {{wiki|FLAC|.flac|icon=0}}), [[Skybox_(2D)|skybox]] materials, [[Detail props|detail files]], [[color correction|color correction profiles]], [[PCF_File_Format|particles]], etc. | ||
* Detects materials and textures used in models (including [[Multiple Skins for a Single Model|skins]]), also detects [[$includemodel]] parameter and [[Creating custom gibs|gibs]]. | * Detects materials and textures used in models (including [[Multiple Skins for a Single Model|skins]]), also detects [[$includemodel]] parameter and [[Creating custom gibs|gibs]]. | ||
* Recognizes [[patch]] materials. | * Recognizes [[patch]] materials. | ||
* Detects [[.nav]] ([[Nav Mesh|navigation mesh]]), [[.ain]] ({{ent|info_node}}), .txt ([[Mapname.txt|map description]]), .txt ([[soundscape]]), .txt ([[soundscripts|soundscript]]), .cache ([[soundcache]]), .txt ([[Counter-Strike: Global Offensive/Game Modes/Retakes#Adding_Retakes_Support_to_a_Bomb_Scenario_Map|retake bombplants]]), .txt ([[CS:GO Spectator Tools#Spectator Cameras|camera positions]]), .txt (map story), .txt ([[Commentary System#The_Commentary_File|map commentary]]), .txt ([[Particles_manifest.txt|particles manifests]]), .txt ([[Creating_a_working_mini-map#Intro_and_Basics|radar information]]), .dds ([[Creating_a_working_mini-map#Intro_and_Basics|radar images]]), .svg (map icon), .png (map background), .kv ([[Choosing Player Models|player models]]), [[KeyValues3|.kv3]] ([[CS:GO Bot Behavior Trees|bots behaviour]]), .png ([[Counter-Strike: Global Offensive/Game Modes/Danger Zone#Map_Overviews|dz spawn mask]]), .png ([[CS:GO Game Modes/Danger Zone#Map_Overviews|dz deployment map]]), .vtf ([[Counter-Strike: Global Offensive/Game Modes/Danger Zone#Map_Overviews|dz tablet map]]). | * Detects [[.nav]] ([[Nav Mesh|navigation mesh]]), [[.ain]] ({{ent|info_node}}), .txt ([[Mapname.txt|map description]]), .txt ([[soundscape]]), .txt ([[soundscripts|soundscript]]), .cache ([[soundcache]]), .txt ([[Counter-Strike: Global Offensive/Game Modes/Retakes#Adding_Retakes_Support_to_a_Bomb_Scenario_Map|retake bombplants]]), .txt ([[CS:GO Spectator Tools#Spectator Cameras|camera positions]]), .txt (map story), .txt ([[Commentary System#The_Commentary_File|map commentary]]), .txt ([[Particles_manifest.txt|particles manifests]]), .txt ([[Creating_a_working_mini-map#Intro_and_Basics|radar information]]), .dds ([[Creating_a_working_mini-map#Intro_and_Basics|radar images]]), .svg (map icon), .png (map background), .kv ([[Choosing Player Models|player models]]), [[KeyValues3|.kv3]] ([[CS:GO Bot Behavior Trees|bots behaviour]]), .png ([[Counter-Strike: Global Offensive/Game Modes/Danger Zone#Map_Overviews|dz spawn mask]]), .png ([[CS:GO Game Modes/Danger Zone#Map_Overviews|dz deployment map]]), .vtf ([[Counter-Strike: Global Offensive/Game Modes/Danger Zone#Map_Overviews|dz tablet map]]). | ||
* Detects sounds referenced in [[soundscape]] and [[soundscript]] files. | * Detects sounds referenced in [[soundscape]] and [[soundscript]] files. | ||
* Detects | * Detects [[.nut|scripts]] and [[.cfg|configs]]. | ||
* 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]], | * Detects models, sounds, bots behaviour files and other scripts and configs inside detected scripts '''if and only if they are named with their file extensions''' ([[.mdl]], [[.wav]], [[MP3|.mp3]], {{wiki|Ogg|.ogg|icon=0}}, {{wiki|FLAC|.flac|icon=0}}, [[.kv3]], [[.nut]], [[.cfg]]). | ||
{{warning| | {{warning| | ||
* The program does not detect | * The program does not detect assets referenced in scripts with a space in the path. | ||
}} | }} | ||
* Also finds [[.vmf]] files specified in {{ent|func_instance}} entities and packs their | * Also finds [[.vmf]] files specified in {{ent|func_instance}} entities and packs their custom assets too. | ||
* 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. | ||
Line 117: | Line 115: | ||
; {{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 assets will be saved in the ''cache'' folder). | ; {{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 the game in the [[#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 the game in the [[#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). | ||
: 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. | : 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, {{Path|C:/Program Files (x86)/Steam/steamapps/common/Counter-Strike Global Offensive/csgo/}}'' | :: Examples: ''0, 1, csgo, garrysmod, {{Path|C:/Program Files (x86)/Steam/steamapps/common/Counter-Strike Global Offensive/csgo/}}'' | ||
; {{Code|-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. | ; {{Code|--log}} (or {{Code|-l}}): 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. | ||
; {{Code|-notify}}: Show a notification when packing is finished. | ; {{Code|--notify}} (or {{Code|-n}}): Show a notification when packing is finished. | ||
; {{Code|- | ; {{Code|--use-native-tools}} (or {{Code|-u}}): Use native (built-in) tools instead of [[VPK#Windows|vpk.exe]] and [[BSPZIP|bspzip.exe]]. | ||
; {{Code|-addcfg <path>}}: Add game configuration (configurations located in {{Code|preset=1|<the directory .exe file is in>/game_cfgs/}} will be added automatically). | ; {{Code|--addcfg <path>}}: Add game configuration (configurations located in {{Code|preset=1|<the directory .exe file is in>/game_cfgs/}} will be added automatically). | ||
; {{Code|-gameinfo <path>}}: Set the path to the <code>gameinfo.txt</code> file if it isn't stored in the default location or the program fails to find it. | ; {{Code|--gameinfo <path>}}: Set the path to the <code>gameinfo.txt</code> file if it isn't stored in the default location or the program fails to find it. | ||
; {{Code|-mountcfg <path>}}: Set the path to the <code>mount.cfg</code> file if it isn't stored in the default location or the program fails to find it {{gmod|only}}. | ; {{Code|--mountcfg <path>}}: Set the path to the <code>mount.cfg</code> file if it isn't stored in the default location or the program fails to find it {{gmod|only}}. | ||
; {{Code|--cachedir <path>}}: Override default ''cache'' folder path ({{Code|preset=1|<the directory .exe file is in>/cache/}}). | |||
; {{Code|--no-backup}} (or {{Code|-b}}): Don't create a backup copy of the [[.bsp]] file. | |||
== Usage with Hammer == | == Usage with Hammer == | ||
Line 146: | Line 148: | ||
# Set the ''Command'' to the full path of the program .exe file.<br> | # Set the ''Command'' to the full path of the program .exe file.<br> | ||
#: Example: ''{{Path|C:/Users/user/Downloads/AutoBSPpackingTool|exe}}'' | #: Example: ''{{Path|C:/Users/user/Downloads/AutoBSPpackingTool|exe}}'' | ||
# Set the ''Parameters'' to: {{Code|'''-vmf $path\$file.vmf -bsp $bspdir\$file.bsp -game $gamedir -notify'''}} and add other arguments if you want.<br> | # Set the ''Parameters'' to: {{Code|'''--vmf $path\$file.vmf --bsp $bspdir\$file.bsp --game $gamedir --notify'''}} and add other arguments if you want.<br> | ||
# Done! Now press '''Go!''' and wait until the notification appears. | # Done! Now press '''Go!''' and wait until the notification appears. | ||
{{Note|If you are using {{hpp|4}} with a game that isn't officially supported by it (for example, with {{p2|4}}), you may need to manually set the {{Code|-game}} parameter depending on the game you are using it with, so the complete ''Parameters'' for {{p2|4}} will look like this:<br> | {{Note|If you are using {{hpp|4}} with a game that isn't officially supported by it (for example, with {{p2|4}}), you may need to manually set the {{Code|--game}} parameter depending on the game you are using it with, so the complete ''Parameters'' for {{p2|4}} will look like this:<br> | ||
{{Code|'''-vmf $path\$file.vmf -bsp $bspdir\$file.bsp -game "portal2" -notify'''}}}} | {{Code|'''--vmf $path\$file.vmf --bsp $bspdir\$file.bsp --game "portal2" --notify'''}}}} | ||
== External links == | == External links == | ||
=== Downloads === | === Downloads === | ||
* | * {{github|drinklc/AutoBSPpackingTool|GitHub}} | ||
=== Communities === | === Communities === | ||
* | * {{reddit|r/hammer/comments/tuczcf/autobsppackingtool_a_magic_tool|Reddit thread}} | ||
== See also == | == See also == |
Revision as of 14:24, 17 September 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, .flac), skybox materials, detail files, color correction profiles, particles, etc.
- 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 and configs.
- Detects models, sounds, bots behaviour files and other scripts and configs inside detected scripts if and only if they are named with their file extensions (.mdl, .wav, .mp3, .ogg, .flac, .kv3, .nut, .cfg).

- The program does not detect assets referenced in scripts with a space in the path.
- Also finds .vmf files specified in func_instance entities and packs their custom assets 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 the game in the 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 (or -l)
- 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 (or -n)
- Show a notification when packing is finished.
- --use-native-tools (or -u)
- Use native (built-in) tools instead of vpk.exe and bspzip.exe.
- --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).
- --cachedir <path>
- Override default cache folder path (<the directory .exe file is in>/cache/).
- --no-backup (or -b)
- Don't create a backup copy of the .bsp file.
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 "portal2" --notify
External links
Downloads
Communities
See also
|