Vigilante 8: 2nd Offense хакинг [PSX]

Автор SPOT, 13 декабря 2013, 21:23

« назад - далее »

SPOT

Ромхакинг Vigilante 8: 2nd Offense Sony PlayStation
Vigilante 8 2 одна из лучших игр для PSX на мой взгляд. Но в Вигилант 8 II можно бы было добавить машины из первой части или активировать секретные карты. В общем, сделать всё то, на что хватит фантазии. К сожалению информации по хакингу PSX не много. Есть немного информации относительно перевода игра на PS One. Но что из себя представляют уровни в игре, как они хранятся, как хранится графика и всё такое.
В этой теме предлагаю писать всё, что известно по этому поводу.

SPOT

Хочу выложить наработки одного ромхакера, копавшего игру Vigilante 8: 2nd Offense,
известного под ником DenGame. Так сказать чтобы труды не пропадали даром.
 
Вступление
Очень захотелось новых карт в Vigilant 8 2nd offence, решил поковыряться в HEXе
 
Здесь буду вылаживать картинки
NUCLEAR
v8 NUCLEAR.jpg
 
OLYMPIC
v8 OLYMPIC.jpg
 
Немного покопавшись в файле LEVELа я нашел Heightmap.
Heightmap состоит из 6 - 9 кусков размером 64 X 64 Px.
Каждый кусок начинается с такого заголовка: 5A 4F 4E 45 00 00 40 00 (это первые 8 байт, они всегда одинаковые).
Весь кусок без заголовка = 16384 Bytes.
Каждый PIXEL куска = 4 Bytes, это можно высчитать: 
(64 * 64 = 4096 получаем 4096 пикселов, теперь зная размер файла 16384 делим его на количество пикселей (16384 / 4096 = 4 байта)

 В каждом пикселе содержится информация про карту высот и текстуру на этом пикселе, скорее всего первые 2 байта это карта высот, а вторые 2 байта это текстура и материал.
 
 
 
Как я и предпологал в 1 пикселе (00 00 00 00)
первый и второй байт - это heightmap
третий байт - это текстура
четвертый байт - это материал

Причем heightmap  содержит 2 байта и его минимальное значение = FFFF а максимальное = 0000 (чем больше число тем ниже пиксель)

SPOT

Взято из карты ROUTE66.EXP (Arizona)
* - отмечено то что еще может присутствовать в файле карты, но в данной карте этого нет

FORM ----------------------- заголовок карты
TERRTITL ------------------- текст (Название карты) надпись при загрузке
. -------------------------- всегда 00
TEXT ----------------------- текст (надпись когда карта уже загрузилась)
. -------------------------- всегда 00
XLSC ----------------------- картинка при загрузке
XLSC ----------------------- ?
XLSC ----------------------- ?
XLSC -----------------------
XLSC -----------------------
XLSC -----------------------
XLSC -----------------------
XLSC -----------------------
XLSC -----------------------
XLSC -----------------------
XLSC -----------------------
XLSC -----------------------
XLSC -----------------------
XLSC -----------------------
XLSC -----------------------
XLSC -----------------------
HEAD ----------------------- ?
XBGM ----------------------- картинка горизонта(SkyBox)  формат(*.TIM)
SUNA ----------------------- Солнце
COLS ----------------------- что-то типа атмосферы
XBMP ----------------------- текстура ланшафта формат(*.TIM)
XTIN -----------------------
ZONE ----------------------- ланшафт с тексурой и материалом (Heightmap)
ZONE ----------------------- ланшафт с тексурой и материалом (Heightmap)
ZONE ----------------------- ланшафт с тексурой и материалом (Heightmap)
ZONE ----------------------- ланшафт с тексурой и материалом (Heightmap)
ZONE ----------------------- ланшафт с тексурой и материалом (Heightmap)
ZONE ----------------------- ланшафт с тексурой и материалом (Heightmap)
ZMAP ----------------------- Массив здесь собирается полная карта (Heightmap)
FORM XOBFBIN ----------- Модели с текстурами
FORM XOBFBIN ----------- ? (чтото похожее на модели, возможно COLLISION)
AIMP ------------------------ ?
*XWAT --------------------- текстура воды формат(*.TIM) (используется только если на карте есть вода)
XRTP -----------------------
XRTP -----------------------
PLTX -----------------------
JUNC -----------------------
JUNC -----------------------
JUNC -----------------------
JUNC -----------------------
JUNC -----------------------
JUNC -----------------------
JUNC -----------------------
JUNC -----------------------
JUNC -----------------------
JUNC -----------------------
JUNC -----------------------
JUNC -----------------------
JUNC -----------------------
JUNC -----------------------
JUNC -----------------------
JUNC -----------------------
JUNC -----------------------
JUNC -----------------------
JUNC -----------------------
JUNC -----------------------
JUNC -----------------------
JUNC -----------------------
JUNC -----------------------
JUNC -----------------------
JUNC -----------------------
JUNC -----------------------
JUNC -----------------------
JUNC -----------------------
JUNC -----------------------
. ----------------------------- всегда 00
RSEG -----------------------
RSEG -----------------------
RSEG -----------------------
RSEG -----------------------
RSEG -----------------------
RSEG -----------------------
RSEG -----------------------
RSEG -----------------------
RSEG -----------------------
RSEG -----------------------
RSEG -----------------------
RSEG -----------------------
RSEG -----------------------
RSEG -----------------------
RSEG -----------------------
RSEG -----------------------
RSEG -----------------------
RSEG -----------------------
RSEG -----------------------
RSEG -----------------------
RSEG -----------------------
RSEG -----------------------
RSEG -----------------------
RSEG -----------------------
RSEG -----------------------
BSP ------------------------ BSP
FORM OBJ HEAD -------------- расположение объектов, сарт поинтов, оружия и т.д
 
 
немного понял как хранятся модели:
сначала идёт 584F424642494E (XOBFBIN) далее идет 20 и 4 байта (размер модели)

SPOT

Давно это было
Вроде все файлы моего проекта
V8_Tools

SPOT

К сожалению ко всем этим программа и написанному выше не хватает комментариев автора. Новичку во всём этом будет сложно разобраться, но информация будет полезна тем, кто тоже захочет порыться в игре V8 2.

SPOT

Ещё информация, всё тоже от того же автора.
 
Vigilante 8 - 8_2 PS Hack
 
Кому интересно присоединяйтесь.
Сейчас я занимаюсь LEVEL'ами, в дальнейшем хочу попробовать перенастроить оружие, достать модели.
Пока-что знаю как устроен LEVEL, HeightMap (не до конца), могу двигать объекты и Placeholder'ы (StartPoint), заменить SkyBox, текстуру Ландшафта, Сейчас разбираюсь как устроены Sun и атмосфера.
По идее могу добавить новые объекты (те что есть на карте) и точки появления оружия  (не пробовал, но по расчетам должно получиться).
Написал программу которая делит HeightMap на 3 составные части: HeightMap, TextureMap, MaterialMap.
Хочу написать программу для редактирования TextureMap и MaterialMap, правда в программировании не очень силён :). Ну вроде все.
 
Надо будет скачать V8 первый, а то я в демке копался.
вот кое какие скрины:
 
Поднял верхний левый кусок на значение 0707
 
Убрал всё лишнее, чтоб узнать, что нужно для работоспособности. Здесь был кинотеатр.

SPOT

Пока спал пришла идея взять vehicl'ы заменить моделями с уровня
вот что из этого получилось:
работает только первая машина, а дальше ошибка возможно нессответствие размера или смещения следующей машины
 
не бочка неиграбельна там ведь дальше меню выбора противников включается и на этом игра зависает
 
карты вскрыл HEX'ом
машины напрямую нельзя там формат моделей отличается(или текстуру непринимает так ка в V8_1 стандартный TIM, а в V8_2 TIM с таким заголовком 1000000018)
 
вчера заметил странную вещь окзуется там есть машины которые показуются в меню при выборе, и в отдельном файле хранятся те на которых ездиш.
Заменил все машины бочками думал на бочке против бочек пострелятся, а когда загрузилась карта я оказался на обычной машине .
 И еще разобрался как выдрать модели, там таже система как и у LEVELa только перед размером модели добавлен один байт.
теперь бы кто помог найти Vertexы и Faceы

 
уже есть несколько программ, есть программа чтоб разбивать файл LEVELа на составные части, разобрался как устроен COLS написал для его редактирования программу.
 
