X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=backend.c;h=045657cc00f8a3d343ee4e5d1f751b4ce2e704ac;hb=b7a79fc5f838b5553d9d48ac26afad1c21111e95;hp=94d0e81636bc74cf095f982544666f27693ae03b;hpb=18fc21bfe47cf80d294fffc22eb00d7f4384cd62;p=xboard.git diff --git a/backend.c b/backend.c index 94d0e81..045657c 100644 --- a/backend.c +++ b/backend.c @@ -469,6 +469,7 @@ char FENepStatus; FILE *serverMoves = NULL; // next two for broadcasting (/serverMoves option) int loadFlag = 0; int shuffleOpenings; +int mute; // mute all sounds ChessSquare FIDEArray[2][BOARD_SIZE] = { { WhiteRook, WhiteKnight, WhiteBishop, WhiteQueen, @@ -2093,6 +2094,7 @@ read_from_ics(isr, closure, data, count, error) int backup; /* [DM] For zippy color lines */ char *p; char talker[MSG_SIZ]; // [HGM] chat + int channel; if (appData.debugMode) { if (!error) { @@ -2418,15 +2420,28 @@ read_from_ics(isr, closure, data, count, error) //if(appData.debugMode) fprintf(debugFP, "hunt for tell, buf = %s\n", buf+i); // [HGM] chat: intercept tells by users for which we have an open chat window + channel = -1; if(started == STARTED_NONE && (looking_at(buf, &i, "* tells you:") || looking_at(buf, &i, "* says:") || - looking_at(buf, &i, "* whispers:"))) { + looking_at(buf, &i, "* whispers:") || + looking_at(buf, &i, "*(*):") && (sscanf(star_match[1], "%d", &channel),1) || + looking_at(buf, &i, "*(*)(*):") && sscanf(star_match[2], "%d", &channel) == 1 )) { int p; sscanf(star_match[0], "%[^(]", talker+1); // strip (C) or (U) off ICS handle chattingPartner = -1; - if(buf[i-3] == 'r') // whisper; look if there is a WHISPER chatbox - for(p=0; p= 0) // channel broadcast; look if there is a chatbox for this channel + for(p=0; p