Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Help! Потеряны файлы opengl.lib и glu.lib ... SGI OpenGL 
:(
    Опции темы
timself
  Дата 27.2.2007, 00:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 14.2.2007

Репутация: нет
Всего: нет



 smile  smile  smile 

Господа! Огромная просьба. У кого установлен (или есть дистрибутив) API OpenGL от SGI известный как "Silicon Graphics OpenGL for Windows", выручайте. Нужны только 2 файлика от туда: opengl.lib и glu.lib. Возможно вы их найдете у себя на винте здесь: C:\OGLSDK\lib\  или здесь: ...\masm32.
Пожалуйста сбросьте на мыло:  [email protected]  или в аттач или запостите листинги. Заранее благодарен.

PS1: Файлы opengl32.lib и glu32.lib не нужны. 
PS2: Почему-то не могу скачать дистрибутив с www.sgi.com . Может кто знает зеркало?
PS3: Если у кого то есть диск c  SGI OpenGL Performer и прочими силиконовыми приблудами (for Win), подскажите название и издателя. Куплю такой же.
PM MAIL   Вверх
sgi1981
Дата 28.2.2007, 00:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 284
Регистрация: 16.3.2006

Репутация: 7
Всего: 10



Держи друг.

Еще чего-нибудь по OpenGL нужно ?
Могу выложить подключаемые файлы для OpenGL именно для ассемблера FASM.

Я кстати сейчас занимаюсь написанием DLL-библиотеки на FASM, в которую будут включены все функции GLTools (работа над векторами, матрицами, система камер и актеров, рисования геометрических тел и др.).
Цитата

Если у кого то есть диск c  SGI OpenGL Performer и прочими силиконовыми приблудами (for Win), подскажите название и издателя.

у меня есть диск, купленный с книгой "OpenGL. Суперкнига, 3-е изд."

Присоединённый файл ( Кол-во скачиваний: 233 )
Присоединённый файл  OpenGL_and_Glu_libs.zip 11,54 Kb


--------------------
Тело в нашем пространстве - есть часть пространства, в которой пространство обладает дисторсией относительно внешнего пространства.
PM MAIL   Вверх
timself
Дата 1.3.2007, 01:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 14.2.2007

Репутация: нет
Всего: нет



Больщое тебе спасибо, sgi1981 , что откликнулся, но к сожалению ты приаттачил не те файлы. В твоем архиве opengl32.lib и glu32.lib (это дефолтные майкрософтовские), а мне нужны opengl.lib и glu.lib (это силиконовские). Имена похожи, ты видимо перепутал. Глянь еще разок, если не затруднит. 
PM MAIL   Вверх
sgi1981
Дата 1.3.2007, 05:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 284
Регистрация: 16.3.2006

Репутация: 7
Всего: 10



Нету таковых...


--------------------
Тело в нашем пространстве - есть часть пространства, в которой пространство обладает дисторсией относительно внешнего пространства.
PM MAIL   Вверх
timself
Дата 2.3.2007, 00:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 14.2.2007

Репутация: нет
Всего: нет



Тогда ты используешь родной виндовский OpenGL, силиконовый пошустрее будет. Ну ладно, придется видимо поискать файлы в желтом секторе. У них там чего только не найдешь, если не обращать внимание на их каракули.... 
PM MAIL   Вверх
sgi1981
Дата 2.3.2007, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 284
Регистрация: 16.3.2006

Репутация: 7
Всего: 10



Я понял, что ты имеешь DLL-библиотеку OpenGL32.dll.
Ты хочешь сказать, что вместо этой DLL можно использовать DLL от SGI ?
То бишь как это можно сделать ?
Какой набор файлов необходим от Silicon Graphics Inc для использования их OpenGL ?


--------------------
Тело в нашем пространстве - есть часть пространства, в которой пространство обладает дисторсией относительно внешнего пространства.
PM MAIL   Вверх
timself
Дата 3.3.2007, 00:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 14.2.2007

Репутация: нет
Всего: нет



Именно это и хочу сказать. Там совсем другие dll : opengl.dll и glu.dll, они и используются вместо встроенных в Windows opengl32.dll и glu32.dll. Но мне нужны такие же .lib для использования с RadASM.

Полный же пакет лежит в дебрях этих сайтов: www.opengl.org  и/или www.sgi.com , но я почему-то не могу ничего от туда скачать, хотя и зарегистрирован на обоих.

Вот, 10 мин. назад нашел ссылку. Сам еше не скачивал. Написано, что это именно то,чего надо (!!!): 
http://opengl.org.ru:8000/download/libs_files/opengl2.exe
PM MAIL   Вверх
timself
Дата 3.3.2007, 00:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 14.2.2007

Репутация: нет
Всего: нет



Да, вот еще что, на самом деле я не слишком силен в OpenGL. Здесь пример небольшой проги на masm. Может быть ты подскажешь, как сделать, что-то подобное. Может есть похожий исходник..

Присоединённый файл ( Кол-во скачиваний: 33 )
Присоединённый файл  opengl_example.rar 6,20 Kb
PM MAIL   Вверх
sgi1981
Дата 3.3.2007, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 284
Регистрация: 16.3.2006

Репутация: 7
Всего: 10



Знаю, как сделать на FASM.
Сейчас буду делать.


--------------------
Тело в нашем пространстве - есть часть пространства, в которой пространство обладает дисторсией относительно внешнего пространства.
PM MAIL   Вверх
sgi1981
Дата 3.3.2007, 21:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 284
Регистрация: 16.3.2006

Репутация: 7
Всего: 10



Цитата

Здесь пример небольшой проги на masm. Может быть ты подскажешь, как сделать, что-то подобное. Может есть похожий исходник..

Эта программа не экспортирует функции OpenGL. Она не использует OpenGL.
Текст выводится с помощью DrawTextA от gdi32.dll.

Цитата

Вот, 10 мин. назад нашел ссылку. Сам еше не скачивал. Написано, что это именно то,чего надо (!!!): 

скачал я уже этот файл. Спасибо.

Цитата

Там совсем другие dll : opengl.dll и glu.dll, они и используются вместо встроенных в Windows opengl32.dll и glu32.dll.

Хорошо, допустим. Но тогда как быть с импортом функций ? В секции импорта имя DLL библиотеки прописано однозначное.
Например, у меня на FASM в одной из демок было прописано имя библиотеки OpenGL32.dll - работало.
Теперь установил новый Opengl.dll, прописал имя этой библиотеки - тоже работает нормально.
Затем перенес Opengl.dll из системной папки в другой каталог на время, запускаю - не хочет работать.

Есть вариант использовать функции 
LoadLibrary
GetProcAddress
FreeLibrary

Но несколько неудобно.


Это сообщение отредактировал(а) sgi1981 - 3.3.2007, 21:16


--------------------
Тело в нашем пространстве - есть часть пространства, в которой пространство обладает дисторсией относительно внешнего пространства.
PM MAIL   Вверх
sgi1981
Дата 3.3.2007, 23:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 284
Регистрация: 16.3.2006

Репутация: 7
Всего: 10



Я дизассемблировал ту программку и переделал ее исходник под FASM. Значок файла убрал. Работает. Вот она (исходный и исполняемый файлы)...

Присоединённый файл ( Кол-во скачиваний: 17 )
Присоединённый файл  NFOReader_sgi1981.zip 5,65 Kb


--------------------
Тело в нашем пространстве - есть часть пространства, в которой пространство обладает дисторсией относительно внешнего пространства.
PM MAIL   Вверх
timself
Дата 4.3.2007, 01:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 14.2.2007

Репутация: нет
Всего: нет



Спасибо, но твой архив не содержит исходника - только exe. Сбрось, если не затруднит, иначе для меня это бесполезно.

На счет удобства SGI OpenGL не мне судить. Мне это нужно для компиляции некоторых исходников написанных под него. Вполне вероятно, что ты сочтешь его неудобным и продолжишь использование OpenGL32.
PM MAIL   Вверх
timself
Дата 4.3.2007, 02:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 14.2.2007

Репутация: нет
Всего: нет



Да, вот еше что, почему именно flatasm?  У тебя есть русские доки по нему? Я обычно использую masm, т.к. большинство asm-исходников в сети с его синтаксисом. Сам я больше по части Delphi, а ассемблер просто уважаю за сложность и маленький вес exe. Сделал на нем "для смеха" всего одну пустяковую программку.
Если интересно:
http://tim-soft.narod.ru/tcdplayer/
PM MAIL   Вверх
sgi1981
Дата 4.3.2007, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 284
Регистрация: 16.3.2006

Репутация: 7
Всего: 10



Да, точно не содержит. Я тогда почему-то забыл его добавить.
Вот уже вместе с исходным файлом...

Присоединённый файл ( Кол-во скачиваний: 16 )
Присоединённый файл  NFOReader_sgi1981.zip 8,83 Kb


--------------------
Тело в нашем пространстве - есть часть пространства, в которой пространство обладает дисторсией относительно внешнего пространства.
PM MAIL   Вверх
sgi1981
Дата 4.3.2007, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 284
Регистрация: 16.3.2006

Репутация: 7
Всего: 10



Цитата
Да, вот еше что, почему именно flatasm? 

Он мне достался как первая интегрированная среда разработки, которую я искал.
И теперь я привык к Fasm-у.
Вначале были проблемы с непониманием синтаксиса.
Для меня главные отличия в этом синтаксисе от синтаксиса асма в других ассемблерах
1) При описании переменных в сегменте данных - переменные описываются как адресные метки ячеек памяти в сегменте данных. Поэтому, чтобы занести смещение переменной - она указывается без квадратных скобок
Код

mov esi, p1

а если нужно оперировать над значением этой переменной, то так
Код

mov eax, [p1]


2) Потом такое же дело обстоит и с вызовом подпрограмм call [function].
Если function это адрес ячейки памяти, где хранится адрес начала функции, то пишем в [] (call [function]), например, если эта функция экспортируется или значение переменной function получено через GetProcAddress.
Если function является именем функции, которая входит в состав самой программы, то тогда это просто адресная метка на начало подпрограммы, и мы пишем call function.

Оператор sizeof. для получения размера структуры.

Цитата

У тебя есть русские доки по нему?

Нету русских доков. Вместе с инсталлом FASM-а есть документ PDF на английском.

Теперь приведу сравнения.

На счет современного MASM-а я не уточнял. Знаю только лишь то, что писал Виктор Юров в своей книге "Ассемблер. Учебник. 2001"
Он писал, что для разработки WINDOWS-приложения в среде TASM необходимо такие вещи
**********************************
1) исходник
2) подключаемый файл с описанием данных и констант.
3) файл с библиотекой импорта "*.lib". Этот файл необходим компоновщику для разрешения внешних ссылок на функции DLL-библиотек
4) файл с описанием ресурсов
5) компилятор ресурсов (brc32.exe или brcc32.exe). Компиляторы взяты из пакета C/C++ фирмы Inprise.
6) Файл makefile и утилита make.exe. Для облегчения труда в общем.
Приведенный список файлов, неоходимых для сборки Windows-приложения, может повергнуть в ужас читателя.
**********************************
Я не знаю что там теперь в MASM-е надо, но в FASM-е все-е-е намного проще !
Исходник ты пишеш сам, ну разумеется само собой.
Подключаемые файлы уже готовые вместе с инсталлом FASM идут. Правда при необходимости нужно кое-чего добавлять туда, разумеется там только самое главное для программирования под Винду.
Файлы со структурами и константами, имеющиеся в пакете FASM 1.65.17.
Comctl32.inc
Comdlg32.inc
Gdi32.inc
Kernel32.inc
Shell32.inc
User32.inc
Wsock32.inc
Файл с библиотекой импорта вообще не нужен там тебе.
Ресурсы можно описывать прямо в исходнике.
Компилятор ресурсов тоже не нужен, сам FASM компилирует все.
На счет файлов makefile даже не знаю, никогда не использовал, может они там и не используются.

