imported>76561198054818918 (Continuing additions to GameHistoryData) |
imported>76561198054818918 (Added up through CargoTraffic) |
||
Line 7: | Line 7: | ||
{ | { | ||
"VFSAVE" | "VFSAVE" | ||
int64_t fileStreamLength | |||
int32_t saveFileFormatNumber = 4 | |||
int32_t majorGameVersion | |||
int32_t minorGameVersion | |||
int32_t releaseGameVersion | |||
int64_t gameTick | |||
int64_t nowTicks | |||
int32_t sizeOfPngFile | |||
uint8_t | uint8_t screenShotPngFile[sizeOfPngFile] | ||
GameData | GameData | ||
} | } | ||
Line 21: | Line 21: | ||
GameData | GameData | ||
{ | { | ||
int32_t version = 2 | |||
string gameName | string gameName | ||
GameDesc | GameDesc gameDesc | ||
int64_t gameTick | |||
GamePrefsData (version >= 1) | GamePrefsData preferences (version >= 1) | ||
GameHistoryData | GameHistoryData | ||
uint8_t bool hidePlayerModel (version >= 2) | uint8_t bool hidePlayerModel (version >= 2) | ||
uint8_t bool disableController (version >= 2) | uint8_t bool disableController (version >= 2) | ||
GameStatData | GameStatData statistics | ||
int32_t planetId | |||
Player mainPlayer | |||
int32_t factoryCount | |||
GalacticTransport | |||
PlanetFactory[factoryCount] | |||
int32_t galaxyStarCount: Must equal GameDesc::starCount or the game will crash. | |||
int32_t numDysonSpheres | |||
[numDysonSpheres] { | |||
int32_t dysonSphereDataIsAvailableFlag: Must be 0 or 1 or the game will crash. | |||
DysonSphere (dysonSphereDataIsAvailableFlag == 1) | |||
} | |||
} | } | ||
GameDesc | GameDesc | ||
{ | { | ||
int32_t version = 2 | |||
int32_t galaxyAlgo | |||
int32_t galaxySeed | |||
int32_t starCount | |||
int32_t playerProto | |||
float resourceMultiplier (version >= 2) | |||
int32_t numThemeIds (version >= 1) | |||
int32_t themeIds[numThemeIds] (version >= 1) | |||
} | } | ||
GamePrefsData | GamePrefsData | ||
{ | { | ||
int32_t version = 2 | |||
double cameraUPosX | double cameraUPosX | ||
double cameraUPosY | double cameraUPosY | ||
double cameraUPosZ | double cameraUPosZ | ||
float cameraURotX | |||
float cameraURotY | |||
float cameraURotZ | |||
float cameraURotW | |||
int32_t reformCursorSize (version >= 1) | |||
int32_t numReplicatorMultipliers (version >= 1) | |||
replicatorMultipliers[numReplicatorMultipliers] (version >= 1) { | replicatorMultipliers[numReplicatorMultipliers] (version >= 1) { | ||
int32_t key | |||
int32_t value | |||
} | } | ||
float bool detailPower | |||
float bool detailVein | |||
float bool detailSpaceGuide | |||
float bool detailSign | |||
float bool detailIcon | |||
int32_t numTutorialShowing (version >= 2) | |||
int32_t tutorialShowing[numTutorialShowing] (version >= 2) | |||
} | } | ||
GameHistoryData | GameHistoryData | ||
{ | { | ||
int32_t version = 2 | |||
int32_t numRecipeUnlocked | |||
int32_t recipeUnlocked[numRecipeUnlocked] | |||
int32_t numTutorialUnlocked (version >= 2) | |||
int32_t tutorialUnlocked[numTutorialUnlocked] (version >= 2) | |||
int32_t numFeatureKeys | |||
int32_t featureKeys[numFeatureKeys] | |||
int32_t numTechState | |||
[numTechState] { | [numTechState] { | ||
int32_t techProtoIndex | |||
uint8_t bool TechState_unlocked | uint8_t bool TechState_unlocked | ||
int32_t TechState_curLevel | |||
int32_t TechState_maxLevel | |||
int64_t TechState_hashUploaded | |||
int64_t TechState_hashNeeded | |||
} | } | ||
uint8_t bool autoManageLabItems | uint8_t bool autoManageLabItems | ||
int32_t currentTech | |||
int32_t numTechQueue (version >= 1) | |||
int32_t techQueue_TechStateKey[numTechQueue] | |||
int32_t universeObserveLevel | |||
float solarSailLife | |||
float solarEnergyLossRate | |||
uint8_t bool useIonLayer | |||
int32_t inserterStackCount | |||
float logisticDroneSpeed | |||
float logisticDroneSpeedScale | |||
int32_t logisticDroneCarries | |||
float logisticShipSailSpeed | |||
float logisticShipWarpSpeed | |||
float logisticShipSpeedScale | |||
float bool logisticShipWarpDrive | |||
int32_t logisticShipCarries | |||
float miningCostRate | |||
float miningSpeedScale | |||
int32_t storageLevel | |||
int32_t labLevel | |||
int32_t techSpeed | |||
float dysonNodeLatitude | |||
int64_t universeMatrixPointUploaded | |||
float bool missionAccomplished | |||
} | } | ||
GameStatData | GameStatData | ||
{ | |||
int32_t version = 0 | |||
int32_t numTechHashedHistory | |||
int32_t techHashedHistory[numTechHashedHistory] | |||
ProductionStatistics | |||
} | |||
ProductionStatistics | |||
{ | |||
int32_t version = 0 | |||
int32_t numFactoryStatPool | |||
FactoryProductionStat factoryStatPool[numFactoryStatPool] | |||
int32_t numFirstCreateIds | |||
int32_t firstCreateIds[numFirstCreateIds] | |||
int32_t numFavoriteIds | |||
int32_t favoriteIds[numFavoriteIds] | |||
} | |||
FactoryProductionStat | |||
{ | |||
int32_t version = 1 | |||
int32_t productCapacity | |||
int32_t productCursor | |||
ProductStat productPool[productCursor] | |||
int32_t numPowerPool, max 5 | |||
PowerStat powerPool[numPowerPool] | |||
int32_t numProductIndices | |||
int32_t productIndices[numProductIndices] | |||
int64_t energyConsumption (version >= 1) | |||
} | |||
ProductStat | |||
{ | |||
int32_t version = 0 | |||
int32_t numCount: Saved as 7200. Reads more or less, but only stores up to 7200, and enforces abs. | |||
int32_t count[numCount] | |||
int32_t numCursor: Saved as 12. Reads more or less, but only stores up to 12. | |||
int32_t cursor[numCount] | |||
int32_t numTotal: Saved as 14. Reads more or less, but only stores up to 14, and enforces abs. | |||
int32_t total[numCount] | |||
int32_t itemId | |||
} | |||
PowerStat | |||
{ | |||
int32_t version = 0 | |||
int32_t numEnergy: Saved as 3600. Reads more or less, but only stores up to 3600, and enforces abs. | |||
int64_t energy[numCount] | |||
int32_t numCursor: Saved as 6. Reads more or less, but only stores up to 6. | |||
int32_t cursor[numCount] | |||
int32_t numTotal: Saved as 7. Reads more or less, but only stores up to 7, and enforces abs. | |||
int64_t total[numCount] | |||
int32_t itemId | |||
} | |||
Player | |||
{ | |||
int32_t version = 1 | |||
int32_t planetId: Ignored on read | |||
float position_x | |||
float position_y | |||
float position_z | |||
float uPosition_x | |||
float uPosition_y | |||
float uPosition_z | |||
float uRotation_x | |||
float uRotation_y | |||
float uRotation_z | |||
float uRotation_w | |||
int32_t EMovementState movementState (Walk, Drift, Fly, Sail) | |||
float warpState | |||
uint8_t bool warpCommand | |||
double uVelocity_x | |||
double uVelocity_y | |||
double uVelocity_z | |||
int32_t inhandItemId | |||
int32_t inhandItemCount | |||
Mecha | |||
StorageComponent package[10] | |||
PlayerNavigation | |||
int32_t sandCount | |||
} | |||
Mecha | |||
{ | |||
int32_t version = 0 | |||
double coreEnergyCap | |||
double coreEnergy | |||
double corePowerGen | |||
double reactorPowerGen | |||
double reactorEnergy | |||
int32_t reactorItemId | |||
StorageComponent reactorStorage[4] | |||
StorageComponent warpStorage | |||
double walkPower | |||
double jumpEnergy | |||
double thrustPowerPerAcc | |||
double warpKeepingPowerPerSpeed | |||
double warpStartPowerPerSpeed | |||
double miningPower | |||
double replicatePower | |||
double researchPower | |||
double droneEjectEnergy | |||
double droneEnergyPerMeter | |||
int32_t coreLevel | |||
int32_t thrusterLevel | |||
float miningSpeed | |||
float replicateSpeed | |||
float walkSpeed | |||
float jumpSpeed | |||
float maxSailSpeed | |||
float maxWarpSpeed | |||
float buildArea | |||
MechaForge | |||
MechaLab | |||
int32_t droneCount | |||
float droneSpeed | |||
int32_t droneMovement | |||
MechaDrone[droneCount] | |||
} | |||
StorageComponent | |||
{ | |||
int32_t version = 1 | |||
int32_t id | |||
int32_t entityId | |||
int32_t previous (version >= 1) | |||
int32_t next (version >= 1) | |||
int32_t bottom (version >= 1) | |||
int32_t top (version >= 1) | |||
int32_t EStorageType type (0:Default 1:Fuel 9:Filtered) | |||
int32_t gridSize | |||
int32_t bans (version >= 1) | |||
grids[gridSize] { | |||
int32_t itemId | |||
int32_t filter | |||
int32_t count | |||
int32_t stackSize | |||
} | |||
} | |||
PlayerNavigation | |||
{ | |||
int32_t version = 0 | |||
uint8_t bool navigating | |||
int32_t naviAstroId | |||
double naviTarget_x | |||
double naviTarget_y | |||
double naviTarget_z | |||
uint8_t bool useFly | |||
uint8_t bool useSail | |||
uint8_t bool useWarp | |||
int32_t ENaviStage stage (None, Departure, OriginOrbit, AccOrbit, Space, DestOrbit, Approaching) | |||
double flyThreshold | |||
double sailThreshold | |||
double warpThreshold | |||
double maxSailSpeed | |||
} | |||
GalacticTransport | |||
{ | |||
int32_t version = 0 | |||
} | |||
PlanetFactory | |||
{ | |||
int32_t version = 1 | |||
int32_t planetId | |||
PlanetData | |||
int32_t entityCapacity | |||
int32_t entityCursor | |||
int32_t entityRecycleCursor | |||
EntityData entityPool[entityCursor - 1] | |||
entityAnimPool[entityCursor - 1] { | |||
float time | |||
float prepare_length | |||
float working_length | |||
uint32_t state | |||
float power | |||
} | |||
entitySignPool[entityCursor - 1] { | |||
uint32_t signType | |||
uint32_t iconType | |||
uint32_t iconId0 | |||
uint32_t iconId1 | |||
uint32_t iconId2 | |||
uint32_t iconId3 | |||
float count0 | |||
float count1 | |||
float count2 | |||
float count3 | |||
float x | |||
float y | |||
float z | |||
float w | |||
} | |||
int32_t entityConnPool[entityCursor * 16 - 16] | |||
int32_t entityRecycle[entityRecycleCursor] | |||
int32_t prebuildCapacity | |||
int32_t prebuildCursor | |||
int32_t prebuildRecycleCursor | |||
PrebuildData prebuildPool[prebuildCursor - ] | |||
int32_t prebuildConnPool[prebuildCursor * 16 - 16] | |||
int32_t prebuildRecycle[prebuildRecycleCursor] | |||
int32_t vegeCapacity | |||
int32_t vegeCursor | |||
int32_t vegeRecycleCursor | |||
VegeData vegePool[vegeCursor - 1] | |||
int32_t vegeRecycle[vegeRecycleCursor] | |||
int32_t veinCapacity | |||
int32_t veinCursor | |||
int32_t veinRecycleCursor | |||
VeinData veinPool[veinCursor - 1] | |||
int32_t veinRecycle[veinRecycleCursor] | |||
veinAnimPool[veinCursor] { | |||
float time | |||
float prepare_length | |||
float working_length | |||
uint32_t state | |||
float power | |||
} | |||
CargoContainer | |||
CargoTraffic | |||
FactoryStorage | |||
PowerSystem | |||
FactorySystem | |||
PlanetTransport | |||
MonsterSystem | |||
PlatformSystem (version >= 1) | |||
} | |||
PlanetData | |||
{ | |||
int32_t modDataByteCount | |||
uint8_t modData[modDataByteCount] | |||
int32_t numVeinAmounts | |||
int64_t veinAmounts[numVeinAmounts] | |||
int32_t numVeinGroups | |||
veinGroups[numVeinGroups] { | |||
int32_t EVeinType type () | |||
float pos_x | |||
float pos_y | |||
float pos_z | |||
int32_t count: Read, but then set to zero | |||
int64_t amount: Read, but then set to zero | |||
} | |||
} | |||
EntityData | |||
{ | |||
uint8_t version = 0 | |||
int32_t id | |||
int16_t protoId | |||
int16_t modelIndex | |||
float pos_x | |||
float pos_y | |||
float pos_z | |||
float rot_x | |||
float rot_y | |||
float rot_z | |||
float rot_w | |||
int32_t beltId | |||
int32_t splitterId | |||
int32_t storageId | |||
int32_t tankId | |||
int32_t minerId | |||
int32_t inserterId | |||
int32_t assemblerId | |||
int32_t fractionateId | |||
int32_t ejectorId | |||
int32_t siloId | |||
int32_t labId | |||
int32_t stationId | |||
int32_t powerNodeId | |||
int32_t powerGenId | |||
int32_t powerConId | |||
int32_t powerAccId | |||
int32_t powerExcId | |||
int32_t monsterId | |||
} | |||
PrebuildData | |||
{ | |||
uint8_t version = 0 | |||
int32_t id | |||
int16_t protoId | |||
int16_t modelIndex | |||
float pos_x | |||
float pos_y | |||
float pos_z | |||
float rot_x | |||
float rot_y | |||
float rot_z | |||
float rot_w | |||
float pos2_x | |||
float pos2_y | |||
float pos2_z | |||
float rot2_x | |||
float rot2_y | |||
float rot2_z | |||
float rot2_w | |||
int32_t upEntity | |||
int16_t pickOffset | |||
int16_t insertOffset | |||
int32_t recipeId | |||
int32_t filterId | |||
int32_t refCount | |||
int32_t refArr[refCount] | |||
} | |||
VegeData | |||
{ | |||
uint8_t version = 0 | |||
int32_t id | |||
int16_t protoId | |||
int16_t modelIndex | |||
int16_t hp | |||
float pos_x | |||
float pos_y | |||
float pos_z | |||
float rot_x | |||
float rot_y | |||
float rot_z | |||
float rot_w | |||
float scl_y | |||
float scl_z | |||
float scl_w | |||
} | |||
VeinData | |||
{ | |||
uint8_t version = 0 | |||
int32_t id | |||
int16_t EVeinType (None, Iron, Copper, Silicium, Titanium, Stone, Coal, Oil, Fireice, Diamond, Fractal, Crysrub, Grat, Bamboo, Mag) | |||
int16_t modelIndex | |||
int16_t groupIndex | |||
int32_t amount | |||
int32_t productId | |||
float pos_x | |||
float pos_y | |||
float pos_z | |||
int32_t minerCount | |||
int32_t minerId0 | |||
int32_t minerId1 | |||
int32_t minerId2 | |||
int32_t minerId3 | |||
} | |||
CargoContainer | |||
{ | |||
int32_t version = 0 | |||
int32_t poolCapacity | |||
int32_t cursor | |||
int32_t recycleBegin | |||
int32_t recycleEnd | |||
cargoPool[cursor] { | |||
int32_t item | |||
float position_x | |||
float position_y | |||
float position_z | |||
float rotation_x | |||
float rotation_y | |||
float rotation_z | |||
float rotation_w | |||
} | |||
int32_t recycleIds[poolCapacity] | |||
} | |||
CargoTraffic | |||
{ | |||
int32_t version = 0 | |||
int32_t beltCursor | |||
int32_t beltCapacity | |||
int32_t beltRecycleCursor | |||
int32_t splitterCursor | |||
int32_t splitterCapacity | |||
int32_t splitterRecycleCursor | |||
int32_t pathCursor | |||
int32_t pathCapacity | |||
int32_t pathRecycleCursor | |||
BeltComponent beltPool[beltCursor - 1] | |||
int32_t beltRecycle[beltRecycleCursor] | |||
SplitterComponent splitterPool[splitterCursor - 1] | |||
int32_t splitterRecycle[splitterRecycleCursor] | |||
[pathCursor - 1] { | |||
int32_t cargoPathIndex | |||
CargoPath (cargoPathIndex != 0) | |||
} | |||
int32_t pathRecycle[pathRecycleCursor] | |||
} | |||
BeltComponent | |||
{ | |||
} | |||
SplitterComponent | |||
{ | |||
} | |||
CargoPath | |||
{ | |||
} | |||
FactoryStorage | |||
{ | |||
} | |||
PowerSystem | |||
{ | |||
} | |||
FactorySystem | |||
{ | |||
} | |||
PlanetTransport | |||
{ | |||
} | |||
MonsterSystem | |||
{ | |||
} | |||
PlatformSystem | |||
{ | |||
} | |||
DysonSphere | |||
{ | { | ||
Revision as of 05:16, 10 February 2021
This article is a work in progress.
This article is in the process of an expansion or major restructuring.! You are welcome to assist in its construction by editing it as well. See Category:Work in progress for other pages that needs expansion.
This page defines the Dyson Sphere Program save file format .dsv. On Windows by default save files are stored in %USERPROFILE%\Documents\Dyson Sphere Program\Save\.
GameSave
{
"VFSAVE"
int64_t fileStreamLength
int32_t saveFileFormatNumber = 4
int32_t majorGameVersion
int32_t minorGameVersion
int32_t releaseGameVersion
int64_t gameTick
int64_t nowTicks
int32_t sizeOfPngFile
uint8_t screenShotPngFile[sizeOfPngFile]
GameData
}
GameData
{
int32_t version = 2
string gameName
GameDesc gameDesc
int64_t gameTick
GamePrefsData preferences (version >= 1)
GameHistoryData
uint8_t bool hidePlayerModel (version >= 2)
uint8_t bool disableController (version >= 2)
GameStatData statistics
int32_t planetId
Player mainPlayer
int32_t factoryCount
GalacticTransport
PlanetFactory[factoryCount]
int32_t galaxyStarCount: Must equal GameDesc::starCount or the game will crash.
int32_t numDysonSpheres
[numDysonSpheres] {
int32_t dysonSphereDataIsAvailableFlag: Must be 0 or 1 or the game will crash.
DysonSphere (dysonSphereDataIsAvailableFlag == 1)
}
}
GameDesc
{
int32_t version = 2
int32_t galaxyAlgo
int32_t galaxySeed
int32_t starCount
int32_t playerProto
float resourceMultiplier (version >= 2)
int32_t numThemeIds (version >= 1)
int32_t themeIds[numThemeIds] (version >= 1)
}
GamePrefsData
{
int32_t version = 2
double cameraUPosX
double cameraUPosY
double cameraUPosZ
float cameraURotX
float cameraURotY
float cameraURotZ
float cameraURotW
int32_t reformCursorSize (version >= 1)
int32_t numReplicatorMultipliers (version >= 1)
replicatorMultipliers[numReplicatorMultipliers] (version >= 1) {
int32_t key
int32_t value
}
float bool detailPower
float bool detailVein
float bool detailSpaceGuide
float bool detailSign
float bool detailIcon
int32_t numTutorialShowing (version >= 2)
int32_t tutorialShowing[numTutorialShowing] (version >= 2)
}
GameHistoryData
{
int32_t version = 2
int32_t numRecipeUnlocked
int32_t recipeUnlocked[numRecipeUnlocked]
int32_t numTutorialUnlocked (version >= 2)
int32_t tutorialUnlocked[numTutorialUnlocked] (version >= 2)
int32_t numFeatureKeys
int32_t featureKeys[numFeatureKeys]
int32_t numTechState
[numTechState] {
int32_t techProtoIndex
uint8_t bool TechState_unlocked
int32_t TechState_curLevel
int32_t TechState_maxLevel
int64_t TechState_hashUploaded
int64_t TechState_hashNeeded
}
uint8_t bool autoManageLabItems
int32_t currentTech
int32_t numTechQueue (version >= 1)
int32_t techQueue_TechStateKey[numTechQueue]
int32_t universeObserveLevel
float solarSailLife
float solarEnergyLossRate
uint8_t bool useIonLayer
int32_t inserterStackCount
float logisticDroneSpeed
float logisticDroneSpeedScale
int32_t logisticDroneCarries
float logisticShipSailSpeed
float logisticShipWarpSpeed
float logisticShipSpeedScale
float bool logisticShipWarpDrive
int32_t logisticShipCarries
float miningCostRate
float miningSpeedScale
int32_t storageLevel
int32_t labLevel
int32_t techSpeed
float dysonNodeLatitude
int64_t universeMatrixPointUploaded
float bool missionAccomplished
}
GameStatData
{
int32_t version = 0
int32_t numTechHashedHistory
int32_t techHashedHistory[numTechHashedHistory]
ProductionStatistics
}
ProductionStatistics
{
int32_t version = 0
int32_t numFactoryStatPool
FactoryProductionStat factoryStatPool[numFactoryStatPool]
int32_t numFirstCreateIds
int32_t firstCreateIds[numFirstCreateIds]
int32_t numFavoriteIds
int32_t favoriteIds[numFavoriteIds]
}
FactoryProductionStat
{
int32_t version = 1
int32_t productCapacity
int32_t productCursor
ProductStat productPool[productCursor]
int32_t numPowerPool, max 5
PowerStat powerPool[numPowerPool]
int32_t numProductIndices
int32_t productIndices[numProductIndices]
int64_t energyConsumption (version >= 1)
}
ProductStat
{
int32_t version = 0
int32_t numCount: Saved as 7200. Reads more or less, but only stores up to 7200, and enforces abs.
int32_t count[numCount]
int32_t numCursor: Saved as 12. Reads more or less, but only stores up to 12.
int32_t cursor[numCount]
int32_t numTotal: Saved as 14. Reads more or less, but only stores up to 14, and enforces abs.
int32_t total[numCount]
int32_t itemId
}
PowerStat
{
int32_t version = 0
int32_t numEnergy: Saved as 3600. Reads more or less, but only stores up to 3600, and enforces abs.
int64_t energy[numCount]
int32_t numCursor: Saved as 6. Reads more or less, but only stores up to 6.
int32_t cursor[numCount]
int32_t numTotal: Saved as 7. Reads more or less, but only stores up to 7, and enforces abs.
int64_t total[numCount]
int32_t itemId
}
Player
{
int32_t version = 1
int32_t planetId: Ignored on read
float position_x
float position_y
float position_z
float uPosition_x
float uPosition_y
float uPosition_z
float uRotation_x
float uRotation_y
float uRotation_z
float uRotation_w
int32_t EMovementState movementState (Walk, Drift, Fly, Sail)
float warpState
uint8_t bool warpCommand
double uVelocity_x
double uVelocity_y
double uVelocity_z
int32_t inhandItemId
int32_t inhandItemCount
Mecha
StorageComponent package[10]
PlayerNavigation
int32_t sandCount
}
Mecha
{
int32_t version = 0
double coreEnergyCap
double coreEnergy
double corePowerGen
double reactorPowerGen
double reactorEnergy
int32_t reactorItemId
StorageComponent reactorStorage[4]
StorageComponent warpStorage
double walkPower
double jumpEnergy
double thrustPowerPerAcc
double warpKeepingPowerPerSpeed
double warpStartPowerPerSpeed
double miningPower
double replicatePower
double researchPower
double droneEjectEnergy
double droneEnergyPerMeter
int32_t coreLevel
int32_t thrusterLevel
float miningSpeed
float replicateSpeed
float walkSpeed
float jumpSpeed
float maxSailSpeed
float maxWarpSpeed
float buildArea
MechaForge
MechaLab
int32_t droneCount
float droneSpeed
int32_t droneMovement
MechaDrone[droneCount]
}
StorageComponent
{
int32_t version = 1
int32_t id
int32_t entityId
int32_t previous (version >= 1)
int32_t next (version >= 1)
int32_t bottom (version >= 1)
int32_t top (version >= 1)
int32_t EStorageType type (0:Default 1:Fuel 9:Filtered)
int32_t gridSize
int32_t bans (version >= 1)
grids[gridSize] {
int32_t itemId
int32_t filter
int32_t count
int32_t stackSize
}
}
PlayerNavigation
{
int32_t version = 0
uint8_t bool navigating
int32_t naviAstroId
double naviTarget_x
double naviTarget_y
double naviTarget_z
uint8_t bool useFly
uint8_t bool useSail
uint8_t bool useWarp
int32_t ENaviStage stage (None, Departure, OriginOrbit, AccOrbit, Space, DestOrbit, Approaching)
double flyThreshold
double sailThreshold
double warpThreshold
double maxSailSpeed
}
GalacticTransport
{
int32_t version = 0
}
PlanetFactory
{
int32_t version = 1
int32_t planetId
PlanetData
int32_t entityCapacity
int32_t entityCursor
int32_t entityRecycleCursor
EntityData entityPool[entityCursor - 1]
entityAnimPool[entityCursor - 1] {
float time
float prepare_length
float working_length
uint32_t state
float power
}
entitySignPool[entityCursor - 1] {
uint32_t signType
uint32_t iconType
uint32_t iconId0
uint32_t iconId1
uint32_t iconId2
uint32_t iconId3
float count0
float count1
float count2
float count3
float x
float y
float z
float w
}
int32_t entityConnPool[entityCursor * 16 - 16]
int32_t entityRecycle[entityRecycleCursor]
int32_t prebuildCapacity
int32_t prebuildCursor
int32_t prebuildRecycleCursor
PrebuildData prebuildPool[prebuildCursor - ]
int32_t prebuildConnPool[prebuildCursor * 16 - 16]
int32_t prebuildRecycle[prebuildRecycleCursor]
int32_t vegeCapacity
int32_t vegeCursor
int32_t vegeRecycleCursor
VegeData vegePool[vegeCursor - 1]
int32_t vegeRecycle[vegeRecycleCursor]
int32_t veinCapacity
int32_t veinCursor
int32_t veinRecycleCursor
VeinData veinPool[veinCursor - 1]
int32_t veinRecycle[veinRecycleCursor]
veinAnimPool[veinCursor] {
float time
float prepare_length
float working_length
uint32_t state
float power
}
CargoContainer
CargoTraffic
FactoryStorage
PowerSystem
FactorySystem
PlanetTransport
MonsterSystem
PlatformSystem (version >= 1)
}
PlanetData
{
int32_t modDataByteCount
uint8_t modData[modDataByteCount]
int32_t numVeinAmounts
int64_t veinAmounts[numVeinAmounts]
int32_t numVeinGroups
veinGroups[numVeinGroups] {
int32_t EVeinType type ()
float pos_x
float pos_y
float pos_z
int32_t count: Read, but then set to zero
int64_t amount: Read, but then set to zero
}
}
EntityData
{
uint8_t version = 0
int32_t id
int16_t protoId
int16_t modelIndex
float pos_x
float pos_y
float pos_z
float rot_x
float rot_y
float rot_z
float rot_w
int32_t beltId
int32_t splitterId
int32_t storageId
int32_t tankId
int32_t minerId
int32_t inserterId
int32_t assemblerId
int32_t fractionateId
int32_t ejectorId
int32_t siloId
int32_t labId
int32_t stationId
int32_t powerNodeId
int32_t powerGenId
int32_t powerConId
int32_t powerAccId
int32_t powerExcId
int32_t monsterId
}
PrebuildData
{
uint8_t version = 0
int32_t id
int16_t protoId
int16_t modelIndex
float pos_x
float pos_y
float pos_z
float rot_x
float rot_y
float rot_z
float rot_w
float pos2_x
float pos2_y
float pos2_z
float rot2_x
float rot2_y
float rot2_z
float rot2_w
int32_t upEntity
int16_t pickOffset
int16_t insertOffset
int32_t recipeId
int32_t filterId
int32_t refCount
int32_t refArr[refCount]
}
VegeData
{
uint8_t version = 0
int32_t id
int16_t protoId
int16_t modelIndex
int16_t hp
float pos_x
float pos_y
float pos_z
float rot_x
float rot_y
float rot_z
float rot_w
float scl_y
float scl_z
float scl_w
}
VeinData
{
uint8_t version = 0
int32_t id
int16_t EVeinType (None, Iron, Copper, Silicium, Titanium, Stone, Coal, Oil, Fireice, Diamond, Fractal, Crysrub, Grat, Bamboo, Mag)
int16_t modelIndex
int16_t groupIndex
int32_t amount
int32_t productId
float pos_x
float pos_y
float pos_z
int32_t minerCount
int32_t minerId0
int32_t minerId1
int32_t minerId2
int32_t minerId3
}
CargoContainer
{
int32_t version = 0
int32_t poolCapacity
int32_t cursor
int32_t recycleBegin
int32_t recycleEnd
cargoPool[cursor] {
int32_t item
float position_x
float position_y
float position_z
float rotation_x
float rotation_y
float rotation_z
float rotation_w
}
int32_t recycleIds[poolCapacity]
}
CargoTraffic
{
int32_t version = 0
int32_t beltCursor
int32_t beltCapacity
int32_t beltRecycleCursor
int32_t splitterCursor
int32_t splitterCapacity
int32_t splitterRecycleCursor
int32_t pathCursor
int32_t pathCapacity
int32_t pathRecycleCursor
BeltComponent beltPool[beltCursor - 1]
int32_t beltRecycle[beltRecycleCursor]
SplitterComponent splitterPool[splitterCursor - 1]
int32_t splitterRecycle[splitterRecycleCursor]
[pathCursor - 1] {
int32_t cargoPathIndex
CargoPath (cargoPathIndex != 0)
}
int32_t pathRecycle[pathRecycleCursor]
}
BeltComponent
{
}
SplitterComponent
{
}
CargoPath
{
}
FactoryStorage
{
}
PowerSystem
{
}
FactorySystem
{
}
PlanetTransport
{
}
MonsterSystem
{
}
PlatformSystem
{
}
DysonSphere
{
}