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

◆ WriteCompressedSignedInteger() [2/2]

static void System.Reflection.Metadata.BlobWriterImpl.WriteCompressedSignedInteger ( ref BlobWriter writer,
int value )
inlinestaticpackage

Definition at line 68 of file BlobWriterImpl.cs.

69 {
70 int num = value >> 31;
71 if ((value & -64) == (num & -64))
72 {
73 int num2 = ((value & 0x3F) << 1) | (num & 1);
74 writer.WriteByte((byte)num2);
75 }
76 else if ((value & -8192) == (num & -8192))
77 {
78 int num3 = ((value & 0x1FFF) << 1) | (num & 1);
79 writer.WriteUInt16BE((ushort)(0x8000u | (uint)num3));
80 }
81 else if ((value & -268435456) == (num & -268435456))
82 {
83 int num4 = ((value & 0xFFFFFFF) << 1) | (num & 1);
84 writer.WriteUInt32BE(0xC0000000u | (uint)num4);
85 }
86 else
87 {
88 Throw.ValueArgumentOutOfRange();
89 }
90 }

References System.value, System.Reflection.Throw.ValueArgumentOutOfRange(), and System.writer.

Referenced by System.Reflection.Metadata.BlobBuilder.WriteCompressedSignedInteger(), and System.Reflection.Metadata.BlobWriter.WriteCompressedSignedInteger().