Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.29;
Скачать: CL | DM;

Вниз

меню в игре (чужой)   Найти похожие ветки 

 
h8394E   (2006-08-13 21:41) [0]

Доброго времени суток.

В общем, мне надо выводить в чужую DirectX игру свою картинку(меню)... Так, например тренер GTA:SA от PiZZa делает... Покопался чуть-чуть в интернете, выяснил, что своими силами, если делать - то мерцать меню будет, так как FPS у DirectX"а быстрее, чем у любых таймеров.... Остался несколько вариантов - Отлавливать вызов функции EndScene(), рисовать свою картинку на 2й (скрытой) поверхности, и затем спокойно отдавать управление Present()....Я так понимаю, здесь хук установить надо на вызов EndScene()... но... я правда только о хуках на сообщения видел...

Ещё один вариант, это найти в игре адрес обращения к EndScene, поставить вместо него INT3 (исключение брейкпоинта), отловить это исключение, нарисовать, Выполнить EndScene() и передать управление обратно проге...

Третий вариант, это найти в пространстве игры свободное местечко, написать туда свой код отрисовки, вызов EndScene и переход назад, где мы были...Тогда, придётся на месте вызова EndScene на ассемблере писать
<адресс вызова EndScene>jmp <адресс нашего кода>

, ну, хотя это не такая уж и проблема...

Подскажите, пожалуйста, каким мне методом пользоваться и подкиньте, пожалуйса, код с хуком на процедуру...


 
Sapersky   (2006-08-14 19:36) [1]

См. madCodeHook
http://www.madshi.net/



Страницы: 1 вся ветка

Текущий архив: 2007.04.29;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.05 c
1-1172700372
timself
2007-03-01 01:06
2007.04.29
Как переназначить кнопку закрытия программы [x]?


15-1174982775
Игорь Шевченко
2007-03-27 12:06
2007.04.29
Не знает ли кто форматировщика исходных текстов на паскале


3-1170860196
valua
2007-02-07 17:56
2007.04.29
Хранимая процедура : выбор записей + количество по полю


2-1175845690
=Teddy=
2007-04-06 11:48
2007.04.29
Как определить возраст папки?


3-1171025705
Gin2
2007-02-09 15:55
2007.04.29
ADO - большой файл(~184 Мб) в блоб