Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Темы - aleks926820

Страницы: [1]
1
На днях появилось желание поковырять четверочные файлы моделей (.WFT .WDR). Наткнулся на одну несостыковку в секции Geometry (она одинакова как для .wdr так и для .wft файла).
Geometry (Размер блока 0x50)
--------------------------------------------------------------------
0x00 4b LONG Идентификатор секции (0xF4486B00)
0x04 4b LONG Неизвестно 1 (Usually 0)
0x08 4b LONG Неизвестно 2 (Usually 0)
0x0C 4b Offset VertexBuffer             //4х байтовый офсет на секцию VertexBuffer (смещение указывается от начала файла)
0x10 4b LONG Неизвестно 3 (Usually 0)
0x14 4b LONG Неизвестно 4 (Usually 0)
0x18 4b LONG Неизвестноn 5 (Usually 0)
0x1C 4b Offset IndexBuffer          //4х байтовый офсет на секцию IndexBuffer (смещение указывается от начала файла)
0x20 4b LONG Неизвестно 6 (Usually 0)
0x24 4b LONG Неизвестно 7 (Usually 0)
0x28 4b LONG Неизвестно 8 (Usually 0)
0x2C 4b LONG IndexCount
0x30 4b LONG FaceCount
0x34 2b Short VertexCount
0x36 2b Short PrimitiveType
0x38 4b LONG Неизвестно 9 (Usually 0)
0x3C 2b Short VertexStride
0x3E 2b Short Неизвестно 10 (Usually 0)
0x40 4b LONG Неизвестно 11 (Usually 0)
0x44 4b LONG Неизвестно 12 (Usually 0)
0x48 4b LONG Неизвестно 13 (Usually 0)
0x4C 4b LONG Набивка                 (0xCDCDCDCD)

Здесь меня интересуют офсеты на VertexBuffer и IndexBuffer. 4х байтовый офсет указывает на местоположение секции (смещение секции указано от начала файла, т.е. допустим если указано смещение VertexBuffer 0x3E80 то смещаясь на него от начала файла мы натыкаемся на идентификатор секции VertexBuffer 0xD8BA6B00. (См. ниже)
--------------------------------------------------------------------
VertexBuffer (BlockSize 0x64)
--------------------------------------------------------------------
0x00 4b LONG Идентификатор         (0xD8BA6B00)
0x04 2b Short VertexCount
0x06 2b Short Unknown 1 (Usually 0)
0x08 4b Offset DataOffset to VertexData
0x1C 4b LONG VertexStride (36 without normal map, 52 with normal map)
0x20 4b Offset VertexDeclarationOffset
0x24 4b LONG Unknown 2 (Usually 0)
0x28 4b Offset DataOffset to VertexData (Again)
0x2C 4b LONG Unknown 3 (Usually 0)
0x30 32b LONG    Padding                 (0xCD)
--------------------------------------------------------------------
IndexBuffer] (BlockSize 0x40)
--------------------------------------------------------------------
0x00 4b LONG Идентификатор       (0x70B86B00)
0x04 4b LONG IndexCount
0x08 4b Offset DataOffset to IndexData
0x0C 4b LONG Unknown 1 (Usually 0)
0x10 32b LONG    Padding                 (0xCD)
--------------------------------------------------------------------
И в этих офсетах обнаружилась несостыковка. Я просмотрел .wdr, .wft (один из объектов карты), .wft (модель автомобиля).
В случае с .wdr и .wft (который представляет собой объект карты) офсеты на Vertex Buffer и Index Buffer действительно ведут к этим секциям.
В случае с .wdr файлом и .wft файлом объекта.
(Я просматривал файлы cj_int_plant_4.wdr из int_veg.img и gb_probox03.wft из clothes.img)

А в случае с .wft файлом автомобиля офсет приводит в какую-то другую секцию (admiral.wft из vehicles.img).
Вот собсна несостыковка, о которой идет речь. Офсет приводит в какое-то другое место, а не в секцию Vertex buffer с идентификатором 0xD8BA6B.

При этом реальное местоположение секции VertexBuffer так скажем на смещении 69580 байт, а не на 29184, как указано в Geometry.

Вопрос - почему офсет на секцию Vertex buffer (и аналогично на секцию Index buffer) в .wft файле автомобиля приводит в какую-то другую секцию, а не в эту секцию (Vertex\Index buffer)? Может надо смещаться откуда-то из другого места? Кто в курсе?
Повторюсь, что в случае с .wdr и с .wft, представляющие собой элементы карты\интерьера, все в порядке. Данная ерунда наблюдается только моделями авто.

2
Тут человек один интересуется (DMITRY_R) некоторыми вопросами касательно San Andreas, но не может зарегистрироваться на форуме.
Попросил за меня создать тему.
"
Доброго времени суток.

Первая задача такова, нужно увеличить дистанцию рендринга короны созданной опкодом  04D5.
Я уверен что существует какой-то адрес памяти хранящий значение дальности.

И вторая, есть адрес памяти 0xBA6797 который отвечает за громкость звуков в игре, со значениями от 0 до 64, но соль в том что он меняет значение громкости звука только в меню, а по факту в игре звук не меняется.
"

3
Скриптинг / Описание структуры объекта
« : Август 13, 2020, 01:07:56 am »
Кто-нибудь знает полное описание структуры объекта, которую можно получить опкодом
05E8=2,%2d% = object %1h% struct ?
Единственное знаю, что по смещению 0x5C находится номер модели, то бишь ID -  в структуре занимает 2 байта.

4
Давненько хотелось видеть в игре другую траекторию движения солнца - в частности захотелось в вайсовской криминалке реализовать траекторию движения солнца как в GTA SA .
Поковырявшись в памяти удалось её немного "изменить" - солнце восходит теперь не на севере а на юге (почти как в СА).
https://www.youtube.com/watch?v=64ig3PsuJ7s
Вылез "косяк" с освещением - свет от солнца по-прежнему идет,так скажем, с севера.
Но потом посмотрев повнимательнее функцию CCoronas::DoSunAndMoon, понял что движение спрайта солнца никак не зависит от движения направленного источника света. Так вот у меня вопрос - есть ли у directional light какая-то траектория ? Где её искать ? Хотелось бы исправить этот "косяк" с освещением.

5
Скриптинг / Прицепить звук к объекту.
« : Июль 11, 2018, 01:43:18 am »
Всем здрасьте.
Не так давно пустил по карте криминалки (а точнее по железке) тепловоз.
Вроде всё хорошо. Катается, радует глаз. Даже 2dfx освещение работает.
https://pp.userapi.com/c841333/v841333125/7a77f/9x4ow9Un9S8.jpg
https://pp.userapi.com/c830608/v830608411/98519/e6mW0LgGAb4.jpg
Но вот беда - не работает прикрепленный дым через 2dfx ( хотя на самом объекте он работает )
https://pp.userapi.com/c849328/v849328404/26c6e/bhfB_2qq44M.jpg
Так вот у меня 2 вопроса : как прицепить дым к движущемуся локомотиву и как прицепить к нему звук ?

6
Общие вопросы / След от лодки на воде
« : Февраль 22, 2018, 07:06:19 pm »
В кое веки решил запилить патч для криминалки. Начал с фикса воды в разных частях карты. Однако столкнулся с такой неприятной вещицей.


Может кто знает адрес, отвечающий за высоту этого следа от лодки?

7
Короче говоря от нефиг делать набросал программу для деления координат путей в paths.ipl. Особой ценности не несет, но думаю пригодится тем,кто любит поломать границы карты\путей для каких-то целей). Написана на палеолитском языке TurboBasic 1.0. Естественно,программа 16 разрядная,так что для запуска программы на 64 битных ОСях потребуется DosBox 0.73. Суть такова. Допустим с помощью Limit Adjuster 2.0 были расширены границы карты и путей в 2 раза. Берем файл path1.exe из архива и кладем рядом с paths.ipl. Затем открываем paths.ipl и удаляем вначале файла всякие inst end cull end и тп. Оставляем только path.(https://pp.userapi.com/c638430/v638430655/42509/EL6JZ3S-lx0.jpg).Затем опускаемся вниз файла и удаляем end.Готово.Теперь просто запускаем path1.exe. Программа попросит ввести коэффициент деления.Поскольку мы расширили границы в 2 раза,то вводим с клавиатуры без запятых и тп цифру 2.Жмем Enter.И через секунд 5-10 появится paths2.ipl с деленными координатами.Открываем paths2.ipl,опускаемся вниз и пишем end.Готово.Файл готов к употреблению игрой (https://pp.userapi.com/c638430/v638430655/42501/sTqfAtrH6ls.jpg).Программа толком не дописана:нет возможности записать end в конец paths2.ipl,и при делении координат программа оставляет в координатах кучу знаков после запятой. Но игра такой файл читает без проблем.Надеюсь,кому-нибудь пригодится.
UPD от 28.05.2017.Поправил программу.Теперь программа не оставляет большого количества знаков после запятых (хотя,конечно,кое где проскакивают длинные значения),вроде как записывает end в конец.Исходный paths.ipl теперь не надо редактировать (но если есть комментарий типа "# ipl file generated from paths.max" то его надо удалить).

8
Общие вопросы / GTA Criminal Russia beta 2 на вайс
« : Июнь 05, 2016, 02:56:32 pm »
Всем добрый день.Занимаюсь переносом GTA Criminal Russia beta 2 на gta vice city.Конверт идет более менее нормально,но возникли некоторые проблемы из-за лимитов движка.В частности не могу перенести полностью радар и не могу настроить уровень воды в определенных участках карты.Затрудняют работу col файлы криминалки.Лимит в вайсе около 2200 полигонов,а во многих col файлах криминалки полигонов гораздо больше.Приходится пока что оптимизировать col файлы руками и модификаторами в 3ds max.Так вот у меня вопрос:ломаются ли лимиты на количество полигонов в col файле и возможно ли расширить игровой радар?

Страницы: [1]