void AutopatcherClientGFx3Impl::Init(const char *_pathToThisExe, GPtr<FxDelegate> pDelegate, GPtr<GFxMovieView> pMovie) { pDelegate->RegisterHandler(this); delegate=pDelegate; movie=pMovie; strcpy(pathToThisExe,_pathToThisExe); autopatcherClient=RakNet::OP_NEW<AutopatcherClient>(_FILE_AND_LINE_); fileListTransfer=RakNet::OP_NEW<FileListTransfer>(_FILE_AND_LINE_); packetizedTCP=RakNet::OP_NEW<PacketizedTCP>(_FILE_AND_LINE_); autopatcherClient->SetFileListTransferPlugin(fileListTransfer); packetizedTCP->AttachPlugin(autopatcherClient); packetizedTCP->AttachPlugin(fileListTransfer); }
int FxPlayerTiny::Run() { // Windows conf if (!SetupWindow(GString(FXPLAYER_APP_TITLE " "))) return 1; ShowWindow(hWnd, SW_SHOWDEFAULT); UpdateWindow(hWnd); // Gfx conf GFxLoader loader; GPtr<GFxFileOpener> pfileOpener = *new GFxFileOpener; loader.SetFileOpener(pfileOpener); // Register FsCommandHander GPtr<GFxFSCommandHandler> pcommandHandler = *new FxPlayerFSCommandHandler; loader.SetFSCommandHandler(pcommandHandler); // Register FsDelegate pGameDelegate = *new FxDelegate(); loader.SetExternalInterface(pGameDelegate); pGameDelegate->RegisterHandler(this); GPtr<GFxImageCreator> pimageCreator = *new GFxImageCreator(1); loader.SetImageCreator(pimageCreator); // Login flash if (!(pMovieDef = *loader.CreateMovie(FXPLAYER_FILENAME))) { GString errorString = "Unable to load file: "; MessageBox(NULL, errorString.ToCStr(), "Error", MB_OK | MB_ICONEXCLAMATION); return 1; } if (!(pMovie = *pMovieDef->CreateInstance())) return 1; pMovie->SetViewport(Width, Height, 0,0, Width, Height); // HUD flash if (!(pHUDDef = *loader.CreateMovie(CONFIG_FILENAME))) { GString errorString = "Unable to load file: "; MessageBox(NULL, errorString.ToCStr(), "Error", MB_OK | MB_ICONEXCLAMATION); return 1; } if (!(pHUD = *pHUDDef->CreateInstance())) return 1; pHUD->SetBackgroundAlpha(0.0f); pHUD->SetViewport(Width, Height, 0,0, Width, Height); // render config if (!(pRenderer = *GRendererD3D9::CreateRenderer())) return 1; if (!pRenderer->SetDependentVideoMode(pDevice, &PresentParams, 0, hWnd)) return 1; pRenderConfig = *new GFxRenderConfig(pRenderer, GFxRenderConfig::RF_EdgeAA | GFxRenderConfig::RF_StrokeNormal); loader.SetRenderConfig(pRenderConfig); // how much to advance Flash playback. MovieLastTime = timeGetTime(); // Application / Player message loop. MSG msg; ZeroMemory(&msg, sizeof(msg)); while(msg.message != WM_QUIT && g_gamestate != GAME_STATE::QUIT) { if (PeekMessage(&msg, NULL, 0U, 0U, PM_REMOVE)) { TranslateMessage(&msg); DispatchMessage(&msg); } else { // Check for lost D3D Devices. if (pRenderer) { GRendererD3D9::DisplayStatus status = pRenderer->CheckDisplayStatus(); if (status == GRendererD3D9::DisplayStatus_Unavailable) { ::Sleep(10); continue; } if (status == GRendererD3D9::DisplayStatus_NeedsReset) { if (!SUCCEEDED(ResetD3D())) continue; } } switch (g_gamestate) { case GAME_STATE::LOGIN_SCREEN: DisplayLoginScreen(); break; case GAME_STATE::LOGINED: DisplayGameScreen(); break; default: break; } } } return 0; }