Exemplo n.º 1
0
            public void ReconstructTagData(multilingual_unicode_string_list_group owner, LanguageType this_lang)
            {
                for (int x = 0, dst_offset = tagDataOffset, size; x < referenceCount; x++, dst_offset += size)
                {
                    var dst = owner.StringData.Value;

                    Blam.StringId name;
                    size = languagePack.CopyStringReferenceData(referenceIndex + x, dst, dst_offset, out name);

                    var sref = AddOrGetReferenceByName(owner, name);
                    sref.LanguageOffsets[(int)this_lang].Value = dst_offset;
                }
            }
Exemplo n.º 2
0
			public void ReconstructTagData(multilingual_unicode_string_list_group owner, LanguageType this_lang)
			{
				for (int x = 0, dst_offset = tagDataOffset, size; x < referenceCount; x++, dst_offset += size)
				{
					var dst = owner.StringData.Value;

					Blam.StringId name;
					size = languagePack.CopyStringReferenceData(referenceIndex + x, dst, dst_offset, out name);

					var sref = AddOrGetReferenceByName(owner, name);
					sref.LanguageOffsets[(int)this_lang].Value = dst_offset;
				}
			}
Exemplo n.º 3
0
            static multilingual_unicode_string_reference_block AddOrGetReferenceByName(multilingual_unicode_string_list_group def, Blam.StringId name)
            {
                // See if a reference already exists for [name]...
                foreach (var sref in def.StringRefs)
                {
                    if (sref.StringId.Handle == name)
                    {
                        return(sref);
                    }
                }

                // one doesn't, so add it and return the new block data
                multilingual_unicode_string_reference_block sr;

                def.StringRefs.Add(out sr);

                // Initialize name id
                sr.StringId.Handle = name;

                // Initialize all the offsets to be invalid
                foreach (var lang_offset in sr.LanguageOffsets)
                {
                    lang_offset.Value = -1;
                }

                return(sr);
            }
Exemplo n.º 4
0
			static multilingual_unicode_string_reference_block AddOrGetReferenceByName(multilingual_unicode_string_list_group def, Blam.StringId name)
			{
				// See if a reference already exists for [name]...
				foreach (var sref in def.StringRefs)
					if (sref.StringId.Handle == name)
						return sref;

				// one doesn't, so add it and return the new block data
				multilingual_unicode_string_reference_block sr;
				def.StringRefs.Add(out sr);

				// Initialize name id
				sr.StringId.Handle = name;

				// Initialize all the offsets to be invalid
				foreach (var lang_offset in sr.LanguageOffsets)
					lang_offset.Value = -1;

				return sr;
			}