|
WTD |
|
|
|
|
21.12.2008, 23:01
|

Активный участник
  
Группа: Staff
Сообщений: 207
Регистрация: 21.12.2008
Пользователь №: 9

|
К строке "Просмотр и редактирование консольных форматов невозможен" не хватает только скриншота OpenIV с открытой .xtd-шкой... Например, этого: http://www.picamatic.com/view/637602_xtd/На PS3, насколько я смотрел по коду, должны быть .ctd (Cell Texture Dictionary).
|
|
|
|
|
|
|
|
29.12.2008, 20:04
|

Активный участник
  
Группа: Staff
Сообщений: 207
Регистрация: 21.12.2008
Пользователь №: 9

|
"невозможен" - это фактическая ошибка. (что подтверждается скриншотами) "не поддерживается публичными версиями" или "реализовано во внутренних версиях" вполне корректные обтекаемые формулировки.
Насчет того, что появится - маловероятно. У меня, для того, чтобы привести xtd, к какому-то просматриваемому виду, ушло три ночи ковыряния в гугле, чтения ATI-шных мануалов, проб и ошибок. (Особая прелесть в том, что я сделал это, пользуясь только открытыми источниками). Если никто за полгода не смог этого повторить - маловероятно, что это будет сделано в будущем.
Но речь не об этом. Нужно либо вообще не упоминать консольные форматы (т.к., для большинства людей они бесполезны) - но при этом пострадает полнота информации. Либо упомянуть оба формата (не делая акцентов на возможность просмотра и редактирования)
|
|
|
|
|
|
|
|
29.12.2008, 20:16
|

Активный участник
  
Группа: Главные редакторы
Сообщений: 645
Регистрация: 20.12.2008
Из: Россия, Пермь
Пользователь №: 7

|
Лучше пусть думают что редактировать их нельзя потому что это технически невозможно. Почему - да потому что вопросов у людей меньше будет Кстати, ведь люди с форумса их тоже разбирали вроде? P.S. Никто за полгода просто не мог извлечь их из Xbox360.rpf  Благо теперь и SparkIV и ваша OpenIV его спокойно открывают и изменяют... И не так уж и мало инфы по ксеноновому формату найти можно...
|
|
|
|
|
|
|
|
30.12.2008, 15:25
|

Активный участник
  
Группа: Staff
Сообщений: 207
Регистрация: 21.12.2008
Пользователь №: 9

|
Цитата(Dageron @ 29.12.2008, 20:16)  Кстати, ведь люди с форумса их тоже разбирали вроде Как бы это сказать... Знаешь, какое первое правило совпадает со вторым? Цитата Лучше пусть думают что редактировать их нельзя потому что это технически невозможно. Почему - да потому что вопросов у людей меньше будет  Тогда просто их не упомянать (чтобы не было вопросов :-) ). А то начнут спрашивать про доставание моделй из Midnight Club :-) Цитата P.S. Никто за полгода просто не мог извлечь их из Xbox360.rpf  Благо теперь и SparkIV и ваша OpenIV его спокойно открывают и изменяют... С rpf-то все просто. У меня на него ушло 8 часов. Более того, я открою маленькую тайну: все имеющиеся сейчас программы для просмотра/редактирования rpf - модифицированные версии утилит, работавших с 360-ми форматами. Мне просто обидно: неужели кроме этих ~10 человек не нашлось никого, у кого бы "желания совпадали с возможностями". Кстати, про "наш" OpenIV и "их" SparkIV. Не хвастовства ради, а точности для: в SparkIV 0.2.2 работа с xtd базировалась на моем коде. Цитата И не так уж и мало инфы по ксеноновому формату найти можно... По выводу - найти не проблема. Проблема - найти обратное преобразование: из xenos-овского фрэймбуфера в битмап. (Найти можно, но копать надо глубже).
|
|
|
|
|
|
|
|
30.12.2008, 19:12
|

Активный участник
  
Группа: Главные редакторы
Сообщений: 645
Регистрация: 20.12.2008
Из: Россия, Пермь
Пользователь №: 7

|
======================================= Цитата Тогда просто их не упомянать (чтобы не было вопросов :-) ). А то начнут спрашивать про доставание моделй из Midnight Club :-) Да, пожалуй, это действительно будет гораздо более правильно. Цитата С rpf-то все просто. У меня на него ушло 8 часов. Более того, я открою маленькую тайну: все имеющиеся сейчас программы для просмотра/редактирования rpf - модифицированные версии утилит, работавших с 360-ми форматами. Мне просто обидно: неужели кроме этих ~10 человек не нашлось никого, у кого бы "желания совпадали с возможностями". Да, и OpenIV и SparkIV идеально редактируют common.rpf и xbox360.rpf. Протестить работоспособность измененных архивов бокса пока не удавалось, но, думаю, получится на след. неделе  Знаю только что там есть такой ньюанс - размер файла "до" должен быть равен размеру файла "после". Т.е. в идеале лучше чтобы измененный файл был меньше оригинального, тогда восполнить размер через HEX будет просто элементарно. Цитата Кстати, про "наш" OpenIV и "их" SparkIV. Не хвастовства ради, а точности для: в SparkIV 0.2.2 работа с xtd базировалась на моем коде. Да, даже если Aru не выкинул еще старую версию, врятли ее он выдаст когда-либо... Цитата По выводу - найти не проблема. Проблема - найти обратное преобразование: из xenos-овского фрэймбуфера в битмап. (Найти можно, но копать надо глубже). Вы сделали - молодцы.  Надеюсь, будут и другие  ======================================= Ладно, это был оффтоп уже) По сабжу - вы собираетесь опубликовывать описания WTD формата и алгоритмы работы с ним?
|
|
|
|
|
|
|
|
24.6.2009, 15:45
|

