Fix melee.cfg loading: correct check for file size, calc fleet value after loading; bug #1099
git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@3559 8092fc87-c524-0410-9efc-e669fe64eaf9
This commit is contained in:
@@ -2004,7 +2004,7 @@ LoadMeleeConfig (MELEE_STATE *pMS)
|
||||
|
||||
if (uio_fstat(uio_streamHandle(stream), &sb) == -1)
|
||||
goto err;
|
||||
if ((size_t) sb.st_size != (1 + MeleeTeam_size) * NUM_SIDES)
|
||||
if ((size_t) sb.st_size != (1 + MeleeTeam_serialSize) * NUM_SIDES)
|
||||
goto err;
|
||||
}
|
||||
|
||||
|
||||
@@ -25,7 +25,8 @@
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// Temporary
|
||||
const size_t MeleeTeam_size = sizeof (MeleeTeam);
|
||||
const size_t MeleeTeam_serialSize = MELEE_FLEET_SIZE +
|
||||
sizeof (((MeleeTeam*)0)->name);
|
||||
|
||||
void
|
||||
MeleeTeam_init (MeleeTeam *team)
|
||||
@@ -323,7 +324,10 @@ MeleeSetup_deserializeTeam (MeleeSetup *setup, size_t teamNr,
|
||||
uio_Stream *stream)
|
||||
{
|
||||
MeleeTeam *team = &setup->teams[teamNr];
|
||||
return MeleeTeam_deserialize (team, stream);
|
||||
int ret = MeleeTeam_deserialize (team, stream);
|
||||
if (ret == 0)
|
||||
setup->fleetValue[teamNr] = MeleeTeam_getValue (team);
|
||||
return ret;
|
||||
}
|
||||
|
||||
int
|
||||
|
||||
@@ -64,7 +64,7 @@ struct MeleeSetup
|
||||
|
||||
#endif /* MELEESETUP_INTERNAL */
|
||||
|
||||
extern const size_t MeleeTeam_size;
|
||||
extern const size_t MeleeTeam_serialSize;
|
||||
|
||||
void MeleeTeam_init (MeleeTeam *team);
|
||||
void MeleeTeam_uninit (MeleeTeam *team);
|
||||
|
||||
Reference in New Issue
Block a user