Показать сообщение отдельно
Старый 27.03.2007, 15:04   #982
Vam

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

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

MaGoth:
Сначала благодарю за подробное описание найденных проблем*:pivo:. С таким описанием приятно работать ;).

GothicSourser 3.12 - не может правильно выстроить некоторые блоки условий. В основном это блоки с использованием истинного НЕ (!), в следствие чего ошибки, приведенные выше.
Исправлено.

Данная ошибка проявляется везде где должна стоять функция:
* * * * * B_NPC_IsAliveCheck(OldWorld_Zen);
Эта функция заменяется прогой на неправильную:
* * * * * B_InitGuildAttitudes()OldWorld_Zen;
Не подтвердилось, GothicSourser 3.12 при компиляции и декомпиляции всё делает правильно. Проверял на бинарных файлах Глобал мода (dat и bin), было сделано последовательно три цикла - (декомпиляция - компиляция). Результат: ошибок нет, вниманий нет, размеры dat файлов одинаковы, размеры ou.bin файлов различны на несколько байтов (заголовок bin файла содержит информацию о пользователе и времени создания файла - отсюда различие на несколько байт).

Было замечено во время компилляции проекта, дублирование строк программой, в большинсте случаев программа, пропускает такую ошибку, и компиляция идет без ошибок.
Но в тесте мода потом оказываются повторения некоторый строк диалога, или строк взаимодействия Гг с Вобами.. и т.д..
Причем исправив такие ошибки, после очередной, заливки на хост правленных Gothic.dat и Ou.bin - файлов, данная ошибка вылазит уже в других диалогах и местах игры...
Эта проблема так и не была локализована. Исходя из предыдущего ответа можно сделать вывод, что с версией GothicSourser 3.12 эта проблема отсутствует.
Дополнительно по описанной методике были проверены оригинальные бинарные файлы Г1 и Г2 с исправлением всех ошибок после первой декомпиляции (внимания не правил) - разницы в размерах файлов не обнаружено, следовательно, строк повторения диалогов в них нет.

Теперь вопрос: делать новую версию с исправлением одной ошибки со скобками или подождать, может кто-нибудь ещё найдет какие-нибудь ошибки?
Ответить с цитированием