Savegames: Correctly Denumerate the first enumerated value (#657)

When that value was copied it went from Enum 0 to nil. While this could
be fixed by making C4V_Enum a NullableType, counting from 1 is a tiny bit
less code overall.
Günther Brammer 2011-09-19 23:02:18 +02:00
parent 952b180ac1
commit 4a32e63c46
1 changed files with 4 additions and 4 deletions

View File

@ -157,8 +157,8 @@ C4Value C4VString(StdStrBuf Str)
const C4Value & C4ValueNumbers::GetValue(uint32_t n)
{
if (n < LoadedValues.size())
return LoadedValues[n];
if (n <= LoadedValues.size())
return LoadedValues[n - 1];
LogF("ERROR: Value number %d is missing.", n);
return C4VNull;
}
@ -206,8 +206,8 @@ uint32_t C4ValueNumbers::GetNumberForValue(C4Value * v)
if (ValueNumbers.find(v->_getObj()) == ValueNumbers.end())
{
ValuesToSave.push_back(v);
ValueNumbers[v->_getObj()] = ValuesToSave.size() - 1;
return ValuesToSave.size() - 1;
ValueNumbers[v->_getObj()] = ValuesToSave.size();
return ValuesToSave.size();
}
return ValueNumbers[v->_getObj()];
}