38

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

Meddin, я думаю, там хватает костылей, это тебе не sc2 и не wow, на ней же основаны все 3д игры близзов
38

» WarCraft 3 / Warcraft 3 Lua Package Manager (WLPM) 0.7-beta

  1. луарокс намного сложнее интегрить в вц3 с учетом неподдержки require
  2. куча пакетов луарокс просто не запускается в вц3 из-за неполного луа парсера, а так же множество пакетов в реестре юзают сишные либы и другой нечистый луа
  3. для остального можно сделать обертки и выгрузить в отдельные форки/репо
поддержка unix
а надо? скомпилить под линукс не проблема, только вот we там нет
игнорирование не нужных файлов из гита, по .gitattributes там обычно что-то такое:
т.к. нет пакетного реестра, мы забираем готовый zip архив из репозитория, хотя в целом разумная фича. Насчет реестра это ещё надо обсудить, реестр от русских хз кого они не примут, реестр от луарокс см пункт 2, там требования слишком свободны для вц3
использования кеша и lock файлов
лок файлы есть офк, но пока только для проверки - надо ли дропать кеш, докачка не поддерживается, но в планах, см в конце поста
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, интересное предложение, дай знать, как что-то получится