A.I.M. Jagged Alliance2

Добро пожаловать, Гость. Пожалуйста, выберите:
Вход || Регистрация.
22.08.2019 в 23:30:30

Главная Главная Помощь Помощь Поиск Поиск Участники Участники Вход Вход Регистрация Регистрация
A.I.M. « Кое-что о файлах JSD »
   A.I.M.
   Обсуждаем игры
   Гробокопатели
(Модератор: ThunderBird)
   Кое-что о файлах JSD
« Предыдущая Тема | Следующая Тема »
  Тема:  Кое-что о файлах JSD             Страниц: 1 2 3 4 5 6 7 Прочитано 35426 раз
G.E.M.
[Добрый волшебник]
Source

Истина как-то тут, а я ее где-то там.


WWW Ё-мэйл

Пол:
Репутация: +668
Re: Кое-что о файлах JSD
« Ответ #150 от 11.09.2009 в 20:17:52 »

11.09.2009 в 19:40:23, pipetz писал(a):
А что, непохоже?
- похоже.
Зарегистрирован

pipetz
[пипец всему!]
Прирожденный Джаец

Я очень люблю этот Форум!


Ё-мэйл

Пол:
Репутация: +291
Re: Кое-что о файлах JSD
« Ответ #151 от 12.09.2009 в 09:25:43 »

Во что немцы творят!!! Прямо JA2 3D в действии.  :)
http://festini.device-zero.de/jatest2.avi
 
http://festini.device-zero.de/jatest3.avi  
 
Я что-то подобное сделал, двигаясь параллельным курсом.
Источник.
« Изменён в : 12.09.2009 в 09:27:01 пользователем: pipetz » Зарегистрирован

- Джаец?
- Джаиц, джаиц.
- Ну, джаец, ну погоди!
https://github.com/egorovav/Ja2Project

MAn
[Человечище!!!]







Пол:
Репутация: +403
Re: Кое-что о файлах JSD
« Ответ #152 от 12.09.2009 в 12:51:08 »

не могу просмотреть - расскажи пожалуста коротенько (минут на сорок) что там.
Зарегистрирован

pipetz
[пипец всему!]
Прирожденный Джаец

Я очень люблю этот Форум!


Ё-мэйл

Пол:
Репутация: +291
Re: Кое-что о файлах JSD
« Ответ #153 от 12.09.2009 в 20:03:14 »

12.09.2009 в 12:51:08, MAn писал(a):
не могу просмотреть - расскажи пожалуста коротенько (минут на сорок) что там.  

 
Ну представляешь себе JA2 только 3-х мерную? Вот там показано как реализовано. :)
Почему не можешь посмотреть? Там DivX кодек нужен, кажись.
Зарегистрирован

- Джаец?
- Джаиц, джаиц.
- Ну, джаец, ну погоди!
https://github.com/egorovav/Ja2Project

MAn
[Человечище!!!]







Пол:
Репутация: +403
Re: Кое-что о файлах JSD
« Ответ #154 от 12.09.2009 в 20:44:31 »

Offtop:
Зарегистрирован

pipetz
[пипец всему!]
Прирожденный Джаец

Я очень люблю этот Форум!


Ё-мэйл

Пол:
Репутация: +291
Re: Кое-что о файлах JSD
« Ответ #155 от 12.09.2009 в 21:01:42 »

2MAn:  
Offtop:
Зарегистрирован

- Джаец?
- Джаиц, джаиц.
- Ну, джаец, ну погоди!
https://github.com/egorovav/Ja2Project

ddd
[Х-х-хол-л-л-о-ддд-но!]
Псих

Небесный Дятел




Репутация: +77
Re: Кое-что о файлах JSD
« Ответ #156 от 12.09.2009 в 21:08:24 »

2MAn:
Offtop:
Зарегистрирован

Offtop:

Xoxo_JI
[Йо-хо-хо!!!]
Полный псих

Hail to you, Champion!




Пол:
Репутация: +61
Re: Кое-что о файлах JSD
« Ответ #157 от 12.09.2009 в 21:09:29 »

12.09.2009 в 09:25:43, pipetz писал(a):
Во что немцы творят!!! Прямо JA2 3D в действии.  

шайтан! :o
Зарегистрирован

И в моде мнение, что вся суть наших бед - низкое качество асфальта и невысокий населения интеллект.
MAn
[Человечище!!!]







Пол:
Репутация: +403
Re: Кое-что о файлах JSD
« Ответ #158 от 12.09.2009 в 21:11:37 »

Offtop:
Зарегистрирован

pipetz
[пипец всему!]
Прирожденный Джаец

Я очень люблю этот Форум!


Ё-мэйл

Пол:
Репутация: +291
Re: Кое-что о файлах JSD
« Ответ #159 от 12.09.2009 в 21:29:18 »

2ddd:  
Только это не редактор, насколько я понял, а смотрелка.  
Редактировать с помощью их проги ИМХО нельзя.
Я такую смотрелку тоже сделал хочу интегрировать её
в свой загрузчик карт, тогда выложу.
Зарегистрирован

- Джаец?
- Джаиц, джаиц.
- Ну, джаец, ну погоди!
https://github.com/egorovav/Ja2Project

ddd
[Х-х-хол-л-л-о-ддд-но!]
Псих

Небесный Дятел




Репутация: +77
Re: Кое-что о файлах JSD
« Ответ #160 от 12.09.2009 в 21:59:49 »

так я и говорю, как редактор.  ;D
 12.09.2009 в 21:29:18, pipetz писал(a):
Я такую смотрелку тоже сделал хочу интегрировать её
в свой загрузчик карт, тогда выложу.  

любопытно будет на карты глазами мерков позырить
Зарегистрирован

Offtop:

pipetz
[пипец всему!]
Прирожденный Джаец

Я очень люблю этот Форум!


Ё-мэйл

Пол:
Репутация: +291
Re: Кое-что о файлах JSD
« Ответ #161 от 28.09.2009 в 05:52:17 »

Lomolom нашел пробелы в описании JSD-формата. Файлы типа 1 содержат ещё информацию о взаимном расположении тайлов.
В файлах типа 2 и 3 эта информация хранится в структурах тайлов в полях bXPosRelToBase и bYPosRelToBase.
Lomolom-у респект и уважуха. :)
Зарегистрирован

