1

 


Правила форума

Правила, действующие в этом форуме и всех его подфорумах:

1) Запрещена реклама в любых её проявлениях (сразу бан без предупреждения)!
2) Мат тоже не приветствуется на форуме, но иногда можно выразить свои чувства ( лучше заменяйте матные слова точками, пробелами, другими буквами)!
3) Категорически запрещается унижать, посылать, издеваться над участниками форума! Мы здесь все - одна большая и дружная семья! Поэтому за нарушение этого правила автоматически будем банить!
4) Разрешены ссылки на информацию, которые относятся к тому или иному разделу форума!
5) Ссылки не в тему будут удаляться и пользователь получит предупреждение или будет забанен!
6) Пользователям разрешено задавать любые вопросы относящиеся к теме, а мы все дружно ответим на эти вопросы. А также отвечать на вопросы и высказывать своё мнение.
7) Повторные темы, которые будут создаваться, будут удалены! Создавайте темы, удостоверившись, что такой темы нет на форуме!
8) Запрещён флуд во всех его проявлениях, сообщения не по теме, сообщения состоящие из одного или нескольких смайликов без текста, сообщения типа - Вах!, Рулез!, Круто! и т.п. Пользуйтесь пожалуйста кнопкой [EDIT], не плодите бессодержательные сообщения.
9) Использование смайликов разрешается не более 3-х подряд!

Добро пожаловать на наш форум!



Ответить на тему  [ Сообщений: 75 ]  На страницу Пред.  1, 2, 3  След.
Спрайты Killing Time PC и 3DO версии 
Автор Сообщение
Аватара пользователя
Специалист
Специалист

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

Всё, текстуры походу найдены! Предварительная инфа: представляют собой набор cel-картинок размером 32х32, запихнутых в контейнер CARY. В настоящий момент нет просмотрщика\конвертера из CARY в CEL, но сам формат на первый взгляд несложен. Вот одна из картинок, распакованных руками в HEX-редакторе.
Изображение Изображение Изображение

Выше полностью распакованный один из файлов ARY, содержащий эти три картинки. Угадайте что это и откуда? Я сам не понимаю)) Также любопытно почему эти три кадра упакованы в один файл CARY, что это значит?..

Последний раз редактировалось aliast 02 июн 2013, 12:35, всего редактировалось 2 раз(а).


_______________________________________
Мой список начатых и пройденных игр (начиная с 26.11.2013): http://www.howlongtobeat.com/user.php?n ... c=list_all


02 июн 2013, 11:59
Профиль
Аватара пользователя
Ужас, летящий на крыльях ночи!
Ужас, летящий на крыльях ночи!

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

aliast
А зачем ты на радикал заливаешь? Там картинки быстро дохнут.
Вроде уже все заливают на http://jpegshare.net/, либо на http://savepic.ru ...

_______________________________________
Изображение
MUTHAFUCKASSSSCAN'TSTOPPPMEEEEEEEEEEE!!!!!!!!!!! Изображение Изображение
Все мы живём в Царствии Небесном, просто слепы и не видим этого.



02 июн 2013, 12:18
Профиль WWW
Аватара пользователя
Лучший обзорщик
Лучший обзорщик

Группа: Разработчики
Сообщения: 915
Регистрация: 24 июн 2010, 16:48
Модель 3DO: Panasonic FZ-10 NTSC-U
Ответить с цитатой
Сообщение 

Настолько мелкие что даже посмотреть не могу :-(
aliast
Спасибо что покопался.Будем искать дальше

_______________________________________
Изображение


02 июн 2013, 14:17
Профиль WWW
Аватара пользователя
Лучший техник
Лучший техник

Группа: Разработчики
Сообщения: 2057
Регистрация: 04 янв 2011, 19:53
Откуда: Украина
Модель 3DO: GoldStar GDO-203P Alive II
Ответить с цитатой
Сообщение 

aliast писал(а):
Угадайте что это и откуда?

Это блошиный цирк с ярмарки! :-)

_______________________________________
иЗвиНиТЕ зА НеРоВНый ПочЕРк!


02 июн 2013, 17:36
Профиль
Аватара пользователя
Я консольный бог
Я консольный бог

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

