SprPoP: завести CHANGELOG, версия и дата — из git-тега
До сих пор «что изменилось» восстанавливалось только из git log, а он устроен по ПРИЧИНАМ правок, а не по тому, что заметит игрок. Заводим отдельный файл — как это уже сделано у mdview2 (changelog в репозитории ведётся на приложение, а корневой RELEASE_NOTES.md описывает тулчейн и живёт своей жизнью). Начат с v0.9.6: зацеп, зацикленный взмах клинка, кнопка в паласе. Более ранняя история остаётся в git log и досках — переписывать её задним числом смысла нет. ВЕРСИЯ И ДАТА БЕРУТСЯ ИЗ GIT, а не проставляются руками: заголовок записи = имя аннотированного тега, дата = дата его создания (`git for-each-ref refs/tags/<тег>`). Так запись не может разойтись с историей. Правило записано в CLAUDE.md рядом с дисциплиной досок, иначе файл заведётся один раз и умрёт. В запись идёт только то, что видно ИГРОКУ или меняет сборку/запуск, по схеме «симптом -> причина одной фразой -> хеш»; полный разбор остаётся в сообщении коммита и не дублируется. Файл в UTF-8, как остальные доки SprPoP. CP866 у mdview2 — вынужденная мера (его changelog читает сам MDView), здесь такого требования нет. Ссылка добавлена во входные точки docs/README.md. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018T2k4VZrSyERwk6H97Sfi1
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
# SprPoP — CHANGELOG
|
||||
|
||||
Заметные изменения по релизам. **Версия и дата каждой записи берутся из
|
||||
git** — из аннотированного тега (`git for-each-ref refs/tags`), а не
|
||||
проставляются руками, поэтому расходиться с историей они не могут.
|
||||
Заголовок записи = имя тега, дата = дата его создания.
|
||||
|
||||
Здесь только то, что видно ИГРОКУ или меняет способ сборки/запуска.
|
||||
Разбор причин живёт в сообщениях коммитов, открытые баги — в
|
||||
`docs/BUGS_OPEN.md`, закрытые — в архиве roomtest.
|
||||
|
||||
Файл начат с релиза v0.9.6; более ранняя история — в `git log` и в
|
||||
досках задач.
|
||||
|
||||
## v0.9.6-hang-sound-button — 2026-09-02
|
||||
|
||||
Три бага, найденные в живой игре и проверенные в MAME после исправления.
|
||||
|
||||
- **Зацеп срывался на следующем кадре** (регресс, тянулся с 4e12aa5).
|
||||
Кид цеплялся за кромку, поза зацепа рисовалась — и он тут же падал.
|
||||
Ловилось на длинном прыжке уровня 3 (комната 7) и в attract-демо, где
|
||||
Кид вместо подъёма на кромку (0,2) улетал на пики. Причина: страж
|
||||
«падения сквозь стену» принимал кладку под кромкой за стену, в которую
|
||||
персонаж влетел, и отменял только что состоявшийся захват. Теперь
|
||||
удачный зацеп отменяет этого стража. `38fb3c0`
|
||||
|
||||
- **Непрерывный взмах клинка у безоружного Кида.** На подъёме шёл
|
||||
нескончаемый свист меча, которого у Кида нет. Причина: в порт не
|
||||
доехали два условия оригинала, включая гард, который автор SDLPoP
|
||||
подписал прямым текстом как «фикс зацикленного звука взмаха». `cb995bf`
|
||||
|
||||
- **Кнопка под Кидом заливалась кладкой** на дворцовых уровнях. Кид
|
||||
подтягивается на открывающую кнопку, и кромка, которая его прячет,
|
||||
нарисована кирпичом (уровень 4, комната 18). Причина: подстановка
|
||||
спрайта «кнопка без пола слева» действует только в подземелье, и это
|
||||
условие было потеряно в перерисовке поверх персонажа — при том что в
|
||||
статической отрисовке комнаты оно есть. `8548aa9`
|
||||
|
||||
Сопутствующее, для разработки:
|
||||
|
||||
- В доске исправлено толкование звука 11: это индикатор ПРОМАХА, а не
|
||||
«любого укола». Прежняя запись описывала наш собственный код вместо
|
||||
оригинала, и из-за неё в CLIMB-VS-GUARD зря отодвинули версию про порог
|
||||
дистанции. `400f5cb`
|
||||
- Новый набор host-тестов `t_hang`: мерит не «вис наступил», а «вис
|
||||
ДЕРЖИТСЯ» — прежние наборы регресс зацепа не видели именно поэтому.
|
||||
Входит в `38fb3c0`.
|
||||
- В `CLAUDE.md` записан путь запуска на HDD-образе: игра лежит в
|
||||
`D:\GAMES\SPRPOP`, а не в корне диска. `aaa480d`
|
||||
Reference in New Issue
Block a user