Strike Witches: Silver Wing/TBL: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
(Update research on text format)
(More research)
 
(7 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?
 
Mostly found in '''/media/data/event/[GGXARCHIVE].bin'''.
 
* <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
* 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"
{| class="wikitable"
Line 14: Line 25:
| Header/Length field || 4 bytes, indicates length in DWORDs of next segment<sup>(LE)</sup>
| Header/Length field || 4 bytes, indicates length in DWORDs of next segment<sup>(LE)</sup>
|-
|-
| Unknown Table || Each entry is 4x 4 bytes<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
| Raw Text || Text Data
Line 20: Line 32:
Does not have any breaks.  '''0x0D 0x00 0x0A 0x00''' (CrLf) is newline
Does not have any breaks.  '''0x0D 0x00 0x0A 0x00''' (CrLf) is newline
|-
|-
| Replaceable Text and Commands? || UTF-16<sup>(LE)</sup>
| Internal References || UTF-16<sup>(LE)</sup>, used by executable
|}
 
{| class="wikitable"
|+ Command/Instruction Behavior?
|-
! Command/Instruction? !! Behavior
|-
| 0x02 0x13 || Clear textbox, reset cursor position to 0
|-
| 0x02 0x29 [arg1]|| Always appears at end of command data?  arg1 is always the sum of lines + internal references, possibly unload?
|-
| 0x03 0x10 [arg1]|| Write line to textbox, arg1 is line number
|-
| 0x03 0x27 [arg1] || Related to tarot card mini-game.  arg1 is boolean, '''0x27 0x00''' = no tarot, '''0x27 0x01''' = tarot, always draws "The Fool"?
|-
| 0x04 [arg1] [arg2] [arg3]|| Load?
|-
| 0x04 0x1D [arg1] [arg2]|| Audio play, arg1 is audio ID, arg2 is probably volume percent (most use 0x64/100%)
|}
|}
*Note:  Commands are DWORDs but have been shorted to single bytes here for simplicity


===Text Table===
===Text Table===

Latest revision as of 18:12, 7 May 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

Internal References UTF-16(LE), used by executable
Command/Instruction Behavior?
Command/Instruction? Behavior
0x02 0x13 Clear textbox, reset cursor position to 0
0x02 0x29 [arg1] Always appears at end of command data? arg1 is always the sum of lines + internal references, possibly unload?
0x03 0x10 [arg1] Write line to textbox, arg1 is line number
0x03 0x27 [arg1] Related to tarot card mini-game. arg1 is boolean, 0x27 0x00 = no tarot, 0x27 0x01 = tarot, always draws "The Fool"?
0x04 [arg1] [arg2] [arg3] Load?
0x04 0x1D [arg1] [arg2] Audio play, arg1 is audio ID, arg2 is probably volume percent (most use 0x64/100%)
  • 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