Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error with Kraken decompression #6

Open
gildor2 opened this issue Dec 30, 2019 · 3 comments
Open

Error with Kraken decompression #6

gildor2 opened this issue Dec 30, 2019 · 3 comments

Comments

@gildor2
Copy link

gildor2 commented Dec 30, 2019

Hi,

I'm using your project as a library in my project https://github.com/gildor2/UEViewer
There are some problems with license - your project using GPL, my one is not licensed yet, but I'm going to use BSD or MIT license, so the compilation with your source code is optional. I've also updated code to support gcc. If you're interested, here's the patch:
https://github.com/gildor2/UEViewer/tree/master/libs/oodle
It fixes gcc compilation and also excludes main() function.

Now, about the problem. I've integrated your code to support Star Wars Jedi: Fallen Order game. Everything works fine, except just a single texture. At the moment I've hardcoded skipping of this texture to avoid crash. There's only the one asset which has the problem with decompression.

I did an attempt to locate/fix the problem myself, however Kraken decoder looks very unfamiliar to me, it differs from anything I saw before.

Here's the asset: zip file contains both compressed and uncompressed versions (decompression has been done by third person, with use of QuickBMS which has oodle dll integration): oodle.zip

The issue is not critical for my project, but probably you'd be interested in fixing it because it happens with compression method which is supported with your code.

Thanks,
Konstantin

@FabianFG
Copy link

On some assets the UE seems to be choosing an unsupported compression algorithm called LZB16, that's probably what's causing the issues

@gildor2
Copy link
Author

gildor2 commented Dec 30, 2019

Here's decoder type 10, which is "Mermaid". Decompression fails in the middle of block: first pass of Kraken_DecodeStep has success, second pass fails (when just a few bytes remains to decompress).

@FabianFG
Copy link

Oops sorry, I just remember that I experienced this problem with Fortnite in the past

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants