gameServer/CoreTypes.hs
changeset 11464 a9957113404a
parent 11320 556eafd1443a
child 11465 0ae2e4c13bd1
--- a/gameServer/CoreTypes.hs	Mon Dec 28 08:43:38 2015 +0300
+++ b/gameServer/CoreTypes.hs	Mon Dec 28 09:06:29 2015 +0300
@@ -126,32 +126,33 @@
 data ClientInfo =
     ClientInfo
     {
-        clUID :: Unique,
-        sendChan :: ClientChan,
-        clientSocket :: Socket,
-        host :: B.ByteString,
-        connectTime :: UTCTime,
-        nick :: B.ByteString,
-        webPassword :: B.ByteString,
-        serverSalt :: B.ByteString,
-        logonPassed :: Bool,
-        isVisible :: Bool,
+        clUID :: !Unique,
+        sendChan :: !ClientChan,
+        clientSocket :: !Socket,
+        host :: !B.ByteString,
+        connectTime :: !UTCTime,
+        nick :: !B.ByteString,
+        webPassword :: !B.ByteString,
+        serverSalt :: !B.ByteString,
+        logonPassed :: !Bool,
+        isVisible :: !Bool,
         clientProto :: !Word16,
         pingsQueue :: !Word,
-        isMaster :: Bool,
+        isMaster :: !Bool,
         isReady :: !Bool,
-        isInGame :: Bool,
-        isAdministrator :: Bool,
-        isChecker :: Bool,
-        isContributor :: Bool,
-        isKickedFromServer :: Bool,
-        isJoinedMidGame :: Bool,
+        isInGame :: !Bool,
+        isAdministrator :: !Bool,
+        isChecker :: !Bool,
+        isContributor :: !Bool,
+        isKickedFromServer :: !Bool,
+        isJoinedMidGame :: !Bool,
+        hasAskedList :: !Bool,
         clientClan :: !(Maybe B.ByteString),
-        checkInfo :: Maybe CheckInfo,
+        checkInfo :: !(Maybe CheckInfo),
         eiLobbyChat,
         eiEM,
-        eiJoin :: EventsInfo,
-        teamsInGame :: Word
+        eiJoin :: !EventsInfo,
+        teamsInGame :: !Word
     }
 
 instance Eq ClientInfo where
@@ -164,17 +165,17 @@
 data TeamInfo =
     TeamInfo
     {
-        teamowner :: B.ByteString,
-        teamname :: B.ByteString,
-        teamcolor :: B.ByteString,
-        teamgrave :: B.ByteString,
-        teamfort :: B.ByteString,
-        teamvoicepack :: B.ByteString,
-        teamflag :: B.ByteString,
-        isOwnerRegistered :: Bool,
-        difficulty :: Int,
-        hhnum :: Int,
-        hedgehogs :: [HedgehogInfo]
+        teamowner :: !B.ByteString,
+        teamname :: !B.ByteString,
+        teamcolor :: !B.ByteString,
+        teamgrave :: !B.ByteString,
+        teamfort :: !B.ByteString,
+        teamvoicepack :: !B.ByteString,
+        teamflag :: !B.ByteString,
+        isOwnerRegistered :: !Bool,
+        difficulty :: !Int,
+        hhnum :: !Int,
+        hedgehogs :: ![HedgehogInfo]
     }
     deriving (Show, Read)
 
@@ -214,26 +215,26 @@
 data RoomInfo =
     RoomInfo
     {
-        masterID :: Maybe ClientIndex,
-        name :: B.ByteString,
-        password :: B.ByteString,
-        roomProto :: Word16,
-        teams :: [TeamInfo],
-        gameInfo :: Maybe GameInfo,
+        masterID :: !(Maybe ClientIndex),
+        name :: !B.ByteString,
+        password :: !B.ByteString,
+        roomProto :: !Word16,
+        teams :: ![TeamInfo],
+        gameInfo :: !(Maybe GameInfo),
         playersIn :: !Int,
         readyPlayers :: !Int,
-        isRestrictedJoins :: Bool,
-        isRestrictedTeams :: Bool,
-        isRegisteredOnly :: Bool,
-        isSpecial :: Bool,
-        defaultHedgehogsNumber :: Int,
-        teamsNumberLimit :: Int,
-        greeting :: B.ByteString,
-        voting :: Maybe Voting,
+        isRestrictedJoins :: !Bool,
+        isRestrictedTeams :: !Bool,
+        isRegisteredOnly :: !Bool,
+        isSpecial :: !Bool,
+        defaultHedgehogsNumber :: !Int,
+        teamsNumberLimit :: !Int,
+        greeting :: !B.ByteString,
+        voting :: !(Maybe Voting),
         roomBansList :: ![B.ByteString],
-        mapParams :: Map.Map B.ByteString B.ByteString,
-        params :: Map.Map B.ByteString [B.ByteString],
-        roomSaves :: Map.Map B.ByteString (Map.Map B.ByteString B.ByteString, Map.Map B.ByteString [B.ByteString])
+        mapParams :: !(Map.Map B.ByteString B.ByteString),
+        params :: !(Map.Map B.ByteString [B.ByteString]),
+        roomSaves :: !(Map.Map B.ByteString (Map.Map B.ByteString B.ByteString, Map.Map B.ByteString [B.ByteString]))
     }
 
 newRoom :: RoomInfo