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.
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).
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.
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.
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.
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.
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.
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).
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. Figure out how to make 'tar' not include the entire directory structure, when creating the archive in create_static_linux.sh.
13. Communicate the paddle reset position to the peer, after a round.
13. Communicate the paddle reset position to the peer, after a round.