equal
deleted
inserted
replaced
41 import System.Random |
41 import System.Random |
42 import qualified Data.Traversable as DT |
42 import qualified Data.Traversable as DT |
43 import Text.Regex.TDFA |
43 import Text.Regex.TDFA |
44 import qualified Text.Regex.TDFA as TDFA |
44 import qualified Text.Regex.TDFA as TDFA |
45 import qualified Text.Regex.TDFA.ByteString as TDFAB |
45 import qualified Text.Regex.TDFA.ByteString as TDFAB |
|
46 import qualified Data.Yaml as YAML |
46 ----------------------------- |
47 ----------------------------- |
47 #if defined(OFFICIAL_SERVER) |
48 #if defined(OFFICIAL_SERVER) |
48 import OfficialServer.GameReplayStore |
49 import OfficialServer.GameReplayStore |
49 #endif |
50 #endif |
50 import CoreTypes |
51 import CoreTypes |
850 |
851 |
851 processAction (SaveRoom rname) = do |
852 processAction (SaveRoom rname) = do |
852 rnc <- gets roomsClients |
853 rnc <- gets roomsClients |
853 ri <- clientRoomA |
854 ri <- clientRoomA |
854 rm <- io $ room'sM rnc id ri |
855 rm <- io $ room'sM rnc id ri |
855 liftIO $ writeFile (B.unpack rname) $ show (greeting rm, roomSaves rm) |
856 liftIO $ YAML.encodeFile (B.unpack rname) (greeting rm, roomSaves rm) |
856 |
857 |
857 processAction (LoadRoom rname) = do |
858 processAction (LoadRoom rname) = do |
858 (g, rs) <- liftIO $ liftM read $ readFile (B.unpack rname) |
859 Right (g, rs) <- io $ YAML.decodeFileEither (B.unpack rname) |
859 processAction $ ModifyRoom $ \r -> r{greeting = g, roomSaves = rs} |
860 processAction $ ModifyRoom $ \r -> r{greeting = g, roomSaves = rs} |
860 |
861 |
861 processAction Cleanup = do |
862 processAction Cleanup = do |
862 jm <- gets joinsMonitor |
863 jm <- gets joinsMonitor |
863 |
864 |