Merge pull request #44 from jeroen-groeneweg/network_multiplayer

Changed SB icons
Fixed icon
Move if-statement for pause in pause()
Merge pull request #45 from rayburgemeestre/network_multiplayer

Move if-statement for pause in pause()
Back button added and can be used to navigate one level back from menu's and selection screens; Removed return options from menu's
Fix UDP bug where too many udp sockets were opened.
Transfer PING? PONG! over UDP as well.
Merge pull request #50 from rayburgemeestre/network_multiplayer

Network multiplayer
CMake now works if build dir is not equal to source dir
Merge pull request #51 from rayburgemeestre/network_multiplayer

CMake now works if build dir is not equal to source dir
Lot's of fixes required to get UDP transmissions (hopefully) stable. :-)

* Moved establishing of "communication token" to front of all communication in separate negotiation state.
* Mark client's "UDP ready" with explicit "Server-ready" / "Client-ready" negotiation.
* Fix UDP for server's clients.
**Do not open separate UDP ports for serverclients, just bind them.
**Only allocate packet once
**Only free packet in destructor, once freed, succesful send's in sdl are no longer guarenteed.
**Do not send communicationToken in every packet.
* Fix UDP for client's serverclient.
**No longer account for communicationToken from server in UDP packets
**Use new parse_udp() function that gives preference to UDP parsing, and prevents "collisions" with TCP data (when parsing)
**The communication token is now a Uint32, prevents problems when communicating between 32bit and 64bit platforms. (The sizeof() structs wouldn't match.)
**Explicit acknowledgement of SetCommunicationToken.
* Client only sends PING? requests periodically if it has a communicationtoken available.
* New parse_udp that "inserts" the UDP packet in the buffer, so it's processed first. It restores the "expecting packet" state if a TCP packet is not fully received.
* Fix bug in Server where it would attempt to receive UDP packets even though it is not initialized as a server.
* Explicit binding of client remote ip+port to the UDP socket on server. The communicationToken is for extra security.
* Calculating lags on server is an explicit state now. Only handled after commToken is ready.
Merge pull request #52 from rayburgemeestre/network_multiplayer

Lot's of fixes required to get UDP transmissions (hopefully) stable. :-)
Sometimes the addr. set in the first (default) Client::Client remained active. Rewrote into shared_ptr to hopefully fix this.
This was a problem.. Not 100% sure why at that point there is no client object.
Disable some debugging output by default
Merge pull request #53 from rayburgemeestre/network_multiplayer

Network multiplayer
Make server startup fast again. By removing some useless hostname lookup
Merge branch 'network_multiplayer' of github.com:DemonTPx/smashbattle into network_multiplayer
Fix suits consistency accross client/server. Make it compatible with > 4 players.
Merge pull request #54 from rayburgemeestre/network_multiplayer

Network multiplayer