diff --git a/sc2/src/uqm/supermelee/meleesetup.c b/sc2/src/uqm/supermelee/meleesetup.c index 72d9aa6f6..c65b49238 100644 --- a/sc2/src/uqm/supermelee/meleesetup.c +++ b/sc2/src/uqm/supermelee/meleesetup.c @@ -170,6 +170,28 @@ MeleeTeam_copy (MeleeTeam *copy, const MeleeTeam *original) *copy = *original; } +bool +MeleeTeam_isEqual (const MeleeTeam *team1, const MeleeTeam *team2) +{ + const MeleeShip *fleet1; + const MeleeShip *fleet2; + FleetShipIndex slotI; + + if (strcmp (team1->name, team2->name) != 0) + return false; + + fleet1 = team1->ships; + fleet2 = team2->ships; + + for (slotI = 0; slotI < MELEE_FLEET_SIZE; slotI++) + { + if (fleet1[slotI] != fleet2[slotI]) + return false; + } + + return true; +} + /////////////////////////////////////////////////////////////////////////// MeleeSetup * @@ -318,8 +340,17 @@ MeleeSetup_setConfirmedTeamName (MeleeSetup *setup, size_t teamNr, MeleeTeam_setName (team, name); return true; } -#endif /* NETPLAY */ +bool +MeleeSetup_isTeamConfirmed (MeleeSetup *setup, size_t teamNr) +{ + MeleeTeam *localTeam = &setup->teams[teamNr]; + MeleeTeam *confirmedTeam = &setup->confirmedTeams[teamNr]; + + return MeleeTeam_isEqual (localTeam, confirmedTeam); +} + +#endif /* NETPLAY */ /////////////////////////////////////////////////////////////////////////// diff --git a/sc2/src/uqm/supermelee/meleesetup.h b/sc2/src/uqm/supermelee/meleesetup.h index 6afa949f7..c4c85f693 100644 --- a/sc2/src/uqm/supermelee/meleesetup.h +++ b/sc2/src/uqm/supermelee/meleesetup.h @@ -98,6 +98,7 @@ const MeleeShip *MeleeTeam_getFleet (const MeleeTeam *team); const char *MeleeTeam_getTeamName (const MeleeTeam *team); void MeleeTeam_setName (MeleeTeam *team, const UNICODE *name); void MeleeTeam_copy (MeleeTeam *copy, const MeleeTeam *original); +bool MeleeTeam_isEqual (const MeleeTeam *team1, const MeleeTeam *team2); #ifdef NETPLAY MeleeShip MeleeSetup_getConfirmedShip (const MeleeSetup *setup, size_t teamNr, @@ -108,6 +109,7 @@ bool MeleeSetup_setConfirmedShip (MeleeSetup *setup, size_t teamNr, FleetShipIndex slotNr, MeleeShip ship); bool MeleeSetup_setConfirmedTeamName (MeleeSetup *setup, size_t teamNr, const UNICODE *name); +bool MeleeSetup_isTeamConfirmed (MeleeSetup *setup, size_t teamNr); #endif /* NETPLAY */ MeleeSetup *MeleeSetup_new (void);