Скелет твоего исходника такой
*************************************
Код


;Это будет исходник для исполняемого файла формата PE.
format PE GUI 4.0
entry start

include 'win32a.inc'
;**********************
;другие подключаемые файлы
;**********************
;**********************
;константы и структуры
;**********************
section '.data' data readable writeable

;**********************
;секция данных
;**********************
 
section '.code' code readable executable

;**********************
;секция кода
;**********************

section '.idata' import data readable writeable
;Секция импорта
  library kernel,'KERNEL32.DLL',\
      user,'USER32.DLL',\
      gdi,'GDI32.DLL'

include 'Apia\kernel32.inc'
include 'Apia\user32.inc'
include 'Apia\gdi32.inc'

;Если надо - указываем еще библиотеки, только вместе всё.

section '.rsrc' resource data readable
;Секция описания ресурсов
;например, ниже приведен пример этой секции
  ; resource directory
  directory RT_MENU,menus,\
        RT_ICON,icons,\
        RT_GROUP_ICON,group_icons,\
        RT_VERSION,versions

  ; resource subdirectories

  resource menus,\
       37,LANG_ENGLISH+SUBLANG_DEFAULT,main_menu

  resource icons,\
       1,LANG_NEUTRAL,icon_data

  resource group_icons,\
       17,LANG_NEUTRAL,main_icon

  resource versions,\
       1,LANG_NEUTRAL,version

  menu main_menu
       menuitem '&File',0,MFR_POPUP
        menuitem '&New',IDM_NEW
        menuseparator
        menuitem 'E&xit',IDM_EXIT,MFR_END
       menuitem '&Help',0,MFR_POPUP + MFR_END
        menuitem '&About...',IDM_ABOUT,MFR_END

  icon main_icon,icon_data,'minipad.ico'

  versioninfo version,VOS__WINDOWS32,VFT_APP,VFT2_UNKNOWN,LANG_ENGLISH+SUBLANG_DEFAULT,0,\
          'FileDescription','MiniPad - example program',\
          'LegalCopyright','No rights reserved.',\
          'FileVersion','1.0',\
          'ProductVersion','1.0',\
          'OriginalFilename','MINIPAD.EXE'
 




--------------------
Тело в нашем пространстве - есть часть пространства, в которой пространство обладает дисторсией относительно внешнего пространства.
PM MAIL   Вверх
timself
Дата 5.3.2007, 00:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 14.2.2007

Репутация: нет
Всего: нет



Благодарю за обильную информацию о FASM, делаюшую очевидными некоторые его приемущества.
Пошел скачивать его на wasm.ru, искать дополнительную информацию и разбираться.

Насчет последнего masm могу сказать, что в сочетании с надстройкой RadASM он становится просто архиудобным, а с одновременным применением редактора rc-ресурсов ResED, вообше превращается в визуальную среду программирования.
PM MAIL   Вверх
sgi1981
Дата 5.3.2007, 01:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 284
Регистрация: 16.3.2006

Репутация: 7
Всего: 10





--------------------
Тело в нашем пространстве - есть часть пространства, в которой пространство обладает дисторсией относительно внешнего пространства.
PM MAIL   Вверх
timself
Дата 5.3.2007, 23:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 14.2.2007

Репутация: нет
Всего: нет



Насчет последней ссылки. Начитался месяц назад на одном форуме восторженных отзывов, скачал winasm со всеми довесками, убил два дня, но кроме разочарования ничего не приобрел.
PM MAIL   Вверх
timself
Дата 6.3.2007, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 14.2.2007

Репутация: нет
Всего: нет



Чем ты дизассемблировал программу, чтобы получить пригодный для рекомпиляции код? Я попробовал win32dasm, но он выдает чудовищный по объему листинг, применимый только разве что для анализа.
PM MAIL   Вверх
sgi1981
Дата 6.3.2007, 15:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 284
Регистрация: 16.3.2006

Репутация: 7
Всего: 10



