Форум TeamX
   Home   Members  
Pages: 1 [2] 3 4 |   Go Down
 
Author Topic: int2ssl для sfall  (Read 8449 times)
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

476228895
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

476228895
Re: Скомпилируйте int2ssl (для sfall)
« Reply #18 on: 21 February 2009, 13:17:58 »

Ну вроде получилось.
http://jordan631.narod.ru/1/int2ssl_sfall.7z

Воспрянет Россия, из праха отцов
Расправятся крылья, миллионов сердец
Поднимут все головы и грудью вздохнут
И громка скажут, что пришли
Мы пришли, со столетней войны
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

476228895
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

476228895
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 »

2Jordan Ха. Улыбка Открыли, наконец, исходники. Улыбка Ну что ж, посмотрим. Посмотрим. Но пока я на проверенных виджетах лучше останусь. Улыбка
Alchemist
Модератор
Posts: 117

Ортодоксальный Сектант


Re: Скомпилируйте int2ssl (для sfall)
« Reply #25 on: 21 February 2009, 19:02:55 »

Quote
От mfc int2ssl требуется, насколько я помню, только работа с файлами для компиляции по маске. Анхорит как-то предлагал просто выкинуть эту функциональность, чтобы скомпилилось под линуксом.
Путаешь, это он про SSLC говорил. Я, конечно, не знаток MFC, но похоже, что тут используются функции работы с текстом, как бы даже не элементы лексера. Так что, просто не отвяжешься.

Сmake, кстати, по синтаксису от GNU make сильно отличается?

//Это добром не кончится...
Wasteland Ghost
Администратор
Posts: 869

Маленькое Злое Привидение


Re: Скомпилируйте int2ssl (для sfall)
« Reply #26 on: 21 February 2009, 23:09:06 »

2Alchemist Эх, найти бы время... Улыбка Может, и гляну как-нибудь. Улыбка

cmake — это не make. Это кросс-платформенная утилита, которая пользуется своими универсальными средствами описания проекта. После запуска cmake создаётся уже привычный make-файл (или проектный файл для MSVC) под конкретную среду. Синтаксис вполне простой и интуитивный. Но притом cmake обладает бешеной расширяемостью, так что при желании можно копнуть поглубже и заняться написанием собственных модулей. Подмигивающий Вот пример самого простого CMakeLists.txt:
Code:
PROJECT(myproj)
cmake_minimum_required(VERSION 2.4)
ADD_EXECUTABLE(myprog myprog.cpp)
Jordan
Пользователь
Posts: 416

476228895
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

476228895
Re: Скомпилируйте int2ssl (для sfall)
« Reply #28 on: 24 February 2009, 21:47:27 »

Все теперь программа декомпилирует нормально. Если будут ошибки пишите.

http://jordan631.narod.ru/1/int2ssl_sfall.7z

Воспрянет Россия, из праха отцов
Расправятся крылья, миллионов сердец
Поднимут все головы и грудью вздохнут
И громка скажут, что пришли
Мы пришли, со столетней войны
Jordan
Пользователь
Posts: 416

476228895
Re: Скомпилируйте int2ssl (для sfall)
« Reply #29 on: 27 February 2009, 14:24:49 »

Обновил программу. Декомпилирует опкоды версии sfall 1.42

http://jordan631.narod.ru/1/int2ssl_sfall.7z

Воспрянет Россия, из праха отцов
Расправятся крылья, миллионов сердец
Поднимут все головы и грудью вздохнут
И громка скажут, что пришли
Мы пришли, со столетней войны
Pages: 1 [2] 3 4 |   Go Up