- Джаец?
- Джаиц, джаиц.
- Ну, джаец, ну погоди!
https://github.com/egorovav/Ja2Project

pipetz
[пипец всему!]
Прирожденный Джаец

Я очень люблю этот Форум!


Ё-мэйл

Пол:
Репутация: +291
Re: Кое-что о файлах JSD
« Ответ #162 от 28.09.2009 в 05:53:26 »

JSD (JA2 Structure Data) формат.

 
Формат JSD используется в игре Jagged Alliance 2 для хранения информации
о физических свойствах объектов.
 
Заголовок файла (16 байт, структура STRUCTURE_FILE_HEADER).
 
Структура STRUCTURE_FILE_HEADER описана в TileEngine\Structure Internals.h
 
1-4 байты - символы “J2SD” идентификатор формата.
5-6 байты - (usNumberOfStructures) число структур\изображений связанных с объектом.
    По видимому всегда равно числу изображений в одноимённом STI-файле.
7-8 байты - (usNumberOfStructuresStored) число структур описанных в данном файле.  
    Может быть меньше чем число структур\изображений связанных с объектом. Бывает,  
    что не для каждого изображения хранящегося в одноимённом STI-файле нужна структура.  
    Для файлов типа 1 всегда равен 0. О типах ниже.
9-10 байты - суммарный размер структур в байтах. Для файлов типа 1 всегда
     равен 0. О типах ниже.
11 - байт - флаги. Определяют тип файла.  
 1 бит - равен 1 если файл содержит вспомогательную информацию.
 2 бит - равен 1 если файл содержит информацию о структурах.
 3-8 биты - не используются.
  Таким образом существует три типа JSD-файлов 1(00000001), 2(00000010) и 3(00000011).  
  3 тип содержит и вспомогательную и структурную информацию.  
12-14 байты  - не используются
15-16 байты - (usNumberOfImageTileLocsStored) не равен нулю только для некоторых  
      файлов типа 1. Число тайлов для, которых сохранены данные о взаимом расположении.
 
Для файлов типа 1 после 16-го байта идут записи вспомогательных данных.  
Суммарный размер - (число структур\изображений связанных с объектом) * 16.
Для файлов типа 2 после 16-го байта идут структурные данные.
Для файлов типа 3 после 16-го байта сначала записи вспомогательных данных,  
а потом структурные данные.
 
Вспомогательные данные.

 
Записи вспомогательных данных загружаются в структуры AuxObjectData. Это таже структура,
что используется для загрузки данных приложения (Application Data) STI-файлов.
Aux - повидимому сокращение от "auxiliary" - вспомогательный.
 
Структура AuxObjectData описана в Standard Gaming Platform\imgfmt.h.
 
1 байт - ориентация стены (ubWallOrientation).
2 байт - количество тайлов (ubNumberOfTiles). Почти всегда равен 0. Когда больше нуля
         равен числу тайлов, занимаемых объектом.  
3-4 байты - индекс в массиве  данных о взаимном расположении тайлов, с которого
         начинается информация о тайлах данной структуры.
 
5-7 байты - не используются.
8 байт – порядковый номер кадра. Не равен нулю только для анимированых структур.
9 байт – равен числу изображений.
10 байт – флаги.
 1 бит - (AUX_FULL_TILE)
 2 бит - 1 если файл анимироанный (AUX_ANIMATED_TILE)
 3 бит - (AUX_DYNAMIC_TILE)
 4 бит - (AUX_INTERACTIVE_TILE)
 5 бит - (AUX_IGNORES_HEIGHT)
 6 бит - (AUX_USES_LAND_Z )
 7-8 бит - не используются.
11-16 байты – не используются.  
 
Данные о взаимном расположении тайлов.

 
Если файл содержит вспомогательную информацию (тип 1 или 3) и usNumberOfImageTileLocsStored больше нуля, то  
далее идет массив данных о взаимном расположении тайлов. Размер массива равен usNumberOfImageTileLocsStored * 2.
Каждые два байта задают положение одного тайла. Первый байт координату X второй - Y.

 
Структурные данные.

 
Структурные данные содержат для каждой структуры описанной в JSD-файле следующую информацию.
- Заголовок структуры (16 байт)
- Тайловые структуры ((число тайлов) * 32 байта)
 
Заголовок структуры (16 байт, структура DB_STRUCTURE).
 
Структура DB_STRUCTURE описана в TileEngine\Structure Internals.h.
 
1 байт - (ubArmour) Броня. Принимает значения от 0 до 26, все значения поименованы в
         в перечислении, которое описано в файле TileEngine\structure.h. Стоит заметить,  
         что значение этого байта не определяет велечину бронированности. ubArmour -  
         это индекс в массиве gubMaterialArmour[] =  
         {0,25,20,30,3,10,47,10,0,0,0,55,63,70,85,9,40,1,40,0,0,37,57,85,127,127, 57};  
         Описание этого массива в коде сопровождают интересные комментарии, которые здесь
         приводить не буду. Бронированность влияет на повреждение наносимые объекту.  
         На снижение скорости пули при прохождении через структуру. На звуки издаваемые
         при попадании, ударе, открывании/закрытии;
2 байт - (ubHitPoints) Живучесть. Урон, который надо нанести объекту для его разрушения.  
        Значение из этого поля используется только при загрузке игры.  
        При загрузке структуры из JSD файла ubHitPoints вычисляется функцией FilledTilePositions  
        как суммарное по всем тайлам число заполненных ячеек.

3 байт - (ubDensity) Плотность. Принимает значения от 0 до 100. Влияет на вероятность  
         прохождения пули сквозь объект, на вероятность нанесения критического урона  
         (и на прозрачность/просматриваемость?);
