From fc0a6776c2c158a486022191bcd6d1e28acb227f Mon Sep 17 00:00:00 2001
From: Allanis <allanis@saracraft.net>
Date: Sun, 31 Mar 2013 17:46:04 +0100
Subject: [PATCH] [Add] Load mission factions and such.

---
 bin/conf      |  4 ++--
 src/mission.c | 18 ++++++++++++++++--
 2 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/bin/conf b/bin/conf
index 7228683..a38d327 100644
--- a/bin/conf
+++ b/bin/conf
@@ -1,6 +1,6 @@
 --WINDOW.
-width       = 1280
-height      = 1024
+width       = 800
+height      = 600
 fullscreen  = 0
 
 -- SCREEN.
diff --git a/src/mission.c b/src/mission.c
index 5fba83d..cb617ba 100644
--- a/src/mission.c
+++ b/src/mission.c
@@ -131,8 +131,22 @@ static MissionData* mission_parse(const xmlNodePtr parent) {
       do {
         if(xml_isNode(cur, "location"))
           tmp->avail.loc = mission_location(xml_get(cur));
-        /*else if(xml_isNode(cur, "")) // Need to parse other thingies.
-          tmp->u.amm.damage_shield = xml_getFloat(cur);*/
+        else if(xml_isNode(cur, "planet"))
+          tmp->avail.planet = strdup(xml_get(cur));
+        else if(xml_isNode(cur, "system"))
+          tmp->avail.system = strdup(xml_get(cur));
+        else if(xml_isNode(cur, "alliance")) {
+          tmp->avail.factions = realloc(tmp->avail.factions,
+              sizeof(int) * ++tmp->avail.nfactions);
+          tmp->avail.factions[tmp->avail.nfactions-1] = 
+              faction_getAlliance(xml_get(cur));
+        }
+        else if(xml_isNode(cur, "faction")) {
+          tmp->avail.factions = realloc(tmp->avail.factions,
+              sizeof(int) * ++tmp->avail.nfactions);
+          tmp->avail.factions[tmp->avail.nfactions-1] = 
+              faction_get(xml_get(cur));
+        }
       } while((cur = cur->next));
     }
   } while((node = node->next));