Files
Sprinter-SDCC/applications/SprPoP/CHANGELOG.md
T
snark13 f206a4cca6 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
2026-09-02 18:32:11 +03:00

3.9 KiB
Raw Blame History

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