The online portfolio of

Timothy Johnson

A Physics with Astrophysics graduate and level designer specializing in the Source engine. You can contact me here or by yelling really loud.

Joiner 2012

C++, Source Engine



Joiner is a little application that reads in a template .vmf file and produces a new .vmf filled with supports based on your template and customised settings or config.

Joiner looks for brushes textured with "dev/dev_slime" and treats each one as a separate room allowing an entire map's worth of supports to be made at once, saving huge amounts of time.

For full instructions on how to use Joiner please refer to the readme included in the download. Programming is not my day job, if you run into any problems using Joiner or have feature suggestions, please, don't hesitate to get in touch. Please send me the log file Joiner made when the error occured and explain what you were doing at the time.

Joiner. Turn slime brushes into nice supports!
Joiner before and after hammer screenshot Joiner before and after hammer screenshot Joiner before and after hammer screenshot Joiner screenshot

Recent changes to Joiner:

06/04/12 - 1.0.3:

  • Fixed an issue when writing brushes, Joiner would skip the final room.
  • 04/04/12 - 1.0.2:

  • Each 'room' is now grouped into a single func_detail.
  • Additional option for 90 degree texture rotation for textures that run vertically.
  • Reading and writing of config files for easy setting customisation and reuse.
  • Console mirrored to log file with additional information.