Lin
Type | Script Format |
---|---|
System | All |
Applicable Titles | Danganronpa: Trigger Happy Havoc, Danganronpa 2: Goodbye Despair, and Danganronpa Another Episode: Ultra Despair Girls |
Credit | yukinogatari/the-super-duper-script-editor |
Default Signedness | Unsigned |
Default Endianness | Little-Endian |
Implementation Status | 100% (Opcodes still being worked out) |
Lin scripts are a numerical scripting format featured in the Hopes Peak arc of games for both the PS Vita and Steam.
Specification
Lin Header | ||||
---|---|---|---|---|
Offset | Size | Data Type | Function | Notes |
0x00 | 4 Bytes | Int32 | Lin Type | Either 1 (No Text) or 2 (Text) |
0x04 | 4 Bytes | Int32 | Script Data Offset | |
0x08 | 4 Bytes | Int32 | Text Data Offset | Only present if type is 2 (Text) |
0x08 | 4 Bytes | Int32 | File Size | Only present if type is 1 (No Text) |
0x0C | 4 Bytes | Int32 | File Size | Only present if type is 2 (Text) |
Script Data
The script data of Lin files are stored as a block of binary data. Opcodes are read as an Int16, with format 0x70XX.
For instance, a text line in Danganronpa: Trigger Happy Havoc would be represented as 70 02 00 01
Check Flag
Flag checks have an unlimited number of parameters, because they may have a myriad of arguments to check. As such, to move to the next op code requires the #End Flag Check opcode, and checks should be done against 0x703C (For DR1 and DR2).
Text Data
Text data for Lin files is stored as a pak file, with each subentry being a line of text. Text IDs correspond to the entry ID in the pak file.
Text is encoded as UTF-16. Note that Danganronpa Another Episode: Ultra Despair Girls requires that the Byte Order Marking be absent, while other games require it.