Socket
Socket
Sign inDemoInstall

satisfactory-json

Package Overview
Dependencies
Maintainers
1
Versions
63
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

satisfactory-json - npm Package Compare versions

Comparing version 0.0.6 to 0.0.7

14

lib/json2sav.d.ts

@@ -1,2 +0,2 @@

import { Entity } from './types';
import { Actor, Component, Entity, Property, SaveGame } from './types';
interface OutputBufferBuffer {

@@ -25,10 +25,10 @@ bytes: string;

buffer: OutputBuffer;
saveJson: any;
constructor(saveJson: any);
saveJson: SaveGame;
constructor(saveJson: SaveGame);
transform(): string | undefined;
writeActor(obj: any): void;
writeComponent(obj: any): void;
writeEntity(entity: any, withNames: boolean, className: string): void;
writeActor(obj: Actor): void;
writeComponent(obj: Component): void;
writeEntity(entity: Entity, withNames: boolean, className: string): void;
writeNone(): void;
writeProperty(property: any): void;
writeProperty(property: Property): void;
writeExtra(entity: Entity, className: string): void;

@@ -35,0 +35,0 @@ writePowerLineExtra(entity: Entity): void;

@@ -106,24 +106,18 @@ "use strict";

}
this.buffer.writeInt(saveJson.objects.length);
for (const obj of saveJson.objects) {
this.buffer.writeInt(saveJson.actors.length + saveJson.components.length);
for (const obj of saveJson.actors) {
this.buffer.writeInt(obj.type);
if (obj.type === 1) {
this.writeActor(obj);
}
else if (obj.type === 0) {
this.writeComponent(obj);
}
else {
this.error('uknown type ' + obj.type);
}
this.writeActor(obj);
}
this.buffer.writeInt(saveJson.objects.length);
for (const obj of saveJson.objects) {
if (obj.type === 1) {
this.writeEntity(obj.entity, true, obj.className);
}
else if (obj.type === 0) {
this.writeEntity(obj.entity, false, obj.className);
}
for (const obj of saveJson.components) {
this.buffer.writeInt(obj.type);
this.writeComponent(obj);
}
this.buffer.writeInt(saveJson.actors.length + saveJson.components.length);
for (const obj of saveJson.actors) {
this.writeEntity(obj.entity, true, obj.className);
}
for (const obj of saveJson.components) {
this.writeEntity(obj.entity, false, obj.className);
}
this.buffer.writeInt(saveJson.collected.length);

@@ -221,8 +215,9 @@ for (const obj of saveJson.collected) {

case 'TextProperty':
const textProperty = property;
this.buffer.writeByte(0, false);
this.buffer.writeInt(property.unkown1);
this.buffer.writeByte(property.unkown2);
this.buffer.writeInt(property.unkown3);
this.buffer.writeLengthPrefixedString(property.unknown4);
this.buffer.writeLengthPrefixedString(property.value);
this.buffer.writeInt(textProperty.unknown1);
this.buffer.writeByte(textProperty.unknown2);
this.buffer.writeInt(textProperty.unknown3);
this.buffer.writeLengthPrefixedString(textProperty.unknown4);
this.buffer.writeLengthPrefixedString(textProperty.value);
break;

@@ -250,6 +245,7 @@ case 'ByteProperty':

break;
case 'StructProperty':
this.buffer.writeLengthPrefixedString(property.value.type, false);
this.buffer.writeHex(property.structUnknown, false);
const structType = property.value.type;
case 'StructProperty': {
const structProperty = property;
this.buffer.writeLengthPrefixedString(structProperty.value.type, false);
this.buffer.writeHex(structProperty.structUnknown, false);
const structType = structProperty.value.type;
switch (structType) {

@@ -326,2 +322,3 @@ case 'Vector':

break;
}
case 'ArrayProperty':

@@ -351,8 +348,9 @@ const itemType = property.value.type;

case 'StructProperty':
this.buffer.writeLengthPrefixedString(property.structName);
this.buffer.writeLengthPrefixedString(property.structType);
const arrayProperty = property;
this.buffer.writeLengthPrefixedString(arrayProperty.structName);
this.buffer.writeLengthPrefixedString(arrayProperty.structType);
this.buffer.addBuffer();
this.buffer.writeInt(0, false);
this.buffer.writeLengthPrefixedString(property.structInnerType, false);
this.buffer.writeHex(property.structUnknown, false);
this.buffer.writeLengthPrefixedString(arrayProperty.structInnerType, false);
this.buffer.writeHex(arrayProperty.structUnknown, false);
for (const prop of property.value.values) {

@@ -359,0 +357,0 @@ const obj = prop;

/// <reference types="node" />
import { Actor, Entity, Component, Property, SaveGame } from './types';
import { Entity, Property, SaveGame } from './types';
declare class DataBuffer {

@@ -23,4 +23,4 @@ buffer: Buffer;

transform(): SaveGame | undefined;
readActor(buffer: DataBuffer): Actor;
readComponent(buffer: DataBuffer): Component;
readActor(buffer: DataBuffer): any;
readComponent(buffer: DataBuffer): any;
readEntity(buffer: DataBuffer, withNames: boolean, className: string): Entity;

@@ -27,0 +27,0 @@ readProperty(buffer: DataBuffer, properties: Property[]): boolean;

@@ -123,3 +123,4 @@ "use strict";

sessionVisibility: saveHeaderType > 4 ? buffer.readByte() : 0,
objects: [],
actors: [],
components: [],
collected: [],

@@ -135,6 +136,6 @@ missing: ''

if (type === 1) {
saveJson['objects'].push(this.readActor(buffer));
saveJson.actors.push(this.readActor(buffer));
}
else if (type === 0) {
saveJson['objects'].push(this.readComponent(buffer));
saveJson.components.push(this.readComponent(buffer));
}

@@ -157,8 +158,8 @@ else {

}
if (saveJson.objects[i].type === 1) {
saveJson.objects[i].entity = this.readEntity(buffer, true, saveJson.objects[i].className);
if (i < saveJson.actors.length) {
saveJson.actors[i].entity = this.readEntity(buffer, true, saveJson.actors[i].className);
}
else {
// type == 0
saveJson.objects[i].entity = this.readEntity(buffer, false, saveJson.objects[i].className);
saveJson.components[i - saveJson.actors.length].entity = this.readEntity(buffer, false, saveJson.components[i - saveJson.actors.length].className);
}

@@ -165,0 +166,0 @@ }

@@ -11,3 +11,4 @@ export interface SaveGame {

sessionVisibility: number;
objects: ActorOrComponent[];
actors: Actor[];
components: Component[];
collected: ObjectReference[];

@@ -28,3 +29,3 @@ missing: string;

wasPlacedInLevel: number;
entity?: Entity;
entity: Entity;
}

@@ -37,5 +38,4 @@ export interface Component {

outerPathName: string;
entity?: Entity;
entity: Entity;
}
export declare type ActorOrComponent = Actor | Component;
export interface Entity {

@@ -81,4 +81,6 @@ levelName?: string;

export interface ByteProperty extends BaseProperty {
unk1: string;
unk2: string;
value: {
unk1: string;
unk2: number;
};
}

@@ -103,6 +105,8 @@ export interface EnumProperty extends BaseProperty {

structInnerType?: string;
structUnknown?: string;
value: any;
}
export interface MapProperty extends BaseProperty {
value: any;
}
export declare type Property = IntProperty | BoolProperty | FloatProperty | StrProperty | NameProperty | TextProperty | ByteProperty | EnumProperty | ObjectProperty | StructProperty | ArrayProperty | MapProperty;
{
"name": "satisfactory-json",
"version": "0.0.6",
"version": "0.0.7",
"description": "Convert Satisfactory save files to JSON and back",

@@ -18,3 +18,5 @@ "main": "lib/index.js",

"build:watch": "tsc --watch",
"lint": "tslint --project \"./tsconfig.json\""
"lint": "tslint --project \"./tsconfig.json\"",
"prepublish": "yarn build",
"postversion": "git push && git push --tags"
},

@@ -21,0 +23,0 @@ "files": [

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc