Добавлен , опубликован
kw представляет из себя консольную утилиту для проверки, модификации и компиляции карт.
С помощью нее вы можете редактировать карту в любом редакторе, подключать сторонние модули, использовать git, да и вообще это просто удобно.

Особенности

Преимущества:
  • Легкость использования
  • Открытый исходный код
  • Поддержка модулей
  • Автозагрузка необходимых компонентов (jasshelper, w3x2lni, etc...)
  • Создание карты с нуля без использования редактора
  • Кроссплатформенная разработка (Работает под Linux, нужен wine для запуска экзешников)
  • Распаковка уже сделанной вами карты в проект (нет нужды начинать с нуля)
  • Легкое манипулирование зависимостями
  • Работа в нормальных редакторах кода
  • Удобная система локализации и форматирования
Недостатки:
  • Не все карты получится распаковать (вероятно временно)
  • Не будет корректно работать с защищенными картами (скорее всего временно)
  • Не поддерживает Reforged (возможно временно? а надо ли вообще...)
  • Отсутствует поддержка MacOS (наверное, у меня его нет)
  • Мб чет еще, не знаю

Установка

Вам потребуется python-утилита uv и система контроля версий Git.
В конце ресурса вы можете скачать архив с проектом, распаковать его в отдельную папку, открыть в VSCode и приступить к сборке.
Версии на XGM обновляются не так оперативно, так что самую последнюю версию проекта вы можете получить либо по ссылке, либо используя продвинутую инструкцию.

Сборка проекта

После открытия папки вам необходимо будет собрать проект и установить его. Для этого в терминале запустите следующие команды:
$ uv build
$ uv tool install . -e
Дальше могут понадобится дополнительные настройки для вашей системы, но основной путь завершен и у вас в терминале уже может появится команда kw.
Важно: в систему устанавливается лишь ссылка на утилиту, так что перемещение или удаление папки может повлиять на работоспособность.

Как этим пользоваться?

Поскольку функционал достаточно обширный, да и XGM не основная моя площадка, я решил вынести документацию на отдельный сайт, сделанный при помощи mkdocs. Ознакомиться со всем этим вы нажав сюда.
Также важно отметить, что это еще далеко не финальная версия, утилита постепенно дорабатывается, могут встречаться ошибки и проблемы с некоторыми картами.
В первую очередь проект разрабатывался под Linux, однако на Windows тоже проводились различные тесты и утилита работала вполне нормально.
Все пожелания, баги, выпендрежь и тому подобное можно оставлять либо в коментариях, либо в разделе issues на странице проекта.

Видеогайды

Скриншоты

Зачем это ваще надо?

Я начал делать этот проект в начале месяца, поскольку хотел сделать удобный для себя инструмент создания карт на Линуксе. Да и в принципе, как-будто бы нехватает нормальных инструментов для варкрафта. Проект вдохновлен командой uv, которая часто используется для схожих процессов в Python.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
2 комментария удалено
13
Добавлено:
  • Автоочистка временных директорий при ошибке
  • Добавление новых полей кастомным обьедкам при перезаписи
  • Параметр end_commands в конфиге, позволяющий задавать команды, запускающиеся после исполнения программы
13
Выпущен видеогайд по основам использования утилиты
18
Звучит как то, что я давно хотел. Попробую - отпишусь.
13
Обновление:
  • Улучшено логгирование очистки файлов
  • Исправлена ошибка, возникающая при обновлении модулей
  • Добавлено отображение дублированных имен скриптов при компиляции (double imports)
  • Исправлена ошибка, из-за которой при kw script не обновлялся список скриптов
  • Исправлена ошибка, из-за которой не при очистке отсутствующая папка с импортами могла вызвать ошибку
  • Добавлена поддержка установки локальных модулей из файловой системы
  • Исправлена ошибка, из-за которой при компиляции скриптов на винде могли сохранятся некорректные пути файлов
13
Обновление:
  • Рефакторинг кода, ускорение работы
  • Добавлена поддержка модулей с ландшафтами (папка terrain в модуле)
  • Значительно улучшено логирование при использовании kw create map.w3x
  • Добавлено отображение информации о проекте при использовании команды kw в папке с проектом
  • Исправлен некорректный парсинг названий некоторых GUI триггеров
Загруженные файлы
13
Обновление:
  • Улучшено логирование в некоторых разделах
  • Расширен список стандартных ASCII артов
  • Добавлена команда kw pack позволяющая запаковывать ваши .vj и .zn файлы в триггеры проекта
  • Теперь русские названия триггеров автоматически транслитерируются
  • Добавлена поддержка улучшений в модулях
  • Исправлены мелкие ошибки
  • Добавлена поддержка простого форматирования текста в кастомных объектах при компиляции карты
  • Добавлена автоконвертация похожих русских символов в описаниях кастомных объектов в английские
  • Продолжается рефакторинг кода
Загруженные файлы
38
Крутота! Даешь интеграцию с IMP! :)
Я так то уже начинал некоторую экосистему для него. Может, у тебя получится как-то всё это совместить и развить. Дописать поддержку jass там можно и без пересборки (достаточно конфига).
По идее может получиться офигенный стек, где твоя тулза пересобирает варкрафт форматы, а imp гоняет их по сети/локально и строит деревья зависимостей.
38
kulebyaka, из интересного там есть beforeBuild и afterBuild например, чтобы можно было как раз дать команду той же kw на запаковку. И вотчер, чтобы наоборот, kw мог менять конфиг, а imp видит изменения своего конфига и сам делает пересборку/докачку пакетов. Ну и линукс версия присутствует.
13
ScorpioT1000, хоть ближайшие дни и превратились в 3 месяца, я все же начал делать что-то простое
Загруженные файлы
13
Обновление:
  • Теперь утилиты (jasshelper, w3x2lni, etc...) закачиваются в глобальную директорию пользователя, так что их не нужно докачивать для каждого проекта
  • Обновлен парсер Ini файлов, теперь можно создавать много обьедков в одном файле
  • Добавлена команда kw tool которая реализует различные доп функции (в данный момент есть поиск нативок из common.j и Blizzard.j по аналогии с grep, а также поиск обьектов из шаблонов w3x2lni)
  • Исправлены мелкие баги
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.