shin
shin copied to clipboard
DC4: Scenario parsing error
I tried sdu on the game D.C.4 ~ダ・カーポ4~ (title id 0100D8500EE14000), and got an issue with the scenario. Everything else is fine.
$ ./sdu scenario dump-info output/main.snr
Error:
╺━━━━━━━━━━━━━━━━━━━━┅ Backtrace ┅━━━━━━━━━━━━━━━━━━━━╸
0: Error: unexpected end of string when reading double-byte char
While parsing field 'emotion' in BustupInfoItem
at shin-core/src/format/scenario/info.rs:30
1: While parsing field 'elements' in SizedTable
at shin-core/src/format/scenario/info.rs:122
2: While parsing field 'bustup_info' in ScenarioInfoTables
at shin-core/src/format/scenario/info.rs:150
3: While parsing field 'info_tables' in ScenarioHeader
at shin-core/src/format/scenario/mod.rs:28
╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸
Wow, I've been trying to actively search for other games using the engine, but this one I haven't seen yet! Thanks for finding that!
Briefly looking at things, the game seems to be using ¿a different way? to store emotion names for bustups. That's what is currently failing with scenario. The bustups themselves do not parse too, seemingly due to the same change.
Also, by experience, some scenario commands are different. The engine version seem to be pretty close to umineko, so probably not much is changed, but there are some game-specific commands that I can see (CHATSET, at least).
This will require some work to implement in sdu (as well as... figuring out a way to define game-specific behaviors :sweat_smile:)
What is your end-goal with this game? Do you want to create a translation for switch or port the game to some other platform or smth else?
I was just curious. And found your project whilst looking for a way to extract data.rom.
Hmm, okay, thanks for reaching out then :smile: (I really want to find more games using the engine)
Eventually I hope to support other games using the engine, but, if you do not have a particular project in mind, I don't think there is need to rush support right now
Just a heads up: I am developing a separate tool focused on translation that allows supporting more games easily and I've just implemented support for DC4
https://github.com/DCNick3/shin-translation-tools