106 Commits (ff8dc1f1f7d3a0bf7ac61e8516c8909b06db7633)
 

Author SHA1 Message Date
Aadhavan Srinivasan ff8dc1f1f7 Removed files related to cross-compilation.
I had a ton of issues related to cross-compilation (libraries not found, clashing function
names with raylib, improper linking), and I realized that it's too much work to cross-compile,
_and_ I'm using a build system. Instead, I'm probably just going to use my Windows VM to compile for Windows.
I still haven't decided what to do for Mac, though.
10 months ago
Aadhavan Srinivasan 4b3d5387a1 Changed code to support Windows libraries and functions as well 10 months ago
Aadhavan Srinivasan ddbbc322a6 Deleted Makefile, switched over fully to meson build system 10 months ago
Aadhavan Srinivasan b90d37c73f Added relevant files for cross-compilation to windows 10 months ago
Aadhavan Srinivasan 69e70eb206 Changed the recvAll return type from std::string to char pointer, and created a non-blocking version of the function 10 months ago
Aadhavan Srinivasan 349b0b78db Created method to set position of paddle 10 months ago
Aadhavan Srinivasan a37ec79f09 Changed 'recvAll' return type from std::string to char pointer, and created a non-blocking version of the function 10 months ago
Aadhavan Srinivasan ba667d020d Game is mostly finished, added a ton of code for reading and applying peer position.
The most important addition is that the program now parses data in the
Serial_Data struct, and updates the positions accordingly. I also removed
the old implementation with strings, and fixed a bunch of bugs along the way.
10 months ago
Aadhavan Srinivasan effeea73b9 Made the serialization code cleaner, and fixed a bug where data was overwritten by the null pointer 10 months ago
Aadhavan Srinivasan c6bbe82d25 Made the 'recvAll' function return a char pointer instead of a std::string, this is better for portability. Also created a non-blocking version of the function. 10 months ago
Aadhavan Srinivasan 6d1565a020 Updated TODO; removed finished items 10 months ago
Aadhavan Srinivasan 93d3f2e13f Added serialization C file as a dependency 10 months ago
Aadhavan Srinivasan 6eb02ab2ee Started working on implementing serialization code into the main game loop.
Currently, I'm trying to serialize data and send it to the peer socket, and deserialize it at the receiving end.
10 months ago
Aadhavan Srinivasan ded7c68ae7 Fixed misaligned bracket 10 months ago
Aadhavan Srinivasan edfd70c3cc Created a simple data serialization library, to serialize and deserialize the data to be sent 10 months ago
Aadhavan Srinivasan 87b436aede Updated TODO 10 months ago
Aadhavan Srinivasan 6ad56fb9ef Started working on client-server communication; so far, I can send the position of client to server, and vice-versa 10 months ago
Aadhavan Srinivasan 6155cb0463 Wrote code to null-terminate the string sent in sendAll, and the string received in recvAll 10 months ago
Aadhavan Srinivasan 89e1e8d45e Worked on further implementation of the network side of things.
Specifically, I added code to send a message from the client, after the client is launched. This message is used to try to connect to the server. Once the server receives this message, it responds back. After the client receives this response, the connection has been established, and the game can begin.

I also added code to wait (on the client side) for the server to press the spacebar.
10 months ago
Aadhavan Srinivasan b47b0eab28 Added new exception constants 10 months ago
Aadhavan Srinivasan 0c726be147 Updated header file to reflect recent change in implementation file 10 months ago
Aadhavan Srinivasan 7e362f0ed9 Moved the private functions out of the anonymous namespace, because I need to use them in other places 10 months ago
Aadhavan Srinivasan f3ad4fbf99 Defined constants for TCP and UDP, instead of using the characters themselves 10 months ago
Aadhavan Srinivasan f0e30f28e9 Updated header files to reflect recent change in implementation files 10 months ago
Aadhavan Srinivasan 4fce513211 Updated TODO 10 months ago
Aadhavan Srinivasan 9954a18171 Made the sendAll and recvAll functions in sock.cpp use variables set by the children, rather than having the functions pass parameters 10 months ago
Aadhavan Srinivasan 350b51e28b Added additional code to easysock library 10 months ago
Aadhavan Srinivasan ec51bcdb34 Added to TODO file 10 months ago
Aadhavan Srinivasan b07b3fc584 Renamed 'connect-helpers' to 'connect_code' 10 months ago
Aadhavan Srinivasan 41f44797a1 Split connect_code file into header and implementation 10 months ago
Aadhavan Srinivasan e9c0fe563c Added additional dependencies 10 months ago
Aadhavan Srinivasan 5a8a42a828 Added comments to explain functions, and added UDP handling 10 months ago
Aadhavan Srinivasan 11d0a1a5ab Completely rewrote Client class, and split the class into header and implementation 10 months ago
Aadhavan Srinivasan 98abf50da5 Completely rewrote Server class, and split the class into header and implementation 10 months ago
Aadhavan Srinivasan 98160f0071 Renamed 'math-helpers.hpp' to 'sign.hpp' 10 months ago
Aadhavan Srinivasan cacc4f9d33 Included string header instead of iostream header, as this file doesn't need iostream 10 months ago
Aadhavan Srinivasan acf8271126 Renamed 'math-helpers.hpp' to 'sign.hpp' and updated main.cpp to reflect the change 10 months ago
Aadhavan Srinivasan 3a7793bde8 Renamed header file include 10 months ago
Aadhavan Srinivasan 3d944f2ed1 Added additional header file 10 months ago
Aadhavan Srinivasan f8b1994bde Added additional flags for GCC 10 months ago
Aadhavan Srinivasan 13da015683 Renamed base-helpers to numeric_base, and separated numeric_base into header and implementation files 10 months ago
Aadhavan Srinivasan a47e598b5c Removed unnecessary comments 10 months ago
Aadhavan Srinivasan 6593384d2d Added Paddle.cpp and Ball.cpp as dependencies 10 months ago
Aadhavan Srinivasan 17b391c1c3 Split 'paddle' class into header and implementation files 10 months ago
Aadhavan Srinivasan 86411ae907 Split 'Ball' class into header and implementation files 10 months ago
Aadhavan Srinivasan 1b1dc4a3a2 Changed include paths to relative paths, and added an agnostic struct.
The agnostic struct consists of a 'Mode' enum, and a 'Sock' type. The
'Sock' can be either a Server or Client, depending on the type of game.
This allows polymorphism, as I don't have to worry about whether the game
is being run in Server or Client mode, and I can call the same methods regardless.
10 months ago
Aadhavan Srinivasan 26427fa257 Added include guards to header files 10 months ago
Aadhavan Srinivasan 195d6c4b4b Separated 'Sock' file into header and implementation file, and added include guards to header file 10 months ago
Aadhavan Srinivasan 4eaca05b68 Added 'sock.cpp' and removed include directory 10 months ago
Aadhavan Srinivasan b7e1066b68 Changed include path to be more explicit 10 months ago