Перейти к содержимому


Фотография

Моддинг San Andreas PS2


Сообщений в теме: 76

#61 Lego

Lego

    Активный участник

  • Пользователи
  • PipPipPip
  • 343 сообщений
  • Пол:Не определился


Отправлено 08 July 2011 - 20:40

> San Andreas должен нормально очищаться MapCleaner-ом, там все автоматизировано.
на PS2 так же как на компе у меня не получается O_o

> А разве есть возможность полноценного маппинга на ps2 версии? О.о
а что, в принципе должна быть.
PS2-шный DFF вроде как не особо и отличатся, а некоторые пишут что он вообще идентичен.

ну для того чтобы тестить всякую фигню я и хотел освободить карту и IMG.

Сообщение отредактировал Lego: 08 July 2011 - 20:51


#62 SILENT_Pavel

SILENT_Pavel

    Активный участник

  • Пользователи
  • PipPipPip
  • 937 сообщений


Отправлено 08 July 2011 - 20:47

Ну вроде сейчас карту делают на компе, координаты портируют на консоль, насколько я понял алгоритм маппинга...

#63 Lego

Lego

    Активный участник

  • Пользователи
  • PipPipPip
  • 343 сообщений
  • Пол:Не определился


Отправлено 08 July 2011 - 21:55

да вся фишка в том что ВСЕ основные ресурсы SA PS2 по своей сути идентичны SA PC. - для TXD я могу написать конвертер, если найду алгоритм swizzling'а для PS2 - в DFF скорее всего понадобится добавить/удалить пару-тройку extension'ов. - col2 прекрасно редактируется CE2 от steve-m, ну а про ide и ipl я вообще молчу. итого вполне реально сделать конвертер, который бы преобразовывал PC-карты в PS2 формат. ну или хотя бы более менее осветить эту тему, потому что редактирование в том состоянии, в котором оно находится сейчас моддингом назвать сложно.

Сообщение отредактировал Lego: 08 July 2011 - 21:56


#64 SILENT_Pavel

SILENT_Pavel

    Активный участник

  • Пользователи
  • PipPipPip
  • 937 сообщений


Отправлено 09 July 2011 - 08:53

Lego
Да тут верно, с моддингом тут туго, но возможно, на боксе он был развит больше. А думаешь заработает например мод GTA United? Ну Алиен сити конечно нет...

#65 Lego

Lego

    Активный участник

  • Пользователи
  • PipPipPip
  • 343 сообщений
  • Пол:Не определился


Отправлено 09 July 2011 - 10:43

думаю, с этим сложнее. лимиты PS2 вряд ли кто-то разбирал вообще, нету CLEO и т.д. Алиен может и можно перенести. по крайней мере карту - она не превосходит размеры оригинального SA. но этим нужно серьёзно заниматься.

Сообщение отредактировал Lego: 09 July 2011 - 10:58


#66 solom

solom

    Активный участник

  • Пользователи
  • PipPipPip
  • 267 сообщений
  • Пол:Мужчина


Отправлено 09 July 2011 - 11:26

Помню дагерон создавал программу для редактирования ps2 .txd формата. Выкладывал он ли её?

#67 Lego

Lego

    Активный участник

  • Пользователи
  • PipPipPip
  • 343 сообщений
  • Пол:Не определился


Отправлено 09 July 2011 - 12:20

сама прога-то мне не нужна, только если исходники. да и я вроде как почти разобрался со swizzling'ом.

нужно сделать нормальное преобразование TM2 <> BMP и конвертер готов.


вообщем, мне интересно, кто-нибудь на деле чистил карту SA или хотя бы удалял один район?

Сообщение отредактировал Lego: 09 July 2011 - 17:36


#68 Lego

Lego

    Активный участник

  • Пользователи
  • PipPipPip
  • 343 сообщений
  • Пол:Не определился


Отправлено 09 July 2011 - 23:53

вот кстати моя програмка, для которой я спрашивал про swizzling
правда, пока что она консольная и только экспортирует 8-битные tm2 из TXD или отображает структуру TXD.

#69 Dageron

Dageron

    Активный участник

  • Пользователи
  • PipPipPip
  • 1130 сообщений
  • Пол:Мужчина
  • Город:Пермь


Отправлено 10 July 2011 - 14:34

Большие моды на PS2 просто так не перенести, поскольку формат *.dff на PS2 отличается от ПК. Приставка же при этом должна нормальным образом читать ПК-модели, поскольку в некоторых архивах *.img содержатся именно ПК *.dff (player.img, насколько я помню), но запускать игру с ПК-моделями объектов я не пробовал. Так что, возможно, здесь тоже есть своеобразные нюансы и тонкости, нужно экспериментировать.

Lego
Хорошая работа, с чем еще остались какие-либо трудности? :)

Если возникла проблема с 4 bpp, то на самом деле все должно быть просто, тонкость лишь в том, что только в GTA3 текстуры 4 bpp не под swizzling-ом, в отличии от VC и SA. Твоя программа консольная, следовательно, можно добавить вполне удобную возможность указания соответствующего параметр запуска, которым задавалась бы необходимость использования swizzling-а на 4 bpp текстурах.
в проекте gtamodding.ru: декабрь 2008 - декабрь 2012

#70 Lego

Lego

    Активный участник

  • Пользователи
  • PipPipPip
  • 343 сообщений
  • Пол:Не определился


Отправлено 10 July 2011 - 15:04

Приставка же при этом должна нормальным образом читать ПК-модели, поскольку в некоторых архивах *.img содержатся именно ПК *.dff

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

Хорошая работа, с чем еще остались какие-либо трудности?

Твоя программа консольная,

спасибо. позже попробую сделать под винду, но сейчас меня интересует больше принцип работы с ресурсами, чем инерфейс).
далее в планах разобрать ПК-шный несжатый формат и сделать конверсию PC<>PS2.

хм... а для 4-х битных текстур вроде нужен другой принцип swizzling'а, не?

что только в GTA3 текстуры 4 bpp

возможно, что при таком маленьком разрешении, как в gta3 swizzling просто не имеет смысла и R* его не использовали. ты не сравнивал разрешения текстур?

Сообщение отредактировал Lego: 10 July 2011 - 15:10


#71 Dageron

Dageron

    Активный участник

  • Пользователи
  • PipPipPip
  • 1130 сообщений
  • Пол:Мужчина
  • Город:Пермь


Отправлено 10 July 2011 - 15:19

Lego
Может дело и в разрешении, да только в любом случае это не столь важно...

А что программа консольная как раз не страшно, наоборот, пусть лучше уж будет такой удобный конвертер :).
Для текстур с 4bpp действительно другая процедура swizzling-а, но сложностей там никаких быть не должно.
в проекте gtamodding.ru: декабрь 2008 - декабрь 2012

#72 Lego

Lego

    Активный участник

  • Пользователи
  • PipPipPip
  • 343 сообщений
  • Пол:Не определился


Отправлено 10 July 2011 - 19:32

консольный конвертер будет в любом случае, просто вдобавок хочу сделать просмотрщик, если запустить прогу без ключей. но пока что в планах: - добавить импорт TM2 и создание текстуры "с нуля" из набора TM2. - всё то же самое, только с BMP. - далее попробовать конвертировать несжатые PC TXD и, возможно, сжатые. алсо, попозже могу скинуть исходники, если кому будет интересно.

Сообщение отредактировал Lego: 10 July 2011 - 19:35


#73 Lego

Lego

    Активный участник

  • Пользователи
  • PipPipPip
  • 343 сообщений
  • Пол:Не определился


Отправлено 01 August 2011 - 15:04

ВНЕЗАПНО извиняюсь за дабл-потс
untitled4.jpg

кагбе скрин TXD_2048 (первая версия была косольной, показывать было нечего). уже есть поддержка BMP, нормальная работа пока с 8 битами.

скоро уже сделаю замену и импорт, тогда скину сюда :lol:

P.S. картинка флипнута, т.к. растр я тупо не менял а скопировал с PS2.

--эдит вот более наглядный скрин:
Untitled_1.png
потом может отделюную статью создам, если что получится.

Сообщение отредактировал Lego: 02 August 2011 - 14:41


#74 Dageron

Dageron

    Активный участник

  • Пользователи
  • PipPipPip
  • 1130 сообщений
  • Пол:Мужчина
  • Город:Пермь


Отправлено 02 August 2011 - 16:31

Lego
Молодец, что разобрался со структурой RW-секций и со спецификой графики на PS2 :) .

Сейчас у тебя наверняка получилась своеобразная сборка различных процедур для обработки графики - подобный комплект по своей сути всегда является очень удобным, ведь процедуры применимы для любой PS2-игры. Так что если вдруг решишь извлечь текстуры откуда-нибудь еще, то разбирать графику не придется - основная часть работы уже проделана, дальше нужно будет писать только обработчики, ориентированные на устройство графических директорий или ресурсов (архивов) в конкретных играх.

По программе все хорошо, просмотр текстур порадовал. Одна лишь небольшая оговорка (скорей даже пожелание) - обязательно ли оставлять поддержку Manhunt? Просто понятно, что ты тестировал на разных RW-играх, но добавлять (или оставлять) поддержку Manhunt - уж точно не слишком хорошая идея...

И, кстати, ты еще не продумал, как отображать альфа-канал? Если нет, то могу описать свой метод, который использовал в GTA Stories Texture Explorer.
в проекте gtamodding.ru: декабрь 2008 - декабрь 2012

#75 Lego

Lego

    Активный участник

  • Пользователи
  • PipPipPip
  • 343 сообщений
  • Пол:Не определился


Отправлено 02 August 2011 - 18:31

спасибо.

> структурой RW-секций
для секций у меня отдельный класс RW stream, который любой файл начиная с указанного оффсета начинает иерархически разбирать как дерево RW. он не идеален, но меня устраивает пока.
то есть на базе программы можно за 5 минут сделать читалку IMG-архивов (но я пока не планирую) или распознавание TXD с указанного оффсета ^_^ что может быть удобно для исследования всяких левых и неизвестных файлов. например, так у меня получилось открыть какой-то IMG от Макс Пейна.

> обязательно ли оставлять поддержку Manhunt?
э... не вижу ничего плохого в этом.
да и дело в том, что структура всех TXD PS2 по сути одинакова. Возможно есть какие-то флаги, но по идее всё должно быть вообще одинаково.
пока тестирую на этих играх.
- GTA San Andreas (PS2)
- GTA Vice City (PS2)
- GTA III (PS2)
- Bully (PS2)
- Manhunt (PS2)
- Max Payne (PS2) - не помню какая часть пейна, просто текстурка есть.

> И, кстати, ты еще не продумал, как отображать альфа-канал? Если нет, то могу описать свой метод, который использовал в GTA Stories Texture Explorer.
не очень понял про что ты.
хм, оно, вроде, отображается, я просто его не особо смотрел - он какой-то "серый" - на полностью непрозрачных картинках значения четвёртого байта цвета равно 80. може ты про это? если так, то давай :)
у меня есть класс ps2_bitmap (над котрым сейчас работаю), он позволяет сохранить текстуру с тем же bpp, что и оригинал, а так же получить хэндл 24- или 32-битной картинки, так что с самим рендером проблем нет.

На данный момент программа довольно лаговая, вцелом немного побыстрее просмотрщика от steve-m'а (уж не знаю почему) и с неполной поддержкой 4bbp.

и да, это... можешь скинуть код swizzling'a для 4-битных текстур. лучше на плюсах, но можно и на дельфи. использовал этот но он не работает.
если есть инфа по 32-битным текстурам, то тоже скинь, пожалуйста - они там есть, но я их ещё не смотрел.

Сообщение отредактировал Lego: 02 August 2011 - 18:36


#76 Dageron

Dageron

    Активный участник

  • Пользователи
  • PipPipPip
  • 1130 сообщений
  • Пол:Мужчина
  • Город:Пермь


Отправлено 03 August 2011 - 10:13

э... не вижу ничего плохого в этом.
да и дело в том, что структура всех TXD PS2 по сути одинакова. Возможно есть какие-то флаги, но по идее всё должно быть вообще одинаково.

Если помнишь, я тоже когда-то писал программу для работы с *.txd на PS2, но дописывать до конца и публиковать ее не стал (почему - как-то однажды уже говорил). Конечно, в любом случае дело твое, решай как знаешь, но все равно на мой взгляд наличие программ для работы с текстурами из таких игр, как Manhunt и Bully явно не несет за собой ничего положительного... По поводу флагов, к сожалению, сказать ничего не могу, так как я не разбирал внутреннюю структуру RW-секций полностью (вот и подумал, может, ты находил какие-нибудь идентификаторы или что-то вроде).

не очень понял про что ты.
хм, оно, вроде, отображается, я просто его не особо смотрел - он какой-то "серый" - на полностью непрозрачных картинках значения четвёртого байта цвета равно 80. може ты про это? если так, то давай
у меня есть класс ps2_bitmap (над котрым сейчас работаю), он позволяет сохранить текстуру с тем же bpp, что и оригинал, а так же получить хэндл 24- или 32-битной картинки, так что с самим рендером проблем нет.

Ну, ты уже сделал экспорт в *.bmp изображения "в альфа-режиме" и просмотр альфа-канала?

Четвертный байт цвета всегда должен быть не больше 0x80. Для нормального отображения текстуры после чтения палитры и перед обработкой графических данных нужно домножить этот параметр на два и вычесть единицу. Так работает просмотр альфы в моем Stories Texture Explorer, возможно, аналогичным образом была реализована и функция "Brighten Alphas" в PS2 TXD Viewer от steve-m. При редактировании же суть такова: если значение параметра альфа-канала находится в диапазоне от 0x80 до 0xFF включительно, то могут возникнуть очень неприятные глюки, которые будет очень сложно отловить при тестировании на эмуляторе (на оригинальной PS2 текстуры будут "засвечиваться", отображаться очень яркими).

и да, это... можешь скинуть код swizzling'a для 4-битных текстур. лучше на плюсах, но можно и на дельфи. использовал этот но он не работает.

У меня есть процедура для обработки блока графических данных 4-битных текстур, но она написана на Delphi. Выложил на pastebin, посмотри. Если переписать под C++ не удастся, то у меня где-то был код и на C# (не такой, как по твоей ссылке).

если есть инфа по 32-битным текстурам, то тоже скинь, пожалуйста - они там есть, но я их ещё не смотрел.

Где ты их находил, случайно ли не в Bully? Процедур для обработки 32-битных текстур в текущей сборке исходников у меня нет, поскольку целенаправленно я никогда с нимине работал. Если нужно, то информацию по ним можно поискать где-нибудь на форумах ps2dev.org или xentax.com.
в проекте gtamodding.ru: декабрь 2008 - декабрь 2012

#77 Lego

Lego

    Активный участник

  • Пользователи
  • PipPipPip
  • 343 сообщений
  • Пол:Не определился


Отправлено 03 August 2011 - 10:50

думаю, дальше переходим в тему

> Где ты их находил, случайно ли не в Bully?
ха, нет, в GTA3. Причём с GTA3 самые большие проблемы получаются.

> Ну, ты уже сделал экспорт в *.bmp изображения "в альфа-режиме" и просмотр альфа-канала?
ну три режима отображения: текстура, альфа, текстура + альфа.
соответственно, в первом случае экспортируется изображение, во втором - экспортируется альфа, в третьем - изображение сохраняется как 32-битное BMP RGBA (но я это ещё не сделал)

> домножить этот параметр на два и вычесть единицу
отлично, попробую так. только нужно не забывать что 0-1 = 255 для байта.

спасибо, код сейчас посмотрю.

Сообщение отредактировал Lego: 03 August 2011 - 11:16




Ответить



  


Количество пользователей, читающих эту тему: 2

0 пользователей, 2 гостей, 0 анонимных