aseborunner.blogg.se

How to edit a ship world file starbound
How to edit a ship world file starbound









how to edit a ship world file starbound
  1. HOW TO EDIT A SHIP WORLD FILE STARBOUND HOW TO
  2. HOW TO EDIT A SHIP WORLD FILE STARBOUND MODS
  3. HOW TO EDIT A SHIP WORLD FILE STARBOUND FREE

In both cases, the least significant bit should not be considered part of the number. If the bit is 1, the number should be considered negative and also have one subtracted from its value (because there is no negative 0). Signed varintĪ signed varint is just a regular varint, except that the least significant bit (the very last bit in the data stream) is used to represent the sign of the number. The purposes of this data type is to allow (common) lower values 0.127 to only use up one byte, 128.16383 two bytes, and so on. The resulting string of bits is the binary representation of the number. As long as the most significant bit is set read the next byte and concatenate its 7 other bits with the 7 bits of the previous bytes. double)Ī variable length (in bytes) integer, also known as VLQ. Map (varint for count, string/dynamic pairs for entries).List (varint for count, dynamic for values).Variable length integer (also known as VLQ).SBON is used in most file formats to represent complex data such as This format is similar to other binary formats for JSON (e.g., BSON). What the Starbound developers call it internally.)

how to edit a ship world file starbound

(I'm calling this "Starbound Binary Object Notation", but don't know The file structure is simply the string "SBVJ01" followed by a single Theĭata structures themselves use a custom binary form of JSON which willīe referred to as "SBON" in this document. Once the index has been parsed into memory, it can be used to seek to Seek to that point in the file and find: Field # The metadata offset points to another location in the file where the The header for SBAsset6 is very straightforward: Field #

HOW TO EDIT A SHIP WORLD FILE STARBOUND MODS

The main asset file ( packed.pak) and mods are of this type.

HOW TO EDIT A SHIP WORLD FILE STARBOUND HOW TO

This section will contain information on how to retrieve a value from aĪ large file that contains an index pointing to many small files within Reclaimed blocks that were no longer in use.

HOW TO EDIT A SHIP WORLD FILE STARBOUND FREE

The free block always starts with the characters FF.įree blocks may be either brand new blocks (after growing the file), or The leaf block always starts with the characters LL. The index block always starts with the characters II. Index should be used for entry instead when scanning for a key. If the alternate root block index flag is true, the alternate root Node may alternate to allow for transactional updates to the index. Since BTreeDB5 databases are meant to be updated on the fly, the root Root node can be either an index block or a leaf block, depending on The root node is the entry point when scanning for a specific key. Which means an offset of header_size + index * block_size. It'sĪ chunk of bytes of a fixed size (defined in the header) which plays aĪ lot of fields in the BTreeDB5 format references blocks by their index The most primitive structure in the BTreeDB5 format is the block. In the BTreeDB4 format there was also a "free node is dirty" boolean The header consists of 512 bytes, representing the following fields: Field # It's used by Starbound to save world and universe data. Starbound uses regular JSON and Lua files for some things, but thisĭocument will only focus on the custom file formats.Ī B-tree database format which enables quick scanning and updating. This document is intended to describe Starbound's various data structures.











How to edit a ship world file starbound