aliast писал(а):
Предварительная инфа: представляют собой набор cel-картинок размером 32х32, запихнутых в контейнер CARY

А как ты это узнал? :du_ma_et:

_______________________________________
There are 10 types of people in the world: those who understand binary, and those who don't.


03 июн 2013, 10:54
Профиль
Аватара пользователя
Специалист
Специалист

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

1) В некоторых CARY-файлах имелась секция PDAT, но почему-то не во всех... сначала было подумал что там может быть что угодно, не только картинки, но видимо это не так
2) Поиск строк внутри KTшного launchMe, там я нашёл строку ошибки, мол, файл не имеет заголовка "CARY (CelArray)". CelArray! Изучил функцию, в которой встречается эта ошибка. Там просто смещения считывались всякие.
Дальше начал смотреть на имеющиеся cel-картинки, почитал в 3DO SDK про флаги, флаги устанавливали, в частности, для каждого файла наличие секции PLUT. Она обычно имеет размер 4Ch (считая заголовок), а одно из смещений в CARY (то что это смещение я уже понял, но не мог понять на что оно указывает) как раз и имело размер 40h (+ 4 байта заголовок, +4 байта размер заголовка, итого 48h, не хватиало ещё 4 байт). Сделал догадку что первое смещение указывает на секцию PDAT. Открыл HEX-редактор, создал заголовки CCB, PDAT, PLUT, оформил всё как положено, открыл в 3doresexplorer.. сначала был набор точек. Это потому что я PLUT не сразу правильно нашёл. Потом вдруг всё получилось)) Распаковал руками пару файлов, и вот уже нашлись розовые стены из лабиринта! А те текстуры выше хрен поймешь откуда((
3) Ну и помимо всего прочего на том новом сайте 3до юкоз тоже высказали догадку про графический формат файла.

_______________________________________
Мой список начатых и пройденных игр (начиная с 26.11.2013): http://www.howlongtobeat.com/user.php?n ... c=list_all


03 июн 2013, 13:43
Профиль
Аватара пользователя
Я консольный бог
Я консольный бог

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

Благодарю за развернутый ответ! А по какому принципу делать заголовки CCB, PDAT, PLUT и где? Неплохо было бы, если бы ты оформил это дело как пошаговый мануал. Думаю, тут найдется народ, который хочет пощупать это руками.

_______________________________________
There are 10 types of people in the world: those who understand binary, and those who don't.


03 июн 2013, 15:07
Профиль
Аватара пользователя
Специалист
Специалист

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

Вот ещё текстурка: орнамент у двери.
Изображение

_______________________________________
Мой список начатых и пройденных игр (начиная с 26.11.2013): http://www.howlongtobeat.com/user.php?n ... c=list_all


03 июн 2013, 18:10
Профиль
Аватара пользователя
Лучший обзорщик
Лучший обзорщик

Группа: Разработчики
Сообщения: 915
Регистрация: 24 июн 2010, 16:48
Модель 3DO: Panasonic FZ-10 NTSC-U
Ответить с цитатой
Сообщение 

aliast
Воо,вот это уже можно разобрать.Молодец! :co_ol:

_______________________________________
Изображение


03 июн 2013, 20:05
Профиль WWW
Аватара пользователя
Специалист
Специалист

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

Versus писал(а):
А по какому принципу делать заголовки CCB, PDAT, PLUT и где? Неплохо было бы, если бы ты оформил это дело как пошаговый мануал.

Немного путано получилось, может ещё одно видео снять?
Файлы ARY
Массив из нескольких CEL-картинок с текстурами с порезанными заголовками CCB, PDAT, PLUT. Этот формат скорее всего изучен полностью.
typedef struct ARY
{
string CARY; //сигнатура файла CelARraY
int32 start_offset; //смещение к началу первой секции CCB
int32 file_size; //размер файла ARY минус 4 байта
int32 zero1; //нули
int32 offset1; //смещение к началу первой секции CCB
int32 offset2 //смещение к началу второй секции CCB
...
int32 zero2; //нули - обозначают конец таблицы оффсетов
};

Далее идёт секция CCB первой картинки, но заголовок CCB обрезан, нужно восстановить его самим написав вначале: 43 43 42 20 00 00 00 50 00 00 00 00
Здесь 43 43 42 20 = "CCB "
00 00 00 50 = неизменный размер секции в 80 байт (0x50)
00 00 00 00 = нули
Далее идут 68 байт (0x44) из файла ARY, начиная со смещения offset1 до offset2 (должно быть offset2 - offset1 = 0x44)
Секция CCB имеет следующий вид (для дальнейшей распаковки нам понадобятся offset_PDAT и offset_PLUT):
typedef struct CCB
{
string CCB ; //сигнатура секции "CCB " (с пробелом в конце)
int32 CCB_size; //размер секции, всегда равен 0x50
int32 zero1; //нули
int32 flags; //спец. флаги (за подробностями читаем 3DO SDK, а пока просто копируем данные из ARY)
int32 zero2; //нули
int32 offset_PDAT //смещение к секции PDAT применительно к файлу ARY
int32 offset_PLUT //смещение к секции PLUT применительно к файлу ARY
... //дальше лень расписывать, просто копируем данные
};
Сразу после секции CCB идёт секция PDAT, заголовок тоже обычно обрезан. Восстанавливается дописыванием байт: 50 44 41 54 размер_секции_PDAT
Здесь 50 44 41 54 = "PDAT"
размер_секции_PDAT = размер секции PDAT = смещение_к_следующей_секции_PDAT - смещение_к_предыдущей_секции_PDAT
Далее копируем данные из ARY, начиная со смещения offset_PDAT и до смещения offset_PDAT из заголовка CCB следующего файла.
Ну и по аналогии восстанавливаем секцию PLUT, дописав вначале секции: 50 4C 55 54 00 00 00 4C 00 00 00 20
Здесь 50 4C 55 54 = "PLUT"
00 00 00 4C = размер секции PLUT, всегда 0x4C
00 00 00 20 = неизвестный байт 0x20. Скорее всего он всегда равен 0x20 во всех картинках
Копируем данные из ARY, начиная со смещения offset_PLUT и до смещения offset_PLUT из заголовка CCB следующего файла.
Всё - первая картинка распакована. Переходим ко второй.

_______________________________________
Мой список начатых и пройденных игр (начиная с 26.11.2013): http://www.howlongtobeat.com/user.php?n ... c=list_all


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

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

aliast писал(а):
Файлы ARY

:du_ma_et: Ничо не понял :nez-nayu:
Но некоторые буквы знакомы :a_g_a:

_______________________________________
Изображение
MUTHAFUCKASSSSCAN'TSTOPPPMEEEEEEEEEEE!!!!!!!!!!! Изображение Изображение
Все мы живём в Царствии Небесном, просто слепы и не видим этого.



03 апр 2014, 08:48
Профиль WWW
Аватара пользователя
Приставочник
Приставочник

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

aliast, спасибо за приведённый пример и разбор структуры файлов. Блин, вот ведь как заморачивались люди чтобы сэкономить объём информации.


03 апр 2014, 10:43
Профиль
Аватара пользователя
Специалист
Специалист

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

ПАУК писал(а):
Ничо не понял

Тестовая версия распаковщика ARY в CEL. Некоторые файлы выходят битые, это потому что у них размер нестандартный - разбираюсь как с ними быть.
http://rusfolder.com/40331224
Тестировал на 58.ary - берёзки из стартовой зоны распаковались на ура :)
PS: нежданчик! Из файла 64.ary достались те же самые текустурки что и в 58.ary, но с разрешением 128х128 против
13chuck13 писал(а):
Это блошиный цирк с ярмарки!
32х32 :ya_hoo_oo: Вот вам для сравнения:
Изображение и Изображение
32x32 128x128
Интересно, нафига нужные мелкашки?! Видимо превьюшки, но для чего?

