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
Dark наверное имеет ввиду, что пути читаются по-разному.
Кажется, понял насчёт “img”.
В классическом плеере можно задать путь к картинке, прибавив слэш в начале. В Навигаторе это действительно не сработает.
Тут всё очень интересно.
“Корневой” путь считается в Навигаторе не от папки с html-файлом, а от корня диска. В классическом плеере, корень считается от папки с файлом игры.
Чтобы добиться поведения, аналогичного классическому плееру, придётся написать свой класс работы с данными.
Но это ещё не всё. Навигатор кэширует игровые файлы, и хитрым образом работает со структурой папок, в результате все файлы игры оказываются при воспроизведении в папке “standalone_content”, а файлы библиотеки - в соседней папке “qsplib”. Такое разделение позволяет не захламлять корневую папку игры. Если добиваться поведения классического плеера, то придётся класть qsplib в корневую папку игры, иначе будет невозможно загрузить JS-API Навигатора. Нельзя будет подняться на уровень выше.
Более того, если мы запустим обычный HTML-файл с локального диска в браузере, то увидим поведение, как в Навигаторе. Корнем будет считаться корень диска.
Учитывая всё это, придётся отказаться от написания слэша в начале URL для картинок, CSS и JS файлов.
Описал в вики: Отличия от классического плеера.
Не понятно, когда в игре может понадобиться путь к файлу в корне диска.
Может, можно сделать, чтобы плеер удалял первые слэши в таких строках?
В идеале плеер должен виртуализировать файловую систему таким образом, чтобы “корнем диска” считалась папка с игрой.
Byte,
даже в классическом плеере можно открыть файл с корня диска.
Виртуализация файловой системы и прочие принципы безопасности это дело конечно хорошее, до тех пор, пока не вредит всему остальному. Если кто-то придумает, как это реализовать, чтобы ничего не порушилось в существующем движке, причём на всех ныне действующих платформах, и пришлёт мне Pull Request, я буду только за.
Nex:
Более того, если мы запустим обычный HTML-файл с локального диска в браузере, то увидим поведение, как в Навигаторе. Корнем будет считаться корень диска.
У меня ни в одном браузере не работала строка, начинающаяся со слэша. За исключением тех случаев, когда после слэша шла буква диска. И то: IE отказался понимать такой путь.
Nex, да, но по-хорошему такого быть не должно.
Byte,
я полностью с тобой согласен.
Исследовал проблему с многострочным кодом в ссылках (EXEC). К несчастью, движок Awesomium обрезает из строки запроса символы перевода строки. Без костылей с этим ничего сделать нельзя.
В то же время, я не думаю, что у авторов есть критичная необходимость пользоваться сложным многострочным кодом в EXEC. Поэтому пока что не буду делать костылей. Может быть, в будущих версиях Awesomium этот баг исправят.
Отличие описал в документации.
Потихоньку верстаю шаблон. Сделал заново переключение инвентаря. Предыдущая версия была с багом.
Nex:
В то же время, я не думаю, что у авторов есть критичная необходимость пользоваться сложным многострочным кодом в EXEC
В крайнем случае код легко можно вынести в отдельную локацию и вызывать через GOSUB, или помещать в переменную и выполнять через DYNAMIC. Мне кажется, такое “ограничение” даже пользу будет приносить.
Aleks Versus,
ну это не ограничение, это баг. Я, кстати, отправил запрос в техподдержку Awesomium, но за прошедшие 8 дней они даже не прочитали его.
Нарезал графику для кнопки меню.
Сделал кнопку отключения звука.
Ничего себе,ну ти и проделал роботы,уважение и успехов в роботе тебе ;)
Orest,
спасибо. Летом представлю новый шаблон по умолчанию, который сейчас верстается.