Explorar el Código

Removed MultiPlayer.conn. Renamed MultiPlayer.conn_s -> MultiPlayer.conn

Aaro Saila hace 2 semanas
padre
commit
b252537e87
Se han modificado 2 ficheros con 27 adiciones y 30 borrados
  1. 26 28
      src/game/MultiPlayer.c
  2. 1 2
      src/game/MultiPlayer.h

+ 26 - 28
src/game/MultiPlayer.c

@@ -19,7 +19,7 @@
 
 static bool handle_game_state_msg(MultiPlayer *const mp) {
     GameStateMsg msg;
-    if (!recv_msg(mp->conn_s, NET_MSG_GAME_STATE, (uint8_t *) &msg)) {
+    if (!recv_msg(mp->conn, NET_MSG_GAME_STATE, (uint8_t *) &msg)) {
         return false;
     }
     GameStateMsg_to_GameState(&msg, &mp->state);
@@ -65,29 +65,29 @@ bool MultiPlayer_alloc(
 
     SE_LOG("Connected to server");
 
-    mp->conn_s = fdopen(mp->sock, "r+");
-    if (mp->conn_s == nullptr) {
+    mp->conn = fdopen(mp->sock, "r+");
+    if (mp->conn == nullptr) {
         close(mp->sock);
         SE_LOG_ERRORF("fdopen failed: (%d) %s", errno, strerror(errno));
         return false;
     }
 
     NetMsgType msg_type;
-    if (recv_msg_type(mp->conn_s, &msg_type) == ECONNRESET) {
-        fclose(mp->conn_s);
+    if (recv_msg_type(mp->conn, &msg_type) == ECONNRESET) {
+        fclose(mp->conn);
         close(mp->sock);
         SE_LOG_ERROR("Connection reset");
         return false;
     }
     if (msg_type != NET_MSG_IS_PLAYER_1) {
-        fclose(mp->conn_s);
+        fclose(mp->conn);
         close(mp->sock);
         SE_LOG_ERRORF("Did not get IS_PLAYER_1 msg, got: %u", msg_type);
         return false;
     }
     IsPlayer1Msg p1_msg = { 0 };
-    if (!recv_msg(mp->conn_s, NET_MSG_IS_PLAYER_1, (uint8_t *) &p1_msg)) {
-        fclose(mp->conn_s);
+    if (!recv_msg(mp->conn, NET_MSG_IS_PLAYER_1, (uint8_t *) &p1_msg)) {
+        fclose(mp->conn);
         close(mp->sock);
         SE_LOG_ERROR("Connection reset");
         return false;
@@ -103,45 +103,45 @@ bool MultiPlayer_alloc(
 
     mp->state = GameState_new(game_default_params, false);
 
-    if (recv_msg_type(mp->conn_s, &msg_type) == ECONNRESET) {
-        fclose(mp->conn_s);
+    if (recv_msg_type(mp->conn, &msg_type) == ECONNRESET) {
+        fclose(mp->conn);
         close(mp->sock);
         SE_LOG_ERROR("Connection reset");
         return false;
     }
     if (msg_type != NET_MSG_GAME_STATE) {
-        fclose(mp->conn_s);
+        fclose(mp->conn);
         close(mp->sock);
         SE_LOG_FATALF("[MultiPlayer_alloc] Did not get GAME_STATE msg, got: %u", msg_type);
     }
     if (!handle_game_state_msg(mp)) {
-        fclose(mp->conn_s);
+        fclose(mp->conn);
         close(mp->sock);
         SE_LOG_ERROR("Connection reset");
         return false;
     }
 
-    if (recv_msg_type(mp->conn_s, &msg_type) == ECONNRESET) {
-        fclose(mp->conn_s);
+    if (recv_msg_type(mp->conn, &msg_type) == ECONNRESET) {
+        fclose(mp->conn);
         close(mp->sock);
         SE_LOG_ERROR("Connection reset");
         return false;
     }
     if (msg_type != NET_MSG_GAME_START) {
-        fclose(mp->conn_s);
+        fclose(mp->conn);
         close(mp->sock);
         SE_LOG_FATALF("[MultiPlayer_alloc] Did not get GAME_START msg, got: %u", msg_type);
     }
 
-    if (!send_msg(mp->conn_s, NET_MSG_GAME_START, nullptr)) {
-        fclose(mp->conn_s);
+    if (!send_msg(mp->conn, NET_MSG_GAME_START, nullptr)) {
+        fclose(mp->conn);
         close(mp->sock);
         SE_LOG_ERROR("Connection reset");
         return false;
     }
 
     if (fcntl(mp->sock, F_SETFL, O_NONBLOCK) != 0) {
-        fclose(mp->conn_s);
+        fclose(mp->conn);
         close(mp->sock);
         SE_LOG_ERRORF("fcntl failed on mp->sock: (%d) %s", errno, strerror(errno));
         return false;
@@ -157,10 +157,8 @@ bool MultiPlayer_alloc(
 }
 
 void MultiPlayer_free(MultiPlayer *const mp) {
-    fclose(mp->conn_s);
-    mp->conn_s = nullptr;
-    // close(mp->conn);
-    // mp->conn = 0;
+    fclose(mp->conn);
+    mp->conn = nullptr;
     close(mp->sock);
     mp->sock = 0;
 
@@ -169,7 +167,7 @@ void MultiPlayer_free(MultiPlayer *const mp) {
 
 static void handle_paddle_pos_msg(MultiPlayer *const mp) {
     PaddleUpdateMsg msg;
-    recv_msg(mp->conn_s, NET_MSG_PADDLE_POS, (uint8_t *) &msg);
+    recv_msg(mp->conn, NET_MSG_PADDLE_POS, (uint8_t *) &msg);
     mp->state.paddle_l.pos[1] = msg.l_pos_y;
     mp->state.paddle_l.dirv[1] = msg.l_dirv_y;
     mp->state.paddle_r.pos[1] = msg.r_pos_y;
@@ -178,7 +176,7 @@ static void handle_paddle_pos_msg(MultiPlayer *const mp) {
 
 static void handle_ball_update_msg(MultiPlayer *const mp) {
     BallUpdateMsg msg;
-    recv_msg(mp->conn_s, NET_MSG_BALL_UPDATE, (uint8_t *) &msg);
+    recv_msg(mp->conn, NET_MSG_BALL_UPDATE, (uint8_t *) &msg);
     mp->state.ball.pos[0] = msg.ball_pos_x;
     mp->state.ball.pos[1] = msg.ball_pos_y;
     mp->state.ball.dirv[0] = msg.ball_dirv_x;
@@ -187,7 +185,7 @@ static void handle_ball_update_msg(MultiPlayer *const mp) {
 
 static void handle_score_update_msg(MultiPlayer *const mp) {
     ScoreUpdateMsg msg;
-    recv_msg(mp->conn_s, NET_MSG_SCORE_UPDATE, (uint8_t *) &msg);
+    recv_msg(mp->conn, NET_MSG_SCORE_UPDATE, (uint8_t *) &msg);
     mp->state.score_l = msg.l_score;
     mp->state.score_r = msg.r_score;
     SE_LOGF("score_l: %d score_r: %d", mp->state.score_l, mp->state.score_r);
@@ -226,7 +224,7 @@ static void handle_input(
 Screen MultiPlayer_tick(MultiPlayer *const mp, const double delta) {
     NetMsgType msg_type;
     while (true) {
-        const int res = recv_msg_type(mp->conn_s, &msg_type);
+        const int res = recv_msg_type(mp->conn, &msg_type);
         if (res == 0) {
             switch (msg_type) {
             case NET_MSG_PADDLE_CHANGE_DIR:
@@ -249,7 +247,7 @@ Screen MultiPlayer_tick(MultiPlayer *const mp, const double delta) {
             case NET_MSG_WIN:
             {
                 WinMsg msg;
-                if (!recv_msg(mp->conn_s, NET_MSG_WIN, (uint8_t *) &msg)) {
+                if (!recv_msg(mp->conn, NET_MSG_WIN, (uint8_t *) &msg)) {
                     SE_LOG_ERROR("Connection reset");
                     return PONG_MAIN_MENU;
                 }
@@ -292,7 +290,7 @@ Screen MultiPlayer_tick(MultiPlayer *const mp, const double delta) {
             .dir = (uint8_t) new_dir
         };
 
-        if (!send_msg(mp->conn_s, NET_MSG_PADDLE_CHANGE_DIR, (uint8_t *) &msg)) {
+        if (!send_msg(mp->conn, NET_MSG_PADDLE_CHANGE_DIR, (uint8_t *) &msg)) {
             SE_LOG_ERROR("Connection reset");
             return PONG_MAIN_MENU;
         }

+ 1 - 2
src/game/MultiPlayer.h

@@ -13,8 +13,7 @@ typedef struct {
     GameShapes shapes;
     bool is_player_1;
     int sock;
-    int conn;
-    FILE *conn_s;
+    FILE *conn;
 } MultiPlayer;
 
 bool MultiPlayer_alloc(