BIN (2007): Difference between revisions

From Ryu Ga Gotoku Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 25: Line 25:
|0x10
|0x10
|
|
|Start of parameter chunk (size = parameter count (n) * 0x40)
|Start of Parameter chunk ''(size = parameter count (n) * 0x40)''
|-
|-
! colspan="3" |For every parameter declaration in Parameter chunk
! colspan="3" |For every parameter declaration in Parameter chunk
Line 34: Line 34:
|-
|-
|0x30
|0x30
|String
|int32
|Parameter type ''(see the list for reference)''
|Parameter type ''(see the list for reference)''
|-
|-
Line 45: Line 45:
|Size in bytes this parameter chunk uses up
|Size in bytes this parameter chunk uses up
|-
|-
! colspan="3" |After parameter declaration chunk
! colspan="3" |After Parameter declaration chunk
|-
|-
|0x10 + n*0x40
|0x10 + n*0x40
!Varies
!'''Values chunk'''
|Values chunk, described in details under the table
|For every parameter, in same order as declaration, lists every value for every entry,
according to the type formatting (see below)
|}
|}




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
For every parameter, in same order as declaration, lists every value for every entry, according to the type formatting.
entries) that sets IDs of lines that appear in every entry.
 
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 of values: ===
=== Types of values: ===
* ''''String'''',  
* '''0x00''' - ''''String'''',  
** Byte value: 00: Strings, separated with 0x00;
** Byte value: : Strings, separated with 0x00;
* ''''String_tbl'''',
* '''0x01''' - ''''String_tbl'''',
**Byte value: 01: Strings, separated with 0x00 with table after last 0x00;
**Strings, separated with 0x00 with the table after last 0x00 - row of bytes (same amount as entries) that sets IDs of lines that appear in every entry;
*    ''''String_idx'''',
*    '''0x02''' - ''''String_idx'''',
** Byte value: 02: Strings, 2 bytes for ID it's used from, then the value and 0x00;
** Strings, 2 bytes for ID it's used from, then the value and 0x00;
*    ''''Value'''',
*    '''0x03''' - ''''Value'''',
** Byte value: 03: Integers as text like 00;
** Integers as text like ''''String'''';
*    ''''Value_tbl'''',
*    '''0x04''' - ''''Value_tbl'''',
** Byte value: 04:  Integers as text. Same as 01 - table after 0x00;
** Integers as text. Same as ''''String_tbl'''' - table after 0x00;
*    ''''Value_idx'''',
*    '''0x05''' - ''''Value_idx'''',
** Byte value: 05:  Integers as text. Same as 02;
** Integers as text. Same as ''''String_idx'''';
*    ''''Special_scenariocategory'''',
*    '''0x06''' - ''''Special_scenariocategory'''',
** Byte value: 06:  4 byte hex values, not separated, 0xFFFFFFFF is "empty";  
** 4 byte hex values, not separated, 0xFFFFFFFF is "empty";
*    ''''Special_scenariostatus'''',
*    '''0x07''' - '<nowiki/>'''Special_scenariostatus' ('''sometimes '''<nowiki/>'Special_scenariocompare''''),
** Byte value: 07: or sometimes special_scenariocompare; 4 Byte hex values, separated by 0xFFFFFFFF;
** 4 Byte hex values, separated by 0xFFFFFFFF;
*    ''''Stageid'''',
*    '''0x08''' - ''''Stageid'''',
** Byte value: 08: Strings, separated with 0x00;  
** Strings, separated with 0x00;
*    ''''Special_scenariocompare'''',
*    '''0x09''' - ''''Special_scenariocompare'''',
**Byte value: 09: 4 byte hex values, not separated, 0xFFFFFFFF is "empty";
**4 byte hex values, not separated, 0xFFFFFFFF is "empty";
*    ''''Special_value'''',
*    '''0x0A''' - ''''Special_value'''',
** Byte value: 0A: 4 byte int values, go one after another;  
** 4 byte int values, go one after another;
*    ''''Itemid'''',
*    '''0x0B''' - ''''Itemid'''',
** Byte value: 0B: 4 byte int values, go one after another;
** 4 byte int values, go one after another;
*    ''''Comment'''',
*    '''0x0C''' - ''''Comment'''',
** Byte value: 0C: Never encountered in game files, so not implemented;  
** Never encountered in game files, so not implemented;
*    ''''BGM_ID'''',
*    '''0x0D''' - ''''BGM_ID'''',
** Byte value: 0D: 4 byte values, not separated, 0xFFFFFFFF is "empty";
** 4 byte values, not separated, 0xFFFFFFFF is "empty";
*    ''''Unknown'''',
*    '''0x0E''' - ''''Unknown'''',
**Byte value: 0E: Never encountered in game files, so not implemented;  
**Never encountered in game files, so not implemented;
*    ''''USE_COUNTER'''',
*    '''0x0F''' - ''''USE_COUNTER'''',
** Byte value: 0F: 4 byte int values, go one after another;  
** 4 byte int values, go one after another;
*    ''''ENTITY_UID''''
*    '''0x10''' - ''''ENTITY_UID''''
** Byte value: 10: 4 byte values, not separated, 0xFFFFFFFF is "empty";
** 4 byte values, not separated, 0xFFFFFFFF is "empty";


