Список форумов .::Russian Blood Community Forum::.
Официальный форум русского сообщества фанатов игры BLOOD
Deep Cold Grave
Официальный сайт издательства ОНО
BloodGame

 

Blood: The Game We Playing In
Editing Center
Структура MAP
[Страниц (6): « 1 2 3 4 5 [6] ]

Структура MAP
| Новая тема | Ответить | | Поиск в теме |
| Версия для печати |
Slava



Нирвана
Откуда: MSK

Вернуться к началу
Профиль :

[M210®], ты смотрел программы тут:
http://www.bloodgame.ru/deepcoldgrave/workshop/mapformat.php
MAPInside - на Delphi, можно загружать до двух карт, смотреть содержимое отдельных блоков секторов, стен, спрайтов. Красным подсвечивается разница в этих блоках. Я использовал эту программу для описания формата: менял что-то одно в MAPEDIT, сохранял карту с новым именем, затем сравнивал в программе с предыдущей версией. Таким образом в принципе можно определить за что каждый бит отвечает.
Так же есть дизассемблерные листинги непосредственно из MAPEDIT. Этим занимался jm.
В обеих программах есть расчет CRC32 - можешь посмотреть. Насколько я помню, алгоритм - простой: последовательный XOR значений с заранее определенными в таблице. Хотя по статье из википедии ясно, что таблица тоже рассчитывается, но для ускорения эти значения обычно заранее забиваются хардкодом.

Всего записей: 888 : Дата рег-ции: Июнь 2004 : Отправлено: 04 Декабря, 2015 - 18:03:18
[M210®]



Избранный
Откуда: Москва

Вернуться к началу
WWW : Профиль :

Slava, прогу не смотрел, т.к. я и в своей проге вижу изменения.
Но раз там есть расчет CRC32, посмотрю ее, интересно Улыбка

Сейчас пишу чтение extra части спрайтов....получил много экспириенса в побитовом чтенииШпион Тут и действительно шифровка не нужна...эти битовые поля - та еще шифровка сама по себе....впервые сталкиваюсь с хранением двух short переменных в 3х байтах...пришлось изучать битовые маски...ну вроде успешно, сейчас читаются данные до goingOn и goingOff, мне нужно добраться до Launch переменных, буду использовать эти данные в своем BloodCMУлыбка

(Отредактировано автором: 05 Декабря, 2015 - 11:17:40)

Всего записей: 946 : Дата рег-ции: Янв. 2008 : Отправлено: 05 Декабря, 2015 - 11:16:41
[M210®]



Избранный
Откуда: Москва

Вернуться к началу
WWW : Профиль :

В таблице extraSprite не дописаны 4 переменные
Код:

                Decoupled = (short) (data[13] & 0b00000001) != 0;
  System.out.println("Decoupled " + Decoupled);
   
  Shot1 = (short) (data[13] & 0b00000010) >> 1 != 0;
  System.out.println("Shot1 " + Shot1);
   
  Locked = (short) (data[23] & 0b00100000) >> 5 != 0;
  System.out.println("Locked " + Locked);
   
  Interrutable = (short) (data[11] & 0b00000010) >> 1 != 0;
  System.out.println("Interrutable " + Interrutable);

А вообще странная структура...используют биты, чтобы сэкономить память, но при этом оставляют дыры, которые сводят на "нет" всю экономию....зачем?

А вообще, всю extrasprite структуру прочитал....теперь надо бы потестить ее

(Отредактировано автором: 05 Декабря, 2015 - 14:33:21)

Всего записей: 946 : Дата рег-ции: Янв. 2008 : Отправлено: 05 Декабря, 2015 - 13:36:31
| Версия для печати |
| Новая тема | Ответить | | Поиск в теме |


Blood: The Game We Playing In
Editing Center
Структура MAP
[Страниц (6): « 1 2 3 4 5 [6] ]


Powered by ExBB 1.9.1
Original Style v1.5a2 created by Daemon.XP


Top.Mail.Ru