// //////////////////////////////////////////////////////////////////////////// // Host Campaign. bool hostCampaign(char *sGame, char *sPlayer) { PLAYERSTATS playerStats; UDWORD i; debug(LOG_WZ, "Hosting campaign: '%s', player: '%s'", sGame, sPlayer); freeMessages(); // If we had a single player (i.e. campaign) game before this value will // have been set to 0. So revert back to the default value. if (game.maxPlayers == 0) { game.maxPlayers = 4; } if (!NEThostGame(sGame, sPlayer, game.type, 0, 0, 0, game.maxPlayers)) { return false; } for (i = 0; i < MAX_PLAYERS; i++) { if (NetPlay.bComms) { game.skDiff[i] = 0; // disable AI } setPlayerName(i, ""); //Clear custom names (use default ones instead) } NetPlay.players[selectedPlayer].ready = false; ingame.localJoiningInProgress = true; ingame.JoiningInProgress[selectedPlayer] = true; bMultiPlayer = true; bMultiMessages = true; // enable messages loadMultiStats(sPlayer, &playerStats); // stats stuff setMultiStats(selectedPlayer, playerStats, false); setMultiStats(selectedPlayer, playerStats, true); if (!NetPlay.bComms) { sstrcpy(NetPlay.players[0].name, sPlayer); } return true; }
BOOL joinCampaign(UDWORD gameNumber, char *sPlayer) { PLAYERSTATS playerStats; if(!ingame.localJoiningInProgress) { if (!NETjoinGame(gameNumber, sPlayer)) // join { return false; } ingame.localJoiningInProgress = true; loadMultiStats(sPlayer,&playerStats); setMultiStats(selectedPlayer, playerStats, false); setMultiStats(selectedPlayer, playerStats, true); return true; } return false; }