Перейти к содержимому


Фотография
* * * * * 1 Голосов

WTD


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 54

#1 Dageron

Dageron

    Активный участник

  • Пользователи
  • PipPipPip
  • 1130 сообщений
  • Пол:Мужчина
  • Город:Пермь


Отправлено 21 December 2008 - 19:50

Это тема для обсуждения статьи: WTD
в проекте gtamodding.ru: декабрь 2008 - декабрь 2012

#2 listener

listener

    Активный участник

  • Главные администраторы
  • PipPipPip
  • 356 сообщений
  • Пол:Мужчина
  • Город:Ft.Lauderdale


Отправлено 21 December 2008 - 20:01

К строке "Просмотр и редактирование консольных форматов невозможен" не хватает только скриншота OpenIV с открытой .xtd-шкой...
Например, этого: http://www.picamatic...iew/637602_xtd/

На PS3, насколько я смотрел по коду, должны быть .ctd (Cell Texture Dictionary).
You think your day was surreal? Try mine.

#3 Dageron

Dageron

    Активный участник

  • Пользователи
  • PipPipPip
  • 1130 сообщений
  • Пол:Мужчина
  • Город:Пермь


Отправлено 27 December 2008 - 13:15

А смысл писать? что "возможен", но c чего-то вдруг "запрещен"? Все равно мир не увидит вашу OpenIV с функцией редактирования *.xtd. Может только позже другие редакторы появятся.
в проекте gtamodding.ru: декабрь 2008 - декабрь 2012

#4 listener

listener

    Активный участник

  • Главные администраторы
  • PipPipPip
  • 356 сообщений
  • Пол:Мужчина
  • Город:Ft.Lauderdale


Отправлено 29 December 2008 - 17:04

"невозможен" - это фактическая ошибка. (что подтверждается скриншотами) "не поддерживается публичными версиями" или "реализовано во внутренних версиях" вполне корректные обтекаемые формулировки. Насчет того, что появится - маловероятно. У меня, для того, чтобы привести xtd, к какому-то просматриваемому виду, ушло три ночи ковыряния в гугле, чтения ATI-шных мануалов, проб и ошибок. (Особая прелесть в том, что я сделал это, пользуясь только открытыми источниками). Если никто за полгода не смог этого повторить - маловероятно, что это будет сделано в будущем. Но речь не об этом. Нужно либо вообще не упоминать консольные форматы (т.к., для большинства людей они бесполезны) - но при этом пострадает полнота информации. Либо упомянуть оба формата (не делая акцентов на возможность просмотра и редактирования)
You think your day was surreal? Try mine.

#5 Dageron

Dageron

    Активный участник

  • Пользователи
  • PipPipPip
  • 1130 сообщений
  • Пол:Мужчина
  • Город:Пермь


Отправлено 29 December 2008 - 17:16

Лучше пусть думают что редактировать их нельзя потому что это технически невозможно. Почему - да потому что вопросов меньше будет. Кстати, ведь люди с gtaF их тоже разбирали вроде как? Никто за полгода просто не мог извлечь их из Xbox360.rpf, в результате это удалось только после того, как aru выложил SparkIV и вы выложили свою OpenIV. И не так уж и мало информации по x360-форматам можно найти. Например, по сжатию.
в проекте gtamodding.ru: декабрь 2008 - декабрь 2012

#6 listener

listener

    Активный участник

  • Главные администраторы
  • PipPipPip
  • 356 сообщений
  • Пол:Мужчина
  • Город:Ft.Lauderdale


Отправлено 30 December 2008 - 12:25

Кстати, ведь люди с gtaF их тоже разбирали вроде как?

Как бы это сказать... Знаешь, какое первое правило совпадает со вторым?

Лучше пусть думают что редактировать их нельзя потому что это технически невозможно. Почему - да потому что вопросов меньше будет.

Тогда просто их не упомянать (чтобы не было вопросов :-) ). А то начнут спрашивать про доставание моделй из Midnight Club :-)

