Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Тех-документация (https://forum.zone-game.info/forumdisplay.php?f=41)
-   -   [JTS] Анализ\Документация по ai.obj (https://forum.zone-game.info/showthread.php?t=38728)

KilRoy 25.06.2015 00:15

[JTS] Анализ\Документация по ai.obj
 
Приветствую уважаемые юзеры ЗГшечки. Думаю многих овнеров эмуляторов, посещала мысль "ПТС же круче, надо что-то думать...". Многие смотрели в скрипты, дизасмили бинарники, экстили и пробовали. Но есть и те, кому это...не совсем под силу. Вот посему, наш товарищ Camelion, после анализа, решил написать небольшую(а может наоборот, будет видно) документацию, по целевому ai.obj В текущий момент, документация не завершена, и ее 2я часть появится в скором времени(Ибо человеку нужно передохнуть, отполировать декомпилятор для публикации, да и просто развеяться). Мы с радостью делимся полученной инфой, постараемся описать подводные камни\проблемы и пути их решения, принятые нами в написании декомпилятора. Дай бог, что данная документация послужит и окружающим - верой и правдой :)
Собственно: линк на PDF файл, без регистраций и СМС

После написания 2й части документации, мы обновим трид, добавив линки на "полную" версию и новую часть. Пользуйтесь на здоровье.

С вами были JTS, спа-си-бо за внимание :)

(*) Огромная просьба, при переносе данной документации на сторонние ресурсы, укажите линк на данный трид и автора - Camelion

DrHolmes 25.06.2015 01:40

Re: [JTS] Анализ\Документация по ai.obj
 
Вопрос!:
Свернуть ↑Развернуть ↓

Yorie 25.06.2015 01:44

Re: [JTS] Анализ\Документация по ai.obj
 
Не могу не сказать спасибо за труд, который вы отдаете в паблик!

Пока что достаточно скудная информация :) К операции add стоит добавить больше комментариев для случаев, когда операция используется для формирования обращений к классам (foo.bar.baz). Отдельное внимание стоит уделить вызовам функций и пониманию в контексте декомпилятора пределов выражений (там, где необходимо разделять операции semicolon-ом).

Собираетесь ли описывать блочные операции (while/for/etc.)? Обработку вложенных операций, сложных условий в if-else?
Или решили просто создать документацию по байт-коду?

Было бы очень интересно посмотреть, как вы опишете работу if-else-endif блоков :)

P.S. За какое время ваш декомпилятор разбирает полный AI, если не секрет? =)

KilRoy 25.06.2015 02:13

Re: [JTS] Анализ\Документация по ai.obj
 
Примерное время 20 минут
Инфы будет больше естесно, ибо это "часть I". И блоки в том числе. Так же решения для всех вытекающих проблем, динам. кол. параметров в функциях и прочее, с чем можно столкнуться в данном случае.
Ну и прошу обратить внимание, что это лишь часть из всей документации. После того, как Camelion закончит всю доку, вместе с "финалом" зарелизим и сам декомпилятор ;) Сроки не скажем, но постараемся в скором времени. Ждите новостей :)
http://image.zone-game.info/images/2015/06/22/E0s5o.png
http://image.zone-game.info/images/2015/06/22/OzRCh.png
http://image.zone-game.info/images/2015/06/22/D1X5h.png

Yorie 25.06.2015 02:39

Re: [JTS] Анализ\Документация по ai.obj
 
Цитата:

Сообщение от KilRoy (Сообщение 396763)
Примерное время 20 минут
Инфы будет больше естесно, ибо это "часть I". И блоки в том числе. Так же решения для всех вытекающих проблем, динам. кол. параметров в функциях и прочее, с чем можно столкнуться в данном случае.
Ну и прошу обратить внимание, что это лишь часть из всей документации. После того, как Camelion закончит всю доку, вместе с "финалом" зарелизим и сам декомпилятор ;) Сроки не скажем, но постараемся в скором времени. Ждите новостей :)

