38

» WarCraft 3 / Официально стал доступен PTR 1.31

Beta-релиз WLPM доступен
Предлагаю поучаствовать в бета-тесте всех желающих
38

» WarCraft 3 / Официально стал доступен PTR 1.31

Работаем!)
{
  "dependencies": {
    "https://github.com/Indaxia/wlpm-wc3-demo-hello-user": "1.1",  
    "https://raw.githubusercontent.com/DeBos99/lua-bigint/master/bigint.lua": {
      "type": "file", 
      "topOrder": true
    }
  }
}
Загруженные файлы
38

» Эксперименты в Пустоте / Ломаем PTR 1.31 полностью: Lua+JassHelper+костыли

prog, это дело не 2 дней) будут и транспайлеры, я думаю, но пока это дорого
function asd() {}
38

» Эксперименты в Пустоте / Ломаем PTR 1.31 полностью: Lua+JassHelper+костыли

Его будет включать менеджер пакетов, из коробки.
ПМ готов со всеми зависимостями и подкачкой, осталось билд дописать
38

» WarCraft 3 / Официально стал доступен PTR 1.31

Менеджер модулей между тем запилил: github.com/Indaxia/wc3-wlpm-module-manager
Продолжаю делать сам wlpm
38

» WarCraft 3 / Официально стал доступен PTR 1.31

Они даже написали в патч нотес, что много накосячили, а дел там ещё больше, и это последний патч перед рефордж
Arsimont, можешь попробовать ключ -opengl только тебе ярлык надо к x86_64/warcraft iii.exe делать

Я так понимаю, щас работают локализаторы и локали накатят как отдельные буквы к версии
38

» WarCraft 3 / Официально стал доступен PTR 1.31

prog, vscode - не монополия.
но обернуть можно
а вот подпапки, проэкты, тонны ассетов и прочие нагромождения - точно не для вц3 модов, уже проходили. Проект вц3 становится неподъемным, как только ты начинаешь преждевременное раздувание структуры
38

» WarCraft 3 / Официально стал доступен PTR 1.31

prog, это не юзер-френдли, всем и так будет насрать на эту тулзу. Это лишний пункт в "How To Use". Их надо минимизировать.
Думай как джобс (нет)
38

» WarCraft 3 / Официально стал доступен PTR 1.31

Я всё-таки думаю сделать новый менеджер модулей, который будет ссылаться на гитхаб/битбакет (вайтлист на домен) репозиторий и тег версии, со своим package.json
текущие LuaRocks репо просят кучу зависимостей и всякие io/os, которых нет в вц3 их всё равно придётся оборачивать.
пример package.json
{
 dependencies: {
  "https://github.com/my-wc3-lua-repo": "v0.1"
 }
}
который будет, юзая свой менеджер модулей (и декларируя/требуя его для каждого модуля), объявлять модуль в глобал спейсе, а другие будут на него ссылаться
только не знаю, как засунуть папку vendor в файл триггеров

есть!
когда создаешь что-то с точкой в начале, он не пакует это в карту =)
38

» WarCraft 3 / Официально стал доступен PTR 1.31

prog, вот я и думаю, как бы одним проектом сделать 3 вещи:
  1. вотчер и/или пакер war3map.lua
  2. LuaRocks лоадер модулей из его репозитория
  3. библиотеку модулей с зависимостями для самой карты (в стиле vJass library), чтобы не конфликтовала с LuaRocks
И нужен ли LuaRocks, ведь в их репах куча require, который использует функционал настоящего lua с io
38

» WarCraft 3 / Официально стал доступен PTR 1.31

По поводу луа

за нас всё сделали: github.com/nvs/map

блин, короче я почитал, поигрался и понял, что это слишком сложно для простого юзера. Должно всё разворачиваться в 2 клика
38

» Эксперименты в Пустоте / Ломаем PTR 1.31 полностью: Lua+JassHelper+костыли

prog, а что если сделать watcher, который будет брать war3map.lua и работать над конечным файлом?
Это сработает только для mas as a directory, но всё же. Зато никаких хакингов и нарушения лицензии, чисто сторонняя тулза и чисто для твоего контента.
38

» WarCraft 3 / Map Import Manager

Если это так, то он есть в опенсурсе) github.com/ladislav-zezula/StormLib
Drynwhyl, windows 8+ поддерживает прямые слеши при чтении/записи/получении инфы о пути файлов и директорий, так что это проблема именно близзов
38

» Эксперименты в Пустоте / Ломаем PTR 1.31 полностью: Lua+JassHelper+костыли

Это не наполеоновский план, а наша реальность - тут вопрос, кто первый: либо они, либо мы.
38

» Эксперименты в Пустоте / Ломаем PTR 1.31 полностью: Lua+JassHelper+костыли

научить этот парсер конвертировать равкоды в числа в Lua коде при сохранении карты.
Это совершенно не нужно, можно написать функцию, которая будет делать это из строки, но это user-level ответственность.

Вообще я за то, чтобы парсер не трогал юзер-левел.
Лучше заняться пакетным менеджментом, ведь для луа уже есть такой luarocks.org
Я бы предложил сделать так, чтобы твой (пока) парсер умел его запускать, читать .rockspec и подгружать модули из luarocks.org/modules

После этого надо очень сильно всё это дело пиарить на хайве, чтобы сделать мейнстримом. И написать всё надёжно и по стандартам. А то получится как с cJass.
38

» WarCraft 3 / Официально стал доступен PTR 1.31

pJass - это синтакс чекер для jass 2, он был сделан первым, т.к. стандартный WE не говорил, где ошибка, а иногда просто крашился
JassHelper - это vJass синтакс чекер и транспилятор
Сначала вызывается JassHelper, у него свой синтакс чекер, а pjass вызывается уже на транспайлед коде.
Редактор кода, в т.ч. подсветка кода к этому не относится, это делает TESH или Project Horus
38

» WarCraft 3 / Официально стал доступен PTR 1.31

prog, интересное предложение, дай знать, как что-то получится