blob: 6674b50861e110e54be1405953042c0d06a63ff6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#include "native.h"
#include "endianutils.h"
#define MAIN_TYPE CompressType
#include "macros.h"
UInt32 Screen_decompressRLE7(void *userData68KP) {
// import variables
SETPTR (UInt8 * ,src );
SET32 (UInt32, compSize);
SETPTR (UInt8 * ,dest );
// end of import
uint8 *compBufEnd = src + compSize;
while (src < compBufEnd) {
uint8 code = *src++;
if ((code > 127) || (code == 0))
*dest++ = code;
else {
code++;
MemSet(dest, code, *src++);
dest += code;
}
}
return 0;
}
|