nmalthouse/rathammer
A editor for Valve's VMF maps.
refs
On Linux you must have "zenity" installed to use the file browser! On Arch, Steam depends on this so you probably have it installed already.
If you are mapping for Half-Life 2, there is a trick.
If running on Linux a few helpful tips. In the ./scripts directory there is a script named run_hl2.sh. This script will launch hl2 without needing steam open. If you send suspend signal 'ctrl-z in terminal',
hl2 will be suspended and not use cpu/gpu while you map. unsuspend with 'fg' command
You will need to manually edit this script so the paths are correct.
Second, wine is very slow to startup by default, 'running wineserver --persistent' will speed up compile times significantly.
On arch make sure you have:
# Install zig 0.14.1 manually, the pacman package is too new
sudo pacman -S zenity cmake meson
git clone https://github.com/nmalthouse/rathammer.git
cd rathammer
git submodule update --init --recursive
cd ratgraph
./setup_libs.sh
cd ..
zig build
# Example, running with hl2
./zig-out/bin/rathammer --custom_cwd ~/.local/share/Steam/steamapps/common --map my_maps/my_hl2map.vmf
# This will load a vmf map. When we save the map with ctrl+s, a file named my_hl2_map.json will be written to the my_maps directory.
The vmf file is not touched.
After closing the editor, to continue editing our map, we must use --map my_maps/my_hl2_map.json
The file 'config.vdf' defines various game configurations. The default is basic_hl2, which searches the set cwd for a directory named Half-Life 2
See config.vdf for defining other game configs.
/zig-out/bin/mapbuilder --map dump.vmf --gamedir Team\ Fortress\ 2 --gamename tf --outputdir tf/maps
You could probably adapt ratgraph/setup_libs.sh to work with a msys environment. It is easier to cross compile for Windows from Linux than to compile natively.
Fields beginning with an underscore are private fields and should not be modified or read directly