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.
2024-02-26 21:39:23 -05:00
ded7c68ae7
Fixed misaligned bracket
2024-02-26 21:38:54 -05:00
edfd70c3cc
Created a simple data serialization library, to serialize and deserialize the data to be sent
2024-02-26 21:38:01 -05:00
87b436aede
Updated TODO
2024-02-26 21:36:50 -05:00
6ad56fb9ef
Started working on client-server communication; so far, I can send the position of client to server, and vice-versa
2024-02-23 11:16:21 -05:00
6155cb0463
Wrote code to null-terminate the string sent in sendAll, and the string received in recvAll
2024-02-23 11:15:45 -05:00
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.
2024-02-21 22:29:03 -05:00
b47b0eab28
Added new exception constants
2024-02-21 22:28:29 -05:00
0c726be147
Updated header file to reflect recent change in implementation file
2024-02-21 22:28:09 -05:00
7e362f0ed9
Moved the private functions out of the anonymous namespace, because I need to use them in other places
2024-02-21 22:27:49 -05:00
f3ad4fbf99
Defined constants for TCP and UDP, instead of using the characters themselves
2024-02-21 22:27:23 -05:00
f0e30f28e9
Updated header files to reflect recent change in implementation files
2024-02-21 22:26:59 -05:00
4fce513211
Updated TODO
2024-02-21 22:26:33 -05:00
9954a18171
Made the sendAll and recvAll functions in sock.cpp use variables set by the children, rather than having the functions pass parameters
2024-02-21 22:25:52 -05:00
350b51e28b
Added additional code to easysock library
2024-02-19 21:55:22 -05:00
ec51bcdb34
Added to TODO file
2024-02-19 21:41:30 -05:00
b07b3fc584
Renamed 'connect-helpers' to 'connect_code'
2024-02-19 21:41:15 -05:00
41f44797a1
Split connect_code file into header and implementation
2024-02-19 21:39:37 -05:00
e9c0fe563c
Added additional dependencies
2024-02-19 21:33:33 -05:00
5a8a42a828
Added comments to explain functions, and added UDP handling
2024-02-19 21:32:51 -05:00
11d0a1a5ab
Completely rewrote Client class, and split the class into header and implementation
2024-02-19 21:29:41 -05:00
98abf50da5
Completely rewrote Server class, and split the class into header and implementation
2024-02-19 21:28:07 -05:00
98160f0071
Renamed 'math-helpers.hpp' to 'sign.hpp'
2024-02-15 09:47:47 -05:00
cacc4f9d33
Included string header instead of iostream header, as this file doesn't need iostream
2024-02-15 09:47:25 -05:00
acf8271126
Renamed 'math-helpers.hpp' to 'sign.hpp' and updated main.cpp to reflect the change
2024-02-15 09:46:53 -05:00
3a7793bde8
Renamed header file include
2024-02-15 09:46:14 -05:00
3d944f2ed1
Added additional header file
2024-02-15 09:45:47 -05:00
f8b1994bde
Added additional flags for GCC
2024-02-15 09:45:31 -05:00
13da015683
Renamed base-helpers to numeric_base, and separated numeric_base into header and implementation files
2024-02-15 09:13:51 -05:00
a47e598b5c
Removed unnecessary comments
2024-02-15 07:48:10 -05:00
6593384d2d
Added Paddle.cpp and Ball.cpp as dependencies
2024-02-15 07:47:55 -05:00
17b391c1c3
Split 'paddle' class into header and implementation files
2024-02-15 07:47:35 -05:00
86411ae907
Split 'Ball' class into header and implementation files
2024-02-15 07:47:16 -05:00
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.
2024-02-14 18:32:40 -05:00
26427fa257
Added include guards to header files
2024-02-14 18:32:01 -05:00
195d6c4b4b
Separated 'Sock' file into header and implementation file, and added include guards to header file
2024-02-14 18:30:09 -05:00
4eaca05b68
Added 'sock.cpp' and removed include directory
2024-02-14 18:28:55 -05:00
b7e1066b68
Changed include path to be more explicit
2024-02-14 18:27:47 -05:00
fc041539c5
Changed Sock to Sock* in GameType struct to allow it to be set to null
2024-02-14 08:22:25 -05:00
cb0fe1af6b
Defined a 'GameType' struct that can hold both the mode, and the relevant socket, to enable polymorphism when calling socket methods
2024-02-14 08:09:34 -05:00
ee0c106236
Made 'Client' and 'Server' children of 'Sock' class
2024-02-14 08:08:58 -05:00
2e6b01a9bb
Defined a parent 'socket' class that both 'Client' and 'Server' can inherit from
2024-02-14 08:08:38 -05:00
f9bfefe3ad
Included additional header
2024-02-14 08:07:54 -05:00
4378aa3c6a
Added code to deal with improperly formatted codes
2024-02-11 23:23:00 -05:00
c8bc17fbce
Added additional functions for windows-specific actions
2024-02-11 23:22:39 -05:00
4c256d8800
Added call to SockQuit at the end
2024-02-11 23:22:19 -05:00
1f99c0929f
Updated TODO
2024-02-11 23:22:05 -05:00
d885b18f58
Updated TODO file
2024-02-07 21:57:19 -05:00
912435bfa3
Added new exception for invalid IP, used it if IP address is neither v4 nor v6
2024-02-07 21:55:05 -05:00
48739f6026
Created enum to denote if game is in client or server mode, and added error checking, to check if IP address is valid
2024-02-07 21:48:43 -05:00