Technically that is possible using my parser. The limitations are not so much deleted chunks, or the size, because the parser reads and writes the entire file and can change/insert/delete data anywhere.
The problem however is indeed still with the structure: not every chunk has an id, so there is no guarantee (neither by offset, or chunk index) that a change is applied to the chunk you want. So when a file is modified with additional inserted chunks before the one you want to patch, and if it doesn't have an id, you have a problem. Both the index and offset will now point to an incorrect chunk, so this won't do...
I'll give it some more thought in the future. For now, this is the best I can do.
|