_______________________________________
Мой список начатых и пройденных игр (начиная с 26.11.2013): http://www.howlongtobeat.com/user.php?n ... c=list_all


04 апр 2014, 11:46
Профиль
Аватара пользователя
Я консольный бог
Я консольный бог

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

Может быть, для LOD-а?

_______________________________________
There are 10 types of people in the world: those who understand binary, and those who don't.


04 апр 2014, 12:59
Профиль
Аватара пользователя
Приставочник
Приставочник

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

Versus, что такое LOD?

aliast писал(а):
32x32 128x128
Интересно, нафига нужные мелкашки?! Видимо превьюшки, но для чего?

Предположу, что при удалении от объектов текстуры заменяются на более низкокачественные, чтобы экономить память.


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

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

Author писал(а):
Предположу, что при удалении от объектов текстуры заменяются на более низкокачественные, чтобы экономить память.

Это и есть LOD (Level of detail).

_______________________________________
There are 10 types of people in the world: those who understand binary, and those who don't.


07 апр 2014, 11:43
Профиль
Аватара пользователя
Всё, я здесь навсегда!
Всё, я здесь навсегда!

Группа: Пользователи
Сообщения: 234
Регистрация: 04 мар 2012, 21:56
Откуда: Москва
Модель 3DO: Нет
Ответить с цитатой
Сообщение 

