Народ, у кого есть iMageStudio от OPTPIX, поделитесь плиз. Или описанием формата. TIM2 - это формат 2д текстур приставки. Или нужны тулзы по конвертации их в TGA например и обратно. XnView их видит и сохраняет в других форматах... Только это вьювер для даунов Он не понимает Альфа канал даже. Формат то вроде не сложный (по сравнению с DDS), но ни спецификации ни конвертеров почему то в сети не могу найти
iMageStudio у меня нет, но по формату кое-что подсказать могу. Для начала, заголовок файла: Идентификатор файла (4 байта) - TIM2 Версия формата (1 байт) Идентификатор формата (1 байт) Количество изображений (2 байта) Зарезервированная часть (8 байт) Далее идёт заголовок изображения. Если "Идентификатор формата" равен нулю, то заголовок изображения находится сразу за заголовком файла. Если "Идентификатор формата" равен одному, то заголовок находится начиная с 128 байта от начала файла. В самом начале заголовка изображения указан его размер (4 байта). Чтобы найти следующий заголовок изображения надо сложить этот размер и текущую позицию в файле. Остальные подробности позже.
Спасибо, я даже больше накопал (могу кинуть). На данном этапе интересует как палитра представлена. Вроде понятно но не совсем. На сколько я понимаю там есть зависимость еще между соседними пикселами... И я скачал IMAGESTUDIO V3.12A Возникли вопросы... 1. Что такое CLUT (это что-то связанное с палитрой) 2. GS регистер? 3. FBA-bit 4. PABE 5. TEXCLUT Вобщем документацию разработчики имадж студии не выкладывают больше Отправляют на девелопер нетворк, а там разумеется логин нужен чтобы получить документацию по формату. Кстати есть еще такая штука File Investigator v2.10 который парсит файлы и ищет в них знакомые форматы. Не пробовал пока, но он шароварный.
На счёт палитры я точно подсказать не могу, по крайней мере пока. Возможно ответ найдется где-нибудь в документации по GS, так как по идее она аппаратно должна обрабатыватся в процессе текстуррирования. Вот что ещё есть по формату. Заголовок изображения: Общий размер данных (4 байта) - заголовок, изображение, палитра и т.д. Размер CLUT (4 байта) - Color LookUp Table (палитра) Размер изображения (4 байта) Размер заголовка (2 байта) - это значение надо прибавить к смещению заголовка, чтобы вычислить местоположение изображения Clut Colors (2 байта) Pict Format (1 байт) - ??? MipMap Textures (1 байт) - количество изображений Тип CLUT (1 байт) - 6 бит обозначает сортировка, 7 бит обозначает некий CSM 2 Тип изображения (1 байт) - 0 NONE, 1 RGB16, 2 RGB24, 3 RGB32, 4 IDTEX4, 5 IDTEX8 Ширина изображения (2 байта) - Высота изображения (2 байта) - GsTex0 (4 байта) - ??? GsTex1 (4 байта) - ??? GsTexaFbaPabe (4 байта) - ??? GsTexClut (4 байта) - ???
Спасибо! Я вот что сам глядя на файл понял 000 4b TIM2 0010 4b размер растра+палитры+заголовка(без первых 10h байт) 0014 4b размер палитры 0018 4b размер растра 001C 2b размер заголовка 001E 2b Количество цветов в палитре 0021 1b количество MIP уровней(число картинок) 0024 2b L picture 0026 2b H Picture 0030 1b 5Ch+(N_mip*4) если mip уровень не 1 0050+N_mip*4 4b размер растра mip уровня ------------------------- САМА ТЕКСТУРА ------------------------- ПАЛИТРА Остальные значения для меня остались тайной А где ты взял документацию по GS? Я так и не смог скачать нигде
У меня есть несколько версий PDF-файлов из Linux Kit (видимо разных версий), я её ещё давно нашёл. Впрочем, у меня теперь даже и Linux Kit есть (копии дисков).
Гы, порылся в запасах партии Оказывается уменя тоже кое что есть А вообще я считаю что стоит создать отдельную тему по файлам приставки и написать что значит каждое из расширений, как определить этот файл и как его просмотреть конвертануть. А вообще у меня есть как оказалось 2 диска с Kick Start для плейстейшен 2. Там утилиты разные мелкие и библиотеки для компиляции. Документация по этим библиотекам и функциям. Только для меня темный лес пока что с чем едят // TIM2 file header typedef struct { TIM2_UCHAR8 FileId[4]; // file ID ('T','I','M','2' or 'C','L','T','2') TIM2_UCHAR8 FormatVersion; // version of file format TIM2_UCHAR8 FormatId; // ID of format TIM2_UINT16 Pictures; // number of picture data TIM2_UCHAR8 pad[8]; // for alignment } TIM2_FILEHEADER; // TIM2 picture header typedef struct { TIM2_UINT32 TotalSize; // total size of the picture data in bytes TIM2_UINT32 ClutSize; // CLUT data size in bytes TIM2_UINT32 ImageSize; // image data size in bytes TIM2_UINT16 HeaderSize; // amount of headers TIM2_UINT16 ClutColors; // colors in CLUT TIM2_UCHAR8 PictFormat; // picture format TIM2_UCHAR8 MipMapTextures; // number of MIPMAP texture TIM2_UCHAR8 ClutType; // CLUT type TIM2_UCHAR8 ImageType; // image type TIM2_UINT16 ImageWidth; // width of image (not in bits) TIM2_UINT16 ImageHeight; // height of image (not in bits) TIM2_UINT64 GsTex0; // TEX0 TIM2_UINT64 GsTex1; // TEX1 TIM2_UINT32 GsTexaFbaPabe; // bitfield of TEXA, FBA and PABE TIM2_UINT32 GsTexClut; // TEXCLUT (lower 32 bits) } TIM2_PICTUREHEADER; // TIM2 MIPMAP header typedef struct { TIM2_UINT64 GsMiptbp1; // MIPTBP1 (actual 64 bit image) TIM2_UINT64 GsMiptbp2; // MIPTBP2 (actual 64 bit image) TIM2_UINT32 MMImageSize[0]; // image size of N-th MIPMAP texture in bytes } TIM2_MIPMAPHEADER; // TIM2 extended header typedef struct { TIM2_UCHAR8 ExHeaderId[4]; // extended header ID ('e','X','t','\x00') TIM2_UINT32 UserSpaceSize; // size of user space TIM2_UINT32 UserDataSize; // size of user data TIM2_UINT32 Reserved; // reserved } TIM2_EXHEADER;
Сегодня наконец дошли руки поигратся с OPTPiX iMageStudio 3.12A. Очень неплохая программа для создания/редактирования текстур для PS2. Может быть даже лучший инструмент, хотя я не видел других. Рассчитана программа естественно под создание изображений для PS2, а потому в ней много специфических вещей, которые трудно понять человеку, не знакомому с устройством графической системы приставки. Программа может показывать изображение через PS2, чтобы можно было сразу увидеть как будет выглядеть картинка на экране телевизора. Сделать это можно как на специальной консоли для разработчиков игр, так и на обычной приставке при наличии специального USB<->USB кабеля (на основе Prolific PL-2302). После некоторых манипуляций с парой файлов я подружил программу с моим кабелем Prolific PL-2301.
А я так и не смог достать кабель Везде уже только usb 2.0 кабели. А прогорамма какая-то другая для показа, или та что с дебаг стейшен работает только? Ну в комплекте со студией котороая была. Расскажи как подружил то если не много писать? Для справки так сказать Пусть будет Кстати я в свое время разобрал формат бакграундов в ФФ8 для РС которая вышла, только вот так и не смог придумать во что их конвертить удобоваримое. Там столько слоев!!! Да кроме того еще и анимированные слои были Но в принципе вынуть именно то что перерисовать хотелось я вынул конечно
Именно та, про которую написано, что для debug station. На самом деле она работает и просто с USB-кабелем. Кабели на PL-2301 и PL-2302 имеют одинаковый USB VendorID (67Bh), но различный USB ProductID (0 и 1). С точки зрения драйверов эти кабели управляются одинакого (я думаю, что в PL-2302 просто добавили какие-то новые возможности), а потому разницы между PL-2301 и PL-2302 для обычного драйвера почти нет. Соотвественно, я подправил пару файлов, чтобы опознавался кабель с другим ProductID. Для начала я отредактировал inf-файл, который используется Windows в процессе поиска драйвера для устройства: В данном случае это WTPS2USB.INF - это можно редактировать обычным текстовым редактором, например, подойдёт Notepad (Блокнот). ****** исправленный файл [webtech] %USB\VID_067b&PID_0000.DeviceDesc%=wtps2usb.Dev, USB\VID_067b&PID_0000 %USB\VID_067b&PID_0001.DeviceDesc%=wtps2usb.Dev, USB\VID_067b&PID_0001 ****** оригинальный файл [webtech] %USB\VID_067b&PID_0001.DeviceDesc%=wtps2usb.Dev, USB\VID_067b&PID_0001 ****** ****** исправленный файл MfgName="web technology Corp." USB\VID_067b&PID_0000.DeviceDesc="PS2 USB Link" USB\VID_067b&PID_0001.DeviceDesc="PS2 USB Link" ****** оригинальный файл MfgName="web technology Corp." USB\VID_067b&PID_0001.DeviceDesc="PS2 USB Link" ****** Как видно, я добавил лишь пару дополнительных строчек, где вместо "PID_0001" написано "PID_0000". После этого система Windows опознала кабель. Далее пришлось поправить один из файлов в образе для PlayStation 2, чтобы кабель опознала и программа, выводящая изображение на экран телевизора. Для этого уже пришлось воспользоватся hex-редактором. Я исправил файл USBLINK.IRX - по смещению 20Ch был изменён всего лишь 1 байт со значения 1 на значение 0. Теперь программа стала опознавать только кабель на базе PL-2301 вместо кабеля на на PL-2302. В итоге iMageStudio на ПК успешно соединилась программой на PS2 и стала передавать ей изображения.
Разработчики могли сделать что угодно. Например, формат видео вродебы стандартный есть для ПС2, а разработчики придумывают что-то свое. Во вторых контейнеры с текстурами могли банально запаковать, после чего ты не найдешь текстуры просто просматривая файлы.
То есть других "стандартных" форматов нет. Или нам о них неизвестно На счет запаковать врядли (в смысле сжать), а вот заголовки поотрезать и в файл-контейнер все склеить...
ПС2 использует тектуры DirectDraw Врядли. Похоже что текстуры "заменили" на этапе портирования в XBOX.