summaryrefslogtreecommitdiffstats
path: root/mbbsd/talk.c
diff options
context:
space:
mode:
authorscw <scw@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2005-09-11 01:30:22 +0800
committerscw <scw@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2005-09-11 01:30:22 +0800
commitf1c53390c4817e5f9552588f298808764ef1bc65 (patch)
tree6410c5100306d7aa816f796ad0f2865a76e64e8b /mbbsd/talk.c
parent3a13adbea9793d58c961c3fc869fd1f79fdedad3 (diff)
downloadpttbbs-f1c53390c4817e5f9552588f298808764ef1bc65.tar
pttbbs-f1c53390c4817e5f9552588f298808764ef1bc65.tar.gz
pttbbs-f1c53390c4817e5f9552588f298808764ef1bc65.tar.bz2
pttbbs-f1c53390c4817e5f9552588f298808764ef1bc65.tar.lz
pttbbs-f1c53390c4817e5f9552588f298808764ef1bc65.tar.xz
pttbbs-f1c53390c4817e5f9552588f298808764ef1bc65.tar.zst
pttbbs-f1c53390c4817e5f9552588f298808764ef1bc65.zip
GO convertion to chess framework
* versus, personal and watching all work chess.c framework update * "pass" and "tie request" are distinguished * chess-specific key binding * post-game processing !!!NOTE!!! Chess protocals are NOT backward compatible RESTART WHOLE system to ensure correctness git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@3153 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
Diffstat (limited to 'mbbsd/talk.c')
-rw-r--r--mbbsd/talk.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/mbbsd/talk.c b/mbbsd/talk.c
index 12d526bf..56f1d4bd 100644
--- a/mbbsd/talk.c
+++ b/mbbsd/talk.c
@@ -1487,7 +1487,7 @@ my_talk(userinfo_t * uin, int fri_stat, char defact)
ch == DARK || ch == GO || ch == CHESSWATCHING ||
(!ch && (uin->chatid[0] == 1 || uin->chatid[0] == 3)) ||
uin->lockmode == M_FIVE || uin->lockmode == CHC) {
- if (ch == CHC || ch == M_FIVE || ch == CHESSWATCHING) {
+ if (ch == CHC || ch == M_FIVE || ch == GO || ch == CHESSWATCHING) {
sock = make_connection_to_somebody(uin, 20);
if (sock < 0)
vmsg("無法建立連線");
@@ -1512,6 +1512,10 @@ my_talk(userinfo_t * uin, int fri_stat, char defact)
case SIG_GOMO:
gomoku(msgsock, CHESS_MODE_WATCH);
break;
+
+ case SIG_GO:
+ gochess(msgsock, CHESS_MODE_WATCH);
+ break;
}
}
}
@@ -1613,7 +1617,7 @@ my_talk(userinfo_t * uin, int fri_stat, char defact)
close(sock);
currutmp->sockactive = NA;
- if (uin->sig == SIG_CHC || uin->sig == SIG_GOMO)
+ if (uin->sig == SIG_CHC || uin->sig == SIG_GOMO || uin->sig == SIG_GO)
ChessEstablishRequest(msgsock);
add_io(msgsock, 0);
@@ -1648,7 +1652,7 @@ my_talk(userinfo_t * uin, int fri_stat, char defact)
chc(msgsock, CHESS_MODE_VERSUS);
break;
case SIG_GO:
- gochess(msgsock);
+ gochess(msgsock, CHESS_MODE_VERSUS);
break;
case SIG_TALK:
default:
@@ -3066,7 +3070,7 @@ talkreply(void)
currutmp->destuid = uip->uid;
currstat = REPLY; /* 避免出現動畫 */
- is_chess = (sig == SIG_CHC || sig == SIG_GOMO);
+ is_chess = (sig == SIG_CHC || sig == SIG_GOMO || sig == SIG_GO);
a = reply_connection_request(uip);
if (a < 0) {
@@ -3152,7 +3156,7 @@ talkreply(void)
chc(a, CHESS_MODE_VERSUS);
break;
case SIG_GO:
- gochess(a);
+ gochess(a, CHESS_MODE_VERSUS);
break;
case SIG_TALK:
default: