Dies ist eine alte Version des Dokuments!
Type 3: Savegame
File Structure
- Format Type: Data
- Endian Order: Little Endian
- Standalone: Yes
FILE
| Header | |||
|---|---|---|---|
| CHAR8 | 0x8 | Identifier | „ubi/b-0l“ |
| INT+32 | 0x1 | Internal file type | 0x3 |
| INT+32 | 0x1 | Savegame title length | = aa |
| CHAR16 | [aa] | Savegame title | |
| TIMESTAMP* | 0x1 | Time of creation | |
| INT+32 | 0x1 | Thumbnail image size | = ab |
| JFIF* | 0x1 | Thumbnail image | [ab] represents byte-size |
| Position data | |||
| INT+32 | 0x1 | Current world ID | |
| INT+32 | 0x1 | Current zone ID | |
| INT+32 | 0x1 | Current node ID | |
| INT+32 | 0x1 | Reserved | 0x0 |
| … | |||
| State data | |||
| INT+32 | 0x1 | Overall size of state data | |
| INT+32 | 0x1 | Reserved | 0x0 |
| INT+32 | 0x1 | Classes count | = ba |
| CLASS* | [ba] | Class information | |
| Zip data | |||
| INT+32 | 0x1 | World count | = ca |
| WZIP* | [ca] | World zip data | |
| INT+32 | 0x1 | ? | |
| INT+32 | 0x1 | Reserved | 0x0 |
| Necklace data | |||
| INT+32 | 0x1 | Necklace information count | = da |
| NECKLACE* | [da] | Necklace information | |
| Journal data | |||
| JOURNAL* | 0x3e7 | Journal information | |
| Tailer | |||
| INT+32 | 0x1 | Checksum | |
User-defined structures
CLASS*
| Class | |||
|---|---|---|---|
| INT+32 | 0x1 | Class name length | = ea |
| CHAR8 | [ea] | Class name | |
| INT+32 | 0x1 | Variables count | = eb |
| VAR* | [eb] | Variable information | |
| INT+32 | 0x1 | Reserved | 0x0 |
NECKLACE*
| Necklace | |||
|---|---|---|---|
| INT+32 | 0x1 | World ID | |
| INT+32 | 0x1 | Zone ID | |
| INT+32 | 0x1 | Node ID | |
JOURNAL*
| Journal | |||
|---|---|---|---|
| INT+32 | 0x1 | Journal text length | = ha |
| CHAR16 | [ha] | Jorunal text | |
| INT+8 | 0x1 | Jorunal image existence | = hb |
| if (hb == 0x1) { | |||
| INT+32 | 0x1 | Journal image size | = hc |
| JFIF* | 0x1 | Journal image | [hc] represents byte-size |
| } | |||
| INT+8 | 0x1 | Next journal page existence | |
NZIP*
| NZip | |||
|---|---|---|---|
| INT+32 | 0x1 | Zone ID | |
| INT+32 | 0x1 | Node ID | |
| INT+32 | 0x1 | Usage Count | |
| INT+32 | 0x1 | ? | |
TIMESTAMP*
| Timestamp | |||
|---|---|---|---|
| INT+32 | 0x1 | Day | |
| INT+32 | 0x1 | DST | |
| INT+32 | 0x1 | Hour | |
| INT+32 | 0x1 | Milliseconds | |
| INT+32 | 0x1 | Minute | |
| INT+32 | 0x1 | Month | |
| INT+32 | 0x1 | Second | |
| INT+32 | 0x1 | Year | |
VAR*
| Var | |||
|---|---|---|---|
| INT+32 | 0x1 | Variable name length | = fa |
| CHAR8 | [fa] | Variable name | |
| INT+8 | 0x1 | Variable type | = fb |
| if (fb == 1) { | |||
| INT+8 | 0x1 | Variable value | |
| } else if (fb == 3) { | |||
| INT+32 | 0x1 | Variable value | |
| } else if (fb == 4) { | |||
| INT8 | 0x1 | Variable value | |
| } else if (fb == 6) { | |||
| INT32 | 0x1 | Variable value | |
| } else if (fb == 7) { | |||
| FLOAT32 | 0x1 | Variable value | |
| } else if (fb == 9) { | |||
| INT+8 | 0x1 | Variable value | 0x0 or 0x1 |
| } else if (fb == 11) { | |||
| MISC96 | 0x1 | Variable value | |
| } else if (fb == 13) { | |||
| INT+32 | 0x1 | Variable value length | = fc |
| CHAR8 | [fc] | Variable value | |
| } | |||
WZIP*
| WZip | |||
|---|---|---|---|
| INT+32 | 0x1 | World ID | |
| INT+32 | 0x1 | Node Count | = ga |
| NZIP* | [ga] | Node zip data | |
Level 3 Überschrift
World IDs
| ID | World name |
|---|---|
| 1 | Tomahna (with power) |
| 2 | Haven |
| 3 | Spire |
| 4 | Serenia |
| 5 | Tomahna (without power) |
| 6 | Menu |
Classes and variables in "state area"
| 3guides_puzzle | ||
|---|---|---|
| 3guidesPuzzle_won | 9 | |
| FireGuidePosition | 4 | |
| HandlingParticle_node | 1 | |
| HandlingParticle_node_max | 1 | |
| HandlingParticle_time | 1 | |
| HandlingParticle_time_max | 1 | |
| HandlingParticle_type | 4 | |
| WaterGuidePosition | 4 | |
| WindGuidePosition | 4 | |
| gamerType_type | 4 | |
| remark: 50 variables missing? | ||
| DataRate | ||
| critical | 3 | |
| high | 3 | |
| FrameRate | ||
| critical | 7 | |
| low | 7 | |
| VideoTotalResolution | ||
| critical | 3 | |
| high | 3 | |
| achenar_general | ||
| final_joyride_done | 9 | |
| firstTime_w2_z01_n150 | 9 | |
| firstTime_w2_z02_n030 | 9 | |
| firstTime_w2_z02_n140 | 9 | |
| firstTime_w2_z04_n030 | 9 | |
| firstTime_w2_z04_n040 | 9 | |
| firstTime_w2_z04_n050 | 9 | |
| firstTime_w2_z04_n140 | 9 | |
| firstTime_w2_z05_n090 | 9 | |
| firstTime_w2_z05_n120 | 9 | |
| firstTime_w2_z05_n140 | 9 | |
| firstTime_w2_z05_n150 | 9 | |
| firstTime_w2_z12_n060 | 9 | |
| firstTime_w2_z12_n100 | 9 | |
| firstTime_w2_z12_n120 | 9 | |
| firstTime_w2_z12_n130 | 9 | |
| firstTime_w2_z12_n190 | 9 | |
| linking_chamber_mailbox_open | 9 | |
| linking_chamber_podium_up | 9 | |
| linking_chamber_wall_broken | 9 | |
| parasail_joyride_done | 9 | |
| roche_pushed | 9 | |
| shipwreck_piege_ouvert | 9 | |
| supply_depot_plan_open | 9 | |
| w2_z01_poison_active | 9 | |
| w2_z01_scav1 | 3 | |
| w2_z01_scav2 | 3 | |
| w2_z01_scav3 | 3 | |
| w2_z02_n070_crab_state | 3 | |
| w2_z03_n050_plantepushed | 9 | |
| w2_z06_n090_toileopened | 9 | |
| w2_z06_n171_carnetopened | 9 | |
| w2_z06_scav02_down | 3 | |
| zip_helper_w2_z01_n010 | 9 | |
| amulet | ||
| is_found | 9 | |