src/server.c

changeset 122
e65d9b5e9324
parent 98
9cb41383540f
equal deleted inserted replaced
121:53f714ac783d 122:e65d9b5e9324
145 &(settings->gameinfo), sizeof(GameInfo)); 145 &(settings->gameinfo), sizeof(GameInfo));
146 } 146 }
147 addstr("\rClient connected - awaiting challenge acceptance..."); 147 addstr("\rClient connected - awaiting challenge acceptance...");
148 refresh(); 148 refresh();
149 int code = net_recieve_code(fd); 149 int code = net_recieve_code(fd);
150 int exitcode = 0;
150 if (code == NETCODE_ACCEPT) { 151 if (code == NETCODE_ACCEPT) {
151 addstr("\rClient connected - challenge accepted."); 152 addstr("\rClient connected - challenge accepted.");
152 clrtoeol(); 153 clrtoeol();
153 game_play(settings, &gamestate, fd); 154 game_play(settings, &gamestate, fd);
154 net_destroy(&server); 155 net_destroy(&server);
155 game_review(settings, &gamestate); 156 game_review(settings, &gamestate);
156 return 0;
157 } else if (code == NETCODE_DECLINE) { 157 } else if (code == NETCODE_DECLINE) {
158 addstr("\rClient connected - challenge declined."); 158 addstr("\rClient connected - challenge declined.");
159 clrtoeol(); 159 clrtoeol();
160 net_destroy(&server); 160 net_destroy(&server);
161 return 0;
162 } else if (code == NETCODE_CONNLOST) { 161 } else if (code == NETCODE_CONNLOST) {
163 addstr("\rClient connected - but gave no response."); 162 addstr("\rClient connected - but gave no response.");
164 clrtoeol(); 163 clrtoeol();
165 net_destroy(&server); 164 net_destroy(&server);
166 return 0;
167 } else { 165 } else {
168 addstr("\rInvalid client response"); 166 addstr("\rInvalid client response");
169 clrtoeol(); 167 clrtoeol();
170 168
171 net_destroy(&server); 169 net_destroy(&server);
172 return 1; 170 exitcode = 1;
173 } 171 }
172 gamestate_cleanup(&gamestate);
173 return exitcode;
174 } 174 }

mercurial