XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Jass
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
user_jasser

offline
Опыт: 232
Активность:
EditOpen
Данная программа дополняет окно TriggerEditor и TESH, некоторыми удобными опциями, работает непосредственно с окном TScintilla, так что необходимо, чтобы в настройках меню grimoire была включена опция - Enable TESH.

Главной особенностью является откат всех текстовых_триггеров карты на винчестер. В директории проги создаеться папка backups в которую помещаються редактируемые модули карты.

К окну TriggerEditor добавлено меню EditOpen с опциями:
  1. To open global list


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

  2. To open repository


    Для более комфортной разработки многосюжетных карт и проектов была добавлена эта функция: при активизации открывается окошко - что-то похожее на древо контроля за версиями. При открытии карты создается временная ветвь, в которую помещаются все текстовые триггеры, это дает возможность обращаться к старым данным карты (к примеру, двухдневной давности). Выбираем нужный итем древа, после чего нажимаем на пробел - это позволит заменить текст в окне редактора. Если нужно удалить временной файл - нажимаем на Delete.

  3. Send file


    добавляет данный триггер в хранилище временных файлов.

  4. Add priority of map


    устанавливает флажок приоритета к открытой карте. Если флажок установлен, то временные файлы данной карты не будут добавлены в очередь на удаление из памяти. Устанавливайте флажок тем картам, над которыми активно работаете.



И еще одно добавление, это подцветка ключевых слов таких как: defaults, operator, delegate, onInit. Если возникнет потребность в дополнении этого списка в файле windowlib.lua можно дописать ключевые слова в переменную KEYWORDS.

Установка:


Распаковываем архив в директорию JassNewGenPak, там же находим конфигурационный файл we.conf.lua, открываем его в любом текстовом редакторе и добавляем эти строки:
Код:
if exists("vj_EditOpen\\vj_EditOpen.dll") and getregpair("Software\\Grimoire\\","Enable TESH") ~= "off" then
loaddll("vj_EditOpen\\vj_EditOpen.dll")
end

Спасибо всем за проявленный интерес. Просьба сообщить об обнаружении каких-либо багов или возникновении сложностей...
Прикрепленные файлы
Тип файла: rar vj_EditOpen.rar (76.1 Кбайт, 21 просмотров )
Старый 12.03.2009, 00:17
ScorpioT1000
Работаем
offline
Опыт: отключен
http://keep4u.ru/imgs/b/2009/03/12/e3/e3620d02eac981c354.jpg - не понял, это ты написал (To open global list выводит список объявленного при вводе) ?
Старый 12.03.2009, 00:30
user_jasser

offline
Опыт: 232
Активность:
да. при нажатие Ctrl+P, прога сканирует код на конструкции globals { } endglobals...
Старый 12.03.2009, 00:41
NETRAT

offline
Опыт: 83,712
Активность:
мне таки интересно - когда появится svn для триггеров, он явно эффективнее бэкапов и этого локального репозитория ... и почему JNGP еще в проекте не было когда я еще писал на жассе ...

реально ли написать плагин который взаимодействует с CVS типа SVN (при этом стоит учитывать что некоторые триггеры могут иметь вид GUI, актуально?) ?

Vampirrr я никогда не работал в JNGP и то понял - подсветка синтаксиса и версионность триггеров

NETRAT добавил:
ну и, гм, в идеале эта штука должна ставиться инсталлером - то есть сама прописывать необходимые строки куда надо
Старый 12.03.2009, 11:43
Van Damm
wait... what?
offline
Опыт: 22,268
Активность:
AD, все-таки ты оставил эти невразумительные названия пунктов меню :/ Надо бы поменять.


NT, все в твоих руках. Я пытался внедрить автору уважение к VCS (на примере git), но вышло только так =) Можно связаться с ним и попросить исходники, к тому же модуль написан на Delphi + lua. Насчет GUI я не знаю — это уже наверное нужно копаться в том, как WE их представляет у себя.
Старый 12.03.2009, 11:48
NETRAT

offline
Опыт: 83,712
Активность:
Van Damm у меня, очевидно, нет ни времени ни желания, с учетом того что на жассе я уже два года не пишу - мне это просто не нужно. Автору чего? Вообще там просто все делается - либо обработка консольных csv команд, либо подключение напрямую к csv библиотеке, что примечательно - плагины для работы с svn есть почти во всех современных dev env'ах, исходники к ним, разумеется, тоже. Насечет GUI - там нужно писать специальную библиотечку, которая будет определять в каких местах триггеры отличаются друг от друга, задача не очень тривиальная, впрочем, это скорее наворот, чем реально используемая фича.
Старый 12.03.2009, 12:05
ShadoW DaemoN