Дизассемблер
ida_pro_4.8.0.847
42,6 МБ
http://hitmobile.net.ua/files/MOBILE-WORLD...dvanced_full.7z

Это сообщение отредактировал(а) sgi1981 - 6.3.2007, 15:20


--------------------
Тело в нашем пространстве - есть часть пространства, в которой пространство обладает дисторсией относительно внешнего пространства.
PM MAIL   Вверх
timself
Дата 6.3.2007, 23:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 14.2.2007

Репутация: нет
Всего: нет



Йоу! Почти полста метров! Придется тянуть в несколько заходов.
PM MAIL   Вверх
sgi1981
Дата 10.3.2007, 13:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 284
Регистрация: 16.3.2006

Репутация: 7
Всего: 10



Я составил свою демо-программу на ассемблере FASM, демонстрирующую рисование объектов с помощью OpenGL.
Основные приемы управления камерой реализованы мной.

В начале работы программы осуществляется диалог через диалоговое окно и пользователь выбирает необходимый видеорежим и другие опции. После подтверждения настроек:
Рисуется земля.
Рисуются случайным образом расположенные сферы (генератор псевдослучайных чисел) и дуэт тора и вращающейся вокруг него сферы.
Рисуются оси системы координат MODELVIEW.
В левом нижнем углу отображается текущая частота обновления сцены.
Камерой можно управлять клавишами управления курсором (перемещение камеры) и мышью (поворот камеры). При удерживании клавиши движение камеры происходит плавно и с ускорением.

EXE-файл использует DLL-файл, который также мною был создан (на асме FASM).

Размер EXE = 16,0 КБ
Размер DLL = 13,5 КБ

с учетом того, что в EXE файле находится дополнительная инфа (ресурсы иконки, диалога).

Я хочу испытать эту прогу на других компах.
У меня в компе видеокарта уже старая (GeForce2 MX/AGP/SSE2).
При разрешении видео 1024*768*32*100 выдавала 50 обновлений сцены за секунду.
А при том же разрешении но на большем расстоянии может давать 100 обновлений сцены.

Если интересно - может протестировать. А потом сообщи...
Там еще у меня нет возможности режима рендеринга с "множественной выборкой". Так что интересно, как там на других компах оно будет.
Я собираюсь составлять кое-что с использованием OPENGL, и оно должно работать на других компах. Не хочется, чтобы оно сбоило. Иначе...

И еще. Ты можешь сам собрать эту прогу. Исходники я прилагаю.
Основной вес - изображения. Там три файла TARGA с текстурами.
Плюс дополнительные подключаемые файлы с описанием функций и констант, без них тебе не обойтись, если этого нет.

Весь архив = 816 КБ.
http://sgi.bigtruck-canada.ca/OpenGL/DPOpenGLsgi1981.zip


--------------------
Тело в нашем пространстве - есть часть пространства, в которой пространство обладает дисторсией относительно внешнего пространства.
PM MAIL   Вверх
timself
Дата 14.3.2007, 00:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 14.2.2007

Репутация: нет
Всего: нет



Щас скачаю, посмотрю твоё творение.
PM MAIL   Вверх
timself
Дата 14.3.2007, 00:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 14.2.2007

Репутация: нет
Всего: нет



Нитересное демо. При желании и умении можно превратить в какую-нибудь несложную игру типа xonix. Таккже интересный момент, что движение сильно ускоряется если держать нажатой кнопку "вперед". Это так специально сделано?
У меня на FX 5700 идет нормально. При 1024*768*32*85   FPS держится на 85.
Как ты собираешься дальше развивать эту программу?
PM MAIL   Вверх
sgi1981
Дата 14.3.2007, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 284
Регистрация: 16.3.2006

Репутация: 7
Всего: 10



Цитата(timself @ 14.3.2007,  00:50)
Таккже интересный момент, что движение сильно ускоряется если держать нажатой кнопку "вперед". Это так специально сделано?

Ага. Специально я так сделал, чтобы было ускорение. Еще там есть в сегменте данных переменная хранящая значение этого ускорения.

Цитата

