Save Files: Difference between revisions
Clarification of horse name sizes and math |
m Added guard up row to modifier table |
||
| (3 intermediate revisions by the same user not shown) | |||
| Line 103: | Line 103: | ||
In <code>Pack/Bootup.pack//GameData/savedataformat.ssarc///saveformat_*.bgsvdata</code>, the game stores a mapping for each ID to the corresponding entry name. This name is then further defined in one of the files in <code>Pack/Bootup.pack//GameData/gamedata.ssarc//*</code>, depending on its data type. | In <code>Pack/Bootup.pack//GameData/savedataformat.ssarc///saveformat_*.bgsvdata</code>, the game stores a mapping for each ID to the corresponding entry name. This name is then further defined in one of the files in <code>Pack/Bootup.pack//GameData/gamedata.ssarc//*</code>, depending on its data type. | ||
Strings are stored with the maximum possible number of characters (e. | Strings are stored with the maximum possible number of characters (e.g. 256 characters for strings defined in string256_data_0.bgdata) and are broken up into 4-byte parts. These are then stored in sequential chunks with the ID repeating for each chunk. | ||
For arrays the data is also stored in sequential chunks, each with an identical ID. | For arrays, the data is also stored in sequential chunks, each with an identical ID. | ||
Data types for value include: | Horse names (<code>Horse_UserName</code>), for example, will take up (6 names × 16 chunks per name =) 96 chunks with the ID <code>0x7b74e117</code> in the save file. Since horse names are stored as <code>string64_array_data</code>, that's 64 UTF-8 bytes per name. The <code>Horse_UserName</code> array has a maximum size of '''six''' <code>string64</code> names. The array will always occupy (6 names × 16 chunks per name x 4 bytes per chunk =) 384 bytes of string data, alongside 384 bytes of IDs (one 4-byte ID before every 4-byte data chunk), making the entire array '''768 bytes'''. | ||
''Note: even if the horse name has 64 characters in the save file, the name may be truncated when displayed on UI elements.'' | |||
Data types for '''value''' include: | |||
<ul> | <ul> | ||
| Line 172: | Line 176: | ||
|0x80 | |0x80 | ||
|- | |- | ||
| | |GuardUp | ||
|0x100 | |||
|- | |||
|Enhanced Modifer | |||
|0x80000000 | |0x80000000 | ||
|} | |} | ||