Декодируем Xom, Тип за типом... шаг за шагом... - Страница 12 - Форум
W4Tweaks
Меню сайта
Последние файлы
Последние темы


Вход



Мини-чат
 
500

Статистика
Онлайн:

Сегодня заходили: Joker, 4erveR, Unaited, 12sunflowers


Друзья сайта

Если вы хотите увидеть в этом спиcке свой сайт загляните сюда

Наш баннер:



· Регистрация · Вход
[ Новые сообщения · Участники · Подписки · Поиск · RSS ]
Страница 12 из 15«12101112131415»
Форум » Worms 4 Mayhem » 4.3. Ваши идеи по моделированию » Декодируем Xom, Тип за типом... шаг за шагом... (Собираю группу психов не жалеющих свое время и мозги...)
Декодируем Xom, Тип за типом... шаг за шагом...
AlexBond
Дата: ЧТ, 21.01.2010, 15:56:52 | Сообщение # 166
AlexBond
Легендарный червь
Группа: Админы
Сообщений: 1029
Репутация: 105
Статус: Offline
Он поддерживает бинарные данные? К примеру мне хочется запихнуть массив вершин, с нормалями и текстурными координатами. Как мне это сделать?

Quote
Недостатки

* Синтаксис XML избыточен.
o Размер XML документа существенно больше бинарного представления тех же данных. В грубых оценках величину этого фактора принимают за 1 порядок (в 10 раз).
o Размер XML документа существенно больше, чем документа в альтернативных текстовых форматах передачи данных (например JSON) и особенно в форматах данных оптимизированных для конкретного случая использования.
o Избыточность XML может повлиять на эффективность приложения. Возрастает стоимость хранения, обработки и передачи данных.
o Для большого количества задач не нужна вся мощь синтаксиса XML и можно использовать значительно более простые и производительные решения.
* XML не содержит встроенной в язык поддержки типов данных. В нём нет понятий «целых чисел», «строк», «дат», «булевых значений» и т. д.
* Иерархическая модель данных, предлагаемая XML, ограничена по сравнению с реляционной моделью и объектно-ориентированными графами.
#

* Выражение не иерархических данных (например графов) требует дополнительных усилий.
* Кристофер Дейт отмечал, что «...XML является попыткой заново изобрести иерархические базы данных...» (в 1980-е года иерархические базы данных были вытеснены реляционными базами данных).

# Пространства имён XML сложно использовать и их сложно реализовывать в XML парсерах.
# Существуют другие, обладающие сходными с XML возможностями, текстовые форматы данных, которые обладают более высоким удобством чтения человеком (YAML, JSON, SweetXML)



 
Герыч
Дата: ЧТ, 21.01.2010, 18:25:58 | Сообщение # 167
Герыч
Админ
Группа: Админы
Сообщений: 1240
Репутация: 60
Статус: Offline
Да, не поддерживает, получится костыль. Просто смотри, как можно сделать:
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 файлов, сколько у тебя разных контейнеров.


________________________
__|____|____|____|____|__
|____|____|____|____|____|
__|___бицца головой___|__
|____|____|сюда|____|____|
__|____|____|____|____|__
|____|____|____|____|____|
 
AlexBond
Дата: ЧТ, 21.01.2010, 18:33:21 | Сообщение # 168
AlexBond
Легендарный червь
Группа: Админы
Сообщений: 1029
Репутация: 105
Статус: Offline
Кому нужно иметь 100 файлов для одной модели?

 
Герыч
Дата: ЧТ, 21.01.2010, 19:02:22 | Сообщение # 169
Герыч
Админ
Группа: Админы
Сообщений: 1240
Репутация: 60
Статус: Offline
файлы можно зазиповать к примеру, можно тупо в 1 файле хранить недекодируемые данные, всё зависит от твоей фантазии.

Вообще понимаю, ты не будешь это делать.

Кстати, сейчас xomview так и не даёт возможности создавать новые контейнеры или редактировать старые? только изменение текстур и моделей?


________________________
__|____|____|____|____|__
|____|____|____|____|____|
__|___бицца головой___|__
|____|____|сюда|____|____|
__|____|____|____|____|__
|____|____|____|____|____|
 
AlexBond
Дата: ЧТ, 21.01.2010, 20:12:00 | Сообщение # 170
AlexBond
Легендарный червь
Группа: Админы
Сообщений: 1029
Репутация: 105
Статус: Offline
Что бы получить эту возможность, нужно раскодировать все контейнеры, ведь для каждого контейнера нужен строковой ресурс, а при изменении таблицы строк, меняются все адреса строковых ресурсов, что приведет к неминуемой ошибки.

 
Герыч
Дата: ЧТ, 21.01.2010, 20:41:16 | Сообщение # 171
Герыч
Админ
Группа: Админы
Сообщений: 1240
Репутация: 60
Статус: Offline
последнее не понял, т.к. не помню структуру xom'а.