4 байт - (ubNumberOfTiles) число тайлов занимаемых структурой
5-8 байты - флаги. Определяют тип структуры.
 1 бит - STRUCTURE_BASE_TILE.
 2 бит - STRUCTURE_OPEN
 3 бит - STRUCTURE_OPENABLE/STRUCTURE_CLOSEABLE/STRUCTURE_SEARCHABLE
 4 бит - STRUCTURE_HIDDEN
 5 бит - STRUCTURE_MOBILE
 6 бит - STRUCTURE_PASSABLE
 7 бит - STRUCTURE_EXPLOSIVE
 8 бит - STRUCTURE_TRANSPARENT
 9 бит - STRUCTURE_GENERIC
 10 бит - STRUCTURE_TREE
 11 бит - STRUCTURE_FENCE
 12 бит - STRUCTURE_WIREFENCE
 13 бит - STRUCTURE_HASITEMONTOP            
 14 бит - STRUCTURE_SPECIAL
 15 бит - STRUCTURE_LIGHTSOURCE
 16 бит - STRUCTURE_VEHICLE
 17 бит - STRUCTURE_WALL
 18 бит - STRUCTURE_WALLNWINDOW
 19 бит - STRUCTURE_SLIDINGDOOR
 20 бит - STRUCTURE_DOOR
 21 бит - STRUCTURE_MULTI
 22 бит - STRUCTURE_CAVEWALL
 23 бит - STRUCTURE_DDOOR_LEFT
 24 бит - STRUCTURE_DDOOR_RIGHT
 25 бит - STRUCTURE_NORMAL_ROOF
 26 бит - STRUCTURE_SLANTED_ROOF
 27 бит - STRUCTURE_TALL_ROOF
 28 бит - STRUCTURE_SWITCH
 29 бит - STRUCTURE_ON_LEFT_WALL
 30 бит - STRUCTURE_ON_RIGHT_WALL
 31 бит - STRUCTURE_CORPSE
 32 бит - STRUCTURE_PERSON
9-10 байты - (usStructureNumber) порядковай номер структуры.
11 байт - (ubWallOrientation) ориентация стены.
12 байт - (bDestructionPartner) Определяет индекс в тайлсете изображения объекта  
          после разрушения. Если bDestructionPartner > 0, то это означает, что после  
          разрушения такой объект не имеет больше структуры, и отображается с помощью кадра  
          с индексом bDestructionPartner файла RUBBLE1.STI, если bDestructionPartner < 40  
          или с помощью кадра (bDestructionPartner - 40) файла RUBBLE2.STI, если bDestructionPartner >= 40.  
          Файлы RUBBLE1.STI и RUBBLE2.STI содержаться в нулевом тайлсете, из которого  
          при загрузке карты загружаются те типы тайлов которых нет в тайлсете карты.  
          Если bDestructionPartner < 0, то после разрушения объект будет отображаться с помощью объекта  
          с индексом (- bDestructionPartner) того же JSD-файла.  

13 байт - (bPartnerDelta) Определяет разность индексов в тайлсете открытой и  
          закрытой структуры (например двери).
14 байт - (bZTileOffsetX)
15 байт - (bZTileOffsetY) 14, 15 байты определяют дополнительные  
          смещения при отрисовке мобильных и мёртвых объектов, чтобы они казались выше.
        sOffsetX = sOffsetX - pDBStructure->bZTileOffsetX* (WORLD_TILE_X / 2) + pDBStructure->bZTileOffsetY*(WORLD_TILE_X / 2);
        sOffsetY = sOffsetY - pDBStructure->bZTileOffsetY*(WORLD_TILE_Y / 2);  
         WORLD_TILE_X = 40 - ширина тайла в пикселях.
         WORLD_TILE_Y = 20 - высота тайла в пикселях.
16 байт - не используется.
 
Тайловая структура (32 байта, структура DB_STRUCTURE_TILE).
 
Структура DB_STRUCTURE_TILE описана в TileEngine\Structure Internals.h.
 
1-2 байт - (sPosRelToBase)Смещение порядкового номера тайла относительно порядкового номера базового  
            тайла объекта.  
            sPosRelToBase = bXPosRelToBase + bYPosRelToBase * WORLD_COLS.
            WORLD_COLS = 160 - ширина карты сектора в тайлах.
            Устанавливается в коде, в файле не храниться.  

3 байт - (bXPosRelToBase) Смещение тайла относительно базового по оси X.
4 байт - (bYPosRelToBase) Смещение тайла относительно базового по оси Y.
               Базовый тайл  структуры - это тайл у которого bXPosRelToBase = 0 и bYPosRelToBase = 0.  
               Такой тайл должен быть в любой структуре на первом месте в списке тайлов.  
               В ресурсах игры есть несколько структур у которых нет базового тайла.  
               Вероятно эти структуры не используются.
5-29 байты - (Shape) Форма тайла. Байты в этом массиве принимают значения от 0 (0000)  
          до 15 (1111). Тайл разбивается на 25 частей, 5 строк и 5 столбцов. Таким  
          образом, каждый байт массива соответствует столбику из 4 кубиков стоящему  
          на одной из 25 частей тайла. Если какой-то из 4 бит байта равен 1, то  
          соответствующий кубик считается заполненным структурой. Другими словами
          кубик с координатами X, Y, Z будет заполнен если  
          (Shape[X * 5 + Y] / 2Z) % 2 = 1.
          Кажеться так.
30 байт - (fFlags) флаги.
 1 бит - TILE_ON_ROOF тайл находится на уровне крыши.
 2 бит - TILE_PASSABLE тайл доступен для прохода.
 3-8 биты - не используются.
31 байт - (ubVehicleHitLocation) местоположение удара по транспортному средству.
          По видимому нигде не используется.
 
32 байт - не используетя.
 
В аттаче схема расположения данных JSD-файла типа 3. У файла типа 1 нет структурных данных (синий прямоугольник),  
у файлов типа 2 нет вспомогательных данных (зелёный прямоуольник) и данных о взаимном расположении тайлов
(красный прямоуольник). Формально файлы типа 3 могут содержать данные о взаимном расположении тайлов,  
но на практике у файлов типа 3 usNumberOfImageTileLocsStored всегда равно нулю, потому что у файлов типа 3  
данные о взаимном расположении тайлов хранятся в полях структур bXPosRelToBase, bYPosRelToBase

 

JSD-HD(High Definition) формат.

Разработан мной на основе формата JSD.
Указаны только отличия от формата JSD.
 
Заголовок файла (16 байт, структура STRUCTURE_FILE_HEADER).
 
Структура STRUCTURE_FILE_HEADER описана в TileEngine\Structure Internals.h
 
11 - байт - флаги. Определяют тип файла.  
 1 бит - равен 1 если файл содержит вспомогательную информацию.
 2 бит - равен 1 если файл содержит информацию о структурах.
3 бит - равен 1 если файл содержит структуры высокой чёткости.
 4-8 биты - не используются.
 
Тайловая структура (112 байт, структура DB_STRUCTURE_TILE).
 
Структура DB_STRUCTURE_TILE описана в TileEngine\Structure Internals.h.
 
5-104 байты - (Shape) Форма тайла. Байты в этом массиве принимают значения от 0 (00000000)  
          до 256 (11111111). Тайл разбивается на 100 частей, 10 строк и 10 столбцов. Таким  
          образом, каждый байт массива соответствует столбику из 8 кубиков стоящему  
          на одной из 100 частей тайла. Если какой-то из 8 бит байта равен 1, то  
          соответствующий кубик считается заполненным структурой. Другими словами
          кубик с координатами X, Y, Z будет заполнен если  
          (Shape[X * 5 + Y] / 2Z) % 2 = 1.
...
107 - 112 байты - не используются.

Вот прицепился!       jsd1.png
« Изменён в : 06.08.2015 в 14:38:31 пользователем: pipetz » Зарегистрирован

- Джаец?
- Джаиц, джаиц.
- Ну, джаец, ну погоди!
https://github.com/egorovav/Ja2Project

ddd
[Х-х-хол-л-л-о-ддд-но!]
Псих

Небесный Дятел




Репутация: +77
Re: Кое-что о файлах JSD
« Ответ #163 от 28.09.2009 в 13:07:14 »

2pipetz: комбинированные флаги, в частности, STRUCTURE_WALLSTUFF точно не юзается?
Зарегистрирован

Offtop:

pipetz
[пипец всему!]
Прирожденный Джаец

Я очень люблю этот Форум!


Ё-мэйл

Пол:
Репутация: +291
Re: Кое-что о файлах JSD
« Ответ #164 от 29.09.2009 в 21:54:07 »

28.09.2009 в 13:07:14, ddd писал(a):
комбинированные флаги, в частности, STRUCTURE_WALLSTUFF точно не юзается?  

 
Не понял вопроса.  Комбинированные флаги это некое булево значение, которое получено
комбинацией нескольких флагов. Насколько я понимаю используются в коде для удобства  
для того чтобы не писать много раз длинные конструкции типа  
STRUCTURE_WALLNWINDOW | STRUCTURE_WALL | STRUCTURE_DOOR  
 
Используется ли конкретно STRUCTURE_WALLSTUFF? Незнаю. Поищи по коду решения.
Зарегистрирован

- Джаец?
- Джаиц, джаиц.
- Ну, джаец, ну погоди!
https://github.com/egorovav/Ja2Project

ddd
[Х-х-хол-л-л-о-ддд-но!]
Псих

Небесный Дятел




Репутация: +77
Re: Кое-что о файлах JSD
« Ответ #165 от 16.10.2009 в 17:57:05 »

джага тоже рисует ;)
Вот прицепился!       SCREEN003.png
Зарегистрирован

Offtop:

pipetz
[пипец всему!]
Прирожденный Джаец

Я очень люблю этот Форум!


Ё-мэйл

Пол:
Репутация: +291
Re: Кое-что о файлах JSD
« Ответ #166 от 18.10.2009 в 04:08:17 »

2ddd:
Что это такое?
Зарегистрирован

- Джаец?
- Джаиц, джаиц.
- Ну, джаец, ну погоди!
https://github.com/egorovav/Ja2Project

ddd
[Х-х-хол-л-л-о-ддд-но!]
Псих

Небесный Дятел




Репутация: +77
Re: Кое-что о файлах JSD
« Ответ #167 от 18.10.2009 в 20:58:33 »

2ddd: принтскрин из джаги ;). только непонятно, что рисуется, карта освещения, ждс или еще чего?
Зарегистрирован

Offtop:

MAn
[Человечище!!!]







Пол:
Репутация: +403
Re: Кое-что о файлах JSD
« Ответ #168 от 09.01.2010 в 08:39:00 »

Ну, хорошо - в жсд помимо прочего содержится иформация о том, во что превращается тайл после разрушения (bDestruction Partner), но вот, возьмем стены - превращается не только разрушенный тайл, но и смежные с ним (получаются рваные края).    
Как прога понимает, во что должны превратится смежные с разрушенным тайлы? (касательно стен).
Зарегистрирован

Bonarienz
[Попокатепетль]


Враг Джавдета в анимации ДжА2, Бон-а-рьен-ц!




Репутация: +328
Re: Кое-что о файлах JSD
« Ответ #169 от 09.01.2010 в 11:54:21 »

2MAn:  
 
А по "диаметру воздействия" - от гранат рваных стен моэт и не бить, а вот от рпг - точна будут, если это не зверинец!
 
А вообще - к тирапефту и Багмонстру, с Лалиеным!
 
 :P
Зарегистрирован

Deleatur (лат.) - Стереть все, совсем все!
MAn
[Человечище!!!]







Пол:
Репутация: +403
Re: Кое-что о файлах JSD
« Ответ #170 от 10.01.2010 в 14:03:02 »

2Bonarienz:  
Да вишь молчат монстры
Зарегистрирован

bugmonster
[Баги! Баги везде!]
Source

ПРОГРАММИРЫ НЕ УЧИТЫВАЛИ ЭТУ СИТУАЦИЮ




Пол:
Репутация: +1335
Re: Кое-что о файлах JSD
« Ответ #171 от 12.01.2010 в 09:57:03 »

2MAn: После упорного курения исходников я пришёл к следующему выводу:
если компьютер определил что кусок стены вынесен полностью, а bDestructionPartner указан с минусом (потом при использовании этого значения минус отбрасывается), то он определяет прилегающие куски стен и заменяет их на полуразрушенные.
Номера кадров с частично разрушенными стенами нигде не меняются. Они захардкодены и располагаются в той же стишке начиная с 48-го кадра и далее (номер кадра считается с 1, а не с 0 как в jsd-editor у Алексея. Так же мне кажется что у него неправильно отображается значение bDestructionPartner).
Зарегистрирован

Восславим же радость и мужество,
Труда и науки содружество
Восславим мудрую партию,
Помолимся за неё.

А Пентагон в свои руки поганые,
Пусть возьмёт свои доллары сраные
И в ж... себе затолкает

MAn
[Человечище!!!]







Пол:
Репутация: +403
Re: Кое-что о файлах JSD
« Ответ #172 от 13.01.2010 в 00:20:07 »

