Exemple #1
0
void NetPlaySetupDiag::OnHost(wxCommandEvent&)
{
	NetPlayDiag *&npd = NetPlayDiag::GetInstance();
	if (npd)
	{
		PanicAlertT("A NetPlay window is already open!!");
		return;
	}

	if (-1 == m_game_lbox->GetSelection())
	{
		PanicAlertT("You must choose a game!!");
		return;
	}

	std::string game(WxStrToStr(m_game_lbox->GetStringSelection()));

	unsigned long port = 0;
	m_host_port_text->GetValue().ToULong(&port);
	netplay_server = new NetPlayServer(u16(port));
	netplay_server->ChangeGame(game);
	netplay_server->AdjustPadBufferSize(INITIAL_PAD_BUFFER_SIZE);
	if (netplay_server->is_connected)
	{
#ifdef USE_UPNP
		if (m_upnp_chk->GetValue())
			netplay_server->TryPortmapping(port);
#endif
		MakeNetPlayDiag(port, game, true);
	}
	else
	{
		PanicAlertT("Failed to listen.  Is another instance of the NetPlay server running?");
	}
}
void NetPlaySetupFrame::OnJoin(wxCommandEvent&)
{
  NetPlayDialog*& npd = NetPlayDialog::GetInstance();
  if (npd)
  {
    WxUtils::ShowErrorDialog(_("A NetPlay window is already open!"));
    return;
  }

  unsigned long port = 0;
  m_connect_port_text->GetValue().ToULong(&port);
  MakeNetPlayDiag(port, "", false);
}
Exemple #3
0
void NetPlaySetupDiag::OnJoin(wxCommandEvent&)
{
	NetPlayDiag *&npd = NetPlayDiag::GetInstance();
	if (npd)
	{
		PanicAlertT("A NetPlay window is already open!!");
		return;
	}

	unsigned long port = 0;
	m_connect_port_text->GetValue().ToULong(&port);
	MakeNetPlayDiag(port, "", false);
}
void NetPlaySetupFrame::OnHost(wxCommandEvent&)
{
  NetPlayDialog*& npd = NetPlayDialog::GetInstance();
  NetPlayServer*& netplay_server = NetPlayDialog::GetNetPlayServer();

  if (npd)
  {
    WxUtils::ShowErrorDialog(_("A NetPlay window is already open!"));
    return;
  }

  if (m_game_lbox->GetSelection() == wxNOT_FOUND)
  {
    WxUtils::ShowErrorDialog(_("You must choose a game!"));
    return;
  }

  std::string game(WxStrToStr(m_game_lbox->GetStringSelection()));

  bool trav;
  unsigned long listen_port = 0;
  if (m_direct_traversal->GetCurrentSelection() == 1)
  {
    trav = true;
    listen_port =
        m_traversal_listen_port_enabled->IsChecked() ? m_traversal_listen_port->GetValue() : 0;
  }
  else
  {
    trav = false;
    m_host_port_text->GetValue().ToULong(&listen_port);
  }

  IniFile inifile;
  inifile.Load(File::GetUserPath(D_CONFIG_IDX) + "Dolphin.ini");
  IniFile::Section& netplay_section = *inifile.GetOrCreateSection("NetPlay");

  std::string centralPortString;
  GetTraversalPort(netplay_section, &centralPortString);
  unsigned long int centralPort;
  StrToWxStr(centralPortString).ToULong(&centralPort);

  std::string centralServer;
  GetTraversalServer(netplay_section, &centralServer);

  netplay_server = new NetPlayServer((u16)listen_port, trav, centralServer, (u16)centralPort);
  if (netplay_server->is_connected)
  {
    netplay_server->ChangeGame(game);
    netplay_server->AdjustPadBufferSize(INITIAL_PAD_BUFFER_SIZE);
#ifdef USE_UPNP
    if (m_upnp_chk->GetValue())
      netplay_server->TryPortmapping(listen_port);
#endif
    MakeNetPlayDiag(netplay_server->GetPort(), game, true);
    netplay_server->SetNetPlayUI(NetPlayDialog::GetInstance());
  }
  else
  {
    if (trav && m_traversal_listen_port_enabled->IsChecked())
      WxUtils::ShowErrorDialog(
          _("Failed to listen. Someone is probably already listening on the port you specified."));
    else
      WxUtils::ShowErrorDialog(
          _("Failed to listen. Is another instance of the NetPlay server running?"));
  }
}