Sublime Text + QSP. QSP-Builder для Sublime Text

Sublime Text + QSP. QSP-Builder для Sublime Text

Всем привет.

В общем, тут как-то звёзды сошлись.

Вопросы Викара и попытка редизайнить свой сайт заставили ознакомиться с git и github; перелопачивание старого QSP-кода заставило пожалеть об отсутствии системы контроля версий в Qgen; а Pseudopod показал, что оказывается можно разрабатывать игры на QSP и не в QGen. Ещё до кучи я возобновил своё знакомство с Python, ну а поскольку моим любимым текстовым редактором уже многие годы остаётся Sublime Text, всё это вылилось в попытку написать скрипт вроде того, что предлагал evp когда-то (http://qsp.su/index.php?option=com_agor … ;Itemid=57).
И к моему удивлению заработал сначала скрипт, а потом мне даже удалось превратить это в почти самостоятельную Build System (ну, конечно, многое придётся прописать руками).
Получился QSP-Builder for Sublime Text и умеет он: собирать из разрозненных файлов в формате TXT2GAM файлы ".qsp" и запускать их в плеере. Таким образом осуществляется как бы прямой запуск игры (на основе только что написанных файлов) из Sublime Text. Для конвертирования правда требуется заранее установить утилиту TXT2GAM, ну и само собой плеер так же должен быть установлен заранее. В общем, кому интересно, прошу ознакомиться. Надеюсь в будущем это снимет неудобства совместной разработки игр на QSP.

https://github.com/AleksVersus/JAD_for_QSP
https://i.ibb.co/6ZNNVRH/syntaxis.pnghttps://i.ibb.co/37M7Cyg/image.pnghttps://i.ibb.co/xFdmqxQ/image.pnghttps://i.ibb.co/gPKG82Q/image.png
О проблемах, замечаниях и предложениях просьба отписываться сюда, или на Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript . За остальными ресурсами мне тяжело будет следить.

Что даёт QSP-Builder для Sublime Text:

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

  • Совместная разработка. Вы можете организовать общий репозиторий, например на GitHub, и разрабатывать игру командой, при этом видя, кто и какие изменения вносит в проект.

  • Удобство модульной разработки. Вы можете одновременно в одной программе работать над всеми модулями вашей игры, или открывать для каждого модуля своё окно, или пользоваться любыми иными возможностями Sublime Text, а затем собрать и запустить игру, нажав всего одну комбинацию клавиш. QBST соберёт все нужные вам файлы ".qsp" и запустит игру в плеере по нажатию пары клавиш.

  • Один редактор - много плееров. В специальном файле проекта можно для каждой игры указать собственный плеер. Таким образом, одну игру вы можете разрабатывать например для qSpider, одну для Quest Navigator, а другую для классики. И вам не придётся ставить себе три Quest Generator с разными настройками для плееров.

  • Sublime Text. Sublime Text умеет подсвечивать HTML, JavaScript и CSS, что очень сильно облегчает разработку игр для Quest Navigator и qSpider. Если вам сильно не хватало проверки орфографии в QGen, то здесь вы можете себе её сделать. Поиск и замена лишь по определённым файлам и папкам (а значит и локациям)? В Sublime Text есть и это. Сложно придумать, что умеет QGen и не умеет Sublime Text — гораздо проще придумать, что умеет ST и не умеет Quest Generator.


В конечном счёте всё превратилось в рекламу Sublime Text, но я и правда фанат этой программы.

Изменено: aleksversus
Вчера 15:48:45
Aleks Versus
воздвигатель башни
useravatar
Offline
1584 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Sublime Text + QSP. QSP-Builder для Sublime Text

Новости на сегодняшний день:
1. Билдер собирает файлы игр QSP из текстовых файлов в кодировке utf-8 и с раcширениями .qsp, .qsp-txt, .txt-qsp.
2. Написана основная часть подсветки синтаксиса QSP для Sublime Text. Неплохо справляется со всеми моими файлами:
* Мне очень нравится, как подсвечиваются комментарии, проверял на очень сложных — работает прекрасно
* Вменяемо подсвечиваются начало и конец локаций, их содержимое.
* Сейчас идёт борьба за рекурсивную подсветку во вложенных выражениях и скобках.
* Многие синтаксические ошибки уже подсвечиваются довольно адекватно.
3. Добавил скрины в шапку.

Aleks Versus
воздвигатель башни
useravatar
Offline
1584 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Sublime Text + QSP. QSP-Builder для Sublime Text

Aleks Versus,
В планах есть как-то подсвечивать html? Ибо он в строках и всё это сливается в одно сплошное месиво sad

Oliver
Magni nominis umbra
useravatar
Offline
585 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Sublime Text + QSP. QSP-Builder для Sublime Text

Oliver,
На самом деле я только вчера добавил включение подсветки HTML.
(В принципе можно любую уже имеющуюся в sublime text подсветку таким же макаром встраивать. Например, сам HTML поддерживает встраивание подсветки кода JS и CSS. Единственная проблема это адекватные маркеры начала и конца таких фрагментов кода)

Что умеет подсветка синтаксиса сейчас

1. Подсветка текста между локациями, как комментариев. Так как весь этот текст игнорируется при экспорте в QSP.
2. Распознавание начала и конца локации и соответственно подсветка этих элементов.
3. Подсветка сложных многострочных комментариев.
4. Подсветка строковых констант.
5. Подсветка числовых констант, системных переменных, операторов и функций.
6. Подсветка вложенных выражений (подвыражений) в строках.
7. Подсветка основных синтаксических ошибок:
    * Лишний `$` перед именами числовых системных переменных или функций.
    * Отсутствие `$` перед именами текстовых системынх переменных и функций.
    * Звёздочка `*` перед именем операторов, кроме `*pl`, `*p`, `*nl`, `*clr`.
    * Неверное число операндов у операций типа `+`, `-`, `*`, `<`, `>` и т.д.
    * Подсветка неправильных имён переменных типа `123build`.
    * Разрыв строки кода внутри вложенного выражения.
    * Подсветка лишнего `end`, а так же `else` и `elseif` вне конструкций условий.
    * Подсветка неправильной записи `else` и `elseif` в многострочном условий.
    * Незакрытый многострочный `act` или `if` вызывает подсветку элемента "конец локации", как ошибки.
8. Подсветка HTML-кода в фигурных скобках и строках при вставке тегов `<html>`, `</html>`.
https://i.ibb.co/gPKG82Q/image.pnghttps://i.ibb.co/6RrtqJX/image.pnghttps://i.ibb.co/zSHs73D/image.pnghttps://i.ibb.co/xFdmqxQ/image.pnghttps://i.ibb.co/6ZNNVRH/syntaxis.png
Автоматический включение подсветки QSP-кода

Подсветка автоматически включается для файлов с расширениями ".qsps", ".qsp-txt", или ".txt-qsp". Если Вам нужно чтобы подсветка QSP-кода автоматически включалась для файлов с другими расширениями, пропишите в начале таких файлов строку:

Код:

QSP-Game

После слова `Game` можно поставить пробел и добавить ещё какой либо текст, например название игры или модуля.

Aleks Versus
воздвигатель башни
useravatar
Offline
1584 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Sublime Text + QSP. QSP-Builder для Sublime Text

Aleks Versus,
О, красота. Спасибо за работу!

Oliver
Magni nominis umbra
useravatar
Offline
585 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Информация

Статистика форума:
 
Всего тем:
1001
Всего опросов:
14
Всего сообщений:
16790853
Всего сообщений сегодня:
3
Пользователи форума:
 
Всего пользователей:
2529
Последним зарегистрировался:
GRigo14411