[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdegames/ksirk/ksirk
From: Gaƫl de Chalendar <kleag () free ! fr>
Date: 2009-09-30 22:10:44
Message-ID: 1254348644.663733.28883.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 1029854 by kleag:
TCP game setup debuging
M +7 -5 Dialogs/kplayersetupwidget.cpp
M +5 -4 Dialogs/newGameSummaryWidget.cpp
M +14 -7 GameLogic/gameautomaton.cpp
M +1 -4 GameLogic/gameautomaton.h
M +1 -1 decoratedgameframe.cpp
M +3 -31 kgamewin.cpp
M +1 -5 kgamewin.h
M +0 -2 kgamewinslots.cpp
M +77 -0 newgamesetup.cpp
M +5 -3 newgamesetup.h
--- trunk/KDE/kdegames/ksirk/ksirk/Dialogs/kplayersetupwidget.cpp #1029853:1029854
@@ -95,7 +95,7 @@
m_newGameSetup = newGameSetup;
kDebug() << "connecting to playerJoinedGame";
- connect(automaton,SIGNAL(signalPlayerJoinedGame(KPlayer*)), \
this,SLOT(slotPlayerJoinedGame(KPlayer*))); + \
connect(automaton,SIGNAL(signalPlayerJoinedGame(KPlayer*)), this, \
SLOT(slotPlayerJoinedGame(KPlayer*))); init();
kDebug() << "constructor done";
}
@@ -103,7 +103,7 @@
void KPlayerSetupWidget::slotNext()
{
- kDebug();
+ kDebug() << m_newGameSetup->players().size() << m_newGameSetup->nbPlayers();
m_name = nameLineEdit-> text().trimmed();
// kDebug() << "Got name " << name;
@@ -193,8 +193,8 @@
void KPlayerSetupWidget::slotPlayerJoinedGame(KPlayer* player)
{
-// kDebug() << "KPlayerSetupDialog::slotPlayerJoinedGame: " << player->name()
-// << " from " << ((GameLogic::Player*)player)->getNation()->name();
+ kDebug() << "KPlayerSetupWidget::slotPlayerJoinedGame: " << player->name()
+ << " from " << ((GameLogic::Player*)player)->getNation()->name();
for (int i = 0 ; i < nationCombo->count(); i++)
{
if (nationCombo->itemText(i) == \
m_nationsNames[((GameLogic::Player*)player)->getNation()->name()]) @@ -203,14 +203,16 \
@@ break;
}
}
+ slotNameEdited(nameLineEdit->text());
}
void KPlayerSetupWidget::slotNationChanged()
{
-// kDebug() << "KPlayerSetupDialog::slotNationChanged " << \
nationCombo->currentText(); + kDebug() << "KPlayerSetupWidget::slotNationChanged " \
<< nationCombo->currentText(); GameLogic::Nationality* nation = \
m_onu->nationNamed(m_nationsNames[nationCombo->currentText()]); // kDebug() << \
"nation = " << nation; nameLineEdit-> setText(nation->leaderName());
+ slotNameEdited(nameLineEdit->text());
}
bool KPlayerSetupWidget::isAvailable(QString nationName)
--- trunk/KDE/kdegames/ksirk/ksirk/Dialogs/newGameSummaryWidget.cpp #1029853:1029854
@@ -74,10 +74,11 @@
playersTable->setItem(row, 3, netItem);
row++;
}
-// if (game->newGameSetup()->nbLocalPlayers() < game->newGameSetup()->nbPlayers())
-// {
-// finishButton->setEnabled(false);
-// }
+ if (game->automaton()->networkGameType() != GameLogic::GameAutomaton::None)
+ {
+ finishButton->setEnabled(false);
+ previousButton->setEnabled(false);
+ }
}
}
--- trunk/KDE/kdegames/ksirk/ksirk/GameLogic/gameautomaton.cpp #1029853:1029854
@@ -145,6 +145,7 @@
"AttackAuto", // 313
"DisplayRecycleDetails", // 314
"CurrentPlayerPlayed", // 315
+"NewGameSetupMsg", // 316
};
#define KSIRK_DEFAULT_PORT 20000
@@ -164,8 +165,7 @@
m_defenseAuto(false),
m_port(KSIRK_DEFAULT_PORT),
m_startingGame(false),
- m_pixmapCache("GameAutomaton"),
- m_newGameSetup(0)
+ m_pixmapCache("GameAutomaton")
{
m_skin = "skins/default";
// kDebug() << endl;
@@ -1522,7 +1522,7 @@
void GameAutomaton::changePlayerName(Player* player)
{
-// kDebug() << endl;
+// kDebug();
QMap< QString, QString > nations = m_game->nationsList();
PlayersArray::iterator it = playerList()->begin();
@@ -1554,8 +1554,6 @@
mes = i18n("Player number %1, what's your name?", 1);
bool network = false;
QString password;
-// KPlayerSetupDialog(this, m_game->theWorld(), 1, nomEntre, network, \
password, computer, nations, nationName, m_game).exec();
- // kDebug() << "After KPlayerSetupDialog. name: " << nomEntre << endl;
if (nomEntre.isEmpty())
{
mes = i18n("Error - Player %1, you have to choose a name.", 1);
@@ -1615,7 +1613,6 @@
KMessageBox::information(m_game, i18n("Please choose another nation"), i18n("KsirK \
- Nation already used!")); bool network = false;
QString password = false;
-// KPlayerSetupDialog(this, m_game->theWorld(), 1, nomEntre, network, password, \
computer, nations, nationName, m_game).exec(); QByteArray buffer;
QDataStream stream(&buffer, QIODevice::WriteOnly);
stream << player->name() << nationName;
@@ -1665,7 +1662,7 @@
void GameAutomaton::slotClientJoinedGame(quint32 clientid, KGame* /*me*/)
{
- kDebug() << clientid << endl;
+ kDebug() << clientid;
if (isAdmin() && clientid!=gameId())
{
QByteArray buffernbp;
@@ -1673,6 +1670,11 @@
streamnbp << m_nbPlayers;
sendMessage(buffernbp,NbPlayers,clientid);
+ QByteArray bufferngs;
+ QDataStream streamngs(&bufferngs, QIODevice::WriteOnly);
+ streamngs << *m_game->newGameSetup();
+ sendMessage(bufferngs,NewGameSetupMsg,clientid);
+
QByteArray buffer;
QDataStream stream(&buffer, QIODevice::WriteOnly);
if (m_game->waitedPlayers().empty())
@@ -2048,6 +2050,7 @@
quint32 availArmies;
quint32 elemType;
quint32 nb;
+ quint32 newGameSetupNbPlayers;
if (currentPlayer() != 0 && currentPlayer()->getFlag() != 0)
{
@@ -2590,6 +2593,10 @@
case ResetPlayersDistributionData:
resetPlayersDistributionData();
break;
+ case NewGameSetupMsg:
+ kDebug() << "Got message NewGameSetupMsg";
+ stream >> *m_game->newGameSetup();
+ break;
default: ;
}
}
--- trunk/KDE/kdegames/ksirk/ksirk/GameLogic/gameautomaton.h #1029853:1029854
@@ -38,8 +38,6 @@
#include <iostream>
-class NewGameSetup;
-
namespace Ksirk {
class KGameWindow;
namespace GameLogic {
@@ -111,6 +109,7 @@
AttackAuto, // 313
DisplayRecycleDetails, // 314
CurrentPlayerPlayed, // 315
+ NewGameSetupMsg, // 316
UnusedLastMessageId
};
@@ -593,8 +592,6 @@
QMap<QString, KGameSvgDocument> m_svgDoms;
NetworkGameType m_netGameType;
-
- NewGameSetup* m_newGameSetup;
};
QDataStream& operator>>(QDataStream& s, GameAutomaton::GameState& state);
--- trunk/KDE/kdegames/ksirk/ksirk/decoratedgameframe.cpp #1029853:1029854
@@ -62,7 +62,7 @@
initMoveMenu();
// redirect the mouse move event to the main windows
- connect(this, SIGNAL(mouseMoveEventReceived(QMouseEvent *)), parent, \
SLOT(mouseMoveEvent(QMouseEvent *))); + connect(this, \
SIGNAL(mouseMoveEventReceived(QMouseEvent *)), automaton->game(), \
SLOT(mouseMoveEvent(QMouseEvent *))); }
DecoratedGameFrame::~DecoratedGameFrame()
--- trunk/KDE/kdegames/ksirk/ksirk/kgamewin.cpp #1029853:1029854
@@ -1353,16 +1353,6 @@
m_frame->setFocus();
}
-bool KGameWindow::setupPlayers(GameAutomaton::NetworkGameType socket)
-{
- kDebug();
-
- // Number of players
- m_newPlayersNumber = 0;
- m_automaton->setupPlayersNumberAndSkin(socket);
- return false;
-}
-
bool KGameWindow::finishSetupPlayers()
{
kDebug();
@@ -1389,22 +1379,6 @@
m_centralWidget->setCurrentIndex(NEWPLAYER_INDEX);
// Players names
QString mes = "";
-// for (unsigned int i = 0;
-// i < m_newPlayersNumber - m_automaton->networkPlayersNumber();
-// i++)
-// {
-// bool computer;
-// bool network = false;
-//
-// // After closing KPlayerSetupDialog, it is guaranteed, that nomEntre is a
-// // valid username (not empty, unique)
-// KPlayerSetupDialog(m_automaton, m_theWorld, i+1, nomEntre, network,
-// password, computer, nations, nationName, this).exec();
-// kDebug() << "Creating player " << nomEntre << "(computer: "
-// << computer << "): " << nationName;
-// addPlayer(nomEntre, nbAvailArmies, 0, nationName, computer);
-// nations.remove(nationName);
-// }
if (m_newGameSetup->networkGameType() != GameAutomaton::None)
{
m_frame->setArenaOptionEnabled(false);
@@ -2722,11 +2696,9 @@
(KMessageBox::warningContinueCancel(this,i18n("Do you really want to end \
your current game and start a new one?"),i18n("New game \
confirmation"),KStandardGuiItem::yes()) == KMessageBox::Continue ) )
{
-/* m_automaton->setGameStatus(KGame::End);
- m_automaton->state(GameLogic::GameAutomaton::INIT);
- m_automaton->savedState(GameLogic::GameAutomaton::INVALID);*/
- setupPlayers(socket);
-// return (setupPlayers());
+ m_newGameSetup->clear();
+ m_newPlayersNumber = 0;
+ m_automaton->setupPlayersNumberAndSkin(socket);
}
return false;
}
--- trunk/KDE/kdegames/ksirk/ksirk/kgamewin.h #1029853:1029854
@@ -57,6 +57,7 @@
class KsirkJabberGameWidget;
class mainMenu;
+class NewGameSetup;
class QAction;
class KGameChat;
@@ -243,11 +244,6 @@
/************** END OF METHODS DEFINED IN gestionSprites.cpp *****************/
- /**
- * Prepares the players for the game with human interaction. Return true
- * if successful or false if failure or cancel
- */
- bool setupPlayers(GameLogic::GameAutomaton::NetworkGameType socket);
bool setupOnePlayer();
bool setupOneWaitedPlayer();
bool createWaitedPlayer(quint32 waitedPlayerId);
--- trunk/KDE/kdegames/ksirk/ksirk/kgamewinslots.cpp #1029853:1029854
@@ -648,8 +648,6 @@
m_newPlayersNumber = m_newGameSetup->players().size();
m_automaton->connectToServ();
-// delete m_newGameSetup;
-// m_newGameSetup = new NewGameSetup(m_automaton);
}
void KGameWindow::slotShowGoal()
--- trunk/KDE/kdegames/ksirk/ksirk/newgamesetup.cpp #1029853:1029854
@@ -50,3 +50,80 @@
}
return !found;
}
+
+void NewGameSetup::clear()
+{
+ kDebug();
+ m_players.clear();
+}
+
+QDataStream& operator<<(QDataStream& stream, const NewGameSetup& ngs)
+{
+ kDebug();
+ stream << ngs.skin();
+
+ stream << (quint32)ngs.players().size();
+ foreach (Ksirk::NewPlayerData* newPlayer, ngs.players())
+ {
+ stream << newPlayer->name();
+ stream << newPlayer->nation();
+ stream << newPlayer->password();
+ stream << (quint32)newPlayer->computer();
+ stream << (quint32)newPlayer->network();
+
+ }
+ stream << (quint32)ngs.nbPlayers();
+ stream << (quint32)ngs.nbNetworkPlayers();
+ stream << (quint32)ngs.useGoals();
+ stream << (quint32)ngs.networkGameType();
+ stream << (quint32)ngs.tcpPort();
+ stream << ngs.host();
+
+ return stream;
+}
+
+QDataStream& operator>>(QDataStream& stream, NewGameSetup& ngs)
+{
+ kDebug();
+ QString skin;
+ stream >> skin;
+ ngs.setSkin(skin);
+ quint32 players;
+ stream >> players;
+ kDebug() << "nb players" << players;
+ for (int i = 0; i < players; i++)
+ {
+ QString name;
+ stream >> name;
+ QString nation;
+ stream >> nation;
+ QString password;
+ stream >> password;
+ quint32 computer;
+ stream >> computer;
+ quint32 network;
+ stream >> network;
+ kDebug() << "player" << name << nation << password << computer << network;
+ Ksirk::NewPlayerData* newPlayer = new \
NewPlayerData(name,nation,password,computer,network); + \
ngs.players().push_back(newPlayer); + }
+ quint32 nbPlayers;
+ stream >> nbPlayers;
+ ngs.setNbPlayers(nbPlayers);
+ quint32 nbNetworkPlayers;
+ stream >> nbNetworkPlayers;
+ ngs.setNbNetworkPlayers(nbNetworkPlayers);
+ quint32 useGoals;
+ stream >> useGoals;
+ ngs.setUseGoals(useGoals);
+ quint32 networkGameType;
+ stream >> networkGameType;
+ ngs.setNetworkGameType((GameLogic::GameAutomaton::NetworkGameType)networkGameType);
+ quint32 tcpPort;
+ stream >> tcpPort;
+ ngs.setTcpPort(tcpPort);
+ QString host;
+ stream >> host;
+ ngs.setHost(host);
+ return stream;
+}
--- trunk/KDE/kdegames/ksirk/ksirk/newgamesetup.h #1029853:1029854
@@ -43,9 +43,6 @@
virtual ~NewGameSetup() {}
-// void init(const QString& skin,
-// bool networkGame);
-
inline Ksirk::GameLogic::GameAutomaton* automaton() {return m_automaton;}
inline const QString& skin() const {return m_skin;}
inline void setSkin(const QString& skin) {m_skin= skin;}
@@ -82,6 +79,8 @@
bool addPlayer(Ksirk::NewPlayerData* player);
+ void clear();
+
private:
Ksirk::GameLogic::GameAutomaton* m_automaton;
QString m_skin;
@@ -96,4 +95,7 @@
QString m_host;
};
+QDataStream& operator<<(QDataStream& stream, const NewGameSetup& ngs);
+QDataStream& operator>>(QDataStream& stream, NewGameSetup& ngs);
+
#endif // NEWGAMESETUP_H
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic