Skip to content

teenbull/urq2puml

Repository files navigation

URQ to PlantUML 🎯

Конвертер файлов qst в диаграммы PlantUML для Sublime Text

Что это такое?

Это плагин для Sublime, который берет ваши .qst файлы (URQ квесты) и превращает их в красивые графы. Потому что так делал Виктор Корянов, но без Sublime. И без PlantUML. И без одеколон.

Зачем это нужно?

Представьте: у вас есть квест с кучей локаций, переходов и развилок. Вы пытаетесь понять логику, но в голове каша. Представили? Теперь забудьте. Каша будет не только в голове, но и на вашем экране в формате png или svg.

Для этого и нужен этот плагин. Плюс, просто прикольно смотреть на свой квест в виде схемы.

Пример

Граф тестовой игры

:0

:Фальстарт
:Фальстарт
:Фальстарт
:Фальстарт

:Старт
   pln Пример текста стартовой локации
   btn лес, иди направо
   btn гора, иди налево
   end

:лес дремучий  
   pln Вы в дремучем лесу.
   btn ссылкавникуда, иди туда - не знаю куда
   goto фан том
   end


:лес
   pln Вы пришли в лес.
   goto лес дремучий
   end


:гора
   pln Вы пришли к высокой горе.
   end

:Фальстарт
end

:Lostinvane
end

Фичи

  • 🎨 Разноцветно!: локации раскрашены по смыслу: концовки зеленым 🟢; весь неликвид включая дубликаты, локации-сиротки и фантомы красным 🔴; циклы (метки со ссылками сами на себя) - желтым 🟡; системные локации (use/inv/common/start) - темные, локации на которые ссылается proc - фиолетовые; пунктирные стрелки - неявные переходы ⋯> (авто-переходы, возврат proc, меню); кнопки-меню (%) помечены иконкой курсора, локальные кнопки (!) помечены иконкой закладки и выглядят не так ярко; работает группировка по имени локаций и по типу (inv/use..)
  • 👻 Фантомные ссылки - битые ссылки красные и ведут в псевдолокацию //phantom 🔴
  • 🧦 Забытые метки - локации, куда не ведут никакие ссылки хорошо видно, потому что они висят отдельно и помечены красным
  • Настройки - флаг proc_locs в настройках позволяет изменить отображение ссылок proc в диаграмме (false - упрощенное)
  • 🌍💻 Онлайн и оффлайн - работает как локально (нужно иметь plantuml.jar и java), так и через веб-сервис
  • 🔑 Варианты - есть возможность создать граф как из .qst, так и из .puml, есть возможность отдельно создать только сырой puml-файл
  • 🖼️ PNG и SVG - можно конвертировать и так и сяк (созданный файл откроется автоматически в программе по умолчанию)
  • 📁 Все в одном месте - файлы .puml, .svg или .png, одноименные файлу .qst, создаются в той же самой папке
  • 🐞 Отладка игры - если открыть консоль в Sublime (Ctrl +`), то можно увидеть какие фантомные локации были не найдены и какие локации дублируются
==================================================================
URQ Parser Warning: Найден дубликат метки: 'Локация' на строке 6
URQ Parser Warning: Найден дубликат метки: 'Локация' на строке 8
PlantUML Gen Warning: Локация 'ссылка' для btn из '3' не найдена
PlantUML Gen Warning: Локация 'метка' для btn из '3' не найдена
PlantUML Gen Warning: Локация 'ссылка' для btn из '3' не найдена
PlantUML Gen Warning: Локация 'метка' для btn из '3' не найдена
==================================================================
  • 📈 Статистика Квеста - подробная статистика на основе анализа графа, локаций и переходов.
  • ⌨️ Горячие клавиши - а файле Default.sublime-keymap можно прописать горячую клавишу (сейчас Ctrl+Alt+u) для запуска конвертации из открытого в Sublime qst-файла.
  • 🖱️ Контекстное меню - можно запускать все команды из контекстного меню. Пункт URQ to PlantUML. Также работают кноманды из стандартной палитры Sublime (Ctrl+Shift+p), надо начать печатать qst: .

Контекстное меню

Ограничения

  • Размер png файла ограничен 4096x4096 px, для больших графов лучше использовать формат svg
  • Большие файлы можно сделать только локально, но это проблема веб-сервиса, а не данного плагина
  • %include не поддерживается
  • Подстановки #$ #%$ не поддерживаются, переход на #%метка$ будет распознан как фантомный
  • Статистика Квеста не учитывает переменные
  • На данный момент поддерживаются только: метки, goto, btn, proc, end, ссылки, фантомные ссылки, пустые ссылки, %меню и !локальные действия
  • Тестирование проводилось только на Windows

Как установить?

  1. Скачиваете архив с urq2puml.
  2. Распаковываете и кидаете его в папку с плагинами Sublime Text:
    • Windows: %APPDATA%\Sublime Text\Packages\
    • Mac: ~/Library/Application Support/Sublime Text/Packages/
    • Linux: ~/.config/sublime-text/Packages/
  3. Открываете qst и жмете Ctrl+Alt+u или выбираете пункт в контекстном меню.
  4. Profit! 📈

Для работы с локальным PlantUML:

  1. Устанавливаете Java (если еще не установлена или не прописана в PATH)
  2. Скачиваете PlantUML JAR с сайта PlantUML
  3. Кладете jar в папку urq2puml (либо указываете путь до jar файла в настройках Preferences/URQ to PlantUML/Settings)

Grunk and cheese

About

URQ Gamebook Files to PlantUML Converter for Sublime Text

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages