Okay, so I tried to make a ".ips" file (using Lunar IPS) that was supposed to repair this, but to no success.
A re-encoded "WINDOW.BIN" containing no changes somehow turns out to 13,187 bytes, but still seems to work in game as far as I know (I only got as far as getting off the train). CDMage pads out the difference with zeroes.
I decoded and re-encoded “WINDOW.BIN” with luksy’s program, to get the smaller yet functional version of that file.
Then, I made an “.ips” file that is supposed to restore the file to its normal state. The “.ips” file’s intent is to restore a smaller file back to its normal size.
“ORIGINAL UNMODIFIED” (target): Re-encoded “WINDOW.BIN”
“NEW MODIFIED” (containing desired changes): Original “WINDOW.BIN”
“WINDOW.BIN” just gets reverted to its original state after applying the patch, which is weird because the patch was only supposed contain the differences between the 2 files. My modifications should of remained, but that didn't happen.
I'd really like to solve this confusing problem.
UPDATE: I tried making the patch again, but with accounting for the padded zeroes that CDMage adds to the re-encoded file.
Same result as before.