5. ----IN PROGRESS---- Figure out how to input game mode and (if applicable) IP address and port through the GUI, instead of the command-line.
6. Clean up / refactor the raygui code in main.cpp, that asks user for game mode. Instead of just having a giant blob of code in main.cpp, maybe split it into a function, or move it to another file. It should be easy to split it into a different function, since none of the functions take any specific parameters. The text box function, for example, only takes in the rectangle coordinates, and the text to display. I can move the code to a function, and then pass in any parameters that I need to pass in (I don't think I need to pass many parameters, though).
7. Allow the user to quit before the game actually starts i.e. while they are inputting the game mode.
8. Add better error checking in check_server and check_client functions in check_input.cpp. e.g. If client fails to connect, display a message in GUI.
8. Add better error checking in check_server and check_client functions in check_input.cpp. e.g. If client fails to connect, display a message.
9. Add 'install' target to Meson, to allow the user to install the game. This should also copy the .so files to the right locations.
10. Allow the user to specify which paddle they want to control, in multi-player mode.
11. Add IPv6 support for the server and client sockets (and everything that goes along with it, such as error handling for IP addresses).
12. Communicate the paddle reset position to the peer, after a round.
13. Test with valgrind.
14. Use the struct to establish a connection, and to start each round (instead of sending strings).
15. Use check_client() and check_server() for CLI invocation as well, and pass a flag that indicataes whether the parameters were entered through GUI or CLI (also probably create a function to handle printing vs. GUI display).