# HG changeset patch # User unc0rr # Date 1354738480 -14400 # Node ID 92a43020579656eecd8b0e682ea36d5facfe7d08 # Parent b15f165c080c24bfca3554ee8c9198262d3064f6 Stop syncing when recieved 'o' message diff -r b15f165c080c -r 92a430205796 doc/protocol.txt --- a/doc/protocol.txt Thu Dec 06 00:08:33 2012 +0400 +++ b/doc/protocol.txt Thu Dec 06 00:14:40 2012 +0400 @@ -1,34 +1,35 @@ - '?' ping? - '!' pong! - 'l','L' срабатывание команд -left, +left - 'r','R' -right, +right - 'u','U' -up, +up - 'd','D' -down, +down - 'z', 'Z' -precise, +precise - 'N' срабатывание команды /nextturn - 'S' /switch - 's' + <текст> /say - '+' пустой пакет для постоянности лага - '1'..'5' /timer 1..5 - chr(128+№) /slot № - 'w' /setweap - 'p' /put - 'j' /ljump - 'J' /hjump - 'E' + <текст> сообщение об ошибке - ',' /skip - 'K' вывести сообщение из KB - 'Q' выход через команду /quit - 'q' выход по причине окончания игры - 't' + № /taunt № - 'F' + команда team вылетела в сетевой игре + '?' ping? + '!' pong! + 'l','L' срабатывание команд -left, +left + 'r','R' -right, +right + 'u','U' -up, +up + 'd','D' -down, +down + 'z', 'Z' -precise, +precise + 'N' срабатывание команды /nextturn + 'S' /switch + 's' + <текст> /say + '+' пустой пакет для постоянности лага + '1'..'5' /timer 1..5 + chr(128+№) /slot № + 'w' /setweap + 'p' /put + 'j' /ljump + 'J' /hjump + 'E' + <текст> сообщение об ошибке + ',' /skip + 't' + № /taunt № фронтенд клиенту: - 'e' + <команда> выполнить "/<команда>" - 'T' + {L,N,D} тип игры (локальная, сетевая, просмотр демо) - 'W' + <текст> сообщение о нефатальной ошибке + 'e' + <команда> выполнить "/<команда>" + 'T' + {L,N,D} тип игры (локальная, сетевая, просмотр демо) + 'W' + <текст> сообщение о нефатальной ошибке + 'F' + команда team вылетела в сетевой игре + 'o' stop syncing, game over! Клиент фронтенду: - 'C' запрос текущего конфига игры - 'q' выход по причине окончания демки - 'i' статистика + 'C' запрос текущего конфига игры + 'q' выход по причине окончания демки + 'i' статистика + 'K' вывести сообщение из KB + 'Q' выход через команду /quit + 'q' выход по причине окончания игры diff -r b15f165c080c -r 92a430205796 hedgewars/uIO.pas --- a/hedgewars/uIO.pas Thu Dec 06 00:08:33 2012 +0400 +++ b/hedgewars/uIO.pas Thu Dec 06 00:14:40 2012 +0400 @@ -124,6 +124,7 @@ 'E': OutError(copy(s, 2, Length(s) - 1), true); 'W': OutError(copy(s, 2, Length(s) - 1), false); 'M': ParseCommand('landcheck ' + s, true); + 'o': if fastUntilLag then ParseCommand('forcequit', true); 'T': case s[2] of 'L': GameType:= gmtLocal; 'D': GameType:= gmtDemo;