Example #1
0
        private void AddStringTableEntry(StringBuilder strTable, Dictionary <string, uint> strMap, ref ClassDatabaseFileString str)
        {
            string stringValue = str.GetString(this);

            if (!strMap.ContainsKey(stringValue))
            {
                strMap[stringValue] = (uint)strTable.Length;
                strTable.Append(stringValue + '\0');
            }
            str.str.stringTableOffset = strMap[stringValue];
        }
Example #2
0
        private void AddStringTableEntry(ClassDatabaseFile cldb, StringBuilder strTable, Dictionary <string, uint> strMap, ref ClassDatabaseFileString str)
        {
            string stringValue = str.GetString(cldb);

            if (strTable != null)
            {
                //search for string first and use that index if possible
                if (!strMap.ContainsKey(stringValue))
                {
                    strMap[stringValue] = (uint)strTable.Length;
                    strTable.Append(stringValue + '\0');
                }
                str.str.stringTableOffset = strMap[stringValue];
            }
            else
            {
                //always add string
                str.str.stringTableOffset = (uint)strTable.Length;
                strTable.Append(stringValue + '\0');
            }
        }