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) =>
|
||||
{
|
||||
int a = (int)x[70793394], b = (int)y[70793394];
|
||||
UInt32 a = (UInt32)x[70793394], b = (UInt32)y[70793394];
|
||||
return a.CompareTo(b);
|
||||
});
|
||||
int l = 0;
|
||||
|
||||
@@ -76,7 +76,60 @@ namespace BMGEditor
|
||||
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();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user