Добавлен , опубликован

Думаю, многие уже видели проект Nirvana, в котором автор реализовал технологию Normal Mapping.
Я переделал Direct3D8to9 библиотеку из данного проекта, теперь вместо генерации карт нормалей, они загружаются из файлов.

Тестовые скриншоты


Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
13
9 лет назад
Отредактирован ENAleksey
0
Нужна помощь.
Кто-нибудь имеет опыт работы со взломом игр, в получении и изменении данных?
Кто может объяснить, как получить данные, возвращаемые jass функцией, из сторонней программы?
Библиотека, которую я использую имеет GameHook. Я получил адрес нужной мне функций, например, "GetCameraTargetPositionX". Что теперь я должен с ним сделать, чтобы получить возвращаемое функцией значение?
0
12
9 лет назад
0
Хмм, sharpcraft + direct3d11 + hjass. Теперь из варкрафта можно лепить всё что угодно. Почти. Если суммировать эти и еще остальные наработки получается уже "свой" варик. Если бы ещё опенсурс
0
13
9 лет назад
0
А ты можешь подобные вещи (чтение карт нормалей из файла) реализовать для любой игры?
0
13
9 лет назад
0
J64_, сорцы sharpcraft'а есть, а что такое hjass? Прости, не в курсе.
Skarn, Для каждой игры нужно вручную настраивать: во-первых, нужно знать адрес вызова функции Direct3DCreateX, если используется Direct3D, во-вторых нужно получить доступ к функциям отрисовки игры, или, как в данной библиотеке, использовать ручное установление текстур для заранее найденных примитивов по их NumVertices, Stride и PrimCount.
ENAleksey:
что такое hjass
Поискал, вспомнил.
2
13
9 лет назад
2
ENAleksey:
J64_, сорцы sharpcraft'а есть, а что такое hjass? Прости, не в курсе.
Skarn, Для каждой игры нужно вручную настраивать: во-первых, нужно знать адрес вызова функции Direct3DCreateX, если используется Direct3D, во-вторых нужно получить доступ к функциям отрисовки игры, или, как в данной библиотеке, использовать ручное установление текстур для заранее найденных примитивов по их NumVertices, Stride и PrimCount.
ENAleksey:
что такое hjass
Поискал, вспомнил.
Если бы запилил такую же тему на WoW был бы очень благодарен. Хватит уже адовой некрофилией с трупом wc3 заниматься.
1
15
9 лет назад
Отредактирован Харгард
1
Хмм, sharpcraft + direct3d11 + hjass. Теперь из варкрафта можно лепить всё что угодно.
Как на счет адекватного 16:10, неглючащего WASD и реконекта?
Если бы запилил такую же тему на WoW был бы очень благодарен. Хватит уже адовой некрофилией с трупом wc3 заниматься.
Skarn, разве WoD этого не умеет из коробки?
2
13
9 лет назад
Отредактирован ENAleksey
2
Решил переносить освещение и bump mapping на шейдеры. Шейдеры готовы, но в них нужно передавать такие данные, как координаты положения и цели камеры.
Я нашёл адреса данных функций:
0x003D8F6C "GetCameraTargetPositionX"
0x003D8F80 "GetCameraTargetPositionY"
0x003D8F94 "GetCameraTargetPositionZ"

0x003D8FBC "GetCameraEyePositionX"
0x003D8FD0 "GetCameraEyePositionY"
0x003D8FE4 "GetCameraEyePositionZ"
Теперь нужно как-то получить значения возвращаемые этими функциями.
Здесь имеется код hook'а, где происходит возвращение значения функции GetUnitDamage, кто сможет объяснить, как сделать тоже самое, только для работы с игровой?
Новостей месяц не будет: сегодня уезжаю отдыхать.
0
21
9 лет назад
0
хотим когда могём!
1
13
9 лет назад
1
Харгард:
Хмм, sharpcraft + direct3d11 + hjass. Теперь из варкрафта можно лепить всё что угодно.
Как на счет адекватного 16:10, неглючащего WASD и реконекта?
Если бы запилил такую же тему на WoW был бы очень благодарен. Хватит уже адовой некрофилией с трупом wc3 заниматься.
Skarn, разве WoD этого не умеет из коробки?
Неа, нормал мэппинг в WoW не используется, насколько мне известно.
0
25
9 лет назад
0
Как на счет адекватного 16:10, неглючащего WASD и реконекта?
:3333 16 на 9 и реконнект это супир
4
13
9 лет назад
4
На следующий день после того, как я уехал, мне в голову пришла мысль, как заставить всё работать без использования дополнительных hook'ов!
Жаль, что под рукой был только телефон, и я не мог проверить данный способ на работоспособность. У меня были все файлы проекта, и я уже всё написал, но проверить смогу только через месяц, когда приеду домой.
Если всё получится, не будет проблем сделать normal и parallax mapping, отражения, мягкие тени и многое другое. Но есть большой шанс, что ничего не получится, поэтому я всё ещё жду вашей помощи и буду очень вам благодарен за запасной способ реализации.
Что касается поддержки Direct3D11, я думаю, что нельзя просто поменять цифру 9 на 11 во всех файлах. Пока рано об этом думать, и сначала нужно завершить работу с "девяткой".
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.