2bugmonster:  
Если ты точно уверен, что   bDestructionPartner должен быть с минусом в данном случае, то у Алексея возможно ошибка, потому что в жсд с кучей стен, и с гладкими, и с рваными тоже (во многих, все я не проверял) bDestructionPartner именно положительный, и может сильно разниться от жсд к жсд.
 
bDestructionPartner с минусом я видел редко, помню, напрмиер, что у жсд описывающего самолет (Чесну) было такое.
Зарегистрирован

bugmonster
[Баги! Баги везде!]
Source

ПРОГРАММИРЫ НЕ УЧИТЫВАЛИ ЭТУ СИТУАЦИЮ




Пол:
Репутация: +1335
Re: Кое-что о файлах JSD
« Ответ #173 от 13.01.2010 в 02:00:41 »

2MAn: Судя по исходникам, то что отображается в редакторе как bDestructionPartner не имеет никакого смысла. Должно быть 0...10, 40..50, 0...-10, -40..-50, а в стишках со стенами в редакторе отображается 23, 25, 28. Возможно это ошибка выравнивания, такое с редактором тайлсетов было.
Зарегистрирован

Восславим же радость и мужество,
Труда и науки содружество
Восславим мудрую партию,
Помолимся за неё.

А Пентагон в свои руки поганые,
Пусть возьмёт свои доллары сраные
И в ж... себе затолкает

MAn
[Человечище!!!]







Пол:
Репутация: +403
Re: Кое-что о файлах JSD
« Ответ #174 от 13.01.2010 в 02:58:59 »

2bugmonster:  
А если в жсд не >48 cтруктур, как в примере со стенами, а меньше?  
 12.01.2010 в 09:57:03, bugmonster писал(a):
омера кадров с частично разрушенными стенами нигде не меняются. Они захардкодены и располагаются в той же стишке начиная с 48-го кадра и далее

Расскажу, почему я спросил про эту штуку.  
В 48 тайлсете есть стишка Waldec20.sti, в ней 8 кадров,- изображения ангарных стенок с навесом всяким - огнетушитель, знаки какие-то и т.п. но без жсд, отчего в игре через них можно проходить, понятно - видимость одна.
Я сделал для этой стишки жсд, восемь структур, все параметры выставил как для соответствующей стены. Игра её подхватывает, на первый взгляд - нормальная стена. И разрушается она как обычная стена - остаются обломки на земле. Но, это если стена разрушается полностью, все пролёты.  
Если же разрушается один пролёт, а соседние остаются целыми, то они замещаются (как и должно быть), но замещаются на объекты из другого жсд. В моем случае вместо стенки появляются вентиляционные настенные решетки.
Ты не мог бы подробнее описать работу алгоритма при замене соседних участков стены?
Зарегистрирован

bugmonster
[Баги! Баги везде!]
Source

ПРОГРАММИРЫ НЕ УЧИТЫВАЛИ ЭТУ СИТУАЦИЮ




Пол:
Репутация: +1335
Re: Кое-что о файлах JSD
« Ответ #175 от 13.01.2010 в 03:59:17 »

2MAn: Итак всё описал подробнее некуда. Все четыре стишки со стенами, которые я просмотрел, содержали полу разрушенные стены начиная с 48 кадра. Если в твоей стишке кадров меньше - ничего не поделаешь, дабы не править исходники придётся добавлять нужное количество пустых кадров до 48-мого. Если у тебя появляются "вентиляторы" - это либо последний кадр в твоей стишке, либо кадры их следующих в тайлсете за твоей стишек, располагающиеся на 48-56 позиции, отсчитывая их от первого кадра твоей стишки.
 
ЗЫ Количество кадров в тайлсетных стишках захардкодено в исходниках, поэтому просто так добавить нужное количество кадров в тайлсетную стишку нельзя, если только это не Джа2005. Про Ja2 1.13 не знаю, может там уже тоже можно.
Зарегистрирован

Восславим же радость и мужество,
Труда и науки содружество
Восславим мудрую партию,
Помолимся за неё.

А Пентагон в свои руки поганые,
Пусть возьмёт свои доллары сраные
И в ж... себе затолкает

pipetz
[пипец всему!]
Прирожденный Джаец

Я очень люблю этот Форум!


Ё-мэйл

Пол:
Репутация: +291
Re: Кое-что о файлах JSD
« Ответ #176 от 13.01.2010 в 10:37:08 »

13.01.2010 в 02:58:59, MAn писал(a):
Если же разрушается один пролёт, а соседние остаются целыми, то они замещаются (как и должно быть), но замещаются на объекты из другого жсд. В моем случае вместо стенки появляются вентиляционные настенные решетки.  

: lol :: lol :: lol :
 
Моим редактором делал ЖСД? Спасибо что используете наш продукт!!!
Всмысле спасибо за тестирование. Завтра обязательно попробую разобраться с bDestructionPartner.
Зарегистрирован

- Джаец?
- Джаиц, джаиц.
- Ну, джаец, ну погоди!
https://github.com/egorovav/Ja2Project

MAn
[Человечище!!!]







Пол:
Репутация: +403
Re: Кое-что о файлах JSD
« Ответ #177 от 13.01.2010 в 22:32:55 »

2bugmonster:  
 13.01.2010 в 03:59:17, bugmonster писал(a):
Если у тебя появляются "вентиляторы" - это либо последний кадр в твоей стишке, либо кадры их следующих в тайлсете за твоей стишек, располагающиеся на 48-56 позиции, отсчитывая их от первого кадра твоей стишки.

О! Вот это мне уже понятнее, спасибо.
 
2pipetz:  
  13.01.2010 в 10:37:08, pipetz писал(a):
Моим редактором делал ЖСД? Спасибо что используете наш продукт!!!

А то!  Правда я взял какой-то готовый жсд и переименовал...  
Но, правил, правил :)  Было дело, циферки менял.
Кстати, запускаю под Вистой, 3д картинка не отображается, а если отображается, то не вращается совсем.
« Изменён в : 13.01.2010 в 22:34:28 пользователем: MAn » Зарегистрирован

h.ea
[Башка]
Мистер ЭЧ

Я люблю этот Форум!


Ё-мэйл

Пол:
Репутация: +19
Re: Кое-что о файлах JSD
« Ответ #178 от 31.07.2010 в 16:52:21 »

