Показать сообщение отдельно
Старый 19.05.2005, 08:37   #515
Vam

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Декомпилятор скриптов Готики

2Boris Tor:
Еще в папке с датником лежит вот этот фаил. http://smithy.mirtana.com/Merlin/MoDs/OUINFO.rar
Уважаемый Vam, немог бы ты объяснить его назначение, вернее почему он лежит вместе с датником, ведь его назначение понятно, и его нахождение в этой папке вызывает у меня недоумение.
Я думаю, что и назначение его большинству до донца не понятно. Всем известно, что при компиляции скриптов стандартными средствами (экзешник Готики или Спейсер) процессы создания дат файла и оу файла разненсены по времени (экзешник Готики вообще оу файл не делает). Поэтому стандартный компилятор при построении дат файла создает вспомогательный файл ouinfo.txt, который используется отдельным процессом по созданию оу файла (только Спейсер), в этом файле проведена регистрация всех вызовов функций AI_Output из скриптов (для быстроты, чтобы не заниматься поиском по всем скриптам). Если уже есть готовые дат и оу файлы, то ouinfo.txt совершенно не нужен. При использовании моей программы по компиляции и декомпиляции этот файл не создается, т.к. процесс компиляции (создание дат файла) и создание оу файла выполняются параллельно.

2Killer-XXX:
Вот появился новый мод к аддону, после декомпиляции нужно искать новые строки. А если руководствуясь базами данных всех ф-ий, т.е. NamesGothic1.d и NamesGothic2.d, декомпилятор при линковке сравнивает же ф-и с этой базой, так вот, при линковки или это сам процесс декомпиляции, но все ф-и, будь то просто void функция, или новый instance, которые он не находит в этих базах, декомпилятор сохраняет в памяти, и после завершения декомпиляции он создает новые txt файл, куда все это запишит
Предложение интересное, но!!!
1. В файы NamesGothic1.d и NamesGothic2.d не являются базами имен функций, в них записаны *все регистрозависимые переменные скриптов, если же переменная (неважно, функция это или нет) в тексте оригинальных скриптов имела имя в верхнем регистре, то её в этих файлах нет.
2. Если ты хочешь создать из новых скриптов файл, аналогичный вышеуказанным, то такая возможность в декомпиляторе имеется, надо просто активировать новый ключ (о нём я еще не говорил, незадокументированные возможности). Ты же не думаешь, что я эти файлы "набивал" руками? Ключ командной строки -ztest:4, остальные ключи как при компиляции скриптов.
Советую предварительно сохранить старый файл или его переименовать.
3. Получив новый файл с именами, можно сравнить его со старым, но, в связи с п.1 это будет не полное выявление всех новых функций.
Ответить с цитированием