|
Alan Killenger
Пользователь
Откуда: Россия, Ижевск Регистрация: Июль 2004
Всего: 404 сообщения
|
У меня вопрос. Почему в любом декомпилированном скрипте присутствует чек_пати_неарс_доор, хотя в исходнике его нет и она ни разу не вызывается? Можно ли как-нибудь на автомате убивать различный мусор, который никак не используется в скрипте, да и не может быть никак использован?
----- hit me, nail me, make me god
|
Отправлено: 22:44 - 4 Авг., 2005
|
|
Anchorite
Пользователь
Откуда: Не здесь Регистрация: Янв. 2003
Всего: 283 сообщения
|
А ты пропусти исходник скрипта через препроцессоор, но не компилируй и все увидишь. А на самом деле эта процедура просто определена в одном из включаемых тобой h-файлов. В каком точно - не помню.
|
Отправлено: 5:41 - 5 Авг., 2005
|
|
Wasteland Ghost
Маленькое Злое Привидение
Откуда: Россия, Самара Регистрация: Дек. 2002
Всего: 2251 сообщение
|
party.h
|
Отправлено: 9:47 - 5 Авг., 2005
|
|
Perceptron
Модератор
Откуда: Ivanovo Регистрация: Май 2003
Всего: 502 сообщения
|
Заметил такой косяк при декомпилировании скрипта с помощью int2ssl: В файле depolva.int одна из строк декомпилировалась как: LVar1 := LVar6 (60 * 10) / 10; Довольно непонятная конструкция, особенно учитывая то, что нойдовский компиль вывел следующее: LVar2 := LVar7 % (60 * 10) / 10; Однако, косяк.
|
Отправлено: 13:01 - 3 Сент., 2006
|
|
Anchorite
Пользователь
Откуда: Не здесь Регистрация: Янв. 2003
Всего: 283 сообщения
|
Это в какой функции? И какая версия декаомпилятора?
|
Отправлено: 8:37 - 4 Сент., 2006 | ИСПРАВЛЕНО: Anchorite - 8:38 - 4 Сент., 2006
|
|
Perceptron
Модератор
Откуда: Ivanovo Регистрация: Май 2003
Всего: 502 сообщения
|
Короче, вот что выдает int2ssl (v. 1.52): procedure CountDown begin variable LVar0 := 0; variable LVar1 := 0; variable LVar2 := 0; variable LVar3 := 0; variable LVar4 := 0; variable LVar5 := 0; variable LVar6 := 0; LVar2 := game_time - global_var(149); LVar6 := 600 + (600 + (600 + 600)) - LVar2; LVar5 := 600 + (600 + 600) - LVar2; LVar4 := 600 + 600 - LVar2; LVar3 := 600 - LVar2; if (global_var(global_var(149)) != 0) then begin display_msg(message_str(146, 100)); end if (LVar2 < 600) then begin LVar0 := LVar6 / (60 * 10); LVar1 := LVar6 (60 * 10) / 10; а вот что получается с декомпилем Нойда: procedure CountDown begin variable LVar1 := 0; variable LVar2 := 0; variable LVar3 := 0; variable LVar4 := 0; variable LVar5 := 0; variable LVar6 := 0; variable LVar7 := 0; LVar3 := op_game_time() - op_global_var(149); LVar7 := 600 + (600 + (600 + 600)) - LVar3; LVar6 := 600 + (600 + 600) - LVar3; LVar5 := 600 + 600 - LVar3; LVar4 := 600 - LVar3; if (op_global_var(op_global_var(149)) != 0) then op_display_msg(op_msg_string(146, 100)); if (LVar3 < 600) then begin LVar1 := LVar7 / (60 * 10); LVar2 := LVar7 % (60 * 10) / 10;
|
Отправлено: 18:12 - 4 Сент., 2006
|
|
|
Perceptron
Модератор
Откуда: Ivanovo Регистрация: Май 2003
Всего: 502 сообщения
|
А в закромах TeamX до сих пор 1.52. Ай-яй-яй-яй-яй-яй. :)
|
Отправлено: 19:06 - 5 Сент., 2006
|
|
Jordan 63
Пользователь
Откуда: Россия, Самара Регистрация: Июль 2007
Всего: 228 сообщений
|
Anchorite Есть ли такая функция в декомпиляторе при декомпелировании он не декомпелировал лишние end Как у Noid Пример Декомпелятор Noid if (local_var(4) == 0) then display_msg( mstr(102) ); else display_msg( mstr(103) ); Декомпелятор int2ssl if (local_var(4) == 0) then begin display_msg( mstr(102) ); end else begin display_msg( mstr(103) ); end Я декомпелирую скрипты fallout1 и если бы он декомпелировал как Noid то очень бы облегчило чтение скрипта
|
Отправлено: 16:05 - 5 Июля, 2007
|
|
Jordan 63
Пользователь
Откуда: Россия, Самара Регистрация: Июль 2007
Всего: 228 сообщений
|
Anchorite Будет ли в декомпилятор добавлены новык функции из sfall'а?
|
Отправлено: 16:52 - 12 Янв., 2008
|
|
|