# HG changeset patch
# User unc0rr
# Date 1295983388 -10800
# Node ID adf64662b6a876a3610964b246d08c68b2441574
# Parent  6e747aef012f6b7f9f90b6ad79005106197269bf
Send room config to client

diff -r 6e747aef012f -r adf64662b6a8 gameServer/Actions.hs
--- a/gameServer/Actions.hs	Tue Jan 25 22:13:34 2011 +0300
+++ b/gameServer/Actions.hs	Tue Jan 25 22:23:08 2011 +0300
@@ -188,6 +188,7 @@
 
     processAction $ AnswerClients chans ["JOINED", clNick]
 
+
 processAction (MoveToLobby msg) = do
     (Just ci) <- gets clientIndex
     ri <- clientRoomA
diff -r 6e747aef012f -r adf64662b6a8 gameServer/HWProtoLobbyState.hs
--- a/gameServer/HWProtoLobbyState.hs	Tue Jan 25 22:13:34 2011 +0300
+++ b/gameServer/HWProtoLobbyState.hs	Tue Jan 25 22:23:08 2011 +0300
@@ -90,10 +90,17 @@
                 AnswerClients [sendChan cl] $ "JOINED" : map nick jRoomClients
             ]
             ++ (map (readynessMessage cl) jRoomClients)
+            ++ (answerFullConfig cl $ params jRoom)
 
-    where
+        where
         readynessMessage cl c = AnswerClients [sendChan cl] [if isReady c then "READY" else "NOT_READY", nick c]
 
+        toAnswer cl (paramName, paramStrs) = AnswerClients [sendChan cl] $ "CFG" : paramName : paramStrs
+
+        answerFullConfig cl params = map (toAnswer cl) (leftConfigPart ++ rightConfigPart)
+            where
+            (leftConfigPart, rightConfigPart) = partition (\(p, _) -> p /= "MAP") $ Map.toList params
+
 
 
 {-