mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-03-07 20:31:51 +09:00
Former-commit-id: 8c662c7cb637ae4565e95e661b0e627d9bfd7e5a Former-commit-id: 4a5279b47f7c8f4fadb62ee6843b3848f803f433
57 lines
2.1 KiB
Markdown
57 lines
2.1 KiB
Markdown
## Format ##
|
|
|
|
* Save meta
|
|
- GZip'd binary (for more security)
|
|
- Filename : world (with no extension)
|
|
|
|
|Type |Mnemonic |Description |
|
|
|------------|------------|---------------------------------------|
|
|
|Byte[4] |TESV |Magic |
|
|
|Byte[n] |name |Savegame name, UTF-8 |
|
|
|Byte |NULL |String terminator |
|
|
|Byte[8] |terraseed |Terrain seed |
|
|
|Byte[8] |rogueseed |Randomiser seed |
|
|
|Byte[32] |hash1 |SHA-256 hash of worldinfo1 being stored (when not zipped)|
|
|
|Byte[32] |hash2 |SHA-256 hash of worldinfo2 being stored (when not zipped)|
|
|
|Byte[32] |hash3 |SHA-256 hash of worldinfo3 being stored (when not zipped)|
|
|
|Byte[32] |hash4 |SHA-256 hash of worldinfo4 being stored (when not zipped)|
|
|
|
|
Endianness: Big
|
|
|
|
* Actor/Faction data
|
|
- GZip'd GSON
|
|
- Filename : (refid) (with no extension)
|
|
|
|
|
|
* Prop data
|
|
- GZip'd CSV
|
|
- Filename : (with no extension)
|
|
worldinfo2 -- tileprop
|
|
worldinfo3 -- itemprop
|
|
worldinfo4 -- materialprop
|
|
|
|
|
|
* Human-readable
|
|
- Tiles_list.txt -- list of tiles in csv
|
|
- Items_list.txt -- list of items in csv
|
|
- Materials_list.txt -- list of materials in csv
|
|
|
|
|
|
|
|
## How it works ##
|
|
* If hash discrepancy has detected, (hash of csv in save dir != stored hash || hash of TEMD != stored hash), printout "Save file corrupted. Continue?" with prompt "Yes/No"
|
|
|
|
Directory:
|
|
|
|
+--- <save1>
|
|
--- 2a93bc5fd...f823 Actor/DynamicItem/Faction/etc. data (JSON)
|
|
--- 423bdc838...93bd Actor/DynamicItem/Faction/etc. data (JSON)
|
|
--- Items_list.txt Human-readable
|
|
--- Materials_list.txt Human-readable
|
|
--- Tiles_list.txt Human-readable
|
|
--- world save meta (binary, GZip)
|
|
--- worldinfo1 TEMD (binary, GZip)
|
|
--- worldinfo2 tileprop (GZip)
|
|
--- worldinfo3 itemprop (GZip)
|
|
--- worldinfo4 materialprop (GZip)
|