Data Types
Max Numbers
- Max number of Unique Package IDs (PackageIdIdx):
1,048,576(20 bits)- Realistically expect 10,000 in very, very large loadouts.
- And 100 in typical loadouts.
- Max number of Unique Package Versions (PackageVerIdx):
1,048,576(20 bits)- Realistically expect 200 in very, very large loadouts.
- Max number of Unique Configs (ConfigIdx):
1,048,576(20 bits) - Max number of Unique External Configs (ExtConfigIdx):
262,144(18 bits)- This is both max number of unique external paths, and unique external data.
- Max number of Events:
4,294,967,295(32 bits) - Max number of Game Versions/Revisions (GameVerIdx):
65,536(16 bits) - Max timestamp. (R3TimeStamp):
4,294,967,295(32 bits).- This is the number of seconds since
1st January 2024. - Max year 2160.
- This is the number of seconds since
PackageStateChange
Represents the change in state of a package in the loadout.
- Size: 3 bits
- Possible values: 0-7
PackageStateChange is defined as:
0:Removed. The package was removed from the loadout.1:Hidden. The package was hidden from the loadout.2:Disabled(Default State). The package was disabled in the loadout.3:Added. The package was added to the loadout.4:Enabled. The package was enabled in the loadout.5:InstalledAsDependency. The package was installed as a dependency.
PackageInstallStateChange
This is a sub-form of PackageStateChange that only includes install states.
- Size: 2 bits
- Possible values: 0-3
0:Removed. The package was removed from the loadout.1:HiddenThe package was hidden from the loadout.2:Added. The package was added to the loadout.3:InstalledAsDependency. The package was installed as a dependency.
PackageEnabledStateChange
This is a sub-form of PackageStateChange that only includes enabled states.
- Size: 1 bits
- Possible values: 0-1
0:Disabled(Default State). The package was disabled in the loadout.1:Enabled. The package was enabled in the loadout.
PackageState
Represents the current state of a package in the loadout.
- Size: 32 bits
PackageState is defined as a bit-packed flag enum:
0x01:Hidden. The package is hidden from view in the loadout.0x02:Enabled. The package is disabled in the loadout.0x04:InstalledAsDependency. The package is installed as a dependency.
Multiple flags can be combined to represent different states. For example:
0x00: The package is visible and disabled.0x01: The package is hidden and disabled.0x02: The package is visible and enabled.0x03: The package is hidden and enabled.
The absence of the Enabled flag implies that the package is disabled.
SortingMode
Represents the sorting mode for packages in the LoadoutGrid.
- Size: 7 bits
- Possible values: 0-127
SortingMode is defined as:
0: Unchanged1:Static. The order of mods is fixed and does not change between reboots.2:Release Date Ascending. Show from oldest to newest.3:Release Date Descending. Show from newest to oldest.4:Install Date Ascending. Show from oldest to newest.5:Install Date Descending. Show from newest to oldest.6:Alphabetical Ascending. Sort alphabetically from A to Z.7:Alphabetical Descending. Sort alphabetically from Z to A.
SortOrder
Represents the sort order for the load order reorderer.
- Size: 2 bits
- Possible values: 0-3
SortOrder is defined as:
0: Unchanged1:BottomToTop(Default). Mods at bottom load first, mods at top load last and 'win'.2:TopToBottom. Sort in ascending order.
GridDisplayMode
Represents the display mode for the LoadoutGrid.
- Size: 4 bits
- Possible values: 0-15
GridDisplayMode is defined as:
0: Unchanged1: List (Compact)2: List3: Grid (Search)
The actual sizes of these images is stated in mod metadata.
StoreType
Represents the store or location from which a game has shipped from.
- Size: 8 bits
- Possible values: 0-255
- 0:
Unknown(Disk) - 1:
GOG - 2:
Steam - 3:
Epic - 4:
Microsoft
This can also include game launchers.