HRESULT Init(HWND hWnd) { mod_file_system.Init("Core.FileSystem.dll"); mod_dx9.Init("Engine.Graphics.DX9.dll"); mod_file_system.CreateInstance(CLSID_CFileSystem, UUID_PPV(IFileSystem, &pFS)); gEnv = &sgEnv; gEnv->Core = 0; gEnv->Logger = 0; gEnv->PluginManager = 0; gEnv->FileSystem = pFS; IPlugin *plug; mod_dx9.CreateInstance(UUID_PPV(IPlugin, &plug)); plug->Initialize(gEnv, 0); plug->Release(); mod_dx9.CreateInstance(UUID_PPV(IRenderer, &pRenderer)); SRendererParams params; params.FullScreen = fullScreen; params.MainWindow = (WND_HANDLE)hWnd; params.ScreenHeight = iHeight; params.ScreenWidth = iWidth; params.BackBufferFormat = FMT_X8R8G8B8; pRenderer->Init(params); return InitGeometry(); }