Add compile_ase and compile_obj actions for building map models
#68
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Some maps are designed as a set of files. Parts of the maps are saved as
.mapfiles, usually inmodels/mapobjects, and compiled to.aseor.objfiles and then the global map source bakes those models in the final BSP.Examples of maps built that way are:
hangar28by tvezet (Unvanquished)moteofby SimonOC (Quake 3)This adds the
compile_aseandcompile_objactions meant to compile those map objects before compiling the whole map itself.Those actions are meant to be used as a
preparestep (doingurcheon prepare pkg/map-castle_src.dpkdir) because those MAP models have to be compiled to ASE or OBJ before the level editor loads them. It's a bit similar to us compiling an IQE to an IQM as apreparestep. Incidentally that also guarantees the map objects are built before the map itself is built.By default the output model format is ASE, because all hangar28 models are compiled to ASE and almost all moteof models are compiled to ASE so that looks to be a good default format. One can explicitly write a
compile_objaction in aprepareaction file to select the other format, the same way someone can explicitly write aconvert_pngaction in abuildaction file to override the defaultconvert_crnaction for an image.This is something I had in mind for almost 10 years, but I didn't found time to implement it before.
Once this is merged I have no knowledge of a map Urcheon cannot rebuild, or a map workflow Urcheon cannot sustain.