mirror of
https://github.com/freedoom/freedoom.git
synced 2025-09-01 13:25:46 -04:00
Merge remote-tracking branch 'selliott512/rebuild-nodes'
This commit is contained in:
commit
6970c7a887
3 changed files with 37 additions and 0 deletions
|
@ -241,3 +241,29 @@ around. Some of them are listed here.
|
||||||
any +TEXTURE1+ lumps it generates. To work around this, a “dummy”
|
any +TEXTURE1+ lumps it generates. To work around this, a “dummy”
|
||||||
IWAD file containing an empty +TEXTURE1+ lump is contained inside
|
IWAD file containing an empty +TEXTURE1+ lump is contained inside
|
||||||
the +dummy+ directory.
|
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=deutex
|
||||||
DEUTEX_BASIC_ARGS=-v0 -rate accept
|
DEUTEX_BASIC_ARGS=-v0 -rate accept
|
||||||
DEUTEX_ARGS=$(DEUTEX_BASIC_ARGS) -doom2 bootstrap/
|
DEUTEX_ARGS=$(DEUTEX_BASIC_ARGS) -doom2 bootstrap/
|
||||||
|
NODE_BUILDER=ZenNode
|
||||||
|
NODE_BUILDER_LEVELS=c?m? dm?? map??
|
||||||
|
|
||||||
FREEDOOM1=$(WADS)/freedoom1.wad
|
FREEDOOM1=$(WADS)/freedoom1.wad
|
||||||
FREEDOOM2=$(WADS)/freedoom2.wad
|
FREEDOOM2=$(WADS)/freedoom2.wad
|
||||||
|
@ -160,6 +162,15 @@ test: test-map-names
|
||||||
fix-map-names:
|
fix-map-names:
|
||||||
scripts/fix-map-names levels
|
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:
|
%.6:
|
||||||
$(MAKE) ASCIIDOC_MAN="$(ASCIIDOC_MAN)" -C dist $@
|
$(MAKE) ASCIIDOC_MAN="$(ASCIIDOC_MAN)" -C dist $@
|
||||||
|
|
||||||
|
|
BIN
levels/map06.wad
BIN
levels/map06.wad
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue