diff -r 3c4ec0742967 -r 556eafd1443a gameServer/CoreTypes.hs --- a/gameServer/CoreTypes.hs Sat Nov 07 21:01:04 2015 +0100 +++ b/gameServer/CoreTypes.hs Sat Nov 07 23:44:49 2015 +0300 @@ -16,7 +16,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. \-} -{-# LANGUAGE CPP, OverloadedStrings, DeriveDataTypeable #-} +{-# LANGUAGE CPP, OverloadedStrings, DeriveDataTypeable, GeneralizedNewtypeDeriving #-} module CoreTypes where import Control.Concurrent @@ -120,7 +120,7 @@ { recordFileName :: String, recordTeams :: [TeamInfo], - recordScript :: B.ByteString + details :: Maybe GameDetails } data ClientInfo = @@ -346,10 +346,21 @@ CheckAccount ClientIndex Int B.ByteString B.ByteString | ClearCache | SendStats Int Int - | StoreAchievements Word16 B.ByteString [(B.ByteString, B.ByteString)] B.ByteString [B.ByteString] + | StoreAchievements Word16 B.ByteString [(B.ByteString, B.ByteString)] GameDetails [B.ByteString] | GetReplayName ClientIndex Int B.ByteString deriving (Show, Read) +data GameDetails = + GameDetails { + gameScript :: B.ByteString + , infRope + , isVamp + , infAttacks :: Bool + } deriving (Show, Read) + +instance NFData GameDetails where + rnf (GameDetails a b c d) = a `deepseq` b `deepseq` c `deepseq` d `deepseq` () + data CoreMessage = Accept ClientInfo | ClientMessage (ClientIndex, [B.ByteString])