equal
deleted
inserted
replaced
8 import Maybe (fromJust) |
8 import Maybe (fromJust) |
9 import qualified Data.Map as Map |
9 import qualified Data.Map as Map |
10 import Data.Time |
10 import Data.Time |
11 import Data.Sequence(Seq, empty) |
11 import Data.Sequence(Seq, empty) |
12 import Network |
12 import Network |
|
13 import qualified Codec.Binary.Base64 as Base64 |
|
14 import qualified Codec.Binary.UTF8.String as UTF8 |
13 |
15 |
14 data ClientInfo = |
16 data ClientInfo = |
15 ClientInfo |
17 ClientInfo |
16 { |
18 { |
17 chan :: TChan [String], |
19 chan :: TChan [String], |
60 playersIn :: Int, |
62 playersIn :: Int, |
61 readyPlayers :: Int, |
63 readyPlayers :: Int, |
62 isRestrictedJoins :: Bool, |
64 isRestrictedJoins :: Bool, |
63 isRestrictedTeams :: Bool, |
65 isRestrictedTeams :: Bool, |
64 roundMsgs :: Seq String, |
66 roundMsgs :: Seq String, |
|
67 leftTeams :: [String], |
65 params :: Map.Map String [String] |
68 params :: Map.Map String [String] |
66 } |
69 } |
67 createRoom = ( |
70 createRoom = ( |
68 RoomInfo |
71 RoomInfo |
69 "" |
72 "" |
75 1 |
78 1 |
76 0 |
79 0 |
77 False |
80 False |
78 False |
81 False |
79 Data.Sequence.empty |
82 Data.Sequence.empty |
|
83 [] |
80 Map.empty |
84 Map.empty |
81 ) |
85 ) |
82 |
86 |
83 data ServerInfo = |
87 data ServerInfo = |
84 ServerInfo |
88 ServerInfo |
198 proto2ver 21 = "0.9.8" |
202 proto2ver 21 = "0.9.8" |
199 proto2ver 22 = "0.9.9-dev" |
203 proto2ver 22 = "0.9.9-dev" |
200 proto2ver 23 = "0.9.9" |
204 proto2ver 23 = "0.9.9" |
201 proto2ver 24 = "0.9.10-dev" |
205 proto2ver 24 = "0.9.10-dev" |
202 proto2ver _ = "Unknown" |
206 proto2ver _ = "Unknown" |
|
207 |
|
208 toEngineMsg :: String -> String |
|
209 toEngineMsg msg = Base64.encode (fromIntegral (length msg) : (UTF8.encode msg)) |