[Change] Cleaned up a little XML parsing stuff.

This commit is contained in:
Allanis 2013-05-11 16:33:29 +01:00
parent 32adddc8d0
commit 92c7d549f0
2 changed files with 10 additions and 11 deletions

View File

@ -201,12 +201,13 @@ static void outfit_parseSWeapon(Outfit* tmp, const xmlNodePtr parent) {
do { do {
// Load all the things. // Load all the things.
if(xml_isNode(node, "speed")) tmp->u.blt.speed = xml_getFloat(node); xmlr_float(node, "speed", tmp->u.blt.speed);
else if(xml_isNode(node, "delay")) tmp->u.blt.delay = xml_getInt(node); xmlr_float(node, "delay", tmp->u.blt.delay);
else if(xml_isNode(node, "range")) tmp->u.blt.range = xml_getFloat(node); xmlr_float(node, "range", tmp->u.blt.range);
else if(xml_isNode(node, "accuracy")) tmp->u.blt.accuracy = xml_getFloat(node); xmlr_float(node, "accuracy", tmp->u.blt.accuracy);
else if(xml_isNode(node, "energy")) tmp->u.blt.energy = xml_getFloat(node); xmlr_float(node, "energy", tmp->u.blt.energy);
else if(xml_isNode(node, "gfx")) {
if(xml_isNode(node, "gfx")) {
snprintf(str, strlen(xml_get(node))+sizeof(OUTFIT_GFX)+10, snprintf(str, strlen(xml_get(node))+sizeof(OUTFIT_GFX)+10,
OUTFIT_GFX"space/%s.png", xml_get(node)); OUTFIT_GFX"space/%s.png", xml_get(node));
tmp->u.blt.gfx_space = gl_newSprite(str, 6, 6); tmp->u.blt.gfx_space = gl_newSprite(str, 6, 6);
@ -218,10 +219,8 @@ static void outfit_parseSWeapon(Outfit* tmp, const xmlNodePtr parent) {
else if(xml_isNode(node, "damage")) { else if(xml_isNode(node, "damage")) {
cur = node->children; cur = node->children;
do { do {
if(xml_isNode(cur, "armour")) xmlr_float(cur, "armour", tmp->u.blt.damage_armour);
tmp->u.blt.damage_armour = xml_getFloat(cur); xmlr_float(cur, "shield", tmp->u.blt.damage_shield);
else if(xml_isNode(cur, "shield"))
tmp->u.blt.damage_shield = xml_getFloat(cur);
} while((cur = cur->next)); } while((cur = cur->next));
} }
} while((node = node->next)); } while((node = node->next));

View File

@ -1047,7 +1047,7 @@ int fleet_load(void) {
} }
do { do {
if(node->type == XML_NODE_START && strcmp((char*)node->name,XML_FLEET)==0) { if(xml_isNode(node, XML_FLEET)) {
tmp = fleet_parse(node); tmp = fleet_parse(node);
fleet_stack = realloc(fleet_stack, sizeof(Fleet)*(++nfleets)); fleet_stack = realloc(fleet_stack, sizeof(Fleet)*(++nfleets));
memcpy(fleet_stack+nfleets-1, tmp, sizeof(Fleet)); memcpy(fleet_stack+nfleets-1, tmp, sizeof(Fleet));