Modding:Save File Format: Difference between revisions
From the Dyson Sphere Program Wiki
More actions
Content deleted Content added
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 |
|||
uint32_t |
|||
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
{
}