src/main.c

changeset 191
6da16865a270
parent 190
c90386d55cb2
child 192
e57e2874fb2a
equal deleted inserted replaced
190:c90386d55cb2 191:6da16865a270
791 net_send_code(opponent, NETCODE_DECLINE); 791 net_send_code(opponent, NETCODE_DECLINE);
792 } 792 }
793 } 793 }
794 break; 794 break;
795 /* validate "the game has ended" claims */ 795 /* validate "the game has ended" claims */
796 case NETCODE_CHECKMATE:
797 return 1; /* no need to accept, they say they're toast, OK for us */
796 case NETCODE_THREEFOLD: 798 case NETCODE_THREEFOLD:
797 case NETCODE_NOMATERIAL: 799 case NETCODE_NOMATERIAL:
798 case NETCODE_STALEMATE: 800 case NETCODE_STALEMATE:
799 case NETCODE_CHECKMATE:
800 if ((code == NETCODE_THREEFOLD && gamestate->threefold) || 801 if ((code == NETCODE_THREEFOLD && gamestate->threefold) ||
801 (code == NETCODE_NOMATERIAL && gamestate->nomaterial) || 802 (code == NETCODE_NOMATERIAL && gamestate->nomaterial) ||
802 (code == NETCODE_STALEMATE && gamestate->stalemate) || 803 (code == NETCODE_STALEMATE && gamestate->stalemate)) {
803 (code == NETCODE_CHECKMATE && gamestate->checkmate)) {
804 /* auto-accept the claim */ 804 /* auto-accept the claim */
805 net_send_code(opponent, NETCODE_ACCEPT); 805 net_send_code(opponent, NETCODE_ACCEPT);
806 return 1; 806 return 1;
807 } else { 807 } else {
808 /* silently decline, do not add message to UI */ 808 /* silently decline, do not add message to UI */
821 821
822 /* send a code for ending the game, if required */ 822 /* send a code for ending the game, if required */
823 bool endgame = true; 823 bool endgame = true;
824 if (gamestate->checkmate) { 824 if (gamestate->checkmate) {
825 net_send_code(opponent, NETCODE_CHECKMATE); 825 net_send_code(opponent, NETCODE_CHECKMATE);
826 /* checkmate does not need to be accepted */
827 return 1;
826 } else if (gamestate->stalemate) { 828 } else if (gamestate->stalemate) {
827 net_send_code(opponent, NETCODE_STALEMATE); 829 net_send_code(opponent, NETCODE_STALEMATE);
828 } else if (gamestate->nomaterial) { 830 } else if (gamestate->nomaterial) {
829 net_send_code(opponent, NETCODE_NOMATERIAL); 831 net_send_code(opponent, NETCODE_NOMATERIAL);
830 } else if (gamestate->threefold) { 832 } else if (gamestate->threefold) {

mercurial