Closed N-SPC700 closed 1 year ago
Update: this quite possibly may not be a bug with the program, I'm trying to understand these file formats better, so my best guess is that since the .dcf
files usually rely on a "base" asset of some sort (usually something like a .qnt
) this error is thrown if a base .qnt
file cannot be found. I don't have any access to any sort of documentation other than the code in libsys4
so it's hard to say.
It's a filename encoding bug. It can't find the base CG because the .dcf decoder is doing the base CG lookup with the wrong text encoding for the filename (UTF-8 instead of Shift-JIS).
The fix is simple enough, but I've discovered that .dcf decoding is broken in a different way when the base CG is .pcf format, which happens in Dohna Dohna. Basically, the .pcf format specifies an (x,y) offset and size for the CG which isn't being applied, and that confuses the .dcf decoder because it thinks the base CG has the wrong dimensions.
Another thing I noticed is that a lot of .dcf images are using an image of Kanono as their base CG, which seems wrong. But I think that's probably a quirk of AliceSoft's encoder.
I'll try to fix both of these issues this weekend.
Extracting the assets from Dohna Dohna mostly works, but for some reason a lot of the files first in the list give this warning:
*WARNING*(../subprojects/libsys4/src/dcf.c:dcf_extract:249): Failed to load DCF base CG [path_to_file]
However, if I let it run for a while, it works mostly fine afterwards.Indeed, viewing the files via GUI seem to pull from an existing CG it can seemingly pull from, which seem to be from the portraits used for dialogue. However this makes certain assets seemingly unrippable? I'm not sure what's causing this.