У меня на FX 5700 идет нормально. При 1024*768*32*85   FPS держится на 85.

Вообще это демо не особо нагружает твою видуху. А FPS система держит специально не больше частоты обновления экрана. Пусть там была бы даже в два раза сложнее сцена, FPS был бы таким же.
Цитата

Как ты собираешься дальше развивать эту программу?

Дальше я буду добавлять новые функции в DLL, и составлю еще некоторые DLL-библиотеки. Одна из них - будет рендерером карт игры Blade of Darkness - первым движком. В конечном итоге нужно сделать 3D-редактор карт для этой игры. Редактор должен уметь отображать карту в ее реальном трехмерном виде в режиме редактирования. Стандартный редактор карт для этой игры в режиме редактирования отображает только горизонтальную проекцию в виде чертежа и это неудобно.
Стандартный редактор карт этой игры сохраняет файл карты в формате MP. Этот формат я практически расшифровал, да и расшифровать было не тупиково. Я строил простейшие карты, сохранял их, затем изменял эти карты и сохранял измененные под другими именами, а потом сравнивал содержимое обоих файлов в шестнадцатеричном виде, обнаруживались разницы между числами и можно было догадаться что эти числа задают, и смотрел где какие числа в файле что задают.
Но движок карт этой игры понимает карты в формате BW. Чтобы получить BW-файл нужно компилировать MP-файл. Поэтому я расшифровал также BW-формат. Поначалу мне показалось что он очень сложный для того чтобы догадаться как там хранится инфа описывающая карту. Но все равно я успешно его расшифровал, правда с большей морокой. 
Я понял одну вешь. В формате BW могут быть описаны такие геометрии карт, которые не опишешь в формате MP. В формате MP каждый сектор имеет пол, потолок и стены. Это задается пользователем создающим карту. В формате BW задаются полигоны, и без разницы, что это пол, потолок или стена, все полигоны задаются по одним и тем же правилам, разница только в наличии одного, нескольких порталов или сам полигон является порталом или он является нулевой текстурой для неба.

Но тот компилятор стандартный довольно медленно компилирует. Среднюю карту из 1500 секторов он компилирует 2.5 мин. Я уверен, что компиляция может происходить за несколько секунд, будь если он этот компилятор создан мною.

Я буду создавать свой компилятор карт Блейда. И посмотрю, как мой "запашет" и чего он натворит.

Мой сайт 
http://sgi.bigtruck-canada.ca
 
Сама игра Blade of Darkness выпущена Rebel Act Studios еще давно и продается с 2001 года.

Добавлено @ 14:04 
А вот еще одна из тем форума по этой игрухе, где я сообщал
http://forum.ogl.ru/read/1049341366/0


--------------------
Тело в нашем пространстве - есть часть пространства, в которой пространство обладает дисторсией относительно внешнего пространства.
PM MAIL   Вверх
timself
Дата 15.3.2007, 00:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 14.2.2007

Репутация: нет
Всего: нет



К сожалению я ничего не знаю про игру Blade of Darkness. Судя по названию это фэнтазийная ролевуха?
Последнее, что я проходил от начала и до конца были Heroes V и NFS Carbon. Я вот подумал, что из твоей демки вышла бы неплохая аркадная леталка или гонка.

На твое сайте лежит прога, ка я понял, пакующая картинки в MMP. А для чего это надо, что это за формат?

Вчера пересобрал один игровой исходничек (типа socoban), добавил возможность в любой момент перейти на следующий уровень, заменил все текстуры, англофицировал (не люблю когда по русски). Получилось слегка по-фашистски, но это просто текстуры такие попались и пошло, поехало.. smile))

Вот держи: 



Присоединённый файл ( Кол-во скачиваний: 7 )
Присоединённый файл  BormanSocoban.exe 49,50 Kb
PM MAIL   Вверх
sgi1981
Дата 15.3.2007, 01:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 284
Регистрация: 16.3.2006

Репутация: 7
Всего: 10



Цитата

На твое сайте лежит прога, ка я понял, пакующая картинки в MMP. А для чего это надо, что это за формат?