LEVELом я называю файл с расширением (*.EXP) например (ROUTE66.EXP).
COLS это одна из составных частей LEVELa
так понятней?
 
научились доставать ландшафт (HeightMap)
вот типа бонус
Demo1_RaycastWorld

SPOT

нет ланшафты в V8 2 лежат не в 3ds, а в своем формате, просто мы написали скрипты для 3ds max и Blender чтоб доставать их.
и отредактированый ландшафт вставить в игру получилось, правда покривился немного
 
 
Сегодня сделал ландшафт в 3ds Max'е и вставил его в игру. Кому интересно можете посмотреть.
в архиве собранная карта для Vigilante 8_2 и сам исходник ландшафта в формате (*.3ds).
 
ARIZONA
 
Давно я сюда не заходил
Если бы я сумел вытянуть модели то можно было бы и продолжить разработку редакторов и разных программ, а так пока только получилось увидеть точки с версии на Dreamcast, но Дримкаст меня не так сильно интересует как PlayStation, хотя на Дримкасте все тоже самое, только текстуры, музыка и звуки в своем формате, ну и модельки используют float.

Проект пока что заморожен, я очень занят другими делами и переездом, когда я это все начинал думал может кто еще заинтересуется, может чем поможет, правда заинтерисовался и во многом помог только один человек за что ему особая благодарность.

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

Если кому интересно пишите в личку или на аську, всем отвечу;), правда сейчас небольшие проблемы с интернетом
 

Цитировать 
ну и плюс ИИ он разобрал или нет я не в курсе.
не не разобрался я посмотрел там бред какой-то, правда я особо невникал.

Diablo

Было бы круто, если бы кто-то сделал такой хак, я бы в него играл. Помню в те годы сколько я эксперементировал с эти секретом открывающим в Vigilante 8: 2nd Offense карты из первой части. Это происходило подменой диска на паузе. Я то думал он берёт файлы с диска, и всячески экспериментировал, пытаясь подсунуть ему разные диск с другими играми типа гоночками и Twisted Mettal и т.п. Но нечего не выходило, и это естественно. Ведь потом я узнал, что эти самые карты просто лежат на диски со второй частью игры и просто активируются при помощи диска с первой частью Vigilante для PSX.
Было бы круто именно добавить новые карты не лишаясь старых, а так же новые машины, но это наверное сложнее так как нужно (если делать полноценный хак V8) сделать прокачку автомобиля, а это уже несколько разных 3D моделей.
Но думаю, если бы кто-то в серьёз занялся хакингом данной игры, то всё бы у него получилось. Ведь вон какие уже хаки Мортал Комбат делают, буквально всё, что угодно.

Diablo

Узнал, что совершенно недавно некий edgbla взялся за хакинг Twisted Metal 2. Планы у него просто колоссальные, правда видимо игра перестанет быть совместима с железом. Но всё это я говорю не к этому. Вот лучше бы он взялся за V8 2.

Alon

Цитата: Diablo от 13 февраля 2014, 20:14Узнал, что совершенно недавно некий edgbla взялся за хакинг Twisted Metal 2. Планы у него просто колоссальные, правда видимо игра перестанет быть совместима с железом. Но всё это я говорю не к этому. Вот лучше бы он взялся за V8 2.
Не вижу смысла от такого хакинга, что хак кабала, который до какого-то времени вообще на железе не запускался. Что этот на PSX работать не будет. С таким же успехом можно сделать новую игру для PC взяв просто за основу эту графику. Хак на то и ках, что бы на оригинале работал.

SPOT

DenGame продолжил работу над проектом. По этому продолжаю его цитировать дабы весь материал был в одном месте.
 
Вот дальность прорисовки текстур на ландшафте, дальше я так понимаю берутся цвета из файла COLS.
 
Вот что удалось узнать про дороги, информация может быть неточной

Цитировать 
JUNK файл может быть (2 типов), первый тип это дорога замкнутая, второй тип дорога незамкнутая, если дорога незамкнутая у неё появляется дополнение(окончание дороги), если дорога незамкнутая, в конце файла добавляется (Junction_Route66_Dirt_End.)
 
И вот еще про Объекты

Цитировать 
FORM файл состоит из 2 составных частей, первая часть объект с названием (OBJ HEAD, далее идет 4 байта размер части, далее идут данные которые заканчиваются названием объекта), и вторая часть (BSPI, далее идет 4 байта размер этой части, далее идут данные)
 

SPOT

Версия Dreamcast меня сейчас интересует, возможно позже, пока что я занят PS версией, тем более на эмуляторе легче и быстрее проверять изменения.

Вот небольшое достижение, я вроде понял как сдвигать на 1 квадрат
 

SPOT

Разобрался как устроена текстурная карта, 1 байт означает какая текстура будет использоваться, куда она повернута, и будет ли машина игрока в неё упираться.
 
Понял как хранятся объекты расположенные на карте, написал программу для просмотра их параметров, правда толку от программы пока мало.

SPOT

Сегодня сделал редактор для ZMAP (общая карта на которой собирается карта из зон обычно их 6, но есть исключение карта OLYMPIC она состоит из 9 кусков).
Максимальная карта может быть 32Х32, это 1024 зоны
В данный момент заняты очень нудной работой, проверяем какой байт за что отвечает в текстурной карте (всего 256 байт).
Загрузил редактор для Interstate 82, заметил схожести в структуре карты Interstate и Vigilante 8, вроде бы понял как устроены дороги.

Greengh0st

Давай, давай разбирайся)) Толковым хакером станешь, а мы тебя заюзаем)))

SPOT

Возможно кто-то что-то не так понял. Я всего-лишь держу всех в курсе по хакингу V8 2. Думал проект заброшен, собственно говоря, так оно и было. Но буквально несколько недель назад автор решил вернутся к хаку Vigilante 8 II, а я просто цитирую его, что бы все были в курсе.
Как я уже писал, автор хака DenGame. Я никоим образом не имею отношения к его трудам и не претендую на них.

SPOT

Ещё раз повторюсь, что бы не у кого не возникало никаких ложных впечатлений. Я цитирую DenGame, который в данный момент занимается хакингом V8 2.
 
Просто 3х колесная машина :lol:
А по теме, нашел все 3 координаты передних колес, пока только в меню, думаю в игре тоже самое

Diablo

Было бы прикольно не только изменить существующие модели автомобилей, но и добавить новые 3D модели. Можно бы было добавить различные популярные автомобили 90-х Mercedes 600-й (140 кузрв), кубик (геленваген), легенды американского автопрома Ford Mustang 1968 и т.п. года и т.п. Было бы круто увидеть их в такой игре.

SPOT

У DenGame есть неплохой прогресс по хакингу. Судя по всему он уже неплохо разобрался с картами. Вы можете посмотреть демонстрационное видео, которое позволит оценить прогресс хакинга Vigilante 8: 2nd Offense.
 
Как видно частично изменена сама карта и присутствуют тайлы зимний карты.