BIN (2007): Difference between revisions
No edit summary |
No edit summary |
||
Line 24: | Line 24: | ||
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.</blockquote> | 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.</blockquote> | ||
=== 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"; | |||
[[Category:File Formats]] | [[Category:File Formats]] |
Revision as of 06:59, 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
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";