Merge remote-tracking branch 'selliott512/rebuild-nodes'

This commit is contained in:
Mike Swanson 2019-12-22 16:13:31 -08:00
commit 6970c7a887
3 changed files with 37 additions and 0 deletions

View file

@ -241,3 +241,29 @@ around. Some of them are listed here.
any +TEXTURE1+ lumps it generates. To work around this, a “dummy”
IWAD file containing an empty +TEXTURE1+ lump is contained inside
the +dummy+ directory.
== Node builder
Each Freedoom level found in the "levels" directory should have exactly
11 lumps in a https://zdoom.org/wiki/WAD[particular order] with no
padding between the lumps. Of those 11 lumps 6 (<map name>, THINGS,
LINEDEFS, SIDEDEFS, VERTEXES and SECTORS) are maintained by a level
editor such as GZDoom Builder, SLADE or Eureka. The remaining 5 lumps
(SEGS, SSECTORS, NODES, REJECT and BLOCKMAP) are added by a node
builder. The Freedoom project uses the
https://github.com/Doom-Utils/zennode[ZenNode] node builder. For
example, to rebuild the nodes for all 100 levels run the
"rebuild-nodes" make target in the top level makefile:
[source,bash]
-----------------
make rebuild-nodes
-----------------
To control how the node builder is invoked, or which levels are
rebuilt, override the NODE_BUILDER and NODE_BUILDER_LEVELS make
variables respectively. For example, to specify the full path to
ZenNode when it's not in the path and to rebuild only the first
chapter of Freedoom 1 as well all of the deathmatch levels:
[source,bash]
-----------------
make NODE_BUILDER=/opt/zennode/ZenNode NODE_BUILDER_LEVELS="c1m? dm??" rebuild-nodes
-----------------

View file

@ -9,6 +9,8 @@ CPP=scripts/simplecpp
DEUTEX=deutex
DEUTEX_BASIC_ARGS=-v0 -rate accept
DEUTEX_ARGS=$(DEUTEX_BASIC_ARGS) -doom2 bootstrap/
NODE_BUILDER=ZenNode
NODE_BUILDER_LEVELS=c?m? dm?? map??
FREEDOOM1=$(WADS)/freedoom1.wad
FREEDOOM2=$(WADS)/freedoom2.wad
@ -160,6 +162,15 @@ test: test-map-names
fix-map-names:
scripts/fix-map-names levels
# Rebuild the nodes for the level WADs. By default this invokes "ZenNode" on
# all 100 level WADs. Override the "NODE_BUILDER" prefixed variables to
# configure.
rebuild-nodes: $(addprefix levels/,$(addsuffix .wad,$(NODE_BUILDER_LEVELS)))
for level in $^; \
do \
$(NODE_BUILDER) $$level -o $$level; \
done
%.6:
$(MAKE) ASCIIDOC_MAN="$(ASCIIDOC_MAN)" -C dist $@

Binary file not shown.