mirror of
https://github.com/1dot13/source.git
synced 2026-08-19 14:20:30 +02:00
New feature (by DepressivesBrot): Molle Items
- individual LBE gear can be created via MOLLE items. For each LBE item, there's a definition which pockets may be changed and how much space the new pockets may take up in total. - If there's a free pocket slot and enough space -> attach item and enable pocket. - for further description, see Doc/Design Document- MOLLE.txt git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@5441 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -40,12 +40,13 @@ lbeStartElementHandle(void *userData, const XML_Char *name, const XML_Char **att
|
||||
pData->curLBE = LBETYPE();
|
||||
|
||||
pData->maxReadDepth++; //we are not skipping this element
|
||||
}
|
||||
}//DBrot: MOLLE added tag
|
||||
else if(pData->curElement == ELEMENT &&
|
||||
(strcmp(name, "lbeIndex") == 0 ||
|
||||
strcmp(name, "lbeClass") == 0 ||
|
||||
strcmp(name, "lbeCombo") == 0 ||
|
||||
strcmp(name, "lbeFilledSize") == 0 ||
|
||||
strcmp(name, "lbeAvailableVolume") == 0 ||
|
||||
strcmp(name, "lbePocketIndex.1") == 0 || strcmp(name, "lbePocketIndex1") == 0 ||
|
||||
strcmp(name, "lbePocketIndex.2") == 0 || strcmp(name, "lbePocketIndex2") == 0 ||
|
||||
strcmp(name, "lbePocketIndex.3") == 0 || strcmp(name, "lbePocketIndex3") == 0 ||
|
||||
@@ -57,7 +58,9 @@ lbeStartElementHandle(void *userData, const XML_Char *name, const XML_Char **att
|
||||
strcmp(name, "lbePocketIndex.9") == 0 || strcmp(name, "lbePocketIndex9") == 0 ||
|
||||
strcmp(name, "lbePocketIndex.10") == 0 || strcmp(name, "lbePocketIndex10") == 0 ||
|
||||
strcmp(name, "lbePocketIndex.11") == 0 || strcmp(name, "lbePocketIndex11") == 0 ||
|
||||
strcmp(name, "lbePocketIndex.12") == 0 || strcmp(name, "lbePocketIndex12") == 0 ))
|
||||
strcmp(name, "lbePocketIndex.12") == 0 || strcmp(name, "lbePocketIndex12") == 0 ||
|
||||
|
||||
strcmp(name, "lbePocketsAvailable") == 0))
|
||||
{
|
||||
pData->curElement = ELEMENT_PROPERTY;
|
||||
|
||||
@@ -120,6 +123,12 @@ lbeEndElementHandle(void *userData, const XML_Char *name)
|
||||
pData->curElement = ELEMENT;
|
||||
pData->curLBE.lbeFilledSize = (UINT8) atol(pData->szCharData);
|
||||
}
|
||||
//DBrot: MOLLE
|
||||
else if(strcmp(name, "lbeAvailableVolume") == 0)
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
pData->curLBE.lbeAvailableVolume = (UINT8) atol(pData->szCharData);
|
||||
}
|
||||
else if(strcmp(name, "lbePocketIndex.1") == 0 || strcmp(name, "lbePocketIndex1") == 0)
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
@@ -180,7 +189,14 @@ lbeEndElementHandle(void *userData, const XML_Char *name)
|
||||
pData->curElement = ELEMENT;
|
||||
pData->curLBE.lbePocketIndex[11] = (UINT8) atol(pData->szCharData);
|
||||
}
|
||||
|
||||
|
||||
|
||||
else if(strcmp(name, "lbePocketsAvailable") == 0)
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
pData->curLBE.lbePocketsAvailable = (UINT16) atol(pData->szCharData);
|
||||
}
|
||||
|
||||
pData->maxReadDepth--;
|
||||
}
|
||||
|
||||
@@ -269,13 +285,14 @@ BOOLEAN WritelbeEquipmentStats()
|
||||
FilePrintf(hFile,"<LOADBEARINGEQUIPMENTLIST>\r\n");
|
||||
for(cnt = 0;cnt < MAXITEMS;cnt++)
|
||||
{
|
||||
|
||||
//DBrot: MOLLE
|
||||
FilePrintf(hFile,"\t<LOADBEARINGEQUIPMENT>\r\n");
|
||||
|
||||
FilePrintf(hFile,"\t\t<lbeIndex>%d</lbeIndex>\r\n", cnt );
|
||||
FilePrintf(hFile,"\t\t<lbeClass>%d</lbeClass>\r\n", LoadBearingEquipment[cnt].lbeClass );
|
||||
FilePrintf(hFile,"\t\t<lbeCombo>%d</lbeCombo>\r\n", LoadBearingEquipment[cnt].lbeCombo );
|
||||
FilePrintf(hFile,"\t\t<lbeFilledSize>%d</lbeFilledSize>\r\n", LoadBearingEquipment[cnt].lbeFilledSize );
|
||||
FilePrintf(hFile,"\t\t<lbeAvailableVolume>%d</lbeAvailableVolume>\r\n", LoadBearingEquipment[cnt].lbeAvailableVolume );
|
||||
FilePrintf(hFile,"\t\t<lbePocketIndex1>%d</lbePocketIndex1>\r\n", LoadBearingEquipment[cnt].lbePocketIndex[0] );
|
||||
FilePrintf(hFile,"\t\t<lbePocketIndex2>%d</lbePocketIndex2>\r\n", LoadBearingEquipment[cnt].lbePocketIndex[1] );
|
||||
FilePrintf(hFile,"\t\t<lbePocketIndex3>%d</lbePocketIndex3>\r\n", LoadBearingEquipment[cnt].lbePocketIndex[2] );
|
||||
@@ -289,6 +306,8 @@ BOOLEAN WritelbeEquipmentStats()
|
||||
FilePrintf(hFile,"\t\t<lbePocketIndex11>%d</lbePocketIndex11>\r\n", LoadBearingEquipment[cnt].lbePocketIndex[10] );
|
||||
FilePrintf(hFile,"\t\t<lbePocketIndex12>%d</lbePocketIndex12>\r\n", LoadBearingEquipment[cnt].lbePocketIndex[11] );
|
||||
|
||||
FilePrintf(hFile,"\t\t<lbePocketsAvailable>%d</lbePocketsAvailable>\r\n", LoadBearingEquipment[cnt].lbePocketsAvailable);
|
||||
|
||||
FilePrintf(hFile,"\t</LOADBEARINGEQUIPMENT>\r\n");
|
||||
}
|
||||
FilePrintf(hFile,"</LOADBEARINGEQUIPMENTLIST>\r\n");
|
||||
|
||||
Reference in New Issue
Block a user