# HG changeset patch # User alfadur # Date 1577213875 -10800 # Node ID 428a0e7da27bc2e637a31f689b20c97a53253635 # Parent 24f692e791d313a70202448323096a26edde6645 restore engine message handler diff -r 24f692e791d3 -r 428a0e7da27b rust/hedgewars-server/src/core/server.rs --- a/rust/hedgewars-server/src/core/server.rs Tue Dec 24 21:45:26 2019 +0300 +++ b/rust/hedgewars-server/src/core/server.rs Tue Dec 24 21:57:55 2019 +0300 @@ -1032,6 +1032,17 @@ None } } + + pub fn log_engine_msg(&mut self, log_msg: String, sync_msg: Option>) { + if let Some(ref mut info) = self.room_mut().game_info { + if !log_msg.is_empty() { + info.msg_log.push(log_msg); + } + if let Some(msg) = sync_msg { + info.sync_msg = msg; + } + } + } } fn allocate_room(rooms: &mut Slab) -> &mut HwRoom { diff -r 24f692e791d3 -r 428a0e7da27b rust/hedgewars-server/src/handlers/inroom.rs --- a/rust/hedgewars-server/src/handlers/inroom.rs Tue Dec 24 21:45:26 2019 +0300 +++ b/rust/hedgewars-server/src/handlers/inroom.rs Tue Dec 24 21:57:55 2019 +0300 @@ -414,7 +414,7 @@ let result = room_control.start_game(); super::common::get_start_game_data(room_control.server(), room_id, result, response); } - /*EngineMessage(em) => { + EngineMessage(em) => { if client.teams_in_game > 0 { let decoding = decode(&em[..]).unwrap(); let messages = by_msg(&decoding); @@ -438,16 +438,10 @@ ); } let em_log = encode(&non_empty.flat_map(|msg| msg).cloned().collect::>()); - if let Some(ref mut info) = room.game_info { - if !em_log.is_empty() { - info.msg_log.push(em_log); - } - if let Some(msg) = sync_msg { - info.sync_msg = msg; - } - } + + room_control.log_engine_msg(em_log, sync_msg); } - }*/ + } RoundFinished => { if let Some(team_names) = room_control.leave_game() { let (client, room) = room_control.get();