//-------------------------------------------------------------------------- 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; }
//-------------------------------------------------------------------------- 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; }