1372 // config stuff |
1372 // config stuff |
1373 connect(hwnet, SIGNAL(paramChanged(const QString &, const QStringList &)), ui.pageNetGame->pGameCFG, SLOT(setParam(const QString &, const QStringList &))); |
1373 connect(hwnet, SIGNAL(paramChanged(const QString &, const QStringList &)), ui.pageNetGame->pGameCFG, SLOT(setParam(const QString &, const QStringList &))); |
1374 connect(ui.pageNetGame->pGameCFG, SIGNAL(paramChanged(const QString &, const QStringList &)), hwnet, SLOT(onParamChanged(const QString &, const QStringList &))); |
1374 connect(ui.pageNetGame->pGameCFG, SIGNAL(paramChanged(const QString &, const QStringList &)), hwnet, SLOT(onParamChanged(const QString &, const QStringList &))); |
1375 connect(hwnet, SIGNAL(configAsked()), ui.pageNetGame->pGameCFG, SLOT(fullNetConfig())); |
1375 connect(hwnet, SIGNAL(configAsked()), ui.pageNetGame->pGameCFG, SLOT(fullNetConfig())); |
1376 |
1376 |
|
1377 // using proxy slot to prevent loss of game messages when they're sent to not yet connected slot of game object |
|
1378 connect(hwnet, SIGNAL(FromNet(const QByteArray &)), this, SLOT(FromNetProxySlot(const QByteArray &)), Qt::QueuedConnection); |
|
1379 |
1377 //nick and pass stuff |
1380 //nick and pass stuff |
1378 hwnet->m_private_game = !(hostName == NETGAME_DEFAULT_SERVER && port == NETGAME_DEFAULT_PORT); |
1381 hwnet->m_private_game = !(hostName == NETGAME_DEFAULT_SERVER && port == NETGAME_DEFAULT_PORT); |
1379 if (hwnet->m_private_game == false && AskForNickAndPwd() != 0) |
1382 if (hwnet->m_private_game == false && AskForNickAndPwd() != 0) |
1380 return; |
1383 return; |
1381 |
1384 |
1724 game->StartCampaign(camp, miss, campTeam); |
1727 game->StartCampaign(camp, miss, campTeam); |
1725 } |
1728 } |
1726 |
1729 |
1727 void HWForm::CreateNetGame() |
1730 void HWForm::CreateNetGame() |
1728 { |
1731 { |
|
1732 // go back in pages to prevent user from being stuck on certain pages |
|
1733 if(ui.Pages->currentIndex() == ID_PAGE_GAMESTATS || |
|
1734 ui.Pages->currentIndex() == ID_PAGE_INGAME) |
|
1735 GoBack(); |
|
1736 |
1729 QString ammo; |
1737 QString ammo; |
1730 ammo = ui.pageNetGame->pGameCFG->WeaponsName->itemData( |
1738 ammo = ui.pageNetGame->pGameCFG->WeaponsName->itemData( |
1731 ui.pageNetGame->pGameCFG->WeaponsName->currentIndex() |
1739 ui.pageNetGame->pGameCFG->WeaponsName->currentIndex() |
1732 ).toString(); |
1740 ).toString(); |
1733 |
1741 |
1734 CreateGame(ui.pageNetGame->pGameCFG, ui.pageNetGame->pNetTeamsWidget, ammo); |
1742 CreateGame(ui.pageNetGame->pGameCFG, ui.pageNetGame->pNetTeamsWidget, ammo); |
1735 |
1743 |
1736 connect(game, SIGNAL(SendNet(const QByteArray &)), hwnet, SLOT(SendNet(const QByteArray &))); |
1744 connect(game, SIGNAL(SendNet(const QByteArray &)), hwnet, SLOT(SendNet(const QByteArray &))); |
1737 connect(game, SIGNAL(SendChat(const QString &)), hwnet, SLOT(chatLineToNet(const QString &))); |
1745 connect(game, SIGNAL(SendChat(const QString &)), hwnet, SLOT(chatLineToNet(const QString &))); |
1738 connect(game, SIGNAL(SendTeamMessage(const QString &)), hwnet, SLOT(SendTeamMessage(const QString &))); |
1746 connect(game, SIGNAL(SendTeamMessage(const QString &)), hwnet, SLOT(SendTeamMessage(const QString &))); |
1739 connect(hwnet, SIGNAL(FromNet(const QByteArray &)), game, SLOT(FromNet(const QByteArray &)), Qt::QueuedConnection); |
|
1740 connect(hwnet, SIGNAL(chatStringFromNet(const QString &)), game, SLOT(FromNetChat(const QString &)), Qt::QueuedConnection); |
1747 connect(hwnet, SIGNAL(chatStringFromNet(const QString &)), game, SLOT(FromNetChat(const QString &)), Qt::QueuedConnection); |
1741 |
1748 |
1742 game->StartNet(); |
1749 game->StartNet(); |
1743 } |
1750 } |
1744 |
1751 |
1824 connect(hwnet, SIGNAL(netSchemeConfig(QStringList &)), |
1831 connect(hwnet, SIGNAL(netSchemeConfig(QStringList &)), |
1825 this, SLOT(selectFirstNetScheme())); |
1832 this, SLOT(selectFirstNetScheme())); |
1826 } |
1833 } |
1827 |
1834 |
1828 ui.pageNetGame->setMasterMode(false); |
1835 ui.pageNetGame->setMasterMode(false); |
|
1836 } |
|
1837 |
|
1838 void HWForm::FromNetProxySlot(const QByteArray & msg) |
|
1839 { |
|
1840 if(game) |
|
1841 game->FromNet(msg); |
|
1842 |
1829 } |
1843 } |
1830 |
1844 |
1831 void HWForm::selectFirstNetScheme() |
1845 void HWForm::selectFirstNetScheme() |
1832 { |
1846 { |
1833 ui.pageNetGame->pGameCFG->GameSchemes->setCurrentIndex(0); |
1847 ui.pageNetGame->pGameCFG->GameSchemes->setCurrentIndex(0); |