EXTERN_C UInt32_BOOL WINAPI RtuDllMain(HANDLE hPalInstance, UInt32 dwReason, void* pvReserved) { switch (dwReason) { case DLL_PROCESS_ATTACH: { STARTUP_TIMELINE_EVENT(PROCESS_ATTACH_BEGIN); if (!InitDLL(hPalInstance)) return FALSE; DllThreadAttach(hPalInstance); STARTUP_TIMELINE_EVENT(PROCESS_ATTACH_COMPLETE); return TRUE; } break; case DLL_PROCESS_DETACH: UninitDLL(hPalInstance); break; case DLL_THREAD_ATTACH: DllThreadAttach(hPalInstance); break; case DLL_THREAD_DETACH: DllThreadDetach(); break; } return TRUE; }
BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ) { switch (ul_reason_for_call) { case DLL_PROCESS_ATTACH: InitDLL(); break; } return TRUE; }
void Globals::Init(HippoD3d9Device* device, const char* dllname, int w, int h,HWND hwnd) { gHwnd=hwnd; gDevice = device; gRender = new TankGameRender(gDevice); gRender->Init(w,h); gFxEffectManager = new FxEffectManager; gEntityFactory=new EntityFactory(device); timer=new Timer; gWorld=new TankGameWorldImpl; gKeyControl=new GameKeyBoardControl(gWorld); gControl=gKeyControl; gFpsCamera = new FPSCamera; gFollowCamera = new FollowCamera; gRTSCamera=new ModelViewCamera; gCurrentCamera = gRTSCamera; gUI = new HippoUI("../media/ui/dxut_style.xml", gDevice->GetDeviceD3D9(), HDT_D3D9); InitDLL(dllname); }