Итак, сегодня система работы с упакованными лабиринтами заработала в полную силу. Теперь не только распаковываются нужные сцены, но и сохраняются изменения в лабиринтах, внесенные игроком — собранные ключи, бонусы, эликсиры и т.д. Так как распаковка сцены меняются при переходе через телепорт (череп), то обратно упаковывать данные в сцену слишком долго. Поэтому просто создан список изменений для каждой сцены, который применяется после распаковки этой самой сцены. Пришлось изменить способ хранения в лабиринте «шкафов», чтобы не забивать список изменений ненужной инфой. теперь «шкаф» кодируется всего одним байтом. Заодно это сократило и словарь упаковщика, что тоже приятно.
Пока что в список изменений для теста вносятся только собранные ключи, так что надо прикрутить заполнение списка и к остальным вносимым изменениям. И можно будет делать переходы между уровнями. Там уже надо грузить с диска новый уровень целиком. А так как «DOS» уже прибита в памяти, то придется делать это прямым чтением блоков с диска. Чтобы не разгребать кучу вариантов хранения каталога диска в БКшных дисковых системах, поддерживаться будет только ANDOS.
Свежие комментарии