![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
меню в игре (чужой) [D7, WinXP]
h8394E © (2006-08-13 21:41:00)Доброго времени суток.
В общем, мне надо выводить в чужую DirectX игру свою картинку(меню)... Так, например тренер GTA:SA от PiZZa делает... Покопался чуть-чуть в интернете, выяснил, что своими силами, если делать - то мерцать меню будет, так как FPS у DirectX'а быстрее, чем у любых таймеров.... Остался несколько вариантов - Отлавливать вызов функции EndScene(), рисовать свою картинку на 2й (скрытой) поверхности, и затем спокойно отдавать управление Present()....Я так понимаю, здесь хук установить надо на вызов EndScene()... но... я правда только о хуках на сообщения видел...
Ещё один вариант, это найти в игре адрес обращения к EndScene, поставить вместо него INT3 (исключение брейкпоинта), отловить это исключение, нарисовать, Выполнить EndScene() и передать управление обратно проге...
Третий вариант, это найти в пространстве игры свободное местечко, написать туда свой код отрисовки, вызов EndScene и переход назад, где мы были...Тогда, придётся на месте вызова EndScene на ассемблере писать
<адресс вызова EndScene>jmp <адресс нашего кода>
, ну, хотя это не такая уж и проблема...
Подскажите, пожалуйста, каким мне методом пользоваться и подкиньте, пожалуйса, код с хуком на процедуру...
Sapersky (2006-08-14 19:36:00) [1]См. madCodeHook
http://www.madshi.net/