________________________
__|____|____|____|____|__
|____|____|____|____|____|
__|___бицца головой___|__
|____|____|сюда|____|____|
__|____|____|____|____|__
|____|____|____|____|____|
 
Drun
Дата: ПТ, 22.01.2010, 09:58:43 | Сообщение # 172
Drun
Олег
Группа: Хранители порядка
Сообщений: 1099
Репутация: 1340
Статус: Offline
проект "тает" happy
 
Dj_EpisCop
Дата: ПН, 24.05.2010, 20:29:22 | Сообщение # 173
Dj_EpisCop
Только что регнулся
Группа: Проверенные
Сообщений: 4
Репутация: 0
Статус: Offline
расскажите как пользоваться этой программой вот я например хочу бочку со своим кланом создать

 
firsacho
Дата: ПН, 24.05.2010, 21:13:10 | Сообщение # 174
firsacho
ICQ = 453-163-541
Группа: Админы
Сообщений: 3636
Репутация: 71
Статус: Offline
не туда пишешь, этот топик про формат ксом. Задай этот вопрос в разделе 3d моделирование/вопросы




Смысл жизни в том, чтобы жизнь имела смысл... (firsacho 2005)
Рай придуман, чтобы не страшно было умирать. Ад придуман, чтобы не страшно было жить. (firsacho 2007)
Мир делиться на два типа людей: Бездарные трудоголики и Талантливые лентяи. (firsacho 2008)

www.w4mod.tk - моя модификация для worms4

www.fir-st.narod.ru - моя домашняя творческая страничка

www.botarena.by.ru - мой сайт об игре robot arena 2 (битвы роботов)
 
AlexBond
Дата: ЧТ, 15.07.2010, 00:57:24 | Сообщение # 175
AlexBond
Легендарный червь
Группа: Админы
Сообщений: 1029
Репутация: 105
Статус: Offline
Пришел... почитал... открыл исходники.... порылся... вспомнил почему бросил... закрыл... ушел...

 
AlexBond
Дата: ВС, 19.09.2010, 02:30:29 | Сообщение # 176
AlexBond
Легендарный червь
Группа: Админы
Сообщений: 1029
Репутация: 105
Статус: Offline
Проект развивается.
Я декодировал XDetailObjectsData
И теперь открываются почти все xom файлы, в особенности из Worms Forts



 
AlexBond
Дата: ВС, 19.09.2010, 21:49:39 | Сообщение # 177
AlexBond
Легендарный червь
Группа: Админы
Сообщений: 1029
Репутация: 105
Статус: Offline
Кое что, из рабочего материала, при попытке открыть 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 sad


Может когда нибудь я найду связь sad

Для Cluser связь нашел

А вот этот код в раскодированном виде:


 
AlexBond
Дата: ПН, 20.09.2010, 01:49:37 | Сообщение # 178
AlexBond
Легендарный червь
Группа: Админы
Сообщений: 1029
Репутация: 105
Статус: Offline
Я раскодировал эту долбанную структуру!!!! =)
Там все ключи идут по порядку для каждого клипа,
не использованные ключи делаются пустыми,
приобретая структуру 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.

Мысли немного плавают, на свежую голову думаю, все получиться!


 
DrHitman27
Дата: ПН, 20.09.2010, 05:27:25 | Сообщение # 179
DrHitman27
•Polarized•
Группа: Заблокированные
Сообщений: 2107
Репутация: 52
Статус: Offline
если модель ранца поменять, то из него не появляется огня. надеюсь твоя прога позволит добавлять подобные точки

 
AlexBond
Дата: ПН, 20.09.2010, 11:31:18 | Сообщение # 180
AlexBond
Легендарный червь
Группа: Админы
Сообщений: 1029
Репутация: 105
Статус: Offline
Кое что нарыл по анимации в Майя http://81.9.6.4/books/show_book.php?book_id=872
Не находите сходства? =)

Черви писались на Maya, а значит изучив ее работу я смогу подойти к пониманию анимации костей. wink


 
Форум » Worms 4 Mayhem » 4.3. Ваши идеи по моделированию » Декодируем Xom, Тип за типом... шаг за шагом... (Собираю группу психов не жалеющих свое время и мозги...)
Страница 12 из 15«12101112131415»
Поиск:

Copyright W4Tweaks™ 2008-2016 Хостинг от uCoz