Thief: the Dark Fate Forum

Общение Tafferов => Общение => Тема начата: ndk от 31 марта 2010 10:22:52

Название: Наконец-то у нас есть исходники
Отправлено: ndk от 31 марта 2010 10:22:52
Наблюдение. Натравил Hex-Rays на thief2.exe и получил ~14Mb исходников на C. Не так уж и много. :)
Название: Наконец-то у нас есть исходники
Отправлено: Zontik от 31 марта 2010 10:54:31
Наконец-то у нас есть исходники. Ура.
Название: Наконец-то у нас есть исходники
Отправлено: ndk от 31 марта 2010 11:13:46
Пф, нет их у нас. Hex-Rays - это декомпилятор, плаги для IDA Pro. Пытается представить асм в c. Очень неплохо получается это у него. Но, как минимум проблемы с правами (как с thief, так и с Hex-Rays :) ), плюс, нет нормальных имён у функций.
Название: Наконец-то у нас есть исходники
Отправлено: DonSleza4e от 31 марта 2010 11:30:54
ND а собрать их можно в рабочий exe назад?)
Название: Наконец-то у нас есть исходники
Отправлено: ndk от 31 марта 2010 11:32:54
Надо пошаманить, ведь все константные строки и прочая хернь в .data. На днях баловался с notepad - получилось собрать и даже работало. Но здесь конечно всё сложнее, объёма больше.
Название: Наконец-то у нас есть исходники
Отправлено: DonSleza4e от 31 марта 2010 11:35:54
может Волка не откажется :joke:
Название: Наконец-то у нас есть исходники
Отправлено: MoroseTroll от 31 марта 2010 12:49:46
Volca и его команда давно в курсе прелести использования HexRays в IDA Pro, поверьте.
Название: Наконец-то у нас есть исходники
Отправлено: ndk от 31 марта 2010 13:04:31
Кстати, насчёт Volca. Если сравнивать объём кода, то он продвинулся на где-то на треть. Правда, что-то давно нет нового кода в их репозитории.
[Исправлено: ND, 31 марта 2010 13:04]
Название: Наконец-то у нас есть исходники
Отправлено: MoroseTroll от 31 марта 2010 13:29:29
ND: Любой человек периодически нуждается в подпитке энтузиазмом, идеями и пр. Volca, возможно, просто подустал (что немудрено после пяти лет работы), либо у него просто не хватает времени/желания.
Название: Наконец-то у нас есть исходники
Отправлено: ndk от 31 марта 2010 14:41:39
И самое трудное только впереди: AI и прочая игровая логика.
Название: Наконец-то у нас есть исходники
Отправлено: Alex-X-x от 31 марта 2010 16:49:30
не пойму я вас, сдались вам эти сурсы? Заимей вы их, сразу бы что-то ркальное замутили?
[Исправлено: UrUkUs, 31 марта 2010 16:50]
Название: Наконец-то у нас есть исходники
Отправлено: DonSleza4e от 31 марта 2010 17:25:41
UrUkUs ну к примеру, попытаться увеличить лимиты, или поправить вылеты
пересобрать dromed
ввести новую функциональность в игру :)
чтобы игра запускалась нормально у всех на современных компах, а не через жопу :)
[Исправлено: DonSleza4e, 31 марта 2010 16:26]
Название: Наконец-то у нас есть исходники
Отправлено: Alex-X-x от 31 марта 2010 18:05:16
да, и это конечно каждый ребенок сделать может?:cheesy:
Название: Наконец-то у нас есть исходники
Отправлено: ndk от 31 марта 2010 19:00:58
UrUkUs
А вы с какой целью интересуетесь?
Название: Наконец-то у нас есть исходники
Отправлено: DJ Riff от 01 апреля 2010 11:39:30
ЦитироватьND написал(а) 31 марта 2010 11:13
плюс, нет нормальных имён у функций.
Имена функций есть в dromed.exe, если я правильно понял, о чем речь.
Название: Наконец-то у нас есть исходники
Отправлено: ndk от 01 апреля 2010 12:56:11
Получилось свыше 15000 функций. Понятно, что большая часть из них относятся к crt, но их вычленение/удаление займёт уйму времени. То, что есть в dromed - это конечно хорошо, но напрямую воспользоваться не получится. Хотя... Если декомпильнуть dromed, то можно, написав несколько магических скриптов, сопоставить содержимое функций thief2.exe и dromed. Тогда да, может получиться толк. Только всё равно работы тонна и много-много "если".
Добавлено позже
Не хочу геморроиться со всеми этими патчами и установками. Может кто-нибудь дать самый годный/новый exe-шник dromed? Так, посмотреть, что к чему.
Добавлено позже
Так, dromed 1.18 нашёл. Осталось найти непатченный thief2.exe 1.18 :)

[Исправлено: ND, 1 апр. 2010 12:18]
Добавлено позже
Просьба удалить топик. Нет никаких исходников и даже намёка нет. Не нужно пустых надежд. :)
Название: Наконец-то у нас есть исходники
Отправлено: Vorob от 01 апреля 2010 12:58:51
ЦитироватьОсталось найти непатченный thief2.exe 1.18
Длуг, ты ничего не путаешь? Непатченный это 1.07
Название: Наконец-то у нас есть исходники
Отправлено: ndk от 01 апреля 2010 13:06:45
Я имею в виду всякие nocd и прочие хаки.
Добавлено позже
Вопрос: я правильно понимаю, что dromed сам по себе содержит весь движок thief и самодостаточен. Иными словами: если я запущу игру из-под dromed, то будет ли игра/логика/рендер идентичный запуску thief2.exe?
Название: Наконец-то у нас есть исходники
Отправлено: Vorob от 01 апреля 2010 13:24:58
А вообще, что за тема? На западе уже 100 лет исходники жаждят, неужели они не додумались декомпелировать ехе?
Название: Наконец-то у нас есть исходники
Отправлено: ndk от 01 апреля 2010 13:34:27
Вот и я говорю, мол надо потереть тему.
Название: Наконец-то у нас есть исходники
Отправлено: DonSleza4e от 01 апреля 2010 13:39:36
они помешаны на легальности
это типа незаконно и нарушение лицензии
Добавлено позже
кстати дромед собран в дебаг билде вроде, там по идее много чего отладочного включено в сборку
полезная инфа типа для реверсинжиниринга)
Название: Наконец-то у нас есть исходники
Отправлено: ndk от 01 апреля 2010 13:59:29
DonSleza4e
Вот и ответь на мой вопрос, а то сам dromed я толком не видел. Игра, запущенная из-под dromed, идентична тому, что я вижу, запустив обычным способом? В плане рендера, AI, логики, физики.
Название: Наконец-то у нас есть исходники
Отправлено: Alex-X-x от 01 апреля 2010 14:30:41
ЦитироватьND написал(а) 31 марта 2010 19:00
UrUkUs
А вы с какой целью интересуетесь?
а может у меня есть что-то по теме исходники дар эйнджин:sly:
Название: Наконец-то у нас есть исходники
Отправлено: clearing от 01 апреля 2010 14:42:59
ЦитироватьПросьба удалить топик. Нет никаких исходников и даже намёка нет. Не нужно пустых надежд.
Пусть будет ещё один оффтопик.
Название: Наконец-то у нас есть исходники
Отправлено: DonSleza4e от 01 апреля 2010 15:09:36
думаю да
Название: Наконец-то у нас есть исходники
Отправлено: ndk от 01 апреля 2010 15:52:36
Тогда всё веселее, т.к. результат декомпиляции dromed выглядит не столько пугающе. Да, структур нет, работа идёт по смещениям, но зато по декорации symbols можно многое понять. Да, работа с virtual table идёт напрямую, но, опять же, декорация имён позволяет воссоздать интерфейсы. Так что имея время, сколько-то терпения, несколько программистов (не обязательно гуру) имеют шанс получить более-менее сносные исходники. Ну а дальше дело могучего рефакторинга.
А что до dromed. Так коли из под него тоже всё замечательно играется, то немного костылей, заглушек и прочих допилов, и мы имеем вполне себе thief2.exe
Название: Наконец-то у нас есть исходники
Отправлено: clearing от 01 апреля 2010 15:54:08
[off]DonSleza4e, ND, я вас путаю :joke:[/off]
Название: Наконец-то у нас есть исходники
Отправлено: ndk от 01 апреля 2010 15:56:27
Испокон веков наш славный DonSleza4e прёт мои аватарки. Даже испоганить весь их смысл не ленится.
[Исправлено: ND, 1 апр. 2010 15:56]
Название: Наконец-то у нас есть исходники
Отправлено: Alex-X-x от 01 апреля 2010 16:25:51
ЦитироватьND написал(а) 1 апр. 2010 15:56
Испокон веков наш славный DonSleza4e прёт мои аватарки. Даже испоганить весь их смысл не ленится.
[Исправлено: ND, 1 апр. 2010 15:56]
кот кошку, какой тут смысл, только котятки потом.
Название: Наконец-то у нас есть исходники
Отправлено: Zontik от 01 апреля 2010 16:48:31
ЦитироватьИгра, запущенная из-под dromed, идентична тому, что я вижу, запустив обычным способом?
Нет. В игровом режиме DromEd Jorge виден как Jorge, в Thief.exe - как сплошное синее поле. Много других менее заметных отличий. Больше функциональности - доступны команды, недоступные в игре.
Короче говоря, совместимость на уровне FM - не полная. Некоторые вещи, вполне работоспособные в игровом режиме редактора (например, сохранение короны объекта при его взятии/бросании), в самой игре просто не работают. Думаю, обратная несовместимость тоже может иметь место (просто никому в голову не приходило проверять).
Название: Наконец-то у нас есть исходники
Отправлено: ndk от 01 апреля 2010 18:20:15
А рендер?
Название: Наконец-то у нас есть исходники
Отправлено: Zontik от 02 апреля 2010 09:27:15
Разве за отображение текстур отвечает не рендер?
Я уже много раз сталкивался с тем, что текстуры с ошибками (не тот размер, не та палитра, не та цветовая модель) по-разному выглядят в игровом режиме DromEd и в самой игре.
Были также проблемы с отображением некоторых некорректных AI: в редакторе все нормально, а в игре рендер глючило по-страшному вплоть до вылета.
Название: Наконец-то у нас есть исходники
Отправлено: DonSleza4e от 02 апреля 2010 10:10:52
подумалось:
- Zontik может подогнать ND миссию с предельным числом брашей (лучше - чтобы уже превышался лимит, и при запуске миссии игра валилась. я не знаю как конкретно оно там валится, никогда не достигал предела).
ND в отладочном режиме пускает миссию, и находит место падения.
дальше в зависимости от причины. Если жестко задан максимум по каким-то параметрам - снятие этого максимума. Если упирается в максимум типа данных - попытка смены типа данных на более емкий (int на long к примеру)

- компиляция exe файла под современные системы.
незнаю можно ли научить распознавать многопроцессорные системы - хотя бы просто корректно работать на них
Название: Наконец-то у нас есть исходники
Отправлено: Zontik от 02 апреля 2010 10:44:18
При превышении числа брашей ничего не валится, просто миссию становится невозможно портализировать. Но она вполне играбельна при этом.
Пример - Broken Triad, миссия 1. 6990 брашей (разрешено 6900). Играть можно, портализировать/оптимизировать - нет.
При убирании 90 брашей, взятых наугад, миссия прекрасно портализируется.
А вообще если что и выйдет, то нигде в мире, за исключением СНГ, этого все равно не примут, поскольку разрешение на декомпиляцию находится примерно там же, где и исходники. Так что получится в лучшем случае вещь для внутреннего использования.
IMHO, именно это ограничение - на количество брашей - не самое страшное, большинство авторов к нему близко не подходят. Вот число полигонов и - самое страшное! - cells на экране - вот это истинный кошмар дизайнера.
Но даже если суметь преодолеть этот предел, подстерегают новые грабли: авторы так обрадуются, что начнут строить города с панорамными видами, и... догадываетесь, что дальше? FPS упадет ниже нуля, так как движок на такую нагрузку не рассчитан.
Так что простое преодоление ограничения если и даст что-то, то очень мало.
Название: Наконец-то у нас есть исходники
Отправлено: DJ Riff от 02 апреля 2010 11:46:32
Цитироватьэтого все равно не примут, поскольку разрешение на декомпиляцию находится примерно там же, где и исходники
Не совсем так. Как следует из тем на официальном форуме и на TTLG, сотрудники EM в курсе проблем с исходниками и инициировали поиск. Понятное дело, что каких-либо существенных ресурсов на это выделять не будут, потому поиск вполне может не увенчаться успехом. Однако же, само намерение дает основание полагать, что если исходники будут найдены или получены каким-либо способом, можно будет вести уже предметно переговоры о распространении их либо в виде непосредственно кода, либо в виде конкретных патчей движка, в том числе официальных.
[Исправлено: DJ Riff, 2 апр. 2010 11:47]
Название: Наконец-то у нас есть исходники
Отправлено: clearing от 02 апреля 2010 12:01:02
[off]Хм... а тема не совсем оффтопик.[/off]
Название: Наконец-то у нас есть исходники
Отправлено: Alex-X-x от 02 апреля 2010 12:24:51
[off]так не вопрос, можем устроить:biggrin:[/off]
Название: Наконец-то у нас есть исходники
Отправлено: DonSleza4e от 02 апреля 2010 12:57:28
Zontik хорошо, а если найти этот лимит в 6900 и при удаче убрать?
[off]великий и ужасный оффтопик может порождать странные отвлетвления :joke:[/off]

