8792594c5a
Всё сразу: .atl с диска (mkatlas.py из генерённых лент) → atlas_load в EMM-страницу (W0, ISR-стаб) → движок sprite_t.page → авто-анимации: 5 астероидов (ANIM_LOOP вращение + sprite_moveto к случайным целям разных скоростей; по прибытии — взрыв ANIM_ONCE в точке + новая цель, по SPR_ANIM_DONE взрыв прячется), маяк ANIM_PINGPONG; дабл-буфер, FPS-метр, ESC. ~48 fps (vsync-кап). Грабли по дороге (оба — прикладные, не библиотека): - фон рисовался rand()'ом с разными последовательностями на страницах → мерцание звёзд; фикс — фиксированный seed на draw_space; - НЕ была скопирована палитра страницы 0 → 1 (у каждой страницы своя, см. gfx.h) — страница 1 показывалась чёрной, флип мигал «сцена/чёрный»; fps-плашка теперь рисуется на ОБЕИХ страницах (fps_draw=2 кадра при смене секунды). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
14 lines
502 B
Makefile
14 lines
502 B
Makefile
PROJ_ROOT := $(abspath $(CURDIR)/../..)
|
|
EXAMPLE := space
|
|
EXTRA_FLAGS ?= --gfx 256 --memory tiny
|
|
EXTRA_DATA := space.atl
|
|
include $(PROJ_ROOT)/app.mk
|
|
|
|
# Атлас: три ленты 16×16×4 (астероид/взрыв/маяк) → одна EMM-страница.
|
|
space.atl: gen_sprites.py $(PROJ_ROOT)/toolchain/mkatlas.py
|
|
python3 gen_sprites.py
|
|
python3 $(PROJ_ROOT)/toolchain/mkatlas.py $@ \
|
|
asteroid.raw:16x16:1x4 explode.raw:16x16:1x4 beacon.raw:16x16:1x4
|
|
|
|
$(EXAMPLE).exe: space.atl
|