[ Сообщений: 91 ]  На страницу 1, 2, 3, 4  След.
REZFILE - DooM, Casper, Wolfenstein 3D... 
Автор Сообщение
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U

Гляньте, что я нашел:
http://www.burgerbecky.com/burgerlib/docs/class_burger_1_1_rez_file.htm
Вроде как описание формата файла REZFILE и, как и у нас, с заголовком BRGR! Burger то есть. :du_ma_et: Правда я там ничего не понимаю. Можно ли эту инфу как-нибудь использовать для распаковки нашего rezfile?


31 июл 2014, 12:19
Аватара пользователя
Приставочник
Приставочник

Группа: Разработчики
Сообщения: 1211
Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J

Versus, я бы сказал это не описание формата файла, а описание всей библиотеки BurgerLib с её функциями, процедурами и переменными. Как я понял там можно скачать SDK этой библиотеки и соответственно собрав её копаться в файлах REZFILE. Круто!

http://www.burgerbecky.com/burgerlib/do ... nstall.htm


31 июл 2014, 12:29
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U

Author
Меня аж затрусИло. :bra_vo: А можешь посмотреть?


31 июл 2014, 12:30
Аватара пользователя
Ужас, летящий на крыльях ночи!
Ужас, летящий на крыльях ночи!

Группа: Разработчики
Сообщения: 9069
Регистрация: 17 май 2010, 01:04
Модель 3DO: Panasonic FZ-10 NTSC-U

Пахнет чем-то интересным Изображение


31 июл 2014, 12:32
Аватара пользователя
Приставочник
Приставочник

Группа: Разработчики
Сообщения: 1211
Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J

Versus, гляну что там предлагается. Может всё не так страшно :)


31 июл 2014, 12:33
Аватара пользователя
Специалист
Специалист

Группа: Разработчики
Сообщения: 1298
Регистрация: 04 дек 2009, 12:15
Модель 3DO: Нет

Я тоже пока ничего не понимаю. Но при беглом осмотре сайта нашёл это: http://www.burgerbecky.com/burgerlib/do ... efines.htm а именно BURGER_3DO has been removed. :(


31 июл 2014, 12:33
Аватара пользователя
Приставочник
Приставочник

Группа: Разработчики
Сообщения: 1211
Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J

aliast, по идее должно хватить и версии для Винды. Главное чтобы структуры те же были.

......

В общем глянул, что в архиве. А там библиотеки в файлах lib, которые можно цеплять к проекту на C++ через файлы header'ов "*.h", "*.hpp". Получается нужно разбираться в работе библиотеки, используя руководство выложенное на том же сайте, чтобы в итоге написать утилиту распаковки/запаковки REZFILE'ов.

Кто хорошо владеет C? Надо проверить, что данные описанные ниже действительно стыкуются с форматом заголовка REZ файла из 3DO'шного Дума/
-----------------------------
typedef struct RezHeader_t {   /* Master entry to the resource manager */
   void (BURGER_API *DecompPtrs[3])(Word8 *,Word8 *,Word32,Word32);   /* Decompressors */
   Word32 Count;   /* Number of resource groups */
   Word32 RezNameCount; /* Number of resource names */
   void *fp;      /* Open file reference */
   struct RezGroup_t **GroupHandle;   /* First entry */
   struct RezName_t **RezNames;      /* Handle to resource names if present */
   Word Flags;   /* Flags on how to handle resources */
} RezHeader_t;

---------------------------

Последний раз редактировалось Author 31 июл 2014, 12:49, всего редактировалось 1 раз.



31 июл 2014, 12:37
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U

Как я понял, если C++ знаешь, то это сделать недолго?


31 июл 2014, 12:48
Аватара пользователя
Приставочник
Приставочник

Группа: Разработчики
Сообщения: 1211
Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J

Versus, не знаю. Но, если не использовать весь функционал библиотеки, что наверное так и есть, то при хороших навыках это не должно слишком затянуться. Единственное, что меня смущает, это дружба библиотеки с DirectX9, наличие связи с OGG форматом...может различия серьёзные какие есть по сравнению с 3DO версией??

Есть ещё вариант. Написать по адресу becky@burgerbecky.com и попросить версию библиотеки для 3DO. Обращаться видимо надо к Rebecca Ann Heineman, главная программистка.

Цепляется библиотека к проекту вот так:

#ifndef __BURGER__         
#include <burger.h>
#endif


Дальше надо пробовать вызывать обработчики...


31 июл 2014, 12:50
Аватара пользователя
Специалист
Специалист

Группа: Разработчики
Сообщения: 1298
Регистрация: 04 дек 2009, 12:15
Модель 3DO: Нет

Author писал(а):
по идее должно хватить и версии для Винды. Главное чтобы структуры те же были.

СТОП! А разве в PC-версии Killing Time не такой же формат REZ-файла?! Для KT есть распаковщик: http://www.ctpax-x.org/?goto=files&show=123 только в PC-версии байты перевернутые. Исходники там есть, надо просто добавить перевертыш байтов. Вот только исходники на асме :)


31 июл 2014, 13:12
Аватара пользователя
Приставочник
Приставочник

Группа: Разработчики
Сообщения: 1211
Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J

aliast, для 4х байтного значения свап по идее работает так:

asm
  mov eax,data
  bswap eax
  mov data,eax
end;


У меня нет думовского Rez'a под рукой, а за утилиту спасибо!

Добавил файл с изменённым исходником на Delphi, скомпиленным obj файлом в FASM'e и готовым exe'шником. Можно поиграться, но думаю, что остальные данные тоже должны быть обработаны свапом. А там они читаются через указатели в память. В общем если потратить время, то можно полный свап данных сделать, а пока должно вытягивать файлы правильных размеров, но не читаемые (неправильный endian) их редакторами/плеерами.


У вас нет необходимых прав для просмотра вложений в этом сообщении.


31 июл 2014, 13:25
Аватара пользователя
Специалист
Специалист

Группа: Разработчики
Сообщения: 1298
Регистрация: 04 дек 2009, 12:15
Модель 3DO: Нет

Не работает, он сигнатуру BRGR тоже свопит. Пробовал в самом REZ менять заголовок на RGRB, почему-то не помогает :(


31 июл 2014, 15:31
Аватара пользователя
Приставочник
Приставочник

Группа: Разработчики
Сообщения: 1211
Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J

aliast, интересно зачем они свопят BRGR??? В дельфёвой части ничего такого нет. Ох, блин. А какие вообще результаты? Хоть что-то генерит на выходе, нет? А без моих правок, оригинальной утилитой пробовал?


31 июл 2014, 15:58
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U

Author писал(а):
Написать по адресу becky@burgerbecky.com и попросить версию библиотеки для 3DO.

Написал.
Author писал(а):
если не использовать весь функционал библиотеки

А весь и не нужен. Нам нужен decompress и compress.

Добавлено спустя 2 минуты 47 секунд:
Versus писал(а):
Написал.

Письмо не дошло... :cry_ing:


31 июл 2014, 16:07
Аватара пользователя
Специалист
Специалист

Группа: Разработчики
Сообщения: 1298
Регистрация: 04 дек 2009, 12:15
Модель 3DO: Нет

Author
Да он выдаёт ошибку wrong archive, а исходя из исходников это происходит из-за несовпадения первых 4 байт со строкой 'BRGR' Может я что-то не так делаю. Оригинал KILLTIME.REZ распаковывает.


31 июл 2014, 16:37
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U

А в оригинале KILLTIME.REZ какой заголовок?


31 июл 2014, 16:47
Аватара пользователя
Специалист
Специалист

Группа: Разработчики
Сообщения: 1298
Регистрация: 04 дек 2009, 12:15
Модель 3DO: Нет

Такой же: BRGR. Непонятно одним словом.


31 июл 2014, 16:59
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U

Веду переписку с Rebecc-ой. :pisa_tel:


31 июл 2014, 18:58
Аватара пользователя
Специалист
Специалист

Группа: Разработчики
Сообщения: 1298
Регистрация: 04 дек 2009, 12:15
Модель 3DO: Нет

А эту видяшку видели, да?
A possibility to rip the game data of Killing Time with XWE?

Но Думовский rez этой прогой не открыть, я попробовал.


31 июл 2014, 20:21
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U

Видели. И даже попытались наступить на грабли. :-)


31 июл 2014, 21:32
Аватара пользователя
Специалист
Специалист

Группа: Разработчики
Сообщения: 1298
Регистрация: 04 дек 2009, 12:15
Модель 3DO: Нет

