Необходимо выпилить из GTA SA весь стандартный HUD, добавить транспорт, объекты и прочие asset's. Так же нужно добавить шейдеры и прочие технологии изменения графики.
Изначально я действительно начал с помощью CheatEngine искать адреса вклиниваться в EndScene DirectX. То есть взял простенький xenos и начал играться. Потом дело дошло до оверлея на WinAPI + CEF.
Можно как-то это сделать проще? Наверняка уже есть инструменты для выполнения подобных работ. Как я понял, нужно использовать Plugin SDK для создания ASI-скриптов и ASI-loader для их внедрения.
Но чем рисовать GUI? Есть какая-то возможность через ASI скрипты внедряться в DirectX рендер? В основном используете Dear ImGui? Есть ли возможность для Web GUI, или нужно для такого в любом случае использовать CEF + WinAPI окно для создания оверлея?
CEF к игре подключается относительно легко. Единственное, если не хочется пихать libcef.dll в корень игры, придётся сделать биндинги и брать функции на рантайме.
Для отрисовки обычно подменяют IDirect3DDevice9 и рисуют в функции Present(). Я всегда поменял его в хуке после вызова функции CGame::InitialiseRenderWare() игрой.
Для чего-то серьёзного ImGui я бы не рекомендовал использовать, лучше уже подвязать цеф. Уже есть реализация на расте ( https://github.com/Pycckue-Bnepeg/samp-cef ), но если честно я бы энивей советовал переписать, как я и сделал, потому что там довольно старая версия цефа