|
|
01.01.2005, 00:54
|
#201
|
|
|
|
|
Строители Миртаны
Регистрация: 25.05.2004
Сообщений: 3
|
|
|
|
|
|
Re: Декомпилятор скриптов Готики
Ура!!!
|
|
|
01.01.2005, 14:09
|
#203
|
|
Re: Декомпилятор скриптов Готики
Dagot_Ur:
Дело оказывается в AI_Output, т.е. это должно быть прописано именно большими буквами. Твой же декомпилятор везде пишет ai_output. Так что не везде распознавания не происходит...
|
Проверил, спейсер2 корректно строит файл ouinfo.inf (берет все строки из скриптов, где встречается ai_output независимо от регистра букв), но, затем начинается лажа при создании OU файлов (распознаются только AI_Output в файле ouinfo.inf). Это, имхо, недоработка разрабов, так как все экзешники Готик, в том числе и Спейсеры являются регистронезависимыми (все имена переменных внутри них переводятся в верхний регистр). Ну а в этом случае, "товарищи" забыли это сделать. Придется для совместимости при декомпиляции в скриптах сделать имя функции AI_Output регистрозависимым. (Или сделать патчик для спейсера, чтобы он стал регистронезависимым). *;)
|
|
|
01.01.2005, 16:12
|
#205
|
|
|
|
|
Строители Миртаны
Регистрация: 25.05.2004
Сообщений: 3
|
|
|
|
|
|
Re: Декомпилятор скриптов Готики
2Vam:
Придется для совместимости при декомпиляции в скриптах сделать имя функции AI_Output регистрозависимым. (Или сделать патчик для спейсера, чтобы он стал регистронезависимым).
|
Лучше первое, а еще лучше сделать все имена функц. и др. регистрозависимыми (мало ли что ;)).
|
|
|
01.01.2005, 16:28
|
#206
|
|
|
|
|
Регистрация: 15.04.2004
Адрес: Санкт-Петербург
Сообщений: 372
|
|
|
|
|
|
Re: Декомпилятор скриптов Готики
2Vam:
еще лучше сделать все имена функц. и др. регистрозависимыми
|
Вот-вот, нельзя ли сделать, чтобы регистр в названиях функций был такой же, как у разрабов? ::)
|
|
|
01.01.2005, 16:53
|
#207
|
|
Re: Декомпилятор скриптов Готики
Dagot_Ur:
Лучше первое, а еще лучше сделать все имена функц. и др. регистрозависимыми (мало ли что ).
|
TycoooN:
Вот-вот, нельзя ли сделать, чтобы регистр в названиях функций был такой же, как у разрабов?
|
Отвечаю, вот это сделать (регистровую зависимость) как раз и нельзя и не по моей причине, а по причине разрабов. Декомпилятор работает с датником, а кто-нибудь видел в датнике регистрозависимые имена, в том-то и дело, что их там нет, все сведено к верхнему регистру. Это почти тоже, что просить меня восстановить в скриптах исходные комментарии, а где их взять, если они в датнике отсутствуют? Тоже относится и к именам размерности массивов, ну нет их в датнике и все, только циферка есть вместо имени. В принципе, когда-то я говорил, что и имена файлов 100% восстановить нельзя (как и директорий) по причине отсутствия в датнике, но ведь что-то сделал, и как понимаю, вроде неплохо получилось. Теперь соображения по регистрозависимости: Если создать в программе базу данных всех имен с их регистрозависимостью, а потом имя, встретившееся в скриптах, искать в базе и заменять на регистрозависимое. Вот только такой вариант я вижу, но на это надо довольно много времени, да и декомпилятор будет дольше работать! Как пожелаете. *:pivo: milaska:
Слушай, объясни мне, тупню, как открыть твою прогу. Я открыл ком. строку, скинул туда прогу и нажал Enter. Ни чего не происходит. В чем дело?
|
Читайте внимательно Readme.txt, там все подробно написано. Если все делать правильно, то таких вопросов возникнуть не может! ;)
|
|
|
01.01.2005, 20:19
|
#208
|
|
|
|
|
Регистрация: 15.04.2004
Адрес: Санкт-Петербург
Сообщений: 372
|
|
|
|
|
|
Re: Декомпилятор скриптов Готики
2Vam:
Отвечаю, вот это сделать (регистровую зависимость) как раз и нельзя и не по моей причине, а по причине разрабов. Декомпилятор работает с датником, а кто-нибудь видел в датнике регистрозависимые имена, в том-то и дело, что их там нет, все сведено к верхнему регистру. Это почти тоже, что просить меня восстановить в скриптах исходные комментарии, а где их взять, если они в датнике отсутствуют? Тоже относится и к именам размерности массивов, ну нет их в датнике и все, только циферка есть вместо имени.
|
Да я же не прошу, чтобы везде проставлялась именно так, как было написано в исходниках каждого отдельно взятого датника. Я всего лишь прошу, чтобы просто НЕЗАВИСИМО от датника в декомпилированных скриптах писалось не "ai_output", a "AI_Output"; не "b_giveplayerxp", а "B_GivePlayerXP" ::)
|
|
|
01.01.2005, 20:29
|
#209
|
|
Re: Декомпилятор скриптов Готики
2TycoooN:
Я всего лишь прошу, чтобы просто НЕЗАВИСИМО от датника в декомпилированных скриптах писалось не "ai_output", a "AI_Output"; не "b_giveplayerxp", а "B_GivePlayerXP"
|
Первое сделать не сложно, AI_Output встроенная функция, а второе можно сделать только через базу данных. Насколько это актуально? Чтобы создать базу только по всем функциям скриптов Готик потребуется уйма времени, я еще не говорю про другие имена, может актуальней графическая оболочка с редактором скриптов и другими примочками, я ей сейчас и занимаюсь (отвлекаюсь только на исправление найденных ошибок в декомпиляторе).
|
|
|
01.01.2005, 20:32
|
#210
|
|
|
|
|
Строители Миртаны
Регистрация: 25.05.2004
Сообщений: 3
|
|
|
|
|
|
Re: Декомпилятор скриптов Готики
2TycoooN: Так Vam это и имеет в виду.
2Vam: Я как раз также хотел предложить этот вариант, т.к. иного способа просто нет. Все имена функций и переменных занести в базу, из которой потом будет браться все нужное.
P.S. А оболочка - оно и не нужно ИМХО. :)
|
|
|
01.01.2005, 20:42
|
#211
|
|
Re: Декомпилятор скриптов Готики
Dagot_Ur:
Все имена функций и переменных занести в базу, из которой потом будет браться все нужное.
|
Есть еще один вариант - в программу ввести только имена встроенных функций, а базу создать отдельным текстовым файлом, в который каждый может сам записать или дописать требуемые имена, в декомпиляторе сделаю обработку этого файла. Как такой вариант? ;)
|
|
|
01.01.2005, 20:53
|
#212
|
|
|
|
|
Регистрация: 15.04.2004
Адрес: Санкт-Петербург
Сообщений: 372
|
|
|
|
|
|
Re: Декомпилятор скриптов Готики
2Vam:
Есть еще один вариант - в программу ввести только имена встроенных функций, а базу создать отдельным текстовым файлом, в который каждый может сам записать или дописать требуемые имена, в декомпиляторе сделаю обработку этого файла. Как такой вариант?
|
Вот-вот, именно это я и хотел предложить :) Обеими руками "за"! ;D :pivo:
|
|
|
01.01.2005, 23:35
|
#213
|
|
|
|
|
Регистрация: 19.06.2004
Адрес: г. Белая Калитва.
Сообщений: 204
|
|
|
|
|
|
Re: Декомпилятор скриптов Готики
2Vam: Я тож, думаю лучше сделать отдельный txt. Но вот решил откомпилить скрипты, и обнаружил этот глюк, вы вроде чт ото говорили, но может лучше исправить понимание этого в компиляторе? Ошибка: 00:07 Info: 5 U: PAR: CONTENT\STORY\NPC\PAL_2002_LEICHE.D : Parse... .... <zError.cpp,#462> 00:07 Fatal:-1 U: PAR: CONTENT\STORY\NPC\PAL_2002_LEICHE.D: Unknown identifier : SLF.ATTRIBUTE ( line 13 ) .... <zParser.cpp,#599>
З.Ы. И после этой ошибкИ, он перестал компиляция, а не продолжил :(
|
|
|
02.01.2005, 00:06
|
#214
|
|
Re: Декомпилятор скриптов Готики
2Killer-XXX:
З.Ы. И после этой ошибкИ, он перестал компиляция, а не продолжил
|
Повторю еще раз. 1. При декомпиляции остановов на ошибках быть не должно (иначе будет невозможно получить исходный текст скриптов), но они все фиксируются и в дальнейшем требуют ручного устранения. 2. При любой компиляции происходит останов на первой встретившейся ошибке (нельзя допускать, чтобы ошибка попала в датник), необходимо ее вручную исправить и повторить компиляцию. В твоем случае необходимо удалить SLF. Об этом уже выше говорилось.
|
|
|
02.01.2005, 01:39
|
#215
|
|
|
|
|
Строители Миртаны
Регистрация: 25.05.2004
Сообщений: 3
|
|
|
|
|
|
Re: Декомпилятор скриптов Готики
2Vam: Ну эти вещи одна от другой совсем не отличаются. Главное, чтобы все корректно было.
|
|
|
02.01.2005, 02:11
|
#216
|
|
Re: Декомпилятор скриптов Готики
basilio58: Не понял насчет ОУ, что ты хочешь с ним сделать?
|
Всех с Наступившим! Я просто хотел уточнить, в принципе ОУ должен декомпилироваться, oder? У меня папка Cutscene пустая. Просто при декомпиляции идёт лог и там 80% строк: [w] 00:09 Warn: 3 B: CSL: In Cutscene-Library (OutputUnits) not found module - SVM_11_ABS_COMMANDER .... <zCCSManager.cpp,#533> И так далее...
|
|
|
02.01.2005, 11:51
|
#217
|
|
Re: Декомпилятор скриптов Готики
2basilio58:
У меня папка Cutscene пустая. Просто при декомпиляции идёт лог и там 80% строк: [w] 00:09 Warn: 3 *B: * *CSL: In Cutscene-Library (OutputUnits) not found module - SVM_11_ABS_COMMANDER .... <zCCSManager.cpp,#533>
|
Плохо читаем ридми, в папку ..\Content\Cutscene помещается OU.BIN для декомпиляции (инфа из него заносится в скрипты), новый OU.BIN при компиляции создается в корне папки ..\_decompiled (инфа из скриптов записывается в него). Все просто. *;)
|
|
|
02.01.2005, 15:55
|
#218
|
|
Re: Декомпилятор скриптов Готики
Всем:
Есть еще один вариант - в программу ввести только имена встроенных функций, а базу создать отдельным текстовым файлом, в который каждый может сам записать или дописать требуемые имена, в декомпиляторе сделаю обработку этого файла.
|
Результаты данного варианта таковы: Скорость декомпиляции с учетом поиска только имен встроенных функций на Готике 2 составила 2 минуты. При создании базы данных на 100000 имен (примерно столько в Готике 2) скорость резко упала и составляет около 15 минут. Теперь, если в файл базы вы будете дописывать новые имена, которые встречаются в других Готиках и модах, то скорость еще более упадет. Вопрос, так ли это необходимо, может достаточно ограничиться только встроенными функциями, текст скриптов стал и так более понятным.
|
|
|
02.01.2005, 16:08
|
#219
|
|
|
|
|
Строители Миртаны
Регистрация: 25.05.2004
Сообщений: 3
|
|
|
|
|
|
Re: Декомпилятор скриптов Готики
2Vam: Обязательно нужно!!! :) Но можно ввести доп. параметр в командную строку - обрабатывать базу или нет (использовать старый алгоритм).
P.S. А ты zSpy не запускай и скорость будет на 50% больше. ;)
|
|
|
02.01.2005, 18:03
|
#220
|
|
|
|
|
Регистрация: 19.06.2004
Адрес: г. Белая Калитва.
Сообщений: 204
|
|
|
|
|
|
Re: Декомпилятор скриптов Готики
2Vam: Я вот решил работать только с твоим компилятором, вроде как удобнее. Но столкнулся с еще одной проблемой. 00:18 Info: 5 *U: * PAR: Linking ... .... <zError.cpp,#462> 00:19 Fatal:-1 U: * PAR: CONTENT\STORY\DIALOGE\DIA_BAU_952_VINO.D: Unknown identifier : DIA_LOBART_KLEIDUNG ( line 4802 ) .... <zParser.cpp,#599>
Я занимаюсь написанием скриптов, но чтобы не путать мои скрипты с оригинальными, в папке Dialogs я создал свою папку Mod, и туда ложу свои файлы миссии, эту папку я прописал в Gothic.src, все мои файлы обрабатываются. Дык я про что? А, вот сглупил я поначалу, и стал дописывать свое в готовые файлы, хотя мона было делать свои - чистые. Это я все вел к тому, что ошибка в файле, который в папке Dialogs, а ругается он про отсутсвие данных в файле, который находится в папке Mod. Может эта ошибка вылетает, из за того, что файлы в разных папках?
З.Ы. Есть разница в каком порядке дописывать директории с файлами в Gothic.src? Хотя я вроде дописал свои, рядом с оригинальными директориями...
|
|
|
02.01.2005, 20:09
|
#221
|
|
Re: Декомпилятор скриптов Готики
Так как я сейчас составляю список Готических программ, то несомненно, не могу обойти стороной декомпилятор. Но, насколько я знаю, он выложен на Яндексе (DiccuricAG), что было бы совершенно неудобно для списка - прямых ссылок-то нет, не писать же "зайдите на Яндекс.ру, введите логин-пароль, найдите среди писем декомпилятор", да еще на Яндексе не поддерживается докачка, что будет неудобно для юзеров, использующих REGet Deluxe, FlashGet и д.р. Прошу разместить где-нибудь декомпилятор, можно выложить на ГотикАГ`е. ЗЫ. а может я не в курсе, и он где нибудь на нормальном сайте выложен ::)
|
|
|
02.01.2005, 21:37
|
#222
|
|
|
|
|
Регистрация: 19.06.2004
Адрес: г. Белая Калитва.
Сообщений: 204
|
|
|
|
|
|
Re: Декомпилятор скриптов Готики
Могу положить у себя на сайте, там вроде все Ок идет качатся. Если, конечно, Vam не против?
|
|
|
02.01.2005, 21:58
|
#223
|
|
Re: Декомпилятор скриптов Готики
Замечание по базе оригинальных строк (ограничение):Например, строки C_NPc, C_Npc, c_npc и т.д. имеют разное написание, но если любую из них перевести в верхний регистр, то получим C_NPC. Теперь суть ограничения - в каком виде в файле базы данных первой встретилась строка, так она и будет отображаться во всех скриптах. Большинству, надеюсь, понятно! Killer-XXX:Ошибку у тебя выдает линковщик, а это значит, что при компиляции файлов (которая предшествует линковке) не было найдено объявления переменной DIA_LOBART_KLEIDUNG. Это может быть в двух случаях, или объявления действительно нет в файлах, или файл с объявлением переменной не включен в список компилируемых (отсутствует запись в .src файле или она неправильная).
З.Ы. Есть разница в каком порядке дописывать директории с файлами в Gothic.src? Хотя я вроде дописал свои, рядом с оригинальными директориями...
|
Насколько я понимаю, порядок записи в .src файле может быть произвольным, хотя это просто проверить, можно файл constsnts.d или classes.d поместить в самый конец src файла и скомпилить, по идее ошибки быть не должно. Borisoff:
Так как я сейчас составляю список Готических программ, то несомненно, не могу обойти стороной декомпилятор. ЗЫ. а может я не в курсе, и он где нибудь на нормальном сайте выложен
|
Декомпилятор пока (кроме DiccuricAG) нигде не выложен, я считаю, что пока идет тестирование этого делать не нужно, всему свое время. Когда устраню все (или большинство) ошибок, вот тогда и можно будет где-нибудь разместить, пока об этом не думал (в принципе, мне все равно где). Сам я сайт делать не собираюсь, мне это не интересно, да и времени на это нет.
|
|
|
02.01.2005, 22:22
|
#225
|
|
Re: Декомпилятор скриптов Готики
Borisoff:
давай пока Killer-XXX выложит у себя на сайте, а потом посмотрим.
|
Со ссылкой на авторство может выкладывать кто хочет и где хочет. ;)
|
|
|
03.01.2005, 01:38
|
#229
|
|
Re: Декомпилятор скриптов Готики
XyylPex:
Vam , если не трудно объясни как запустить декомпилятор v1.5 И в какой ОС.Пробовал делать как в ридми,но она не пашет(она конечно,наверно пашет,но не запускается у меня). *
|
1. Все работает в любой виндузевой системе. 2. Разархивирушь куда-нибудь на диск, внутреннюю структуру папок менять не надо. 3. Создаешь 2 ярлыка на экзешники, один на zSpy, другой на GothicSourcer. В ярлыке на GothicSourcer (в Свойствах, в окошке Объект после имени экзешника дописываешь требуемые параметры из ридми, можно прописать все, а потом время от времени их менять в зависимости от того, что ты хочешь). 4. В папку ..\Content можно положить исходники каких-нибудь оригинальных скриптов, если они есть, а если нет, то не беда, создаш позже сам. 5. Если хочешь что-то декомпилировать, то в папку ..\_compiled надо сунуть датник, а в папку ..\Content\Cutscene сунуть оушник (обязательно бинарный). 6. Запускаем сначала zSpy, а затем GothicSourcer, наблюдаем за процессом, глядя на сообщения. Если декомпилировали, то появится куча папок с исходниками скриптов, если компилировали, то появится датник и бинарный оушник. Вот такой несложный процесс, а если потренироваться, то вообще легко станет. Намного сложней аддон к Готике2 правильно установить. *;) Alexus_G:
При декомпиляции первой Готикой все нормально работает. v.1.5
|
Об этом уже недавно спрашивали, ты забыл поменять ключик на -zgame:1 с -zgame:0 (или было вообще без него). Что-то вы плохо ридми читаете. :(
|
|
|
03.01.2005, 04:03
|
#230
|
|
|
|
|
Строители Миртаны
Регистрация: 25.05.2004
Сообщений: 3
|
|
|
|
|
|
Re: Декомпилятор скриптов Готики
2Vam: Выявил, так сказать, неточность... При декомпиляции " осталось" -> "осталось" получается. И также все ему подобное. :)
А может действительно сделать несколько вводных параметров (мол, что вы хотите сделать и т.д.) через printf, например... А то, как я вижу, многие просто не могут понять что вводить и куда вводить. :)
|
|
|
03.01.2005, 04:51
|
#231
|
|
|
|
|
Регистрация: 19.06.2004
Адрес: г. Белая Калитва.
Сообщений: 204
|
|
|
|
|
|
Re: Декомпилятор скриптов Готики
2Dagot_Ur: ИМХО, мона бы сделать Графическую оболочку. У Vam`а была идея создания аналога Билдера, как у С++. На мой взгляд это было бы неплохо, хотя работать можно и с консолью.
З.Ы. Просто для тех, кто не догадывается как запустить, можно через WinRAR (там есть помоему такая функция) при распаковке создавать сразу несколько ярлыков, но вот получится ли дописать туда параметры незнаю.
|
|
|
03.01.2005, 10:00
|
#232
|
|
Re: Декомпилятор скриптов Готики
2Killer-XXX:
ИМХО, мона бы сделать Графическую оболочку.
|
а я предлагал :) Товарищи дружно сказали, что не надо
|
|
|
03.01.2005, 11:29
|
#233
|
|
Re: Декомпилятор скриптов Готики
Dagot_Ur:
Выявил, так сказать, неточность... При декомпиляции " осталось" -> "осталось" получается. И также все ему подобное.
|
Не понял, что ты хотел этим сказать, если строка записана в кавычках, то она декомпилируется без изменений, если же кавычки ты поставил от себя, то пробел, который стоит перед именем переменной роли не играет. :)
|
|
|
03.01.2005, 14:13
|
#234
|
|
Re: Декомпилятор скриптов Готики
Декомпилятор V1.6 выложен на DiccuricAG.
* * *- исправлена ошибка при декомпиляции старых версий Готик 2 (терялось несколько переменных в файле constants.d) * * *- значительно переделена система определения переопределенных типов (протестирована декомпиляция и компиляция на Готиках 1,2, модах - Bedrohung, Diccuric, Bumshak, Dunkle Magie, Miranda) * * *- в сообщении линковщиком об ошибке убран номер строки файла * * *- добавлены файлы базы данных по именам переменных и функций NamesGotic1.d и NamesGothic2.d соответственно для Готики1 и Готики2 для регистрозависимого отображения имен в декомпилированных скриптах. * * *Правила добавления имен в них просты - следовать предложенному формату (каждое имя пишется в новую строку, комментарии не допускаются, сортировка не нужна, имена, содержащие только заглавные буквы, можно не записывать).
|
|
|
03.01.2005, 14:28
|
#235
|
|
Re: Декомпилятор скриптов Готики
2Vam:
Декомпилятор V1.6 выложен на DiccuricAG.
|
... - значительно переделена система определения переопределенных типов (протестирована декомпиляция и компиляция на Готиках 1,2, модах - Bedrohung, Diccuric, Bumshak, Dunkle Magie, Miranda)...
|
Это отлично... Ну... как обычно тестим далее :)
|
|
|
03.01.2005, 15:19
|
#236
|
|
|
|
|
Регистрация: 15.04.2004
Адрес: Санкт-Петербург
Сообщений: 372
|
|
|
|
|
|
Re: Декомпилятор скриптов Готики
2Vam: Как обычно, бегу качать! ;D :pivo:
в сообщении линковщиком об ошибке убран номер строки файла
|
Это зачем? Конечно, бывало, что выдавало непривильный номер строки, но часто ведь помогало ::)
|
|
|
03.01.2005, 16:10
|
#237
|
|
Re: Декомпилятор скриптов Готики
2TycoooN:
Это зачем? Конечно, бывало, что выдавало непривильный номер строки, но часто ведь помогало
|
При линковке номер строки ничего не значит, все файлы откомпилированы, сложены в базу, происходит связка между переменными и их значениями. Так работают вообще все линковщики. :D
|
|
|
Здесь присутствуют: 3 (пользователей: 0 , гостей: 3)
|
|
Ваши права в разделе
|
|
|
|
Текущее время: 20:13. Часовой пояс GMT +4.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|