Fixed drugtypes and drugitems background tags causing subsequent tags in the same background to be skipped

This commit is contained in:
Andrzej Fałkowski
2024-03-16 15:48:22 +01:00
parent bf01f87cb4
commit e6c5f95d73
+9 -1
View File
@@ -168,7 +168,7 @@ backgroundStartElementHandle(void *userData, const XML_Char *name, const XML_Cha
else if (strcmp(name, "drugitems") == 0 && pData->curElement == ELEMENT) else if (strcmp(name, "drugitems") == 0 && pData->curElement == ELEMENT)
{ {
pData->curElement = ELEMENT_VECTOR_OF_NUMBERS; pData->curElement = ELEMENT_VECTOR_OF_NUMBERS;
pData->curBackground.valueVectors[BackgroundVectorTypes::BG_DRUGUSE_TYPES].clear(); pData->curBackground.valueVectors[BackgroundVectorTypes::BG_DRUGUSE_ITEMS].clear();
pData->maxReadDepth++; //we are not skipping this element pData->maxReadDepth++; //we are not skipping this element
} }
@@ -693,6 +693,14 @@ backgroundEndElementHandle(void *userData, const XML_Char *name)
pData->curElement = ELEMENT; pData->curElement = ELEMENT;
pData->curBackground.uiFlags |= (UINT16)atol(pData->szCharData) ? BACKGROUND_CIVGROUPLOYAL : 0; pData->curBackground.uiFlags |= (UINT16)atol(pData->szCharData) ? BACKGROUND_CIVGROUPLOYAL : 0;
} }
else if (strcmp(name, "drugtypes") == 0)
{
pData->curElement = ELEMENT;
}
else if (strcmp(name, "drugitems") == 0)
{
pData->curElement = ELEMENT;
}
else if (strcmp(name, "drugtype") == 0) else if (strcmp(name, "drugtype") == 0)
{ {
pData->curElement = ELEMENT_VECTOR_OF_NUMBERS; pData->curElement = ELEMENT_VECTOR_OF_NUMBERS;