void Client::Start() { //Creating Everything RenderWindow *window = RenderWindow::getInstance(); _network = new Network(); _UDPnetwork = new Network(); _sound = new Sound(); //Connecting to server _network->init(window->getSettings()->getPort(), ANetwork::TCP_MODE); std::cout << "Connecting to : " << window->getSettings()->getIP() << ":" << window->getSettings()->getPort() << std::endl; try { _network->connect(window->getSettings()->getIP()); } catch (const std::exception &e) { std::cerr << e.what() << std::endl; } //Sending Handshake ANetwork::t_frame sender = CreateRequest::create((unsigned char)C_HANDSHAKE, CRC::calcCRC("Bonjour 1.0"), 0, "Bonjour 1.0"); _network->write(sender); //Creating SF::window window->setWindow(sf::VideoMode(1920, 1080, 32), "R-Pint"); window->setFramerateLimit(60); window->clear(); //Creating Textures for splash screen Texture *splashScreenTexture = new Texture(); Sprite *splashScreen = new Sprite(); splashScreenTexture->loadFromFile("../common/misc/splash_screen.png"); splashScreen->setTexture(*splashScreenTexture); splashScreen->setPosition(0, 0); //Display Splash screen and loading Ressources window->draw(splashScreen->getSprite()); window->display(); window->_ressources = new Ressources(); window->getPanels().push(static_cast<StartPanel*>(PanelFactory::createPanel(PanelFactory::PanelType::START_PANEL))); window->getPanels().top()->setUserInterface(); //Adding & playing music for Menu _sound->registerSound("../common/misc/mouseHover.ogg", "hover"); _sound->registerSound("../common/misc/accessDenied.ogg", "denied"); _sound->registerSound("../common/misc/metalDoorOpen.ogg", "door"); _sound->registerMusic("../common/misc/laserSound.ogg", "riffle"); _sound->registerSound("../common/misc/rocketSound.ogg", "missile"); _sound->registerSound("../common/misc/megaLaser1.ogg", "laser"); _sound->registerMusic("../common/misc/menuMusic1.ogg", "mainMenu"); _sound->registerSound("../common/misc/explosion1.ogg", "explosion1"); _sound->registerSound("../common/misc/gameOver.ogg", "endGame"); _sound->registerMusic("../common/misc/GameMusicIntro.ogg", "gameIntro"); _sound->registerMusic("../common/misc/GameMusicLoop.ogg", "gameLoop"); _sound->registerSound("../common/misc/BimBamBoum.ogg", "logoSound"); _sound->playMusic("mainMenu"); //Threading the Read std::unique_ptr<AThread> t(new Thread(1)); char str1[] = ""; (void) str1; t->attach(&readdisp, (void *)str1); t->run(); //Main Loop while(window->isOpen()) { window->getPanels().top()->update(); window->getPanels().top()->render(); window->display(); sf::Event event; while (window->pollEvent(event)) { window->getPanels().top()->getInputManager().methodChecker(event); } } //Closing Thread and Window t->cancel(); _network->close(); }