Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ LoadFileFormatHeader()

static bool Terraria.IO.WorldFile.LoadFileFormatHeader ( BinaryReader reader,
out bool[] importance,
out int[] positions )
inlinestatic

Definition at line 1805 of file WorldFile.cs.

1806 {
1807 importance = null;
1808 positions = null;
1809 if ((_versionNumber = reader.ReadInt32()) >= 135)
1810 {
1811 try
1812 {
1813 Main.WorldFileMetadata = FileMetadata.Read(reader, FileType.World);
1814 }
1815 catch (FormatException value)
1816 {
1817 Console.WriteLine(Language.GetTextValue("Error.UnableToLoadWorld"));
1819 return false;
1820 }
1821 }
1822 else
1823 {
1824 Main.WorldFileMetadata = FileMetadata.FromCurrentSettings(FileType.World);
1825 }
1826 short num = reader.ReadInt16();
1827 positions = new int[num];
1828 for (int i = 0; i < num; i++)
1829 {
1830 positions[i] = reader.ReadInt32();
1831 }
1832 ushort num2 = reader.ReadUInt16();
1833 importance = new bool[num2];
1834 byte b = 0;
1835 byte b2 = 128;
1836 for (int i = 0; i < num2; i++)
1837 {
1838 if (b2 == 128)
1839 {
1840 b = reader.ReadByte();
1841 b2 = 1;
1842 }
1843 else
1844 {
1845 b2 <<= 1;
1846 }
1847 if ((b & b2) == b2)
1848 {
1849 importance[i] = true;
1850 }
1851 }
1852 return true;
1853 }
static void WriteLine()
Definition Console.cs:733
virtual byte ReadByte()
virtual ushort ReadUInt16()
virtual int ReadInt32()
virtual short ReadInt16()
static int _versionNumber
Definition WorldFile.cs:117
static string GetTextValue(string key)
Definition Language.cs:15

References Terraria.IO.WorldFile._versionNumber, Terraria.IO.FileMetadata.FromCurrentSettings(), Terraria.Localization.Language.GetTextValue(), Terraria.IO.FileMetadata.Read(), System.IO.BinaryReader.ReadByte(), System.IO.BinaryReader.ReadInt16(), System.IO.BinaryReader.ReadInt32(), System.IO.BinaryReader.ReadUInt16(), System.value, and System.Console.WriteLine().

Referenced by Terraria.IO.WorldFile.LoadWorld_Version2(), and Terraria.IO.WorldFile.ValidateWorld().