The first check shows that after extraction with my script, Leia's face gives me proper 2048x2048 texture 2,5MB in size. Now time to find out why this script works wrong.
it is the decompression failing. The 43 kb byte chunk. its entry.logicalsize is 43704...43kb -.-
okay, so its goes to writepayload.
fails no deltasha1
except to casPayload
...which once there it has all the required entries but fails...
damn this game. Okay, so SWBF is kinda....a modular install. We'll i doubt we will actually ever get that option however it is whats going on. Each file is part of 3 groups(4 now with Jakku) and only one is needed to load the game. You can actually remove most the files, unplug your internet and start SWBF. or just have the files for SP and I'm assuming co-op. This mean every file is assigned a cas/cat. I originally wrote the script in that manor but ditched it shortly before I started cleaning it up to share it. It was just real messy and cluttered and a pain to go through the script because you couldn't tell what was going on with 6 cat dictionaries and a ton of different defined dumps and it really slowed down the performance of the script. So I tossed the idea in favor of one cat dict like the old script because it work, got the job done and was faster. However it looks like I'm going to have to go back to that build of my scripts because it is exactly what is causing this chunk issue and who knows what else that we just haven't run into yet.
What is going on is this. Both patch and unpatch Characters.toc want the entry with 87efb62023497402a4aa5e61e7422ee0c73254eb for a SHA1. Char is in the group of inital experience. So it needs to go to that cas/cat and get the entry. However, every map/gamemode/bundle however you break it all down including the texture of Leia's face and they want it from the cas/cat they are part of. http://pastebin.com/zJH7yVF9
They all want one with an entry of 39667 bytes. And that 39667 bytes decompresses into our 43kb wtf chunk file.
It should be noted, it isn't like the file can't be extracted via any of the cas cats it tries to get it from. rangeEnd-RangeStart=the size of the other cas entry(39667) and plenty of other stuff like that but I just can't recall what values it would need or the compression method.