Вышла новая версия плеера 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 — добавить секцию с размерами
[[game]]
id = "c2cb4b5b-6a1c-482e-bb47-9ef207fb0dcd"
title = "Чашка кофе"
mode = "aero"
file = "aero_coffee.aqsp"
[game.aero]
width = 504
height = 680
При этом можно использовать как aqsp архив, так и распаковать его и прописать ссылку на qsp файл в папке.
ВАЖНОЕ ЗАМЕЧАНИЕ:
Я не собираюсь развивать и поддерживать (кроме багфиксов) формат AeroQSP, поэтому не советую начинать новые игры с его использованием. В планах добавить в qspider возможность упавления темой игры, но пока конкретной даты нет.
Ссылка:
https://ifhub.club/2021/10/22/qspider-0110.html