BspTexRemap v0.3 (pre-release 2)

Not Listed (Goldsource) NL
BspTexRemap v0.3 (pre-release 2) by kimilil
Posted 1 year ago2023-03-03 17:38:00 UTC • Completed • Not Listed (Goldsource)
Screenshot Thumbnail
Screenshot Thumbnail
Screenshot Thumbnail
Screenshot Thumbnail
BspTexRemap v0.3 (pre-release 2)
kimilil kimilil
Not Listed (Goldsource)
1 year ago2023-03-03 17:38:00 UTC
6 months ago2023-11-09 23:24:29 UTC
5.00 (1)
full star full star full star full star full star Download (Hosted Externally)


version 0.3 pre-release 2


The suite of programs in this package patches a BSP file, replacing names of embedded textures to those in a given materials.txt, to try and eliminate the need to edit or ship a modified materials.txt, thus increasing map portability.

The match and replacement textures are defined in a info_texture_remap entity placed in the map, or in a "_custommat.txt" file alongside the map file, or supplied in an external file.

There are two programs in this package: BspTexRemap.exe (CLI program) and BspTexRemap_GUI.exe (GUI program). I recommend the GUI program to assign the custom materials and export the custom materials file, and the CLI program for the compilation step.

The programs are intended to be used both as standalone and as a compile tool that mappers can use in their mapping workflow.

See the provided HOWTOs for step-by-step instructions.


BspTexRemap.exe (CLI)

  • Rewrites embedded texture names to a texture entry in materials.txt with with desired material type.
  • Exports texture names to a list file for the purpose of assigning materials.
  • Reads configuration from a custom entity placed in map or from external file.
  • Use standalone or as part of compile workflow.

BspTexRemap_GUI.exe (GUI)

  • Loads and views textures in BSP files, including from external WADs
  • Loads materials.txt and display summary on how many suitable entries are in each material type
  • Assigns custom materials using the graphical interface, and lists the entries of the custom material remap list
  • Exports and loads the custom materials list, for use by the CLI program
  • Commit changes to BSP, with optional summary view
  • In-program how-to's


The game code of the feature that makes this possible was changed in Counter Strike 1.6, Day of Defeat, and possibly Condition Zero and its Deleted Scenes. Thus this tool is incompatible with maps for those games. (you can run them, it just wouldn't work in game)


see BspTexRemap_license.txt in the zip file.

The About window on BspTexRemap_GUI.exe lists additional attributions and the license information of third party libraries.

F.A.Q. (Fairly Anticipated Questions)

See FAQ.txt in the zip file.
Please drop a feedback!
I want to smooth out the GUI program in terms of readability - how intuitive the design is, and how helpful the included how-to's are.
Test it on your map project, or on the maps you got lying around in the _downloads folder.


Commented 1 year ago2023-03-03 17:39:58 UTC Comment #105156
I'm gonna be afk for 3 days. Might as well release it now for people to test it.
Commented 1 year ago2023-04-17 21:42:57 UTC Comment #105208
this is awesome
Commented 1 year ago2023-04-17 21:44:13 UTC Comment #105209
Man, this is clever and very evil at the same time. I'm glad we don't have to do this kind of stuff in FreeHL :)
Commented 9 months ago2023-08-09 11:45:11 UTC Comment #105465
Can people currently using this for their projects each send a sample BSP pre-remap? HLDM/Op4 maps only.

I got somebody reaching out with a bug but I can't ask for a test file because he's compiling for DoD and I don't have DoD.

Discord id: youdontmatter.giveup. (don't ask why)
Commented 8 months ago2023-09-17 15:06:33 UTC Comment #105566
v0.2 is out. A standalone build of the python port is now available for download.
Commented 6 months ago2023-11-12 10:21:24 UTC Comment #105635
^ This program is written in Python 3.11. Most Linux distros include Python by default so you can run the python file directly from the source files (though you might have to upgrade to 3.11). You need to know how to [optionally set up virtual environments and] install the required python packages. The requirements file is in the source, and you should be able to set it up in the standard Pythonic way.
  1. Make sure you have Python 3.11 or above
  2. Download the source:
    User posted image
  3. Extract to a folder.
  4. Open your terminal and type these commands:
cd <path to the src folder from the extracted path>
python3 -m venv venv
pip3 install -r requirements_gui.txt
  1. Create a new file run (name not important) and type these commands:
cd <path to the src folder from the extracted path>
  1. Now any time you want to run the program, you just run the bash script above.

You must log in to post a comment. You can login or register a new account.