From fb1653e231667e51c2d8bf5976b6a499fbfc7a2d Mon Sep 17 00:00:00 2001 From: Nathan DECHER Date: Wed, 15 Apr 2020 02:04:09 +0200 Subject: [PATCH 1/2] cut down 75% of build time for portals (closes #41) --- Makefile | 32 ++++++++------------------------ 1 file changed, 8 insertions(+), 24 deletions(-) diff --git a/Makefile b/Makefile index 7838b61..387663b 100644 --- a/Makefile +++ b/Makefile @@ -3,10 +3,7 @@ FIRE_ANIM = $(foreach angle, $(shell seq 0 6 359), build/fire$(angle).png) PEACH_DECAY_ANIM = $(foreach percent, $(shell seq 99 -1 0), build/peach-decay$(percent).png) PEACH_RAINBOW_ANIM = $(foreach percent, $(shell seq 100 2 299), build/peach-rainbow$(percent).png) -PORTAL_A_ANIM = $(foreach angle, $(shell seq 0 6 359), build/portal-a$(angle).png) -PORTAL_B_ANIM = $(foreach angle, $(shell seq 0 6 359), build/portal-b$(angle).png) -PORTAL_C_ANIM = $(foreach angle, $(shell seq 0 6 359), build/portal-c$(angle).png) -PORTAL_D_ANIM = $(foreach angle, $(shell seq 0 6 359), build/portal-d$(angle).png) +PORTAL_ANIM = $(foreach angle, $(shell seq 0 6 359), build/portal-a$(angle).png) IMAGES = $(foreach name, apple wall oil key door, public/assets/$(name)32.png) TILESETS = $(foreach name, hole switch spikes, public/assets/$(name)-ts.png) @@ -62,30 +59,17 @@ public/assets/peach-rainbow-anim.png: $(PEACH_RAINBOW_ANIM) build/peach-rainbow%.png: assets/peach.png convert $^ -modulate 100,100,$(shell echo $@ | sed 's/[^0-9]*//g') -resize 32x $@ -build/portal-b.png: assets/portal.png - convert $^ -modulate 100,100,200 $@ -build/portal-c.png: assets/portal.png - convert $^ -modulate 100,100,150 $@ -build/portal-d.png: assets/portal.png - convert $^ -modulate 100,100,50 $@ - build/portal-a%.png: assets/portal.png convert $^ -distort ScaleRotateTranslate $(shell echo $@ | sed 's/[^0-9]*//g') -resize 32x $@ -build/portal-b%.png: build/portal-b.png - convert $^ -distort ScaleRotateTranslate $(shell echo $@ | sed 's/[^0-9]*//g') -resize 32x $@ -build/portal-c%.png: build/portal-c.png - convert $^ -distort ScaleRotateTranslate $(shell echo $@ | sed 's/[^0-9]*//g') -resize 32x $@ -build/portal-d%.png: build/portal-d.png - convert $^ -distort ScaleRotateTranslate $(shell echo $@ | sed 's/[^0-9]*//g') -resize 32x $@ -public/assets/portal-a-anim.png: $(PORTAL_A_ANIM) - convert $^ -append $@ -public/assets/portal-b-anim.png: $(PORTAL_B_ANIM) - convert $^ -append $@ -public/assets/portal-c-anim.png: $(PORTAL_C_ANIM) - convert $^ -append $@ -public/assets/portal-d-anim.png: $(PORTAL_D_ANIM) +public/assets/portal-a-anim.png: $(PORTAL_ANIM) convert $^ -append $@ +public/assets/portal-b-anim.png: public/assets/portal-a-anim.png + convert $^ -modulate 100,100,200 $@ +public/assets/portal-c-anim.png: public/assets/portal-a-anim.png + convert $^ -modulate 100,100,150 $@ +public/assets/portal-d-anim.png: public/assets/portal-a-anim.png + convert $^ -modulate 100,100,50 $@ public/assets/%.json: assets/%.json cp $^ $@ From 17356e0d8f49fa4e62f59548be75686c0123b3d0 Mon Sep 17 00:00:00 2001 From: Nathan DECHER Date: Wed, 15 Apr 2020 02:21:22 +0200 Subject: [PATCH 2/2] cut down even more on build times with shrink step for animations --- Makefile | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/Makefile b/Makefile index 387663b..189541f 100644 --- a/Makefile +++ b/Makefile @@ -1,11 +1,14 @@ .PHONY: all clean +SIZE = 32 +TEMPSIZE = $(shell echo $(SIZE) '*4' | bc) + FIRE_ANIM = $(foreach angle, $(shell seq 0 6 359), build/fire$(angle).png) PEACH_DECAY_ANIM = $(foreach percent, $(shell seq 99 -1 0), build/peach-decay$(percent).png) PEACH_RAINBOW_ANIM = $(foreach percent, $(shell seq 100 2 299), build/peach-rainbow$(percent).png) PORTAL_ANIM = $(foreach angle, $(shell seq 0 6 359), build/portal-a$(angle).png) -IMAGES = $(foreach name, apple wall oil key door, public/assets/$(name)32.png) +IMAGES = $(foreach name, apple wall oil key door, public/assets/$(name)$(SIZE).png) TILESETS = $(foreach name, hole switch spikes, public/assets/$(name)-ts.png) ANIMATIONS = $(foreach name, fire peach-decay peach-rainbow portal-a portal-b portal-c portal-d, public/assets/$(name)-anim.png) JSON = $(foreach name, snake levelList config metaConfig, public/assets/$(name).json) @@ -32,35 +35,42 @@ public/assets/%32.png: assets/%.png convert $^ -resize 32x $@ public/assets/%256.png: assets/%.png convert $^ -resize 256x $@ +public/assets/%$(SIZE).png: assets/%.png + convert $^ -resize $(SIZE)x $@ public/assets/%32.png: assets/%.jpg convert $^ -resize 32x $@ public/assets/%256.png: assets/%.jpg convert $^ -resize 256x $@ +public/assets/%$(SIZE).png: assets/%.jpg + convert $^ -resize $(SIZE)x $@ + +build/%-smol.png: assets/%.png + convert $^ -resize $(TEMPSIZE)x\> $@ public/assets/%-ts.png: assets/%.png - convert $^ -scale 32x $@ + convert $^ -scale $(SIZE)x $@ public/assets/fire-anim.png: $(FIRE_ANIM) convert $^ -append $@ -build/fire%.png: assets/fire.png - convert $^ -distort ScaleRotateTranslate $(shell echo $@ | sed 's/[^0-9]*//g') -resize 32x $@ +build/fire%.png: build/fire-smol.png + convert $^ -distort ScaleRotateTranslate $(shell echo $@ | sed 's/[^0-9]*//g') -resize $(SIZE)x $@ public/assets/peach-decay-anim.png: $(PEACH_DECAY_ANIM) convert $^ -append $@ -build/peach-decay%.png: assets/peach.png - convert $^ -modulate 100,$(shell echo $@ | sed 's/[^0-9]*//g') -resize 32x $@ +build/peach-decay%.png: build/peach-smol.png + convert $^ -modulate 100,$(shell echo $@ | sed 's/[^0-9]*//g') -resize $(SIZE)x $@ public/assets/peach-rainbow-anim.png: $(PEACH_RAINBOW_ANIM) convert $^ -append $@ -build/peach-rainbow%.png: assets/peach.png - convert $^ -modulate 100,100,$(shell echo $@ | sed 's/[^0-9]*//g') -resize 32x $@ +build/peach-rainbow%.png: build/peach-smol.png + convert $^ -modulate 100,100,$(shell echo $@ | sed 's/[^0-9]*//g') -resize $(SIZE)x $@ -build/portal-a%.png: assets/portal.png - convert $^ -distort ScaleRotateTranslate $(shell echo $@ | sed 's/[^0-9]*//g') -resize 32x $@ +build/portal-a%.png: build/portal-smol.png + convert $^ -distort ScaleRotateTranslate $(shell echo $@ | sed 's/[^0-9]*//g') -resize $(SIZE)x $@ public/assets/portal-a-anim.png: $(PORTAL_ANIM) convert $^ -append $@