# HG changeset patch # User unc0rr # Date 1406306526 -14400 # Node ID 5adc765da26b51f7dbbf425f6d66bec52259cdd8 # Parent 7ebb71a36e9563294192dec9ccf4d07cfeef5c83 One more map diff -r 7ebb71a36e95 -r 5adc765da26b tools/hwmap.hs --- a/tools/hwmap.hs Fri Jul 25 20:41:52 2014 +0400 +++ b/tools/hwmap.hs Fri Jul 25 20:42:06 2014 +0400 @@ -23,9 +23,10 @@ where tf (SpecialPoints p) = SpecialPoints $ map f p tf (Line t r p) = Line t r $ map f p - + scale f = transform (\(a, b) -> (a * f, b * f)) mirror = transform (\(a, b) -> (4095 - a, b)) +flip' = transform (\(a, b) -> (a, 2047 - b)) translate dx dy = transform (\(a, b) -> (a + dx, b + dy)) instance Binary Chunk where @@ -51,7 +52,7 @@ mapM_ putWord8 $ BW.unpack $ BL.toStrict $ Z.compress b mapString :: B.ByteString -mapString = B.pack . Base64.encode . BW.unpack . BL.toStrict . compressWithLength . BL.drop 8 . encode $ drawnMap03 +mapString = B.pack . Base64.encode . BW.unpack . BL.toStrict . compressWithLength . BL.drop 8 . encode $ drawnMap04 main = B.writeFile "out.hwmap" mapString @@ -125,3 +126,29 @@ , l [(8, 5), (8, 8)] ] l = Line Solid 0 + +drawnMap04 = translate (-3) (-3) $ sp ++ fm sp ++ base ++ fm base + where + sp = translate 128 128 . scale 256 $ [SpecialPoints [ + (7, 7) +-- , (6, 6) + , (3, 3) + , (0, 6) + , (3, 6) + ]] + base = scale 256 $ [ + l [(1, 2), (3, 2), (3, 1), (4, 1), (4, 2), (6, 2), (6, 4), (7, 4), (7, 5), (8, 5), (8, 8)] + , l [(0, 0), (16, 0)] + , l [(1, 5), (3, 5), (3, 7), (1, 7), (1, 5)] + , l [(4, 5), (6, 5), (6, 7), (4, 7), (4, 5)] + , l [(0, 4), (2, 4), (2, 3), (5, 3), (5, 4)] + , l [(6, 1), (6, 2), (7, 2)] + , l [(7, 1), (8, 1)] + , l [(7, 3), (8, 3)] + , l [(3, 4), (4, 4)] + , l [(7, 6), (7, 8)] + , l [(2, 0), (2, 1)] + , l [(5, 0), (5, 1)] + ] + l = Line Solid 0 + fm = flip' . mirror