AutoBSPpackingTool: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
mNo edit summary
(update 0.1.1.1)
Line 46: Line 46:
| .vtf (dz tablet map) || <code>/materials/models/weapons/v_models/tablet/tablet_radar_<mapname>.vtf</code>
| .vtf (dz tablet map) || <code>/materials/models/weapons/v_models/tablet/tablet_radar_<mapname>.vtf</code>
|}
|}
'''AutoBSPpackingTool''' is a third party tool made for {{game name|src|name=Source}} developers and mappers. It automatically detects and packs almost every possible custom file that can be used in a map ([[BSP|.bsp file]]). (Current version: 0.1.1.0).
{{MdCode|AutoBSPpackingTool}} is a third party tool made for {{Source|4}} developers and mappers. It automatically detects and packs almost every possible custom file that can be used in a [[BSP|map]]. (Current version: 0.1.1.1).
 
Currently the program supports only some games, the list of which you can find below, but support for more games will be added in the future.


[[#Download|Move to download heading]]
[[#Download|Move to download heading]]
Line 54: Line 52:
== Features ==
== Features ==
* Detects materials, textures, models, sounds (.wav, .mp3, .ogg), [[Skybox_(2D)|skybox]] materials, [[Detail_props|detail files]], [[Color_correction|color correction profiles]], [[PCF_File_Format|particles]].
* Detects materials, textures, models, sounds (.wav, .mp3, .ogg), [[Skybox_(2D)|skybox]] materials, [[Detail_props|detail files]], [[Color_correction|color correction profiles]], [[PCF_File_Format|particles]].
* Detects materials and textures used in models (including [[Multiple_Skins_for_a_Single_Model|skins]]) and also detects [[$includemodel]] parameter.
* 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]] ([[Nav Mesh|navigation mesh]]), [[AIN|.ain]] ([[info_node]]), .txt ([[Mapname.txt|map description]]), .txt ([[soundscape]]), .txt ([[soundscripts|soundscript]]), .cache ([[soundcache]]), .txt ([[CS:GO_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 ([[CS:GO_Game_Modes/Danger_Zone#Map_Overviews|dz spawn mask]]), .png ([[CS:GO_Game_Modes/Danger_Zone#Map_Overviews|dz deployment map]]), .vtf ([[CS:GO_Game_Modes/Danger_Zone#Map_Overviews|dz tablet map]]).
* Detects [[NAV|.nav]] ([[Nav Mesh|navigation mesh]]), [[AIN|.ain]] ([[info_node]]), .txt ([[Mapname.txt|map description]]), .txt ([[soundscape]]), .txt ([[soundscripts|soundscript]]), .cache ([[soundcache]]), .txt ([[CS:GO_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 ([[CS:GO_Game_Modes/Danger_Zone#Map_Overviews|dz spawn mask]]), .png ([[CS:GO_Game_Modes/Danger_Zone#Map_Overviews|dz deployment map]]), .vtf ([[CS:GO_Game_Modes/Danger_Zone#Map_Overviews|dz tablet map]]).
Line 61: Line 59:
* Detects models, sounds and other scripts inside detected scripts if they are named with their file extensions (.mdl, .wav, .mp3, .ogg, .nut, .cfg).
* Detects models, sounds and other scripts inside detected scripts if they are named with their file extensions (.mdl, .wav, .mp3, .ogg, .nut, .cfg).
{{warning|
{{warning|
* The program does not detect scripts with a space in the path (so does Hammer).
* The program does not detect scripts with a space in the path ''(so does logic_script entity in {{hammer|2}})''.
* The program does not detect sounds referenced in scripts with a space in the path.
* The program does not detect sounds referenced in scripts with a space in the path.
}}
}}
* Also finds [[VMF|.vmf]] files specified in [[func_instance]]s and packs their data too.
* Also finds [[VMF|.vmf]] files specified in [[func_instance]]s and packs their data too.
* The program reads gameinfo.txt file to get content search paths.
* Can either pack all the found files into [[BSP|.bsp]] or save a file with a list of all detected custom files.
* Can either pack all the found files into [[BSP|.bsp]] or save a file with a list of all detected custom files.


Line 73: Line 72:
* The program checks for an update on startup.
* The program checks for an update on startup.
* It shows a notification when packing is finished.
* It shows a notification when packing is finished.
* Instead of waiting for support for other games to be added, you can create your own configuration or edit existing ones.
* 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.
* 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 is impossible to detect custom content used in scripts.
* 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.
* 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.


== Supported games ==
== Supported games ==
* {{game name|name=Counter-Strike: Global Offensive}} ''(full support)''
* {{csgo|4}} ''(full support)''
* {{game name|name=Garry's Mod}} ''(test support stage 2)''
* {{gmod|4}} ''(full support)''
* {{game name|name=Portal 2}} ''(test support stage 2)''
* {{portal2|4}} ''(full support)''
 
* <code><span style="color:#5eede8;">You can create your own game configuration or edit existing ones</span></code>


== Options ==
== Options ==
Line 92: Line 92:
; -cachedir <path>: Override default ''cache'' folder path ('''<the directory .exe file is in>/cache/''').
; -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).
; -addcfg <path>: Add game configuration (configurations located in '''<the directory .exe file is in>/game_cfgs/''' will be added automatically).
; -gameinfo <path>: Set path to the gameinfo.txt file if it isn't stored in the default location or the program fails to find it.


== Usage with Hammer ==
== Usage with Hammer ==
Line 98: Line 99:


1) Add a new compile configuration in the expert compile mode.<br>
1) Add a new compile configuration in the expert compile mode.<br>
2) Set its name to '''[AutoBSPpackingTool] - Pack data''' or whatever you want.<br>
2) Set its name to {{MdCode|outline|'''[AutoBSPpackingTool] - Pack data'''}} or whatever you want.<br>
3) Set the ''Command'' to the path where this program is located.<br>
3) Set the ''Command'' to the path of .exe file of the program.<br>
:Example: ''C:/Users/user/Downloads/AutoBSPpackingTool.exe''
:Example: ''C:/Users/user/Downloads/AutoBSPpackingTool.exe''
4) Set the ''Parameters'' to: '''-vmf $path\$file.vmf -bsp $bspdir\$file.bsp -game $gamedir -notify''' and add other arguments if you want.<br>
4) Set the ''Parameters'' to: {{MdCode|outline|'''-vmf $path\$file.vmf -bsp $bspdir\$file.bsp -game $gamedir -notify'''}} and add other arguments if you want.<br>
5) Done! Now press '''Go!''' and wait until the notification appears.
5) Done! Now press '''Go!''' and wait until the notification appears.


== Download ==
== Download ==
*[https://drive.google.com/file/d/1or1_v1CO_BRuc6MCKDBxivc00AYTnBny/view?usp=sharing Download from Google Drive]
*[https://drive.google.com/file/d/1or1_v1CO_BRuc6MCKDBxivc00AYTnBny/view?usp=sharing <!--<code><span style="color:#00ae45">-->Download from Google Drive<!--</span></code>-->] ''(may be unavailable)''
*[https://www.dropbox.com/s/rchlc2q0sc45k1t/AutoBSPpackingTool.exe?dl=0 Download from Dropbox]
*[https://www.dropbox.com/s/rchlc2q0sc45k1t/AutoBSPpackingTool.exe?dl=0 <!--<code><span style="color:#0061fe">-->Download from Dropbox<!--</span></code>-->]


== See Also ==
== See Also ==

Revision as of 03:27, 28 December 2022

English (en)Русский (ru)中文 (zh)Translate (Translate)
AutoBSPpackingTool interface.
AutoBSPpackingTool settings.
Checkbox File(s)
.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_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

AutoBSPpackingTool is a third party tool made for Source Source developers and mappers. It automatically detects and packs almost every possible custom file that can be used in a map. (Current version: 0.1.1.1).

Move to download heading

Features

Warning.pngWarning:
  • The program does not detect scripts with a space in the path (so does logic_script entity in Hammer Hammer).
  • The program does not detect sounds referenced in scripts with a space in the path.
  • Also finds .vmf files specified in func_instances and packs their data too.
  • The program reads gameinfo.txt file to get content search paths.
  • Can either pack all the found files into .bsp or save a file with a list of all detected custom files.

Information

  • The program is written in C# and requires Microsoft .NET Framework 4.0 or higher.
  • You should put the program in an individual folder, because it will create a cache folder, a folder to store game configurations and some necessary files in the directory .exe file is in.
  • The program creates a .bsp.backup file before packing.
  • The program checks for an update on startup.
  • It shows a notification when packing is finished.
  • 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.
  • 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.

Supported games

  • You can create your own game configuration or edit existing ones

Options

-vmf <path>
Set path to .vmf file.
-bsp <path>
Set path to .bsp file (if not specified, a file with a list of all detected custom files will be saved in the cache folder).
-game <index | gamefolder | path>
Select what 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/
-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 path to the gameinfo.txt file if it isn't stored in the default location or the program fails to find it.

Usage with Hammer

You can add a Hammer configuration to pack all the custom files right after compile. Follow this steps if you want to.


1) Add a new compile configuration in the expert compile mode.
2) Set its name to [AutoBSPpackingTool] - Pack data or whatever you want.
3) Set the Command to the path of .exe file of the program.

Example: C:/Users/user/Downloads/AutoBSPpackingTool.exe

4) Set the Parameters to: -vmf $path\$file.vmf -bsp $bspdir\$file.bsp -game $gamedir -notify and add other arguments if you want.
5) Done! Now press Go! and wait until the notification appears.

Download

See Also