Category: Prince of Persia

07
Авг
2021

Упаакуем-распааакуем!

Нашел, значит, я распаковщик LZ  в  исходниках нашей Color Lines, прицепил его к Принцу, упаковал картинки, сделал вызов распаковщика в нужных местах и….. получил кучу мусора на экране вместо заставок. Попробовал подсунуть упакованные файлы этому распаковщику прямо в отладчике – тот же самый результат. И тут, конечно, мне стало ясно, что архивы он хочет не совсем такие, какие выдает наш упаковщик LZ. Естественно, ведь LZ делает архив ГРУППЫ файлов, а значит сохраняет туда заголовок с именами файлов, их адресами запуска и т.д. Все это программе распаковки, используемой в игре, вообще не нужно. Значит, надо заголовок архива отрезать и все дела! Но не тут-то было. Мне так и не удалось заставить его распаковать полученные архивы. Видимо, подумал я, надо все-таки искать исходники самого архиватора. Снова, как и вчера, задал я поиск по всем БКшным дискам и нашел…. архиватор LZM. И где же я его нашел? А на том же диске с исходниками Color Lines, в каталоге Utilites. И вспомнил я (опять), что Женя написал модифицированный архиватор для использования в игрушках. Уж не помню в чем там дело было, но видимо в размере распаковщика. Заново сжал картинки уже этим LZM и вот тогда распаковщик согласился распаковать полученные новые архивы. Как бы ура!

07
Авг
2021

Склероз!

В процессе разбирательств с BKPACK выяснилось, что он слишком заточен на создание самораспаковывающихся архивов – при распаковке он затирает сам себя и второй раз этот сжатый массив уже не распакуешь просто так. Надо переделывать распаковщик. Тогда я вспомнил, что Жена Пашигоров в свое время написал архиватор LZ, но использовали мы его для массового сжатия файлов в архивы – чтобы сжать весь диск или каталог с играми. Я нашел этот архиватор и попробовал им сжать нынешние картинки заставок от Принца – получил почти такой же результат, какой дал BKPACK. Я стал читать доку от LZ, и увидел, что мы уже сравнивали его с BKPACK еще сто лет назад:

Потом я подумал, что можно поискать исходники LZ и попытаться приспособить его для распаковки сжатого массива в памяти. Поискал и нашел – оказывается, все это уже было сделано нами еще в 1995 году в Color Lines:

Склероз, граждане!

P.S.: сделал кнопку для быстрых рублевых донатов

05
Авг
2021

BKPACK

Попробовал БКшный архиватор BKPACK. И получилось сжать две полноэкранные картинки общим размером 32 килобайта в 12 килобайт. В ролике грузится один файл размером 12 килобайт, который выводит две картинки по 16 килобайт каждая.

Можно было бы хранить файлы и несжатыми, конечно, в наш век 32 килобайта или 16 – смешно.

04
Авг
2021

Восстановление системы

Реализовал восстановление системы при выходе из Принца. На данный момент это CSIDOS. При старте в SMK сохраняется содержимое страниц 6 и 7, при выходе – восстанавливается. Осталось сделать тоже самое с ANDOS и MKDOS. Дело тут не столько в выходе (можно было и тупо перезапустить БК), сколько в том, что мне надо все-таки записать таблицу рекордов на диск. А диски на БК бывают очень разные – куча разных форматов диска и каталогов. И при этом Принц на старте выкидывает из памяти ВСЕ, включая DOS 🙂

Добавил поддержку ANDOS и MKDOS:

P.S. Не понял прикола в CSI DOS – при выборе группы файлов их количество выводится в восьмеричной системе. Т.е. выбираешь 7 файлов – количество 7. Выбираешь еще один файл – количество уже 10. Зачем?

27
Июл
2021

Демо-режим готов!

Итак, все демо-ролики собраны в единое целое и прикручены к начальным заставкам. При запуске первый ролик определяется случайным числом, далее они крутятся по циклу, все 5. Таким образом, если Принца просто запустить – каждый раз можно увидеть новый ролик. Если же оставить игру крутиться на начальной заставке – можно просмотреть их все, если не надоест 🙂

Теперь надо дописать еще немного музыки для уже готовых роликов типа “запуск мыши”,  и для финала. Сам видеоряд давно готов, надо только музыку добавить и прицепить все эти ролики (промежуточные и финальные) к игре.

Ах да, надо еще сделать ввод имени в таблицу рекордов.

 

27
Июл
2021

Картина пятая. О пользе ходьбы

Сделал пятый ролик для демо. В нем показано как пользоваться маленьким шагом.

Ну и хватит роликов для заставочного демо. Надо собрать их в кучу, организовать их показ случайным образом и двигаться дальше.