[[Category:File Formats]]
[[Category:File Formats]]

Revision as of 15:05, 14 December 2022

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

Offset Table
Offset Type Description
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 chunk (size = parameter count (n) * 0x40)
For every parameter declaration in Parameter chunk
0x00 String Name of the parameter
0x30 int32 Parameter type (see the list for reference)
0x34 int32 Amount of strings or other entries in the parameter if it fits the type
0x38 int32 Size in bytes this parameter chunk uses up
After Parameter declaration chunk
0x10 + n*0x40 Values chunk For every parameter, in same order as declaration, lists every value for every entry,

according to the type formatting (see below)


For every parameter, in same order as declaration, 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 of values:

  • 0x00 - 'String',
    • Byte value: : Strings, separated with 0x00;
  • 0x01 - 'String_tbl',
    • Strings, separated with 0x00 with the table after last 0x00 - row of bytes (same amount as entries) that sets IDs of lines that appear in every entry;
  • 0x02 - 'String_idx',
    • Strings, 2 bytes for ID it's used from, then the value and 0x00;
  • 0x03 - 'Value',
    • Integers as text like 'String';
  • 0x04 - 'Value_tbl',
    • Integers as text. Same as 'String_tbl' - table after 0x00;
  • 0x05 - 'Value_idx',
    • Integers as text. Same as 'String_idx';
  • 0x06 - 'Special_scenariocategory',
    • 4 byte hex values, not separated, 0xFFFFFFFF is "empty";
  • 0x07 - 'Special_scenariostatus' (sometimes 'Special_scenariocompare'),
    • 4 Byte hex values, separated by 0xFFFFFFFF;
  • 0x08 - 'Stageid',
    • Strings, separated with 0x00;
  • 0x09 - 'Special_scenariocompare',
    • 4 byte hex values, not separated, 0xFFFFFFFF is "empty";
  • 0x0A - 'Special_value',
    • 4 byte int values, go one after another;
  • 0x0B - 'Itemid',
    • 4 byte int values, go one after another;
  • 0x0C - 'Comment',
    • Never encountered in game files, so not implemented;
  • 0x0D - 'BGM_ID',
    • 4 byte values, not separated, 0xFFFFFFFF is "empty";
  • 0x0E - 'Unknown',
    • Never encountered in game files, so not implemented;
  • 0x0F - 'USE_COUNTER',
    • 4 byte int values, go one after another;
  • 0x10 - 'ENTITY_UID'
    • 4 byte values, not separated, 0xFFFFFFFF is "empty";