Difference between revisions of "Lin"

From Spiral Framework
Jump to navigation Jump to search
(Created page with "{{File Format |TYPE = Script Format |SYSTEM = All |TITLES = Danganronpa: Trigger Happy Havoc, Danganronpa 2...")
 
(No difference)

Latest revision as of 10:03, 18 November 2019

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.