Commit Graph

  • 16d3262340 Звук: насос CBL качает через W3 — вход в BIOS ломал W0 snark13 2026-08-25 19:36:47 +03:00
  • 4327ac88b9 R1 (рабочая копия roomtest) — в .gitignore snark13 2026-08-25 17:13:35 +03:00
  • ba3aca07bf Архивы ресурсов PBA1: звук одним файлом, музыка потоком; ALLOCS 6000 snark13 2026-08-25 17:13:25 +03:00
  • 34ba5f71d5 Музыка: PCM-трек через CBL, первый экран истории озвучен snark13 2026-08-25 15:21:22 +03:00
  • ffb59b3470 Статус-строка: время, отсчёт ##:## в отладочной полосе, смерть как в оригинале snark13 2026-08-25 15:06:17 +03:00
  • 5756101d29 Статус-строка: LEVEL N и лейбл QS/QL до дисковой операции snark13 2026-08-25 14:13:48 +03:00
  • 47a4b084c4 Меню, статус-строка и оболочка игры: title/intro/cutscene/HoF, POP.CFG, палитры snark13 2026-08-25 13:58:36 +03:00
  • 7fd7f28ffc Доки: план меню (рендер, restart без подтверждения), QSAVE закрыт snark13 2026-08-22 12:45:01 +03:00
  • f4b4852d51 QuickSave F6/F9 в roomtest; bank_load_file/bank_save_file/gfx_w0_page_prepare; sprinter-cc: авто n_banks v0.6-pop-quicksave snark13 2026-08-22 11:53:10 +03:00
  • b6699b3aef Разрез pop_tile: холодная половина в банк 5 (−1788 Б резидента) snark13 2026-08-20 22:26:05 +03:00
  • 536c60d14c AGENTS.md + .codex/config.toml — конфигурация агента snark13 2026-08-20 21:59:28 +03:00
  • e2730f78e0 gfx_scroll_v: колоночный accel-проход без буфера-посредника + тест scroll snark13 2026-08-20 21:59:28 +03:00
  • 3ea4546656 cbltest: пропущенный вызывающий cbl_open + обновление размерного эталона snark13 2026-08-20 21:59:28 +03:00
  • 8458ec65f4 libc/cbl: две точки входа вместо underrun_mode — malloc больше не в резиденте snark13 2026-08-20 21:53:08 +03:00
  • 63e426cc0d Откат оптимизации резидента: перенос данных банка в его страницу ломает картинку 0.0.3-prealpha-soundeffects snark13 2026-08-20 21:26:23 +03:00
  • 90255737c2 Откат bank-data для pop_trob: указатель на его статику уходил наружу snark13 2026-08-20 21:21:44 +03:00
  • 354582662c Резидент W1/W2: данные pop_room и pop_trob — в свои банки (−2546 Б) snark13 2026-08-20 21:14:02 +03:00
  • c6828c0ad1 Ворота PoP: правильный гейт слышимости, звук «решётка встала», playsound кнопки snark13 2026-08-20 21:03:16 +03:00
  • a630568a8b Звук PoP: приоритеты и перебиваемость вместо «всегда перебивать» snark13 2026-08-20 16:46:04 +03:00
  • f159aa47e1 CBL: заливка буфера тишиной при открытии + щелчок на выходе из PoP snark13 2026-08-20 16:23:06 +03:00
  • e0c86a96ef Ctrl+S — вкл/выкл звук; чит «выдать меч» убран snark13 2026-08-20 15:49:33 +03:00
  • 7e2e7fbb37 Тишина на первом уровне: звук включался только после смены уровня snark13 2026-08-20 15:25:09 +03:00
  • 8ea4c32e51 Звуковые эффекты PoP: оцифровка оригинала через CBL snark13 2026-08-20 15:16:43 +03:00
  • 24ced6058f Упаковщик звуковых эффектов + сверка наборов MSDOS и SDLPoP snark13 2026-08-20 12:42:19 +03:00
  • a3d37bcbfe Тень закрыта: прогон на уровнях 4/5/6/12, расхождение по кайме в impl_diff 0.0.2-prealpha snark13 2026-08-20 12:33:46 +03:00
  • 22cdc67c3a Звук: подтверждён формат (8 бит моно) и замерен бюджет EMM snark13 2026-08-20 12:25:31 +03:00
  • 4688364091 Звук: решения пользователя и единая частота 10 937,5 Гц snark13 2026-08-20 12:10:04 +03:00
  • 9f9a8f26ae Звук: разобраны все наборы MS-DOS версии, включая mt32snd snark13 2026-08-20 11:57:19 +03:00
  • 7fcd93a35b Разбор звука: эффекты через CBL как есть, музыка на AY из нот PC-спикера snark13 2026-08-20 11:53:02 +03:00
  • d1183f7315 Отладочный старт перехватывал смену уровня snark13 2026-08-20 11:35:09 +03:00
  • 30bcc3459b Атлас Тени: запечённый набор вместо спрайтов стража snark13 2026-08-20 11:22:53 +03:00
  • e60a04e900 Тень: набор спрайтов выбирает поле кадра, а не charid; SHADOW.DAT у нас нет snark13 2026-08-20 10:50:36 +03:00
  • b6660d7694 Атлас Тени: остановились на 16 цветах (гибридный подбор), блок 0xA0..0xAF snark13 2026-08-20 10:39:40 +03:00
  • acb483897d Разбор атласа Тени: алгоритм оригинала, замеры палитры, план snark13 2026-08-20 10:38:27 +03:00
  • 47c26d1899 TUNE-2: параметры стражей в CFG-файл (формат секций как у SDLPoP) snark13 2026-08-20 10:23:20 +03:00
  • 0ef8c4b60e Бессмертие: два уровня вместо тумблера snark13 2026-08-20 10:08:52 +03:00
  • 10b920f156 impl_diff: ГСЧ разведён по доменам (у оригинала один сид) snark13 2026-08-20 09:43:07 +03:00
  • 6bdac70508 Отладочная метка: уровень, комната, режим скорости, бессмертие; дефолт NORMAL snark13 2026-08-20 09:40:57 +03:00
  • 5d61224229 Реестр оптимизации: бюджет кадра вырос втрое, срочность позиций падает snark13 2026-08-19 23:23:22 +03:00
  • 35d7bd38d4 L1-SPEED закрыта режимами скорости snark13 2026-08-19 23:21:52 +03:00
  • 5e9c6a2e9e Пейсинг: результаты замеров и грабли методики snark13 2026-08-19 23:21:33 +03:00
  • a6e39070af Фиксированный логический кадр по лучу + режимы FASTEST/FAST/NORMAL snark13 2026-08-19 23:06:27 +03:00
  • 61b8d80275 Пейсинг: подробный разбор счётчика кадров по лучу (условие точности, точки выборки, приёмка) snark13 2026-08-19 21:55:05 +03:00
  • 7f778bba2f Разбор перехода на фиксированный логический кадр (кода не трогали) snark13 2026-08-19 21:41:13 +03:00
  • 39c3247532 Док 13/23: регресс после дня оптимизации 11/15 0.0.1-prealpha snark13 2026-08-19 18:56:07 +03:00
  • d0ac4b1c2a Каскад уровня 13 не падал: в гейте P5 пропущено шестое место взвода snark13 2026-08-19 18:50:32 +03:00
  • d0de6dedf4 HEAL-WIDTH: heal чомпера ровно 32x60 — его точный след snark13 2026-08-19 18:36:04 +03:00
  • b6b214e225 Реестр: HEAL-WIDTH закрыт, P10 разобран без реализации snark13 2026-08-19 18:27:18 +03:00
  • f62989e358 HEAL-WIDTH: ширина heal'ов по фактическому следу из атласа snark13 2026-08-19 18:25:35 +03:00
  • a29fb8da34 Реестр: P6a закрыт (-840), P6b оставлен неделанным snark13 2026-08-19 18:18:13 +03:00
  • 5a42b2d245 P6a: указатель модификаторов комнаты кэшируется между trob'ами snark13 2026-08-19 18:17:38 +03:00
  • 52a36caa75 Реестр: P18 — метка огрублена по X (отложено) snark13 2026-08-19 18:07:36 +03:00
  • 9e03739bb0 Реестр: P4 откачен, добавлен P17 (разрядность) snark13 2026-08-19 18:02:09 +03:00
  • 79bcabde94 Габариты спрайтов в байтах: uint16_t -> uint8_t в слоте отрисовки snark13 2026-08-19 18:00:19 +03:00
  • 892f005ca5 pop_blit_b: границы экрана двумя беззнаковыми сравнениями вместо четырёх знаковых snark13 2026-08-19 17:52:43 +03:00
  • b3e754a66b Revert "P4: каталог атласа читается из W0, а не через мап W3 — минус 408" snark13 2026-08-19 17:42:51 +03:00
  • a993cb3b62 Реестр: P4 частично, эффект много меньше ожидаемого snark13 2026-08-19 17:41:14 +03:00
  • 06fb4235f0 P4: каталог атласа читается из W0, а не через мап W3 — минус 408 snark13 2026-08-19 17:40:24 +03:00
  • 6f077b0d6d Разбор P14: он сводится к P4 (цене блита) snark13 2026-08-19 17:29:19 +03:00
  • 952879e7fa Реестр: три отрицательных результата по оптимизации проверок snark13 2026-08-19 17:17:27 +03:00
  • 68e7d17b14 Реестр: P16 закрыт, P14 уточнён замером трупа snark13 2026-08-19 16:57:47 +03:00
  • e501982457 Проверка «задет ли слот» без пяти аргументов: минус 3 684 snark13 2026-08-19 16:56:50 +03:00
  • f47d79ded8 guard_over_kid — только когда кого-то рисуем: минус 14 118 snark13 2026-08-19 16:42:54 +03:00
  • 379c513087 cd_quiet: сравнение снимка без построения структуры — минус 8 016 snark13 2026-08-19 16:33:31 +03:00
  • 52bcc65a62 Особенность: убитый за правым краем страж не виден ни в одной комнате snark13 2026-08-19 16:23:41 +03:00
  • 41deb69013 Реестр: P15 закрыт замерами обеих позиций snark13 2026-08-19 16:09:47 +03:00
  • 767d6f78a4 P15: метка «фон трогали» стала точной — минус 167 880 тактов на кадре snark13 2026-08-19 16:04:46 +03:00
  • 17c41b32de P15 переписан: перекрытия нет, виновата грубость метки snark13 2026-08-19 15:40:30 +03:00
  • a65da96960 CHAR-PARTIAL-REDRAW: обязательная задача о неподвижном персонаже snark13 2026-08-19 15:35:54 +03:00
  • d3049693b8 Реестр: сводка и статусы обновлены; замер тяжёлой позиции snark13 2026-08-19 15:30:04 +03:00
  • 6faf81016a Замер цианной фазы: крупного лишнего в отрисовке персонажа нет snark13 2026-08-19 12:53:49 +03:00
  • 068e21b56a Реестр: P2b закрыт; иерархия референсов и трамплины в цикле snark13 2026-08-19 12:37:34 +03:00
  • f8493a4c04 P2b: луч видимости стража 36 786 -> 13 002 (-65 %) snark13 2026-08-19 12:37:06 +03:00
  • da17a48576 Реестр: P2a закрыт, следующий P2b snark13 2026-08-19 12:09:30 +03:00
  • 2bdaf0f4cd P2a: coll_scan переведён на 8 бит и снят с IX — минус 3 486 в коллизиях snark13 2026-08-19 12:06:43 +03:00
  • de68eb5cec P1: чомпер перерисовывался неизменной позой — минус 110 802 такта snark13 2026-08-19 11:30:01 +03:00
  • f81b30eb68 Замер P2 и P6: главные статьи — физика двух Char и луч видимости snark13 2026-08-19 11:05:58 +03:00
  • 6d7c1c8b6b P5: гейты холостого хода в pop_loose_tick — минус 33 840 тактов на кадре snark13 2026-08-19 10:49:19 +03:00
  • fd570c7eb8 Замер сцены 11/15 и единый реестр оптимизаций snark13 2026-08-19 10:21:02 +03:00
  • 09f32ce834 Уровни 10-12 прошли предварительный тест; HEAL-WIDTH связан с G8 mob-order-B-done snark13 2026-08-19 00:00:23 +03:00
  • 4db60c750f Вариант B: кусок с завёрнутым рядом рисуется под всем (корзина 30) snark13 2026-08-18 23:10:41 +03:00
  • 272cf8f195 Разбор порядка отрисовки падающей плиты: найден корень, выбран вариант B mob-order-B-start snark13 2026-08-18 22:51:00 +03:00
  • cdac5746ac Мид-оверлей не рисовал передний торец плиты (draw_loose из draw_tile2) snark13 2026-08-18 21:16:59 +03:00
  • ed5615a95a Плиты нижнего ряда пропадали без кадров падения: draw_mob рисует и соседей snark13 2026-08-18 18:55:39 +03:00
  • 0832445614 Уровень 9 прошёл предварительный тест; замер тактов 13/23 без регресса snark13 2026-08-18 17:49:37 +03:00
  • a737412154 Уровень 8 прошёл предварительный тест snark13 2026-08-18 17:25:08 +03:00
  • 3f643532c9 Трасса kidobj для сверки с SDLPoP + разбор боя у шва snark13 2026-08-18 17:07:01 +03:00
  • a498255471 Бой у шва: смену комнаты запрещают ещё и кадры меча (leave_room, seg002:0490) snark13 2026-08-18 16:35:12 +03:00
  • c40ae3f8f5 Страж возвращался в комнату не туда: колонку несёт guards_x, а не тайл snark13 2026-08-18 16:20:40 +03:00
  • 0077ef3850 Задача PERF-SWEEP: поиск узких мест по всей игре, а не в одной сцене snark13 2026-08-18 15:59:11 +03:00
  • ed7e63a4fa Замер тактов 13/23 после фиксов уровней 3-7: регресса нет snark13 2026-08-18 15:50:26 +03:00
  • a6666489c0 Уровень 7 прошёл предварительный тест snark13 2026-08-18 15:36:51 +03:00
  • 3bcaf51221 NEXT_SESSION: DIED-ON-BUTTON закрыт snark13 2026-08-18 15:28:19 +03:00
  • 6feab5d2f2 Смерть на кнопке ломает её насовсем (died_on_button, seg007:776) snark13 2026-08-18 15:27:36 +03:00
  • b49ba15666 DIED-ON-BUTTON: найдена вторая половина — физика трупа выключена целиком snark13 2026-08-18 15:11:33 +03:00
  • 980d48c168 Пики оставались навсегда: запечка фона консервировала выдвинутый кадр snark13 2026-08-18 14:53:44 +03:00
  • 214d3a822a Уровни 4-6 прошли предварительный тест snark13 2026-08-18 12:09:03 +03:00
  • 671c947ce9 impl_diff: тень спрайтами Кида — осознанное расхождение, не баг snark13 2026-08-18 12:06:19 +03:00
  • af4e64455e Кусок узора на стене: модификатор стены не переводился при загрузке snark13 2026-08-18 12:01:07 +03:00
  • 085a198c20 Мигание тени: кадр приходил из кэша, а снимок писался по Guard.frame snark13 2026-08-18 11:48:45 +03:00