DEADMAN517 писал(а):
Персонаж просто не смотрит на пол до конца.

Нашёл в Artmoney MaxYLook и MinYLook - ограничители угла просмотра: вниз 150, вверх 6. Вроде бы значения 200 и 1 должны помочь, или ещё поэкспериментируй как лучше.
http://yadi.sk/d/NawV6LgP5Nz1L



Ура вид стал опускаться полностью в низ а значит остается принскринить куски и тупо объединять их ,спасибо. Теперь работы будет гораздо меньше. Один вопрос DEADMAN517 ты еще работаешь над портом или как?

_______________________________________
Знание – главный инструмент управления. (Билл Гейтс)


28 июл 2014, 11:38
Профиль
Аватара пользователя
Специалист
Специалист

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

По поводу распаковки текстур эта тема подходит лучше, чем тема про выбор движка для портирования :) В общем, похоже я был прав. В игре очень много похожих друг на друга текстур, отличающихся либо по цвету, либо дополнительными трещинами, лианами, орнаментом - текстура стены та же, но добавили лианы. В ARY-файлах текстуры стены хранятся отдельно от накладываемых элементов (трещины, лианы). А вот должны они распаковываться отдельно или с наложением непонятно. Возможно наложением занимается сам движок игры? Я не могу сообразить как их при распаковке надожить :( Пробовал пихать их в один заголовок PDAT, на выходе голая стена без наложения. Пробовал удалять байты 00BF - картинка вообще портится, т.е. не надо удалять. Создавал несколько секций PDAT в одном файле, опять не то... Но то что байты 00BF отделяют основную текстуру от дополнительной это факт!

_______________________________________
Мой список начатых и пройденных игр (начиная с 26.11.2013): http://www.howlongtobeat.com/user.php?n ... c=list_all


30 июл 2014, 14:28
Профиль
Аватара пользователя
Я консольный бог
Я консольный бог

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

aliast писал(а):
Возможно наложением занимается сам движок игры?

Это было бы логично.
aliast писал(а):
как их при распаковке надожить

Если они разделены 00BF, можно ли каждой текстуре (основной и накладываемой) создать заголовок и сохранить в разных файлах?

_______________________________________
There are 10 types of people in the world: those who understand binary, and those who don't.


30 июл 2014, 14:51
Профиль
Аватара пользователя
Специалист
Специалист

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

Versus писал(а):
Если они разделены 00BF, можно ли каждой текстуре (основной и накладываемой) создать заголовок и сохранить в разных файлах?

Конечно можно. Я так и делал руками.

_______________________________________
Мой список начатых и пройденных игр (начиная с 26.11.2013): http://www.howlongtobeat.com/user.php?n ... c=list_all


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

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

И получается или нет?

_______________________________________
There are 10 types of people in the world: those who understand binary, and those who don't.


30 июл 2014, 15:40
Профиль
Аватара пользователя
Специалист
Специалист

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

Получается вручную. А автоматизировать хз как. Кроме того недавно понял что 00BF это вовсе не байты разделения текстур, а скорее что-то вроде чёрного фона. Так что не вариант по ним файлы делить. Нужно по другому... составить список всех смещений к секциям PDAT, сортировать их по увеличению и уже по ним определять где кончается одна текстура и начинается другая. Эти смещения в файле идут вразброс, скорее всего согласно схеме наложения. Часто повторяются (видимо когда одна текстура разных оттенков). В общем, каша полная. Вручную распаковать проще, но задолбаешься. Автоматизировать не получится пока досконально не разберешься.

_______________________________________
Мой список начатых и пройденных игр (начиная с 26.11.2013): http://www.howlongtobeat.com/user.php?n ... c=list_all


30 июл 2014, 17:00
Профиль
Аватара пользователя
Проходил мимо
Проходил мимо

Группа: Новички
Сообщения: 12
Регистрация: 09 авг 2022, 18:10
Модель 3DO: Нет
Ответить с цитатой

ПАУК писал(а):
Ничо не понял

Тестовая версия распаковщика ARY в CEL. Некоторые файлы выходят битые, это потому что у них размер нестандартный - разбираюсь как с ними быть.
http://rusfolder.com/40331224
Тестировал на 58.ary - берёзки из стартовой зоны распаковались на ура :)
PS: нежданчик! Из файла 64.ary достались те же самые текустурки что и в 58.ary, но с разрешением 128х128 против
13chuck13 писал(а):
Это блошиный цирк с ярмарки!
32х32 :ya_hoo_oo: Вот вам для сравнения:
Изображение и Изображение
32x32 128x128
Интересно, нафига нужные мелкашки?! Видимо превьюшки, но для чего?


