Makefile: Add "rebuild-nodes" make target
Add "rebuild-nodes" make target to rebuild nodes for all levels that match a specified pattern. Document "rebuild-nodes" in BUILD-SYSTEM.adoc. Modify map06.wad so it adheres to the "no padding between the lumps" constraint.master
parent
0f7e672fa9
commit
9e7b4f20b5
|
@ -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
|
||||
-----------------
|
||||
|
|
11
Makefile
11
Makefile
|
@ -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
|
||||
|
@ -147,6 +149,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 $@
|
||||
|
||||
|
|
BIN
levels/map06.wad
BIN
levels/map06.wad
Binary file not shown.
Loading…
Reference in New Issue