Alchemist
Модератор
Posts: 117
Ортодоксальный Сектант
|
|
Re: Скомпилируйте int2ssl (для sfall)
« Reply #15 on: 21 February 2009, 12:55:15 » |
|
Выбирай цель компиляции не DEBUG, a RELEASE. И убедись, что исполняемый образ линкуется с MFC80.DLL, а НЕ с MFC80D.DLL.
|
//Это добром не кончится...
|
|
|
Jordan
Пользователь
Posts: 416
|
|
Re: Скомпилируйте int2ssl (для sfall)
« Reply #16 on: 21 February 2009, 12:57:23 » |
|
А где смотреть цель компиляции и с чем он линкуется?
|
Воспрянет Россия, из праха отцов Расправятся крылья, миллионов сердец Поднимут все головы и грудью вздохнут И громка скажут, что пришли Мы пришли, со столетней войны
|
|
|
Alchemist
Модератор
Posts: 117
Ортодоксальный Сектант
|
|
Re: Скомпилируйте int2ssl (для sfall)
« Reply #17 on: 21 February 2009, 13:02:57 » |
|
Выбирать в настройках проекта вестимо. Должен быть выпадающий списочек. Кажется, активная конфигурация называется. Точнее не скажу, у меня сейчас VS на машине нет, только рантаймы. А проверить с чем слинковалось можешь утилитой, ссылку на которую я дал выше. Просто открой ей готовый экзешник и получишь список зависимостей.
|
//Это добром не кончится...
|
|
|
Jordan
Пользователь
Posts: 416
|
|
Re: Скомпилируйте int2ssl (для sfall)
« Reply #18 on: 21 February 2009, 13:17:58 » |
|
|
Воспрянет Россия, из праха отцов Расправятся крылья, миллионов сердец Поднимут все головы и грудью вздохнут И громка скажут, что пришли Мы пришли, со столетней войны
|
|
|
Alchemist
Модератор
Posts: 117
Ортодоксальный Сектант
|
|
Re: Скомпилируйте int2ssl (для sfall)
« Reply #19 on: 21 February 2009, 13:38:06 » |
|
Во, теперь всё собралось отлично. И, как видишь, ни единой функции MFC8 не используется вообще. А вот с опкодами ты что-то напортачил. Timeslip'овские моды не декомпилятся совсем, моды Helios'а -- только частично. Проверяй количество и типы аргументов, а так же тип возвращаемого значения. --- Update --- Судя по диагностическим сообщениям, какие-то опкоды ты пометил как expression, но в скомпилированных скриптах они ничего не возвращают.
|
|
« Last Edit: 21 February 2009, 13:52:40 by Alchemist »
|
|
//Это добром не кончится...
|
|
|
Jordan
Пользователь
Posts: 416
|
|
Re: Скомпилируйте int2ssl (для sfall)
« Reply #20 on: 21 February 2009, 14:21:27 » |
|
Все исправил теперь точно должен декомпилинуть. Ссылка прежняя. Спасибо за помощь.
|
Воспрянет Россия, из праха отцов Расправятся крылья, миллионов сердец Поднимут все головы и грудью вздохнут И громка скажут, что пришли Мы пришли, со столетней войны
|
|
|
Alchemist
Модератор
Posts: 117
Ортодоксальный Сектант
|
|
Re: Скомпилируйте int2ssl (для sfall)
« Reply #21 on: 21 February 2009, 14:52:43 » |
|
Кажись заработало. Остаётся всего две вещи. Во-первых, проверить, собирается ли декомпилированный код в побитово идентичный исходному INT-файл. И, если нет, ещё раз пройтись по таблице опкодов. А во-вторых, стоит не уподобляться автору Sfall'a, плодящему контроверсионные сборки компилятора, и стукнуться к Anchorite'у с вопросом, согласен ли он включить данную версию в основную ветвь или лучше сделать форк. И, если согласен, сменить номер подверсии на 1.56, да добавить ключик, включающий дополнительные опкоды. Дабы, во избежание путаницы, по умолчанию декомпилятор работал только с оригинальными опкодами. Если же Anchorite скажет "форк", то факт, что данная сборка есть Sfall-специфичная переделка за авторством Jordan'а, стоит отметить в баннере, выводящемся при запуске программы.
|
//Это добром не кончится...
|
|
|
Wasteland Ghost
Администратор
Posts: 869
Маленькое Злое Привидение
|
|
Re: Скомпилируйте int2ssl (для sfall)
« Reply #22 on: 21 February 2009, 15:02:38 » |
|
Так получилось, что мне с группой товарищей в последнее время пришлось писать именно кросс-платформенные и именно консольные приложения. После некоторых размышлений и экспериментов мы пришли к следующему решению: - компиляторы: линукс — gcc не ниже 4.x, вЫньдовЗ — MS VC 2008;
- cmake не ниже 2.4 — для кросс-платформенных проектных файлов;
- wxWidgets — для пользовательского интерфейса (не только GUI, но и, например, обработка ключей командной строки).
Что wxWidgets, что qt — это набор собственных классов для UI. Не таких страшных, как mfc. К тому же, wxWidgets полностью открыты и свободны. А вот qt отпугнул своей лицензией — он проприетарный, хотя многие русскоязычные программисты об этом забывают. wxWidgets — это типичный опенсорсовый продукт со всеми достоинствами и недостатками, qt — более молодой и амбициозный коммерческий проект. Он, конечно, для личных целей бесплатен, но поди там разбери, где эта грань, за которой с тебя потребуют баблос. qt менее хаотичен и лучше документирован — вот, пожалуй, главное его преимущество перед wxWidgets. Так вот. От mfc int2ssl требуется, насколько я помню, только работа с файлами для компиляции по маске. Анхорит как-то предлагал просто выкинуть эту функциональность, чтобы скомпилилось под линуксом. Можно выкинуть, а можно и под виджеты переделать. В любом случае, подгонять проект под виндовый minGW настоятельно не рекомендую — виндовая версия minGW не актуальна и очень часто при переходе с/к gcc вылезают совершенно экзотические error'ы. Связка же gcc + cmake или MS VC 2008 + cmake работает просто прекрасно — проверено на личном опыте.
|
|
|
|
Jordan
Пользователь
Posts: 416
|
|
Re: Скомпилируйте int2ssl (для sfall)
« Reply #23 on: 21 February 2009, 15:47:57 » |
|
Alchemist Добро как проверю скрипты и если все нормально то отпишу Anchorit'у. Wasteland Ghost qt перешел на лицензию GPL. Вот новость http://www.linux.org.ru/view-message.jsp?msgid=3410434&lastmod=1233743850763
|
Воспрянет Россия, из праха отцов Расправятся крылья, миллионов сердец Поднимут все головы и грудью вздохнут И громка скажут, что пришли Мы пришли, со столетней войны
|
|
|
Wasteland Ghost
Администратор
Posts: 869
Маленькое Злое Привидение
|
|
Re: Скомпилируйте int2ssl (для sfall)
« Reply #24 on: 21 February 2009, 17:18:16 » |
|
2 Jordan Ха. Открыли, наконец, исходники. Ну что ж, посмотрим. Посмотрим. Но пока я на проверенных виджетах лучше останусь.
|
|
|
|
Alchemist
Модератор
Posts: 117
Ортодоксальный Сектант
|
|
Re: Скомпилируйте int2ssl (для sfall)
« Reply #25 on: 21 February 2009, 19:02:55 » |
|
От mfc int2ssl требуется, насколько я помню, только работа с файлами для компиляции по маске. Анхорит как-то предлагал просто выкинуть эту функциональность, чтобы скомпилилось под линуксом. Путаешь, это он про SSLC говорил. Я, конечно, не знаток MFC, но похоже, что тут используются функции работы с текстом, как бы даже не элементы лексера. Так что, просто не отвяжешься. Сmake, кстати, по синтаксису от GNU make сильно отличается?
|
//Это добром не кончится...
|
|
|
Wasteland Ghost
Администратор
Posts: 869
Маленькое Злое Привидение
|
|
Re: Скомпилируйте int2ssl (для sfall)
« Reply #26 on: 21 February 2009, 23:09:06 » |
|
2 Alchemist Эх, найти бы время... Может, и гляну как-нибудь. cmake — это не make. Это кросс-платформенная утилита, которая пользуется своими универсальными средствами описания проекта. После запуска cmake создаётся уже привычный make-файл (или проектный файл для MSVC) под конкретную среду. Синтаксис вполне простой и интуитивный. Но притом cmake обладает бешеной расширяемостью, так что при желании можно копнуть поглубже и заняться написанием собственных модулей. Вот пример самого простого CMakeLists.txt: PROJECT(myproj) cmake_minimum_required(VERSION 2.4) ADD_EXECUTABLE(myprog myprog.cpp)
|
|
|
|
Jordan
Пользователь
Posts: 416
|
|
Re: Скомпилируйте int2ssl (для sfall)
« Reply #27 on: 22 February 2009, 20:28:25 » |
|
Протестировал на скриптах Timeslip и Helios. Скрипты декомпилирует. Скрипты обратно компилятся. Пробывал декомпилировать скрипты мода restoration project, а именно glgcencl.int glkagaen.int glpoprck.int - этот декомпилируется. gltragic.int Все время выдает ошибку expresion error. Я уже и дамп файл смотрел, и опкоды чего то ни как понять не могу на каком он опкоде спотыкается. Может какие ключики есть. -a и -b пробывал все равно не декомпилит. http://jordan631.narod.ru/1/int2ssl_sfall.7zСкрипты в архиве.
|
|
« Last Edit: 22 February 2009, 20:33:53 by Jordan »
|
|
Воспрянет Россия, из праха отцов Расправятся крылья, миллионов сердец Поднимут все головы и грудью вздохнут И громка скажут, что пришли Мы пришли, со столетней войны
|
|
|
Jordan
Пользователь
Posts: 416
|
|
Re: Скомпилируйте int2ssl (для sfall)
« Reply #28 on: 24 February 2009, 21:47:27 » |
|
Все теперь программа декомпилирует нормально. Если будут ошибки пишите. http://jordan631.narod.ru/1/int2ssl_sfall.7z
|
Воспрянет Россия, из праха отцов Расправятся крылья, миллионов сердец Поднимут все головы и грудью вздохнут И громка скажут, что пришли Мы пришли, со столетней войны
|
|
|
Jordan
Пользователь
Posts: 416
|
|
Re: Скомпилируйте int2ssl (для sfall)
« Reply #29 on: 27 February 2009, 14:24:49 » |
|
Обновил программу. Декомпилирует опкоды версии sfall 1.42 http://jordan631.narod.ru/1/int2ssl_sfall.7z
|
Воспрянет Россия, из праха отцов Расправятся крылья, миллионов сердец Поднимут все головы и грудью вздохнут И громка скажут, что пришли Мы пришли, со столетней войны
|
|
|
|