Приветствую! Ссылка уже битая. По алгоритму выше написал программулину, которая выдергивает CEL'ы из ARY. Сравниваю структуру получившегося CEL'а с эталонным вариантом, который был выдернут с ZStream и успешно конвертируется в BMP - все четко на первый взгляд. Однако при конвертации моего CEL'а в BMP получается мишура. При этом всем по рандомным картинкам даже что-то более-менее осязаемое виднеется, но все равно не то - искажены цвета и отсутствуют рандомные области. Буду признателен, если подскажешь, как с тобой связаться можно (WhatsApp, Telegram, E-mail - без разницы). Хотелось бы данную тему обсудить. Заранее премного благодарю.

PS: Кстати в своем варианте я все-таки собираю массив структур со смещениями CCB, PDAT, PLUT и сортирую их по возрастанию смещения PDAT, и далее распаковываю. Даже размен последней PDAT секции удалось вычислить, полностью разобрав размеры остальных элементов внутри ARY и вычитая их из общего размера ARY с ARY заголовка.


11 авг 2022, 19:50
Профиль
Аватара пользователя
Проходил мимо
Проходил мимо

Группа: Новички
Сообщения: 12
Регистрация: 09 авг 2022, 18:10
Модель 3DO: Нет
Ответить с цитатой

Распарсил весь ZStream, получилось 3183 CEL'а. Просмотрел каждый. 50% маленьких картинок (от 10х6 до 32х32) - корректно отображаются в 3DOResExplorer 0.0.8. Что касается картинок размером более указанных ранее - ни одной целой, все битые, но в некоторых видны частично осмысленные очертания стен и дверей с искаженной цветовой палитрой. Ощущение, будто они пожаты... Несколькими постами выше aliast писал, что удалось руками распаковать текстуру розовых стен начального лабиринта. На примере этой текстуры хотелось бы например на видео увидеть, как это делается руками и каким ПО конвертится получившийся CEL.


13 авг 2022, 00:15
Профиль
Аватара пользователя
Специалист
Специалист

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

Вот мой распаковщик: https://drive.google.com/file/d/0B0oL7g ... -TjQvTCpjg
Я его писал в апреле 2014 года, так что разумеется мало что помню. Попробовал навскидку распаковать парочку ARY-файло. Вроде бы распаковывается, потом 3DOResExplorer v. 0.0.7 преобразую их в BMP. Будет ли это работать для всех ARY файлов смотреть надо.
А можно пример битых текстур? Берёзы 128x256 тоже нормально преобразовались в BMP.
Изображение
Изображение

_______________________________________
Мой список начатых и пройденных игр (начиная с 26.11.2013): http://www.howlongtobeat.com/user.php?n ... c=list_all


13 авг 2022, 09:44
Профиль
Аватара пользователя
Проходил мимо
Проходил мимо

Группа: Новички
Сообщения: 12
Регистрация: 09 авг 2022, 18:10
Модель 3DO: Нет
Ответить с цитатой

