@ Removed unique key check in configurations: Setting with the same name now just overrides the previous.

This commit is contained in:
codeimp 2009-07-30 05:43:13 +00:00
parent fbfd57dec3
commit a9ef78d33f

View file

@ -460,6 +460,7 @@ namespace CodeImp.DoomBuilder.IO
// Check if we can test existance // Check if we can test existance
if(container != null) if(container != null)
{ {
/*
// Test if the key exists in this container // Test if the key exists in this container
if(container.Contains(key) == true) if(container.Contains(key) == true)
{ {
@ -468,6 +469,7 @@ namespace CodeImp.DoomBuilder.IO
validateresult = false; validateresult = false;
} }
else else
*/
{ {
// Key OK // Key OK
validateresult = true; validateresult = true;
@ -984,7 +986,10 @@ namespace CodeImp.DoomBuilder.IO
IDictionary cs2; IDictionary cs2;
if(cs is ListDictionary) cs2 = new ListDictionary(); else cs2 = new Hashtable(); if(cs is ListDictionary) cs2 = new ListDictionary(); else cs2 = new Hashtable();
InputStructure(cs2, ref file, ref data, ref pos, ref line); InputStructure(cs2, ref file, ref data, ref pos, ref line);
cs.Add(key.Trim(), cs2); if(cs.Contains(key.Trim()))
cs[key.Trim()] = Combine(cs, cs2, (cs is ListDictionary));
else
cs.Add(key.Trim(), cs2);
key = ""; key = "";
} }
break; break;
@ -1008,7 +1013,7 @@ namespace CodeImp.DoomBuilder.IO
object val = ParseAssignment(ref file, ref data, ref pos, ref line); object val = ParseAssignment(ref file, ref data, ref pos, ref line);
if(!cpErrorResult) if(!cpErrorResult)
{ {
cs.Add(key.Trim(), val); cs[key.Trim()] = val;
key = ""; key = "";
} }
} }
@ -1022,7 +1027,7 @@ namespace CodeImp.DoomBuilder.IO
if(ValidateKey(cs, key.Trim(), file, line)) if(ValidateKey(cs, key.Trim(), file, line))
{ {
// Add the key with null as value // Add the key with null as value
cs.Add(key.Trim(), null); cs[key.Trim()] = null;
key = ""; key = "";
} }
} }