/* struct PlayerNode { PlayerNode *next; string Player_nick; IPaddress Player_IP; TCPsocket Player_TCPSOCK; }; */ void pre_game_client() { PlayerNode Client; //Sets up connecting to server SDLNet_ResolveHost(&Server_IP, Hosts_IP.c_str(), 1337); Client.Outbound=SDLNet_TCP_Open(&Server_IP); SDLNet_TCP_Send(Client.Outbound,My_nick.c_str(),My_nick.size()); sprintf(temphold,"%i",Client.Player_number); SDLNet_TCP_Recv(Client.Outbound,temphold,MAXLEN); Client.Player_number = atoi(temphold); SDL_WM_SetCaption(temphold, NULL); while(quit==false) { if( SDL_PollEvent( &event ) ) { switch (event.type) { case SDL_QUIT: { quit = true; break; } } } } } void pre_game_server() { //sets up the linked list PlayerNode *Root; PlayerNode *Conductor; Root = new PlayerNode; Root-> next = NULL; Conductor = Root; //Sets up server port listening SDLNet_ResolveHost(&Server_IP, NULL, 1337); Server_socket= SDLNet_TCP_Open(&Server_IP); while (quit == false) { //Testing //char Temphold[30]; //sprintf( Temphold, "%i", Player_count); //SDL_WM_SetCaption(Temphold, NULL); mouse_x = event.button.x; mouse_y = event.button.y; SDL_Flip( screen); SDL_Delay( 30 ); //Accepts the connection Conductor->Inbound = SDLNet_TCP_Accept(Server_socket); //If connection has come if(Conductor->Inbound!=NULL) { Conductor->Player_number=Player_count; SDLNet_TCP_Recv(Conductor->Inbound,temphold,MAXLEN); Conductor->Player_nick= Conductor->Player_nick + temphold; SDL_WM_SetCaption(Conductor->Player_nick.c_str(), NULL); sprintf(temphold,"%i",Conductor->Player_number); SDLNet_TCP_Send(Conductor->Inbound,temphold,MAXLEN); //Sets a new Node for the next player to connect to Conductor->next = new PlayerNode; Conductor=Conductor->next; Conductor->next=0; Player_count++; } if( SDL_PollEvent( &event ) ) { switch (event.type) { case SDL_QUIT: { quit = true; break; } } } } return; }