Find Out Which Wads Are In Effective Use By A Bsp, How to find out which WAD files are in effective use by a BSP file? |
07/10/2022 - 04:06:55 |
Post
#1
|
|
Group: Member Posts: 7 Joined: 02/10/2017 |
With the following command...
CODE HLExtract.exe -p "fy_office.bsp" -e "root\fy_office.ent" ... is possible to find out which WAD files (textures) are listed as in use by a BSP (map) file as this output example ("fy_office.ent" file content extracted in the above command)... CODE { "wad" "\programme\valve\valve\thwc_hl.wad;\programme\valve\cstrike\sourcebuero.wad;\programme\valve\cstrike\villaggio.wad;" "mapversion" "220" "MaxRange" "4096" "skyname" "tornsky" "classname" "worldspawn" "classname" "worldspawn" } [...] Notice that in the item "wad" several WAD files (textures) are listed. It turns out that none of these WAD files are needed even though they are listed. This happens with many BSP (map) files. I've already tried several utilities and haven't found any that allow me to set this information correctly. I needed a utility that can be used via command line, as I need this output in text. Is there any utility or strategy (via the command line) that I can use to correctly define this information, ie which WAD files (textures) are actually in use by a BSP (map) file? Thanks! (IMG:style_emoticons/default/smiley-ipb-421-60dce7.gif) |
|
|
08/10/2022 - 02:09:45 |
Post
#2
|
|
Group: Member Posts: 7 Joined: 02/10/2017 |
This is an old question and the answer is simple, NO.
WHY? Because the BSP file does not have this information. In reality, BSP files only have the list of WAD files it uses and the names of the textures, but it does not have information to which WAD file a particular texture belongs. The names of these textures are unique within a BSP. --------------------------------------------------------------------------- The way GoldSrc (CS 1.6) works gives the false impression that it "knows" which WAD files are needed. But not quite... To understand how GoldSrc (CS 1.6) works, let's imagine the following scenario: You have loaded a BSP file, but you have not made any of the referenced WAD files available... CODE [...] "wad" "\programme\valve\valve\thwc_hl.wad;\programme\valve\cstrike\sourcebuero.wad;\programme\valve\cstrike\villaggio.wad;" [...] ... in the "cstrike" or "valve" folders. So, still within this scenario, let's imagine some more situations to demonstrate how GoldSrc (CS 1.6) would act when trying to load each of the textures pointed at in the BSP file:
--------------------------------------------------------------------------- PLUS: POSSIBLE SOLUTION (A LINUX APPROACH) The only possible solution to programmatically determine (via BASH script, for example) which WAD files are needed is to export the list of textures from a WAD file with a utility like "HLExtract.exe"... EXAMPLE CODE WINEDEBUG=-all wine "<PATH>/HLExtract.exe" -p "<PATH>\SOME_WAD.wad" -l | grep -i ".bmp" | cut -d\\ -f2 | cut -d. -f1 > "SOME_WAD_TEXTURES_LIST.txt" ... and based on the obtained list check each of the textures inside the BSP using a utility like "strings"... EXAMPLE CODE strings "<PATH>/SOME_BSP.bsp" | grep -iw -- "SOME_TEXTURE_NAME" >> "SOME_BSP_TEXTURES_IN_USE.txt" 2>&1 ... so that if located, then this WAD file is in use by the BSP file. NOTES:
Thanks! (IMG:style_emoticons/default/smiley-ipb-421-60dce7.gif) This post has been edited by eduardolucioac: 08/10/2022 - 02:10:57 |
|
|
Lo-Fi Version |
Skin © Chapo
|