SprPoP: автономность — внешние данные качаются, а не хранятся
В репозитории нет ни байта чужих данных, но есть знание, откуда их взять: tools/fetch_orig.py качает SDLPoP (ресурсы + исходники-эталон) и записи саундтрека, причём адрес архива музыки читает из самого SDLPoP (ReadMe.amigaos4, секция «AUDIO IS SLOW/AWFULL»); запасной адрес вшит константой. Цели: make fetch / fetch-sdlpop / fetch-music / fetch-check / fetch-list. Версия SDLPoP пишется в .fetch.json вместе с манифестом sha256 всего дерева. По нему следующий fetch отличает НАШИ отладочные врезки (POP_TRACE — покадровая трасса Кида, дампы палитры и спрайтов) от нетронутых файлов и не сносит их молча: без --force каталог не трогается вовсе, с --force старая копия уезжает в бэкап .cache/. MSDOS/ не качается и НЕ НУЖЕН: уровни и оцифровка берутся из SDLPoP. У SprPoP теперь свой .gitignore, написанный так, чтобы стать корневым при выделении в отдельный репозиторий (пути от корня приложения, ничего про applications/). Из корневого .gitignore тулчейна SprPoP-секция убрана, чтобы две копии не разъезжались. Заодно закрылась дыра: шаблон applications/*/*/*.exe не покрывал артефакты в корне SprPoP. assets/orig/README.md выведен из-под игнора — без него в чистом клоне не написано, откуда брать данные, а это и есть смысл затеи. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011MsUsEFAQfsjjQpJ7RtKVY
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
# ===========================================================================
|
||||
# SprPoP — .gitignore приложения
|
||||
# ===========================================================================
|
||||
# Пока SprPoP лежит внутри репозитория C-Compiler, git читает этот файл как
|
||||
# правила ДЛЯ ЭТОГО ПОДДЕРЕВА, и он дополняет корневой .gitignore тулчейна.
|
||||
# Когда SprPoP выделят в самостоятельный проект, файл станет КОРНЕВЫМ и
|
||||
# продолжит работать как есть: все пути написаны от корня SprPoP и ничего
|
||||
# не знают ни про applications/, ни про раскладку тулчейна.
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# ЧУЖИЕ ДАННЫЕ — в репозиторий не идут никогда
|
||||
# ---------------------------------------------------------------------------
|
||||
# assets/orig/ — оригинальные данные игры (копирайт). В репозитории вместо
|
||||
# них лежит ЗНАНИЕ, откуда их взять: tools/fetch_orig.py (`make fetch`)
|
||||
# качает SDLPoP и записи саундтрека, MSDOS/ пользователь кладёт сам (он
|
||||
# необязателен). Скачанные архивы кэшируются в assets/orig/.cache/.
|
||||
#
|
||||
# Шаблон со ЗВЁЗДОЧКОЙ, а не `assets/orig/`: git не заходит внутрь
|
||||
# игнорируемого каталога, и исключение ниже иначе не сработало бы, а
|
||||
# README.md — единственное, что отсюда ОБЯЗАНО быть в репозитории: без
|
||||
# него в чистом клоне не написано, откуда брать данные.
|
||||
assets/orig/*
|
||||
!assets/orig/README.md
|
||||
|
||||
# Уровни res20xx.bin ложатся на диск ПРЯМО из оригинала, конвертации нет —
|
||||
# то есть это тот же копирайтный материал, только в раскладке диска.
|
||||
# Остальное содержимое assets/packed/ версионируется намеренно: без него из
|
||||
# чистого клона не собрать игру, а исходников (assets/orig/) может не быть.
|
||||
assets/packed/LEVELS/
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# ВЫХОД СБОРКИ
|
||||
# ---------------------------------------------------------------------------
|
||||
# build/ — .exe, раскладка диска, hdd/, промежуточные атласы, stamp'ы.
|
||||
# Правило без слэша спереди намеренно: под ним и tests/host/build/.
|
||||
build/
|
||||
|
||||
# Промежуточный каталог sprinter-cc.
|
||||
.sprinter-cc-*/
|
||||
|
||||
# Артефакты компиляции, которые SDCC кладёт рядом с целью — в корень
|
||||
# приложения. Только корень: единственный версионируемый ассемблерный
|
||||
# файл (tests/host/bank_stub.s) лежит глубже и под правило не попадает.
|
||||
/*.exe
|
||||
/*.asm
|
||||
/*.lst
|
||||
/*.lk
|
||||
/*.ihx
|
||||
/*.noi
|
||||
/*.sym
|
||||
/*.map
|
||||
/*.rel
|
||||
/*.cdb
|
||||
/*.mem
|
||||
/*.rst
|
||||
|
||||
# Хостовые тесты и утилиты собираются нативным cc.
|
||||
*.o
|
||||
*.obj
|
||||
*.dSYM/
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# ОС / редакторы / локальные настройки
|
||||
# ---------------------------------------------------------------------------
|
||||
.DS_Store
|
||||
._*
|
||||
*~
|
||||
*.swp
|
||||
*.bak
|
||||
*.orig
|
||||
*.rej
|
||||
.vscode/
|
||||
.idea/
|
||||
.kilo/
|
||||
.claude/
|
||||
Reference in New Issue
Block a user