satisfactory-json
Advanced tools
Comparing version 0.0.8 to 0.0.9
@@ -34,5 +34,12 @@ import { Actor, Component, Entity, Property, SaveGame } from './types'; | ||
writeExtra(entity: Entity, className: string): void; | ||
writePowerLineExtra(entity: Entity): void; | ||
error(message: string): void; | ||
private writePowerLineExtra; | ||
private writeCircuitSubsystemExtra; | ||
private writeGameModeExtra; | ||
private writeGameStateExtra; | ||
private writeRailroadSubsystemExtra; | ||
private writePlayerStateExtra; | ||
private writeVehicleExtra; | ||
private writeConveyorBeltExtra; | ||
private error; | ||
} | ||
export {}; |
@@ -392,2 +392,34 @@ "use strict"; | ||
break; | ||
case '/Game/FactoryGame/-Shared/Blueprint/BP_CircuitSubsystem.BP_CircuitSubsystem_C': | ||
this.writeCircuitSubsystemExtra(entity); | ||
break; | ||
case '/Game/FactoryGame/-Shared/Blueprint/BP_GameMode.BP_GameMode_C': | ||
this.writeGameModeExtra(entity); | ||
break; | ||
case '/Game/FactoryGame/-Shared/Blueprint/BP_GameState.BP_GameState_C': | ||
this.writeGameStateExtra(entity); | ||
break; | ||
case '/Game/FactoryGame/-Shared/Blueprint/BP_RailroadSubsystem.BP_RailroadSubsystem_C': | ||
this.writeRailroadSubsystemExtra(entity); | ||
break; | ||
case '/Game/FactoryGame/Character/Player/BP_PlayerState.BP_PlayerState_C': | ||
this.writePlayerStateExtra(entity); | ||
break; | ||
case '/Game/FactoryGame/Buildable/Vehicle/Tractor/BP_Tractor.BP_Tractor_C': | ||
case '/Game/FactoryGame/Buildable/Vehicle/Truck/BP_Truck.BP_Truck_C': | ||
case '/Game/FactoryGame/Buildable/Vehicle/Explorer/BP_Explorer.BP_Explorer_C': | ||
this.writeVehicleExtra(entity); | ||
break; | ||
case '/Game/FactoryGame/Buildable/Factory/ConveyorBeltMk1/Build_ConveyorBeltMk1.Build_ConveyorBeltMk1_C': | ||
case '/Game/FactoryGame/Buildable/Factory/ConveyorBeltMk2/Build_ConveyorBeltMk2.Build_ConveyorBeltMk2_C': | ||
case '/Game/FactoryGame/Buildable/Factory/ConveyorBeltMk3/Build_ConveyorBeltMk3.Build_ConveyorBeltMk3_C': | ||
case '/Game/FactoryGame/Buildable/Factory/ConveyorBeltMk4/Build_ConveyorBeltMk4.Build_ConveyorBeltMk4_C': | ||
case '/Game/FactoryGame/Buildable/Factory/ConveyorBeltMk5/Build_ConveyorBeltMk5.Build_ConveyorBeltMk5_C': | ||
case '/Game/FactoryGame/Buildable/Factory/ConveyorBeltMk6/Build_ConveyorBeltMk6.Build_ConveyorBeltMk6_C': | ||
case '/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk1/Build_ConveyorLiftMk1.Build_ConveyorLiftMk1_C': | ||
case '/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk2/Build_ConveyorLiftMk2.Build_ConveyorLiftMk2_C': | ||
case '/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk3/Build_ConveyorLiftMk3.Build_ConveyorLiftMk3_C': | ||
case '/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk4/Build_ConveyorLiftMk4.Build_ConveyorLiftMk4_C': | ||
this.writeConveyorBeltExtra(entity); | ||
break; | ||
} | ||
@@ -401,2 +433,54 @@ } | ||
} | ||
writeCircuitSubsystemExtra(entity) { | ||
this.buffer.writeInt(entity.extra.circuits.length); | ||
for (const circuit of entity.extra.circuits) { | ||
this.buffer.writeHex(circuit.unknown); | ||
this.buffer.writeLengthPrefixedString(circuit.levelName); | ||
this.buffer.writeLengthPrefixedString(circuit.pathName); | ||
} | ||
} | ||
writeGameModeExtra(entity) { | ||
this.buffer.writeInt(entity.extra.objects.length); | ||
for (const object of entity.extra.objects) { | ||
this.buffer.writeLengthPrefixedString(object.levelName); | ||
this.buffer.writeLengthPrefixedString(object.pathName); | ||
} | ||
} | ||
writeGameStateExtra(entity) { | ||
this.buffer.writeInt(entity.extra.objects.length); | ||
for (const object of entity.extra.objects) { | ||
this.buffer.writeLengthPrefixedString(object.levelName); | ||
this.buffer.writeLengthPrefixedString(object.pathName); | ||
} | ||
} | ||
writeRailroadSubsystemExtra(entity) { | ||
this.buffer.writeInt(entity.extra.trains.length); | ||
for (const train of entity.extra.trains) { | ||
this.buffer.writeHex(train.unkown); | ||
this.buffer.writeLengthPrefixedString(train.levelName); | ||
this.buffer.writeLengthPrefixedString(train.pathName); | ||
this.buffer.writeLengthPrefixedString(train.levelSecond); | ||
this.buffer.writeLengthPrefixedString(train.pathSecond); | ||
this.buffer.writeLengthPrefixedString(train.levelTimetable); | ||
this.buffer.writeLengthPrefixedString(train.pathTimetable); | ||
} | ||
} | ||
writePlayerStateExtra(entity) { | ||
this.buffer.writeHex(entity.extra.unknown); | ||
} | ||
writeVehicleExtra(entity) { | ||
this.buffer.writeInt(entity.extra.objects.count); | ||
for (const object of entity.extra.objects) { | ||
this.buffer.writeLengthPrefixedString(object.name); | ||
this.buffer.writeHex(object.unknown); | ||
} | ||
} | ||
writeConveyorBeltExtra(entity) { | ||
this.buffer.writeInt(entity.extra.items.count); | ||
for (const item of entity.extra.items) { | ||
this.buffer.writeHex(item.unknown1); | ||
this.buffer.writeLengthPrefixedString(item.name); | ||
this.buffer.writeHex(item.unknown2); | ||
} | ||
} | ||
error(message) { | ||
@@ -403,0 +487,0 @@ console.trace('error: ' + message); |
@@ -28,5 +28,12 @@ /// <reference types="node" /> | ||
readExtra(entity: Entity, className: string): void; | ||
readPowerLineExtra(entity: Entity): void; | ||
error(message: string): void; | ||
private readPowerLineExtra; | ||
private readCircuitSubsystemExtra; | ||
private readGameModeExtra; | ||
private readGameStateExtra; | ||
private readRailroadSubsystemExtra; | ||
private readPlayerStateExtra; | ||
private readVehicleExtra; | ||
private readConveyorBeltExtra; | ||
private error; | ||
} | ||
export {}; |
@@ -649,2 +649,34 @@ "use strict"; | ||
break; | ||
case '/Game/FactoryGame/-Shared/Blueprint/BP_CircuitSubsystem.BP_CircuitSubsystem_C': | ||
this.readCircuitSubsystemExtra(entity); | ||
break; | ||
case '/Game/FactoryGame/-Shared/Blueprint/BP_GameMode.BP_GameMode_C': | ||
this.readGameModeExtra(entity); | ||
break; | ||
case '/Game/FactoryGame/-Shared/Blueprint/BP_GameState.BP_GameState_C': | ||
this.readGameStateExtra(entity); | ||
break; | ||
case '/Game/FactoryGame/-Shared/Blueprint/BP_RailroadSubsystem.BP_RailroadSubsystem_C': | ||
this.readRailroadSubsystemExtra(entity); | ||
break; | ||
case '/Game/FactoryGame/Character/Player/BP_PlayerState.BP_PlayerState_C': | ||
this.readPlayerStateExtra(entity); | ||
break; | ||
case '/Game/FactoryGame/Buildable/Vehicle/Tractor/BP_Tractor.BP_Tractor_C': | ||
case '/Game/FactoryGame/Buildable/Vehicle/Truck/BP_Truck.BP_Truck_C': | ||
case '/Game/FactoryGame/Buildable/Vehicle/Explorer/BP_Explorer.BP_Explorer_C': | ||
this.readVehicleExtra(entity); | ||
break; | ||
case '/Game/FactoryGame/Buildable/Factory/ConveyorBeltMk1/Build_ConveyorBeltMk1.Build_ConveyorBeltMk1_C': | ||
case '/Game/FactoryGame/Buildable/Factory/ConveyorBeltMk2/Build_ConveyorBeltMk2.Build_ConveyorBeltMk2_C': | ||
case '/Game/FactoryGame/Buildable/Factory/ConveyorBeltMk3/Build_ConveyorBeltMk3.Build_ConveyorBeltMk3_C': | ||
case '/Game/FactoryGame/Buildable/Factory/ConveyorBeltMk4/Build_ConveyorBeltMk4.Build_ConveyorBeltMk4_C': | ||
case '/Game/FactoryGame/Buildable/Factory/ConveyorBeltMk5/Build_ConveyorBeltMk5.Build_ConveyorBeltMk5_C': | ||
case '/Game/FactoryGame/Buildable/Factory/ConveyorBeltMk6/Build_ConveyorBeltMk6.Build_ConveyorBeltMk6_C': | ||
case '/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk1/Build_ConveyorLiftMk1.Build_ConveyorLiftMk1_C': | ||
case '/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk2/Build_ConveyorLiftMk2.Build_ConveyorLiftMk2_C': | ||
case '/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk3/Build_ConveyorLiftMk3.Build_ConveyorLiftMk3_C': | ||
case '/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk4/Build_ConveyorLiftMk4.Build_ConveyorLiftMk4_C': | ||
this.readConveyorBeltExtra(entity); | ||
break; | ||
} | ||
@@ -660,2 +692,92 @@ } | ||
} | ||
readCircuitSubsystemExtra(entity) { | ||
const circuitCount = this.buffer.readInt(); | ||
const circuits = []; | ||
for (let i = 0; i < circuitCount; i++) { | ||
circuits.push({ | ||
unknown: this.buffer.readHex(4), | ||
levelName: this.buffer.readLengthPrefixedString(), | ||
pathName: this.buffer.readLengthPrefixedString() | ||
}); | ||
} | ||
entity.extra = { | ||
circuits | ||
}; | ||
} | ||
readGameModeExtra(entity) { | ||
const objectCount = this.buffer.readInt(); | ||
const objects = []; | ||
for (let i = 0; i < objectCount; i++) { | ||
objects.push({ | ||
levelName: this.buffer.readLengthPrefixedString(), | ||
pathName: this.buffer.readLengthPrefixedString() | ||
}); | ||
} | ||
entity.extra = { | ||
objects | ||
}; | ||
} | ||
readGameStateExtra(entity) { | ||
const objectCount = this.buffer.readInt(); | ||
const objects = []; | ||
for (let i = 0; i < objectCount; i++) { | ||
objects.push({ | ||
levelName: this.buffer.readLengthPrefixedString(), | ||
pathName: this.buffer.readLengthPrefixedString() | ||
}); | ||
} | ||
entity.extra = { | ||
objects | ||
}; | ||
} | ||
readRailroadSubsystemExtra(entity) { | ||
const trainCount = this.buffer.readInt(); | ||
const trains = []; | ||
for (let i = 0; i < trainCount; i++) { | ||
trains.push({ | ||
unknown: this.buffer.readHex(4), | ||
levelName: this.buffer.readLengthPrefixedString(), | ||
pathName: this.buffer.readLengthPrefixedString(), | ||
worldSecond: this.buffer.readLengthPrefixedString(), | ||
entitySecond: this.buffer.readLengthPrefixedString(), | ||
worldTimetable: this.buffer.readLengthPrefixedString(), | ||
entityTimetable: this.buffer.readLengthPrefixedString() | ||
}); | ||
} | ||
entity.extra = { | ||
trains | ||
}; | ||
} | ||
readPlayerStateExtra(entity) { | ||
entity.extra = { | ||
unknown: this.buffer.readHex(18) | ||
}; | ||
} | ||
readVehicleExtra(entity) { | ||
const objectCount = this.buffer.readInt(); | ||
const objects = []; | ||
for (let i = 0; i < objectCount; i++) { | ||
objects.push({ | ||
name: this.buffer.readLengthPrefixedString(), | ||
unknown: this.buffer.readHex(53) | ||
}); | ||
} | ||
entity.extra = { | ||
objects | ||
}; | ||
} | ||
readConveyorBeltExtra(entity) { | ||
const itemCount = this.buffer.readInt(); | ||
const items = []; | ||
for (let i = 0; i < itemCount; i++) { | ||
items.push({ | ||
unknown1: this.buffer.readHex(4), | ||
name: this.buffer.readLengthPrefixedString(), | ||
unknown2: this.buffer.readHex(12), | ||
}); | ||
} | ||
entity.extra = { | ||
items | ||
}; | ||
} | ||
error(message) { | ||
@@ -662,0 +784,0 @@ console.trace('error: ' + message); |
{ | ||
"name": "satisfactory-json", | ||
"version": "0.0.8", | ||
"version": "0.0.9", | ||
"description": "Convert Satisfactory save files to JSON and back", | ||
@@ -5,0 +5,0 @@ "main": "lib/index.js", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
61481
1495