diff --git a/src/network/packet.c b/src/network/packet.c new file mode 100644 index 0000000..0419efd --- /dev/null +++ b/src/network/packet.c @@ -0,0 +1,29 @@ +#include "../../include/network/packet.h" +#include +#include +#include + +int ProcessBallPacket(char* msg, Ball* ball, GameData* gd) +{ + // 1. Verify prefix + if (strncmp(msg, "BTRANS", 6) != 0) { + printf("Invalid prefix\n"); + printf("\nMSG: %s\n\n\n", msg); + return 1; + } + + int matched = sscanf(msg, "BTRANS %f %f %f", + &ball->y, &ball->vx, &ball->vy); + if (matched != 3) { + printf("Parsing failed\n"); + return 1; + } + + if (gd->host) + ball->x = RIGHT_COL - 1; + else + ball->x = LEFT_COL + 1; + ball->visible = 1; + + return 0; +} \ No newline at end of file