void NetworkSendEndLevelSub (int nPlayer) { CEndLevelInfo end; int i; // Send an endlevel packet for a CPlayerData *end.Type () = PID_ENDLEVEL; *end.Player () = nPlayer; *end.Connected () = gameData.multiplayer.players [nPlayer].connected; *end.Kills () = INTEL_SHORT (gameData.multiplayer.players [nPlayer].netKillsTotal); *end.Killed () = INTEL_SHORT (gameData.multiplayer.players [nPlayer].netKilledTotal); memcpy (end.ScoreMatrix (), gameData.multigame.kills.matrix [nPlayer], MAX_NUM_NET_PLAYERS * sizeof (short)); #if defined (WORDS_BIGENDIAN) || defined (__BIG_ENDIAN__) for (i = 0; i < MAX_PLAYERS; i++) for (int j = 0; j < MAX_PLAYERS; j++) *end.ScoreMatrix (i, j) = INTEL_SHORT (*end.ScoreMatrix (i, j)); #endif if (gameData.multiplayer.players [nPlayer].connected == 1) {// Still playing Assert (gameData.reactor.bDestroyed); *end.SecondsLeft () = gameData.reactor.countdown.nSecsLeft; } for (i = 0; i < gameData.multiplayer.nPlayers; i++) { if ((i != gameData.multiplayer.nLocalPlayer) && (i != nPlayer) && (gameData.multiplayer.players [i].connected)) { if (gameData.multiplayer.players [i].connected == 1) NetworkSendEndLevelShortSub (nPlayer, i); else if (gameStates.multi.nGameType >= IPX_GAME) IPXSendPacketData ( reinterpret_cast<ubyte*> (&end), sizeof (tEndLevelInfo), netPlayers.m_info.players [i].network.ipx.server, netPlayers.m_info.players [i].network.ipx.node, gameData.multiplayer.players [i].netAddress); } } }
void NetworkSendEndLevelSub (int nPlayer) { tEndLevelInfo end; int i, j = 0; // Send an endlevel packet for a tPlayer end.nType = PID_ENDLEVEL; end.nPlayer = nPlayer; end.connected = gameData.multiplayer.players [nPlayer].connected; end.kills = INTEL_SHORT (gameData.multiplayer.players [nPlayer].netKillsTotal); end.killed = INTEL_SHORT (gameData.multiplayer.players [nPlayer].netKilledTotal); memcpy (end.killMatrix, gameData.multigame.kills.matrix [nPlayer], MAX_PLAYERS*sizeof (short)); #if defined (WORDS_BIGENDIAN) || defined (__BIG_ENDIAN__) for (i = 0; i < MAX_PLAYERS; i++) for (j = 0; j < MAX_PLAYERS; j++) end.killMatrix [i][j] = INTEL_SHORT (end.killMatrix [i][j]); #else j = j; // to satisfy compiler #endif if (gameData.multiplayer.players [nPlayer].connected == 1) {// Still playing Assert (gameData.reactor.bDestroyed); end.seconds_left = gameData.reactor.countdown.nSecsLeft; } for (i = 0; i < gameData.multiplayer.nPlayers; i++) { if ((i != gameData.multiplayer.nLocalPlayer) && (i != nPlayer) && (gameData.multiplayer.players [i].connected)) { if (gameData.multiplayer.players [i].connected == 1) NetworkSendEndLevelShortSub (nPlayer, i); else if (gameStates.multi.nGameType >= IPX_GAME) IPXSendPacketData ( (ubyte *)&end, sizeof (tEndLevelInfo), netPlayers.players [i].network.ipx.server, netPlayers.players [i].network.ipx.node, gameData.multiplayer.players [i].netAddress); } } }