equal
deleted
inserted
replaced
1 module EngineInteraction where |
1 module EngineInteraction where |
2 |
2 |
3 import qualified Data.Set as Set |
3 import qualified Data.Set as Set |
4 import qualified Data.List as List |
|
5 import Control.Monad |
4 import Control.Monad |
6 import qualified Codec.Binary.Base64 as Base64 |
5 import qualified Codec.Binary.Base64 as Base64 |
7 import qualified Data.ByteString.Char8 as B |
6 import qualified Data.ByteString.Char8 as B |
8 import qualified Data.ByteString as BW |
7 import qualified Data.ByteString as BW |
9 ------------- |
8 ------------- |
29 check (Just ms) | B.length ms > 0 = let m = B.head ms in (m `Set.member` legalMessages, m == '+') |
28 check (Just ms) | B.length ms > 0 = let m = B.head ms in (m `Set.member` legalMessages, m == '+') |
30 | otherwise = (False, False) |
29 | otherwise = (False, False) |
31 legalMessages = Set.fromList $ "M#+LlRrUuDdZzAaSjJ,sNpPwtghbc12345" ++ slotMessages |
30 legalMessages = Set.fromList $ "M#+LlRrUuDdZzAaSjJ,sNpPwtghbc12345" ++ slotMessages |
32 slotMessages = "\128\129\130\131\132\133\134\135\136\137\138" |
31 slotMessages = "\128\129\130\131\132\133\134\135\136\137\138" |
33 |
32 |
|
33 |
34 gameInfo2Replay :: GameInfo -> B.ByteString |
34 gameInfo2Replay :: GameInfo -> B.ByteString |
35 gameInfo2Replay GameInfo{roundMsgs = rm, |
35 gameInfo2Replay GameInfo{roundMsgs = rm, |
36 teamsAtStart = teams, |
36 teamsAtStart = teams, |
37 giMapParams = params1, |
37 giMapParams = params1, |
38 giParams = params2} = undefined |
38 giParams = params2} = undefined |