COD::COD() { /* Check for CoD 1.5 patch if(memcmp((void*)0x5A60D0, "1.5", 3) == 0) }*/ for(int i = 0; i < MAX_ENTITY_SIZE; i++) { this->entities[i].index = i; this->entities[i].base = g_entities + GENTITY_SIZE * i; this->entities[i].ptr = g_entities + GENTITY_SIZE * i; } version(); Cmd_AddCommand("codextended", version); Cmd_AddCommand("codversion", version); Cmd_AddCommand("help", version); Cmd_AddCommand("cracked", setCracked); InitScript(); initializeClient(); cracking_hook_call(0x465629, (int)Sys_LoadDll); if(GetModuleHandle("game_mp_x86.dll") != NULL) DLLInit(); }
BOOL WINAPI DllMain (HINSTANCE hModule, DWORD fdReason, LPVOID lpvReserved) { switch (fdReason) { case DLL_PROCESS_ATTACH: if (!DLLInit (hModule)) return FALSE; break; case DLL_PROCESS_DETACH: DLLExit (); } return TRUE; }
void *Sys_LoadDll( const char *name, char *fqpath, int( **entryPoint ) ( int, ... ), int ( *systemcalls )( int, ... ) ) { void *l = call<void*, const char*, char*, int(**)(int,...)>(0x4686D0, name, fqpath, entryPoint, systemcalls); DLLInit(); return l; }