Никто за полгода просто не мог извлечь их из Xbox360.rpf, в результате это удалось только после того, как aru выложил SparkIV и вы выложили свою OpenIV.

С rpf-то все просто. У меня на него ушло 8 часов. Более того, я открою маленькую тайну: все имеющиеся сейчас программы для просмотра/редактирования rpf - модифицированные версии утилит, работавших с 360-ми форматами. Мне просто обидно: неужели кроме этих ~10 человек не нашлось никого, у кого бы "желания совпадали с возможностями".

Кстати, про "наш" OpenIV и "их" SparkIV. Не хвастовства ради, а точности для: в SparkIV 0.2.2 работа с xtd базировалась на моем коде.

И не так уж и мало информации по x360-форматам можно найти. Например, по сжатию.

По выводу - найти не проблема. Проблема - найти обратное преобразование: из xenos-овского фрэймбуфера в битмап. (Найти можно, но копать надо глубже).
You think your day was surreal? Try mine.

#7 Dageron

Dageron

    Активный участник

  • Пользователи
  • PipPipPip
  • 1130 сообщений
  • Пол:Мужчина
  • Город:Пермь


Отправлено 30 December 2008 - 16:12

Вы сделали - молодцы. Но, надеюсь, будут и другие. Так как направление работы как нельзя более интересное.
в проекте gtamodding.ru: декабрь 2008 - декабрь 2012

#8 Dageron

Dageron

    Активный участник

  • Пользователи
  • PipPipPip
  • 1130 сообщений
  • Пол:Мужчина
  • Город:Пермь


Отправлено 23 June 2009 - 03:41

Итак, барьер XMemDecompress преодолен. Пришлось подгружать xcompress32.dll из Xbox Development Kit SDK. Отныне и я могу распаковывать x360 RSC. Если кто-то не верит, могу дать наброски своей программы или выложить распакованные ресурсы.
в проекте gtamodding.ru: декабрь 2008 - декабрь 2012

#9 JNikc

JNikc

    Активный участник

  • Пользователи
  • PipPipPip
  • 36 сообщений
  • Пол:Мужчина
  • Город:SPB

Отправлено 24 June 2009 - 12:26

могу дать эту программу или же выложить распакованные.


Очень хочется это увидеть! (open, open) . Мне бы тоже хотелось разобраться в форматах игры. ;)

#10 Dageron

Dageron

    Активный участник

  • Пользователи
  • PipPipPip
  • 1130 сообщений
  • Пол:Мужчина
  • Город:Пермь


Отправлено 24 June 2009 - 12:45

Продолжения обсуждения x360 ресурсов тут.
в проекте gtamodding.ru: декабрь 2008 - декабрь 2012

#11 Dageron

Dageron

    Активный участник

  • Пользователи
  • PipPipPip
  • 1130 сообщений
  • Пол:Мужчина
  • Город:Пермь


Отправлено 13 July 2009 - 08:28

Возвращаясь к теме (обсуждение *.wtd)...

Выкладываю в wiki шаблон для 010 Editor - wtd.bt.
Статус "beta", соответственно, приветствуются исправления (см. комментарии). Запускать рекомендуется на sys (cpu) части распакованного RSC.

Базировалось на:
http://public.sannyb...GTA4/rsc_en.txt
http://gtaivtools.googlecode.com/
(часть названий и структур взята именно оттуда)
в проекте gtamodding.ru: декабрь 2008 - декабрь 2012

#12 listener

listener

    Активный участник

  • Главные администраторы
  • PipPipPip
  • 356 сообщений
  • Пол:Мужчина
  • Город:Ft.Lauderdale


Отправлено 13 July 2009 - 09:55

Угу, хорошо. Есть несколько замечаний: во-первых, имеет смысл сделать отдельную структуру для CSimpleCollection (как бы его обозвать более адекватно: datArray, sysArray или memArray ?). Аналогично - для CPtrCollection. После этого, GetOffset TextureListOffset; short TextureCount3; short TextureCount4; Превратятся в один CPtrCollection, из которго и будут браться смещения для grcTexturePC. Во-вторых, GetOffset RawDataOffset; имеет смысл сделать просто числом, т.к. это смещение в GPU блоке. В-третьих, в GetOffset имеет смысл проверять старшие четыре бита: в них должно быть 5, иначе это смещение невалидно.
You think your day was surreal? Try mine.

#13 Dageron

Dageron

    Активный участник

  • Пользователи
  • PipPipPip
  • 1130 сообщений
  • Пол:Мужчина
  • Город:Пермь


Отправлено 14 July 2009 - 02:56

Поправил по мелочам, добавил чтение таблицы хешей и таблицы оффсетов. Теперь главное вывести иерархию и правильное название классов, изменения сразу буду вносить на wiki.
в проекте gtamodding.ru: декабрь 2008 - декабрь 2012

#14 RussianCJ

RussianCJ

    Активный участник

  • Пользователи
  • PipPipPip
  • 54 сообщений

Отправлено 22 August 2009 - 16:52

Мож быть кто подскажет... Я пишу конвертёр TXD2WTD. Но возникла проблема с конвертированием несжатых текстур. Дело в том, что я не могу понять, как нужно вставлять экспортнутый из TXD массив пикселей в GPU часть WTD файла. Ни SparkIV, ни G-Texture при обычном импорте массива не хотят нормально прочесть получившийся WTD. Каким образом нужно делать правильную запись несжатых текстур? Если это никому неизвестно, то объясните хотя бы, как нужно правильно записывать DDS с несжатой текстурой?

#15 RussianCJ

RussianCJ

    Активный участник

  • Пользователи
  • PipPipPip
  • 54 сообщений

Отправлено 26 August 2009 - 10:54

Доброго времени суток. У меня возникла проблема с сохранением WTD через свою программу. Дело в том, что при входе в игру одни и те же текстуры как будто рассыпаны, иногда могут появляться цветные квадратики - одним словом, с глюками, но иногда некоторые из них рендерятся целыми. При проверке через всевозможные редакторы WTD не было выявлено ни одного подобного глюка. Программа написана на Delphi, некоторые исходники взяты из справочного материала этого сайта. Прошу помочь как можно скорее.

#16 Dageron

Dageron

    Активный участник

  • Пользователи
  • PipPipPip
  • 1130 сообщений
  • Пол:Мужчина
  • Город:Пермь


Отправлено 27 August 2009 - 07:51

Перенес сообщение в нужную тему, чтобы обсуждение не разбивалось по всему форуму.
Я тоже делал своеобразный WTD Builder, но полнофункциональной работы достичь не удалось:

Изображение
в проекте gtamodding.ru: декабрь 2008 - декабрь 2012

#17 RussianCJ

RussianCJ

    Активный участник

  • Пользователи
  • PipPipPip
  • 54 сообщений

Отправлено 27 August 2009 - 09:43

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

#18 Dageron

Dageron

    Активный участник

  • Пользователи
  • PipPipPip
  • 1130 сообщений
  • Пол:Мужчина
  • Город:Пермь


Отправлено 27 August 2009 - 10:07

Очень хорошо. Теперь остается только понять смысл m_pPrev и m_pNext. Судя по всему это указатели на предыдущую и последующую текстуры соответственно. Однако подозрительно то, что в некоторых *.wtd эти поля не инициализированы. Так что не факт, что эти поля используются игрой (или вообще может они имеют другое назначение).
в проекте gtamodding.ru: декабрь 2008 - декабрь 2012

#19 RussianCJ

RussianCJ

    Активный участник

  • Пользователи
  • PipPipPip
  • 54 сообщений

Отправлено 27 August 2009 - 11:46

Насчёт своей проблемы: выкладываю скрин...

Изображение

...и текстурный архив, который при этом использовался:
http://www.rapidshare.ru/1149437

#20 listener

listener

    Активный участник

  • Главные администраторы
  • PipPipPip
  • 356 сообщений
  • Пол:Мужчина
  • Город:Ft.Lauderdale


Отправлено 27 August 2009 - 11:49

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




Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных