Quest Navigator для Windows
Плеер “Quest Navigator” для Windows находится в стадии активной разработки.
Ссылка на скачивание самой свежей версии: http://appcast.text-games.ru/quest-navigator-latest
Утилита для логирования ошибок и консольного вывода Javascript: LogApp.exe
Документация: Quest Navigator
Исходный код: http://github.com/Nex-Otaku/quest-navigator-awesomium
версия 0.0.17
локальная полка игр
Подключена БД SQLite.
Появилась локальная полка игр. Плеер запоминает игры, открытые с диска, и позволяет запустить их.
При старте плеера показывается список последних открытых игр, выбираем игру в списке - она запускается.
Онлайн-полка ещё не реализована.
версия 0.0.18
отключение сохранений через NOSAVE
При включении, потом при выборе в меню пункта “Другие игры”, мерцает чёрный экран с предложением выбрать игру с диска (чёрный фон), а уже потом включается полка игр (серый фон). Так понимаю, сначала грузится один скин (или даже игра со скином), а потом - другой. Убрать это как нибудь можно?
Aleks Versus,
Так понимаю, сначала грузится один скин (или даже игра со скином), а потом - другой.
Нет. Ничего лишнего не загружается.
Сначала загружается HTML+CSS, далее во время инициализации игры (т.к. “Полка игр” тоже является qsp-файлом), устанавливаются размеры окон, настройки оформления, заполняется контент и т.п.
Так как яваскрипт выполняется не мгновенно, браузер тратит время на рендер, а также время уходит на общение через мост “нативный код” <-> “JS”, то во время такой инициализации на экране показывается всякий бред, чёрный экран в том числе.
Убрать это как нибудь можно?
Хороший вопрос. Попробую.
Nex:
о во время такой инициализации на экране показывается всякий бред, чёрный экран в том числе.
Ок. Это не критично. Когда открываешь другие игры, ничего подобного не происходит.
:D Меня сейчас озаботила разница в html разметке между QN и классикой. В QN, например, создаются дополнительные переносы строк в случае
<center>rrpprpr</center>
<center>fllfllflf</center>
Html считает это разными строками текста уже потому, что они размечены по-отдельности, плюс между строками и так находится символ переноса строк.
Ещё почему-то не распознаются некоторые коды специальных символов. ♥ — и другие. > < ” - работают точно.
Aleks Versus,
Aleks Versus:
В QN, например, создаются дополнительные переносы строк
вообще-то проблема “лишних переводов строки” одинакова и в навигаторе, и в классическом плеере. Не знаю, где ты тут увидел различие в HTML-разметке. Может, подробнее объяснишь?
Чтобы не вставлялись переводы строки - в HTML-режиме там идёт вставка тегов
- нужно выводить текст оператором *P, в одну строку.
Aleks Versus:
не распознаются некоторые коды специальных символов. ♥ — и другие.
В следующей версии будет исправлено.
Вот код:
Spoiler
"<center>Текст 1</center>"
"<center>Текст</center>"
"<center>Долгий текст</center>"
"<center>Текст 1</center>
<center>Текст</center>
<center>Долгий текст</center>"
"<center>Текст 1</center><br><center>Текст</center><br><center>Долгий текст</center>"
"<center>Текст 1
Текст
Долгий текст</center>"
"<center>Текст 1<br>Текст<br>Долгий текст</center>"
Вот как это выглядит в навигаторе и классике, соответственно:
Spoiler

Но в случае навигатора - это не ошибка, просто по правилам html в первом втором случае текст, помещённый в <center></center>, автоматически ставится отдельной строкой. Плюс добавляется перенос строк. Вот это самое:
"
"
Но что действительно странно. Вот такая штука выводится одинаково и там и там:
"<center>Текст 1</center><center>Текст</center><center>Долгий текст</center>"
Aleks Versus,
достаточно этой строки:
"<center>Текст 1</center><br><center>Текст</center><br><center>Долгий текст</center>"
В ней наглядно видно, что при рендере в классическом плеере
между двумя тегами <center> игнорируется.
Он должен добавлять пустую строку, и именно так и происходит в Навигаторе, в полном соответствии со стандартами браузера.
Пример в браузере: http://jsfiddle.net/Kva6g/1/
Обращаю внимание, что всё написано в одну строку, так что дело именно в рендере тега
, а не в обработке “символов перевода строки”.
Так что действительно, есть разница. Классический плеер рендерит HTML с ошибками.
Ну если игнорируется
в этом случае, то в случае:
"<center>Текст 1</center>
<center>Текст</center>
<center>Долгий текст</center>"
- игнорируются символы перевода строки. Про это я и говорю. :lol: Как всегда окольными словами.
Ещё с таблицами побалуюсь простенькими. Тоже где-то замечал разницу.
Aleks Versus,
символы перевода строки плеером переводятся в
и отдаются HTML-рендеру.
Рендер неправильно рендерит
.
Разницы никакой между этими примерами нет. И там и там косяк именно с отрисовкой
.
Таблицы тоже поддерживаются классическим плеером весьма ограниченно. Это особенности самого классического плеера, не стоит о них писать в эту тему.
Nex:
не стоит о них писать в эту тему
Не стоит так не стоит. А о игнорировании навигатором символов табуляции в выводимом на экран тексте стоит? Это тоже последствие полноценного html.
Aleks Versus,
если в Навигаторе HTML работает так же, как в браузере - то это именно то, что нужно. Зачем об этом писать?
Навигатор использует движок браузера для отрисовки HTML и работы с CSS, JS. Поэтому всё должно работать так же, как в обычном браузере. Так и задумано.
Если у классического плеера что-то в рендере отличается от браузера, то это относится к классическому плееру, а не к Навигатору. Всё, что относится только к классическому плееру, здесь писать не нужно.
Пиши в тему по классическому плееру, если хочешь. Можешь даже отдельную тему создать - “Особенности HTML-рендера классического плеера”.