у меня вопрос как добавить свой объект в tilesets с помощью JsdEditor  
добовляю структуру в JSD и в ондноименный STI картинку, а редактор нового не видит(
изменить готовый не проблема а вот добавить....  :(
 
Зарегистрирован

coolberg
[Ядрён Батон!]
Прирожденный Джаец






Пол:
Репутация: +138
Re: Кое-что о файлах JSD
« Ответ #179 от 31.07.2010 в 20:26:48 »

2h.ea: насколько понимаю, надо добавлять новый объект в тайлсеты, с помощью какого-то редактора, навроде tileset editor.
Зарегистрирован

Bonarienz
[Попокатепетль]


Враг Джавдета в анимации ДжА2, Бон-а-рьен-ц!




Репутация: +328
Re: Кое-что о файлах JSD
« Ответ #180 от 31.07.2010 в 22:26:55 »

2h.ea:  
Редактор называется ja2tse.exe: , немецкий, вполне понятный.
Основной спец по нему - ПМ.
 
Лучше вносить изменения непосредственно в нужный тайлсет - в пустые места. Пустое место в слоте тайлсета означает, что используются  данные из тайлсета Generic (нулевой). Поэтому их можно безболезненно заменять.  
Есть "pepin", или "засада" - число кадров в сти, и, соотв., в жсд, должно соответствовать записи в коде, т.е. числу кадров в "generic'оковой"  стишке.
Зарегистрирован

Deleatur (лат.) - Стереть все, совсем все!
h.ea
[Башка]
Мистер ЭЧ

Я люблю этот Форум!


Ё-мэйл

Пол:
Репутация: +19
Re: Кое-что о файлах JSD
« Ответ #181 от 01.08.2010 в 09:15:07 »

Bonarienz спасибо большое  
я долго не мог найти JA2SET.DAT почемуто не замечал его))
Зарегистрирован

pipetz
[пипец всему!]
Прирожденный Джаец

Я очень люблю этот Форум!


Ё-мэйл

Пол:
Репутация: +291
Re: Кое-что о файлах JSD
« Ответ #182 от 03.08.2010 в 08:04:32 »

Новая версия JSDEditor с возможностью двигать камеру в просмотре. Камера вращается
стрелками как раньше, и теперь двигается клавишами W,S,D,A - вперед, назад вправо, влево
соответственно. Баги отмеченые MAn не исправлены. Возможно поэтому
не выкладывал раньше. Выкладывается по многочисленным просьбам Ломолом.
 
PS Вспомнил почему не выложил раньше. Архив весил больше 300 КБ, и к сообщению
не цеплялся. А на ФТП я почему-то не смог зайти. Zed
мне сказал, что это потому что я пользуюсь проводником Виндовс,
а надо пользоваться тру-файловыми менеджерами. Ставить тру-файловый менеджер меня что-то заломало  
так как акромя проводника виндовс отродясь ничем не пользовался.
Таким образом версия пылилась у меня аж с сентября 2009 года.
Но случилось чудо вышел NET 3.5, а под него сборки меньше получаются.
Вот щас скомпилил 228 кб всего архив. Ура! Ура! Прогресс на службе у человечества!
 
ЗЫЫ Соответственно для работы требуется NET 3.5. И не уверен будет ли работать под x64.

Вот прицепился!       JSDEditor_v1.3.0.rar
Зарегистрирован

- Джаец?
- Джаиц, джаиц.
- Ну, джаец, ну погоди!
https://github.com/egorovav/Ja2Project

Bonarienz
[Попокатепетль]


Враг Джавдета в анимации ДжА2, Бон-а-рьен-ц!




Репутация: +328
Re: Кое-что о файлах JSD
« Ответ #183 от 04.08.2010 в 06:39:17 »

2pipetz:  
Паздравлямс! Этот уже балуется... Ща и я заценю...
 
Урра! Просто "твой ник", до чего здорово!!!
 
Даже перепутанные кнопки "П. даун" и "П. Ап" не мешают! Враз запоминается!!!
 
Пипец - великий жысдо-строитель ДжАНОбии!!!
 
« Изменён в : 04.08.2010 в 06:50:03 пользователем: Bonarienz » Зарегистрирован

Deleatur (лат.) - Стереть все, совсем все!
pipetz
[пипец всему!]
Прирожденный Джаец

Я очень люблю этот Форум!


Ё-мэйл

Пол:
Репутация: +291
Re: Кое-что о файлах JSD
« Ответ #184 от 20.08.2010 в 00:09:01 »

Чтобы использовать неиспользуемые материалы "MATERIAL_NOTUSED1", "MATERIAL_NOTUSED2",
"MATERIAL_NOTUSED3", "MATERIAL_NOTUSED5", "MATERIAL_NOTUSED6" надо подложить
в папку с редактором файлик Ja2Materials.xml.
 
ЗЫ Ну там понятно используемость/неиспользуемость регулируется
правкой тэга <NotUsed></NotUsed>.
Вот прицепился!       Ja2Materials.rar
« Изменён в : 20.08.2010 в 03:16:19 пользователем: pipetz » Зарегистрирован

- Джаец?
- Джаиц, джаиц.
- Ну, джаец, ну погоди!
https://github.com/egorovav/Ja2Project

RightClicker
Гамос

Я люблю этот Форум!




Репутация: +6
Re: Кое-что о файлах JSD
« Ответ #185 от 09.09.2010 в 07:49:26 »

Вопрос - Редактор JSD кто то еще им занимается? Хочу предложить возможные улучшения (по мере возможностей). Во первых бросается в глаза форма тайла - 5х5х4 приплюснутый получается (потому что квадратики рисуются), на деле нужен тайл - вытянутый (холодильник) соотношение сторон 1 к 2 (0,5). В исходниках в комментариях написано, что высота тайла 8 футов (2,48 метра), ширину предлагают узнать самим, получается - 4 фута. Если коротко то высота и ширина одного "квадратика"(которых 100 в одном тайле) (с учетом 5х5х4) равна -  0,8 х 0,8 х 2. Я проверял выглядит отлично, особенно если - Во вторых камера повернута на 30 и 45 градусов как в Джазе. То есть неплохо было бы устанавливать камеру автоматом на "правильное место" примерно как на скриншоте. И еще может раскрашивать рядом стоящие "квадратики" разными цветами для удобства например.
Вот прицепился!       Camera.jpg
Зарегистрирован