Вот мой распаковщик: https://drive.google.com/file/d/0B0oL7g ... -TjQvTCpjg
Я его писал в апреле 2014 года, так что разумеется мало что помню. Попробовал навскидку распаковать парочку ARY-файло. Вроде бы распаковывается, потом 3DOResExplorer v. 0.0.7 преобразую их в BMP. Будет ли это работать для всех ARY файлов смотреть надо.
А можно пример битых текстур? Берёзы 128x256 тоже нормально преобразовались в BMP.
Изображение
Изображение


Громадное спасибо за исходники! И вот ссылка на кривой CEL - https://mega.nz/file/eUclABqL#qo7zNHOi2 ... 2-EKD--b4A

UPD: HEX редактором открыл ZStream, взял первый попавшийся CARY, убрал его в отдельный файл, скормил твоей програмке, получил горсть битых CEL'ов. Есть возможность скинуть успешный вариант распаковки CEL'а? Если при этом укажешь смещение или порядковый номер CARY + смещение или порядковый номер CEL'а - ваще будет замечательно. Хочу твой успешный результат сравнить со своим неуспешным и понять, что у меня все-таки не так в алгоритме или банально в данных.

PS:
Тот ARY, который я распаковывал: https://mega.nz/file/zVdhCTiB#7It0iG4Rl ... 0fZbeCparw
Первый CEL, который получился с помощью твоей програмки: https://mega.nz/file/mIEizJ6C#uGqtUU4Ku ... 7xksatWLe0

И еще странный вопрос: вот тот CEL, который я распаковал твоей программой, нормально у тебя в ResExplorer'е отображается, или тоже мусор? Спрашиваю, потому что с армового мака сижу и предполагаю, что ResExplorer может подглючивать при трансляции Win11 ARM -> x86 (неочень логичная теория, конечно, потому что скорее всего тогда все картинки не показывались бы поголовно, а не частично, но хотелось бы такую вероятность тоже отмести).

UPD: Сравнил "Первый CEL, который получился с помощью твоей програмки" с первым CEL'ом, который родила моя програмка сишная. Результат - CEL'ы одинаковые! За исключением PDAT и PLUT оффсетов конечно. Я после того, как увидел, что картинка получается битая, сделал принудительное зануление PDAT и PLUT смещений в CCB заголовке, поскольку ранее они указывали на размещение относительно ARY, а теперь, по логике, когда CEL одиночный, эти оффсеты в теории не нужны. Но это никак не помогло. Текущий итог: первый CEL из первого ARY у нас с тобой выходит идентичным по сути. Может у меня кривой образ 3DO KT...вариант с кривой адресацией на винде отметаю, т.к. на виртуалке с MacOS 9 и плагином CEL'ьным к Photoshop 4, CEL получившийся также выглядит кривым.

UPD: На виртуальной машине c Windows 7 Pro x86 (qemu-system-x86_64) симптомы те же, так что дело не в архитектуре машины и не в ПО. SHA1 контрольная сумма имеющегося у меня ZStream файла - 7b344debde0794228037a327a6b345f1d5cb5f03.


13 авг 2022, 10:58
Профиль
Аватара пользователя
Специалист
Специалист

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

У меня тоже картинка битая. А откуда взялся этот test.ary? Он похоже сам по себе содержит битые данные..
Изображение
Эти хидеры JOIN, JVRT тут явно лишние. По смещению 0x1F90
Стоп! Нельзя же просто взять кусок данных из Stream-файла и распаковать его вручную! Там какой-то хитрый алгоритм распаковки. А так конечно файл битый выходит.
Вот эта прога должны стрим распаковывать: http://3do.ucoz.ru/load/prilozhenija/so ... /11-1-0-49

_______________________________________
Мой список начатых и пройденных игр (начиная с 26.11.2013): http://www.howlongtobeat.com/user.php?n ... c=list_all


14 авг 2022, 09:58
Профиль
Аватара пользователя
Проходил мимо
Проходил мимо

Группа: Новички
Сообщения: 12
Регистрация: 09 авг 2022, 18:10
Модель 3DO: Нет
Ответить с цитатой

У меня тоже картинка битая. А откуда взялся этот test.ary? Он похоже сам по себе содержит битые данные..
Изображение
Эти хидеры JOIN, JVRT тут явно лишние. По смещению 0x1F90
Стоп! Нельзя же просто взять кусок данных из Stream-файла и распаковать его вручную! Там какой-то хитрый алгоритм распаковки. А так конечно файл битый выходит.
Вот эта прога должны стрим распаковывать: http://3do.ucoz.ru/load/prilozhenija/so ... /11-1-0-49


Я так и знал, что упускаю что-то очень важное. И ведь неспроста ZStream оно зовется, а не Stream, где Z как бы намекает на Zip или какое-то другое сжатие. Сейчас буду пробовать.

UPD: Получилось распаковать один ARY моей утилитой. Магия, не иначе, все картинки корректные. Значит все-таки дело было в сжатии самого ZStream! Попробую все распаковать и выяснить процент битых картинок.

Добавлено спустя 1 час 44 минуты 38 секунд:
Все получилось! aliast еще раз спасибо!
В качестве благодарности и вклада в форум, выкладываю исходники своего поделия. Мое поделие написано на Си и использует маппинг файлов в память в качестве основного способа чтения и записи данных. Написано под стандарт c89, это значит, что оно скомпилится любым, даже самым старым и паршивым Сишным компилятором под Linux, Windows (MinGW например), macOS, FreeBSD и пр.. Оно не умеет выдергивать CEL'ы из нескольких переданных ARY, но умеет дергать CEL'ы из всех ARY, которые соединены в один файл. Исходя из всего вышеописанного прилагаю свою инструкцию для чайников и инструменты:

1) Качаем где-нибудь образ 3DO Killing Time

2) Цель: распаковать файл ZStream, содержащий все ресурсы игры
2.1) Качаем OperaFS Reader - https://mega.nz/file/jQ8GGAKJ#gModUqmAm ... 1bRRBlbxaU
Вложение
Комментарий к файлу: OperaFS Reader
OperaFSReader003.zip [603.52 КиБ]
Скачиваний: 9

2.2) Запускаем OperaFSReader, выбираем образ из п1 (Disc Image, кнопка "...")
2.3) Заходим в директорию Stream
2.4) Нажимаем кнопку "extract all files from current directory"
2.5) В появившемся окне выбираем путь, куда хотим сохранить файл ZStream размером 644 Мб, жмем "Сохранить" (Save) и ждем окончания распаковки

3) Цель: распаковать содержащиеся в файле ZStream ресурсы игры
3.1) Качаем 3DO Res Unpacker - https://mega.nz/file/mMl1mDJZ#aMBpD6d1X ... oVTFO9o0MM
Вложение
Комментарий к файлу: 3DO Res Unpacker
3DORes04.zip [434.38 КиБ]
Скачиваний: 9

3.2) Запускаем 3DO Res Unpacker, жмем кнопку "Открыть" (Open)
3.3) В появившемся окне выбираем распакованный в п2 файл ZStream, жмем "Open" (Открыть), далее жмем "ОК", если появилось предупреждение. Дожидаемся окончания анализа, жмем "ОК" в появившемся окошке итогов
3.4) Жмем "Извлечь всё" (Extract all), выбираем директорию, в которую хотим сохранить ресурсы игры, жмем "ОК". Дожидаемся окончания извлечения. В конце возможно будут выскакивать предупреждения, на все жмем "ОК", их порядка 20-ти

