X-Git-Url: https://git.ctpug.org.za/?a=blobdiff_plain;f=koperkapel%2Fimages%2FMakefile;h=9aa073d649cd58c31657163114cbc090ae402d60;hb=1559d24f13b0ce63478fcc42d4c2560df583c3f2;hp=771d8e81cb90299a0167e6621133e6b6a20c1d2d;hpb=caff26b2bd7a76141bd9ebd3258b1941eb30064b;p=koperkapel.git diff --git a/koperkapel/images/Makefile b/koperkapel/images/Makefile index 771d8e8..9aa073d 100644 --- a/koperkapel/images/Makefile +++ b/koperkapel/images/Makefile @@ -1,50 +1,122 @@ -VPATH=../../sources/vector +VPATH=../../sources -SVGS=$(shell find $(VPATH) -name "*.svg") -PNGS=$(patsubst $(VPATH)/%.svg, %.png, $(SVGS)) -ROACH=$(filter roach/%, $(PNGS)) +# Vector tiles +TILE_DIRS=roach serum vehicle_tiles fixtures weapons rat +TILE_SVGS=$(shell find $(patsubst %, $(VPATH)/vector/%, $(TILE_DIRS)) -name "*.svg") +TILE_PNGS=$(patsubst $(VPATH)/vector/%.svg, %.png, $(TILE_SVGS)) + +# Bitmap tiles + +BTILE_DIRS=wall floor tunnel underground grate exit +BTILE_SRC=$(shell find $(patsubst %, $(VPATH)/bitmap/%, $(BTILE_DIRS)) -name "*.png") +BTILE_PNGS=$(patsubst $(VPATH)/bitmap/%, bunker/%, $(BTILE_SRC)) + +# Vector images to rasterize without resizing + +SIMPLE_DIRS=roach_management vehicles splash projectiles +SIMPLE_SVGS=$(shell find $(patsubst %, $(VPATH)/vector/%, $(SIMPLE_DIRS)) -name "*.svg") +SIMPLE_PNGS=$(patsubst $(VPATH)/vector/%.svg, %.png, $(SIMPLE_SVGS)) + +# Aggregate cockroach sprites + +ROACH=$(filter roach/%, $(TILE_PNGS)) ROACH_32=$(patsubst roach/%, roach_32/%, $(ROACH)) ROACH_21=$(patsubst roach/%, roach_21/%, $(ROACH)) ROACH_QUARTET=$(patsubst roach/%, roach_quartet/%, $(ROACH)) ROACH_NONET=$(patsubst roach/%, roach_nonet/%, $(ROACH)) +ROACH_BIG=$(patsubst roach/%, roach_big/%, $(ROACH)) -all: $(PNGS) $(ROACH_32) $(ROACH_21) $(ROACH_QUARTET) $(ROACH_NONET) +# Aggregate serum sprites -# Default rule +SERUM=$(filter serum/%, $(TILE_PNGS)) +SERUM_BIG=$(patsubst serum/%, serum_big/%, $(SERUM)) -%.png: %.svg - @mkdir -p `dirname $@` - @inkscape -z -e $@ -w 64 -h 64 $< +# Big vehicles + +VEHICLE=$(filter vehicle_tiles/%_1.png, $(TILE_PNGS)) +VEHICLE_BIG=$(patsubst vehicle_tiles/%, vehicle_big/%, $(VEHICLE)) + +# Default target with everything + +all: $(TILE_PNGS) $(BTILE_PNGS) $(SIMPLE_PNGS)\ + $(ROACH_32) $(ROACH_21) $(ROACH_QUARTET) $(ROACH_NONET) $(ROACH_BIG)\ + $(SERUM_BIG) $(VEHICLE_BIG) + +# Vector tile rule + +define tile +$(1)/%.png: vector/$(1)/%.svg + @mkdir -p `dirname $$@` + @inkscape -z -e $$@ -w 64 -h 64 $$< +endef + +$(foreach tiledir,$(TILE_DIRS),$(eval $(call tile,$(tiledir)))) + +# No resize rule + +define simple +$(1)/%.png: vector/$(1)/%.svg + @mkdir -p `dirname $$@` + @inkscape -z -e $$@ $$< +endef + +$(foreach simpledir,$(SIMPLE_DIRS),$(eval $(call simple,$(simpledir)))) + +# Bitmap tile rule + +define btile +bunker/$(1)/%.png: bitmap/$(1)/%.png + @mkdir -p `dirname $$@` + @convert $$< -resize 64x64 $$@ +endef + +$(foreach tiledir,$(BTILE_DIRS),$(eval $(call btile,$(tiledir)))) # Smaller roaches -roach_32/%.png: roach/%.svg +roach_32/%.png: vector/roach/%.svg @mkdir -p `dirname $@` @inkscape -z -e $@ -w 32 -h 32 $< -roach_21/%.png: roach/%.svg +roach_21/%.png: vector/roach/%.svg @mkdir -p `dirname $@` @inkscape -z -e $@ -w 21 -h 21 $< +# Big roaches + +roach_big/%.png: vector/roach/%.svg + @mkdir -p `dirname $@` + @inkscape -z -e $@ -w 192 -h 192 $< + +# Big serums + +serum_big/%.png: vector/serum/%.svg + @mkdir -p `dirname $@` + @inkscape -z -e $@ -w 192 -h 192 $< + +# Big vehicles + +vehicle_big/%_1.png: vector/vehicle_tiles/%_1.svg + @mkdir -p `dirname $@` + @inkscape -z -e $@ -w 576 -h 576 $< + # Roach quartet -roach_quartet/roach_%.png: roach_32/roach_*.png +roach_quartet/roach_%.png: $(foreach i, 1 2 3 4, roach_32/roach_$(i).png) @mkdir -p roach_quartet @montage $(foreach i, -1 0 1 2 , roach_32/roach_$$(( ( $(i) + $(patsubst roach_quartet/roach_%.png,%, $@) ) % 4 + 1 )).png) -geometry +0+0 -background none $@ -roach_quartet/eyes_%.png: roach_32/eyes_*.png +roach_quartet/eyes_%.png: $(foreach i, 1 2 3 4, roach_32/eyes_$(i).png) @mkdir -p roach_quartet @montage $(foreach i, -1 0 1 2 , roach_32/eyes_$$(( ( $(i) + $(patsubst roach_quartet/eyes_%.png,%, $@) ) % 4 + 1 )).png) -geometry +0+0 -background none $@ # Roach nonet -roach_nonet/roach_%.png: roach_21/roach_*.png +roach_nonet/roach_%.png: $(foreach i, 1 2 3 4, roach_21/roach_$(i).png) @mkdir -p roach_nonet @montage $(foreach i, -1 0 1 2 3 4 5 6 7 , roach_21/roach_$$(( ( $(i) + $(patsubst roach_nonet/roach_%.png,%, $@) ) % 4 + 1 )).png) -geometry +0+0 -background none - | convert - -background none -gravity southeast -splice 1x1 $@ -roach_nonet/eyes_%.png: roach_21/eyes_*.png +roach_nonet/eyes_%.png: $(foreach i, 1 2 3 4, roach_21/eyes_$(i).png) @mkdir -p roach_nonet @montage $(foreach i, -1 0 1 2 3 4 5 6 7 , roach_21/eyes_$$(( ( $(i) + $(patsubst roach_nonet/eyes_%.png,%, $@) ) % 4 + 1 )).png) -geometry +0+0 -background none - | convert - -background none -gravity southeast -splice 1x1 $@ - -