BIN (2007)

From Ryu Ga Gotoku Wiki
Revision as of 06:59, 14 December 2022 by Slow (talk | contribs)
Jump to navigation Jump to search

20070319 .bin format was created on 19th March 2007 by Ryu Ga Gotoku Studio for the first PS3 game in the series - Ryu ga Gotoku: Kenzan! and the date 2007.03.19 is used in header to differentiate these .bin files from others.

Overview

This file is used for storing parameters and strings in pre-Dragon Engine games .

Technical Information

0x00 - 4 bytes - Magic (0x20, 0x07, 0x03, 0x19)

0x04 - int32 - Amount of parameters for every entry

0x08 - int32 - Amount of entries in the file

0x10 - start of parameter declaration chunk (size = parameter count * 0x40) For every parameter declaration:

0x00 - Name of the parameter

0x30 - Parameter type (see list later)

0x34 - Amount of strings or other entries in the parameter if it fits the type

0x38 - Size in bytes this parameter chunk uses up 

0x10 + parameter count * 0x40 (After parameter declaration) - Values chunk

For every parameter, in same order as declaration, file lists every value for every entry, according to the type formatting. If there is a “table after last 0x00”, it means there’s a row of bytes (same amount as entries) that sets IDs of lines that appear in every entry.

Types:

  • 'String',
    • Byte value: 00: Strings, separated with 0x00;
  • 'String_tbl',
    • Byte value: 01: Strings, separated with 0x00 with table after last 0x00;
  • 'String_idx',
    • Byte value: 02: Strings, 2 bytes for ID it's used from, then the value and 0x00;
  • 'Value',
    • Byte value: 03: Integers as text like 00;
  • 'Value_tbl',
    • Byte value: 04: Integers as text. Same as 01 - table after 0x00;
  • 'Value_idx',
    • Byte value: 05: Integers as text. Same as 02;
  • 'Special_scenariocategory',
    • Byte value: 06: 4 byte hex values, not separated, 0xFFFFFFFF is "empty";
  • 'Special_scenariostatus',
    • Byte value: 07: or sometimes special_scenariocompare; 4 Byte hex values, separated by 0xFFFFFFFF;
  • 'Stageid',
    • Byte value: 08: Strings, separated with 0x00;
  • 'Special_scenariocompare',
    • Byte value: 09: 4 byte hex values, not separated, 0xFFFFFFFF is "empty";
  • 'Special_value',
    • Byte value: 0A: 4 byte int values, go one after another;
  • 'Itemid',
    • Byte value: 0B: 4 byte int values, go one after another;
  • 'Comment',
    • Byte value: 0C: Never encountered in game files, so not implemented;
  • 'BGM_ID',
    • Byte value: 0D: 4 byte values, not separated, 0xFFFFFFFF is "empty";
  • 'Unknown',
    • Byte value: 0E: Never encountered in game files, so not implemented;
  • 'USE_COUNTER',
    • Byte value: 0F: 4 byte int values, go one after another;
  • 'ENTITY_UID'
    • Byte value: 10: 4 byte values, not separated, 0xFFFFFFFF is "empty";