4) В терминале MinGW/Линуксовом терминале/Маковском терминале, соединяем все ARY файлы в один:
cat /path/to/kt_resources/*.ARY > ARY.stream

На выходе должен получиться файл ARY.stream размером примерно 13,16 Мб

5) Цель: сконвертировать получившийся ARY поток в CEL'ы
5.1) Качаем исходники моего поделия - https://mega.nz/file/bZdhRb4L#sO1dPvIvi ... AaCWTI1i_g
Вложение
Комментарий к файлу: Cary_extractor
cary_extractor.tgz [3.15 КиБ]
Скачиваний: 10

5.2) Компилируем программу:
gcc -o main main.c

Или, если "gcc: command not found", попробуйте скомпилировать с помощью Clang:
clang -o main main.c

Если и тут "clang: command not found", тогда вам нужно найти компилятор. Если у вас ОС Debian, просто сделайте
sudo apt-get update; sudo apt-get install built-essential

Данные команды установят все нужное для сборки, в том числе gcc
5.3) Распаковывем CEL'ы из ARY потока:
./main /path/to/ARY.stream

В результате должно получиться порядка 3590 CEL файлов
5.4) Опционально: среди распакованных картинок, есть очень много дубляжей. Их можно вычистить скриптом cleanup, который находится в архиве с исходником main.c
./cleanup

После выполнения должно получиться примерно 1284 файла

6) Цель: сконвертировать полученные в п5 CEL'ы в BMP картинки
6.1) Качаем 3DOResExplorer 0.0.8 - https://mega.nz/file/nNlgGBxI#RIfseXXEo ... qSI9LaPbEQ
Вложение
Комментарий к файлу: 3DOResExplorer008
3DOResExplorer8(Alias).zip [314.69 КиБ]
Скачиваний: 10

6.2) Запускаем 3DOResExplorer, справа-сверху в открывшемся окошке переходим в директорию, в которой располагаются CEL файлы, полученные в п5
6.3) В верхнем меню приложения выбираем Command -> Convert Current Dir. Дожидаемся окончания конвертации
6.4) Видим примерно 1284 картинки формата BMP. Далее вам остается лишь придумать, для чего их использовать :)


14 авг 2022, 10:39
Профиль
Аватара пользователя
Проходил мимо
Проходил мимо

Группа: Новички
Сообщения: 12
Регистрация: 09 авг 2022, 18:10
Модель 3DO: Нет
Ответить с цитатой

Заранее извиняюсь, если далее озвученная тема уже была на данном форуме.
Вопрос касается видео призраков. Есть какой-то способ их раскодировать?
Полностью лабиринты уже построил в GZDoom и осталось лишь эти видео влепить.


16 сен 2022, 10:06
Профиль
Аватара пользователя
Добрый модератор
Добрый модератор

Группа: Модераторы
Сообщения: 2228
Регистрация: 04 дек 2009, 11:58
Откуда: Новосибирск
Модель 3DO: Panasonic FZ-10 NTSC-U
Ответить с цитатой

Alexander Kozharsky писал(а):
Полностью лабиринты уже построил в GZDoom и осталось лишь эти видео влепить.


Можно скрины лабиринтов увидеть? :-):

_______________________________________
Нет судьбы, кроме той, что мы творим сами. Т2 (с)


16 сен 2022, 12:49
Профиль
Показать сообщения за:  Поле сортировки  
Ответить на тему  [ Сообщений: 75 ]  На страницу Пред.  1, 2, 3  След.
Похожие темы
   Темы   Автор   Ответы   Просмотры   Последнее сообщение 
В этой теме нет новых непрочитанных сообщений. Killing Time alpha v2.2

[ На страницу: 1, 2 ]

в форуме Образы игр

bitrate

40

10100

aspyd Перейти к последнему сообщению

21 фев 2021, 13:26

В этой теме нет новых непрочитанных сообщений. KILLING TIME WORLD

[ На страницу: 1 ... 25, 26, 27 ]

Denstan

792

43665

sasha 5 Перейти к последнему сообщению

29 янв 2023, 20:40

В этой теме нет новых непрочитанных сообщений. Killing Time beta v2.7

[ На страницу: 1, 2 ]

Omikron

41

6364

SavitarSvit Перейти к последнему сообщению

07 апр 2021, 22:14

В этой теме нет новых непрочитанных сообщений. Перевод или субтитры для «Killing Time»

[ На страницу: 1 ... 5, 6, 7 ]

Evgen-san

198

13172

SavitarSvit Перейти к последнему сообщению

25 дек 2021, 22:08

В этой теме нет новых непрочитанных сообщений. Killing time for PC Full Disk

[ На страницу: 1, 2 ]

в форуме Компьютеры

Oleg

45

7112

aspyd Перейти к последнему сообщению

12 сен 2019, 19:48



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
© 2008-2023 «3DOPLANET.ru». Создано на основе phpBB® Forum Software © phpBB Group
Designed by ST Software || Русская поддержка phpBB || Time : 0.087s | 22 Queries | GZIP : On
Valid XHTML 1.0!