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

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

Ответ
 
Scorched

offline
Опыт: 7,912
Активность:
Моя маленькая утилитка для оптимизации
Внимание: Работает только для триггера, конвертированного только что в текст(без изменений).
Назначение: Подставляет функции вида
Код:
function Trig_MyTrigger_Func008Func001C takes nothing returns boolean

автоматически в Trig_MyTrigger_Actions, меняя их на выражение с or или and.Функции, используемые в ForGroupBJ() и Condition() по идее не трогает (в джасс я не мастак и не знаю, можно ли их тоже подставлять)
Как пользоваться: Конвертируем триггер в текст, копируем содержимое в файл, указываем его проге(можно в командной строке) и в конце пишем имя выходного
файла, который надо
вставить обратно в триггер.

p.s. Делал для себя, с кодом
в 500 kb справилась на ура(получилось 314 kb). Может, кому-нибудь пригодится
p.p.s. оптимизатор векса со всеми галками этого не делает(не знаю почему), а у меня было 500 условий в триггере, и вручную никак))))

Scorched добавил:
Файл в след. посте

Отредактировано Scorched, 25.08.2008 в 17:01.
Старый 25.08.2008, 14:46
exploder
iOS zealot
offline
Опыт: 19,394
Активность:
омг, а векс то не знает...
Старый 25.08.2008, 14:48
Scorched

offline
Опыт: 7,912
Активность:
вот сама утилита
Прикрепленные файлы
Тип файла: zip orand.zip (119.4 Кбайт, 18 просмотров )
Старый 25.08.2008, 15:19
adic3x

offline
Опыт: 108,439
Активность:
да тт векс убьется ап стену когда узнает...) вообще хз кому это надо...
Старый 25.08.2008, 17:03
Scorched

offline
Опыт: 7,912
Активность:
Цитата:
Сообщение от ADOLF
да тт векс убьется ап стену когда узнает...) вообще хз кому это надо...

пусть убивается, но его прога оставляет эти функции как есть, разве что укорачивает названия и убирает пробелы.
Старый 25.08.2008, 17:30
Sebra

offline
Опыт: 5,603
Активность:
Синтаксис джасса разбираешь полностью?
Цитата:
Функции, используемые в ForGroupBJ() и Condition() по идее не трогает (в джасс я не мастак и не знаю, можно ли их тоже подставлять)
Нельзя.
Цитата:
оптимизатор векса со всеми галками этого не делает(не знаю почему),
Потому, что тем, кто пишет на джассе, это не надо. Они триггеры не конвертируют. Почти.
Цитата:
Конвертируем триггер в текст, копируем содержимое в файл,
Научись брать файл напрямую из карты.
Научись делать полный разбор синтаксиса джасс.
Учись.

Молодец, что начал. :)
Старый 25.08.2008, 18:24
Scorched

offline
Опыт: 7,912
Активность:
Цитата:
Сообщение от Sebra
Потому, что тем, кто пишет на джассе, это не надо. Они триггеры не конвертируют. ...
Научись брать файл напрямую из карты.

я перешел на джасс, но world editor мне подсунул такую свинью в виде условий and/or, выведенных в начало в виде отдельных функций(совершенно нечитаемо).
пришлось написать эту прогу (не тратить же полгода на переписывание заново триггера в 11 тыс. строк)
косячок в том, что прога цепляется не только за синтаксис, но и за оформление. Если никому она не понадобится, то продолжу делать свою карту, а на прогу забью)) главное, что работает(и больше она скорее всего мне не понадобится)
Старый 25.08.2008, 18:55
Sebra

offline
Опыт: 5,603
Активность:
Цитата:
триггера в 11 тыс. строк
Что это?
Вся ДотА в 30 тыс.
Старый 25.08.2008, 18:59
Scorched

offline
Опыт: 7,912
Активность:
Sebra, самый главный, отвечает за общение со всеми npc в rpg-карте.
оффтоп: Бог даст - через месяц демку опубликую)
Старый 25.08.2008, 19:09
ShadoW DaemoN

offline
Опыт: 37,078
Активность:
Scorched, только что сконвертировал триггер (навскидку взял со случайной карты). Получил 383 строки в виде jass-кода и сохранил в j-файл. Прога обрабатывала этот файл минут 10, потом я заскучал и закрыл ее. Я так думаю, нестандартные многострочные условия заставляют прогу задуматься.

Хмм, с таким-то размером... Я думал прога будет с визуальным интерфейсом, а ты меня немножко расстроил. На чем пишешь? Visual C++?

Полезность проги сомнительна. Единственное, что приходит в голову - кидать ссылку на прогу всем юзерам, запостившим корявый сконвертированный из GUI текст и назвав это джассом =)

Кстати, ADOLF'y прога не нравится также из-за кучи ненужного кода в EXE-шнике :P
Старый 25.08.2008, 20:06
Scorched

offline
Опыт: 7,912
Активность:

ShadoW DaemoN, если зависла, значит я что-то не предусмотрел, может разные версии по-разному конвертят(если нетрудно, отправь мне твой триггер в ПС)
Делал на dev-cpp с использованием классов типа deque.
p.s. у меня 3 секунды конвертила
p.p.s. могу выложить код
Старый 25.08.2008, 20:26
Лось

offline
Опыт: 7,223
Активность:
У меня тоже неработает 30 мин стояла и нехрена. Выложи сурс, интересно посмотреть чё там на 300 кб можно понаписать.
Старый 25.08.2008, 20:35
Scorched

offline
Опыт: 7,912
Активность:
Исходник и один чужой триггер для примера
Прикрепленные файлы
Тип файла: zip source.zip (2.0 Кбайт, 15 просмотров )
Старый 25.08.2008, 21:29
Alex_Hell
Mapmaker 'N' Programmer
offline
Опыт: 6,885
Активность:
ИМХО, такая прога никому не нужна, если ты делаешь что-то на GUI, врят ли ты делаешь чтото очень серьезное, а если и так, лучше уж немножко разобраться в Jass и не пользоваться услугами GUI2JASS чтобы потом придумывать какието проги...

Alex_Hell добавил:
Цитата:
Сообщение от Scorched
оптимизатор векса со всеми галками этого не делает

Потому что он не занимается исправлением кривости Convert.Gui2Jass(), это и не нужно
Старый 25.08.2008, 23:29
Scorched

offline
Опыт: 7,912
Активность:

Alex_Hell, для себя достаточно уже разобрался. Чем-то серьезным карта стала после того, как она была почти реализована на гуи. И вообще этот триггер не лагал в игре, но очень сильно в редакторе.
P.S. этa фраза выделена жирным для exploder'а.
P.P.S. писать заново это нереально, а забить было бы большой глупостью

Отредактировано Scorched, 25.08.2008 в 23:54.
Старый 25.08.2008, 23:32
Alex_Hell
Mapmaker 'N' Programmer
offline
Опыт: 6,885
Активность:
Цитата:
Сообщение от Scorched
И не надо меня считать за нуба

После
Цитата:
пришлось написать эту прогу (не тратить же полгода на переписывание заново триггера в 11 тыс. строк)

Я и не считаю
Ну ради 11 тыс. строк кода я наверно тоже бы стал писать такую прогу, серьезно! всетаки жалко было, бы... но у меня никогда такого длинного кода не было, где-то ты переборщил с копи-пастом наверн.
Старый 25.08.2008, 23:52
Scorched

offline
Опыт: 7,912
Активность:

Alex_Hell, хватит флудить. Мб завтра тема будет уже закрыта, я не расстроюсь.
Прога склепана за пару часов, и свое дело сделала.

Scorched добавил:
Цитата:
Сообщение от Alex_Hell
жалко было, бы...

никого не жалко, карту я доделаю, можешь не волноваться
Старый 26.08.2008, 00:09
adic3x

offline
Опыт: 108,439
Активность:
хм лол)
ну вообще все норм кодеры пишут это все в жассе и сразу ставят нормальные условия и поэтому это ТТ не нуно + как говорит свдн есть дырки...
реально если она свое дело сделал то ок)
а вообще мну немного бесит такой ооп подход=/ т.е. аналогичная тулза, на создание которой пошло бы примерно 125% времени на асм весила бы с иконкой и вин32 интерфейсом навскидку максимум 3кб) (мин хелло ворлд на асм (ну тупо МессагеБокс) весит 97 байт)
удачи с картой!
Старый 26.08.2008, 15:04
Scorched

offline
Опыт: 7,912
Активность:
Цитата:
Сообщение от ADOLF
мну немного бесит такой ооп подход=/

раньше не пользовался этими классами(кроме string). просто решил попробовать. сразу 2х зайцев типа)))
асм я тоже люблю) тока главный приоритет сейчас все же варкрафт

Scorched добавил:
Цитата:
Сообщение от ADOLF
удачи с картой!

спасибо)
Старый 26.08.2008, 15:51
S

offline
Опыт: 43,833
Активность:
насчет названий - беретса обычный вк3оптимизер, скрипт карты и оптимизируетса, после чего все имена переменных и названия функций становятся а-ля "AOOOA" и.т.п =)
Старый 09.09.2008, 18:21
Ответ

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

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

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

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



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