Активный участник
  
Группа: Главные редакторы
Сообщений: 645
Регистрация: 20.12.2008
Из: Россия, Пермь
Пользователь №: 7

|
Продолжение (если не видел  ) Весь смысл в том что я не хочу распространять распаковщик и, в особенности, LZX dll. Будет крайне нехорошо если информация попадет на публику и еще до кучи потом скажут что я ее слил (хотя достал ее сам...). Другое дело если найдется человек, реально способный помочь с x360 swizzling-ом и вообще разбором графических данных непосредственно... В теме про портирование DLC listener выкладывал распакованные ресурсы, посмотри их если интересно: http://forums.gtamodding.ru/index.php?s=&a...post&p=2007Под основу изучения можно взять и wtd, но на PC текстурные RSC отличаются и гораздо проще по строению, а так же графическим данным +запаковка всего лишь zlib. p.s. Странно, второй день и не одного коммента от тех кто еще год назад с XMemDecompress разобрался.
Сообщение отредактировал Dageron - 24.6.2009, 15:49
|
|
|
|
|
|
|
|
13.7.2009, 11:28
|

Активный участник
  
Группа: Главные редакторы
Сообщений: 645
Регистрация: 20.12.2008
Из: Россия, Пермь
Пользователь №: 7

|
Выкладываю в wiki шаблон для 010 Editor - wtd.bt. Статус beta, соответственно приветствуются исправления (см. комментарии). Запускать рекомендуется на sys (cpu) части распакованного RSC. Базировалось на: http://public.sannybuilder.com/GTA4/rsc_en.txthttp://gtaivtools.googlecode.com/(часть названий и структур взята именно оттуда) Не знал как вычислить оффсет начала grcTexturePC - по этому сделал функцией похитрее, основываясь на то что второе поле каждого объекта содержит нуль.
Сообщение отредактировал Dageron - 13.7.2009, 11:30
|
|
|
|
|
|
|
|
13.7.2009, 12:55
|

Активный участник
  
Группа: Staff
Сообщений: 207
Регистрация: 21.12.2008
Пользователь №: 9

|
Угу, хорошо. Есть несколько замечаний: во-первых, имеет смысл сделать отдельную структуру для CSimpleCollection (как бы его обозвать более адекватно: datArray, sysArray или memArray ?). Аналогично - для CPtrCollection.
После этого, GetOffset TextureListOffset; short TextureCount3; short TextureCount4; Превратятся в один CPtrCollection, из которго и будут браться смещения для grcTexturePC.
Во-вторых, GetOffset RawDataOffset; имеет смысл сделать просто числом, т.к. это смещение в GPU блоке. В-третьих, в GetOffset имеет смысл проверять старшие четыре бита: в них должно быть 5, иначе это смещение невалидно.
|
|
|
|
|
|
|
|
27.8.2009, 12:43
|
Активный участник
  
Группа: Пользователи
Сообщений: 49
Регистрация: 1.1.2009
Пользователь №: 20

|
Я внёс небольшие изменения в шаблон в статье WTD. Была поправлена неточность насчёт байтов, относящихся к уровням текстур. На самом деле, к уровням текстур относился только четвёртый байт. Первые 2 байта - это количество байтов, затраченных на строку пикселей в изображений (при создании WTD вычислить крайне просто: во всех типах сжатия, кроме DXT1, это число будет равно ширине изображения, а при DXT1 - половине ширины изображения), а третий байт - это тип текстуры (1 - cube текстура, 2 - volume текстура, другие числа - regular текстура; чаще используется последнее).
|
|
|
|
|
|
|
|
27.8.2009, 14:49
|

Активный участник
  
Группа: Staff
Сообщений: 207
Регистрация: 21.12.2008
Пользователь №: 9

|
При работе, структуры в памяти собираются в связный списк. m_pPrev, m_pNext - это оно и есть. В файле можно не инициализировать (как и m_piTexture (_f18)).
что касается бьющихся текстур - пробовать мне сейчас некогда, так что ограничусь несколькими предположениями: * выход за границы страницы (построить из флагов карту страниц и проверить) * некорректно положены mip-ы (я не помню, как у них берется выравнивание, нужно смотреть загрузку grcTexturePC, благо, что там каждый левел грузится отдельно) * некорректное выравнивание (если мне не изменяет мой склероз, размер строки должн округляться то ли до 32 байт, то ли до 32 текселей)
Еще, в тему - для volume/cube текстур, назначение полей width/height/depth/levels может отличаться. Тип для Volume текстур - не 2, а 3
|
|
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|