# HG changeset patch # User unc0rr # Date 1223224546 0 # Node ID 4290ba4a14ca128c56903cb2c3cc6800882e9d0c # Parent c6fe8a4bfd344968170e048a92175ef21a553862 Remove deprecated stuff diff -r c6fe8a4bfd34 -r 4290ba4a14ca QTfrontend/netconnectedclient.cpp --- a/QTfrontend/netconnectedclient.cpp Mon Sep 29 22:14:23 2008 +0000 +++ b/QTfrontend/netconnectedclient.cpp Sun Oct 05 16:35:46 2008 +0000 @@ -175,6 +175,12 @@ qWarning("Net server: 'ADDTEAM' message: rejecting"); return; // reject command } + if (netIDbyTeamName(tmp[0]) > 0) + { + qWarning("Net server: 'ADDTEAM' message: rejecting (have team with same name)"); + return; // reject command + + } int toAdd=maxAdd < 4 ? maxAdd : 4; m_hwserver->hhnum+=toAdd; qDebug() << "to add = " << toAdd << "m_hwserver->hhnum = " << m_hwserver->hhnum; @@ -229,16 +235,21 @@ m_hwserver->sendOthers(this, lst.join(QString(delimeter))); } +unsigned int HWConnectedClient::netIDbyTeamName(const QString& tname) +{ + qDebug() << "Check exist" << tname; + + for(QList::iterator it=m_teamsCfg.begin(); it!=m_teamsCfg.end(); ++it) + if((*it)[0]==tname) + return (*it)[1].toUInt(); + + return 0; +} + unsigned int HWConnectedClient::removeTeam(const QString& tname) { - unsigned int netID=0; - for(QList::iterator it=m_teamsCfg.begin(); it!=m_teamsCfg.end(); ++it) { - if((*it)[0]==tname) { - netID=(*it)[1].toUInt(); - m_teamsCfg.erase(it); - break; - } - } + unsigned int netID = netIDbyTeamName(tname); + if (netID == 0) qDebug() << QString("removeTeam: team '%1' not found").arg(tname); diff -r c6fe8a4bfd34 -r 4290ba4a14ca QTfrontend/netconnectedclient.h --- a/QTfrontend/netconnectedclient.h Mon Sep 29 22:14:23 2008 +0000 +++ b/QTfrontend/netconnectedclient.h Sun Oct 05 16:35:46 2008 +0000 @@ -61,6 +61,8 @@ QStringList cmdbuf; + unsigned int netIDbyTeamName(const QString& tname); + signals: void HWClientDisconnected(HWConnectedClient* client); diff -r c6fe8a4bfd34 -r 4290ba4a14ca QTfrontend/newnetclient.cpp --- a/QTfrontend/newnetclient.cpp Mon Sep 29 22:14:23 2008 +0000 +++ b/QTfrontend/newnetclient.cpp Sun Oct 05 16:35:46 2008 +0000 @@ -109,7 +109,7 @@ void HWNewNet::RawSendNet(const QByteArray & buf) { -qDebug() << "Client: " << buf; + qDebug() << "Client: " << buf; NetSocket.write(buf); NetSocket.write("\n\n", 2); } @@ -144,26 +144,26 @@ void HWNewNet::displayError(QAbstractSocket::SocketError socketError) { - switch (socketError) { - case QAbstractSocket::RemoteHostClosedError: - break; - case QAbstractSocket::HostNotFoundError: - QMessageBox::information(0, tr("Error"), - tr("The host was not found. Please check the host name and port settings.")); - break; - case QAbstractSocket::ConnectionRefusedError: - QMessageBox::information(0, tr("Error"), - tr("Connection refused")); - break; - default: - QMessageBox::information(0, tr("Error"), - NetSocket.errorString()); - } + switch (socketError) { + case QAbstractSocket::RemoteHostClosedError: + break; + case QAbstractSocket::HostNotFoundError: + QMessageBox::information(0, tr("Error"), + tr("The host was not found. Please check the host name and port settings.")); + break; + case QAbstractSocket::ConnectionRefusedError: + QMessageBox::information(0, tr("Error"), + tr("Connection refused")); + break; + default: + QMessageBox::information(0, tr("Error"), + NetSocket.errorString()); + } } void HWNewNet::ParseCmd(const QStringList & lst) { -qDebug() << "Server: " << lst; + qDebug() << "Server: " << lst; if(!lst.size()) { diff -r c6fe8a4bfd34 -r 4290ba4a14ca misc/fbsd-port/Makefile --- a/misc/fbsd-port/Makefile Mon Sep 29 22:14:23 2008 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,35 +0,0 @@ -# Ports collection makefile for: hedgewars -# Date created: 31 January 2008 -# Whom: Andrey Korotaev -# -# $FreeBSD$ -# - -PORTNAME= hedgewars -PORTVERSION= 0.9.2 -CATEGORIES= games -MASTER_SITES= http://www.hedgewars.org/download/ -DISTNAME= ${PORTNAME}-src-${PORTVERSION} - -MAINTAINER= unC0Rr@gmail.com -COMMENT= Free Worms-like turn based strategy game - -USE_BZIP2= yes -USE_SDL= sdl image ttf mixer net -USE_QT_VER= 4 -QT_COMPONENTS= gui corelib network xml svg moc_build rcc_build - -BUILD_DEPENDS+= fpc:${PORTSDIR}/lang/fpc \ - ${CMAKE}:${PORTSDIR}/devel/cmake - -WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION} - -CMAKE?= ${LOCALBASE}/bin/cmake -CMAKE_ARGS= -DCMAKE_INSTALL_PREFIX:PATH=${PREFIX} \ - -DCMAKE_CXX_COMPILER:STRING="${CXX}" \ - -DCMAKE_CXX_FLAGS:STRING="${CXXFLAGS}" - -do-configure: - cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ${CMAKE} ${CMAKE_ARGS} . - -.include diff -r c6fe8a4bfd34 -r 4290ba4a14ca misc/fbsd-port/distinfo --- a/misc/fbsd-port/distinfo Mon Sep 29 22:14:23 2008 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,3 +0,0 @@ -MD5 (hedgewars-src-0.9.2.tar.bz2) = 5df47ec046bca92e48c1100eec7a7745 -SHA256 (hedgewars-src-0.9.2.tar.bz2) = a9a13e36ebeded37e3ad1b7c757d73ac4de13d6bf739ca33784a674f0ae90b7a -SIZE (hedgewars-src-0.9.2.tar.bz2) = 4909748 diff -r c6fe8a4bfd34 -r 4290ba4a14ca misc/fbsd-port/pkg-descr --- a/misc/fbsd-port/pkg-descr Mon Sep 29 22:14:23 2008 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,15 +0,0 @@ -Hedgewars is turn-based Worms-like strategy game. - -Each player controls a team of several hedgehogs. During the course of the game, -players take turns with one of their hedgehogs. They then use whatever tools and -weapons are available to attack and kill the opponents' hedgehogs, thereby -winning the game. Hedgehogs may move around the terrain in a variety of ways, -normally by walking and jumping but also by using particular tools such as the -"Rope" or "Parachute", to move to otherwise inaccessible areas. Each turn is -time-limited to ensure that players do not hold up the game with excessive -thinking or moving. A large variety of tools and weapons are available for -players during the game: Grenade, Cluster Bomb, Bazooka, UFO, Shotgun, Desert -Eagle, Fire Punch, Baseball Bat, Dynamite, Mine, Rope, Pneumatic pick, -Parachute. - -WWW: http://www.hedgewars.org/ diff -r c6fe8a4bfd34 -r 4290ba4a14ca misc/fbsd-port/pkg-plist --- a/misc/fbsd-port/pkg-plist Mon Sep 29 22:14:23 2008 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,181 +0,0 @@ -bin/hedgewars -bin/hwengine -share/hedgewars/Data/Fonts/DejaVuSans.ttf -share/hedgewars/Data/Forts/BarrelhouseL.png -share/hedgewars/Data/Forts/BarrelhouseR.png -share/hedgewars/Data/Forts/IslandL.png -share/hedgewars/Data/Forts/IslandR.png -share/hedgewars/Data/Graphics/AirBomb.png -share/hedgewars/Data/Graphics/Airplane.png -share/hedgewars/Data/Graphics/AmmoMenu/AmmoName.png -share/hedgewars/Data/Graphics/AmmoMenu/Ammos.png -share/hedgewars/Data/Graphics/AmmoMenu/BrdrLines.png -share/hedgewars/Data/Graphics/AmmoMenu/Selection.png -share/hedgewars/Data/Graphics/AmmoMenu/Slot.png -share/hedgewars/Data/Graphics/AmmoMenu/SlotKeys.png -share/hedgewars/Data/Graphics/Arrow.png -share/hedgewars/Data/Graphics/BigDigits.png -share/hedgewars/Data/Graphics/BlueWater.png -share/hedgewars/Data/Graphics/Bomb.png -share/hedgewars/Data/Graphics/Case.png -share/hedgewars/Data/Graphics/ClBomb.png -share/hedgewars/Data/Graphics/ClParticle.png -share/hedgewars/Data/Graphics/Clouds.png -share/hedgewars/Data/Graphics/Console.png -share/hedgewars/Data/Graphics/Crosshair.png -share/hedgewars/Data/Graphics/Expl50.png -share/hedgewars/Data/Graphics/Finger.png -share/hedgewars/Data/Graphics/FirstAid.png -share/hedgewars/Data/Graphics/Flame.png -share/hedgewars/Data/Graphics/Frame.png -share/hedgewars/Data/Graphics/Girder.png -share/hedgewars/Data/Graphics/Graves/Bone.png -share/hedgewars/Data/Graphics/Graves/Rip.png -share/hedgewars/Data/Graphics/Graves/Simple.png -share/hedgewars/Data/Graphics/Graves/coffin.png -share/hedgewars/Data/Graphics/Grenade.png -share/hedgewars/Data/Graphics/Hedgehog.png -share/hedgewars/Data/Graphics/Lag.png -share/hedgewars/Data/Graphics/MineOff.png -share/hedgewars/Data/Graphics/MineOn.png -share/hedgewars/Data/Graphics/Parachute.png -share/hedgewars/Data/Graphics/Power.png -share/hedgewars/Data/Graphics/PowerBar.png -share/hedgewars/Data/Graphics/Progress.png -share/hedgewars/Data/Graphics/RopeHook.png -share/hedgewars/Data/Graphics/RopeNode.png -share/hedgewars/Data/Graphics/SmokeTrace.png -share/hedgewars/Data/Graphics/Switch.png -share/hedgewars/Data/Graphics/Target.png -share/hedgewars/Data/Graphics/Targetp.png -share/hedgewars/Data/Graphics/UFO.png -share/hedgewars/Data/Graphics/WindBar.png -share/hedgewars/Data/Graphics/WindL.png -share/hedgewars/Data/Graphics/WindR.png -share/hedgewars/Data/Graphics/amAirplane.png -share/hedgewars/Data/Graphics/amGirder.png -share/hedgewars/Data/Graphics/dynamite.png -share/hedgewars/Data/Graphics/hhMask.png -share/hedgewars/Data/Graphics/thinking.png -share/hedgewars/Data/Locale/en.txt -share/hedgewars/Data/Locale/hedgewars_ru.qm -share/hedgewars/Data/Locale/ru.txt -share/hedgewars/Data/Maps/Volcano/map.16.png -share/hedgewars/Data/Maps/Volcano/map.cfg -share/hedgewars/Data/Maps/Volcano/map.png -share/hedgewars/Data/Maps/cheese/map.16.png -share/hedgewars/Data/Maps/cheese/map.cfg -share/hedgewars/Data/Maps/cheese/map.png -share/hedgewars/Data/Maps/mushrooms/map.16.png -share/hedgewars/Data/Maps/mushrooms/map.cfg -share/hedgewars/Data/Maps/mushrooms/map.png -share/hedgewars/Data/Sounds/explosion.ogg -share/hedgewars/Data/Sounds/graveimpact.ogg -share/hedgewars/Data/Sounds/grenadeimpact.ogg -share/hedgewars/Data/Sounds/gun.ogg -share/hedgewars/Data/Sounds/minetick.ogg -share/hedgewars/Data/Sounds/pickhammer.ogg -share/hedgewars/Data/Sounds/shotgunfire.ogg -share/hedgewars/Data/Sounds/shotgunreload.ogg -share/hedgewars/Data/Sounds/splash.ogg -share/hedgewars/Data/Sounds/throwpowerup.ogg -share/hedgewars/Data/Sounds/throwrelease.ogg -share/hedgewars/Data/Sounds/ufo.ogg -share/hedgewars/Data/Themes/Volcano/Border.png -share/hedgewars/Data/Themes/Volcano/LandTex.png -share/hedgewars/Data/Themes/Volcano/Sky.png -share/hedgewars/Data/Themes/Volcano/gr1.png -share/hedgewars/Data/Themes/Volcano/horizont.png -share/hedgewars/Data/Themes/Volcano/leaf1.png -share/hedgewars/Data/Themes/Volcano/leaf2.png -share/hedgewars/Data/Themes/Volcano/theme.cfg -share/hedgewars/Data/Themes/Volcano/tree.png -share/hedgewars/Data/Themes/avematan/Border.png -share/hedgewars/Data/Themes/avematan/LandTex.png -share/hedgewars/Data/Themes/avematan/Sky.png -share/hedgewars/Data/Themes/avematan/a.png -share/hedgewars/Data/Themes/avematan/e.png -share/hedgewars/Data/Themes/avematan/horizont.png -share/hedgewars/Data/Themes/avematan/inf.png -share/hedgewars/Data/Themes/avematan/sqrt.png -share/hedgewars/Data/Themes/avematan/theme.cfg -share/hedgewars/Data/Themes/bubbles/Border.png -share/hedgewars/Data/Themes/bubbles/LandTex.png -share/hedgewars/Data/Themes/bubbles/Sky.png -share/hedgewars/Data/Themes/bubbles/horizont.png -share/hedgewars/Data/Themes/bubbles/round.png -share/hedgewars/Data/Themes/bubbles/theme.cfg -share/hedgewars/Data/Themes/cheese/Sky.png -share/hedgewars/Data/Themes/cheese/horizont.png -share/hedgewars/Data/Themes/cheese/theme.cfg -share/hedgewars/Data/Themes/norsk/Border.png -share/hedgewars/Data/Themes/norsk/LandTex.png -share/hedgewars/Data/Themes/norsk/Sky.png -share/hedgewars/Data/Themes/norsk/horizont.png -share/hedgewars/Data/Themes/norsk/theme.cfg -share/hedgewars/Data/Themes/norsk/tree.png -share/hedgewars/Data/Themes/steel/01.png -share/hedgewars/Data/Themes/steel/02.png -share/hedgewars/Data/Themes/steel/Border.png -share/hedgewars/Data/Themes/steel/Clouds.16.png -share/hedgewars/Data/Themes/steel/Clouds.32.png -share/hedgewars/Data/Themes/steel/LandTex.png -share/hedgewars/Data/Themes/steel/Sky.16.png -share/hedgewars/Data/Themes/steel/Sky.32.png -share/hedgewars/Data/Themes/steel/horizont.png -share/hedgewars/Data/Themes/steel/theme.cfg -share/hedgewars/Data/Themes/themes.cfg -share/hedgewars/Data/Themes/tibet/Border.png -share/hedgewars/Data/Themes/tibet/LandTex.png -share/hedgewars/Data/Themes/tibet/Sky.png -share/hedgewars/Data/Themes/tibet/chha.png -share/hedgewars/Data/Themes/tibet/horizont.png -share/hedgewars/Data/Themes/tibet/ma.png -share/hedgewars/Data/Themes/tibet/nga.png -share/hedgewars/Data/Themes/tibet/sa.png -share/hedgewars/Data/Themes/tibet/ta1.png -share/hedgewars/Data/Themes/tibet/theme.cfg -share/hedgewars/Data/Themes/wood/Border.png -share/hedgewars/Data/Themes/wood/LandTex.png -share/hedgewars/Data/Themes/wood/Sky.png -share/hedgewars/Data/Themes/wood/gr1.png -share/hedgewars/Data/Themes/wood/horizont.png -share/hedgewars/Data/Themes/wood/leaf1.png -share/hedgewars/Data/Themes/wood/leaf2.png -share/hedgewars/Data/Themes/wood/theme.cfg -share/hedgewars/Data/Themes/wood/tree.png -share/hedgewars/Data/Themes/xtheme/Border.png -share/hedgewars/Data/Themes/xtheme/LandTex.png -share/hedgewars/Data/Themes/xtheme/Sky.png -share/hedgewars/Data/Themes/xtheme/horizont.png -share/hedgewars/Data/Themes/xtheme/plant1.png -share/hedgewars/Data/Themes/xtheme/plant2.png -share/hedgewars/Data/Themes/xtheme/plant3.png -share/hedgewars/Data/Themes/xtheme/plant4.png -share/hedgewars/Data/Themes/xtheme/theme.cfg -share/hedgewars/Data/Trainings/001_Shotgun.txt -share/hedgewars/Data/Trainings/002_Bazooka.txt -@dirrm share/hedgewars/Data/Trainings -@dirrm share/hedgewars/Data/Themes/xtheme -@dirrm share/hedgewars/Data/Themes/wood -@dirrm share/hedgewars/Data/Themes/tibet -@dirrm share/hedgewars/Data/Themes/steel -@dirrm share/hedgewars/Data/Themes/norsk -@dirrm share/hedgewars/Data/Themes/cheese -@dirrm share/hedgewars/Data/Themes/bubbles -@dirrm share/hedgewars/Data/Themes/avematan -@dirrm share/hedgewars/Data/Themes/Volcano -@dirrm share/hedgewars/Data/Themes -@dirrm share/hedgewars/Data/Sounds -@dirrm share/hedgewars/Data/Maps/mushrooms -@dirrm share/hedgewars/Data/Maps/cheese -@dirrm share/hedgewars/Data/Maps/Volcano -@dirrm share/hedgewars/Data/Maps -@dirrm share/hedgewars/Data/Locale -@dirrm share/hedgewars/Data/Graphics/Graves -@dirrm share/hedgewars/Data/Graphics/AmmoMenu -@dirrm share/hedgewars/Data/Graphics -@dirrm share/hedgewars/Data/Forts -@dirrm share/hedgewars/Data/Fonts -@dirrm share/hedgewars/Data -@dirrm share/hedgewars diff -r c6fe8a4bfd34 -r 4290ba4a14ca netserver/HWProto.hs --- a/netserver/HWProto.hs Mon Sep 29 22:14:23 2008 +0000 +++ b/netserver/HWProto.hs Sun Oct 05 16:35:46 2008 +0000 @@ -91,7 +91,7 @@ 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 client clients rooms ("ADDTEAM:" : teamName : teamColor : graveName : fortName : teamLevel : hhs) = + (noChangeClients, noChangeRooms, clientOnly, ["TEAM_ACCEPTED", teamName, "1"]) handleCmd_inRoom _ _ _ _ = (noChangeClients, noChangeRooms, clientOnly, badCmd) diff -r c6fe8a4bfd34 -r 4290ba4a14ca netserver/newhwserv.hs --- a/netserver/newhwserv.hs Mon Sep 29 22:14:23 2008 +0000 +++ b/netserver/newhwserv.hs Sun Oct 05 16:35:46 2008 +0000 @@ -42,9 +42,9 @@ Left ci -> do mainLoop servSock acceptChan (ci:clients) rooms Right (cmd, client) -> do - print ("> " ++ show cmd) + putStrLn ("> " ++ show cmd) let (clientsFunc, roomsFunc, handlesFunc, answer) = handleCmd client clients rooms $ cmd - print ("< " ++ show answer) + putStrLn ("< " ++ show answer) let mclients = clientsFunc clients let mrooms = roomsFunc rooms