JNGP: Rebuild от PT153

Добавлен , опубликован
Программы
Предназначение:
Работа с файлами
Jass New Gen Pack - расширенный редактор карт для Warcraft 3.
Редактор работает с версиями только до 1.27 включительно.
Основная сборка и другие версии игры по ссылке.
Это сборка оптимизирована для vJass и включает в себя обновления pjass.exe и TESH.

Изменения

  • Язык редактора - английский (можно вернуть язык игры, подробности ниже).
  • Исправлены некоторые ошибки в UMSWE.
  • Добавлен UMSWEManual.html. Находится в папке umswe.
  • Обновлён pjass.exe до версии от 15.08.2021.
  • Обновлён TESH до версии 0.9.3 с удалением отсутствующих в версии 1.26 функций. Внимание: обновление убирает поддержку подсветки cJass.
  • Добавлены interfaces.w3x, slkdemo.w3x и slkdemo.slk. Находятся в папке jasshelper/demos.
  • Добавлены скриптовые .j файлы. Находятся в папке jasshelper.
  • Обновлены jasshelper.conf в корневой папке JNGP и в папке jasshelper.
  • Отредактирован settings.reg.
  • Добавлен GrimexManual.html. Находится в папке grimext.
  • Добавлены примеры скриптов для Grimex. Находятся в папке grimext/samples.
  • Добавлены clear-game-path.reg и remove-tool-windows-entry.reg. Находятся в корневой папке JNGP.

Подробное описание изменений

UMSWE
В архиве присутствует umswe.mpq с исправлениями. Это также означает, что JNGP с включённым UMSWE всегда будет на английском. Чтобы сделать UMSWE на языке локализации игры, удалите umswe.mpq в папке umswe, но это также уберёт применённые исправления.
Исправления:
  • Создание уберсплата перенесено в категорию Ubersplat.
  • Старт таймера с функцией перенесён в категорию Countdown Timer.
  • Применены исправления WorldEditStrings.txt из моего англофикатора.
UMSWEManual.html - руководство по UMSWE. Обязательно почитайте.
pjass
pjass.exe в оригинальной сборке может сообщить ошибки, которые не являются ошибками. И наоборот, может не сообщить об ошибке, которая приведёт к крашу игры или как минимум остановки потока выполнения. В обновлённом pjass.exe все эти недочёты исправлены. Также в код можно добавить специальные флаги, которые включают или выключают некоторые проверки. Подробности в мануле.
примеры ошибок
function Func takes nothing returns nothing
endfunction

function Main takes nothing returns nothing
    local filter f = Filter(function Func)
endfunction
Старый pjass.exe выдаст ошибку, новый - нет.
function Main takes nothing returns nothing
    local integer f
    local real r = I2R(f)
