Skip to content

Conversation

@illwieckz
Copy link
Member

@illwieckz illwieckz commented Oct 31, 2025

Some maps are designed as a set of files. Parts of the maps are saved as .map files, usually in models/mapobjects, and compiled to .ase or .obj files and then the global map source bakes those models in the final BSP.

Examples of maps built that way are:

  • hangar28 by tvezet (Unvanquished)
  • moteof by SimonOC (Quake 3)

This adds the compile_ase and compile_obj actions meant to compile those map objects before compiling the whole map itself.

Those actions are meant to be used as a prepare step (doing urcheon 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 a prepare step. 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_obj action in a prepare action file to select the other format, the same way someone can explicitly write a convert_png action in a build action file to override the default convert_crn action 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.

@illwieckz illwieckz force-pushed the illwieckz/ase branch 2 times, most recently from dc4b84b to 2ed4343 Compare October 31, 2025 16:07
@illwieckz illwieckz force-pushed the illwieckz/ase branch 2 times, most recently from 9f21c1c to 7cad9a8 Compare October 31, 2025 22:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants