rust/hedgewars-engine-messages/src/parser.rs
changeset 14273 645e4591361f
parent 14260 f0c0d2d217c3
child 15264 7515ae6010bb
equal deleted inserted replaced
14272:3152d9fdb499 14273:645e4591361f
    67       | do_parse!(tag!("G") >> s: string_tail >> ( UnsyncedEngineMessage::TeamControlGained(s) ))
    67       | do_parse!(tag!("G") >> s: string_tail >> ( UnsyncedEngineMessage::TeamControlGained(s) ))
    68 ));
    68 ));
    69 
    69 
    70 named!(unordered_message<&[u8], UnorderedEngineMessage>, alt!(
    70 named!(unordered_message<&[u8], UnorderedEngineMessage>, alt!(
    71       do_parse!(tag!("?") >> ( Ping ))
    71       do_parse!(tag!("?") >> ( Ping ))
    72     | do_parse!(tag!("!") >> ( Ping ))
    72     | do_parse!(tag!("!") >> ( Pong ))
    73     | do_parse!(tag!("E") >> s: string_tail >> ( UnorderedEngineMessage::Error(s)) )
    73     | do_parse!(tag!("E") >> s: string_tail >> ( UnorderedEngineMessage::Error(s)) )
    74     | do_parse!(tag!("W") >> s: string_tail >> ( Warning(s)) )
    74     | do_parse!(tag!("W") >> s: string_tail >> ( Warning(s)) )
    75     | do_parse!(tag!("s") >> s: string_tail >> ( ChatMessage(s)) )
    75     | do_parse!(tag!("s") >> s: string_tail >> ( ChatMessage(s)) )
    76     | do_parse!(tag!("b") >> s: string_tail >> ( TeamMessage(s)) ) // TODO: wtf is the format
    76     | do_parse!(tag!("b") >> s: string_tail >> ( TeamMessage(s)) ) // TODO: wtf is the format
    77     | do_parse!(tag!("M") >> s: string_tail >> ( GameSetupChecksum(s)) )
    77     | do_parse!(tag!("M") >> s: string_tail >> ( GameSetupChecksum(s)) )
    79     | do_parse!(tag!("I") >> ( PauseToggled ))
    79     | do_parse!(tag!("I") >> ( PauseToggled ))
    80 ));
    80 ));
    81 
    81 
    82 named!(config_message<&[u8], ConfigEngineMessage>, alt!(
    82 named!(config_message<&[u8], ConfigEngineMessage>, alt!(
    83     do_parse!(tag!("C") >> (ConfigRequest))
    83     do_parse!(tag!("C") >> (ConfigRequest))
       
    84     | do_parse!(tag!("eseed ") >> s: string_tail >> ( SetSeed(s)) )
    84 ));
    85 ));
    85 
    86 
    86 named!(timestamped_message<&[u8], (SyncedEngineMessage, u16)>,
    87 named!(timestamped_message<&[u8], (SyncedEngineMessage, u16)>,
    87     do_parse!(msg: length_value!(length_without_timestamp, terminated!(synced_message, eof_slice!()))
    88     do_parse!(msg: length_value!(length_without_timestamp, terminated!(synced_message, eof_slice!()))
    88         >> timestamp: be_u16
    89         >> timestamp: be_u16