offline
Опыт: 37,078
Активность:
Требуется доработка. Убрать хотя бы этот ужасный шрифт Terminal и заменить на трукодерский Courier New (Meow), пофиксить названия пунктов меню, добавить возможность закомментировать / раскомментировать несколько строк разом.

VD, кто такой AD? O_o
Старый 12.03.2009, 12:07
Van Damm
wait... what?
offline
Опыт: 22,268
Активность:
Я наверное сам сделаю соединение с какой-то vcs, когда будет время.

Да, про комментирование нескольких строк — это хорошо подмечено, нужная вещь.



swdn, это аббревиатура ника топикстартера, по которому я его знаю =)
Старый 12.03.2009, 12:50
NETRAT

offline
Опыт: 83,712
Активность:
Van Damm тут принципиально важно что бы система была конкурентной (типа cvs) а не просто какой-то, то есть что бы несколько человек могли работать над одними файлами. У меня есть оттестированный внешний инструментарий для интеграции/адаптации mpq архивов в svn, но он простаивает по очевидным причинам...
Старый 12.03.2009, 13:10
Van Damm
wait... what?
offline
Опыт: 22,268
Активность:
По каким же?
Имхо, интереснее было бы добавить поддержку vcs не только кодом, но и всеми остальными файлами карты (объекты, рельеф итд). Но для этого их все нужно будет приводить к текстовому формату чтобы работали все фишки (насколько я понимаю).
Старый 12.03.2009, 13:20
NETRAT

offline
Опыт: 83,712
Активность:
Van Damm тестить некому

все таки обрати внимание на разницу между vcs и csv (vcs - более широкое понятие)

бинарники тоже можно прекрасно сравнивать, но ограничений много - например, если в файле обьектов вдруг изменится порядок обьектов, смержить изменения будет нереально сложно, то есть что бы это все очень красиво работало, нужно писать конверторы в текстовый формат (ну в том же RMPQEx обьекты конвертятся в адекватный текстовый формат, впрочем, обратного конвертора там нет), при необходимости можно слабать - вопрос насколько это действительно нужно. Фишка тут одна - сравнение файлов "оператором". Либо, как я уже и говорил - писать спец. библиотечки которые сравнивают файлы обьектов, ланда и прочего, по-своему
Старый 12.03.2009, 13:29
Van Damm
wait... what?
offline
Опыт: 22,268
Активность:
Я потому и пишу vcs, что не имею в виду какую-то конкретную систему контроля версий =) Мне лично нравится git.
Я знаю, что бинарники можно сравнивать, но порядок может меняться, потому и нужен конвертер. По-моему, это стоит того, чтобы сделать. Освобожусь немного и возьмусь за это.
Старый 12.03.2009, 13:54
user_jasser

offline
Опыт: 232
Активность:
ShadoW DaemoN
с комментами я хз, или просить Векса чтоб добавил в хелпер, либо писать свою тулзу. я помню такую писал еще одну делать нет желания.

NETRAT
Ну там у меня все бонально просто, а vcs взат только за основу понятий.. На счет Гуи там вроде можно выделить данные отдельного триггера, но вот что потом с ними можно зделать - вопрос, ведь склеить отдельный тригг врятли получиться в стандартном окне, тут только писать свой обозреватель..?

Цитата:
По-моему, это стоит того, чтобы сделать. Освобожусь немного и возьмусь за это.

+1.
Делай.
Старый 12.03.2009, 14:33
J
expert
offline
Опыт: 48,447
Активность:
чето меня выкидывать стало из редактора с ошибкой через каждые 5 минут работы (было 4 раза), отключил и все стало нормально, может случайность а может у вас проблема
Старый 12.03.2009, 14:35
NETRAT

offline
Опыт: 83,712
Активность:
Van Damm зачем? я же сказал - пути, как минимум, два... не уверен что сравнение обьектов в текстовом виде - лучший вариант. Ландшафт в текстовом виде - бред =)

user_jasser как я и сказал - задача нетривиальная, думаю, что не окупится, во всяком случае так я думал когда делал опендоту...
Старый 12.03.2009, 14:43
user_jasser

offline
Опыт: 232
Активность:
J
скорей у нас проблема. А что за ошибка?
Старый 12.03.2009, 14:48
Van Damm
wait... what?
offline
Опыт: 22,268
Активность:
по-моему, легче привести файлы данных в удобоваримый текстовый формат и обратно, ведь у vcs уже есть хорошие алгоритмы слияния, вряд ли стоит писать свои.
Хотя скорее всего, это все не стоит затраченного труда.
Старый 12.03.2009, 14:49
adic3x

offline
Опыт: 108,439
Активность:
Цитата:
Хотя скорее всего, это все не стоит затраченного труда.

+0.99 (если речь идет о жассе)
Старый 12.03.2009, 16:52
Van Damm
wait... what?
offline
Опыт: 22,268
Активность:
о нем самом
Старый 13.03.2009, 00:05
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 20:31.