Сейчас на форуме: _MBK_, UniSoft, laslo, bartolomeo (+5 невидимых) |
eXeL@B —› Программирование —› Разбор формата файлов в игре. |
Посл.ответ | Сообщение |
|
Создано: 07 августа 2011 12:55 · Личное сообщение · #1 Мало занимался такой темой, да вот понадобилось. Файл с графикой игра разжимает в память. После чего эту память кусками кормит в DDRAW. Но куски без заголовков, просто набор байт: Code:
Мне кажется что это Bitmap, но как узнать какого формата и как это дело вообще посмотреть? Как редактировать? Кто кодит под DDRAW - что это за формат? ----- Yann Tiersen best and do not fuck |
|
Создано: 07 августа 2011 13:45 · Личное сообщение · #2 |
|
Создано: 07 августа 2011 13:54 · Личное сообщение · #3 |
|
Создано: 07 августа 2011 14:00 · Личное сообщение · #4 ddraw это ж поверхность, а не формат и она настраивается через api call если и грузится палитра то отдельно поэтому что бы узнать в каком формате нужно слогировать апи вызовы и посмотреть под какой формат настраивается эта самая поверхность http://www.gamedev.ru/code/terms/DXDebug хотя нельзя исключать и вариант того что ктото сразу угадает формат |
|
Создано: 07 августа 2011 14:21 · Личное сообщение · #5 |
|
Создано: 07 августа 2011 14:28 · Поправил: reversecode · Личное сообщение · #6 |
|
Создано: 07 августа 2011 15:23 · Поправил: vden · Личное сообщение · #7 PE_Kill пишет: После чего эту память кусками кормит в DDRAW там скорее всего эти куски пишутся в новосозданные поверхности, т.е. тебе нужно подсмотреть описание этих поверхностей (lpDDSurfaceDesc) когда вызвается CreateSurface, примерно так: Code:
|
|
Создано: 07 августа 2011 19:20 · Поправил: ToBad · Личное сообщение · #8 PE_Kill что-бы узнать битмап или нет, можно воспользоватся другой утилиткой от Рустама. 4e8b_07.08.2011_EXELAB.rU.tgz - imggrab.rar p.s. Что за игра если не секрет? |
|
Создано: 07 августа 2011 22:35 · Поправил: PE_Kill · Личное сообщение · #9 vden ну да нашел такое: Code:
О чем это говорит? ADD: Я так понимаю мне нужно увидеть установку поля ddpfPixelFormat.dwRGBBitCount? Но я не нашел его заполнения, выходит, что после memset оно равно 0. ----- Yann Tiersen best and do not fuck |
|
Создано: 07 августа 2011 23:23 · Поправил: reversecode · Личное сообщение · #10 формат сарфеса может менятся дальше, а это просто инициализация что бы работать с "хендлом" тебе нужно найти chm от DirectX SDK и дамп апи вызовов для этой игры, что бы уже разобратся какая апи устанавливает формат, и какой это формат там ведь наверняка в игрухе есть опции которые меняют разрешения екрана, а значит меняется и формат http://vertexland.narod.ru/data/directx.htm |
|
Создано: 08 августа 2011 02:40 · Поправил: PE_Kill · Личное сообщение · #11 ToBad спасибо за наводку, рустему спасибо за утиль. С помощью него выяснил, что это 16 битные бимапы без заголовков. Буду копать дальше. vden спасибо за пример кода, теперь я понял как нарезается память под картинки, ширина, высота и прочее. Ты был прав, сначала создаются поверхности. Потом в цикле лочатся, заполняются и анлочатся. ----- Yann Tiersen best and do not fuck |
|
Создано: 08 августа 2011 11:05 · Поправил: vden · Личное сообщение · #12 |
|
Создано: 08 августа 2011 14:16 · Личное сообщение · #13 |
|
Создано: 09 августа 2011 20:11 · Личное сообщение · #14 |
|
Создано: 10 августа 2011 00:40 · Личное сообщение · #15 |
eXeL@B —› Программирование —› Разбор формата файлов в игре. |