int m_nRead(Packet* m_pPacket)
{
byte m_nStartByte = m_pPacket->m_pReadBytes<byte>();
bool m_bFlipValue = (m_nStartByte & 64) != 0;
int m_nShiftAmmount = 6;
int m_nFinalValue = m_nStartByte & 63;
while (m_nStartByte & 128)
{
m_nStartByte = m_pPacket->m_pReadBytes<byte>();
m_nFinalValue = m_nFinalValue | (m_nStartByte & 127) << m_nShiftAmmount;
m_nShiftAmmount += 7;
}
if (m_bFlipValue)
{
m_nFinalValue = int(-m_nFinalValue);
}
return m_nFinalValue;
}