Это файлы текстур для той игры. Текстуры в них могут быть насколько мне известно в трех форматах:
8-битный формат пикселов (с палитрой)
24-битный формат пикселов (true color)
32-битный формат пикселов (true color alpha)

Стандартным компилятором текстур пользоваться неудобно в виду того, что необходимо постоянно писать скрипт на Python для каждой сборки.
Формат MMP не сложный.
К тому же расшифровал я его благодаря исходникам программы одного человека SlayerDDD.


--------------------
Тело в нашем пространстве - есть часть пространства, в которой пространство обладает дисторсией относительно внешнего пространства.
PM MAIL   Вверх
timself
Дата 15.3.2007, 23:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 14.2.2007

Репутация: нет
Всего: нет



Слушай, ты случайно не сталкивался в асме с вызовом системного миксера? Это в файлах winmm.lib и winmm.inc.
PM MAIL   Вверх
sgi1981
Дата 16.3.2007, 01:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 284
Регистрация: 16.3.2006

Репутация: 7
Всего: 10



Импортируй библиотеку WINMM.DLL и используй функции
waveOutGetVolume
возвращает громкость колонок (правой и левой) в двойном слове. Это двойное слово должно быть задано по его адресу.
waveOutSetVolume
устанавливает громкость колонок (правой и левой) из двойного слова. Это двойное слово должно быть задано по его адресу.
Первый параметр функций ставь 0.
Второй параметр задает громкость каждой колонки.
Младшее 16-битное слово второго параметра задет громкость основной (правой) колонки.
Старшее 16-битное слово второго параметра задет громкость вспомогательной (левой) колонки.
Пример : уменьшаем громкости обеих колонок на 6,3 %
Код FASM.
Код

Volume dd 0
;*****************************
invoke waveOutGetVolume,0,Volume;
mov eax,[Volume];
sub ax,4000;
ja @p8898_4878;
xor ax,ax;
@p8898_4878:
rol eax,16;
sub ax,4000;
ja @p8898_4879;
xor ax,ax;
@p8898_4879:
rol eax,16;
invoke waveOutSetVolume,0,eax;  

;****************************************

library kernel32,'KERNEL32.DLL',\
          user32,'USER32.DLL',\
          gdi32,'GDI32.DLL',\
          winmm,'WINMM.DLL'

include 'Apia\kernel32.inc'
include 'Apia\user32.inc'
include 'Apia\gdi32.inc'

import winmm,waveOutGetVolume,'waveOutGetVolume',waveOutSetVolume,'waveOutSetVolume'     


Это сообщение отредактировал(а) sgi1981 - 16.3.2007, 01:59


--------------------
Тело в нашем пространстве - есть часть пространства, в которой пространство обладает дисторсией относительно внешнего пространства.
PM MAIL   Вверх
timself
Дата 17.3.2007, 00:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 14.2.2007

Репутация: нет
Всего: нет



Понимаешь в чем дело, здесь есть одно но: waveOutSetVolume никак не влияет на громкость при проигрывании Audio-CD дисков (а мне именно это и надо). Тут нужно использовать mixerSetControlDetails, а в ней всё устроено по-другому. У меня ничего не выходит.

PS: Я нашел одно замечательное демо (OpenGL). Такой кайф всего в 6 kb. 


Присоединённый файл ( Кол-во скачиваний: 5 )
Присоединённый файл  mental.exe 6,00 Kb
PM MAIL   Вверх
sgi1981
Дата 17.3.2007, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 284
Регистрация: 16.3.2006

Репутация: 7
Всего: 10



В этом демо код упакован.


--------------------
Тело в нашем пространстве - есть часть пространства, в которой пространство обладает дисторсией относительно внешнего пространства.
PM MAIL   Вверх
timself
Дата 18.3.2007, 01:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 14.2.2007

Репутация: нет
Всего: нет



Да, ты прав. У меня есть 8 версий UPX и ни одна из них ее не распаковывает.
PM MAIL   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm: Общие вопросы"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1630 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.