Успехов вам в сем не легком труде :)

А на чем написан декомпилятор?
20 минут очень долго - не знаю, может у вас там что-то специфичное, но рекомендую поработать над перфомансом - с уверенностью могу сказать, что можно подобраться к 1-й минуте по времени выполнения =)

kingzor 25.06.2015 02:46

Re: [JTS] Анализ\Документация по ai.obj
 
Цитата:

Сообщение от Yorie (Сообщение 396764)
Успехов вам в сем не легком труде :)

А на чем написан декомпилятор?
20 минут очень долго - не знаю, может у вас там что-то специфичное, но рекомендую поработать над перфомансом - с уверенностью могу сказать, что можно подобраться к 1-й минуте по времени выполнения =)

Смысл? если его 1 раз заюзал и забыл про него.

Camelion 25.06.2015 02:47

Re: [JTS] Анализ\Документация по ai.obj
 
Цитата:

Сообщение от Yorie (Сообщение 396762)
Не могу не сказать спасибо за труд, который вы отдаете в паблик!

Пока что достаточно скудная информация :) К операции add стоит добавить больше комментариев для случаев, когда операция используется для формирования обращений к классам (foo.bar.baz). Отдельное внимание стоит уделить вызовам функций и пониманию в контексте декомпилятора пределов выражений (там, где необходимо разделять операции semicolon-ом).

Собираетесь ли описывать блочные операции (while/for/etc.)? Обработку вложенных операций, сложных условий в if-else?
Или решили просто создать документацию по байт-коду?

Было бы очень интересно посмотреть, как вы опишете работу if-else-endif блоков :)

P.S. За какое время ваш декомпилятор разбирает полный AI, если не секрет? =)

Про add и обращения к классам там есть, возможно Вы не дочитали, описание присутствует. Вызов функций, и блочные операции будут описаны в следующих частях. Полное время разбора аи ~ 40 секунд. Остальные 10-15 минут занимает компиляция Scala в байткод. Дабы не быть голословным:

Говоря о 20 минутах KilRoy имеет ввиду полный цикл от чтения файла ai.obj до упаковки скриптов в jar.


Проскочил вопрос - на чем написан. Java, частично Scala.

Yorie 25.06.2015 03:19

Re: [JTS] Анализ\Документация по ai.obj
 
Цитата:

Сообщение от Camelion (Сообщение 396766)
Про add и обращения к классам там есть, возможно Вы не дочитали, описание присутствует.

Дочитал, просто если вы описываете операцию, следует в этом же разделе упомянуть о всех ее применениях со ссылками на детальное описание того или иного применения, иначе сумбур будет - разброс по страницам информации об одном "объекте".

Цитата:

Вызов функций, и блочные операции будут описаны в следующих частях. Полное время разбора аи ~ 40 секунд. Остальные 10-15 минут занимает компиляция Scala в байткод. Дабы не быть голословным:

Говоря о 20 минутах KilRoy имеет ввиду полный цикл от чтения файла ai.obj до упаковки скриптов в jar.
Ясно, так и думал :)

Цитата:

Проскочил вопрос - на чем написан. Java, частично Scala.
А для каких целей применяете Scala, если не секрет?

Добавлено через 58 секунд
offtop:
Свернуть ↑Развернуть ↓

Camelion 25.06.2015 03:39

Re: [JTS] Анализ\Документация по ai.obj
 
Информацию по последовательностям скорее всего вынесу в отдельную секцию, т.е. останется чисто описание операторов, далее описание последовательностей, описание самого декомпилятора и в конце описание всех хитрых трюков, которыми воспользовались. Втч почему взяли Scala а не Java. Вы говорите что читали. Предпосылки к Scala описаны в статье, возможно Вам следует прочитать её ещё раз.

ElectroMySty 08.06.2020 12:51

Re: [JTS] Анализ\Документация по ai.obj
 
У кого-нибудь есть эти файлы? А то ссылка уже битая :(


Текущее время: 20:48. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd. Перевод: zCarot