Try another fix for bug #11293 that may work better for networked games.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@4139 4a71c877-e1ca-e34f-864e-861f7616d084master
parent
cc70d235ac
commit
51d5b30e3e
|
@ -293,7 +293,7 @@ void runLimitScreen(void)
|
|||
// ////////////////////////////////////////////////////////////////////////////
|
||||
void createLimitSet(void)
|
||||
{
|
||||
UDWORD i, numchanges = 0, bufSize;
|
||||
UDWORD i, numchanges = 0, bufSize, idx = 0;
|
||||
MULTISTRUCTLIMITS *pEntry;
|
||||
|
||||
// Free the old set if required
|
||||
|
@ -315,7 +315,7 @@ void createLimitSet(void)
|
|||
}
|
||||
|
||||
// Allocate some memory for the changes
|
||||
bufSize = numStructureStats * sizeof(MULTISTRUCTLIMITS);
|
||||
bufSize = numchanges * sizeof(MULTISTRUCTLIMITS);
|
||||
pEntry = malloc(bufSize);
|
||||
memset(pEntry, 255, bufSize);
|
||||
|
||||
|
@ -325,8 +325,10 @@ void createLimitSet(void)
|
|||
{
|
||||
if (asStructLimits[0][i].limit != LOTS_OF)
|
||||
{
|
||||
pEntry[i].id = i;
|
||||
pEntry[i].limit = asStructLimits[0][i].limit;
|
||||
ASSERT(idx < numchanges, "Bad number of changed limits");
|
||||
pEntry[idx].id = i;
|
||||
pEntry[idx].limit = asStructLimits[0][i].limit;
|
||||
idx++;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -348,7 +350,7 @@ void applyLimitSet(void)
|
|||
}
|
||||
|
||||
// Get the limits and decode
|
||||
for (i = 0; i < numStructureStats; i++)
|
||||
for (i = 0; i < ingame.numStructureLimits; i++)
|
||||
{
|
||||
UBYTE id = pEntry[i].id;
|
||||
|
||||
|
|
Loading…
Reference in New Issue