From cfc07afe59b54e5d5f11fc9a6537fbacfeffd57c Mon Sep 17 00:00:00 2001 From: Zsolt Tasnadi Date: Sat, 17 Jan 2026 18:14:31 +0100 Subject: [PATCH] asset importer --- Makefile | 41 +++++++++++++++++++++------------------- assets/music/.keep | 0 assets/sfx/.keep | 0 assets/sprites/.keep | 0 assets/tiles/.keep | 0 inc/meta/meta.assets.lua | 33 -------------------------------- 6 files changed, 22 insertions(+), 52 deletions(-) create mode 100644 assets/music/.keep create mode 100644 assets/sfx/.keep create mode 100644 assets/sprites/.keep create mode 100644 assets/tiles/.keep 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 --