Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //thanks Rick
- int DNF_ReadEncodedMem(RichMemFileBase *f)
- {
- BYTE op;
- f->Read(&op, sizeof(BYTE));
- DWORD value = (op & 0x3F);
- if ((op & 0x40) != 0)
- {
- int shift = 6;
- BYTE extra;
- do
- {
- if (shift > 27)
- {
- return -1;
- }
- f->Read(&extra, sizeof(BYTE));
- value |= (DWORD)(extra & 0x7F) << shift;
- shift += 7;
- }
- while ((extra & 0x80) != 0);
- }
- if ((op & 0x80) != 0)
- {
- return -(int)value;
- }
- return (int)value;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement