1MODELDIR ?= base/models
2
3UFOMODEL = ./$(ufomodel_FILE)
4UFOMODEL_PARAMS = -mdx -overwrite -v
5
6MODELS_MD2 := $(shell find $(MODELDIR) -name "*.md2")
7MODELS_MD3 := $(shell find $(MODELDIR) -name "*.md3")
8MODELS_OBJ := $(shell find $(MODELDIR) -name "*.obj")
9MODELS_DPM := $(shell find $(MODELDIR) -name "*.dpm")
10
11# smoothing normals and tangents
12define get-smooth-value
13   $(if $(findstring /models/aircraft/,$(1)),  0.7, \
14   $(if $(findstring /models/aliens/,$(1)),    0.3, \
15   $(if $(findstring /models/animals/,$(1)),   0.0, \
16   $(if $(findstring /models/civilians/,$(1)),-0.5, \
17   $(if $(findstring /models/objects/,$(1)),   0.2, \
18   $(if $(findstring /models/soldiers/,$(1)), -0.3, \
19   $(if $(findstring /models/weapons/,$(1)),   0.6, \
20   0.5)))))))
21endef
22
23MDXS_MD2 := $(MODELS_MD2:.md2=.mdx)
24MDXS_MD3 := $(MODELS_MD3:.md3=.mdx)
25MDXS_OBJ := $(MODELS_OBJ:.obj=.mdx)
26MDXS_DPM := $(MODELS_DPM:.dpm=.mdx)
27# TODO see https://sourceforge.net/tracker/?func=detail&aid=2993773&group_id=157793&atid=805242
28#MDXS     := $(MDXS_MD2) $(MDXS_MD3) $(MDXS_OBJ) $(MDXS_DPM)
29MDXS     := $(MDXS_MD2) $(MDXS_MD3) $(MDXS_DPM)
30
31models: ufomodel $(MDXS)
32
33$(MDXS_MD2): %.mdx: %.md2
34$(MDXS_MD3): %.mdx: %.md3
35$(MDXS_OBJ): %.mdx: %.obj
36$(MDXS_DPM): %.mdx: %.dpm
37
38$(MDXS):
39	$(UFOMODEL) $(UFOMODEL_PARAMS) -s $(strip $(call get-smooth-value,$<)) -f $(<:base/%=%)
40
41clean-mdx:
42	@echo "Deleting cached normals and tangents (*.mdx)..."
43	$(Q)find $(MODELDIR) -name '*.mdx' -delete
44