Confirmation fixes.
git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@2488 8092fc87-c524-0410-9efc-e669fe64eaf9
This commit is contained in:
@@ -46,7 +46,7 @@
|
|||||||
#define FLAGSHIP_STRING_COUNT 13
|
#define FLAGSHIP_STRING_COUNT 13
|
||||||
#define ORBITSCAN_STRING_COUNT 19
|
#define ORBITSCAN_STRING_COUNT 19
|
||||||
#define MAINMENU_STRING_COUNT 56
|
#define MAINMENU_STRING_COUNT 56
|
||||||
#define NETMELEE_STRING_COUNT 16
|
#define NETMELEE_STRING_COUNT 18
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
STAR_STRING_BASE = 0,
|
STAR_STRING_BASE = 0,
|
||||||
|
|||||||
@@ -2970,6 +2970,19 @@ updateRandomSeed (PMELEE_STATE pMS, COUNT side, DWORD seed) {
|
|||||||
(void) side;
|
(void) side;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// The remote player has done something which invalidates our confirmation.
|
||||||
|
void
|
||||||
|
confirmationCancelled(PMELEE_STATE pMS, COUNT side) {
|
||||||
|
if (side == 0)
|
||||||
|
DrawMeleeStatusMessage (GAME_STRING (NETMELEE_STRING_BASE + 16));
|
||||||
|
// "Bottom player changed something -- need to reconfirm."
|
||||||
|
else
|
||||||
|
DrawMeleeStatusMessage (GAME_STRING (NETMELEE_STRING_BASE + 17));
|
||||||
|
// "Top player changed something -- need to reconfirm."
|
||||||
|
if (pMS->InputFunc == DoConfirmSettings)
|
||||||
|
pMS->InputFunc = DoMelee;
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
connectedFeedback (PMELEE_STATE pMS, COUNT side) {
|
connectedFeedback (PMELEE_STATE pMS, COUNT side) {
|
||||||
if (side == 0)
|
if (side == 0)
|
||||||
|
|||||||
@@ -121,6 +121,7 @@ void updateTeamName (PMELEE_STATE pMS, COUNT side, const char *name,
|
|||||||
size_t len);
|
size_t len);
|
||||||
bool updateFleetShip (PMELEE_STATE pMS, COUNT side, COUNT index, BYTE ship);
|
bool updateFleetShip (PMELEE_STATE pMS, COUNT side, COUNT index, BYTE ship);
|
||||||
void updateRandomSeed (PMELEE_STATE pMS, COUNT side, DWORD seed);
|
void updateRandomSeed (PMELEE_STATE pMS, COUNT side, DWORD seed);
|
||||||
|
void confirmationCancelled(PMELEE_STATE pMS, COUNT side);
|
||||||
void connectedFeedback (PMELEE_STATE pMS, COUNT side);
|
void connectedFeedback (PMELEE_STATE pMS, COUNT side);
|
||||||
void errorFeedback (PMELEE_STATE pMS, COUNT side);
|
void errorFeedback (PMELEE_STATE pMS, COUNT side);
|
||||||
void closeFeedback (PMELEE_STATE pMS, COUNT side);
|
void closeFeedback (PMELEE_STATE pMS, COUNT side);
|
||||||
|
|||||||
@@ -83,6 +83,9 @@ void
|
|||||||
netInput(void) {
|
netInput(void) {
|
||||||
uint32 timeoutMs = 0;
|
uint32 timeoutMs = 0;
|
||||||
NetManager_process(&timeoutMs);
|
NetManager_process(&timeoutMs);
|
||||||
|
// This may cause more packets to be queued, hence the
|
||||||
|
// flushPacketQueues().
|
||||||
|
flushPacketQueues();
|
||||||
|
|
||||||
Alarm_process();
|
Alarm_process();
|
||||||
Callback_process();
|
Callback_process();
|
||||||
|
|||||||
@@ -166,7 +166,7 @@ PacketHandler_Ready(NetConnection *conn, const Packet_Ready *packet) {
|
|||||||
|
|
||||||
int
|
int
|
||||||
PacketHandler_Fleet(NetConnection *conn, const Packet_Fleet *packet) {
|
PacketHandler_Fleet(NetConnection *conn, const Packet_Fleet *packet) {
|
||||||
uint32 numShips = ntoh16(packet->numShips);
|
uint16 numShips = ntoh16(packet->numShips);
|
||||||
size_t i;
|
size_t i;
|
||||||
size_t len;
|
size_t len;
|
||||||
int player;
|
int player;
|
||||||
@@ -193,10 +193,13 @@ PacketHandler_Fleet(NetConnection *conn, const Packet_Fleet *packet) {
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (conn->stateFlags.handshake.localOk)
|
|
||||||
Netplay_cancelConfirmation(conn);
|
|
||||||
|
|
||||||
battleStateData = (BattleStateData *) NetConnection_getStateData(conn);
|
battleStateData = (BattleStateData *) NetConnection_getStateData(conn);
|
||||||
|
|
||||||
|
if (conn->stateFlags.handshake.localOk) {
|
||||||
|
Netplay_cancelConfirmation(conn);
|
||||||
|
confirmationCancelled(battleStateData->meleeState, player);
|
||||||
|
}
|
||||||
|
|
||||||
for (i = 0; i < numShips; i++) {
|
for (i = 0; i < numShips; i++) {
|
||||||
int ship = packet->ships[i].ship;
|
int ship = packet->ships[i].ship;
|
||||||
int index = packet->ships[i].index;
|
int index = packet->ships[i].index;
|
||||||
@@ -228,16 +231,18 @@ PacketHandler_TeamName(NetConnection *conn, const Packet_TeamName *packet) {
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (conn->stateFlags.handshake.localOk)
|
|
||||||
Netplay_cancelConfirmation(conn);
|
|
||||||
|
|
||||||
side = localSide(conn, (NetplaySide) packet->side);
|
side = localSide(conn, (NetplaySide) packet->side);
|
||||||
|
battleStateData = (BattleStateData *) NetConnection_getStateData(conn);
|
||||||
|
|
||||||
|
if (conn->stateFlags.handshake.localOk) {
|
||||||
|
Netplay_cancelConfirmation(conn);
|
||||||
|
confirmationCancelled(battleStateData->meleeState, side);
|
||||||
|
}
|
||||||
|
|
||||||
nameLen = packetLength((const Packet *) packet)
|
nameLen = packetLength((const Packet *) packet)
|
||||||
- sizeof (Packet_TeamName) - 1;
|
- sizeof (Packet_TeamName) - 1;
|
||||||
// The -1 is for not counting the terminating '\0'.
|
// The -1 is for not counting the terminating '\0'.
|
||||||
|
|
||||||
battleStateData = (BattleStateData *) NetConnection_getStateData(conn);
|
|
||||||
updateTeamName(battleStateData->meleeState, side, packet->name, nameLen);
|
updateTeamName(battleStateData->meleeState, side, packet->name, nameLen);
|
||||||
|
|
||||||
// Padding data may follow; it is ignored.
|
// Padding data may follow; it is ignored.
|
||||||
|
|||||||
Reference in New Issue
Block a user