Разработка и ромхакинг > Ромхакинг

Модифицируем игры для Sega Saturn

<< < (15/17) > >>

paul_met:
Информация о модификации игр для Sega Saturn
--------------------------------------------------------------------------------------------
Список всех доступных патчей можно найти -  Здесь

yousver2:
nonamezerox, да, нашел нужный адрес, картинка сжимается и расширяется) Только в этой игре мне от этого лучше не стало, оказалось, что ничего не отрисовывается за пределами видимого экрана, который разрабы сделали - куча хлама :)) Это нужно еще видимую область расширять, попробую

nonamezerox:

--- Цитата: yousver2 от 06 Февраль 2023, 12:21:46 ---nonamezerox, да, нашел нужный адрес, картинка сжимается и расширяется) Только в этой игре мне от этого лучше не стало, оказалось, что ничего не отрисовывается за пределами видимого экрана, который разрабы сделали - куча хлама :)) Это нужно еще видимую область расширять, попробую

(Ссылка на вложение)

--- Конец цитаты ---

Так, тогда смотри изменяется ли инфа по этому самому адресу и откуда (тут может собираться Model View Projection матрица из трех отдельных их последовательным перемножением. В таком случае операция над элементом (0.0) затронет так же и масштабирование от матрицы вида. Судя по картинке - да, ты меняешь уже сведенную матрицу MVP.

Твоя задача найти откуда появляются значения этих коэффициентов.

Общая суть такова:

Матрица модели (Model)  - своя на каждую модельку . Отвечает за расстановку моделек по сцене.

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

Её задача привести ракурс кадра так что бы вершины модели оказались в аппаратных координатах экрана.

Матрица проекции (Projection) - окончательно отвечает за угол обзора, соотношение сторон и еще масштабирует по оси Z (это та что направлена внутрь монитора). Общая на всю игру.

При рендеринге матрица каждой модели умножается на матрицу вида и проекции, после чего через итоговую MVP матрицу умножением прогоняются все вершины модели и отправляются на рендер в GPU.



yousver2:
nonamezerox, ок, щас попробую, спасибо

Добавлено позже:

--- Цитата: nonamezerox от 06 Февраль 2023, 12:58:57 ---Так, тогда смотри изменяется ли инфа по этому самому адресу и откуда

--- Конец цитаты ---

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

Добавлено позже:
nonamezerox вышел на еще адреса, которые делают абсолютно тоже самое, только теперь по 3 разным адресам. Видимо, это и есть модель, вид и проекция, только они делают тоже самое - вид как был как на скриншоте выше, так и остался) Ок, щас попробую проследить один из них, интересно откуда пишется он

п.с. Эти 3 адреса пишутся при запуске игры, после логотипа Сега примерно
И пишутся они с адреса 0x5818000. Дальше их след теряется ))

nonamezerox:

--- Цитата: yousver2 от 06 Февраль 2023, 13:07:14 ---nonamezerox, ок, щас попробую, спасибо

Добавлено позже:
Не, адрес не меняется, записывается перед началом гонки, щас попробую посмотреть откуда

Добавлено позже:
nonamezerox вышел на еще адреса, которые делают абсолютно тоже самое, только теперь по 3 разным адресам. Видимо, это и есть модель, вид и проекция, только они делают тоже самое - вид как был как на скриншоте выше, так и остался) Ок, щас попробую проследить один из них, интересно откуда пишется он

п.с. Эти 3 адреса пишутся при запуске игры, после логотипа Сега примерно

--- Конец цитаты ---

Вот смотри, примерно что должно происходить:

https://godbolt.org/z/nczqEoe4e

yousver2:
nonamezerox, я просто смотрел , как в других играх это делается, на которых уже есть вайдскрины. Там сжатие картинки происходит от центра в обе стороны. А здесь почему-то картинка сужается справа налево только, при этом перс сужается влево тоже. Ну размеры перса наверное несложно будет найти, но от мусора это никак не избавляет. Все же у меня подозрение на поле видимости отрисовки, мож там клиппинг какой нибудь стоит, хз. Yabause эту игру не понимает, поэтому я лишен львинной доли фишек дебаггера

nonamezerox:

--- Цитата: yousver2 от 06 Февраль 2023, 13:46:59 ---Там сжатие картинки происходит от центра в обе стороны
--- Конец цитаты ---

Да, потому что ноль координат в центре экрана. И координаты с минусом в левой части и с плюсом в правой части экрана, соответсвенно.

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

