diff options
author | scw <scw@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2005-09-11 01:30:22 +0800 |
---|---|---|
committer | scw <scw@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2005-09-11 01:30:22 +0800 |
commit | f1c53390c4817e5f9552588f298808764ef1bc65 (patch) | |
tree | 6410c5100306d7aa816f796ad0f2865a76e64e8b /mbbsd/talk.c | |
parent | 3a13adbea9793d58c961c3fc869fd1f79fdedad3 (diff) | |
download | pttbbs-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.c | 14 |
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: |