RU

формат qsp

Madzi #1432 08.05.2015 13:17 10 comments 14182 views

Добрый день.

Подскажите пожалуйста, где можно найти описание бинарного формата qsp?
Хочу написать java плеер,чтобы можно было нормально запускать qsp под Linux.
Сейчас плееры можно запускать только через wine, но они переодически падают.

Заранее спасибо.

Madzi,
тебе не нужно писать свой интерпретатор.

Для Java-плеера, достаточно использовать C-библиотеку существующего интерпретатора и JNI-биндинг.

JNI-биндинг уже сделан, благодаря тому, что плеер под Андроид написан на Java.

Исходный код:

https://github.com/QSPFoundation/qsp - библиотека QSP, биндинги;

http://code.google.com/p/qsp-android-player/ - “Quest Player”, старый плеер для Android;

http://github.com/Nex-Otaku/quest-navigator-library-android - “Quest Navigator”, новый плеер на Android.

Описание бинарного формата QSP, если оно всё-таки тебе понадобится, здесь: https://github.com/QSPFoundation/qsp/blob/master/help/gam_desc.txt

Вроде, здесь. Точно не уверен.

snail,
это старая ссылка, новую я привёл.

Кстати, для Линукса есть и плеер и исходный код. http://qsp.su/index.php?option=com_content&view=article&id=64

Просто собирать и поддерживать их некому - тут все “виндузятники”. Если бы уважаемый Madzi за это взялся, было бы здорово.

Большое всем спасибо за ссылки.
Правильно ли я понимаю, что биндинги используются для вызова библиотек dll,so из java, и для того,чтобы плеер работал,нужно чтобы эти библиотеки были в системе?
Я не настолько силен в си++ и системах сборки под линукс, но обязательно попробую собрать нативный плеер.
Насколько я понял, для нормальной реализации плеера нужно встраивать браузер. Это так или можно обойтись без этого?
Что должен поддерживать этот браузер?

Заранее спасибо за ответы.

В тех исходниках, что сейчас находятся на гитхабе, текущие биндинги не работают.
Велись доработки, но эта работа так и не была завершена. Поэтому с уверенностью можно сказать лишь то, что в данный момент собирается только биндинг по умолчанию (вроде бы, он тоже еще не доведен до ума).

Реалистичный вариант сборки нужных биндингов только один - немного разобраться в коде и доработать текущие биндинги до совместимости с новой версией. Это не займет много времени.

Byte, Биндинг по умолчанию, - это классический плеер?
Насколько сильно Questnavigator отличается от классического?
Судя по коду поддерживается javascript внутри qsp. Можно пояснить -зачем это сделано?

Madzi,
Навигатор отличается от классического плеера во всём, что касается визуального оформления игры.

Яваскрипт необходим для управления шаблоном оформления. Всё оформление вынесено на уровень шаблона - CSS, HTML и Javascript. Соответственно, вызовы Javascript-функций позволяют переключать режимы оформления в шаблоне, менять оформление из игры.

Nex, спасибо. То есть, если я правильно понял, базовый исполнитель qsp (языка) везде одинаковый. И если даже не будет поддержки CSS и js то игра все равно будет работать,просто не совсем так как планировал автор?

Madzi,
да, в принципе верно.

Log in or Register to post comments.