Omega wrote:im still trying to figure out how exactly the 0x1b blocks work >.<
the way Lambda does it is check if its one, if its not go back and check another. There doesn't seem to be any discernable logic :/
You should have tried figuring it out originally
I believe you can tell what the 1b block is by checking the size ahead of time. If it's 1, 2, 5, or 10, it's an X, Y value pair; otherwise, it's something else. That's basically what my code does, it makes a guess "Hmm... is it an X, Y pair? (Yes/No) OK... I'll interpret it this other way instead." The file format was inconsistant. Sometimes it would have both the X, and Y values, sometimes just the X value. That's what all of the EndOfBlock checks are for.
You might be able to tell by looking at the name of the variable like I do in extract73type. I didn't do enough analysis.
Edit: Doing an analysis based on the directory you are in could also turn up well... you aren't going to have images in the BGM (background music) directory. And you won't likely have images in the files full of strings.