Difference between revisions of "ID64"

From DISC Wiki
Jump to: navigation, search
(Example)
(Format)
Line 2: Line 2:
  
 
== Format ==
 
== Format ==
The 64-bit integer is effectively a structure, with different parts of the bitfield representing different aspects of the system's features.
+
The ID is effectively a structure, with different parts of the bitfield representing different aspects of the system's features.
  
 
These parts are:
 
These parts are:

Revision as of 16:25, 28 April 2017

This is an ID format used by the game to identify systems and stellar bodies. The ID is represented as a 64-bit integer.

Format

The ID is effectively a structure, with different parts of the bitfield representing different aspects of the system's features.

These parts are:

  • Mass code (3 bits) - the mass code of the system, with a = 0 through to h = 7
  • Z boxel (0-7 bits) - the Z boxel (within-sector) coordinate of the system
  • Z sector (7 bits) - the Z sector coordinate of the system
  • Y boxel (0-7 bits) - the Y boxel (within-sector) coordinate of the system
  • Y sector (6 bits) - the Y sector coordinate of the system
  • X boxel (0-7 bits) - the X boxel (within-sector) coordinate of the system
  • X sector (7 bits) - the X sector coordinate of the system
  • N2 (11-32 bits) - the N2 number (within-boxel identifier) of the system
  • Body ID (9 bits) - the ID of the body within the system; for systems this is always 0 (representing the arrival star)

Note that the X/Y/Z boxel coordinates and the N2 number have variable sizes; this is because the amount of space taken by these pieces of data is different depending on the mass code.

The following image shows the bitfield for each mass code:

ID64.png

Example

Take the system Eol Prou RS-T d3-94.

First up, this system has a mass code of d, which is 3 in the bitfield. Additionally, we can immediately say that the body ID is 0, since this ID64 is just for a system.

ID64 Example1.png

To fill in more, we'll need to identify more about the system and the sector it's in.
The Eol Prou sector has an origin of [-10305, -1305, 19415], or in the internal galaxy coordinate space, [39680, 39680, 43520]. This puts it as sector [31, 31, 34].

ID64 Example2.png

Additionally, we know the system's N2 - it's the last number in the system name, 94.

ID64 Example3.png

We've almost got everything we need - but we still need the X, Y and Z boxel coordinates.
These can be found by interpreting the rest of the system name (Eol Prou RS-T d3-94); this comes out as boxel ID 66057, with coordinates [9, 4, 4].

ID64 Example4.png

We now have a full 64-bit identifier, which in binary is 0000000000000000000000101111000111111001011111010001000100100011, as an integer is 3238296097059, or in hex is 000002F1F97D1123.

Use

The format first became visible with the release of E:D 2.2, as it is used in the VisitedStarsCache data file used to track which stars the player has visited.

It is also used when storing the current active route between game sessions; this is how the stellar body part at the top end of the ID was discovered (since you are able to set a route to planets/stations).