gamedev.digitalamusement.com/mapping/versioneer.pl
While working on ut4_temple2, I've built a script that handles upgrading a version of a map from one to the next. Let me explain.
Here is a real world scenario. I just released ut4_temple2_alpha3 for server play. All of my files and shaders are based on this map name, so the map functions as a stand-alone map (meaning you can copy it to any quake3 mod and it will behave the same without missing resources). In my script, I specify the existing map name, and a new map name.
mapin = ut4_temple2_alpha3
mapout = ut4_temple2_alpha4
I can also add some specific one-off cases to this config, like additional custom shaders, but the above is the only requirement. I run this script, and my alpha3 version is COPIED to a new alpha4 version. If I then reload gtkradiant and load the alpha4 map, or compile the map and go in-game with a /devmap ut4_temple2_alpha4, it just works.
There are cases where maybe you forgot that a file or folder needed to be copied/modded and you already ran the script. Although it currently doesn't have a undo/reverse feature, you can make the appropriate changes, then re-run the script over the top of the last copy process. No damage, everything is in order.
The script requires activestate perl on windows, or should run as-is on a *nix machine. There is only one file, the script itself, which contains commented descriptions of what to do and how to do it. There is more I would like to do with this script, although for now it serves its purpose and saves me a lot of time between development or test releases.
Lastly, it also serves as a map instance copier. Say you have a default map called ut4_default. You can then instance copy your default map to ut4_newmap and have two totally separate maps. Or experiment by forking an existing map to a test instance. Can be useful.
Advertisement