HAM5.5b2 merged in!

Notes:
-There may still be bugs!! (In fact, I almost guarantee it -- there's
-Ammo box code added to HR's crate code
-Splitting a crate/box also automatically refills half empty magazines
-new pathing arrows for map screen not included
-code for scouts to know where enemies are going doesn't appear to work... but i'm not sure it was completed.
-lots of gobledy gook (chinese?) comments turned back to english
-also added Bob's popups
-other languages besides english still need to have there language.cpp files updated with array changes
-AI enhancements by Warmsteel (reloading, suppression, roaming, avoiding gas, and other fixes)

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@5181 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
MaddMugsy
2012-04-10 23:45:46 +00:00
parent ab3412e5ed
commit c845f9f117
72 changed files with 10737 additions and 2362 deletions
+38 -1
View File
@@ -57,7 +57,12 @@ explosiveStartElementHandle(void *userData, const XML_Char *name, const XML_Char
strcmp(name, "ubStartRadius") == 0 ||
strcmp(name, "ubMagSize") == 0 ||
strcmp(name, "ubDuration") == 0 ||
strcmp(name, "ubAnimationID") == 0 ))
strcmp(name, "ubAnimationID") == 0 ||
strcmp(name, "fExplodeOnImpact") == 0 ||// HEADROCK HAM 5: Explode on impact flag
strcmp(name, "usNumFragments") == 0 || // HEADROCK HAM 5.1: Fragmenting explosive data
strcmp(name, "ubFragType") == 0 ||
strcmp(name, "ubFragDamage") == 0 ||
strcmp(name, "ubFragRange") == 0 ))
{
pData->curElement = ELEMENT_PROPERTY;
@@ -159,6 +164,37 @@ explosiveEndElementHandle(void *userData, const XML_Char *name)
pData->curElement = ELEMENT;
pData->curExplosive.ubDuration = (UINT8) atol(pData->szCharData);
}
// HEADROCK HAM 5: Flag for "Explosion on Impact"
else if(strcmp(name, "fExplodeOnImpact") == 0)
{
pData->curElement = ELEMENT;
pData->curExplosive.fExplodeOnImpact = (BOOLEAN) atol(pData->szCharData);
}
// HEADROCK HAM 5.1: Four tags for Fragmenting Explosives
else if(strcmp(name, "usNumFragments") == 0)
{
pData->curElement = ELEMENT;
pData->curExplosive.usNumFragments = (UINT16) atol(pData->szCharData);
}
else if(strcmp(name, "ubFragType") == 0)
{
pData->curElement = ELEMENT;
pData->curExplosive.ubFragType = (UINT8) atol(pData->szCharData);
}
else if(strcmp(name, "ubFragDamage") == 0)
{
pData->curElement = ELEMENT;
pData->curExplosive.ubFragDamage = (UINT16) atol(pData->szCharData);
}
else if(strcmp(name, "ubFragRange") == 0)
{
pData->curElement = ELEMENT;
pData->curExplosive.ubFragRange = (UINT16) atol(pData->szCharData);
}
pData->maxReadDepth--;
}
@@ -262,6 +298,7 @@ BOOLEAN WriteExplosiveStats()
FilePrintf(hFile,"\t\t<ubDuration>%d</ubDuration>\r\n", Explosive[cnt].ubDuration );
FilePrintf(hFile,"\t\t<ubStartRadius>%d</ubStartRadius>\r\n", Explosive[cnt].ubStartRadius );
FilePrintf(hFile,"\t\t<ubMagSize>%d</ubMagSize>\r\n", Explosive[cnt].ubMagSize );
FilePrintf(hFile,"\t\t<fExplodeOnImpact>%d</fExplodeOnImpact>\r\n", (UINT8)Explosive[cnt].fExplodeOnImpact );
FilePrintf(hFile,"\t</EXPLOSIVE>\r\n");
}