qSpider версии 0.11.0
Клуб любителей текстовых игр на QSP·23 окт 2021
Вышла новая версия плеера qSpider — 0.11.0 Демо — https://qspfoundation.github.io/qspider/
Новые фичи:
- поддержка игр в AeroQSP формате
- поддержка style атрибута в тегах
- к основным элементам интерфейса добавлен data-qsp атрибут (data-qsp=«main», data-qsp=«actions» и т.д.)
Исправлены следующие баги:
- кнопки сохранения/загрузки теперь будут спрятаны, если в игре установлен nosave=1
- исправлен align атрибут в таблицах
- исправлен вызов onactsel (в прошлых версия поведение отличалось от классического плеера)
Поддержка игр в AeroQSP формате
Собственно этот функционал так и затянул выход новой версии. Я старался добиться, чтобы как можно больше AeroQSP игр можно было запускать без дополнительных изменений самой игры. Оказалось что HTML движок в флеш версии AeroQSP достаточно специфичен и не всегда совпадает с тем как работает браузер.
Вот список особенностей и отличий:
- несколько игр использовали синтаксис, который поменялся в 5.8.0 (порядок аргументов в INSTR, ARRCOMP, ARRPOS) и в qSpider будут выдавать ошибку о несовпадении типов данных
- в AeroQSP шрифты подключались в формате swf, использовать такой формат больше нет возможности, поэтому если игра использует нестандартные шрифты — их необходимо будет подключать через файл конфига в секции game.resources
- в qSpider не поддерживаются эффекты pixels, h_blinds и v_blinds, остальные эффекты могут немного отличаться от того как работала флеш версия
- не поддерживается переменная SCROLL_SPEED (хотя я вроде и не видел чтобы она использовалась хоть в одной игре)
- обработка клика в флеше отличается от браузера — если на блоке нет обработчика то он не перехватывает клик даже если размещен поверх другого, в ряде игр это привело к тому что не спрятанные панельки (пустые и не видимые) в qSpider блокируют клики по линкам под ними. Пример — игра Новогодние сказки где кнопка Играть почти полностью перекрыта пустой на этот момент панелькой действий. Лечится небольшими изменениями игры — отключением неиспользуемых панелей.
- в флеше тег center внутри таблиц растягивает таблицу на всю ши рину, при этом еще размеры ячеек без явно указанной ширины в этом случае считаются не как в браузере, чаще всего заметно в действиях — для форматирования по умолчанию используется таблица, и если в названии действия использовать тег center, то в флеш версии текст будет по середине панели, а в qSpider — нет. Лечиться добавлением width=100% в такую таблицу. Я не смог сделать это на уровне плеера поскольку в ряде игр это ломало отображение.
Пример подключения
Для подключения AeroQSP игры через конфиг необходимо в основной секции добавить mode = «aero», и если используется размер игры отличающийся от дефолтного 800х600 — добавить секцию с размерами
Автор оригинальной статьи Werewolf.
Оригинал доступен по ссылке: https://ifhub.club/2021/10/22/qspider-0110.html#comment