UPDATE:
Now supports Princess Connect Re:dive, but only for simple dialogue and choice decoding.
Full command list and plane file building are NOT supported.
To correctly decode a Princess Connect Re:dive story text file,
the usage is: storydecode.exe path-to-extracted-text-asset -redive
Well, at least just the certain day in December part. No traditional Japanese inns where I am.
Anyway, this was started off as a simple tool to rip the text of Starlight Stage commus out of the serialized format that the game uses, mostly utilizing code from the game itself. (Refer to the DerestageClasses folder/Story.Data namespace.) But since then, more work has been done on it so it could work the other way around as well.
The program by default will simply rip the text off a serialized binary file and produce a text file with all the deserialized text. However, the following exposed methods in Form1 can do a bit more.
Form1.decodeRaw(string srcpath):
Pass the location of a serialized binary file and this will produce a list of all commands, not just the ones that display story text, in the order that the game will process them.
(EXPERIMENTAL) Form1.BuildPlaneFile(string srcpath):
This method is made to produce a text file in the "PlaneFile" format that the Parser class from the game can serialize. Pass the location of a serialized binary file and this will produce a text file of the appropriate format.
Form1.LoadFromPlaneFile(string srcpath):
Pass the location of a PlaneFile and this method will serialize it back into binary format.
Using the latter two methods, entire commus can potentially be translated or even modded in several other ways.
=Original content of this readme=
Extract story script text from Starlight Stage story data.
Open a single text asset (extract using Unity Studio or DisUnity), or use command line.
Usage: storydecode.exe path-to-extracted-text-asset