Completed up to DysonSphere
imported>76561198054818918 (Added up through CargoTraffic) |
imported>76561198054818918 (Completed up to DysonSphere) |
||
Line 7: | Line 7: | ||
{ | { | ||
"VFSAVE" | "VFSAVE" | ||
int64 fileStreamLength | |||
int32 saveFileFormatNumber = 4 | |||
int32 majorGameVersion | |||
int32 minorGameVersion | |||
int32 releaseGameVersion | |||
int64 gameTick | |||
int64 nowTicks | |||
int32 sizeOfPngFile | |||
uint8 screenShotPngFile[sizeOfPngFile] | |||
GameData | GameData | ||
} | } | ||
Line 21: | Line 21: | ||
GameData | GameData | ||
{ | { | ||
int32 version = 2 | |||
string gameName | string gameName | ||
GameDesc gameDesc | GameDesc gameDesc | ||
int64 gameTick | |||
GamePrefsData preferences (version >= 1) | GamePrefsData preferences (version >= 1) | ||
GameHistoryData | GameHistoryData | ||
uint8 bool hidePlayerModel (version >= 2) | |||
uint8 bool disableController (version >= 2) | |||
GameStatData statistics | GameStatData statistics | ||
int32 planetId | |||
Player mainPlayer | Player mainPlayer | ||
int32 factoryCount | |||
GalacticTransport | GalacticTransport | ||
PlanetFactory[factoryCount] | PlanetFactory[factoryCount] | ||
int32 galaxyStarCount: Must equal GameDesc::starCount or the game will crash. | |||
int32 numDysonSpheres | |||
[numDysonSpheres] { | [numDysonSpheres] { | ||
int32 dysonSphereDataIsAvailableFlag: Must be 0 or 1 or the game will crash. | |||
DysonSphere (dysonSphereDataIsAvailableFlag == 1) | DysonSphere (dysonSphereDataIsAvailableFlag == 1) | ||
} | } | ||
Line 45: | Line 45: | ||
GameDesc | GameDesc | ||
{ | { | ||
int32 version = 2 | |||
int32 galaxyAlgo | |||
int32 galaxySeed | |||
int32 starCount | |||
int32 playerProto | |||
float resourceMultiplier (version >= 2) | float resourceMultiplier (version >= 2) | ||
int32 numThemeIds (version >= 1) | |||
int32 themeIds[numThemeIds] (version >= 1) | |||
} | } | ||
GamePrefsData | GamePrefsData | ||
{ | { | ||
int32 version = 2 | |||
double cameraUPosX | double cameraUPosX | ||
double cameraUPosY | double cameraUPosY | ||
Line 65: | Line 65: | ||
float cameraURotZ | float cameraURotZ | ||
float cameraURotW | float cameraURotW | ||
int32 reformCursorSize (version >= 1) | |||
int32 numReplicatorMultipliers (version >= 1) | |||
replicatorMultipliers[numReplicatorMultipliers] (version >= 1) { | replicatorMultipliers[numReplicatorMultipliers] (version >= 1) { | ||
int32 key | |||
int32 value | |||
} | } | ||
float bool detailPower | float bool detailPower | ||
Line 76: | Line 76: | ||
float bool detailSign | float bool detailSign | ||
float bool detailIcon | float bool detailIcon | ||
int32 numTutorialShowing (version >= 2) | |||
int32 tutorialShowing[numTutorialShowing] (version >= 2) | |||
} | } | ||
GameHistoryData | GameHistoryData | ||
{ | { | ||
int32 version = 2 | |||
int32 numRecipeUnlocked | |||
int32 recipeUnlocked[numRecipeUnlocked] | |||
int32 numTutorialUnlocked (version >= 2) | |||
int32 tutorialUnlocked[numTutorialUnlocked] (version >= 2) | |||
int32 numFeatureKeys | |||
int32 featureKeys[numFeatureKeys] | |||
int32 numTechState | |||
[numTechState] { | [numTechState] { | ||
int32 techProtoIndex | |||
uint8 bool TechState_unlocked | |||
int32 TechState_curLevel | |||
int32 TechState_maxLevel | |||
int64 TechState_hashUploaded | |||
int64 TechState_hashNeeded | |||
} | } | ||
uint8 bool autoManageLabItems | |||
int32 currentTech | |||
int32 numTechQueue (version >= 1) | |||
int32 techQueueechStateKey[numTechQueue] | |||
int32 universeObserveLevel | |||
float solarSailLife | float solarSailLife | ||
float solarEnergyLossRate | float solarEnergyLossRate | ||
uint8 bool useIonLayer | |||
int32 inserterStackCount | |||
float logisticDroneSpeed | float logisticDroneSpeed | ||
float logisticDroneSpeedScale | float logisticDroneSpeedScale | ||
int32 logisticDroneCarries | |||
float logisticShipSailSpeed | float logisticShipSailSpeed | ||
float logisticShipWarpSpeed | float logisticShipWarpSpeed | ||
float logisticShipSpeedScale | float logisticShipSpeedScale | ||
float bool logisticShipWarpDrive | float bool logisticShipWarpDrive | ||
int32 logisticShipCarries | |||
float miningCostRate | float miningCostRate | ||
float miningSpeedScale | float miningSpeedScale | ||
int32 storageLevel | |||
int32 labLevel | |||
int32 techSpeed | |||
float dysonNodeLatitude | float dysonNodeLatitude | ||
int64 universeMatrixPointUploaded | |||
float bool missionAccomplished | float bool missionAccomplished | ||
} | } | ||
Line 127: | Line 127: | ||
GameStatData | GameStatData | ||
{ | { | ||
int32 version = 0 | |||
int32 numTechHashedHistory | |||
int32 techHashedHistory[numTechHashedHistory] | |||
ProductionStatistics | ProductionStatistics | ||
} | } | ||
Line 135: | Line 135: | ||
ProductionStatistics | ProductionStatistics | ||
{ | { | ||
int32 version = 0 | |||
int32 numFactoryStatPool | |||
FactoryProductionStat factoryStatPool[numFactoryStatPool] | FactoryProductionStat factoryStatPool[numFactoryStatPool] | ||
int32 numFirstCreateIds | |||
int32 firstCreateIds[numFirstCreateIds] | |||
int32 numFavoriteIds | |||
int32 favoriteIds[numFavoriteIds] | |||
} | } | ||
FactoryProductionStat | FactoryProductionStat | ||
{ | { | ||
int32 version = 1 | |||
int32 productCapacity | |||
int32 productCursor | |||
ProductStat productPool[productCursor] | ProductStat productPool[productCursor] | ||
int32 numPowerPool, max 5 | |||
PowerStat powerPool[numPowerPool] | PowerStat powerPool[numPowerPool] | ||
int32 numProductIndices | |||
int32 productIndices[numProductIndices] | |||
int64 energyConsumption (version >= 1) | |||
} | } | ||
ProductStat | ProductStat | ||
{ | { | ||
int32 version = 0 | |||
int32 numCount: Saved as 7200. Reads more or less, but only stores up to 7200, and enforces abs. | |||
int32 count[numCount] | |||
int32 numCursor: Saved as 12. Reads more or less, but only stores up to 12. | |||
int32 cursor[numCount] | |||
int32 numTotal: Saved as 14. Reads more or less, but only stores up to 14, and enforces abs. | |||
int32 total[numCount] | |||
int32 itemId | |||
} | } | ||
PowerStat | PowerStat | ||
{ | { | ||
int32 version = 0 | |||
int32 numEnergy: Saved as 3600. Reads more or less, but only stores up to 3600, and enforces abs. | |||
int64 energy[numCount] | |||
int32 numCursor: Saved as 6. Reads more or less, but only stores up to 6. | |||
int32 cursor[numCount] | |||
int32 numTotal: Saved as 7. Reads more or less, but only stores up to 7, and enforces abs. | |||
int64 total[numCount] | |||
int32 itemId | |||
} | } | ||
Player | Player | ||
{ | { | ||
int32 version = 1 | |||
int32 planetId: Ignored on read | |||
float position_x | float position_x | ||
float position_y | float position_y | ||
Line 195: | Line 195: | ||
float uRotation_z | float uRotation_z | ||
float uRotation_w | float uRotation_w | ||
int32 EMovementState movementState (Walk, Drift, Fly, Sail) | |||
float warpState | float warpState | ||
uint8 bool warpCommand | |||
double uVelocity_x | double uVelocity_x | ||
double uVelocity_y | double uVelocity_y | ||
double uVelocity_z | double uVelocity_z | ||
int32 inhandItemId | |||
int32 inhandItemCount | |||
Mecha | Mecha | ||
StorageComponent package[10] | StorageComponent package[10] | ||
PlayerNavigation | PlayerNavigation | ||
int32 sandCount | |||
} | } | ||
Mecha | Mecha | ||
{ | { | ||
int32 version = 0 | |||
double coreEnergyCap | double coreEnergyCap | ||
double coreEnergy | double coreEnergy | ||
Line 217: | Line 217: | ||
double reactorPowerGen | double reactorPowerGen | ||
double reactorEnergy | double reactorEnergy | ||
int32 reactorItemId | |||
StorageComponent reactorStorage[4] | StorageComponent reactorStorage[4] | ||
StorageComponent warpStorage | StorageComponent warpStorage | ||
Line 230: | Line 230: | ||
double droneEjectEnergy | double droneEjectEnergy | ||
double droneEnergyPerMeter | double droneEnergyPerMeter | ||
int32 coreLevel | |||
int32 thrusterLevel | |||
float miningSpeed | float miningSpeed | ||
float replicateSpeed | float replicateSpeed | ||
Line 241: | Line 241: | ||
MechaForge | MechaForge | ||
MechaLab | MechaLab | ||
int32 droneCount | |||
float droneSpeed | float droneSpeed | ||
int32 droneMovement | |||
MechaDrone[droneCount] | MechaDrone[droneCount] | ||
} | } | ||
Line 249: | Line 249: | ||
StorageComponent | StorageComponent | ||
{ | { | ||
int32 version = 1 | |||
int32 id | |||
int32 entityId | |||
int32 previous (version >= 1) | |||
int32 next (version >= 1) | |||
int32 bottom (version >= 1) | |||
int32 top (version >= 1) | |||
int32 EStorageType type (0:Default 1:Fuel 9:Filtered) | |||
int32 gridSize | |||
int32 bans (version >= 1) | |||
grids[gridSize] { | grids[gridSize] { | ||
int32 itemId | |||
int32 filter | |||
int32 count | |||
int32 stackSize | |||
} | } | ||
} | } | ||
Line 269: | Line 269: | ||
PlayerNavigation | PlayerNavigation | ||
{ | { | ||
int32 version = 0 | |||
uint8 bool navigating | |||
int32 naviAstroId | |||
double naviTarget_x | double naviTarget_x | ||
double naviTarget_y | double naviTarget_y | ||
double naviTarget_z | double naviTarget_z | ||
uint8 bool useFly | |||
uint8 bool useSail | |||
uint8 bool useWarp | |||
int32 ENaviStage stage (None, Departure, OriginOrbit, AccOrbit, Space, DestOrbit, Approaching) | |||
double flyThreshold | double flyThreshold | ||
double sailThreshold | double sailThreshold | ||
Line 287: | Line 287: | ||
GalacticTransport | GalacticTransport | ||
{ | { | ||
int32 version = 0 | |||
} | } | ||
PlanetFactory | PlanetFactory | ||
{ | { | ||
int32 version = 1 | |||
int32 planetId | |||
PlanetData | PlanetData | ||
int32 entityCapacity | |||
int32 entityCursor | |||
int32 entityRecycleCursor | |||
EntityData entityPool[entityCursor - 1] | EntityData entityPool[entityCursor - 1] | ||
entityAnimPool[entityCursor - 1] { | entityAnimPool[entityCursor - 1] { | ||
Line 303: | Line 303: | ||
float prepare_length | float prepare_length | ||
float working_length | float working_length | ||
uint32 state | |||
float power | float power | ||
} | } | ||
entitySignPool[entityCursor - 1] { | entitySignPool[entityCursor - 1] { | ||
uint32 signType | |||
uint32 iconType | |||
uint32 iconId0 | |||
uint32 iconId1 | |||
uint32 iconId2 | |||
uint32 iconId3 | |||
float count0 | float count0 | ||
float count1 | float count1 | ||
Line 322: | Line 322: | ||
float w | float w | ||
} | } | ||
int32 entityConnPool[entityCursor * 16 - 16] | |||
int32 entityRecycle[entityRecycleCursor] | |||
int32 prebuildCapacity | |||
int32 prebuildCursor | |||
int32 prebuildRecycleCursor | |||
PrebuildData prebuildPool[prebuildCursor - ] | PrebuildData prebuildPool[prebuildCursor - ] | ||
int32 prebuildConnPool[prebuildCursor * 16 - 16] | |||
int32 prebuildRecycle[prebuildRecycleCursor] | |||
int32 vegeCapacity | |||
int32 vegeCursor | |||
int32 vegeRecycleCursor | |||
VegeData vegePool[vegeCursor - 1] | VegeData vegePool[vegeCursor - 1] | ||
int32 vegeRecycle[vegeRecycleCursor] | |||
int32 veinCapacity | |||
int32 veinCursor | |||
int32 veinRecycleCursor | |||
VeinData veinPool[veinCursor - 1] | VeinData veinPool[veinCursor - 1] | ||
int32 veinRecycle[veinRecycleCursor] | |||
veinAnimPool[veinCursor] { | veinAnimPool[veinCursor] { | ||
float time | float time | ||
float prepare_length | float prepare_length | ||
float working_length | float working_length | ||
uint32 state | |||
float power | float power | ||
} | } | ||
Line 359: | Line 359: | ||
PlanetData | PlanetData | ||
{ | { | ||
int32 modDataByteCount | |||
uint8 modData[modDataByteCount] | |||
int32 numVeinAmounts | |||
int64 veinAmounts[numVeinAmounts] | |||
int32 numVeinGroups | |||
veinGroups[numVeinGroups] { | veinGroups[numVeinGroups] { | ||
int32 EVeinType type () | |||
float pos_x | float pos_x | ||
float pos_y | float pos_y | ||
float pos_z | float pos_z | ||
int32 count: Read, but then set to zero | |||
int64 amount: Read, but then set to zero | |||
} | } | ||
} | } | ||
Line 376: | Line 376: | ||
EntityData | EntityData | ||
{ | { | ||
uint8 version = 0 | |||
int32 id | |||
int16 protoId | |||
int16 modelIndex | |||
float pos_x | float pos_x | ||
float pos_y | float pos_y | ||
Line 387: | Line 387: | ||
float rot_z | float rot_z | ||
float rot_w | float rot_w | ||
int32 beltId | |||
int32 splitterId | |||
int32 storageId | |||
int32 tankId | |||
int32 minerId | |||
int32 inserterId | |||
int32 assemblerId | |||
int32 fractionateId | |||
int32 ejectorId | |||
int32 siloId | |||
int32 labId | |||
int32 stationId | |||
int32 powerNodeId | |||
int32 powerGenId | |||
int32 powerConId | |||
int32 powerAccId | |||
int32 powerExcId | |||
int32 monsterId | |||
} | } | ||
PrebuildData | PrebuildData | ||
{ | { | ||
uint8 version = 0 | |||
int32 id | |||
int16 protoId | |||
int16 modelIndex | |||
float pos_x | float pos_x | ||
float pos_y | float pos_y | ||
Line 427: | Line 427: | ||
float rot2_z | float rot2_z | ||
float rot2_w | float rot2_w | ||
int32 upEntity | |||
int16 pickOffset | |||
int16 insertOffset | |||
int32 recipeId | |||
int32 filterId | |||
int32 refCount | |||
int32 refArr[refCount] | |||
} | } | ||
VegeData | VegeData | ||
{ | { | ||
uint8 version = 0 | |||
int32 id | |||
int16 protoId | |||
int16 modelIndex | |||
int16 hp | |||
float pos_x | float pos_x | ||
float pos_y | float pos_y | ||
Line 457: | Line 457: | ||
VeinData | VeinData | ||
{ | { | ||
uint8 version = 0 | |||
int32 id | |||
int16 EVeinType (None, Iron, Copper, Silicium, Titanium, Stone, Coal, Oil, Fireice, Diamond, Fractal, Crysrub, Grat, Bamboo, Mag) | |||
int16 modelIndex | |||
int16 groupIndex | |||
int32 amount | |||
int32 productId | |||
float pos_x | float pos_x | ||
float pos_y | float pos_y | ||
float pos_z | float pos_z | ||
int32 minerCount | |||
int32 minerId0 | |||
int32 minerId1 | |||
int32 minerId2 | |||
int32 minerId3 | |||
} | } | ||
CargoContainer | CargoContainer | ||
{ | { | ||
int32 version = 0 | |||
int32 poolCapacity | |||
int32 cursor | |||
int32 recycleBegin | |||
int32 recycleEnd | |||
cargoPool[cursor] { | cargoPool[cursor] { | ||
int32 item | |||
float position_x | float position_x | ||
float position_y | float position_y | ||
Line 491: | Line 491: | ||
float rotation_w | float rotation_w | ||
} | } | ||
int32 recycleIds[poolCapacity] | |||
} | } | ||
CargoTraffic | CargoTraffic | ||
{ | { | ||
int32 version = 0 | |||
int32 beltCursor | |||
int32 beltCapacity | |||
int32 beltRecycleCursor | |||
int32 splitterCursor | |||
int32 splitterCapacity | |||
int32 splitterRecycleCursor | |||
int32 pathCursor | |||
int32 pathCapacity | |||
int32 pathRecycleCursor | |||
BeltComponent beltPool[beltCursor - 1] | BeltComponent beltPool[beltCursor - 1] | ||
int32 beltRecycle[beltRecycleCursor] | |||
SplitterComponent splitterPool[splitterCursor - 1] | SplitterComponent splitterPool[splitterCursor - 1] | ||
int32 splitterRecycle[splitterRecycleCursor] | |||
[pathCursor - 1] { | [pathCursor - 1] { | ||
int32 cargoPathIndex | |||
CargoPath (cargoPathIndex != 0) | CargoPath (cargoPathIndex != 0) | ||
} | } | ||
int32 pathRecycle[pathRecycleCursor] | |||
} | } | ||
BeltComponent | BeltComponent | ||
{ | { | ||
int32 version = 0 | |||
int32 id | |||
int32 entityId | |||
int32 speed | |||
int32 segPathId | |||
int32 segIndex | |||
int32 segPivotOffset | |||
int32 segLength | |||
int32 outputId | |||
int32 backInputId | |||
int32 leftInputId | |||
int32 rightInputId | |||
} | } | ||
SplitterComponent | SplitterComponent | ||
{ | { | ||
int32 version = 0 | |||
int32 id | |||
int32 entityId | |||
int32 beltA | |||
int32 beltB | |||
int32 beltC | |||
int32 beltD | |||
int32 input0 | |||
int32 input1 | |||
int32 input2 | |||
int32 input3 | |||
int32 output0 | |||
int32 output1 | |||
int32 output2 | |||
int32 output3 | |||
uint8 bool inPriority | |||
uint8 bool outPriority | |||
int32 outFilter | |||
} | } | ||
CargoPath | CargoPath | ||
{ | { | ||
int32 version = 0 | |||
int32 id | |||
int32 capacity | |||
int32 bufferLength | |||
int32 chunkCapacity | |||
int32 chunkCount | |||
int32 updateLen | |||
uint8 bool closed | |||
int32 outputPathIdForImport | |||
int32 outputIndex | |||
int32 numBelts | |||
int32 numInputPaths | |||
chunks[chunkCount] { | |||
int32 | |||
int32 | |||
int32 | |||
} | |||
[bufferLength] { | |||
float pointPos_x | |||
float pointPos_y | |||
float pointPos_z | |||
float pointRot_x | |||
float pointRot_y | |||
float pointRot_z | |||
float pointRot_w | |||
} | |||
int32 belts[numBelts] | |||
int32 inputPaths[numInputPaths] | |||
} | } | ||
FactoryStorage | FactoryStorage | ||
{ | { | ||
int32 version = 0 | |||
int32 storageCursor | |||
int32 storageCapacity | |||
int32 storageRecycleCursor | |||
[storageCursor - 1] { | |||
int32 storagePoolIndex | |||
int32 size (storagePoolIndex != 0) | |||
StorageComponent storagePool (storagePoolIndex != 0) | |||
} | |||
int32 storageRecycle[storageRecycleCursor] | |||
int32 tankCapacity | |||
int32 tankCursor | |||
int32 tankRecycleCursor | |||
TankComponent tankPool[tankCursor] | |||
int32 tankRecycle[tankRecycleCursor] | |||
} | |||
TankComponent | |||
{ | |||
int32 version = 0 | |||
int32 id | |||
int32 entityId | |||
int32 lastTankId | |||
int32 nextTankId | |||
int32 belt0 | |||
int32 belt1 | |||
int32 belt2 | |||
int32 belt3 | |||
uint8 bool isOutput0 | |||
uint8 bool isOutput1 | |||
uint8 bool isOutput2 | |||
uint8 bool isOutput3 | |||
int32 fluidStorageCount | |||
int32 currentCount | |||
int32 fluidId | |||
uint8 bool outputSwitch | |||
uint8 bool inputSwitch | |||
uint8 bool isBottom | |||
} | } | ||
PowerSystem | PowerSystem | ||
{ | { | ||
int32 version = 0 | |||
int32 generatorCapacity | |||
int32 genCursor | |||
int32 genRecycleCursor | |||
PowerGeneratorComponent genPool[genCursor - 1] | |||
int32 genRecycle[genRecycleCursor] | |||
int32 nodeCapacity | |||
int32 nodeCursor | |||
int32 nodeRecycleCursor | |||
PowerNodeComponent nodePool[nodeCursor - 1] | |||
int32 nodeRecycle[nodeRecycleCursor] | |||
int32 consumerCapacity | |||
int32 consumerCursor | |||
int32 consumerRecycleCursor | |||
PowerConsumerComponent consumerPool[consumerCursor - 1] | |||
int32 consumerRecycle[consumerRecycleCursor] | |||
int32 accumulatorCapacity | |||
int32 accCursor | |||
int32 accRecycleCursor | |||
PowerAccumulatorComponent accPool[accCursor - 1] | |||
int32 accRecycle | |||
int32 exchangerCapacity | |||
int32 excCursor | |||
int32 excRecycleCursor | |||
PowerExchangerComponent excPool[excCursor - 1] | |||
int32 excRecycle[excRecycleCursor] | |||
int32 networkCapacity | |||
int32 netCursor | |||
int32 netRecycleCursor | |||
[netCursor] { | |||
int32 powerNetworkIncludedFlag | |||
PowerNetwork netPool (powerNetworkIncludedFlag == 1) | |||
} | |||
int32 netRecycle[netRecycleCursor] | |||
} | |||
PowerGeneratorComponent | |||
{ | |||
int32 version = 0 | |||
int32 id | |||
int32 entityId | |||
int32 networkId | |||
uint8 bool photovoltaic | |||
uint8 bool wind | |||
uint8 bool gamma | |||
int64 genEnergyPerTick | |||
int64 useFuelPerTick | |||
int16 fuelMask | |||
int64 fuelEnergy | |||
int16 curFuelId | |||
int16 fuelId | |||
int16 fuelCount | |||
int64 fuelHeat | |||
int32 catalystId | |||
int32 catalystPoint | |||
int32 productId | |||
float productCount | |||
int64 productHeat | |||
float warmup | |||
float ionEnhance | |||
float x | |||
float y | |||
float z | |||
} | |||
PowerNodeComponent | |||
{ | |||
int32 version = 0 | |||
int32 id | |||
int32 entityId | |||
int32 networkId | |||
uint8 bool isCharger | |||
int32 workEnergyPerTick | |||
int32 idleEnergyPerTick | |||
int32 requiredEnergy | |||
float powerPoint_x | |||
float powerPoint_y | |||
float powerPoint_z | |||
float connectDistance | |||
float coverRadius | |||
} | |||
PowerConsumerComponent | |||
{ | |||
int32 version = 0 | |||
int32 id | |||
int32 entityId | |||
int32 networkId | |||
float plugPos_x | |||
float plugPos_y | |||
float plugPos_z | |||
int64 requiredEnergy | |||
int64 servedEnergy | |||
int64 workEnergyPerTick | |||
int64 idleEnergyPerTick | |||
} | |||
PowerAccumulatorComponent | |||
{ | |||
int32 version = 0 | |||
int32 id | |||
int32 entityId | |||
int32 networkId | |||
int64 inputEnergyPerTick | |||
int64 outputEnergyPerTick | |||
int64 curEnergy | |||
int64 maxEnergy | |||
} | |||
PowerExchangerComponent | |||
{ | |||
int32 version = 1 | |||
int32 id | |||
int32 entityId | |||
int32 networkId | |||
int16 emptyCount | |||
int16 fullCount | |||
float targetState | |||
float state | |||
int64 energyPerTick | |||
int64 curPoolEnergy | |||
int64 poolMaxEnergy | |||
int32 emptyId | |||
int32 fullId | |||
int32 belt0 (version >= 1) | |||
int32 belt1 (version >= 1) | |||
int32 belt2 (version >= 1) | |||
int32 belt3 (version >= 1) | |||
uint8 bool isOutput0 (version >= 1) | |||
uint8 bool isOutput1 (version >= 1) | |||
uint8 bool isOutput2 (version >= 1) | |||
uint8 bool isOutput3 (version >= 1) | |||
int32 outputSlot (version >= 1) | |||
int32 inputSlot (version >= 1) | |||
int32 outputRectify (version >= 1) | |||
int32 inputRectify (version >= 1) | |||
} | |||
PowerNetwork | |||
{ | |||
int32 version = 0 | |||
int32 id | |||
int32 numNodes | |||
int32 numConsumers | |||
int32 numGenerators | |||
int32 numAccumulators | |||
int32 numExchangers | |||
PowerNetworkStructures::Node[numNodes] | |||
int32 consumers[numConsumers] | |||
int32 generators[numGenerators] | |||
int32 accumulators[numAccumulators] | |||
int32 exchangers[numExchangers] | |||
} | |||
PowerNetworkStructures::Node | |||
{ | |||
int32 version = 0 | |||
int32 id | |||
float x | |||
float y | |||
float z | |||
float connDistance2 | |||
float coverRadius2 | |||
int32 genId | |||
int32 accId | |||
int32 excId | |||
int32 numConnIdsForLoad | |||
int32 numLineIdsForLoad | |||
int32 numConsumers | |||
int32 connIdsForLoad[numConnIdsForLoad] | |||
int32 lineIdsForLoad[numLineIdsForLoad] | |||
int32 consumers[numConsumers] | |||
} | } | ||
FactorySystem | FactorySystem | ||
{ | { | ||
int32 version = 0 | |||
int32 minerCapacity | |||
int32 minerCursor | |||
int32 minerRecycleCursor | |||
MinerComponent minerPool[minerCursor - 1] | |||
int32 minerRecycle[minerRecycleCursor] | |||
int32 inserterCapacity | |||
int32 inserterCursor | |||
int32 inserterRecycleCursor | |||
InserterComponent inserterPool[inserterCursor - 1] | |||
int32 inserterRecycle[inserterRecycleCursor] | |||
int32 assemblerCapacity | |||
int32 assemblerCursor | |||
int32 assemblerRecycleCursor | |||
AssemblerComponent assemblerPool[assemblerCursor - 1] | |||
int32 assemblerRecycle[assemblerRecycleCursor] | |||
int32 fractionateCapacity | |||
int32 fractionateCursor | |||
int32 fractionateRecycleCursor | |||
FractionateComponent fractionatePool[fractionateCursor - 1] | |||
int32 fractionateRecycle[fractionateRecycleCursor] | |||
int32 ejectorCapacity | |||
int32 ejectorCursor | |||
int32 ejectorRecycleCursor | |||
EjectorComponent ejectorPool[ejectorCursor - 1] | |||
int32 ejectorRecycle[ejectorRecycleCursor] | |||
int32 siloCapacity | |||
int32 siloCursor | |||
int32 siloRecycleCursor | |||
SiloComponent siloPool[siloCursor - 1] | |||
int32 siloRecycle[siloRecycleCursor] | |||
int32 labCapacity | |||
int32 labCursor | |||
int32 labRecycleCursor | |||
LabComponent labPool[labCursor - 1] | |||
int32 labRecycle[labRecycleCursor] | |||
} | |||
MinerComponent | |||
{ | |||
int32 version = 0 | |||
int32 id | |||
int32 entityId | |||
int32 pcId | |||
int32 EMinerType type (None, Water, Vein, Oil) | |||
int32 speed | |||
int32 time | |||
int32 period | |||
int32 insertTarget | |||
int32 EWorkState workstate (Idle, Running, Outputing, Lack, Full) | |||
int32 veinCount | |||
int32 veins[veinCount] | |||
int32 currentVeinIndex | |||
int32 minimumVeinAmount | |||
int32 productId | |||
int32 productCount | |||
uint32 seed | |||
} | |||
InserterComponent | |||
{ | |||
int32 version = 0 | |||
int32 id | |||
int32 entityId | |||
int32 pcId | |||
int32 EInserterStage stage (Picking, Sending, Inserting, Returning) | |||
int32 speed | |||
int32 time | |||
int32 stt | |||
int32 delay | |||
int32 pickTarget | |||
int32 insertTarget | |||
uint8 bool careNeeds | |||
uint8 bool canStack | |||
int16 pickOffset | |||
int16 insertOffset | |||
int32 filter | |||
int32 itemId | |||
int32 stackCount | |||
int32 stackSize | |||
float pos2_x | |||
float pos2_y | |||
float pos2_z | |||
float rot2_x | |||
float rot2_y | |||
float rot2_z | |||
float rot2_w | |||
int16 t1 | |||
int16 t2 | |||
} | |||
AssemblerComponent | |||
{ | |||
int32 version = 0 | |||
int32 id | |||
int32 entityId | |||
int32 pcId | |||
uint8 bool replicating | |||
uint8 bool outputing | |||
int32 speed | |||
int32 time | |||
int32 recipeId | |||
(recipeId > 0) { | |||
int32 ERecipeType recipeType (0:None 1:Smelt 2:Chemical 3:Refine 4:Assemble 5:Particle 6:Exchange 7:PhotonStore 8:Fractionate 15:Research) | |||
int32 timeSpend | |||
int32 numRequires | |||
int32 requires[numRequires] | |||
int32 numRequireCounts | |||
int32 requireCounts[numRequireCounts] | |||
int32 numServed | |||
int32 served[numServed] | |||
int32 numNeeds | |||
int32 needs[numNeeds] | |||
int32 numProducts | |||
int32 products[numProducts] | |||
int32 numProductCounts | |||
int32 productCounts[numProductCounts] | |||
int32 numProduced | |||
int32 produced[numProduced] | |||
} | |||
} | |||
FractionateComponent | |||
{ | |||
int32 version = 0 | |||
int32 id | |||
int32 entityId | |||
int32 pcId | |||
int32 belt0 | |||
int32 belt1 | |||
int32 belt2 | |||
uint8 bool isOutput0 | |||
uint8 bool isOutput1 | |||
uint8 bool isOutput2 | |||
uint8 bool isWorking | |||
float produceProb | |||
int32 need | |||
int32 product | |||
int32 needCurrCount | |||
int32 productCurrCount | |||
int32 oriProductCurrCount | |||
int32 progress | |||
uint8 bool isRand | |||
uint8 bool fractionateSuccess | |||
int32 needMaxCount | |||
int32 productMaxCount | |||
int32 oriProductMaxCount | |||
uint32 seed | |||
} | |||
EjectorComponent | |||
{ | |||
int32 version = 0 | |||
int32 id | |||
int32 entityId | |||
int32 planetId | |||
int32 pcId | |||
int32 direction | |||
int32 time | |||
uint8 bool fired | |||
int32 chargeSpend | |||
int32 coldSpend | |||
int32 bulletId | |||
int32 bulletCount | |||
int32 orbitId | |||
float pivotY | |||
float muzzleY | |||
float localPosN_x | |||
float localPosN_y | |||
float localPosN_z | |||
float localAlt | |||
float localRot_x | |||
float localRot_y | |||
float localRot_z | |||
float localRot_w | |||
float localDir_x | |||
float localDir_y | |||
float localDir_z | |||
} | |||
SiloComponent | |||
{ | |||
int32 version = 0 | |||
int32 id | |||
int32 entityId | |||
int32 planetId | |||
int32 pcId | |||
int32 direction | |||
int32 time | |||
uint8 bool fired | |||
int32 chargeSpend | |||
int32 coldSpend | |||
int32 bulletId | |||
int32 bulletCount | |||
int32 autoIndex | |||
uint8 bool hasNode | |||
float localPos_x | |||
float localPos_y | |||
float localPos_z | |||
float localRot_x | |||
float localRot_y | |||
float localRot_z | |||
float localRot_w | |||
} | |||
LabComponent | |||
{ | |||
int32 version = 0 | |||
int32 id | |||
int32 entityId | |||
int32 pcId | |||
int32 nextLabId | |||
uint8 bool replicating | |||
uint8 bool outputing | |||
int32 time | |||
int32 hashBytes | |||
uint8 bool researchMode | |||
int32 recipeId | |||
int32 techId | |||
(not researchMode and recipeId > 0) { | |||
int32 timeSpend | |||
int32 numRequires | |||
int32 requires[numRequires] | |||
int32 numRequireCounts | |||
int32 requireCounts[numRequireCounts] | |||
int32 numServed | |||
int32 served[numServed] | |||
int32 numNeeds | |||
int32 needs[numNeeds] | |||
int32 numProducts | |||
int32 products[numProducts] | |||
int32 numProductCounts | |||
int32 productCounts[numProductCounts] | |||
int32 numProduced | |||
int32 produced[numProduced] | |||
} | |||
(researchMode) { | |||
int32 numMatrixPoints | |||
int32 matrixPoints[numMatrixPoints] | |||
int32 numMatrixServed | |||
int32 matrixServed[numMatrixServed] | |||
int32 numNeeds | |||
int32 needs[numNeeds] | |||
} | |||
} | } | ||
PlanetTransport | PlanetTransport | ||
{ | { | ||
int32 version = 0 | |||
int32 stationCursor | |||
int32 stationCapacity | |||
int32 stationRecycleCursor | |||
[stationCursor - 1] { | |||
int32 stationIndex | |||
StationComponent stationPool (stationIndex != 0) | |||
} | |||
int32 stationRecycle[stationRecycleCursor] | |||
} | |||
StationComponent | |||
{ | |||
int32 version = 2 | |||
int32 id | |||
int32 gid | |||
int32 entityId | |||
int32 planetId | |||
int32 pcId | |||
int32 gene | |||
float droneDock_x | |||
float droneDock_y | |||
float droneDock_z | |||
float shipDockPos_x | |||
float shipDockPos_y | |||
float shipDockPos_z | |||
float shipDockRot_x | |||
float shipDockRot_y | |||
float shipDockRot_z | |||
float shipDockRot_w | |||
uint8 bool isStellar | |||
int32 nameIsIncludedFlag (0 or 1) | |||
string name (nameIsIncludedFlag > 0) | |||
int64 energy | |||
int64 energyPerTick | |||
int64 energyMax | |||
int32 warperCount | |||
int32 warperMaxCount | |||
int32 idleDroneCount | |||
int32 workDroneCount | |||
int32 numWorkDrones | |||
DroneData workDroneDatas[numWorkDrones] | |||
LocalLogisticOrder workDroneOrders[numWorkDrones] | |||
int32 idleShipCount | |||
int32 workShipCount | |||
uint64 idleShipIndices | |||
uint64 workShipIndices | |||
int32: Used for allocating array sizes for workShipDatas, shipRenderers, shipUIRenderers, workShipOrders, but not uses for read in the arrays. | |||
ShipData workShipDatas[workShipCount] | |||
RemoteLogisticOrder workShipOrders[workShipCount] | |||
int32 numStorage | |||
StationStore[numStorage] | |||
(version >= 1) { | |||
int32 numSlots | |||
slots[numSlots] { | |||
int32 dir | |||
int32 beltId | |||
int32 storageIdx | |||
int32 counter | |||
} | |||
} | |||
int32 localPairProcess | |||
int32 remotePairProcess | |||
int32 nextShipIndex | |||
uint8 bool isCollector | |||
int32 numCollectionIds | |||
int32 collectionIds[numCollectionIds] | |||
int32 numCollectionPerTick | |||
float collectionPerTick[numCollectionPerTick] | |||
int32 numCurrentCollections | |||
float currentCollections[numCurrentCollections] | |||
int32 collectSpeed | |||
double tripRangeDrones (version >= 2) | |||
double tripRangeShips (version >= 2) | |||
uint8 bool includeOrbitCollector (version >= 2) | |||
double warpEnableDist (version >= 2) | |||
uint8 bool warperNecessary (version >= 2) | |||
int32 deliveryDrones (version >= 2) | |||
int32 deliveryShips (version >= 2) | |||
} | |||
DroneData | |||
{ | |||
int32 version = 0 | |||
float begin_x | |||
float begin_y | |||
float begin_z | |||
float end_x | |||
float end_y | |||
float end_z | |||
int32 endId | |||
float direction | |||
float maxt | |||
float t | |||
int32 itemId | |||
int32 itemCount | |||
int32 gene | |||
} | |||
LocalLogisticOrder | |||
{ | |||
int32 version = 0 | |||
int32 otherStationId | |||
int32 thisIndex | |||
int32 otherIndex | |||
int32 itemId | |||
int32 thisOrdered | |||
int32 otherOrdered | |||
} | |||
ShipData | |||
{ | |||
int32 version = 0 | |||
int32 stage | |||
int32 planetA | |||
int32 planetB | |||
double uPos_x | |||
double uPos_y | |||
double uPos_z | |||
float uVel_x | |||
float uVel_y | |||
float uVel_z | |||
float uSpeed | |||
float warpState | |||
float uRot_x | |||
float uRot_y | |||
float uRot_z | |||
float uRot_w | |||
float uAngularVel_x | |||
float uAngularVel_y | |||
float uAngularVel_z | |||
float uAngularSpeed | |||
double pPosTemp_x | |||
double pPosTemp_y | |||
double pPosTemp_z | |||
float pRotTemp_x | |||
float pRotTemp_y | |||
float pRotTemp_z | |||
float pRotTemp_w | |||
int32 otherGId | |||
int32 direction | |||
float t | |||
int32 itemId | |||
int32 itemCount | |||
int32 gene | |||
int32 shipIndex | |||
int32 warperCnt | |||
} | |||
RemoteLogisticOrder | |||
{ | |||
int32 version = 0 | |||
int32 otherStationGId | |||
int32 thisIndex | |||
int32 otherIndex | |||
int32 itemId | |||
int32 thisOrdered | |||
int32 otherOrdered | |||
} | |||
StationStore | |||
{ | |||
int32 version = 0 | |||
int32 itemId | |||
int32 count | |||
int32 localOrder | |||
int32 remoteOrder | |||
int32 max | |||
int32 ELogisticStorage localLogic (None, Supply, Demand) | |||
int32 ELogisticStorage remoteLogic | |||
} | } | ||
MonsterSystem | MonsterSystem | ||
{ | { | ||
int32 version = 0 | |||
int32 monsterCapacity | |||
int32 monsterCursor | |||
int32 monsterRecycleCursor | |||
MonsterComponent monsterPool[monsterCursor] | |||
} | |||
MonsterComponent | |||
{ | |||
int32 version = 0 | |||
int32 id | |||
int32 entityId | |||
float walkSpeed | |||
float point0_x | |||
float point0_y | |||
float point0_z | |||
float point1_x | |||
float point1_y | |||
float point1_z | |||
float point2_x | |||
float point2_y | |||
float point2_z | |||
int32 direction | |||
float stopTime | |||
float t | |||
float stopCurrentTime | |||
int32 EMonsterState monsterState (Null, Stopped, Wandering) | |||
float stepDistance | |||
} | } | ||
PlatformSystem | PlatformSystem | ||
{ | { | ||
int32 version = 0 | |||
int32 reformDataByteCount | |||
uint8 reformData[reformDataByteCount]: If count exceeds a limit, count is read, but only the limit is used. | |||
int32 reformOffsetsByteCount | |||
uint32 reformOffsets[reformOffsetsByteCount]: If count exceeds a limit, count is read, but only the limit is used. | |||
} | } | ||
DysonSphere | DysonSphere | ||
{ | |||
int32 version = 2 | |||
(version >= 1) { | |||
int32 randSeed | |||
DysonSwarm | |||
int32 = 1212: File will be rejected if the value is not 1212 | |||
int32 layerCount | |||
} | |||
} | |||
DysonSwarm | |||
{ | { | ||