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 |