Re: Декомпилятор скриптов Готики
Новогодний подарок Готикоманам!<br><br>Финальная консольная версия Компилятора-Декомпилятора Готики1 и 2 выложена DiccuricAG.<br><br>Дерзайте в модостроительстве!
|
Re: Декомпилятор скриптов Готики
2Vam: <br>
Цитата:
|
Re: Декомпилятор скриптов Готики
2TycoooN:<br>
Цитата:
|
Re: Декомпилятор скриптов Готики
2Vam:
Цитата:
|
Re: Декомпилятор скриптов Готики
2Vam:
Цитата:
|
Re: Декомпилятор скриптов Готики
Хм... Странно. Установил ПРЕДЫДУЩУЮ версию декомпилятора (1.3) и с помощью нее получил из файлов gothic.dat и ou.bin скрипты, перекомпилировал обартно в gothic.dat и ou.bin... <br>В этой версии (1.3) декомпилятора я глюков с Тяжелыми Доспеами паладинов в модификации Bumshak v1.3 не заметил :)
|
Re: Декомпилятор скриптов Готики
2B Wolf:<br>Если ты знаешь ID номер Тяжелого доспеха Паладина, именно номер (это чило, например: 8458 ), а не имя номера, то необходимо его найти в декомпилированных скриптах и выслать мне кусок (функцию, инстанцию), где он встречается, буду исправлять.<br><br>Немного размышлений на эту тему: В скриптах встречаются переопределенные члены классов, аргументы функций, локальные и глобальные переменные. Переопределение производится с типа CLASS на тип INT. Рассмотрим для примера функцию void EquipItem(c_npc self,int item), в ней аргумент item типа c_item (ссылка на класс c_item или его производную) переопределен к типу int. В результате компиляции в датнике на месте аргумента появляется число (например 4574), вместо соответствующего имени класса c_item (например ItMW_Addon_Knife01). Задача состоит в том, чтобы отличить действительные типы int от переопределенных типов. В некоторых случаях это можно сделать автоматически, а в других случаях приходится вводить в программу шаблон функции с переопределенными аргументами.<br>Все бы однозначно решалось, если бы не было переопределенных функций, написанных в самих скриптах, а они есть! Вот поэтому я и сравнивал тексты декомпилированных и исходных скриптов, чтобы найти по максимуму такие ситуации и, или выработать новое правило обработки, или занести функцию в таблицу.<br>Я надеюсь, хоть кто-то что-то понял в моих размышлениях.<br>Еще одним из решений данной проблемы была задумка создать пользовательский файл, куда будут записываться функции с переопределенными аргументами, но вся сложность, чтобы найти такую функцию в скриптах. Это одна единственная, нерешенная до конца, проблема при декомпиляции скриптов. Может быть с вашей помощью удастся ее решить!
|
Re: Декомпилятор скриптов Готики
2Vam:<br>ИНТЕРЕСНЫЕ ИССЛЕДОВАНИЯ!!!<br> <br>При декомпилировании GothicSourcer v1.4 и затем обратной перекомпиляцией GothicSourcer v1.4 - появляется проблема с "Тяжелыми доспехами Паладинов".<br><br>При декомпилировании GothicSourcer v1.3 и затем обратной перекомпиляцией GothicSourcer v1.3 - проблем "Тяжелыми доспехами Паладинов" НЕ возникает.<br><br>При декомпилировании GothicSourcer v1.3 и затем обратной перекомпиляцией GothicSourcer v1.4 - снова появляется проблема с "Тяжелыми доспехами Паладинов".<br><br>При декомпилировании GothicSourcer v1.4 и затем обратной перекомпиляцией GothicSourcer v1.3 - проблем "Тяжелыми доспехами Паладинов" НЕ возникает.<br><br>ВЫВОД: Обе версии GothicSourcer как декомпилятор работают правильно.. НО! Как компилятор, у меня нормально работала только GothicSourcer v1.3. Значит проблема заключается именно в ошибках компиляции новой версии GothicSourcer v1.4.<br><br>В скриптологии "Готики" я еще новичек, и не совсем понял ваших слов... Но теперь, после выяснения основной ошибки, думаю этих ID "Тяжелого доспеха Паладина" не потребуется :)<br>И еще... Я с помошью Compare It! сравнивал два gothic.dat, полученных разными версиями компилятора GothicSourcer, и нашел "Тяжелые Доспехи Паладина" номера строк в обоих gothic.dat были идентичные:<br>····0A·····················Доспехи паладина<br>яяяя···я12858<br>····0A············· ········ItAr_Pal_H.3ds<br>яяяя···я12859<br>····0 A·····················Armor_Pal_H.asc<br>яяяя···я 12860<br><br>ИМХО дело было не в доспехах, а в неправильном запросе строки доспеха от модели НПС, на которую этот доспех нужно было натянуть.<br><br>Ждем новых версий декомпилятора... и графической оболочки :)
|
Re: Декомпилятор скриптов Готики
2B Wolf:<br>Я могу сделать так, чтобы при декомпиляции и последующей компиляции ничего не менялось, все дело в том (относится только к Готике2), что в некоторых версиях экзешника gothic2.exe имеются две дополнительные функции (о них я упоминал в Уроках скриптологии) - в результате невыявленные программой переопределенные параметры могут получить сдвиг по номеру +- 2. А так как переопределяются только ссылки на классы C_NPC и C_ITEM, то получим сдвиг по npc или предметам на +- 2. Если при декомпиляции датника учитывать, есть ли в нем эти две функции, и затем компилить новый датник или с этими функциями или без них.<br>Это все справедливо до тех пор, пока мы не начнем править скрипты, дописав нового npc или предмет (или удалив их из скриптов), мы получим опять сдвиг в невыявленных номерах.<br>Правильное и довольно полное решение содержится в посте №166.<br>
|
Re: Декомпилятор скриптов Готики
Хм... у меня при попытке скомпилировать оригинальные немецкие скрипты Г2 декомпилятор версии 1.4 начинает ругаться на строчки slf.attribute, после замены на self.attribute по всем скриптам, ошибка исчезла ::) Непорядок :)<br>Кстати, ещё раз респект, на этот раз за то, что твоя прога создает gothic.dat и ou.bin за какие-то 30 секунд, в то время как Spacer'у на ту же операцию требуется минуты три ;D<br>
|
Re: Декомпилятор скриптов Готики
2TycoooN:<br>
Цитата:
|
Re: Декомпилятор скриптов Готики
2Vam: Есть идеи, как можно сделать, чтобы юзер не мог ввести марвина?
|
Re: Декомпилятор скриптов Готики
2Vam:
Цитата:
|
Re: Декомпилятор скриптов Готики
finch:<br>
Цитата:
Цитата:
|
Re: Декомпилятор скриптов Готики
2Vam: <br>Почему-то никак не удается декомпилировать датники из оригинальной Г2, даже немецкой. Постоянно выдаёт ошибку: <br><br>00:06 Fault:0 *U: * PAR: : U: PAR: Error in Stack compile script - 'ORLAN_ANGRIFFWEGENMIETEFALSEORLAN_SCGOTHOTELZIMME RDAY == ' ( line 326 ) .... <zError.cpp,#477><br><br>То же и с датником от Акеллы. Как можно это исправить, если можно? ::)
|
Re: Декомпилятор скриптов Готики
TycoooN:<br>
Цитата:
|
Re: Декомпилятор скриптов Готики
У меня постоянно ошибки выдает при запуске,а вообше не выдает ли фалы с расширением .scr?
|
Re: Декомпилятор скриптов Готики
2Vam: <br>
Цитата:
|
Re: Декомпилятор скриптов Готики
TycoooN:<br>
Цитата:
Цитата:
|
Re: Декомпилятор скриптов Готики
2Vam: <br>Да это и имелось ввиду,просто я не из дома пишу,клава жёсткая,писать неудобно.<br>А файлы .d он открывает?
|
Re: Декомпилятор скриптов Готики
francisc:<br>
Цитата:
|
Re: Декомпилятор скриптов Готики
2Vam:<br><br>Появилась 3-я версия Готик файл эдитора<br>http://www.worldofgothic.de/dl/index.php?go=downloads&file_id=114<br><br>Zur Bearbeitung aller Gothic Textformaten, &#246;ffnet und speichert *.asc, *.mds, *.d, *.ini, *.src. <br><br>А то ты в другие ветки может не заглядываешь.<br><br>Успехов!!!<br>И всех с наступающим Новым Годом!!!<br>
|
Re: Декомпилятор скриптов Готики
2Vam: <br>Да обычное сообщение винды: "GothicSourcerV1_4.exe - обнаружена ошибка. Приложение будет закрыто. Приносим извинения за неудобства."<br>Версия, стало быть, 1.4.<br>Происходит ошибка при декомпиляции любого датника от Г2 (включая Акелловский)<br>Вот что пишет zSpy: http://gothic3.allgothic.ru/filezzz/zspy.rar<br>
|
Re: Декомпилятор скриптов Готики
TycoooN:<br>
Цитата:
Цитата:
|
Re: Декомпилятор скриптов Готики
2Vam: <br>
Цитата:
|
Re: Декомпилятор скриптов Готики
TycoooN:<br>Хорошо, вроде фаргусовский датник у меня где-то на диске был, буду анализировать! :)
|
Re: Декомпилятор скриптов Готики
Всех с наступающим!<br>Не хочется о грустном, но такова селява...<br>Вчера проверял декомпилятор вер 1.4. Результаты такие:<br>проверено на ДАТ версий 1.28, 1.30, Лиценз. Г2, 2.6 адд.<br>Со всеми одно и то же. В конце работы вылетает с сообщением: <br>обнаружена ошибка, приложение будет закрыто. Лог содержит<br>порядка 1500-2000 и eror, и not found... Логи могу выслать.<br>НЕ декомпилирует ОУ ВООБЩЕ. Проверено и так и сяк...
|
Re: Декомпилятор скриптов Готики
Я был полностью уверен, что это невозможно. Но товарищ Vam сделал это. Я поражен! Мое глубочайшее почтение за этот декомпилятор. :)<br><br>P.S. Не могу декомпилировать никакой Gothic.dat из Gothic II.<br>[w] 00:01 Warn: 0 U: PAR: External AI_LOOKFORITEM not found. .... <zParser_Symbol.cpp,#1123><br>[F] 00:01 Fatal:-1 U: PAR: Dat-File is not compatible (Classoffset changed) ! Please reparse ! .... <zParser.cpp,#599>
|
Re: Декомпилятор скриптов Готики
2Dagot_Ur: <br>А ты запускаешь с -zgame:1? У меня такое выдаёт при декомпиляции датника не той части игры :)
|
Re: Декомпилятор скриптов Готики
Декомпилятор V1.5 Новая версия выложена на DiccuricAG.<br>Убраны вылеты на ошибках при декомпиляции, добавлено правильное определение еще 4 переопределенных типов.<br><br>basilio58:<br>
Цитата:
|
Re: Декомпилятор скриптов Готики
2Vam: <br>
Цитата:
|
Re: Декомпилятор скриптов Готики
2Vam: <br>Всё, больше и правда не вылетает, огромное спасибо! :D :D :santa: :santa:
|
Re: Декомпилятор скриптов Готики
Эх... третий пост подряд приходится писать... нехорошо получается ;D<br><br>2Vam: <br>Всё равно скомпилировать датник Г2 у меня пока не получается, теперь выдаёт такую ошибку: <br><br>[F] 00:07 Fatal:-1 U: * PAR: CONTENT\STORY\B_STORY\B_RAISEATTRIBUTE.D: Unknown identifier : FONT_SCREEN ( line 2223 ) .... <zParser.cpp,#599><br><br>Больше всего поражает номер строки ::)<br>А счастье было так близко :D ;D :santa:
|
Re: Декомпилятор скриптов Готики
TycoooN:<br>Нашел я ошибку, в старых версиях Готики 2 отсутствуют несколько встроенных функций, (это те, на которые декомпилятор вначале выдает варнинги), поэтому самый первый файл скриптов ..\Content\_intern\Constants.d создается не полностью, у него отсутствует начало (этот файл декомпилятор обзывает npc_flag_immortal.d и помещает в папку _misk_), необходимо в него скопировать несколько начальных строк из оригинального constants.d, тогда компиляция должна пройти успешно.<br>Приношу извинения за пропуск такой ошибки (повторную компиляцию вчера не тестировал), после праздников обязательно исправлю!<br><br>P.S. На номер строки при линковке можно внимание не обращать (уберу), просто линковщик сообщает, что такая-то переменная встретилась первый раз в таком-то файле, но ранее она не была объявлена, поэтому он ее не знает и значение ей присвоить не может.<br><br>Поздравляю всех с Новым Годом! *:elka: :santa:
|
Re: Декомпилятор скриптов Готики
2Vam: <br>
Цитата:
|
Re: Декомпилятор скриптов Готики
2TycoooN:
Цитата:
|
Re: Декомпилятор скриптов Готики
2Dagot_Ur: <br>
Цитата:
|
Re: Декомпилятор скриптов Готики
2TycoooN:
Цитата:
|
Re: Декомпилятор скриптов Готики
Dagot_Ur:<br>Я предлагаю компилировать скрипты декомпилятором, файл ou.bin создается корректно, на другие же файлы (ou.csl и ouinfo.inf), если имеется бинарный оу, екзешники Готик не реагируют. С заданными вопросами обязательно позже разберусь.<br>
|
Re: Декомпилятор скриптов Готики
2Vam:<br><br>Огромное спасибо за Декомпилятор!<br><br>Всех с наступающим Новым Годом!<br><br>Годом Готики 3!!!<br><br>
|
Текущее время: 19:52. Часовой пояс GMT +4. |
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
AGFC: Valley of Gothic © 2004-2022