Move code from def_support(), off_support() to dosupport()
authorMarkus Armbruster <armbru@pond.sub.org>
Mon, 31 Jan 2011 19:02:23 +0000 (20:02 +0100)
committerMarkus Armbruster <armbru@pond.sub.org>
Sun, 13 Feb 2011 15:06:22 +0000 (16:06 +0100)
src/lib/subs/mission.c

index 23b3b0e9147218cceff8274bc5be6a6318e23e52..5d0af7d58db7dba29b47c40f068ba8f5818f4e62 100644 (file)
@@ -67,7 +67,7 @@ static void build_mission_list(struct genlist *, coord, coord, int, natid);
 static void build_mission_list_type(struct genlist *, coord, coord, int,
                                    int, natid);
 static void divide(struct emp_qelem *, struct emp_qelem *, coord, coord);
-static int dosupport(struct genlist *, coord, coord, natid, natid);
+static int dosupport(coord, coord, natid, natid, int);
 static int find_airport(struct emp_qelem *, coord, coord);
 static void mission_pln_arm(struct emp_qelem *, coord, coord, int,
                            int, struct ichrstr *);
@@ -218,19 +218,7 @@ unit_interdict(coord x, coord y, natid victim, char *s, int hardtarget,
 int
 off_support(coord x, coord y, natid victim, natid actee)
 {
-    int dam = 0;
-    struct genlist mi[MAXNOC];
-    int cn;
-
-    memset(mi, 0, sizeof(mi));
-    for (cn = 1; cn < MAXNOC; cn++)
-       emp_initque((struct emp_qelem *)&mi[cn]);
-
-    build_mission_list(mi, x, y, MI_SUPPORT, victim);
-    build_mission_list(mi, x, y, MI_OSUPPORT, victim);
-
-    dam = dosupport(mi, x, y, victim, actee);
-    return dam;
+    return dosupport(x, y, victim, actee, MI_OSUPPORT);
 }
 
 /*
@@ -239,28 +227,24 @@ off_support(coord x, coord y, natid victim, natid actee)
 int
 def_support(coord x, coord y, natid victim, natid actee)
 {
-    int dam = 0;
-    struct genlist mi[MAXNOC];
-    int cn;
-
-    memset(mi, 0, sizeof(mi));
-    for (cn = 1; cn < MAXNOC; cn++)
-       emp_initque((struct emp_qelem *)&mi[cn]);
-
-    build_mission_list(mi, x, y, MI_SUPPORT, victim);
-    build_mission_list(mi, x, y, MI_DSUPPORT, victim);
-
-    dam = dosupport(mi, x, y, victim, actee);
-    return dam;
+    return dosupport(x, y, victim, actee, MI_DSUPPORT);
 }
 
 static int
-dosupport(struct genlist *mi, coord x, coord y, natid victim, natid actee)
+dosupport(coord x, coord y, natid victim, natid actee, int mission)
 {
     int cn;
+    struct genlist mi[MAXNOC];
     int rel, newdam;
     int dam = 0;
 
+    memset(mi, 0, sizeof(mi));
+    for (cn = 1; cn < MAXNOC; cn++)
+       emp_initque((struct emp_qelem *)&mi[cn]);
+
+    build_mission_list(mi, x, y, MI_SUPPORT, victim);
+    build_mission_list(mi, x, y, mission, victim);
+
     for (cn = 1; cn < MAXNOC; cn++) {
        rel = getrel(getnatp(cn), actee);
        if ((cn != actee) && (rel != ALLIED))