# HG changeset patch # User unc0rr # Date 1216655652 0 # Node ID 3448dd03483f4a44e7cf4c12858c5a4e8a0d5147 # Parent 596b1dcdc1df81a1591664f084f6e31c3b1b9024 Further work on dedicated server diff -r 596b1dcdc1df -r 3448dd03483f QTfrontend/newnetclient.cpp --- a/QTfrontend/newnetclient.cpp Mon Jul 21 09:45:40 2008 +0000 +++ b/QTfrontend/newnetclient.cpp Mon Jul 21 15:54:12 2008 +0000 @@ -125,6 +125,7 @@ RawSendNet(QString("NICK%1%2").arg(delimeter).arg(mynick)); RawSendNet(QString("PROTO%1%2").arg(delimeter).arg(*cProtoVer)); RawSendNet(QString("CREATE%1%2").arg(delimeter).arg("myroom")); + RawSendNet(QString("JOIN%1%2").arg(delimeter).arg("myroom")); } void HWNewNet::OnDisconnect() diff -r 596b1dcdc1df -r 3448dd03483f netserver/HWProto.hs --- a/netserver/HWProto.hs Mon Jul 21 09:45:40 2008 +0000 +++ b/netserver/HWProto.hs Mon Jul 21 15:54:12 2008 +0000 @@ -58,7 +58,7 @@ if haveSameRoom then (noChangeClients, noChangeRooms, clientOnly, ["WARNING", "There's already a room with that name"]) else - (modifyClient client{room = newRoom, isMaster = True}, addRoom (RoomInfo newRoom roomPassword), clientOnly, ["JOINED", nick client]) + (modifyClient client{room = newRoom, isMaster = True}, addRoom (RoomInfo newRoom roomPassword []), clientOnly, ["JOINED", nick client]) where haveSameRoom = not . null $ filter (\room -> newRoom == name room) rooms @@ -85,6 +85,13 @@ handleCmd_inRoom client _ _ ["CHAT_STRING", _, msg] = (noChangeClients, noChangeRooms, othersInRoom, ["CHAT_STRING", nick client, msg]) -handleCmd_inRoom client clients rooms ["CONFIG_PARAM", paramName, value] = (noChangeClients, noChangeRooms, othersInRoom, ["CONFIG_PARAM", paramName, value]) +handleCmd_inRoom client clients rooms ["CONFIG_PARAM", paramName, value] = + (noChangeClients, noChangeRooms, othersInRoom, ["CONFIG_PARAM", paramName, value]) + +handleCmd_inRoom client clients rooms ["CONFIG_PARAM", paramName, value1, value2] = + (noChangeClients, noChangeRooms, othersInRoom, ["CONFIG_PARAM", paramName, value1, value2]) + +handleCmd_inRoom client clients rooms ["ADDTEAM:", teamName, teamColor, graveName, fortName, teamLevel, hh0, hh1, hh2, hh3, hh4, hh5, hh6, hh7] = + (noChangeClients, noChangeRooms, othersInRoom, ["TEAM_ACCEPTED", "1", teamName]) handleCmd_inRoom _ _ _ _ = (noChangeClients, noChangeRooms, clientOnly, badCmd) diff -r 596b1dcdc1df -r 3448dd03483f netserver/Miscutils.hs --- a/netserver/Miscutils.hs Mon Jul 21 09:45:40 2008 +0000 +++ b/netserver/Miscutils.hs Mon Jul 21 15:54:12 2008 +0000 @@ -22,11 +22,18 @@ instance Eq ClientInfo where a1 == a2 = handle a1 == handle a2 +data TeamInfo = + TeamInfo + { + teamname :: String + } + data RoomInfo = RoomInfo { name :: String, - password :: String + password :: String, + teams :: [TeamInfo] } type ClientsTransform = [ClientInfo] -> [ClientInfo]