mapcat
mapcat is a tool that concatenates Tremulous maps.
It was created for An Almango, a map that was made in collaboration with MaeJong. We worked on smaller segments in parallel, then the tool assembled them into the complete map.
1. Usage
The source code is available here. Usage is simply:
mapcat part_1.map part_2.map ... -o whole.map
2. Designing parts
This tool wouldn’t be very useful if all it did was join all the brushes and entities together.
Individual parts are meant to be playable in isolation. To achieve this, cover holes (where other parts connect) with common/discard. All brushes with this texture are completely deleted by mapcat.
Entities are dealt with using the mapcat_prefix key in each of the part’s worldspawn. The prefix will be added to targets, targetnames and teams, so entities from different parts won’t interfere with each other.
Names starting with global_ don’t get this prefix, so you can wire entities across the entire map if you need to.
See an_almango source files for how this is all done.