Формат файла очень простой, но я пока не смотрел есть ли там упаковщики какие-то или никакого сжатия нет? А формат файла следующий.
0x0    string[4] 'BRGR'
0x4    4 байта - версия файла?
0x8   4 байта - длина таблицы оффсетов
0xC   4 байта - единица хз что такое
0x10   4 байта - ещё одна единица хз что такое
0x14   4 байта - количество файлов внутри REZfile
Далее пошла таблица оффсетов
0x18   4 байта - смещение к началу файла
0x1C   4 байта - размер файла
0x20   4 байта нулей (NULL)
Длина этой таблицы оффсетов указана выше по смещению 0x8
Сразу после таблицы и до самого конца идут собственно данные.

Но есть кое-какие нюансы пока мной неизученные. Например, смещение к началу первого файла выглядит так: 80 00 16 44. Файл должен начинаться со смещения 16 44, а что такое 80 00 загадка. В Killing time та же шляпа, только там 20 00 вместо 80 00. Может какие-то флаги сжатия данных?


31 июл 2014, 22:07
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U

aliast
Может, задам глупый вопрос, но все же.
aliast писал(а):
0x14 4 байта - количество файлов внутри REZfile

Как эти байты перевести в количество?


31 июл 2014, 22:56
Аватара пользователя
Специалист
Специалист

Группа: Разработчики
Сообщения: 1298
Регистрация: 04 дек 2009, 12:15
Модель 3DO: Нет

Versus писал(а):
Как эти байты перевести в количество?

У меня в Думовском REZ там написано 00 00 01 D9 . Берем виндовый калькулятор, вводим в HEX-режиме 1D9, получаем в 10-ом виде число 473. 473 файла в архиве. А что было непонятно?


31 июл 2014, 23:20
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U

aliast писал(а):
А что было непонятно?

Не было. Я ж нуб в этом. :nez-nayu: Спасибо за ответ. :-):


01 авг 2014, 00:00
Аватара пользователя
Ужас, летящий на крыльях ночи!
Ужас, летящий на крыльях ночи!

Группа: Разработчики
Сообщения: 9069
Регистрация: 17 май 2010, 01:04
Модель 3DO: Panasonic FZ-10 NTSC-U

aliast писал(а):
У меня в Думовском REZ там написано 00 00 01 D9. 473 файла в архиве


А с 00 00 19 CC начинаются адреса начальных точек этих файлов, которые лежат друг на дружке как бургер Изображение
Изображение
Пока непонятно для чего там между ними местами находятся всякие типа 00 00 10 C0 или просто 00 00 00 00 :du_ma_et:


01 авг 2014, 08:11
Аватара пользователя
Приставочник
Приставочник

Группа: Разработчики
Сообщения: 1211
Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J

aliast, я думаю, что данные упакованы, т.к. файл и без того маленький - всего 4.5 мегабайта.

Структуры видимо отличаются. Т.к. вытаскивается какая-то фигня к тому же файлов всего 153, общим объёмом 1.4 Мб.


У вас нет необходимых прав для просмотра вложений в этом сообщении.


01 авг 2014, 09:15
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U

Author
А как юзается утилита?


01 авг 2014, 09:26
Аватара пользователя
Приставочник
Приставочник

Группа: Разработчики
Сообщения: 1211
Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J

Versus в папку с прогой кидаем REZFILE из Дума и переименовываем в KILLTIME.REZ, запускаем exe'шник и готово.


01 авг 2014, 09:27
Аватара пользователя
Ужас, летящий на крыльях ночи!
Ужас, летящий на крыльях ночи!

Группа: Разработчики
Сообщения: 9069
Регистрация: 17 май 2010, 01:04
Модель 3DO: Panasonic FZ-10 NTSC-U

Author писал(а):
Versus в папку с прогой кидаем REZFILE из Дума и переименовываем в KILLTIME.REZ, запускаем exe'шник и готово.
А с Каспером такой фокус сработает? :du_ma_et:


01 авг 2014, 09:31
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U

Да, какая-то муть. На win7 прога крашится. Распаковывает файлы и крашится.

Добавлено спустя 2 минуты 13 секунд:
ПАУК писал(а):
А с Каспером такой фокус сработает?

Нет. Создает 2 файла: 1.5Gb и 400Mb и краш.


01 авг 2014, 09:32
На страницу 1, 2, 3, 4  След.
© 2008-2024 «3DOPLANET.ru». Создано на основе phpBB® Forum Software © phpBB Group
Designed by ST Software || Русская поддержка phpBB || Time : 0.070s | 22 Queries | GZIP : On