[Исправлено: DonSleza4e, 2 апр. 2010 11:59]
Название: Наконец-то у нас есть исходники
Отправлено: ndk от 02 апреля 2010 13:22:15
ЦитироватьDJ Riff написал(а) 2 апр. 2010 11:46
Как следует из тем на официальном форуме и на TTLG, сотрудники EM в курсе проблем с исходниками и инициировали поиск. Понятное дело, что каких-либо существенных ресурсов на это выделять не будут, потому поиск вполне может не увенчаться успехом.
Так проще сообществу скинуться на оплату месяца-другого работы ихнего спеца - пусть ищет.
Название: Наконец-то у нас есть исходники
Отправлено: Zontik от 02 апреля 2010 14:15:59
Ну хорошо... если... тогда... можно будеть строить миссии бОльшего размера, которые будут грузиться по 10 минут. Все остальные ограничения при этом останутся в силе, как то:
- 4000 объектов на уровне (если столько или больше, миссия может грохаться при загрузке сохраненки - проверено на Hammerite Imperium);
- 4000 terrain brushes (нет достоверных сведений о возможности преодоления, точном числе и наказании ослушавшимся);
- 999 room brushes;
- 735 (кажется) источников света;
- 256 (кажется) источников звука;
- и столь любимые всеми полигоны в кадре.
IMHO еще раз: из всех существующих пределов именно этот - 6900 - самый безвредный. Просто его мало кто достигает, да и преодолеть можно при желании.
А самый вредный (на мой взгляд, опять же) - после полигонов в кадре - это невнятное ограничение на размер Pathfind database. К сожалению, нет даже известной переменной, которая могла бы выражаться численно, но практически каждая миссия размером заметно больше средней сталкивается с этой проблемой.
То есть как это выглядит? Никакого счетчика нет. При определенной общей площади поверхностей, по которым AI могут перемещаться, база еще строится, а стоит ее чуть-чуть увеличить - уже нет. Как контролировать эту площадь и как вообще ее посчитать - вопрос скорее риторический.
Название: Наконец-то у нас есть исходники
Отправлено: ndk от 02 апреля 2010 14:39:04
Zontik
Есть такое понятие программёрское, как рефакторинг.
Название: Наконец-то у нас есть исходники
Отправлено: Zontik от 02 апреля 2010 15:35:37
Это, наверное, хорошо? В смысле - не понял. Буду благодарен переводу.
Название: Наконец-то у нас есть исходники
Отправлено: ndk от 02 апреля 2010 16:14:17
"Рефакторинг — процесс изменения внутренней структуры программы, не затрагивающий её внешнего поведения и имеющий целью облегчить понимание её работы"
После хорошего рефакторинга можно код вертеть как хочется.
Название: Наконец-то у нас есть исходники
Отправлено: Zontik от 02 апреля 2010 16:59:26
Просто из любопытства: речь идет о систематизации текста, которым написан код (грубо говоря - комментарии вставить), или все же об оптимизации функций?
Я просто не понимаю пока (надеюсь, что только пока), какое это имеет отношение к Вору с его "исходниками".
Название: Наконец-то у нас есть исходники
Отправлено: Chuzhoi от 02 апреля 2010 17:35:07
ЦитироватьIMHO, именно это ограничение - на количество брашей - не самое страшное, большинство авторов к нему близко не подходят. Вот число полигонов и - самое страшное! - cells на экране - вот это истинный кошмар дизайнера.
Но даже если суметь преодолеть этот предел, подстерегают новые грабли: авторы так обрадуются, что начнут строить города с панорамными видами, и... догадываетесь, что дальше? FPS упадет ниже нуля, так как движок на такую нагрузку не рассчитан.
Я полагаю, быстродействие Вора в плане количества полигонов упирается в отсутствие поддержки Hardware T&L (т. е. геометрических расчетов средствами видеокарты), которого в 1998 году еще не было.
Движок рассчитан на DirectX 6, а поддержка Hardware T&L появилась только в DirectX 7 в 1999 г.
Название: Наконец-то у нас есть исходники
Отправлено: ndk от 02 апреля 2010 18:51:31
А что вы всё обсуждаете? Кто-то хочет 15000 функций обработать? :) Исходники не дают. Воссоздавать Thief (OpenDarkEngine) немногим легче. Я больше в TDM верю, ведь немало достигли.
Название: Наконец-то у нас есть исходники
Отправлено: DonSleza4e от 02 апреля 2010 18:59:50
а ты скомпилируй чтобы запустилось)
а дальше в отладочном режиме можно поработать при желании)
Название: Наконец-то у нас есть исходники
Отправлено: Chuzhoi от 02 апреля 2010 21:38:27
ND
ЦитироватьА что вы всё обсуждаете? Кто-то хочет 15000 функций обработать?
Ну можно же помечтать, что придет добрый дядя и их обработает :joke: