BIN (2007): Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 25: | Line 25: | ||
|0x10 | |0x10 | ||
| | | | ||
|Start of | |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 | ||
| | |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 | ! colspan="3" |After Parameter declaration chunk | ||
|- | |- | ||
|0x10 + n*0x40 | |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) | |||
|} | |} | ||
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: | ** Byte value: : Strings, separated with 0x00; | ||
* ''''String_tbl'''', | * '''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; | ||
* ''''String_idx'''', | * '''0x02''' - ''''String_idx'''', | ||
** | ** Strings, 2 bytes for ID it's used from, then the value and 0x00; | ||
* ''''Value'''', | * '''0x03''' - ''''Value'''', | ||
** | ** Integers as text like ''''String''''; | ||
* ''''Value_tbl'''', | * '''0x04''' - ''''Value_tbl'''', | ||
** | ** Integers as text. Same as ''''String_tbl'''' - table after 0x00; | ||
* ''''Value_idx'''', | * '''0x05''' - ''''Value_idx'''', | ||
** | ** Integers as text. Same as ''''String_idx''''; | ||
* ''''Special_scenariocategory'''', | * '''0x06''' - ''''Special_scenariocategory'''', | ||
** | ** 4 byte hex values, not separated, 0xFFFFFFFF is "empty"; | ||
* ''''Special_scenariostatus'''', | * '''0x07''' - '<nowiki/>'''Special_scenariostatus' ('''sometimes '''<nowiki/>'Special_scenariocompare''''), | ||
** | ** 4 Byte hex values, separated by 0xFFFFFFFF; | ||
* ''''Stageid'''', | * '''0x08''' - ''''Stageid'''', | ||
** | ** Strings, separated with 0x00; | ||
* ''''Special_scenariocompare'''', | * '''0x09''' - ''''Special_scenariocompare'''', | ||
** | **4 byte hex values, not separated, 0xFFFFFFFF is "empty"; | ||
* ''''Special_value'''', | * '''0x0A''' - ''''Special_value'''', | ||
** | ** 4 byte int values, go one after another; | ||
* ''''Itemid'''', | * '''0x0B''' - ''''Itemid'''', | ||
** | ** 4 byte int values, go one after another; | ||
* ''''Comment'''', | * '''0x0C''' - ''''Comment'''', | ||
** | ** Never encountered in game files, so not implemented; | ||
* ''''BGM_ID'''', | * '''0x0D''' - ''''BGM_ID'''', | ||
** | ** 4 byte values, not separated, 0xFFFFFFFF is "empty"; | ||
* ''''Unknown'''', | * '''0x0E''' - ''''Unknown'''', | ||
** | **Never encountered in game files, so not implemented; | ||
* ''''USE_COUNTER'''', | * '''0x0F''' - ''''USE_COUNTER'''', | ||
** | ** 4 byte int values, go one after another; | ||
* ''''ENTITY_UID'''' | * '''0x10''' - ''''ENTITY_UID'''' | ||
** | ** 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 | 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";