Декодируем Xom, Тип за типом... шаг за шагом...
|
|
Сообщений: 1042
|
Опубликовано: 15.01.2010, 23:06:55
бред...
|
|
|
|
Сообщений: 1042
|
Опубликовано: 19.01.2010, 15:39:56
По поводу редактора. Герыч предлагаешь перетаскиванием открывать файл? Тогда вопрос что делать с открытым файлом? Про аргументы подумаю, давно просто делал.
|
|
|
|
Сообщений: 1240
|
Опубликовано: 19.01.2010, 17:54:35
я имел ввиду именно двойной щелчок по файлу xom. Делается элементарным чтением аргументов командной строки. Почему экспорт xml - бред?
________________________ __|____|____|____|____|__ |____|____|____|____|____| __|___бицца головой___|__ |____|____|сюда|____|____| __|____|____|____|____|__ |____|____|____|____|____|
|
|
|
|
Сообщений: 1042
|
Опубликовано: 19.01.2010, 23:26:03
потому что я нахожу xml неудобным форматом. редактировать его в блокноте идиотизм, хотя именно так все и поступают...
|
|
|
|
Сообщений: 1240
|
Опубликовано: 20.01.2010, 17:01:33
он удобен для программ, ибо есть масса свободных парсеров, которые в 2 счёта можно прикрутить к проге.
________________________ __|____|____|____|____|__ |____|____|____|____|____| __|___бицца головой___|__ |____|____|сюда|____|____| __|____|____|____|____|__ |____|____|____|____|____|
|
|
|
|
Сообщений: 1042
|
Опубликовано: 21.01.2010, 15:56:52
Он поддерживает бинарные данные? К примеру мне хочется запихнуть массив вершин, с нормалями и текстурными координатами. Как мне это сделать? Quote Недостатки * Синтаксис XML избыточен. o Размер XML документа существенно больше бинарного представления тех же данных. В грубых оценках величину этого фактора принимают за 1 порядок (в 10 раз). o Размер XML документа существенно больше, чем документа в альтернативных текстовых форматах передачи данных (например JSON) и особенно в форматах данных оптимизированных для конкретного случая использования. o Избыточность XML может повлиять на эффективность приложения. Возрастает стоимость хранения, обработки и передачи данных. o Для большого количества задач не нужна вся мощь синтаксиса XML и можно использовать значительно более простые и производительные решения. * XML не содержит встроенной в язык поддержки типов данных. В нём нет понятий «целых чисел», «строк», «дат», «булевых значений» и т. д. * Иерархическая модель данных, предлагаемая XML, ограничена по сравнению с реляционной моделью и объектно-ориентированными графами. # * Выражение не иерархических данных (например графов) требует дополнительных усилий. * Кристофер Дейт отмечал, что «...XML является попыткой заново изобрести иерархические базы данных...» (в 1980-е года иерархические базы данных были вытеснены реляционными базами данных). # Пространства имён XML сложно использовать и их сложно реализовывать в XML парсерах. # Существуют другие, обладающие сходными с XML возможностями, текстовые форматы данных, которые обладают более высоким удобством чтения человеком (YAML, JSON, SweetXML)
|
|
|
|
Сообщений: 1240
|
Опубликовано: 21.01.2010, 18:25:58
Да, не поддерживает, получится костыль. Просто смотри, как можно сделать: Code <xomArchive> <xomObjects>
<XDataBank id='0'> <ContainerResources href="someid" /> </XDataBank>
<XContainerResourceDetails id='someid'> <Value href='someid'/> <Name>someid</Name> <Flags>80</Flags> </XContainerResourceDetails>
<HexData id='someid-0'>Имя файла.bin</HexData> <!-- ссылка на сами данные -->
</xomObjects> </xomArchive> То есть всё, что можно декодировать в xml будет в самом xml, а неизвестные данные в bin файлах рядом с ним. По-моему, всё логично. На самом деле, импорт очень лёгкий. Ты просто должен записать все xml контейнеры в xom, а при виде HexData скопировать содержимое из bin файла. ----------- В ответ на твой вопрос Quote К примеру мне хочется запихнуть массив вершин, с нормалями и текстурными координатами. Как мне это сделать? ты просто получишь столько bin файлов, сколько у тебя разных контейнеров.
________________________ __|____|____|____|____|__ |____|____|____|____|____| __|___бицца головой___|__ |____|____|сюда|____|____| __|____|____|____|____|__ |____|____|____|____|____|
|
|
|
|
Сообщений: 1042
|
Опубликовано: 21.01.2010, 18:33:21
Кому нужно иметь 100 файлов для одной модели?
|
|
|
|
Сообщений: 1240
|
Опубликовано: 21.01.2010, 19:02:22
файлы можно зазиповать к примеру, можно тупо в 1 файле хранить недекодируемые данные, всё зависит от твоей фантазии. Вообще понимаю, ты не будешь это делать. Кстати, сейчас xomview так и не даёт возможности создавать новые контейнеры или редактировать старые? только изменение текстур и моделей?
________________________ __|____|____|____|____|__ |____|____|____|____|____| __|___бицца головой___|__ |____|____|сюда|____|____| __|____|____|____|____|__ |____|____|____|____|____|
|
|
|
|
Сообщений: 1042
|
Опубликовано: 21.01.2010, 20:12:00
Что бы получить эту возможность, нужно раскодировать все контейнеры, ведь для каждого контейнера нужен строковой ресурс, а при изменении таблицы строк, меняются все адреса строковых ресурсов, что приведет к неминуемой ошибки.
|
|
|
|
Сообщений: 1240
|
Опубликовано: 21.01.2010, 20:41:16
последнее не понял, т.к. не помню структуру xom'а.
________________________ __|____|____|____|____|__ |____|____|____|____|____| __|___бицца головой___|__ |____|____|сюда|____|____| __|____|____|____|____|__ |____|____|____|____|____|
|
|
|
|
Сообщений: 1099
|
Опубликовано: 22.01.2010, 09:58:43
проект "тает"
|
|
|
|
Сообщений: 4
|
Опубликовано: 24.05.2010, 20:29:22
расскажите как пользоваться этой программой вот я например хочу бочку со своим кланом создать
|
|
|
|
Сообщений: 3813
|
Опубликовано: 24.05.2010, 21:13:10
не туда пишешь, этот топик про формат ксом. Задай этот вопрос в разделе 3d моделирование/вопросы
Смысл жизни в том, чтобы жизнь имела смысл... (firsacho 2005) Рай придуман, чтобы не страшно было умирать. Ад придуман, чтобы не страшно было жить. (firsacho 2007) Мир делиться на два типа людей: Бездарные трудоголики и Талантливые лентяи. (firsacho 2008)
mod.worms.pro - мод Worms Renewation для Worms4
|
|
|
|
Сообщений: 1042
|
Опубликовано: 15.07.2010, 00:57:24
Пришел... почитал... открыл исходники.... порылся... вспомнил почему бросил... закрыл... ушел...
|
|
|
|
Сообщений: 1042
|
Опубликовано: 19.09.2010, 02:30:29
Проект развивается. Я декодировал XDetailObjectsData И теперь открываются почти все xom файлы, в особенности из Worms Forts
|
|
|
|
Сообщений: 1042
|
Опубликовано: 19.09.2010, 21:49:39
Кое что, из рабочего материала, при попытке открыть SuperSheep.xom возникает ошибка анимации, и я не могу ее исправить, так как не пойму как один и тот же XAnimClipLibrary выглядит по разному для W3D и W4. Формат XAnimClipLibrary следующий: Code type XAnimClipLibrary = record Name: IndexString; NumKeys: Integer; Keys: Array of TTypeKey; NumClips: Integer; Clips:Array of TAnimClip; end;
type TTypeKey= record AnimType: Cardinal; Object: IndexString; end;
type TAnimClip= record Time: Single; Name: IndexString; NumAnimKeys: VariantInteger; AnimKeys: array of TKeyData; end;
type TKeyData = record Index: VariantWord; Type: Word; Unknown: 6bytes; NumKeyFrame: integer; KeyFrames: array of TKeyFrame; end;
type TKeyFrame = record InTanget1: Single; InTanget2: Single; OutTanget1: Single; OutTanget2: Single; Time:Single; Value:Single end;
Вот такой тупой формат!!! Причем VariantInteger и VariantWord Мне не понятны... как и Unknown:6bytes Может когда нибудь я найду связь Для Cluser связь нашел А вот этот код в раскодированном виде:
|
|
|
|
Сообщений: 1042
|
Опубликовано: 20.09.2010, 01:49:37
Я раскодировал эту долбанную структуру!!!! =) Там все ключи идут по порядку для каждого клипа, не использованные ключи делаются пустыми, приобретая структуру 01 01 00 00 .... 00 в 16 байт Отсюда вывод: размер TKeyData равен 16 байтам Записываю мысли: После считывания Time: Single и Name: IndexString, происходит считывание NumAnimKeys: VariantInteger Если оно равно 01 01 - 257, то далее идет список без индексов, иначе идет размер массива, затем защитный байт 257 После Index: VariantWord, если не сжатый формат. и Type: Word далее Unknown: 6bytes и NumKeyFrame: integer. Мысли немного плавают, на свежую голову думаю, все получиться!
|
|
|
|
Сообщений: 2115
|
Опубликовано: 20.09.2010, 05:27:25
если модель ранца поменять, то из него не появляется огня. надеюсь твоя прога позволит добавлять подобные точки
|
|
|
|
Сообщений: 1042
|
Опубликовано: 20.09.2010, 11:31:18
Кое что нарыл по анимации в Майя http://81.9.6.4/books/show_book.php?book_id=872 Не находите сходства? =) Черви писались на Maya, а значит изучив ее работу я смогу подойти к пониманию анимации костей.
|
|
|
|