Beispiel #1
0
//--------------------------------------------------------------------------
VeSizeT VeBinaryIStream::ReadPackedInt() noexcept
{
	VeUInt8 u8Len;
	VE_ASSERT_EQ(Read(&u8Len, 1), 1);
	VeSizeT stValue = u8Len;
	if (stValue == 0xFF)
	{
		VeChar8 acBuffer[3];
		VE_ASSERT_EQ(Read(acBuffer, 3), 3);
		stValue = VE_UNPACK3(acBuffer);
	}
	return stValue;
}
Beispiel #2
0
//--------------------------------------------------------------------------
VeInt32 VeBinaryIStream::ReadPackedInt()
{
	VeUInt8 u8Len;
	VE_ASSERT_EQ(Read(&u8Len, 1), 1);

	VeInt32 i32Value = u8Len;

	if(i32Value == 0xFF)
	{
		VeChar8 acBuffer[3];
		VE_ASSERT_EQ(Read(acBuffer, 3), 3);
		i32Value = VE_UNPACK3(acBuffer);
	}

	return i32Value;
}