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:
avolkov
2011-02-15 13:05:00 +00:00
parent 6ff079b8e8
commit 0870178bb7
4 changed files with 9 additions and 4 deletions
+1 -1
View File
@@ -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;
}
+6 -2
View File
@@ -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
+1 -1
View File
@@ -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);