Update unpaker2.

This commit is contained in:
lzwdgc 2023-01-10 04:58:51 +03:00
parent ca9427b409
commit e0343576b7

View file

@ -117,23 +117,31 @@ void unpack_file(path fn) {
break; break;
} }
case segment::decode_algorithm::rlew: { case segment::decode_algorithm::rlew: {
s.p -= 4; auto finalLength = len;
uint16_t finalLength = s; //uint16_t flag = 0xfefe;
//uint8_t flag = 0xfe;
uint16_t flag = s;
flag <<= 8;
flag |= 0xfe;
uint32_t outlen = 0; uint32_t outlen = 0;
while (outlen < finalLength) { while (outlen < finalLength) {
uint16_t w = s; if (pp-bbb.data() == 0x1cc38) {
if (w == 0xfefe) { int a = 5;
uint16_t w1 = s; a++;
uint16_t w2 = s; }
decltype(flag) w = s;
if (w == flag) {
decltype(flag) w1 = s;
decltype(flag) w2 = s;
while (w1--) { while (w1--) {
*(uint16_t *)pp = w2; *(decltype(flag) *)pp = w2;
pp += 2; pp += sizeof(flag);
outlen += 2; outlen += sizeof(flag);
} }
} else { } else {
*(uint16_t*)pp = w; *(decltype(flag)*)pp = w;
pp += 2; pp += sizeof(flag);
outlen += 2; outlen += sizeof(flag);
} }
} }
break; break;