It should now be able to read files with custom entries
This commit is contained in:
@@ -118,7 +118,7 @@ namespace BMGEditor
|
|||||||
|
|
||||||
m_File_Tbl.Entries.Sort((x, y) =>
|
m_File_Tbl.Entries.Sort((x, y) =>
|
||||||
{
|
{
|
||||||
int a = (int)x[70793394], b = (int)y[70793394];
|
UInt32 a = (UInt32)x[70793394], b = (UInt32)y[70793394];
|
||||||
return a.CompareTo(b);
|
return a.CompareTo(b);
|
||||||
});
|
});
|
||||||
int l = 0;
|
int l = 0;
|
||||||
|
|||||||
@@ -76,7 +76,60 @@ namespace BMGEditor
|
|||||||
return String.CompareOrdinal(entryNameA, entryNameB);
|
return String.CompareOrdinal(entryNameA, entryNameB);
|
||||||
});
|
});
|
||||||
|
|
||||||
//m_FileTbl
|
m_FileTbl.Entries.Clear();
|
||||||
|
|
||||||
|
foreach (BMG.TextEntry txtEntry in m_File.Entries)
|
||||||
|
{
|
||||||
|
Bcsv.Entry entry = new Bcsv.Entry();
|
||||||
|
m_FileTbl.Entries.Add(entry);
|
||||||
|
|
||||||
|
int index = 0;
|
||||||
|
foreach (Bcsv.Field field in m_FileTbl.Fields.Values)
|
||||||
|
{
|
||||||
|
uint hash = field.NameHash;
|
||||||
|
string valstring;
|
||||||
|
if (index == 0)
|
||||||
|
valstring = txtEntry.entryName;
|
||||||
|
else
|
||||||
|
valstring = String.Concat(txtEntry.entryNo);
|
||||||
|
|
||||||
|
index++;
|
||||||
|
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
switch (field.Type)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
case 3: entry.Add(hash, uint.Parse(valstring)); break;
|
||||||
|
case 4: entry.Add(hash, ushort.Parse(valstring)); break;
|
||||||
|
case 5: entry.Add(hash, byte.Parse(valstring)); break;
|
||||||
|
case 2: entry.Add(hash, float.Parse(valstring)); break;
|
||||||
|
case 6: entry.Add(hash, valstring); break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
switch (field.Type)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
case 3: entry.Add(hash, (uint)0); break;
|
||||||
|
case 4: entry.Add(hash, (ushort)0); break;
|
||||||
|
case 5: entry.Add(hash, (byte)0); break;
|
||||||
|
case 2: entry.Add(hash, 0f); break;
|
||||||
|
case 6: entry.Add(hash, ""); break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
m_FileTbl.Flush();
|
||||||
|
m_File.Entries.Sort((x, y) =>
|
||||||
|
{
|
||||||
|
int entryIndexA = x.entryNo, entryIndexB = y.entryNo;
|
||||||
|
return entryIndexA.CompareTo(entryIndexB);
|
||||||
|
});
|
||||||
|
|
||||||
m_File.WriteToFile();
|
m_File.WriteToFile();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user