diff --git a/sc2/ChangeLog b/sc2/ChangeLog index 25e5b9d3a..1b65d91d7 100644 --- a/sc2/ChangeLog +++ b/sc2/ChangeLog @@ -1,4 +1,5 @@ Changes towards version 0.7: +- Fixed loading of melee.cfg (bug #1099) - Alex - Fixed the 64KB size limitation on key-value files (bug #1112) - Alex - Update download paths for the new SourceForge File Release system - Michael - Fix UAC issues with installer for cleaner Vista/Win7 installs - Michael diff --git a/sc2/src/uqm/supermelee/melee.c b/sc2/src/uqm/supermelee/melee.c index 18141a6d3..c04c92093 100644 --- a/sc2/src/uqm/supermelee/melee.c +++ b/sc2/src/uqm/supermelee/melee.c @@ -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; } diff --git a/sc2/src/uqm/supermelee/meleesetup.c b/sc2/src/uqm/supermelee/meleesetup.c index 22a368d5a..a45f17290 100644 --- a/sc2/src/uqm/supermelee/meleesetup.c +++ b/sc2/src/uqm/supermelee/meleesetup.c @@ -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 diff --git a/sc2/src/uqm/supermelee/meleesetup.h b/sc2/src/uqm/supermelee/meleesetup.h index 9b062a3c2..d6ff9eda9 100644 --- a/sc2/src/uqm/supermelee/meleesetup.h +++ b/sc2/src/uqm/supermelee/meleesetup.h @@ -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);