RightClicker
Гамос

Я люблю этот Форум!




Репутация: +6
Re: Кое-что о файлах JSD
« Ответ #186 от 09.09.2010 в 07:50:59 »


Вот прицепился!       Tile.jpg
Зарегистрирован

pipetz
[пипец всему!]
Прирожденный Джаец

Я очень люблю этот Форум!


Ё-мэйл

Пол:
Репутация: +291
Re: Кое-что о файлах JSD
« Ответ #187 от 10.09.2010 в 05:07:24 »

09.09.2010 в 07:49:26, RightClicker писал(a):
Во первых бросается в глаза форма тайла - 5х5х4 приплюснутый получается (потому что квадратики рисуются), на деле нужен тайл - вытянутый (холодильник) соотношение сторон 1 к 2 (0,5).

Тут ты почти во всём прав. По крайней мере если смотреть по ящику из 0\DRUM_02.JSD,
то на картинке он кубический, а в жсд-редакотре высота в 2 раза меньше ширины.
Но например если посмотреть на 0\SLANT_01.JSD, то получается вот такая картинка.

По-моему как-то не очень смотрится.
Вот прицепился!       slant.JPG
Зарегистрирован

- Джаец?
- Джаиц, джаиц.
- Ну, джаец, ну погоди!
https://github.com/egorovav/Ja2Project

RightClicker
Гамос

Я люблю этот Форум!




Репутация: +6
Re: Кое-что о файлах JSD
« Ответ #188 от 10.09.2010 в 07:04:14 »

Смотрится не очень, а что поделать 4 слоя красиво нарисовать не получится как не старайся. А что ты уже поменял, я смотрю вытянутые "кубики"? Короче нормально крыша смотрится, самое то. Естественно тайл 100 на 100 кубиков смотрелся бы чертовски класно, только мы этого не хотим.
Зарегистрирован

RightClicker
Гамос

Я люблю этот Форум!




Репутация: +6
Re: Кое-что о файлах JSD
« Ответ #189 от 10.09.2010 в 07:46:26 »

pipetz - покажи как у тебя выводится графика - строится изображение. Если не трудно. Просто хочу посмотреть.
Зарегистрирован

pipetz
[пипец всему!]
Прирожденный Джаец

Я очень люблю этот Форум!


Ё-мэйл

Пол:
Репутация: +291
Re: Кое-что о файлах JSD
« Ответ #190 от 10.09.2010 в 08:04:42 »

10.09.2010 в 07:04:14, RightClicker писал(a):
А что ты уже поменял, я смотрю вытянутые "кубики"?

Да поменял. Это не сложно. И камеру повернул на 45/30.
А вот с раскраской "под долматинца" возни много.
 
Сама прога на C#.NET. Выводится как везде рисуется 3д-графика - треугольниками.
Непосредственно отрисовка с помощью неуправляемой библиотеки csgl.dll.
Всё хочу на WPF переписать, чтобы не было неуправляемого
кода, да никак не соберусь.
Вот прицепился!       JSDEditor_v1.3.1.rar
Зарегистрирован

- Джаец?
- Джаиц, джаиц.
- Ну, джаец, ну погоди!
https://github.com/egorovav/Ja2Project

RightClicker
Гамос

Я люблю этот Форум!




Репутация: +6
Re: Кое-что о файлах JSD
« Ответ #191 от 10.09.2010 в 10:07:24 »

   Если подставить к изображению крыши игровой бокс, то вариант с вытянутыми "квадратиками" кажется вполне нормальным.

Вот прицепился!       SLANT.jpg
Зарегистрирован

RightClicker
Гамос

Я люблю этот Форум!




Репутация: +6
Re: Кое-что о файлах JSD
« Ответ #192 от 10.09.2010 в 11:07:12 »

#include <iostream>
#include <math.h>
using namespace std;
 
bool getColor(int a, int b){
  a = a % 2;
  b = b % 2;
  a = a + b;
  if(a == 2) a = 0;  
  return (bool)a;
}
 
int main() {
 int i, j, k, c;
 
 for(k = 0; k < 4; k++) {
  for(i = 0; i < 5; i++) {
   for(j = 0; j < 5; j++) {
    c = k % 2;
    if(c) c = getColor(i, j);
    else c = !getColor(i, j);
    cout << c;
   }
  cout << endl;
  }
 cout << endl;
 }
}  
 
 
результат:
 
10101
01010
10101
01010
10101
 
01010
10101
01010
10101
01010
 
10101
01010
10101
01010
10101
 
01010
10101
01010
10101
01010
 
Это что касается одного тайла. Если захочешь всетаки сделать, то там будет один момент, из за того что размер 5х5 - рядом стоящие тайлы будут плохо смотрется - это легко устраняется учитывая сдвиги bXPosRelToBase и bYPosRelToBase. Я название функции подобрал дурацкое, поменяешь.
Зарегистрирован

pipetz
[пипец всему!]
Прирожденный Джаец

Я очень люблю этот Форум!


Ё-мэйл

Пол:
Репутация: +291
Re: Кое-что о файлах JSD
« Ответ #193 от 10.09.2010 в 17:25:17 »

2RightClicker:  
Спасибо конечно за функцию, но не покатит. Отрисовываются не кубики, а поверхности.
У тайла всего 6 поверхностей - left, right, front, back, top, botton. Они и отрисовываюся.
И цвет задаётся для всей поверхности перед её отрисовкой.
На самом деле цвет задаётся всего два раза перед отрисовкой left, right, front, back, botton и перед
отрисовкой top потому что у неё другой цвет, она немного потемнее.
Чтобы сделать такую раскраску, мне придётся формировать не 6 а 12 поверхностей  
по 2 на каждую сторону разного цвета ну и соответствующей формы.
 
Или реализовывать новый алгоритм. Не рисовать всю поверхность одновременно,  
а каждую клетку отдельно.
Зарегистрирован

- Джаец?
- Джаиц, джаиц.
- Ну, джаец, ну погоди!
https://github.com/egorovav/Ja2Project

pipetz
[пипец всему!]
Прирожденный Джаец

Я очень люблю этот Форум!


Ё-мэйл

Пол:
Репутация: +291
Re: Кое-что о файлах JSD
« Ответ #194 от 10.09.2010 в 17:52:07 »

Вот например top-поверхность для 0/TREE1_T.JSD.
То есть это совокупность всех top-поверхностей кубиков, которые должны быть видны.

И вся эта беда отрисовывается сразу, одним вызовом рисовальной функции из csgl.dll.
Это позволяет минимизировать число вызовов этой функции.
На отрисовку одного тайла всего 6 вызовов. Если рисовать по клеточкам,
то будет 25*2 + 20 * 4 = 130 вызовов. Тормоза были бы при отрисовке ИМХО.
По крайней мере в MapViewer-е точно. Там же вся карта сектора отрисовывается.
 

Вот прицепился!       top.JPG
Зарегистрирован

- Джаец?
- Джаиц, джаиц.
- Ну, джаец, ну погоди!
https://github.com/egorovav/Ja2Project

Bonarienz
[Попокатепетль]


Враг Джавдета в анимации ДжА2, Бон-а-рьен-ц!




Репутация: +328
Re: Кое-что о файлах JSD
« Ответ #195 от 11.09.2010 в 03:49:58 »

2pipetz:  
Алексей, а вот подсветку жсд можно ли изменить? Ведь светит с северо-востока (лев. верхн. угол), с элевацией 5Z x 2Y в координатах ДжА.
Т.е. верх - самый яркий, правый - средний, левый - самый темный.
 
Камера в игре стоит на главной диагонали куба в основании которого - куб (X,Y,Z), т.е. верхней полуплоскости пространства ДжА - т.е. X=Y=Z. Для рендеринга следует увязать систему координат ДжА с рендеровой. Так, для ПОВрэя (www.povray.org) будет Xj->Xp, Yj->-Zp, Zj->Yp.
Окно рендеринга выбирается со сторонами 2х1 - т.е. 200х100, 400х200 и т.д., с соотв. коэфф. размеров.
 
Элементарный ромб на экране, конформный тайлу ДжА, строится по центрам пикселов ромба размером 40х20 пикселов.
 
А для просмотра жсд никаких масштабов не надо, это же инструмент, а не развлекалка. Вот точная подсветка, 8 игровых ракурсов и послойный просмотр структур, да еще выведенный на клавиши или в гуи - это будет сила!!!
 
Мы как раз на станковом пулемете и опробуем!!!
« Изменён в : 11.09.2010 в 04:12:38 пользователем: Bonarienz » Зарегистрирован

Deleatur (лат.) - Стереть все, совсем все!
RightClicker
Гамос

Я люблю этот Форум!




Репутация: +6
Re: Кое-что о файлах JSD
« Ответ #196 от 11.09.2010 в 06:00:15 »

)) Маштаб не нужен, развлекалка... Какой вариант удобнее см картинку?

Вот прицепился!       mashtab.jpg
Зарегистрирован

pipetz
[пипец всему!]
Прирожденный Джаец

Я очень люблю этот Форум!


Ё-мэйл

Пол:
Репутация: +291
Re: Кое-что о файлах JSD
« Ответ #197 от 11.09.2010 в 06:25:57 »

11.09.2010 в 03:49:58, Bonarienz писал(a):
Алексей, а вот подсветку жсд можно ли изменить?

Что-то мудрёно как-то. Что надо сделать-то?  
 
11.09.2010 в 03:49:58, Bonarienz писал(a):
А для просмотра жсд никаких масштабов не надо, это же инструмент, а не развлекалка.

Ну не скажите. Допустим человек нарисовал стишку и хочет для неё сделать жсд.
Понятно что при создании жсд, он будет ориентироваться на пропорции объекта,
что нарисован на картинке. И если у него там кубик с площадью основания 1 тайл,
то он и в жсд тоже будет делать кубик, а получится у него не кубик, а столбик,  
за которым можно будет стоя прятаться.
Вы же видели как выглядели кубические ящики в жсд-едиторе, до того как я поправил
пропорции. Так что я считаю, что RightClicker   замечание сделал правильное.
Зарегистрирован

- Джаец?
- Джаиц, джаиц.
- Ну, джаец, ну погоди!
https://github.com/egorovav/Ja2Project

RightClicker
Гамос

Я люблю этот Форум!




Репутация: +6
Re: Кое-что о файлах JSD
« Ответ #198 от 11.09.2010 в 07:17:40 »

Четкость не потеряна, а специально увеличена, что бы глаза не напрягать.  

Вот прицепился!       mashtab2.jpg
Зарегистрирован

Bonarienz
[Попокатепетль]


Враг Джавдета в анимации ДжА2, Бон-а-рьен-ц!




Репутация: +328
Re: Кое-что о файлах JSD
« Ответ #199 от 11.09.2010 в 07:19:23 »

2pipetz:  
Смотрим на куб, с гранями вдоль осей. На нас смотрит ребро этого куба. В этом ракурсе получим:
 
Верх - светло-зеленый, правая грань - зеленая, левая грань - темно-зеленая.
 
По поводу размеров - с 2004 года ни разу не соизмерял чела с "кубиком" жсд, ибо рост любого чела в жсд - всегда(!!!) 3 (три) кубика. Причем кубик ног меняет высоту при "стоя" и "сидя". Т.е. размер кубиков не связан с видимыми размерами объектов НА ЭКРАНЕ!!!
 
Посылал же тебе самолет - 12х12 тайлов, но все особенности мотогондол и пулеметных пилонов - четко видны.
 
Кстати - в архиве три вида жсд-редактора при изменении зума. Объект размером 12х12 тайлов. Задний план "отрезается", но работать можно. Посмотри, наверное, можно поправить...
[attach]
 
Но если надо "подрастить" кубики - soit!, пусть подрастут.
 
По поводу иллюстрации - либо четкость потеряна при смене размера, либо неправильно настроен рендеринг.
"Кирпичики сетки" должны быть строго 2х1 пиксела.
 

Вот прицепился!       jsd_aircraft.rar
« Изменён в : 11.09.2010 в 07:22:16 пользователем: Bonarienz » Зарегистрирован

Deleatur (лат.) - Стереть все, совсем все!
Страниц: 1 2 3 4 5 6 7  Послать Тему Послать Тему Печатать Печатать

« Предыдущая Тема | Следующая Тема »

Статистика. Размер данных: 165154 GZip: off
A.I.M. » Powered by YaBB Modification 4 (v.4.0.0-pre)!
YaBB © 2000-2003. All Rights Reserved.