Mam np. taki kod:
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL);
Chciałbym żeby został on wywołany w danej aplikcji nie mojej głównej tylko innego exe'eka.
W C++ robiło się coś takiego:
FARPROC WINAPI myGetProcAddress(HMODULE hModule,LPCSTR lpProcName)
{
if(HIWORD(lpProcName))
{
// Tutaj kody na Hook OpenGL'a
}
return GetProcAddress(hModule,lpProcName);
}
np.
typedef void(APIENTRY *func_glBegin)(GLvoid);
func_glBegin org_glBegin;
void APIENTRY my_glBegin(GLvoid)
{
// wiadomo :D
org_glBegin();
}
if(!strcmp(lpProcName,"glBegin"))
{
org_glBegin=(func_glBegin)GetProcAddress(hModule,lpProcName);
return (FARPROC)my_glBegin;
}
Polega to na modyfikacji w pamięci po przez wczytanie danej funkcji i zmianę jej parametrów. Jednak problem w tym że w Delphi to nie działa.
W grze powinny być "białe ściany", bez teksturek po kompilacji w C++ są ale w Delphi nie ma.
Jak ktoś zdołał by mi pomóc to z góry naprawdę wielkie dzięki.