diff --git a/Makefile b/Makefile
index 34adda0..8b4a66f 100644
--- a/Makefile
+++ b/Makefile
@@ -1,15 +1,13 @@
# -----------------------------------------
# Makefile – TIC-80 project builder
# Usage:
-# make PROJECT=impostor
-# make build PROJECT=impostor
-# make watch PROJECT=impostor
-# make export PROJECT=impostor
+# make build
+# make import_assets
+# make watch
+# make export
# -----------------------------------------
-ifndef PROJECT
-$(error Specify the project name: make PROJECT=name)
-endif
+PROJECT = impostor
ORDER = $(PROJECT).inc
OUTPUT = $(PROJECT).lua
@@ -17,30 +15,35 @@ OUTPUT_ZIP = $(PROJECT).html.zip
OUTPUT_TIC = $(PROJECT).tic
SRC_DIR = inc
-SRC = $(shell sed 's|^|$(SRC_DIR)/|' $(ORDER))
+SRC = $(shell sed 's|^|$(SRC_DIR)/|' $(ORDER))
+
+ASSETS_DIR = assets
+ASSET_TYPES = tiles sprites sfx music
all: build
-build: $(OUTPUT)
- @echo "==> Build complete: $(OUTPUT)"
+build: import_assets $(OUTPUT)
$(OUTPUT): $(SRC) $(ORDER)
- @echo "==> Building $(OUTPUT)..."
@rm -f $(OUTPUT)
@while read f; do \
cat "$(SRC_DIR)/$$f" >> $(OUTPUT); \
echo "\n" >> $(OUTPUT); \
done < $(ORDER)
- @echo "==> Done."
-export: $(OUTPUT)
- @echo "==> TIC-80 export..."
+import_assets:
+ @for t in $(ASSET_TYPES); do \
+ for f in $(ASSETS_DIR)/$$t/*.png; do \
+ [ -e "$$f" ] || continue; \
+ echo "==> Importing $$f as $$t..."; \
+ tic80 --cli --skip --fs=. --cmd="import $$t $$f & exit"; \
+ done; \
+ done
+
+export: build
tic80 --cli --skip --fs=. \
--cmd="load $(OUTPUT) & save $(PROJECT) & export html $(PROJECT).html & exit"
- @echo "==> HTML ZIP: $(OUTPUT_ZIP)"
- @echo "==> TIC: $(OUTPUT_TIC)"
watch:
- @echo "==> Watching project: $(PROJECT)"
- make build PROJECT=$(PROJECT)
- fswatch -o $(SRC_DIR) $(ORDER) | while read; do make build PROJECT=$(PROJECT); done
+ make build
+ fswatch -o $(SRC_DIR) $(ORDER) $(ASSETS_DIR) | while read; do make build; done
diff --git a/assets/music/.keep b/assets/music/.keep
new file mode 100644
index 0000000..e69de29
diff --git a/assets/sfx/.keep b/assets/sfx/.keep
new file mode 100644
index 0000000..e69de29
diff --git a/assets/sprites/.keep b/assets/sprites/.keep
new file mode 100644
index 0000000..e69de29
diff --git a/assets/tiles/.keep b/assets/tiles/.keep
new file mode 100644
index 0000000..e69de29
diff --git a/inc/meta/meta.assets.lua b/inc/meta/meta.assets.lua
index 847a76a..31f8c1f 100644
--- a/inc/meta/meta.assets.lua
+++ b/inc/meta/meta.assets.lua
@@ -1,36 +1,3 @@
---
--- 000:4444444444444444444444444444444444444444444444444444444444444444
--- 001:1111111111111111111111111111111111111111111111111111111111111111
--- 002:5555555555555555555555555555555555555555555555555555555555555555
--- 003:6666666666666666666666666666666666666666666666666666666666666666
--- 004:7777777777777777777777777777777777777777777777777777777777777777
--- 005:8888888888888888888888888888888888888888888888888888888888888888
--- 006:9999999999999999999999999999999999999999999999999999999999999999
--- 007:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
--- 008:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
--- 016:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
--- 017:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
--- 018:cc222222cc222222cc222222cc222222222222222222222222222222eeeeeeee
--- 019:222222cc222222cc222222cc222222cc222222222222222222222222eeeeeeee
--- 020:daaaabdddaaaabdddaaaabdddaaaabdddaaaabdddaaaabdddddddddddddddddd
--- 021:f888888ff888888ff888888ff888888f8888888f8888888ffeeeeffeeeeffee
--- 022:e000000ee000000ee000000ee000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
---
-
---
--- 000:00000000ffffffff00000000ffffffff
--- 001:0123456789abcdeffedcba9876543210
--- 02:0123456789abcdef0123456789abcdef
---
-
---
--- 000:000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000304000000000
---
-
---
--- 000:100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
---
-
--
-- 000:1a1c2c5d275db13e53ef7d57ffcd75a7f07038b76425717929366f3b5dc941a6f673eff7f4f4f494b0c2566c86333c57
--