Index: src/serialization/string_utils.hpp
===================================================================
--- src/serialization/string_utils.hpp	(revision 56125)
+++ src/serialization/string_utils.hpp	(working copy)
@@ -53,7 +53,7 @@
 	  STRIP_SPACES  = 0x02	/**< STRIP_SPACES : strips leading and trailing blank spaces. */
 };
 
-std::vector< std::string > split(std::string const &val, char c = ',', int flags = REMOVE_EMPTY | STRIP_SPACES);
+std::vector< std::string > split(std::string const &val, const char c = ',', const int flags = REMOVE_EMPTY | STRIP_SPACES);
 
 /**
  * Splits a string based either on a separator where text within parenthesis
@@ -77,7 +77,7 @@
  */
 std::vector< std::string > parenthetical_split(std::string const &val,
 	const char separator = 0 , std::string const &left="(",
-	std::string const &right=")",int flags = REMOVE_EMPTY | STRIP_SPACES);
+	std::string const &right=")",const int flags = REMOVE_EMPTY | STRIP_SPACES);
 
 /**
  * Similar to parenthetical_split, but also expands embedded square brackets.
@@ -100,7 +100,7 @@
  */
 std::vector< std::string > square_parenthetical_split(std::string const &val,
 	const char separator = ',' , std::string const &left="([",
-	std::string const &right=")]",int flags = REMOVE_EMPTY | STRIP_SPACES);
+	std::string const &right=")]",const int flags = REMOVE_EMPTY | STRIP_SPACES);
 
 /**
  * Generates a new string joining container items in a list.
@@ -185,6 +185,9 @@
 /** Remove whitespace from the front and back of the string 'str'. */
 std::string &strip(std::string &str);
 
+/** Remove whitespace from the back of the string 'str'. */
+std::string &strip_end(std::string &str);
+
 /** Convert no, false, off, 0, 0.0 to false, empty to def, and others to true */
 bool string_bool(const std::string& str,bool def=false);
 
Index: src/serialization/string_utils.cpp
===================================================================
--- src/serialization/string_utils.cpp	(revision 56125)
+++ src/serialization/string_utils.cpp	(working copy)
@@ -80,23 +80,35 @@
 	return str;
 }
 
-std::vector< std::string > split(std::string const &val, char c, int flags)
+std::string &strip_end(std::string &str)
 {
+	str.erase(std::find_if(str.rbegin(), str.rend(), notspace).base(), str.end());
+
+	return str;
+}
+
+std::vector< std::string > split(std::string const &val, const char c, const int flags)
+{
 	std::vector< std::string > res;
 
 	std::string::const_iterator i1 = val.begin();
-	std::string::const_iterator i2 = val.begin();
-
+	std::string::const_iterator i2;
+	if (flags & STRIP_SPACES) {
+		while (i1 != val.end() && portable_isspace(*i1))
+			++i1;
+	}
+	i2=i1;
+			
 	while (i2 != val.end()) {
 		if (*i2 == c) {
 			std::string new_val(i1, i2);
 			if (flags & STRIP_SPACES)
-				strip(new_val);
+				strip_end(new_val);
 			if (!(flags & REMOVE_EMPTY) || !new_val.empty())
 				res.push_back(new_val);
 			++i2;
 			if (flags & STRIP_SPACES) {
-				while (i2 != val.end() && *i2 == ' ')
+				while (i2 != val.end() && portable_isspace(*i2))
 					++i2;
 			}
 
@@ -108,7 +120,7 @@
 
 	std::string new_val(i1, i2);
 	if (flags & STRIP_SPACES)
-		strip(new_val);
+		strip_end(new_val);
 	if (!(flags & REMOVE_EMPTY) || !new_val.empty())
 		res.push_back(new_val);
 
@@ -117,7 +129,7 @@
 
 std::vector< std::string > square_parenthetical_split(std::string const &val,
 		const char separator, std::string const &left,
-		std::string const &right,int flags)
+		std::string const &right,const int flags)
 {
 	std::vector< std::string > res;
 	std::vector<char> part;
@@ -126,16 +138,21 @@
 	std::vector<std::string::const_iterator> square_right;
 	std::vector< std::string > square_expansion;
 
-	
+	std::string lp=left;
+	std::string rp=right;
+
 	std::string::const_iterator i1 = val.begin();
-	std::string::const_iterator i2 = val.begin();
-	std::string::const_iterator j1 = val.begin();
+	std::string::const_iterator i2;
+	std::string::const_iterator j1;
+	if (flags & STRIP_SPACES) {
+		while (i1 != val.end() && portable_isspace(*i1))
+			++i1;
+	}
+	i2=i1;
+	j1=i1;
 
 	if (i1 == val.end()) return res;
 	
-	std::string lp=left;
-	std::string rp=right;
-
 	if (!separator) {
 		ERR_GENERAL << "Separator must be specified for square bracket split funtion.\n";
 		return res;
@@ -154,7 +171,7 @@
 				std::vector< std::string > tmp = split(tmp_val);
 				std::vector<std::string>::const_iterator itor = tmp.begin();
 				for(; itor != tmp.end(); ++itor) {
-					size_t found = (*itor).find_first_of('-');
+					size_t found = (*itor).find_first_of('~');
 					if (found == std::string::npos) {
 						std::string tmp = (*itor);
 						square_expansion.push_back(strip(tmp));
@@ -163,7 +180,7 @@
 						std::string s_begin = (*itor).substr(0,found);
 						s_begin = strip(s_begin);
 						int begin = atoi(s_begin.c_str());
-						int padding = 0;
+						size_t padding = 0;
 						while (padding<s_begin.size() && s_begin[padding]=='0') {
 							padding++;
 						}
@@ -179,7 +196,7 @@
 						end+=increment; //include end in expansion
 						for (int k=begin; k!=end; k+=increment) {
 							std::string pb = boost::lexical_cast<std::string>(k);
-							for (int p=pb.size(); p<=padding; p++)
+							for (size_t p=pb.size(); p<=padding; p++)
 								pb = std::string("0") + pb;
 							square_expansion.push_back(pb);
 						}
@@ -210,7 +227,7 @@
 				std::string tmp_val(j1, i2);
 				new_val.append(tmp_val);
 				if (flags & STRIP_SPACES)
-					strip(new_val);
+					strip_end(new_val);
 				if (!(flags & REMOVE_EMPTY) || !new_val.empty())
 					res.push_back(new_val);
 				j++;
@@ -220,7 +237,7 @@
 				break;
 			++i2;
 			if (flags & STRIP_SPACES) { //strip leading spaces
-				while (i2 != val.end() && *i2 == ' ')
+				while (i2 != val.end() && portable_isspace(*i2))
 					++i2;
 			}
 			i1=i2;
@@ -263,18 +280,23 @@
 
 std::vector< std::string > parenthetical_split(std::string const &val,
 		const char separator, std::string const &left,
-		std::string const &right,int flags)
+		std::string const &right,const int flags)
 {
 	std::vector< std::string > res;
 	std::vector<char> part;
 	bool in_parenthesis = false;
 
-	std::string::const_iterator i1 = val.begin();
-	std::string::const_iterator i2 = val.begin();
-
 	std::string lp=left;
 	std::string rp=right;
 
+	std::string::const_iterator i1 = val.begin();
+	std::string::const_iterator i2;
+	if (flags & STRIP_SPACES) {
+		while (i1 != val.end() && portable_isspace(*i1))
+			++i1;
+	}
+	i2=i1;
+	
 	if(left.size()!=right.size()){
 		ERR_GENERAL << "Left and Right Parenthesis lists not same length\n";
 		return res;
@@ -284,12 +306,12 @@
 		if(!in_parenthesis && separator && *i2 == separator){
 			std::string new_val(i1, i2);
 			if (flags & STRIP_SPACES)
-				strip(new_val);
+				strip_end(new_val);
 			if (!(flags & REMOVE_EMPTY) || !new_val.empty())
 				res.push_back(new_val);
 			++i2;
 			if (flags & STRIP_SPACES) {
-				while (i2 != val.end() && *i2 == ' ')
+				while (i2 != val.end() && portable_isspace(*i2))
 					++i2;
 			}
 			i1=i2;
Index: data/game_config.cfg
===================================================================
--- data/game_config.cfg	(revision 56125)
+++ data/game_config.cfg	(working copy)
@@ -56,7 +56,7 @@
         ally_orb="misc/orb-ally.png"
         energy="misc/bar-energy.png"
 
-        flag="flags/flag-[1-4].png:150"
+        flag="flags/flag-[1~4].png:150"
         flag_icon="flags/flag-icon.png"
 
         terrain_mask="terrain/alphamask.png"
Index: data/core/units/humans/Mage_of_Light.cfg
===================================================================
--- data/core/units/humans/Mage_of_Light.cfg	(revision 56125)
+++ data/core/units/humans/Mage_of_Light.cfg	(working copy)
@@ -57,7 +57,7 @@
             begin=-375
             end=150
             image="units/human-magi/white-cleric-magic-3.png"
-            halo=halo/holy/halo[6,1-6].png:75
+            halo=halo/holy/halo[6,1~6].png:75
         [/frame]
         [frame]
             begin=150
Index: data/core/units/humans/Mage_White.cfg
===================================================================
--- data/core/units/humans/Mage_White.cfg	(revision 56125)
+++ data/core/units/humans/Mage_White.cfg	(working copy)
@@ -54,7 +54,7 @@
             begin=-375
             end=150
             image="units/human-magi/white-mage-magic-3.png"
-            halo=halo/holy/halo[6,1-6].png:75
+            halo=halo/holy/halo[6,1~6].png:75
         [/frame]
         [frame]
             begin=150
Index: data/core/units/humans/Mage_Silver.cfg
===================================================================
--- data/core/units/humans/Mage_Silver.cfg	(revision 56125)
+++ data/core/units/humans/Mage_Silver.cfg	(working copy)
@@ -161,19 +161,19 @@
 
         [teleport_sparkle_1_frame]
             duration=800
-            halo=misc/blank-hex.png:1,halo/teleport-[9,8,1-9].png,misc/blank-hex.png:1
+            halo=misc/blank-hex.png:1,halo/teleport-[9,8,1~9].png,misc/blank-hex.png:1
             halo_x=-10
             halo_y=30~-30
         [/teleport_sparkle_1_frame]
         [teleport_sparkle_2_frame]
             duration=800
-            halo=misc/blank-hex.png:1,halo/teleport-[9,8,1-9].png,misc/blank-hex.png:1
+            halo=misc/blank-hex.png:1,halo/teleport-[9,8,1~9].png,misc/blank-hex.png:1
             halo_x=0
             halo_y=40~-40
         [/teleport_sparkle_2_frame]
         [teleport_sparkle_3_frame]
             duration=800
-            halo=misc/blank-hex.png:1,halo/teleport-[9,8,1-9].png,misc/blank-hex.png:1
+            halo=misc/blank-hex.png:1,halo/teleport-[9,8,1~9].png,misc/blank-hex.png:1
             halo_x=10
             halo_y=30~-30
         [/teleport_sparkle_3_frame]
@@ -226,19 +226,19 @@
 
         [teleport_sparkle_1_frame]
             duration=800
-            halo=misc/blank-hex.png:1,halo/teleport-[9,8,1-9].png,misc/blank-hex.png:1
+            halo=misc/blank-hex.png:1,halo/teleport-[9,8,1~9].png,misc/blank-hex.png:1
             halo_x=10
             halo_y=-30~30
         [/teleport_sparkle_1_frame]
         [teleport_sparkle_2_frame]
             duration=800
-            halo=misc/blank-hex.png:1,halo/teleport-[9,8,1-9].png,misc/blank-hex.png:1
+            halo=misc/blank-hex.png:1,halo/teleport-[9,8,1~9].png,misc/blank-hex.png:1
             halo_x=0
             halo_y=-40~40
         [/teleport_sparkle_2_frame]
         [teleport_sparkle_3_frame]
             duration=800
-            halo=misc/blank-hex.png:1,halo/teleport-[9,8,1-9].png,misc/blank-hex.png:1
+            halo=misc/blank-hex.png:1,halo/teleport-[9,8,1~9].png,misc/blank-hex.png:1
             halo_x=-10
             halo_y=-30~30
         [/teleport_sparkle_3_frame]
Index: data/core/units/humans/Horse_Paladin.cfg
===================================================================
--- data/core/units/humans/Horse_Paladin.cfg	(revision 56125)
+++ data/core/units/humans/Horse_Paladin.cfg	(working copy)
@@ -44,7 +44,7 @@
             begin=-300
             end=300
             image="units/human-loyalists/paladin-healing.png"
-            halo=halo/holy/halo[6,1-6].png
+            halo=halo/holy/halo[6,1~6].png
         [/frame]
     [/healing_anim]
     [attack]
Index: data/core/units/undead/Necro_Dark_Adept.cfg
===================================================================
--- data/core/units/undead/Necro_Dark_Adept.cfg	(revision 56125)
+++ data/core/units/undead/Necro_Dark_Adept.cfg	(working copy)
@@ -138,7 +138,7 @@
             begin=-300
             end=-50
             image="units/undead-necromancers/adept-magic-3.png"
-            halo=halo/undead/dark-magic-[1-5].png:50
+            halo=halo/undead/dark-magic-[1~5].png:50
             halo_x,halo_y=0,-12
         [/frame]
         [if]
@@ -207,7 +207,7 @@
             begin=-300
             end=-50
             image="units/undead-necromancers/adept-magic-3.png"
-            halo=halo/undead/dark-magic-[1-5].png:50
+            halo=halo/undead/dark-magic-[1~5].png:50
             halo_x,halo_y=0,-12
         [/frame]
         [frame]
Index: data/core/units/undead/Necromancer.cfg
===================================================================
--- data/core/units/undead/Necromancer.cfg	(revision 56125)
+++ data/core/units/undead/Necromancer.cfg	(working copy)
@@ -101,7 +101,7 @@
             begin=0
             end=200
             image="units/undead-necromancers/necromancer-magic-3.png"
-            halo=halo/undead/black-magic-[3,4,5].png:[75,75,50]
+            halo=halo/undead/black-magic-[3~5].png:[75,75,50]
         [/frame]
         [frame]
             begin=200
@@ -169,7 +169,7 @@
             begin=0
             end=200
             image="units/undead-necromancers/necromancer-magic-3.png"
-            halo=halo/undead/black-magic-[3-5].png:[75,75,50]
+            halo=halo/undead/black-magic-[3~5].png:[75,75,50]
         [/frame]
         [frame]
             begin=200
Index: data/core/units/undead/Necro_Lich.cfg
===================================================================
--- data/core/units/undead/Necro_Lich.cfg	(revision 56125)
+++ data/core/units/undead/Necro_Lich.cfg	(working copy)
@@ -229,7 +229,7 @@
             begin=0
             end=200
             image="units/undead-necromancers/lich-magic-3.png"
-            halo=halo/undead/black-magic-[3-5].png:[75,75,50]
+            halo=halo/undead/black-magic-[3~5].png:[75,75,50]
         [/frame]
         [frame]
             begin=200
@@ -297,7 +297,7 @@
             begin=0
             end=200
             image="units/undead-necromancers/lich-magic-3.png"
-            halo=halo/undead/black-magic-[3-5].png:[75,75,50]
+            halo=halo/undead/black-magic-[3~5].png:[75,75,50]
         [/frame]
         [frame]
             begin=200
Index: data/core/units/undead/Necro_Dark_Sorcerer.cfg
===================================================================
--- data/core/units/undead/Necro_Dark_Sorcerer.cfg	(revision 56125)
+++ data/core/units/undead/Necro_Dark_Sorcerer.cfg	(working copy)
@@ -64,7 +64,7 @@
             begin=0
             end=200
             image="units/undead-necromancers/dark-sorcerer-magic-3.png"
-            halo=halo/undead/black-magic-[3-5].png:[75,75,50]
+            halo=halo/undead/black-magic-[3~5].png:[75,75,50]
         [/frame]
         [frame]
             begin=200
@@ -165,7 +165,7 @@
             begin=0
             end=200
             image="units/undead-necromancers/dark-sorcerer-magic-3.png"
-            halo=halo/undead/black-magic-[3-5].png:[75,75,50]
+            halo=halo/undead/black-magic-[3~5].png:[75,75,50]
         [/frame]
         [frame]
             begin=200
Index: data/core/units/elves/Sylph.cfg
===================================================================
--- data/core/units/elves/Sylph.cfg	(revision 56125)
+++ data/core/units/elves/Sylph.cfg	(working copy)
@@ -7,7 +7,7 @@
     image="units/elves-wood/sylph.png"
     {MAGENTA_IS_THE_TEAM_COLOR}
     profile="portraits/elves/sylph.png~RIGHT()"
-    halo=halo/elven/shyde-stationary-halo1.png:150,halo/elven/shyde-stationary-halo2.png:150,halo/elven/shyde-stationary-halo3.png:150,halo/elven/shyde-stationary-halo4.png:150,halo/elven/shyde-stationary-halo5.png:150,halo/elven/shyde-stationary-halo6.png:150
+    halo=halo/elven/shyde-stationary-halo[1~6].png:150
     hitpoints=60
     movement_type=woodlandfloat
     movement=6
@@ -107,44 +107,9 @@
 
         [frame]
             begin=-375
-            end=-300
-            image="units/elves-wood/sylph-magic.png"
-            halo=halo/elven/faerie-fire-halo2.png
-            halo_x,halo_y=0,-28
-        [/frame]
-        [frame]
-            begin=-300
-            end=-225
-            image="units/elves-wood/sylph-magic.png"
-            halo=halo/elven/faerie-fire-halo3.png
-            halo_x,halo_y=0,-28
-        [/frame]
-        [frame]
-            begin=-225
-            end=-150
-            image="units/elves-wood/sylph-magic.png"
-            halo=halo/elven/faerie-fire-halo4.png
-            halo_x,halo_y=0,-28
-        [/frame]
-        [frame]
-            begin=-150
-            end=-75
-            image="units/elves-wood/sylph-magic.png"
-            halo=halo/elven/faerie-fire-halo5.png
-            halo_x,halo_y=0,-28
-        [/frame]
-        [frame]
-            begin=-75
-            end=0
-            image="units/elves-wood/sylph-magic.png"
-            halo=halo/elven/faerie-fire-halo6.png
-            halo_x,halo_y=0,-28
-        [/frame]
-        [frame]
-            begin=-0
             end=75
             image="units/elves-wood/sylph-magic.png"
-            halo=halo/elven/faerie-fire-halo7.png
+            halo=halo/elven/faerie-fire-halo[2~7].png:75
             halo_x,halo_y=0,-28
         [/frame]
     [/attack_anim]
@@ -160,37 +125,9 @@
         [/missile_frame]
         [frame]
             begin=-450
-            end=-375
-            image="units/elves-wood/sylph-magic.png"
-            halo=halo/elven/faerie-fire-halo1.png
-            halo_x,halo_y=0,-28
-        [/frame]
-        [frame]
-            begin=-375
-            end=-300
-            image="units/elves-wood/sylph-magic.png"
-            halo=halo/elven/faerie-fire-halo2.png
-            halo_x,halo_y=0,-28
-        [/frame]
-        [frame]
-            begin=-300
-            end=-225
-            image="units/elves-wood/sylph-magic.png"
-            halo=halo/elven/faerie-fire-halo3.png
-            halo_x,halo_y=0,-28
-        [/frame]
-        [frame]
-            begin=-225
-            end=-150
-            image="units/elves-wood/sylph-magic.png"
-            halo=halo/elven/faerie-fire-halo4.png
-            halo_x,halo_y=0,-28
-        [/frame]
-        [frame]
-            begin=-150
             end=-75
             image="units/elves-wood/sylph-magic.png"
-            halo=halo/elven/faerie-fire-halo5.png
+            halo=halo/elven/faerie-fire-halo[1~5].png:75
             halo_x,halo_y=0,-28
         [/frame]
         {SOUND:SLOW}
Index: data/core/units/elves/Lord.cfg
===================================================================
--- data/core/units/elves/Lord.cfg	(revision 56125)
+++ data/core/units/elves/Lord.cfg	(working copy)
@@ -83,7 +83,7 @@
             begin=-300
             end=75
             image="units/elves-wood/lord-magic-1.png"
-            halo=halo/elven/faerie-fire-halo[3-7].png:75
+            halo=halo/elven/faerie-fire-halo[3~7].png:75
             halo_x,halo_y=-19,-13
         [/frame]
     [/attack_anim]
@@ -114,7 +114,7 @@
             begin=-300
             end=75
             image="units/elves-wood/lord-magic-1.png"
-            halo=halo/elven/faerie-fire-halo[3-7].png:75
+            halo=halo/elven/faerie-fire-halo[3~7].png:75
             halo_x,halo_y=-19,-13
         [/frame]
     [/attack_anim]
Index: data/core/units/elves/Shyde.cfg
===================================================================
--- data/core/units/elves/Shyde.cfg	(revision 56125)
+++ data/core/units/elves/Shyde.cfg	(working copy)
@@ -7,7 +7,7 @@
     gender=female
     image="units/elves-wood/shyde.png"
     profile="portraits/elves/shyde.png"
-    halo=halo/elven/shyde-stationary-halo1.png:150,halo/elven/shyde-stationary-halo2.png:150,halo/elven/shyde-stationary-halo3.png:150,halo/elven/shyde-stationary-halo4.png:150,halo/elven/shyde-stationary-halo5.png:150,halo/elven/shyde-stationary-halo6.png:150
+    halo=halo/elven/shyde-stationary-halo[1~6].png:150
     {MAGENTA_IS_THE_TEAM_COLOR}
     hitpoints=46
     movement_type=woodlandfloat
Index: data/core/units/elves/High_Lord.cfg
===================================================================
--- data/core/units/elves/High_Lord.cfg	(revision 56125)
+++ data/core/units/elves/High_Lord.cfg	(working copy)
@@ -116,7 +116,7 @@
             begin=-300
             end=75
             image="units/elves-wood/high-lord-magic-1.png"
-            halo=halo/elven/faerie-fire-halo[3-7].png:75
+            halo=halo/elven/faerie-fire-halo[3~7].png:75
             halo_x,halo_y=-19,-14
         [/frame]
     [/attack_anim]
@@ -147,7 +147,7 @@
             begin=-300
             end=75
             image="units/elves-wood/high-lord-magic-1.png"
-            halo=halo/elven/faerie-fire-halo[3-7].png:75
+            halo=halo/elven/faerie-fire-halo[3~7].png:75
             halo_x,halo_y=-19,-14
         [/frame]
     [/attack_anim]
Index: data/core/units/elves/Shaman.cfg
===================================================================
--- data/core/units/elves/Shaman.cfg	(revision 56125)
+++ data/core/units/elves/Shaman.cfg	(working copy)
@@ -123,7 +123,7 @@
             begin=-450
             end=-225
             image="units/elves-wood/shaman.png"
-            halo=halo/elven/nature-halo[1-3].png:75
+            halo=halo/elven/nature-halo[1~3].png:75
             halo_x,halo_y=0,-12
         [/frame]
         [frame]
Index: data/core/units/trolls/Troll_Shaman.cfg
===================================================================
--- data/core/units/trolls/Troll_Shaman.cfg	(revision 56125)
+++ data/core/units/trolls/Troll_Shaman.cfg	(working copy)
@@ -85,31 +85,31 @@
 
             [flame_burst_1_frame]
                 duration=400
-                halo=misc/blank-hex.png:1,halo/flame-burst-[1-8].png~FL(vert):[50,50,50,50,50,50,50,48],misc/blank-hex.png:1
+                halo=misc/blank-hex.png:1,halo/flame-burst-[1~8].png~FL(vert):[50,50,50,50,50,50,50,48],misc/blank-hex.png:1
                 halo_x,halo_y=-22,0
                 offset=1.0
             [/flame_burst_1_frame]
             [flame_burst_2_frame]
                 duration=400
-                halo=misc/blank-hex.png:1,halo/flame-burst-[1-8].png~FL(vert):[50,50,50,50,50,50,50,48],misc/blank-hex.png:1
+                halo=misc/blank-hex.png:1,halo/flame-burst-[1~8].png~FL(vert):[50,50,50,50,50,50,50,48],misc/blank-hex.png:1
                 halo_x,halo_y=-14,9
                 offset=1.0
             [/flame_burst_2_frame]
             [flame_burst_3_frame]
                 duration=400
-                halo=misc/blank-hex.png:1,halo/flame-burst-[1-8].png~FL(vert):[50,50,50,50,50,50,50,48],misc/blank-hex.png:1
+                halo=misc/blank-hex.png:1,halo/flame-burst-[1~8].png~FL(vert):[50,50,50,50,50,50,50,48],misc/blank-hex.png:1
                 halo_x,halo_y=0,12
                 offset=1.0
             [/flame_burst_3_frame]
             [flame_burst_4_frame]
                 duration=400
-                halo=misc/blank-hex.png:1,halo/flame-burst-[1-8].png~FL(vert):[50,50,50,50,50,50,50,48],misc/blank-hex.png:1
+                halo=misc/blank-hex.png:1,halo/flame-burst-[1~8].png~FL(vert):[50,50,50,50,50,50,50,48],misc/blank-hex.png:1
                 halo_x,halo_y=14,9
                 offset=1.0
             [/flame_burst_4_frame]
             [flame_burst_5_frame]
                 duration=400
-                halo=misc/blank-hex.png:1,halo/flame-burst-[1-8].png~FL(vert):[50,50,50,50,50,50,50,48],misc/blank-hex.png:1
+                halo=misc/blank-hex.png:1,halo/flame-burst-[1~8].png~FL(vert):[50,50,50,50,50,50,50,48],misc/blank-hex.png:1
                 halo_x,halo_y=22,0
                 offset=1.0
             [/flame_burst_5_frame]
@@ -119,31 +119,31 @@
 
             [flame_burst_1_frame]
                 duration=400
-                halo=misc/blank-hex.png:1,halo/flame-burst-[1-8].png:[50,50,50,50,50,50,50,48],misc/blank-hex.png:1
+                halo=misc/blank-hex.png:1,halo/flame-burst-[1~8].png:[50,50,50,50,50,50,50,48],misc/blank-hex.png:1
                 halo_x,halo_y=-22,0
                 offset=1.0
             [/flame_burst_1_frame]
             [flame_burst_2_frame]
                 duration=400
-                halo=misc/blank-hex.png:1,halo/flame-burst-[1-8].png:[50,50,50,50,50,50,50,48],misc/blank-hex.png:1
+                halo=misc/blank-hex.png:1,halo/flame-burst-[1~8].png:[50,50,50,50,50,50,50,48],misc/blank-hex.png:1
                 halo_x,halo_y=-14,9
                 offset=1.0
             [/flame_burst_2_frame]
             [flame_burst_3_frame]
                 duration=400
-                halo=misc/blank-hex.png:1,halo/flame-burst-[1-8].png:[50,50,50,50,50,50,50,48],misc/blank-hex.png:1
+                halo=misc/blank-hex.png:1,halo/flame-burst-[1~8].png:[50,50,50,50,50,50,50,48],misc/blank-hex.png:1
                 halo_x,halo_y=0,12
                 offset=1.0
             [/flame_burst_3_frame]
             [flame_burst_4_frame]
                 duration=400
-                halo=misc/blank-hex.png:1,halo/flame-burst-[1-8].png:[50,50,50,50,50,50,50,48],misc/blank-hex.png:1
+                halo=misc/blank-hex.png:1,halo/flame-burst-[1~8].png:[50,50,50,50,50,50,50,48],misc/blank-hex.png:1
                 halo_x,halo_y=14,9
                 offset=1.0
             [/flame_burst_4_frame]
             [flame_burst_5_frame]
                 duration=400
-                halo=misc/blank-hex.png:1,halo/flame-burst-[1-8].png:[50,50,50,50,50,50,50,48],misc/blank-hex.png:1
+                halo=misc/blank-hex.png:1,halo/flame-burst-[1~8].png:[50,50,50,50,50,50,50,48],misc/blank-hex.png:1
                 halo_x,halo_y=22,0
                 offset=1.0
             [/flame_burst_5_frame]
Index: data/core/units/merfolk/Priestess.cfg
===================================================================
--- data/core/units/merfolk/Priestess.cfg	(revision 56125)
+++ data/core/units/merfolk/Priestess.cfg	(working copy)
@@ -45,7 +45,7 @@
         [/frame]
         [frame]
             image="units/merfolk/priestess.png" ### magic-3
-            halo=halo/holy/halo[6,1-6].png:75
+            halo=halo/holy/halo[6,1~6].png:75
         [/frame]
         [frame]
             duration=150
Index: data/core/units/merfolk/Diviner.cfg
===================================================================
--- data/core/units/merfolk/Diviner.cfg	(revision 56125)
+++ data/core/units/merfolk/Diviner.cfg	(working copy)
@@ -48,7 +48,7 @@
         [/frame]
         [frame]
             image="units/merfolk/diviner.png" ### magic-3
-            halo=halo/holy/halo[6,1-6].png:75
+            halo=halo/holy/halo[6,1~6].png:75
         [/frame]
         [frame]
             duration=150
Index: data/core/macros/teleport-utils.cfg
===================================================================
--- data/core/macros/teleport-utils.cfg	(revision 56125)
+++ data/core/macros/teleport-utils.cfg	(working copy)
@@ -57,19 +57,19 @@
 
             [teleport_sparkle_1_frame]
                 duration=800
-                halo=misc/blank-hex.png:1,halo/teleport-[9,8,1-9].png,misc/blank-hex.png:1
+                halo=misc/blank-hex.png:1,halo/teleport-[9,8,1~9].png,misc/blank-hex.png:1
                 halo_x=-10
                 halo_y=30~-30
             [/teleport_sparkle_1_frame]
             [teleport_sparkle_2_frame]
                 duration=800
-                halo=misc/blank-hex.png:1,halo/teleport-[9,8,1-9].png,misc/blank-hex.png:1
+                halo=misc/blank-hex.png:1,halo/teleport-[9,8,1~9].png,misc/blank-hex.png:1
                 halo_x=0
                 halo_y=40~-40
             [/teleport_sparkle_2_frame]
             [teleport_sparkle_3_frame]
                 duration=800
-                halo=misc/blank-hex.png:1,halo/teleport-[9,8,1-9].png,misc/blank-hex.png:1
+                halo=misc/blank-hex.png:1,halo/teleport-[9,8,1~9].png,misc/blank-hex.png:1
                 halo_x=10
                 halo_y=30~-30
             [/teleport_sparkle_3_frame]
@@ -137,19 +137,19 @@
 
         	[teleport_sparkle_1_frame]
             	duration=800
-            	halo=misc/blank-hex.png:1,halo/teleport-[9,8,1-9].png,misc/blank-hex.png:1
+            	halo=misc/blank-hex.png:1,halo/teleport-[9,8,1~9].png,misc/blank-hex.png:1
             	halo_x=10
             	halo_y=-30~30
         	[/teleport_sparkle_1_frame]
         	[teleport_sparkle_2_frame]
             	duration=800
-            	halo=misc/blank-hex.png:1,halo/teleport-[9,8,1-9].png,misc/blank-hex.png:1
+            	halo=misc/blank-hex.png:1,halo/teleport-[9,8,1~9].png,misc/blank-hex.png:1
             	halo_x=0
             	halo_y=-40~40
         	[/teleport_sparkle_2_frame]
         	[teleport_sparkle_3_frame]
             	duration=800
-            	halo=misc/blank-hex.png:1,halo/teleport-[9,8,1-9].png,misc/blank-hex.png:1
+            	halo=misc/blank-hex.png:1,halo/teleport-[9,8,1~9].png,misc/blank-hex.png:1
             	halo_x=-10
             	halo_y=-30~30
         	[/teleport_sparkle_3_frame]
Index: data/core/macros/animation-utils.cfg
===================================================================
--- data/core/macros/animation-utils.cfg	(revision 56125)
+++ data/core/macros/animation-utils.cfg	(working copy)
@@ -56,7 +56,7 @@
         [halo_frame]
             begin=-100
             end=160
-            halo="halo/misc/leadership-flare-[1-13].png:20"
+            halo="halo/misc/leadership-flare-[1~13].png:20"
             halo_x,halo_y={OFFSET_POSITION}
         [/halo_frame]
         [halo_frame]
@@ -519,7 +519,7 @@
         direction=n,ne,nw
 
         [missile_frame]
-            halo="halo/holy/light-beam-[1-6].png:30,halo/holy/light-beam-7.png:130,halo/holy/light-beam-[6-1].png:70"
+            halo="halo/holy/light-beam-[1~6].png:30,halo/holy/light-beam-7.png:130,halo/holy/light-beam-[6~1].png:70"
             offset=1.0
         [/missile_frame]
     [/if]
@@ -527,7 +527,7 @@
         direction=s,se,sw
 
         [missile_frame]
-            halo="halo/holy/light-beam-[1-6].png~FL(vert):30,halo/holy/light-beam-7.png~FL(vert):130,halo/holy/light-beam-[6-1].png~FL(vert):70"
+            halo="halo/holy/light-beam-[1~6].png~FL(vert):30,halo/holy/light-beam-7.png~FL(vert):130,halo/holy/light-beam-[6~1].png~FL(vert):70"
             offset=1.0
         [/missile_frame]
     [/else]
@@ -540,7 +540,7 @@
 
         [missile_frame]
             begin=-400
-            halo=projectiles/fire-breath-n-[1-5].png:80
+            halo=projectiles/fire-breath-n-[1~5].png:80
             halo_x,halo_y={N_OFFSET_POSITION}
         [/missile_frame]
     [/if]
@@ -549,7 +549,7 @@
 
         [missile_frame]
             begin=-400
-            halo=projectiles/fire-breath-s-[1-5].png:80
+            halo=projectiles/fire-breath-s-[1~5].png:80
             halo_x,halo_y={S_OFFSET_POSITION}
         [/missile_frame]
     [/else]
@@ -558,7 +558,7 @@
 
         [missile_frame]
             begin=-400
-            halo=projectiles/fire-breath-ne-[1-5].png:80
+            halo=projectiles/fire-breath-ne-[1~5].png:80
             halo_x,halo_y={N_DIAGONAL_OFFSET_POSITION}
         [/missile_frame]
     [/else]
@@ -567,7 +567,7 @@
 
         [missile_frame]
             begin=-400
-            halo=projectiles/fire-breath-se-[1-5].png:80
+            halo=projectiles/fire-breath-se-[1~5].png:80
             halo_x,halo_y={S_DIAGONAL_OFFSET_POSITION}
         [/missile_frame]
     [/else]
@@ -577,7 +577,7 @@
     # Animate a projectile for a fire-breath attack.
     [missile_frame]
         begin=-400
-        halo=projectiles/fire-breath-n-[1-5].png:80
+        halo=projectiles/fire-breath-n-[1~5].png:80
         halo_x,halo_y={OFFSET_POSITION}
     [/missile_frame]
 #enddef
@@ -586,7 +586,7 @@
     # Animate a projectile for a fire-breath attack.
     [missile_frame]
         begin=-400
-        halo=projectiles/fire-breath-s-[1-5].png:80
+        halo=projectiles/fire-breath-s-[1~5].png:80
         halo_x,halo_y={OFFSET_POSITION}
     [/missile_frame]
 #enddef
@@ -595,7 +595,7 @@
     # Animate a projectile for a fire-breath attack.
     [missile_frame]
         begin=-400
-        halo=projectiles/fire-breath-ne-[1-5].png:80
+        halo=projectiles/fire-breath-ne-[1~5].png:80
         halo_x,halo_y={OFFSET_POSITION}
     [/missile_frame]
 #enddef
@@ -604,7 +604,7 @@
     # Animate a projectile for a fire-breath attack.
     [missile_frame]
         begin=-400
-        halo=projectiles/fire-breath-se-[1-5].png:80
+        halo=projectiles/fire-breath-se-[1~5].png:80
         halo_x,halo_y={OFFSET_POSITION}
     [/missile_frame]
 #enddef
@@ -616,7 +616,7 @@
         end=-350
         image="projectiles/icemissile-n-1.png"
         image_diagonal="projectiles/icemissile-ne-1.png"
-        halo=halo/elven/ice-halo[1-3].png:[100,100,25]
+        halo=halo/elven/ice-halo[1~3].png:[100,100,25]
         halo_x,halo_y=0,0
     [/missile_frame]
     [missile_frame]
@@ -711,7 +711,7 @@
 
 		[missile_frame]
             duration=960
-            halo="projectiles/fireball-impact-[1-16].png:60"
+            halo="projectiles/fireball-impact-[1~16].png:60"
             offset=1.0
         [/missile_frame]
     [/if]
@@ -752,7 +752,7 @@
 
 		[missile_frame]
             duration=960
-            halo="projectiles/fireball-impact-[1-16].png~FL(vert):60"
+            halo="projectiles/fireball-impact-[1~16].png~FL(vert):60"
             offset=1.0
         [/missile_frame]
     [/else]
@@ -764,7 +764,7 @@
 
         [missile_frame]
             duration=700
-            halo="projectiles/fireball-fail-[1-7].png:100"
+            halo="projectiles/fireball-fail-[1~7].png:100"
         [/missile_frame]
     [/else]
     [else]
@@ -775,7 +775,7 @@
 
         [missile_frame]
             duration=700
-            halo="projectiles/fireball-fail-[1-7].png~FL(vert):100"
+            halo="projectiles/fireball-fail-[1~7].png~FL(vert):100"
         [/missile_frame]
     [/else]
 #enddef
@@ -784,7 +784,7 @@
     halo_auto_vflip=false
     [halo_frame]
         duration=420
-        halo=halo/saurian-magic-halo-[1-7].png:60
+        halo=halo/saurian-magic-halo-[1~7].png:60
     [/halo_frame]
 #enddef
 
@@ -802,7 +802,7 @@
         [missile_frame]
             begin=0
             end=400
-            halo="projectiles/whitemissile-impact-[1-8].png:50"
+            halo="projectiles/whitemissile-impact-[1~8].png:50"
             offset=0.8,0.92,0.94,0.96,0.98,1.0,1.02,1.04
         [/missile_frame]
     [/if]
@@ -913,7 +913,7 @@
 
         [missile_frame]
             begin=-250
-            halo=halo/lightning-bolt-{DIRECTION_NUMBER}-[1-4].png~FL(vert):100
+            halo=halo/lightning-bolt-{DIRECTION_NUMBER}-[1~4].png~FL(vert):100
             halo_y=-125
             offset=1.0
         [/missile_frame]
@@ -923,7 +923,7 @@
 
         [missile_frame]
             begin=-250
-            halo=halo/lightning-bolt-{DIRECTION_NUMBER}-[1-4].png:100
+            halo=halo/lightning-bolt-{DIRECTION_NUMBER}-[1~4].png:100
             halo_y=-125
             offset=1.0
         [/missile_frame]
@@ -939,33 +939,33 @@
 
     [magic_missile_frame]
         duration=400
-        halo=halo/mage-halo[1-5].png
+        halo=halo/mage-halo[1~5].png
         halo_x={OFFSET_X}~0
         halo_y={OFFSET_Y}~-54
         offset=0.001~-0.083,-0.083~-0.25,-0.25~-0.5
     [/magic_missile_frame]
     [magic_missile_frame]
         duration=350
-        halo=halo/mage-halo[1-5].png,misc/blank-hex.png:1
+        halo=halo/mage-halo[1~5].png,misc/blank-hex.png:1
         halo_y=-54~-45,-45~-27,-27~0
         offset=-0.5~-0.25,-0.25~0.25,0.25~1.0
     [/magic_missile_frame]
 
     [magic_missile_trail_1_frame]
         duration=350
-        halo=misc/blank-hex.png:40,halo/mage-preparation-halo[1-7].png,misc/blank-hex.png:1
+        halo=misc/blank-hex.png:40,halo/mage-preparation-halo[1~7].png,misc/blank-hex.png:1
         halo_y=-54:40,-54~-45,-45~-27,-27~0
         offset=0.001:40,-0.5~-0.25,-0.25~0.25,0.25~1.0
     [/magic_missile_trail_1_frame]
     [magic_missile_trail_2_frame]
         duration=350
-        halo=misc/blank-hex.png:80,halo/mage-preparation-halo[1-7].png,misc/blank-hex.png:1
+        halo=misc/blank-hex.png:80,halo/mage-preparation-halo[1~7].png,misc/blank-hex.png:1
         halo_y=-54:80,-54~-45,-45~-27,-27~0
         offset=0.001:80,-0.5~-0.25,-0.25~0.25,0.25~1.0
     [/magic_missile_trail_2_frame]
     [magic_missile_trail_3_frame]
         duration=350
-        halo=misc/blank-hex.png:120,halo/mage-preparation-halo[1-7].png,misc/blank-hex.png:1
+        halo=misc/blank-hex.png:120,halo/mage-preparation-halo[1~7].png,misc/blank-hex.png:1
         halo_y=-54:120,-54~-45,-45~-27,-27~0
         offset=0.001:120,-0.5~-0.25,-0.25~0.25,0.25~1.0
     [/magic_missile_trail_3_frame]
@@ -976,7 +976,7 @@
 
     [magic_missile_flare_frame]
         duration={DURATION_TIME}
-        halo=halo/mage-preparation-halo[1-7].png,misc/blank-hex.png:1
+        halo=halo/mage-preparation-halo[1~7].png,misc/blank-hex.png:1
         halo_x={OFFSET_X}
         halo_y={OFFSET_Y}
         offset=0
@@ -987,7 +987,7 @@
     flare_start_time=-420
     [flare_frame]
         duration=420
-        halo=halo/merfolk/staff-flare-[1-7].png:60
+        halo=halo/merfolk/staff-flare-[1~7].png:60
         halo_x,halo_y={OFFSET_X},{OFFSET_Y}
     [/flare_frame]
     [flare_frame]
@@ -999,7 +999,7 @@
     water_start_time=-420
     [water_frame]
         duration=360
-        halo=halo/merfolk/water-halo-[1-6].png:60
+        halo=halo/merfolk/water-halo-[1~6].png:60
     [/water_frame]
     [water_frame]
         duration=60
@@ -1014,7 +1014,7 @@
     missile_start_time=-250
     missile_offset=0.1
     [missile_frame]
-        halo="projectiles/misfire-spark-[1-4].png:100"
+        halo="projectiles/misfire-spark-[1~4].png:100"
     [/missile_frame]
 #enddef
 #define MISSILE_FRAME_MUZZLE_FLARE_HIT_NORTH START_X START_Y
@@ -1023,7 +1023,7 @@
     missile_halo_x={START_X}~0
     missile_halo_y={START_Y}~0
     [missile_frame]
-        halo="projectiles/muzzle-flash-n-[1-3].png:[100,80,70],projectiles/muzzle-flash-[4-14].png:60"
+        halo="projectiles/muzzle-flash-n-[1~3].png:[100,80,70],projectiles/muzzle-flash-[4~14].png:60"
     [/missile_frame]
 #enddef
 #define MISSILE_FRAME_MUZZLE_FLARE_HIT_SOUTH START_X START_Y
@@ -1032,7 +1032,7 @@
     missile_halo_x={START_X}~0
     missile_halo_y={START_Y}~0
     [missile_frame]
-        halo="projectiles/muzzle-flash-s-[1-3].png~FL(vertical):[100,80,70],projectiles/muzzle-flash-[4-14].png:60"
+        halo="projectiles/muzzle-flash-s-[1~3].png~FL(vertical):[100,80,70],projectiles/muzzle-flash-[4~14].png:60"
     [/missile_frame]
 #enddef
 #define MISSILE_FRAME_MUZZLE_FLARE_HIT_DIAG_NORTH START_X START_Y
@@ -1041,7 +1041,7 @@
     missile_halo_x={START_X}~0
     missile_halo_y={START_Y}~0
     [missile_frame]
-        halo="projectiles/muzzle-flash-ne-[1-3].png:[100,80,70],projectiles/muzzle-flash-[4-14].png:60"
+        halo="projectiles/muzzle-flash-ne-[1~3].png:[100,80,70],projectiles/muzzle-flash-[4~14].png:60"
     [/missile_frame]
 #enddef
 #define MISSILE_FRAME_MUZZLE_FLARE_HIT_DIAG_SOUTH START_X START_Y
@@ -1050,7 +1050,7 @@
     missile_halo_x={START_X}~0
     missile_halo_y={START_Y}~0
     [missile_frame]
-        halo="projectiles/muzzle-flash-se-[1-3].png~FL(vertical):[100,80,70],projectiles/muzzle-flash-[4-14].png:60"
+        halo="projectiles/muzzle-flash-se-[1~3].png~FL(vertical):[100,80,70],projectiles/muzzle-flash-[4~14].png:60"
     [/missile_frame]
 #enddef
 
@@ -1236,7 +1236,7 @@
         impact_burst_start_time=-160
         [impact_burst_frame]
             duration=320
-            halo=misc/blank-hex.png:1,projectiles/fire-burst-small-[1-8].png:[39,40,40,40,40,40,40,39],misc/blank-hex.png:1
+            halo=misc/blank-hex.png:1,projectiles/fire-burst-small-[1~8].png:[39,40,40,40,40,40,40,39],misc/blank-hex.png:1
             offset=1.0
             layer=1
         [/impact_burst_frame]
@@ -1248,35 +1248,35 @@
         flame_trail_5_start_time=-250
         [flame_trail_1_frame]
             duration=500
-            halo=misc/blank-hex.png:1,projectiles/fire-breath-[1-10].png:[49,50,50,50,50,50,50,50,50,49],misc/blank-hex.png:1
+            halo=misc/blank-hex.png:1,projectiles/fire-breath-[1~10].png:[49,50,50,50,50,50,50,50,50,49],misc/blank-hex.png:1
             halo_x={OFFSET_X}~0:300,0
             halo_y={OFFSET_Y}~0:300,0
             offset=0.0~1.0:300,1.0~1.25:200
         [/flame_trail_1_frame]
         [flame_trail_2_frame]
             duration=500
-            halo=misc/blank-hex.png:1,projectiles/fire-breath-[1-10].png:[49,50,50,50,50,50,50,50,50,49],misc/blank-hex.png:1
+            halo=misc/blank-hex.png:1,projectiles/fire-breath-[1~10].png:[49,50,50,50,50,50,50,50,50,49],misc/blank-hex.png:1
             halo_x={OFFSET_X}~0:300,0
             halo_y={OFFSET_Y}~0:300,0
             offset=0.0~1.0:300,1.0~1.20:200
         [/flame_trail_2_frame]
         [flame_trail_3_frame]
             duration=500
-            halo=misc/blank-hex.png:1,projectiles/fire-breath-[1-10].png:[49,50,50,50,50,50,50,50,50,49],misc/blank-hex.png:1
+            halo=misc/blank-hex.png:1,projectiles/fire-breath-[1~10].png:[49,50,50,50,50,50,50,50,50,49],misc/blank-hex.png:1
             halo_x={OFFSET_X}~0:300,0
             halo_y={OFFSET_Y}~0:300,0
             offset=0.0~1.0:300,1.0~1.15:200
         [/flame_trail_3_frame]
         [flame_trail_4_frame]
             duration=500
-            halo=misc/blank-hex.png:1,projectiles/fire-breath-[1-10].png:[49,50,50,50,50,50,50,50,50,49],misc/blank-hex.png:1
+            halo=misc/blank-hex.png:1,projectiles/fire-breath-[1~10].png:[49,50,50,50,50,50,50,50,50,49],misc/blank-hex.png:1
             halo_x={OFFSET_X}~0:300,0
             halo_y={OFFSET_Y}~0:300,0
             offset=0.0~1.0:300,1.0~1.10:200
         [/flame_trail_4_frame]
         [flame_trail_5_frame]
             duration=500
-            halo=misc/blank-hex.png:1,projectiles/fire-breath-[1-10].png:[49,50,50,50,50,50,50,50,50,49],misc/blank-hex.png:1
+            halo=misc/blank-hex.png:1,projectiles/fire-breath-[1~10].png:[49,50,50,50,50,50,50,50,50,49],misc/blank-hex.png:1
             halo_x={OFFSET_X}~0:300,0
             halo_y={OFFSET_Y}~0:300,0
             offset=0.0~1.0:300,1.0~1.05:200
@@ -1342,35 +1342,35 @@
         flame_trail_5_start_time=-250
         [flame_trail_1_frame]
             duration=500
-            halo=misc/blank-hex.png:1,projectiles/fire-breath-[1-10].png:[49,50,50,50,50,50,50,50,50,49],misc/blank-hex.png:1
+            halo=misc/blank-hex.png:1,projectiles/fire-breath-[1~10].png:[49,50,50,50,50,50,50,50,50,49],misc/blank-hex.png:1
             halo_x={OFFSET_X}~0:300,0
             halo_y={OFFSET_Y}~0:300,0
             offset=0.0~1.0:300,1.0~1.5:200
         [/flame_trail_1_frame]
         [flame_trail_2_frame]
             duration=500
-            halo=misc/blank-hex.png:1,projectiles/fire-breath-[1-10].png:[49,50,50,50,50,50,50,50,50,49],misc/blank-hex.png:1
+            halo=misc/blank-hex.png:1,projectiles/fire-breath-[1~10].png:[49,50,50,50,50,50,50,50,50,49],misc/blank-hex.png:1
             halo_x={OFFSET_X}~0:300,0
             halo_y={OFFSET_Y}~0:300,0
             offset=0.0~1.0:300,1.0~1.4:200
         [/flame_trail_2_frame]
         [flame_trail_3_frame]
             duration=500
-            halo=misc/blank-hex.png:1,projectiles/fire-breath-[1-10].png:[49,50,50,50,50,50,50,50,50,49],misc/blank-hex.png:1
+            halo=misc/blank-hex.png:1,projectiles/fire-breath-[1~10].png:[49,50,50,50,50,50,50,50,50,49],misc/blank-hex.png:1
             halo_x={OFFSET_X}~0:300,0
             halo_y={OFFSET_Y}~0:300,0
             offset=0.0~1.0:300,1.0~1.3:200
         [/flame_trail_3_frame]
         [flame_trail_4_frame]
             duration=500
-            halo=misc/blank-hex.png:1,projectiles/fire-breath-[1-10].png:[49,50,50,50,50,50,50,50,50,49],misc/blank-hex.png:1
+            halo=misc/blank-hex.png:1,projectiles/fire-breath-[1~10].png:[49,50,50,50,50,50,50,50,50,49],misc/blank-hex.png:1
             halo_x={OFFSET_X}~0:300,0
             halo_y={OFFSET_Y}~0:300,0
             offset=0.0~1.0:300,1.0~1.2:200
         [/flame_trail_4_frame]
         [flame_trail_5_frame]
             duration=500
-            halo=misc/blank-hex.png:1,projectiles/fire-breath-[1-10].png:[49,50,50,50,50,50,50,50,50,49],misc/blank-hex.png:1
+            halo=misc/blank-hex.png:1,projectiles/fire-breath-[1~10].png:[49,50,50,50,50,50,50,50,50,49],misc/blank-hex.png:1
             halo_x={OFFSET_X}~0:300,0
             halo_y={OFFSET_Y}~0:300,0
             offset=0.0~1.0:300,1.0~1.1:200
@@ -1430,7 +1430,7 @@
         [missile_frame]
             begin=-400
             end=100
-            halo=projectiles/fire-breath-se-[1-5].png:80
+            halo=projectiles/fire-breath-se-[1~5].png:80
             halo_x,halo_y={OFFSET_POSITION}
         [/missile_frame]
         start_time=-900
@@ -1504,7 +1504,7 @@
         [missile_frame]
             begin=-400
             end=100
-            halo=projectiles/fire-breath-ne-[1-5].png:80
+            halo=projectiles/fire-breath-ne-[1~5].png:80
             halo_x,halo_y={OFFSET_POSITION}
         [/missile_frame]
         start_time=-900
@@ -1578,7 +1578,7 @@
         [missile_frame]
             begin=-400
             end=100
-            halo=projectiles/fire-breath-s-[1-5].png:80
+            halo=projectiles/fire-breath-s-[1~5].png:80
             halo_x,halo_y={OFFSET_POSITION}
         [/missile_frame]
         start_time=-900
@@ -1652,7 +1652,7 @@
         [missile_frame]
             begin=-400
             end=100
-            halo=projectiles/fire-breath-n-[1-5].png:80
+            halo=projectiles/fire-breath-n-[1~5].png:80
             halo_x,halo_y={OFFSET_POSITION}
         [/missile_frame]
         start_time=-900
Index: data/core/macros/image-utils.cfg
===================================================================
--- data/core/macros/image-utils.cfg	(revision 56125)
+++ data/core/macros/image-utils.cfg	(working copy)
@@ -207,7 +207,7 @@
             y=0
             [image]
                 layer=0
-                name="misc/fire-A[01-08].png:140"
+                name="misc/fire-A[01~08].png:140"
             [/image]
         [/tile]
     [/terrain_graphics]
@@ -226,7 +226,7 @@
                 layer=0
                 # wmlscope: start ignoring
                 # FIXME: More implicit-path breakage
-                name="../items/brazier-lit[1-8].png:140"
+                name="../items/brazier-lit[1~8].png:140"
                 # wmlscope: stop ignoring
             [/image]
         [/tile]
@@ -238,7 +238,7 @@
     # long, undead, or wood-elvish. Use within a [side] block; only
     # affects that side.
     # wmlscope: start ignoring
-    flag=flags/{NAME}-flag-[1-4].png:150
+    flag=flags/{NAME}-flag-[1~4].png:150
     flag_icon=flags/{NAME}-flag-icon.png
     # wmlscope: stop ignoring
 #enddef
@@ -271,7 +271,7 @@
             center=92,138
             # wmlscope: start ignoring
             # FIXME: More implicit-path breakage
-            name="../scenery/mausoleum[01-18].png:140"
+            name="../scenery/mausoleum[01~18].png:140"
             # wmlscope: stop ignoring
         [/image]
     [/terrain_graphics]
Index: data/core/terrain-graphics/new-macros.cfg
===================================================================
--- data/core/terrain-graphics/new-macros.cfg	(revision 56125)
+++ data/core/terrain-graphics/new-macros.cfg	(working copy)
@@ -860,7 +860,7 @@
         [/tile]
 
         [image]
-            name={IMAGESTEM}[01-03].png:{TIME}
+            name={IMAGESTEM}[01~03].png:{TIME}
             layer=0
             base=90,144
             center=90,144
@@ -884,7 +884,7 @@
         [/tile]
 
         [image]
-            name={IMAGESTEM}[01-04].png:{TIME}
+            name={IMAGESTEM}[01~04].png:{TIME}
             layer=0
             base=90,144
             center=90,144
Index: data/core/terrain-graphics/builder.cfg
===================================================================
--- data/core/terrain-graphics/builder.cfg	(revision 56125)
+++ data/core/terrain-graphics/builder.cfg	(working copy)
@@ -7,31 +7,31 @@
 {IMAGESTEM}-A01{POSTFIX}.png:100#enddef
 
 #define ANIMATION_03 IMAGESTEM POSTFIX
-{IMAGESTEM}-A[01-03]{POSTFIX}.png:200#enddef
+{IMAGESTEM}-A[01~03]{POSTFIX}.png:200#enddef
 
 #define ANIMATION_04 IMAGESTEM POSTFIX
-{IMAGESTEM}-A[01-04]{POSTFIX}.png:100#enddef
+{IMAGESTEM}-A[01~04]{POSTFIX}.png:100#enddef
 
 #define ANIMATION_08 IMAGESTEM POSTFIX
-{IMAGESTEM}-A[01-08]{POSTFIX}.png:200#enddef
+{IMAGESTEM}-A[01~08]{POSTFIX}.png:200#enddef
 
 #define ANIMATION_10 IMAGESTEM POSTFIX
-{IMAGESTEM}-A[01-10]{POSTFIX}.png:100#enddef
+{IMAGESTEM}-A[01~10]{POSTFIX}.png:100#enddef
 
 #define ANIMATION_15 IMAGESTEM POSTFIX
-{IMAGESTEM}-A[01-15]{POSTFIX}.png:110#enddef
+{IMAGESTEM}-A[01~15]{POSTFIX}.png:110#enddef
 
 #define ANIMATION_15_SLOW IMAGESTEM POSTFIX
-{IMAGESTEM}-A[01-15]{POSTFIX}.png:150#enddef
+{IMAGESTEM}-A[01~15]{POSTFIX}.png:150#enddef
 
 #define ANIMATION_04_140 IMAGESTEM POSTFIX
-{IMAGESTEM}-A[01-04]{POSTFIX}.png:140#enddef
+{IMAGESTEM}-A[01~04]{POSTFIX}.png:140#enddef
 
 #define ANIMATION_18_70 IMAGESTEM POSTFIX
-{IMAGESTEM}-A[01-18]{POSTFIX}.png:130#enddef
+{IMAGESTEM}-A[01~18]{POSTFIX}.png:130#enddef
 
 #define ANIMATION_06_150 IMAGESTEM POSTFIX
-{IMAGESTEM}-A[01-06]{POSTFIX}.png:300#enddef
+{IMAGESTEM}-A[01~06]{POSTFIX}.png:300#enddef
 
 #define BUILD_IMAGE BUILDER IMAGESTEM POSTFIX
 {{BUILDER} {IMAGESTEM} {POSTFIX}}#enddef
Index: data/core/terrain-graphics/internal-generic.cfg
===================================================================
--- data/core/terrain-graphics/internal-generic.cfg	(revision 56125)
+++ data/core/terrain-graphics/internal-generic.cfg	(working copy)
@@ -341,7 +341,7 @@
             # we put [image] in [tile] for performance reason
             # this assumes that the image fit into the hex
             [image]
-                name={IMAGESTEM}-A[01-15].png{IPF}:{TIME}
+                name={IMAGESTEM}-A[01~15].png{IPF}:{TIME}
                 layer=-1000
             [/image]
         [/tile]
@@ -364,7 +364,7 @@
             # we put [image] in [tile] for performance reason
             # this assumes that the image fit into the hex
             [image]
-                name={IMAGESTEM}-A[01-15]-@R0.png{IPF}:{TIME}
+                name={IMAGESTEM}-A[01~15]-@R0.png{IPF}:{TIME}
                 layer={LAYER}
             [/image]
         [/tile]
Index: data/campaigns/Descent_Into_Darkness/units/dark-mage.cfg
===================================================================
--- data/campaigns/Descent_Into_Darkness/units/dark-mage.cfg	(revision 56125)
+++ data/campaigns/Descent_Into_Darkness/units/dark-mage.cfg	(working copy)
@@ -105,7 +105,7 @@
             begin=0
             end=200
             image="units/dark-mage-magic-3.png"
-            halo=halo/undead/black-magic-[3-5].png:[75,75,50]
+            halo=halo/undead/black-magic-[3~5].png:[75,75,50]
         [/frame]
         [frame]
             begin=200
@@ -187,7 +187,7 @@
             begin=0
             end=200
             image="units/dark-mage-magic-3.png"
-            halo=halo/undead/black-magic-[3-5].png:[75,75,50]
+            halo=halo/undead/black-magic-[3~5].png:[75,75,50]
         [/frame]
         [frame]
             begin=200
Index: data/campaigns/Son_Of_The_Black_Eye/units/Old_Orcish_Shaman.cfg
===================================================================
--- data/campaigns/Son_Of_The_Black_Eye/units/Old_Orcish_Shaman.cfg	(revision 56125)
+++ data/campaigns/Son_Of_The_Black_Eye/units/Old_Orcish_Shaman.cfg	(working copy)
@@ -49,7 +49,7 @@
         [missile_frame]
             begin=-200
             end=200
-            halo="halo/elven/druid-healing[8-1].png:50"
+            halo="halo/elven/druid-healing[8~1].png:50"
             offset=1.0~0.0
         [/missile_frame]
         [frame]
Index: data/campaigns/Son_Of_The_Black_Eye/units/Orcish_Shaman.cfg
===================================================================
--- data/campaigns/Son_Of_The_Black_Eye/units/Orcish_Shaman.cfg	(revision 56125)
+++ data/campaigns/Son_Of_The_Black_Eye/units/Orcish_Shaman.cfg	(working copy)
@@ -49,7 +49,7 @@
         [missile_frame]
             begin=-200
             end=200
-            halo="halo/elven/druid-healing[8-1].png:50"
+            halo="halo/elven/druid-healing[8~1].png:50"
             offset=1.0~0.0
         [/missile_frame]
         [frame]
Index: data/campaigns/Son_Of_The_Black_Eye/units/Novice_Orcish_Shaman.cfg
===================================================================
--- data/campaigns/Son_Of_The_Black_Eye/units/Novice_Orcish_Shaman.cfg	(revision 56125)
+++ data/campaigns/Son_Of_The_Black_Eye/units/Novice_Orcish_Shaman.cfg	(working copy)
@@ -49,7 +49,7 @@
         [missile_frame]
             begin=-200
             end=200
-            halo="halo/elven/druid-healing[8-1].png:50"
+            halo="halo/elven/druid-healing[8~1].png:50"
             offset=1.0~0.0
         [/missile_frame]
         [frame]
Index: data/campaigns/Son_Of_The_Black_Eye/scenarios/10_Saving_Inarix.cfg
===================================================================
--- data/campaigns/Son_Of_The_Black_Eye/scenarios/10_Saving_Inarix.cfg	(revision 56125)
+++ data/campaigns/Son_Of_The_Black_Eye/scenarios/10_Saving_Inarix.cfg	(working copy)
@@ -276,7 +276,7 @@
 
         [item]
             x,y=21,13
-            halo=projectiles/fire-burst-small-[1-8].png:50,misc/blank-hex.png:1000000
+            halo=projectiles/fire-burst-small-[1~8].png:50,misc/blank-hex.png:1000000
         [/item]
 
         [kill]
@@ -292,7 +292,7 @@
 
             [item]
                 x,y=$exploding_hexes[$i].x,$exploding_hexes[$i].y
-                halo=projectiles/fire-burst-small-[1-8].png:50,misc/blank-hex.png:1000000
+                halo=projectiles/fire-burst-small-[1~8].png:50,misc/blank-hex.png:1000000
             [/item]
 
             [kill]
Index: data/campaigns/Delfadors_Memoirs/units/Wose_Shaman.cfg
===================================================================
--- data/campaigns/Delfadors_Memoirs/units/Wose_Shaman.cfg	(revision 56125)
+++ data/campaigns/Delfadors_Memoirs/units/Wose_Shaman.cfg	(working copy)
@@ -9,7 +9,7 @@
         start_time=0
         [frame]
             image="units/wose-shaman.png"
-            halo="halo/wose-stationary-halo[1-8].png:150"
+            halo="halo/wose-stationary-halo[1~8].png:150"
         [/frame]
     [/standing_anim]
     {DEFENSE_ANIM units/wose-shaman.png units/wose-shaman.png {SOUND_LIST:HUMAN_OLD_HIT}}
Index: data/campaigns/Eastern_Invasion/utils/animations.cfg
===================================================================
--- data/campaigns/Eastern_Invasion/utils/animations.cfg	(revision 56125)
+++ data/campaigns/Eastern_Invasion/utils/animations.cfg	(working copy)
@@ -248,7 +248,7 @@
                 [/frame]
                 [frame]
                     image="units/human-magi/white-mage-magic-3.png"
-                    halo=halo/holy/halo[6,1-6].png:125
+                    halo=halo/holy/halo[6,1~6].png:125
                 [/frame]
                 [frame]
                     duration=125
@@ -281,7 +281,7 @@
                 [/frame]
                 [frame]
                     image="units/human-magi/white-cleric-magic-3.png"
-                    halo=halo/holy/halo[6,1-6].png:125
+                    halo=halo/holy/halo[6,1~6].png:125
                 [/frame]
                 [frame]
                     duration=125
Index: data/campaigns/Heir_To_The_Throne/units/Dark_Queen.cfg
===================================================================
--- data/campaigns/Heir_To_The_Throne/units/Dark_Queen.cfg	(revision 56125)
+++ data/campaigns/Heir_To_The_Throne/units/Dark_Queen.cfg	(working copy)
@@ -71,7 +71,7 @@
             begin=-375
             end=75
             image="units/human-queen.png"
-            halo=halo/elven/faerie-fire-halo[2-7].png:75
+            halo=halo/elven/faerie-fire-halo[2~7].png:75
             halo_x,halo_y=0,-35
         [/frame]
     [/attack_anim]
Index: data/campaigns/Heir_To_The_Throne/scenarios/09_The_Valley_of_Death.cfg
===================================================================
--- data/campaigns/Heir_To_The_Throne/scenarios/09_The_Valley_of_Death.cfg	(revision 56125)
+++ data/campaigns/Heir_To_The_Throne/scenarios/09_The_Valley_of_Death.cfg	(working copy)
@@ -80,7 +80,7 @@
         canrecruit=yes
         team_name=undead
         user_team_name=_"Undead"
-        #flag=flags/undead-flag-[1-4].png
+        #flag=flags/undead-flag-[1~4].png
 
         {VOD_AI_PARMS}
         {GOLD 200 320 440}
Index: data/campaigns/Under_the_Burning_Suns/units/monsters/Alien_Body2.cfg
===================================================================
--- data/campaigns/Under_the_Burning_Suns/units/monsters/Alien_Body2.cfg	(revision 56125)
+++ data/campaigns/Under_the_Burning_Suns/units/monsters/Alien_Body2.cfg	(working copy)
@@ -147,32 +147,32 @@
 
     [flame_burst_1_frame]
         duration=800
-        halo=misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1,halo/flame-burst-[1-8].png~{OVERLAY_IMAGE_AFFIX}:50,misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1
+        halo=misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1,halo/flame-burst-[1~8].png~{OVERLAY_IMAGE_AFFIX}:50,misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1
         halo_x,halo_y=-9,17
     [/flame_burst_1_frame]
     [flame_burst_2_frame]
         duration=800
-        halo=misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1,halo/flame-burst-[1-8].png~{OVERLAY_IMAGE_AFFIX}:50,misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1
+        halo=misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1,halo/flame-burst-[1~8].png~{OVERLAY_IMAGE_AFFIX}:50,misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1
         halo_x,halo_y=18,0
     [/flame_burst_2_frame]
     [flame_burst_3_frame]
         duration=800
-        halo=misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1,halo/flame-burst-[1-8].png~{OVERLAY_IMAGE_AFFIX}:50,misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1
+        halo=misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1,halo/flame-burst-[1~8].png~{OVERLAY_IMAGE_AFFIX}:50,misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1
         halo_x,halo_y=-9,-18
     [/flame_burst_3_frame]
     [flame_burst_4_frame]
         duration=800
-        halo=misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1,halo/flame-burst-[1-8].png~{OVERLAY_IMAGE_AFFIX}:50,misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1
+        halo=misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1,halo/flame-burst-[1~8].png~{OVERLAY_IMAGE_AFFIX}:50,misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1
         halo_x,halo_y=9,17
     [/flame_burst_4_frame]
     [flame_burst_5_frame]
         duration=800
-        halo=misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1,halo/flame-burst-[1-8].png~{OVERLAY_IMAGE_AFFIX}:50,misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1
+        halo=misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1,halo/flame-burst-[1~8].png~{OVERLAY_IMAGE_AFFIX}:50,misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1
         halo_x,halo_y=8,-18
     [/flame_burst_5_frame]
     [flame_burst_6_frame]
         duration=800
-        halo=misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1,halo/flame-burst-[1-8].png~{OVERLAY_IMAGE_AFFIX}:50,misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1
+        halo=misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1,halo/flame-burst-[1~8].png~{OVERLAY_IMAGE_AFFIX}:50,misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1
         halo_x,halo_y=-18,0
     [/flame_burst_6_frame]
 
@@ -185,32 +185,32 @@
 
     [explosion_1_frame]
         duration=800
-        halo="misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1,projectiles/fireball-impact-[1,1-16].png~{OVERLAY_IMAGE_AFFIX},misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1"
+        halo="misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1,projectiles/fireball-impact-[1,1~16].png~{OVERLAY_IMAGE_AFFIX},misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1"
         halo_x,halo_y=-9,17
     [/explosion_1_frame]
     [explosion_2_frame]
         duration=800
-        halo="misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1,projectiles/fireball-impact-[1,1-16].png~{OVERLAY_IMAGE_AFFIX},misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1"
+        halo="misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1,projectiles/fireball-impact-[1,1~16].png~{OVERLAY_IMAGE_AFFIX},misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1"
         halo_x,halo_y=18,0
     [/explosion_2_frame]
     [explosion_3_frame]
         duration=800
-        halo="misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1,projectiles/fireball-impact-[1,1-16].png~{OVERLAY_IMAGE_AFFIX},misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1"
+        halo="misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1,projectiles/fireball-impact-[1,1~16].png~{OVERLAY_IMAGE_AFFIX},misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1"
         halo_x,halo_y=-9,-18
     [/explosion_3_frame]
     [explosion_4_frame]
         duration=800
-        halo="misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1,projectiles/fireball-impact-[1,1-16].png~{OVERLAY_IMAGE_AFFIX},misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1"
+        halo="misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1,projectiles/fireball-impact-[1,1~16].png~{OVERLAY_IMAGE_AFFIX},misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1"
         halo_x,halo_y=9,17
     [/explosion_4_frame]
     [explosion_5_frame]
         duration=800
-        halo="misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1,projectiles/fireball-impact-[1,1-16].png~{OVERLAY_IMAGE_AFFIX},misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1"
+        halo="misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1,projectiles/fireball-impact-[1,1~16].png~{OVERLAY_IMAGE_AFFIX},misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1"
         halo_x,halo_y=8,-18
     [/explosion_5_frame]
     [explosion_6_frame]
         duration=800
-        halo="misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1,projectiles/fireball-impact-[1,1-16].png~{OVERLAY_IMAGE_AFFIX},misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1"
+        halo="misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1,projectiles/fireball-impact-[1,1~16].png~{OVERLAY_IMAGE_AFFIX},misc/blank-hex.png~{OVERLAY_IMAGE_AFFIX}:1"
         halo_x,halo_y=-18,0
     [/explosion_6_frame]
 
Index: data/campaigns/Under_the_Burning_Suns/units/monsters/Dust_Devil.cfg
===================================================================
--- data/campaigns/Under_the_Burning_Suns/units/monsters/Dust_Devil.cfg	(revision 56125)
+++ data/campaigns/Under_the_Burning_Suns/units/monsters/Dust_Devil.cfg	(working copy)
@@ -129,7 +129,7 @@
                 offset=1.0
                 begin=-200
                 end=120
-                halo="projectiles/sand-storm-[1-8].png:40"
+                halo="projectiles/sand-storm-[1~8].png:40"
             [/missile_frame]
         [/if]
         [else]
@@ -138,7 +138,7 @@
                 offset=1.0
                 begin=-200
                 end=120
-                halo="projectiles/sand-storm-[1-8].png~FL(vert):40"
+                halo="projectiles/sand-storm-[1~8].png~FL(vert):40"
             [/missile_frame]
         [/else]
         [if]
Index: data/campaigns/Liberty/units/Rogue_Mage.cfg
===================================================================
--- data/campaigns/Liberty/units/Rogue_Mage.cfg	(revision 56125)
+++ data/campaigns/Liberty/units/Rogue_Mage.cfg	(working copy)
@@ -47,7 +47,7 @@
         [missile_frame]
             begin=-200
             end=0
-            halo=halo/mage-halo[1-5].png
+            halo=halo/mage-halo[1~5].png
             halo_x,halo_y=10,-14
         [/missile_frame]
         [frame]
Index: data/campaigns/Liberty/units/Shadow_Mage.cfg
===================================================================
--- data/campaigns/Liberty/units/Shadow_Mage.cfg	(revision 56125)
+++ data/campaigns/Liberty/units/Shadow_Mage.cfg	(working copy)
@@ -60,7 +60,7 @@
             begin=-500
             end=50
             image="units/human-outlaws/shadow-mage.png"
-            halo=halo/shadow-mage-halo[1-10].png
+            halo=halo/shadow-mage-halo[1~10].png
             halo_x,halo_y=12,-5
             sound=magicmissile.wav
         [/frame]
Index: data/campaigns/The_South_Guard/utils/sg_utils.cfg
===================================================================
--- data/campaigns/The_South_Guard/utils/sg_utils.cfg	(revision 56125)
+++ data/campaigns/The_South_Guard/utils/sg_utils.cfg	(working copy)
@@ -5,6 +5,6 @@
 # and the generous advice of the collected fora.
 
 #define CUSTOM_SG_FLAG
-    flag=flag/SG-flag-[1-4].png:150
+    flag=flag/SG-flag-[1~4].png:150
     flag_icon=flag/SG-flag-icon.png
 #enddef
Index: data/campaigns/The_South_Guard/units/Eyestalk.cfg
===================================================================
--- data/campaigns/The_South_Guard/units/Eyestalk.cfg	(revision 56125)
+++ data/campaigns/The_South_Guard/units/Eyestalk.cfg	(working copy)
@@ -100,7 +100,7 @@
         [missile_frame]
             begin=0
             end=300
-            halo="halo/elven/ice-halo[1-6].png:50"
+            halo="halo/elven/ice-halo[1~6].png:50"
             offset=1.0~0.0:300
         [/missile_frame]
         [frame]
