gameServer/EngineInteraction.hs
changeset 11031 4ad0252470dd
parent 10984 c828cabe33af
child 11046 47a8c19ecb60
equal deleted inserted replaced
11030:2ef7700c25e9 11031:4ad0252470dd
   129         mapGenTypes = ["+rnd+", "+maze+", "+drawn+", "+perlin+"]
   129         mapGenTypes = ["+rnd+", "+maze+", "+drawn+", "+perlin+"]
   130         maybeScript = let s = head . fromMaybe ["Normal"] $ Map.lookup "SCRIPT" prms in if s == "Normal" then [] else [eml ["escript Scripts/Multiplayer/", s, ".lua"]]
   130         maybeScript = let s = head . fromMaybe ["Normal"] $ Map.lookup "SCRIPT" prms in if s == "Normal" then [] else [eml ["escript Scripts/Multiplayer/", s, ".lua"]]
   131         maybeMap = let m = mParams Map.! "MAP" in if m `elem` mapGenTypes then [] else [eml ["emap ", m]]
   131         maybeMap = let m = mParams Map.! "MAP" in if m `elem` mapGenTypes then [] else [eml ["emap ", m]]
   132         scheme = tail $ prms Map.! "SCHEME"
   132         scheme = tail $ prms Map.! "SCHEME"
   133         mapgen = mParams Map.! "MAPGEN"
   133         mapgen = mParams Map.! "MAPGEN"
   134         templateFilterMsg = eml ["e$maze_size ", mParams Map.! "MAZE_SIZE"]
   134         mazeSizeMsg = eml ["e$maze_size ", mParams Map.! "MAZE_SIZE"]
   135         mapgenSpecific = case mapgen of
   135         mapgenSpecific = case mapgen of
       
   136             "1" -> [mazeSizeMsg]
       
   137             "2" -> [mazeSizeMsg]
   136             "3" -> let d = head . fromMaybe [""] $ Map.lookup "DRAWNMAP" prms in if BW.length d <= 4 then [] else drawnMapData d
   138             "3" -> let d = head . fromMaybe [""] $ Map.lookup "DRAWNMAP" prms in if BW.length d <= 4 then [] else drawnMapData d
   137             _ -> [templateFilterMsg]
   139             _ -> []
   138         gameFlags :: Word32
   140         gameFlags :: Word32
   139         gameFlags = foldl (\r (b, f) -> if b == "false" then r else r .|. f) 0 $ zip scheme gameFlagConsts
   141         gameFlags = foldl (\r (b, f) -> if b == "false" then r else r .|. f) 0 $ zip scheme gameFlagConsts
   140         schemeFlags = map (\(v, (n, m)) -> eml [n, " ", showB $ (readInt_ v) * m])
   142         schemeFlags = map (\(v, (n, m)) -> eml [n, " ", showB $ (readInt_ v) * m])
   141             $ filter (\(_, (n, _)) -> not $ B.null n)
   143             $ filter (\(_, (n, _)) -> not $ B.null n)
   142             $ zip (drop (length gameFlagConsts) scheme) schemeParams
   144             $ zip (drop (length gameFlagConsts) scheme) schemeParams