Welcome to Data Crystal's new home! Data Crystal is now part of the TCRF family (sort of).
The wiki has recently moved; please report any issues in Discord. Pardon the dust.

Strike Witches: Silver Wing/TBL: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
(Create initial page. Moved text format research to text table. Text table incomplete)
 
(Update research on text format)
(8 intermediate revisions by the same user not shown)
Line 3: Line 3:
===Text Format===
===Text Format===


Mostly found in '''/media/data/sc_scenario.bin''', uses non-standard formatting
'''/media/data/sc_scenario.bin''' is potentially unused, but contains a copy of all the text in the game?


* Hiragana, Katakana and Kanji encoded using UTF-16
Mostly found in '''/media/data/event/[GGXARCHIVE].bin'''.
* Some special characters (ex: newline) are encoded with 8-bits, unclear how exactly these work
 
* Numbers (possibly other Latin characters?) are encoded with 16-bitsTheir value is '''0xFF''' followed by their UTF-8 value - '''0x20''' (ex: "1939" is '''0xFF 0x11 0xFF 0x19 0xFF 0x13 0xFF 0x19''')
* <code>ADV</code> - ADVENTURE
* <code>BA[x]</code> - BASE[x]
* <code>ST[x]</code> - STORY[x]
* 19 and 20 seem to be unused
 
Inside GGXArchives are relevant DDS textures for that scene and a textbin.  Textbin uses non-standard formatting:
 
* LE UTF-16
* Seems to be a small virtual machine with instructions to do various things?  (Dubbed "MiniVN")
* Message length possibly releated to CrLf count? Can insert bytes without modifying "instructions" but overwriting CrLf hard freezes
 
{| class="wikitable"
|+ Text Files
|-
! Entry !! Data
|-
| Header/Length field || 4 bytes, indicates length in DWORDs of next segment<sup>(LE)</sup>
|-
| Unknown Table/Commands?/Instructions? || Collection of DWORDs<sup>(LE)</sup>.  '''VERY COMPLICATED'''
DWORD 4 is always number of CrLf in file
|-
| Raw Text || Text Data
 
Does not have any breaks.  '''0x0D 0x00 0x0A 0x00''' (CrLf) is newline
|-
| Replaceable Text and Commands? || UTF-16<sup>(LE)</sup>
|}
 
{| class="wikitable"
|+ Command/Instruction Behavior?
|-
! Command/Instruction? !! Behavior
|-
| 0x03 0x10 || Write line to textbox, next DWORD is line number
|-
| 0x04 || Load?
|-
| 0x04 0x1D || Audio play, next DWORD is audio ID
|-
| 0x13 || Clear textbox, reset cursor position to 0
|-
| 0x27 || Related to tarot card mini-game.  '''0x27 0x00''' = no tarot, '''0x27 0x01''' = tarot, always draws "The Fool"?
|}
*Note:  Commands are DWORDs but have been shorted to single bytes here for simplicity


===Text Table===
===Text Table===
Line 25: Line 68:
30FC=ー
30FC=ー


FF10=0
FF10=
FF11=1
FF11=
FF12=2
FF12=
FF13=3
FF13=
FF14=4
FF14=
FF15=5
FF15=
FF16=6
FF16=
FF17=7
FF17=
FF18=8
FF18=
FF19=9
FF19=





Revision as of 02:49, 18 April 2024

Chip tiny.png The following article is a Text Table for Strike Witches: Silver Wing.

Text Format

/media/data/sc_scenario.bin is potentially unused, but contains a copy of all the text in the game?

Mostly found in /media/data/event/[GGXARCHIVE].bin.

  • ADV - ADVENTURE
  • BA[x] - BASE[x]
  • ST[x] - STORY[x]
  • 19 and 20 seem to be unused

Inside GGXArchives are relevant DDS textures for that scene and a textbin. Textbin uses non-standard formatting:

  • LE UTF-16
  • Seems to be a small virtual machine with instructions to do various things? (Dubbed "MiniVN")
  • Message length possibly releated to CrLf count? Can insert bytes without modifying "instructions" but overwriting CrLf hard freezes
Text Files
Entry Data
Header/Length field 4 bytes, indicates length in DWORDs of next segment(LE)
Unknown Table/Commands?/Instructions? Collection of DWORDs(LE). VERY COMPLICATED

DWORD 4 is always number of CrLf in file

Raw Text Text Data

Does not have any breaks. 0x0D 0x00 0x0A 0x00 (CrLf) is newline

Replaceable Text and Commands? UTF-16(LE)
Command/Instruction Behavior?
Command/Instruction? Behavior
0x03 0x10 Write line to textbox, next DWORD is line number
0x04 Load?
0x04 0x1D Audio play, next DWORD is audio ID
0x13 Clear textbox, reset cursor position to 0
0x27 Related to tarot card mini-game. 0x27 0x00 = no tarot, 0x27 0x01 = tarot, always draws "The Fool"?
  • Note: Commands are DWORDs but have been shorted to single bytes here for simplicity

Text Table


30A3=ィ
30A4=イ
30A6=ウ
30AF=ク
30B9=ス
30BA=ズ
30C1=チ
30C3=ッ
30C8=ト
30E9=ラ
30FC=ー

FF10=0
FF11=1
FF12=2
FF13=3
FF14=4
FF15=5
FF16=6
FF17=7
FF18=8
FF19=9