И где то в коде из них либо вычитаются -1 и делится на 2 (в зависимости от того какой формат с плавающей точкой применяется)  или это делается в самой матрице (в таком случае в матрице итоговой должна быть заполнена колонка на 4 столбец 1 и вторая строка. 

А коэффициенты в диагонали масштабируют к тому же с учетом выставленного разрешения, соответсвенно.


Т.Е. в случае сатурна мы имеем такую матрицу проекции:


yousver2:
nonamezerox, не, все, я сдался  :lol: Эта игра выше моего среднего уровня интеллекта)) Ну по крайней мере получил знания по нахождению матрицы, спасибо, в следующей игре надеюсь, что картинка будет отрисовываться дальше разрешения экрана, как в других играх

nonamezerox:
Посоны, я просто оставлю это здесь:


Понимаю что оффтопик однако.

yousver2:
ох ты ж б.. Напоминает SlaveDriver двиг, только покруче по эффектам)

HayaoYokogawa:

--- Цитата: nonamezerox от 07 Февраль 2023, 08:27:52 ---Посоны, я просто оставлю это здесь:


Понимаю что оффтопик однако.

--- Конец цитаты ---
Ого. Аж поиграть захотелось. :wow:

yousver2:
paul_met, если хочешь, можешь сделать патчик из этого и добавить на свой сайт. Можешь меня не указывать, мне это вообще неважно) просто добавь в качестве коллекции

Mobile Suit Gundam

RAM
73cb2 0160 - увеличивает дальность отрисовки спрайтов
73398 8001 - увеличить разрешение по горизонтали

Увеличить дальность прорисовки бэкграунда:
открыть хекс редактором первый трэк образа (либо весь образ, если он один)
Найти
014000E0 028000E0
Заменить
016000E0 028000E0

Второй скрин у меня чуть растянут по горизонтали, не обращайте внимания)



Добавлено позже:

paul_met:

--- Цитата: yousver2 от 17 Февраль 2023, 13:35:51 ---73398 8001 - увеличить разрешение по горизонтали
--- Конец цитаты ---
Чую, это не сработает на других эмуляторах (на SSF, например) и на железе тоже.

yousver2:
paul_met, а, ну да, это ж рамка :) Хочешь ,я найду значения в образе)

paul_met:

--- Цитата: yousver2 от 17 Февраль 2023, 14:28:50 ---paul_met, а, ну да, это ж рамка :) Хочешь ,я найду значения в образе)

--- Конец цитаты ---
Дело не в этом. Чтобы корректно выполнить смену разрешения экрана необходимо повысить частоту CPU с помощью специального механизма (процедуры). Каждая игра делает это по-своему. В некоторых играх вообще отсутствует обращение к данной процедуре. Так что, просто записать необходимые биты по адресу 05F80000 будет недостаточно.

yousver2:
paul_met, оу, ну ладно) Ну я тогда в таком их виде здесь оставлю, мож кому захочется на эмуляторе поиграть, на меднафене например норм пашет. У меня просто железа нет, поэтому заморачиваться ради него как то не очень хочется :)

ViToTiV:

--- Цитата: nonamezerox от 07 Февраль 2023, 08:27:52 ---Посоны, я просто оставлю это здесь:
Понимаю что оффтопик однако.

--- Конец цитаты ---
чёт я сомневаюсь, что оно пойдёт на железе с такой скоростью, и пойдёт ли вообще

Dyons:

--- Цитата: ViToTiV от 20 Февраль 2023, 09:26:21 ---чёт я сомневаюсь, что оно пойдёт на железе с такой скоростью, и пойдёт ли вообще


--- Конец цитаты ---
че б ему не пойти, если таже Квака 2 на ПС1 пографонистей будет

yousver2:
Dyons, А еще есть Aliens Resurrection и Delta Force :) Они по-моему максимум выжимают из пс1

paul_met:
Разблокировка FPS работает и для игр Sega Saturn. Теперь дело за эмулятором, который сможет толково разгонять процы.

gotten:

--- Цитата: paul_met от 27 Декабрь 2024, 16:47:54 ---сможет толково разгонять процы
--- Конец цитаты ---
В случае с N64 подобный разгон ломает почти все игры. С Ps1 получше, но не уверен, точно помню игры, где разгон тоже ломал игровой процесс, все ускорялось.

Навигация

[0] Главная страница сообщений

[#] Следующая страница

[*] Предыдущая страница

Перейти к полной версии