| 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 } |