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

◆ TryReadCompressedSignedInteger()

unsafe bool System.Reflection.Metadata.BlobReader.TryReadCompressedSignedInteger ( out int value)
inline

Definition at line 312 of file BlobReader.cs.

313 {
314 value = _block.PeekCompressedInteger(Offset, out var numberOfBytesRead);
315 if (value == int.MaxValue)
316 {
317 return false;
318 }
319 bool flag = (value & 1) != 0;
320 value >>= 1;
321 if (flag)
322 {
323 switch (numberOfBytesRead)
324 {
325 case 1:
326 value |= -64;
327 break;
328 case 2:
329 value |= -8192;
330 break;
331 default:
332 value |= -268435456;
333 break;
334 }
335 }
336 _currentPointer += numberOfBytesRead;
337 return true;
338 }
unsafe int PeekCompressedInteger(int offset, out int numberOfBytesRead)

References System.Reflection.Metadata.BlobReader._block, System.Reflection.Metadata.BlobReader._currentPointer, System.Reflection.MaxValue, System.Reflection.Metadata.BlobReader.Offset, System.Reflection.Internal.MemoryBlock.PeekCompressedInteger(), and System.value.

Referenced by System.Reflection.Metadata.BlobReader.ReadCompressedSignedInteger().