rust/hedgewars-engine-messages/src/parser.rs
changeset 15269 7515ae6010bb
parent 14278 645e4591361f
child 15289 ae8e14d14596
equal deleted inserted replaced
15268:24828281c9c5 15269:7515ae6010bb
    53       | do_parse!(tag!("5") >> ( Timer(5) ))
    53       | do_parse!(tag!("5") >> ( Timer(5) ))
    54       | do_parse!(tag!("p") >> x: be_i24 >> y: be_i24 >> ( Put(x, y) ))
    54       | do_parse!(tag!("p") >> x: be_i24 >> y: be_i24 >> ( Put(x, y) ))
    55       | do_parse!(tag!("P") >> x: be_i24 >> y: be_i24 >> ( CursorMove(x, y) ))
    55       | do_parse!(tag!("P") >> x: be_i24 >> y: be_i24 >> ( CursorMove(x, y) ))
    56       | do_parse!(tag!("f") >> s: string_tail >> ( SyncedEngineMessage::TeamControlLost(s) ))
    56       | do_parse!(tag!("f") >> s: string_tail >> ( SyncedEngineMessage::TeamControlLost(s) ))
    57       | do_parse!(tag!("g") >> s: string_tail >> ( SyncedEngineMessage::TeamControlGained(s) ))
    57       | do_parse!(tag!("g") >> s: string_tail >> ( SyncedEngineMessage::TeamControlGained(s) ))
    58       | do_parse!(tag!("h") >> s: string_tail >> ( HogSay(s) ))
       
    59       | do_parse!(tag!("t") >> t: be_u8 >> ( Taunt(t) ))
    58       | do_parse!(tag!("t") >> t: be_u8 >> ( Taunt(t) ))
    60       | do_parse!(tag!("w") >> w: be_u8 >> ( SetWeapon(w) ))
    59       | do_parse!(tag!("w") >> w: be_u8 >> ( SetWeapon(w) ))
    61       | do_parse!(tag!("~") >> s: be_u8 >> ( Slot(s) ))
    60       | do_parse!(tag!("~") >> s: be_u8 >> ( Slot(s) ))
    62       | do_parse!(tag!("+") >> ( Heartbeat ))
    61       | do_parse!(tag!("+") >> ( Heartbeat ))
    63 ));
    62 ));
    64 
    63 
    65 named!(unsynced_message<&[u8], UnsyncedEngineMessage>, alt!(
    64 named!(unsynced_message<&[u8], UnsyncedEngineMessage>, alt!(
    66         do_parse!(tag!("F") >> s: string_tail >> ( UnsyncedEngineMessage::TeamControlLost(s) ))
    65         do_parse!(tag!("F") >> s: string_tail >> ( UnsyncedEngineMessage::TeamControlLost(s) ))
    67       | do_parse!(tag!("G") >> s: string_tail >> ( UnsyncedEngineMessage::TeamControlGained(s) ))
    66       | do_parse!(tag!("G") >> s: string_tail >> ( UnsyncedEngineMessage::TeamControlGained(s) ))
       
    67       | do_parse!(tag!("h") >> s: string_tail >> ( UnsyncedEngineMessage::HogSay(s) ))
       
    68       | do_parse!(tag!("s") >> s: string_tail >> ( UnsyncedEngineMessage::ChatMessage(s)) )
       
    69       | do_parse!(tag!("b") >> s: string_tail >> ( UnsyncedEngineMessage::TeamMessage(s)) ) // TODO: wtf is the format
    68 ));
    70 ));
    69 
    71 
    70 named!(unordered_message<&[u8], UnorderedEngineMessage>, alt!(
    72 named!(unordered_message<&[u8], UnorderedEngineMessage>, alt!(
    71       do_parse!(tag!("?") >> ( Ping ))
    73       do_parse!(tag!("?") >> ( Ping ))
    72     | do_parse!(tag!("!") >> ( Pong ))
    74     | do_parse!(tag!("!") >> ( Pong ))
    73     | do_parse!(tag!("E") >> s: string_tail >> ( UnorderedEngineMessage::Error(s)) )
    75     | do_parse!(tag!("E") >> s: string_tail >> ( UnorderedEngineMessage::Error(s)) )
    74     | do_parse!(tag!("W") >> s: string_tail >> ( Warning(s)) )
    76     | do_parse!(tag!("W") >> s: string_tail >> ( Warning(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
       
    77     | do_parse!(tag!("M") >> s: string_tail >> ( GameSetupChecksum(s)) )
    77     | do_parse!(tag!("M") >> s: string_tail >> ( GameSetupChecksum(s)) )
    78     | do_parse!(tag!("o") >> ( StopSyncing ))
    78     | do_parse!(tag!("o") >> ( StopSyncing ))
    79     | do_parse!(tag!("I") >> ( PauseToggled ))
    79     | do_parse!(tag!("I") >> ( PauseToggled ))
    80 ));
    80 ));
    81 
    81