endfunction
Старый pjass.exe не выдаст ошибку, новый - выдаст.
TESH
Обновлённый TESH позволяет очень гибко настроить подсветку, а также добавить свои собственные функции и шаблоны. Некоторые подробности использования перечислены на странице XGM, посвящённой TESH. К сожалению, обновлённый TESH не поддерживает cJass.
Для TESH были установлены личные настройки. Сбросить к настройкам по умолчанию можно в настройках.
JassHelper
interfaces.w3x, slkdemo.w3x и slkdemo.slk - части мануала по vJass. Сам мануал есть в оригинальной сборке.
Скриптовые .j файлы помогут вам узнать, какие нативные и BJ функции есть в JASS в версии 1.26 и 1.32+.
jasshelper.conf - файл конфигурации JassHelper. Туда были добавлены комментарии, которые описывают некоторые флаги компиляции vJass.
Напоминаю, что JassHelper во время работы JNGP использует jasshelper.conf из корневой папки JNGP, а не из папки jasshelper.
settings.reg
Применение settings.reg делает следующее:
  • Включает локальные файлы для WarCraft 3.
  • Сбрасывает настройки редактора и устанавливает следующие:
    • Отмечает, что редактор уже был запущен.
    • Фиксирует время суток в редакторе.
    • Отключает создание новой карты при запуске.
    • Разрешает отрицательные значения и включает сортировку по имени в редакторе объектов.
    • Зануляет громкость звуков UI редактора.
    • Отключает фиксированный генератор случайных чисел во время теста карты.
    • Включает автоматическое создание переменных в редакторе триггеров.
    • Отключает описания объектов в панели инструментов (оставляет только имена).
    • Отключает список кистей (Brush List).
    • Устанавливает размеры некоторых окон, положение разделителей и ширину колонок.
  • Сбрасывает настройки JNGP и устанавливает следующие:
    • Включает UMSWE.
    • Отключает кастомное расположение категорий, Colorizer и отключение звуков WE.
      • Отключение звуков WE заменяет звуки в архивах самой игры на время работы редактора, что делает невозможным проигрывание этих звуков в редакторе звуков. Вместо этого лучше всего изменить настройки самого WE, то есть занулить звук UI, что также делает этот файл.
    • Включает JassHelper и режим дебага.
    • Полностью отключает cJass и ScExp.
Это не исчерпывающий список, подробности в самом файле.
Файлы
GrimexManual.html - это мануал по утилите Grimex, встроенной в JNGP. Обязательно почитайте.
grimext/samples - примеры скриптов для Grimex. Подробнее в его руководстве.
clear-game-path.reg - примените для сброса выбранной директории игры.
remove-tool-windows-entry.reg - примените, чтобы можно было вновь запустить WE Classic и JNGP после запуска WE Reforged.

Содержимое архива

  • Папка с JNGP.
  • Текстовый файл с описанием изменений.

Установка

  • Распаковать архив в любую удобную папку, не требующую прав администратора. Например, C:\Program Files требует права администратора. Пароль для распаковки - JNGP.
  • (Рекомендуется) После распаковки применить изменения реестра из settings.reg.
  • (Рекомендуется для Windows 8+) Запустить редактор. Необходимо будет выбрать директорию игры. После запуска закройте редактор и откройте директорию игры. Откройте свойства worldedit121.exe, перейдите во вкладку Совместимость и установите "Запустить программу в режиме совместимости с Windows 7". Нажмите "Применить" и "OK".

Обновления

v1.4
  • Добавлены примеры скриптов для Grimex.
  • Добавлены картинки для руководства Grimex.
  • Добавлено руководство UMSWE.
v1.3.2
  • Обновлены файлы "common.j ref.j" и "common.ai ref.ai".
v1.3.1
  • Файл "Clean game path.reg" переименован в "clear-game-path.reg" и обновлён.
  • Файл "Remove Tool Windows entry.reg" переименован в "remove-tool-windows-entry.reg".
v1.3
TESH:
  • Оптимизирована база данных ключевых слов.
  • Колонка вертикальной линии изменена с 160 на 120.
v1.2
pjass:
  • Обновлён до версии от 15.08.2021.
  • Удалён pjass-readme.txt, относящийся к старому pjass.exe.
  • Добавлен pjass-readme.md. Это документация нового pjass.exe.
TESH:
  • Были удалены все функции, которые не присутствуют в 1.26.
v1.1
Общее:
  • Обновлён pjass.exe до версии от 20.02.2021.
  • Исправлен common.ai. Ранее была устаревшая версия.
  • Добавлен файл "Clean game path.reg" для сброса выбранной директории игры.
  • Добавлен файл "Remove Tool Windows entry.reg" для удаления значения реестра, которое не даёт запускаться WE Classic после запуска WE Reforged.
settings.reg:
  • Исправлена кодировка.
  • Теперь применение сбрасывает ВСЕ настройки Word Editor и Grimoire к рекомендуемым.
  • Добавлена установка значения Visible UI Elements. Устанавливаемое значение закрывает все окна, кроме редактора ландшафта и панели инструментов (Tool Palette), а также отключает отображение Brush List.
  • Добавлена установка расположения разделителей и ширины колонок для многих элементов WE.
  • Добавлена установка размеров некоторых подокон.
UMSWE:
  • Создание уберсплата теперь в категории Ubersplat.
  • Старт таймера с функцией теперь в категории Countdown Timer.
  • Применены исправления WorldEditStrings.txt из моего англофикатора.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
14
3 года назад
0
mistwood:
А скажи чем он лучше обычного JNGP, для простых юзеров?
Да тут толком ничего не изменено от обычного JNGP, пара незначительных изменений.
1
28
3 года назад
1
mistwood, в посте написано, что изменено. Если эти изменения вам ни о чём не говорят, то можете дальше использовать оригинальный Rebuild.

Я добавлю более подробное описание.
Если вкратце: новый pjass не сообщенает некоторые неошибки, которые сообщал старый. И наоборот сообщается те ошибки, которые всегда ведут к крашу, а старый pjass их не сообщал.
Новый TESH имеет лучший функционал: можно добавлять свои функции и шаблоны.
Остальное мелочи. Добавил мануал, демки и прочее.
0
15
3 года назад
0
PT153:
Если вкратце: новый pjass не сообщенает некоторые неошибки, которые сообщал старый. И наоборот сообщается те ошибки, которые всегда ведут к крашу, а старый pjass их не сообщал.
Новый pjass с мемхаком дружит?
Новый TESH имеет лучший функционал: можно добавлять свои функции и шаблоны.
А вот это уже интересно. Свои функции надо вручную добавлять или он сам ловит их сигнатуры в коде карты?
0
28
3 года назад
0
Новый pjass с мемхаком дружит?
В целом да, DracoL1ch сам порой просил некоторые исправления делать. Также там есть спец флаги, которые позволяют добавить обработку некоторых случаев или наоборот, убрать. Вот мануал со всеми флагами.

Свои функции надо вручную добавлять или он сам ловит их сигнатуры в коде карты?
Вручную.
0
28
3 года назад
0
Добавил подробное описание изменений.
0
17
3 года назад
Отредактирован Vlod
0
обновление убирает поддержку подсветки cJass
Это еще зачем
0
28
3 года назад
Отредактирован PT153
0
Затем, что не все используют cJass, а только vJass, как я. Специально добавил:
Это сборка оптимизирована для vJass
1
17
3 года назад
Отредактирован Vlod
1
Понятно, но в современных языках никто не пишет set перед присвоением и local при объявлении. Вроде недавно говорилось, что существуют всего две основные версии игры, так зачем убирать поддержку столь удобных фишек. Ладно бы если они конфликтовали с vjass, но они могут поддерживаться вместе, разве не так?
0
28
3 года назад
Отредактирован PT153
0
Могут, но там есть нюансы. Как минимум часть вещей нужно будет писать на понятном для vJass синтаксисе. Если при этом использовать синтаксис cJass, появляется проблема читаемости.

Я никогда не использовал cJass из-за каких-то проблем с ним (AdicHelper зависал из-за какой-то ерунды). Автор TESH 2.0 не добавлял поддержку cJass, потому что никто не просил, и вряд ли будет - cJass сейчас юзает несколько человек. А мне важнее настройка подсветки и добавление своих функций, чем cJass, которым я не пользуюсь.

Тут всё ещё можно использовать cJass, просто, как и написал, адекватной подсветки не будет.
1
17
3 года назад
1
Просто в старом jnpg есть поддержка синтаксиса vjass+cjass + include user func в папку с tesh
Понятно, жалко
0
28
3 года назад
Отредактирован PT153
0
Vlod, на самом деле cJass мало чем отличается от ZINC по синтаксису (только дурацким void). TESH не поддерживает ZINC, но автор может добавить поддержку (ровно как и поддержку Lua).
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.