@etothepii/satisfactory-file-parser 0.4.13 → 0.4.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/README.md +43 -22
- package/build/parser/byte/binary-readable.interface.d.ts +0 -3
- package/build/parser/byte/binary-writable.interface.d.ts +20 -0
- package/build/parser/byte/binary-writable.interface.js +2 -0
- package/build/parser/byte/byte-reader.class.d.ts +0 -3
- package/build/parser/byte/byte-reader.class.js +0 -8
- package/build/parser/byte/byte-writer.class.d.ts +6 -3
- package/build/parser/byte/byte-writer.class.js +3 -1
- package/build/parser/satisfactory/blueprint/blueprint-reader.js +8 -8
- package/build/parser/satisfactory/edit/edit-constants.d.ts +2 -0
- package/build/parser/satisfactory/edit/edit-constants.js +82 -158
- package/build/parser/satisfactory/objects/DataFields.js +9 -9
- package/build/parser/satisfactory/objects/SaveObject.d.ts +1 -1
- package/build/parser/satisfactory/objects/SaveObject.js +1 -1
- package/build/parser/satisfactory/objects/property/generic/FloatProperty.js +1 -1
- package/build/parser/satisfactory/objects/property/generic/StructProperty.js +11 -4
- package/build/parser/satisfactory/save/level.class.d.ts +1 -2
- package/build/parser/satisfactory/save/level.class.js +10 -15
- package/build/parser/satisfactory/save/save-reader.js +8 -4
- package/build/parser/satisfactory/save/save.types.d.ts +0 -25
- package/build/parser/satisfactory/structs/util.types.js +8 -8
- package/build/parser/stream/reworked/readable-stream-parser.d.ts +1 -0
- package/build/parser/stream/reworked/readable-stream-parser.js +28 -3
- package/package.json +1 -1
- package/build/parser/satisfactory/objects/ObjectReference.d.ts +0 -10
- package/build/parser/satisfactory/objects/ObjectReference.js +0 -17
- package/build/parser/satisfactory/objects/Property.d.ts +0 -272
- package/build/parser/satisfactory/objects/Property.js +0 -1177
- package/build/parser/satisfactory/objects/ue/FMD5Hash.d.ts +0 -7
- package/build/parser/satisfactory/objects/ue/FMD5Hash.js +0 -19
- package/build/parser/satisfactory/objects/ue/GUID.d.ts +0 -6
- package/build/parser/satisfactory/objects/ue/GUID.js +0 -21
- package/build/parser/satisfactory/save/asynchronous-level.class.d.ts +0 -9
- package/build/parser/satisfactory/save/asynchronous-level.class.js +0 -66
- package/build/parser/stream/byte-stream-reader.class.d.ts +0 -57
- package/build/parser/stream/byte-stream-reader.class.js +0 -241
- package/build/parser/stream/json-stream-state-writer.d.ts +0 -12
- package/build/parser/stream/json-stream-state-writer.js +0 -18
- package/build/parser/stream/json-stream-writable.d.ts +0 -20
- package/build/parser/stream/json-stream-writable.js +0 -83
- package/build/parser/stream/json-stream-writer.d.ts +0 -22
- package/build/parser/stream/json-stream-writer.js +0 -127
- package/build/parser/stream/reworked/stream-parser.d.ts +0 -6
- package/build/parser/stream/reworked/stream-parser.js +0 -31
- package/build/parser/stream/save-stream-json-stringifier.d.ts +0 -6
- package/build/parser/stream/save-stream-json-stringifier.js +0 -35
- package/build/parser/stream/save-stream-reader.class.d.ts +0 -15
- package/build/parser/stream/save-stream-reader.class.js +0 -121
- package/build/parser/stream/save-stream-writer.class.d.ts +0 -25
- package/build/parser/stream/save-stream-writer.class.js +0 -119
- package/build/parser/stream/stream-level.class.d.ts +0 -12
- package/build/parser/stream/stream-level.class.js +0 -103
- package/build/parser/stream/stream-parser.d.ts +0 -40
- package/build/parser/stream/stream-parser.js +0 -225
|
@@ -1,87 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.EDIT = void 0;
|
|
4
|
-
const TYPE_PATH_MINERMK1 = '/Game/FactoryGame/Buildable/Factory/MinerMK1/Build_MinerMk1.Build_MinerMk1_C';
|
|
5
|
-
const TYPE_PATH_MINERMK2 = '/Game/FactoryGame/Buildable/Factory/MinerMk2/Build_MinerMk2.Build_MinerMk2_C';
|
|
6
|
-
const TYPE_PATH_MINERMK3 = '/Game/FactoryGame/Buildable/Factory/MinerMk3/Build_MinerMk3.Build_MinerMk3_C';
|
|
7
|
-
const TYPE_PATH_WATER_EXTRACTOR = '/Game/FactoryGame/Buildable/Factory/WaterPump/Build_WaterPump.Build_WaterPump_C';
|
|
8
|
-
const TYPE_PATH_OIL_EXTRACTOR = '/Game/FactoryGame/Buildable/Factory/OilPump/Build_OilPump.Build_OilPump_C';
|
|
9
|
-
const TYPE_PATH_FRACKING_SMASHER = '/Game/FactoryGame/Buildable/Factory/FrackingSmasher/Build_FrackingSmasher.Build_FrackingSmasher_C';
|
|
10
|
-
const TYPE_PATH_FRACKING_EXTRACTOR = '/Game/FactoryGame/Buildable/Factory/FrackingExtractor/Build_FrackingExtractor.Build_FrackingExtractor_C';
|
|
11
|
-
const TYPE_PATH_TREE_GIFT_PRODUCER = '/Game/FactoryGame/Buildable/Factory/Holiday/Build_TreeGiftProducer/Build_TreeGiftProducer.Build_TreeGiftProducer_C';
|
|
12
|
-
const TYPE_PATH_REFINERY = '/Game/FactoryGame/Buildable/Factory/OilRefinery/Build_OilRefinery.Build_OilRefinery_C';
|
|
13
|
-
const TYPE_PATH_BLENDER = '/Game/FactoryGame/Buildable/Factory/Blender/Build_Blender.Build_Blender_C';
|
|
14
|
-
const TYPE_PATH_SMELTER = '/Game/FactoryGame/Buildable/Factory/SmelterMk1/Build_SmelterMk1.Build_SmelterMk1_C';
|
|
15
|
-
const TYPE_PATH_CONSTRUCTOR = '/Game/FactoryGame/Buildable/Factory/ConstructorMk1/Build_ConstructorMk1.Build_ConstructorMk1_C';
|
|
16
|
-
const TYPE_PATH_ASSEMBLER = '/Game/FactoryGame/Buildable/Factory/AssemblerMk1/Build_AssemblerMk1.Build_AssemblerMk1_C';
|
|
17
|
-
const TYPE_PATH_MANUFACTURER = '/Game/FactoryGame/Buildable/Factory/ManufacturerMk1/Build_ManufacturerMk1.Build_ManufacturerMk1_C';
|
|
18
|
-
const TYPE_PATH_PARTICLE_ACCELERATOR = '/Game/FactoryGame/Buildable/Factory/HadronCollider/Build_HadronCollider.Build_HadronCollider_C';
|
|
19
|
-
const TYPE_PATH_FOUNDRY = '/Game/FactoryGame/Buildable/Factory/FoundryMk1/Build_FoundryMk1.Build_FoundryMk1_C';
|
|
20
|
-
const TYPE_PATH_PACKAGER = '/Game/FactoryGame/Buildable/Factory/Packager/Build_Packager.Build_Packager_C';
|
|
21
|
-
const RECIPE_PACKAGER = '/Game/FactoryGame/Recipes/Buildings/Recipe_Packager.Recipe_Packager_C';
|
|
22
|
-
const TYPE_PATH_CONTAINER_MK1 = '/Game/FactoryGame/Buildable/Factory/StorageContainerMk1/Build_StorageContainerMk1.Build_StorageContainerMk1_C';
|
|
23
|
-
const CLASS_NAME_CONTAINER_MK1 = 'Build_StorageContainerMk1_C';
|
|
24
|
-
const TYPE_PATH_CONTAINER_MK2 = '/Game/FactoryGame/Buildable/Factory/StorageContainerMk2/Build_StorageContainerMk2.Build_StorageContainerMk2_C';
|
|
25
|
-
const CLASS_NAME_CONTAINER_MK2 = 'Build_StorageContainerMk2_C';
|
|
26
|
-
const TYPE_PATH_FLUID_BUFFER_MK1 = '/Game/FactoryGame/Buildable/Factory/StorageTank/Build_PipeStorageTank.Build_PipeStorageTank_C';
|
|
27
|
-
const CLASS_NAME_FLUID_BUFFER_MK1 = 'Build_PipeStorageTank_C';
|
|
28
|
-
const RECIPE_FLUID_BUFFER_MK1 = '/Game/FactoryGame/Recipes/Buildings/Recipe_PipeStorageTank.Recipe_PipeStorageTank_C';
|
|
29
|
-
const TYPE_PATH_FLUID_BUFFER_MK2 = '/Game/FactoryGame/Buildable/Factory/IndustrialFluidContainer/Build_IndustrialTank.Build_IndustrialTank_C';
|
|
30
|
-
const CLASS_NAME_FLUID_BUFFER_MK2 = 'Build_IndustrialTank_C';
|
|
31
|
-
const RECIPE_FLUID_BUFFER_MK2 = '/Game/FactoryGame/Recipes/Buildings/Recipe_IndustrialTank.Recipe_IndustrialTank_C';
|
|
32
|
-
const TYPE_PATH_PLAYER_CRATE = '/Game/FactoryGame/-Shared/Crate/BP_Crate.BP_Crate_C';
|
|
33
|
-
const CLASS_NAME_PLAYER_CRATE = 'BP_Crate_C';
|
|
34
|
-
const TYPE_PATH_PLAYER_HAZARD_CRATE = '/Game/FactoryGame/Buildable/Factory/StoragePlayer/Build_StorageHazard.Build_StorageHazard_C';
|
|
35
|
-
const CLASS_NAME_PLAYER_HAZARD_CRATE = 'Build_StorageHazard_C';
|
|
36
|
-
const RECIPE_PLAYER_HAZARD_CRATE = '/Game/FactoryGame/Recipes/Buildings/Recipe_StorageHazard.Recipe_StorageHazard_C';
|
|
37
|
-
const TYPE_PATH_PLAYER_STORAGE_CRATE_INTEGRATED = '/Game/FactoryGame/Buildable/Factory/StoragePlayer/Build_StorageIntegrated.Build_StorageIntegrated_C';
|
|
38
|
-
const CLASS_NAME_PLAYER_STORAGE_CRATE_INTEGRATED = 'Build_StorageIntegrated_C';
|
|
39
|
-
const TYPE_PATH_PLAYER_STORAGE_CRATE = '/Game/FactoryGame/Buildable/Factory/StoragePlayer/Build_StoragePlayer.Build_StoragePlayer_C';
|
|
40
|
-
const CLASS_NAME_PLAYER_STORAGE_CRATE = 'Build_StoragePlayer_C';
|
|
41
|
-
const TYPE_PATH_PLAYER_MEDICAL_CRATE = '/Game/FactoryGame/Buildable/Factory/StoragePlayer/Build_StorageMedkit.Build_StorageMedkit_C';
|
|
42
|
-
const CLASS_NAME_PLAYER_MEDICAL_CRATE = 'Build_StorageMedkit_C';
|
|
43
|
-
const RECIPE_WALL_GATE_8x4_01 = '/Game/FactoryGame/Recipes/Buildings/Walls/Recipe_Wall_Gate_8x4_01.Recipe_Wall_Gate_8x4_01_C';
|
|
44
|
-
const RECIPE_WALL_WINDOW_8x4_01 = '/Game/FactoryGame/Recipes/Buildings/Walls/Recipe_Wall_Window_8x4_01.Recipe_Wall_Window_8x4_01_C';
|
|
45
|
-
const TYPE_PATH_WALL_DOOR_8x4_01 = '/Game/FactoryGame/Buildable/Building/Wall/Build_Wall_Door_8x4_01.Build_Wall_Door_8x4_01_C';
|
|
46
|
-
const CLASS_NAME_WALL_DOOR_8x4_01 = 'Build_Wall_Door_8x4_01_C';
|
|
47
|
-
const RECIPE_WALL_DOOR_8x4_01 = '/Game/FactoryGame/Recipes/Buildings/Walls/Recipe_Wall_Door_8x4_01.Recipe_Wall_Door_8x4_01_C';
|
|
48
|
-
const TYPE_PATH_HEALTH_COMPONENT = '/Script/FactoryGame.FGHealthComponent';
|
|
49
|
-
const TYPE_PATH_INVENTORY_COMPONENT = '/Script/FactoryGame.FGInventoryComponent';
|
|
50
|
-
const TYPE_PATH_POWER_CONNECTION_COMPONENT = '/Script/FactoryGame.FGPowerConnectionComponent';
|
|
51
|
-
const TYPE_PATH_RAILWAY_CONNECTION_COMPONENT = '/Script/FactoryGame.FGRailroadTrackConnectionComponent';
|
|
52
|
-
const TYPE_PATH_FACTORY_CONNECTION_COMPONENT = '/Script/FactoryGame.FGFactoryConnectionComponent';
|
|
53
|
-
const FACTORY_CONNECTION_ENUM_BASE = 'EFactoryConnectionDirection';
|
|
54
|
-
const FACTORY_CONNECTION_ENUM_INPUT = FACTORY_CONNECTION_ENUM_BASE + '::FCD_INPUT';
|
|
55
|
-
const FACTORY_CONNECTION_ENUM_OUTPUT = FACTORY_CONNECTION_ENUM_BASE + '::FCD_OUTPUT';
|
|
56
|
-
const TYPE_PATH_LIZARD_DOGGO = '/Game/FactoryGame/Character/Creature/Wildlife/SpaceRabbit/Char_SpaceRabbit.Char_SpaceRabbit_C';
|
|
57
|
-
const CLASS_NAME_LIZARD_DOGGO = 'Char_SpaceRabbit_C';
|
|
58
|
-
const TYPE_PATH_SPACE_GIRAFFE = '/Game/FactoryGame/Character/Creature/Wildlife/SpaceGiraffe/Char_SpaceGiraffe.Char_SpaceGiraffe_C';
|
|
59
|
-
const CLASS_NAME_SPACE_GIRAFFE = 'Char_SpaceGiraffe_C';
|
|
60
|
-
const TYPE_PATH_BIRD = '/Game/FactoryGame/Character/Creature/Wildlife/NonFlyingBird/Char_NonFlyingBird.Char_NonFlyingBird_C';
|
|
61
|
-
const CLASS_NAME_BIRD = 'Char_NonFlyingBird_C';
|
|
62
|
-
const TYPE_PATH_SIGN_SMALL = '/Game/FactoryGame/Buildable/Factory/SignDigital/Build_StandaloneWidgetSign_Small.Build_StandaloneWidgetSign_Small_C';
|
|
63
|
-
const CLASS_NAME_SIGN_SMALL = 'Build_StandaloneWidgetSign_Small_C';
|
|
64
|
-
const RECIPE_SIGN_SMALL = '/Game/FactoryGame/Recipes/Buildings/Recipe_StandaloneWidgetSign_Small.Recipe_StandaloneWidgetSign_Small_C';
|
|
65
|
-
const TYPE_PATH_SIGN_SMALL_WIDE = '/Game/FactoryGame/Buildable/Factory/SignDigital/Build_StandaloneWidgetSign_SmallWide.Build_StandaloneWidgetSign_SmallWide_C';
|
|
66
|
-
const CLASS_NAME_SIGN_SMALL_WIDE = 'Build_StandaloneWidgetSign_SmallWide_C';
|
|
67
|
-
const PREFAB_LAYOUT_SIGN_4x1_1 = '/Game/FactoryGame/Interface/UI/InGame/Signs/SignLayouts/BPW_Sign4x1_1.BPW_Sign4x1_1_C';
|
|
68
|
-
const RECIPE_SIGN_SMALL_WIDE = '/Game/FactoryGame/Recipes/Buildings/Recipe_StandaloneWidgetSign_SmallWide.Recipe_StandaloneWidgetSign_SmallWide_C';
|
|
69
|
-
const TYPE_PATH_SIGN_PORTRAIT = '/Game/FactoryGame/Buildable/Factory/SignDigital/Build_StandaloneWidgetSign_Portrait.Build_StandaloneWidgetSign_Portrait_C';
|
|
70
|
-
const CLASS_NAME_SIGN_PORTRAIT = 'Build_StandaloneWidgetSign_Portrait_C';
|
|
71
|
-
const PREFAB_LAYOUT_SIGN_PORTRAIT = '/Game/FactoryGame/Interface/UI/InGame/Signs/SignLayouts/BPW_Sign2x3_0.BPW_Sign2x3_0_C';
|
|
72
|
-
const RECIPE_SIGN_PORTRAIT = '/Game/FactoryGame/Recipes/Buildings/Recipe_StandaloneWidgetSign_Portrait.Recipe_StandaloneWidgetSign_Portrait_C';
|
|
73
|
-
const TYPE_PATH_PIPE_NETWORK = '/Script/FactoryGame.FGPipeNetwork';
|
|
74
|
-
const TYPE_PATH_RAILROADTRACK = '/Game/FactoryGame/Buildable/Factory/Train/Track/Build_RailroadTrack.Build_RailroadTrack_C';
|
|
75
|
-
const CLASS_NAME_RAILROADTRACK = 'Build_RailroadTrack_C';
|
|
76
|
-
const RECIPE_RAILROADTRACK = '/Game/FactoryGame/Recipes/Buildings/Recipe_RailroadTrack.Recipe_RailroadTrack_C';
|
|
77
|
-
const TYPE_PATH_POWER_POLE_MK2 = '/Game/FactoryGame/Buildable/Factory/PowerPoleMk2/Build_PowerPoleMk2.Build_PowerPoleMk2_C';
|
|
78
|
-
const CLASS_NAME_POLWER_POLE_MK2 = 'Build_PowerPoleMk2_C';
|
|
79
|
-
const TYPE_PATH_POWERLINE = '/Game/FactoryGame/Buildable/Factory/PowerLine/Build_PowerLine.Build_PowerLine_C';
|
|
80
|
-
const CLASS_NAME_POWERLINE = 'Build_PowerLine_C';
|
|
81
4
|
const SWATCH_DESC_CONCRETE = '/Game/FactoryGame/Buildable/-Shared/Customization/Swatches/SwatchDesc_Concrete.SwatchDesc_Concrete_C';
|
|
82
5
|
const SWATCH_SLOT_DEFAULT_0 = '/Game/FactoryGame/Buildable/-Shared/Customization/Swatches/SwatchDesc_Slot0.SwatchDesc_Slot0_C';
|
|
83
6
|
const SWATCH_SLOT_DEFAULT_FOUNDATIONS = '/Game/FactoryGame/Buildable/-Shared/Customization/Swatches/SwatchDesc_Slot16.SwatchDesc_Slot16_C';
|
|
84
|
-
const PATTERN_FULL_FACTORY_ZONE = '/Game/FactoryGame/Buildable/-Shared/Customization/Patterns/Zones/PatternDesc_ZoneFull.PatternDesc_ZoneFull_C';
|
|
85
7
|
exports.EDIT = {
|
|
86
8
|
ENTITIES: {
|
|
87
9
|
FOUNDATION: {
|
|
@@ -1097,7 +1019,7 @@ exports.EDIT = {
|
|
|
1097
1019
|
},
|
|
1098
1020
|
GATE: {
|
|
1099
1021
|
NORMAL_WALL_GATE: {
|
|
1100
|
-
RECIPE:
|
|
1022
|
+
RECIPE: '/Game/FactoryGame/Recipes/Buildings/Walls/Recipe_Wall_Gate_8x4_01.Recipe_Wall_Gate_8x4_01_C',
|
|
1101
1023
|
TYPE_PATH: '/Game/FactoryGame/Buildable/Building/Wall/Build_Wall_Gate_8x4_01.Build_Wall_Gate_8x4_01_C',
|
|
1102
1024
|
CLASS_NAME: 'Build_Wall_Gate_8x4_01_C',
|
|
1103
1025
|
},
|
|
@@ -1160,9 +1082,9 @@ exports.EDIT = {
|
|
|
1160
1082
|
},
|
|
1161
1083
|
DOOR: {
|
|
1162
1084
|
NORMAL_CENTER: {
|
|
1163
|
-
RECIPE:
|
|
1164
|
-
TYPE_PATH:
|
|
1165
|
-
CLASS_NAME:
|
|
1085
|
+
RECIPE: '/Game/FactoryGame/Recipes/Buildings/Walls/Recipe_Wall_Door_8x4_01.Recipe_Wall_Door_8x4_01_C',
|
|
1086
|
+
TYPE_PATH: '/Game/FactoryGame/Buildable/Building/Wall/Build_Wall_Door_8x4_01.Build_Wall_Door_8x4_01_C',
|
|
1087
|
+
CLASS_NAME: 'Build_Wall_Door_8x4_01_C',
|
|
1166
1088
|
},
|
|
1167
1089
|
NORMAL_SIDE: {
|
|
1168
1090
|
TYPE_PATH: '/Game/FactoryGame/Buildable/Building/Wall/Build_Wall_Door_8x4_03.Build_Wall_Door_8x4_03_C',
|
|
@@ -1195,7 +1117,7 @@ exports.EDIT = {
|
|
|
1195
1117
|
CLASS_NAME: 'Build_Wall_Window_Thin_8x4_02_C'
|
|
1196
1118
|
},
|
|
1197
1119
|
NORMAL_8x4_01: {
|
|
1198
|
-
RECIPE:
|
|
1120
|
+
RECIPE: '/Game/FactoryGame/Recipes/Buildings/Walls/Recipe_Wall_Window_8x4_01.Recipe_Wall_Window_8x4_01_C',
|
|
1199
1121
|
TYPE_PATH: '/Game/FactoryGame/Buildable/Building/Wall/Build_Wall_Window_8x4_01.Build_Wall_Window_8x4_01_C',
|
|
1200
1122
|
CLASS_NAME: 'Build_Wall_Window_8x4_01_C',
|
|
1201
1123
|
},
|
|
@@ -1705,24 +1627,26 @@ exports.EDIT = {
|
|
|
1705
1627
|
CLASS_NAME: 'Build_PowerPoleMk1_C',
|
|
1706
1628
|
},
|
|
1707
1629
|
POWER_POLE_MK2: {
|
|
1708
|
-
TYPE_PATH:
|
|
1709
|
-
CLASS_NAME:
|
|
1630
|
+
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/PowerPoleMk2/Build_PowerPoleMk2.Build_PowerPoleMk2_C',
|
|
1631
|
+
CLASS_NAME: 'Build_PowerPoleMk2_C'
|
|
1710
1632
|
},
|
|
1711
1633
|
POWER_POLE_MK3: {
|
|
1712
1634
|
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/PowerPoleMk3/Build_PowerPoleMk3.Build_PowerPoleMk3_C',
|
|
1713
1635
|
CLASS_NAME: 'Build_PowerPoleMk3_C'
|
|
1714
1636
|
},
|
|
1715
1637
|
POWER_POLE_WALL_MK1: {
|
|
1716
|
-
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/PowerPoleWall/Build_PowerPoleWall.Build_PowerPoleWall_C'
|
|
1638
|
+
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/PowerPoleWall/Build_PowerPoleWall.Build_PowerPoleWall_C',
|
|
1639
|
+
CLASS_NAME: 'Build_PowerPoleWall_C'
|
|
1717
1640
|
},
|
|
1718
1641
|
POWER_POLE_WALL_MK2: {
|
|
1719
|
-
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/PowerPoleWall/Build_PowerPoleWall_Mk2.Build_PowerPoleWall_Mk2_C'
|
|
1642
|
+
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/PowerPoleWall/Build_PowerPoleWall_Mk2.Build_PowerPoleWall_Mk2_C',
|
|
1643
|
+
CLASS_NAME: 'Build_PowerPoleWall_Mk2_C'
|
|
1720
1644
|
},
|
|
1721
1645
|
},
|
|
1722
1646
|
POWER_LINE: {
|
|
1723
1647
|
POWER_LINE: {
|
|
1724
|
-
TYPE_PATH:
|
|
1725
|
-
CLASS_NAME:
|
|
1648
|
+
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/PowerLine/Build_PowerLine.Build_PowerLine_C',
|
|
1649
|
+
CLASS_NAME: 'Build_PowerLine_C'
|
|
1726
1650
|
},
|
|
1727
1651
|
POWER_LINE_XMAS: {
|
|
1728
1652
|
TYPE_PATH: '/Game/FactoryGame/Events/Christmas/Buildings/PowerLineLights/Build_XmassLightsLine.Build_XmassLightsLine_C',
|
|
@@ -1741,9 +1665,9 @@ exports.EDIT = {
|
|
|
1741
1665
|
}
|
|
1742
1666
|
},
|
|
1743
1667
|
RAILROAD: {
|
|
1744
|
-
TYPE_PATH:
|
|
1745
|
-
CLASS_NAME:
|
|
1746
|
-
RECIPE:
|
|
1668
|
+
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/Train/Track/Build_RailroadTrack.Build_RailroadTrack_C',
|
|
1669
|
+
CLASS_NAME: 'Build_RailroadTrack_C',
|
|
1670
|
+
RECIPE: '/Game/FactoryGame/Recipes/Buildings/Recipe_RailroadTrack.Recipe_RailroadTrack_C'
|
|
1747
1671
|
},
|
|
1748
1672
|
HUB_TERMINAL: {
|
|
1749
1673
|
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/HubTerminal/Build_HubTerminal.Build_HubTerminal_C',
|
|
@@ -1878,7 +1802,7 @@ exports.EDIT = {
|
|
|
1878
1802
|
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/PipelineMk2/Build_PipelineMK2.Build_PipelineMK2_C'
|
|
1879
1803
|
},
|
|
1880
1804
|
PIPELINE_NETWORK: {
|
|
1881
|
-
TYPE_PATH:
|
|
1805
|
+
TYPE_PATH: '/Script/FactoryGame.FGPipeNetwork'
|
|
1882
1806
|
}
|
|
1883
1807
|
},
|
|
1884
1808
|
RADAR_TOWER: {
|
|
@@ -1891,57 +1815,57 @@ exports.EDIT = {
|
|
|
1891
1815
|
},
|
|
1892
1816
|
EXTRACTOR: {
|
|
1893
1817
|
MINER_MK_1: {
|
|
1894
|
-
TYPE_PATH:
|
|
1818
|
+
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/MinerMK1/Build_MinerMk1.Build_MinerMk1_C'
|
|
1895
1819
|
},
|
|
1896
1820
|
MINER_MK_2: {
|
|
1897
|
-
TYPE_PATH:
|
|
1821
|
+
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/MinerMk2/Build_MinerMk2.Build_MinerMk2_C'
|
|
1898
1822
|
},
|
|
1899
1823
|
MINER_MK_3: {
|
|
1900
|
-
TYPE_PATH:
|
|
1824
|
+
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/MinerMk3/Build_MinerMk3.Build_MinerMk3_C'
|
|
1901
1825
|
},
|
|
1902
1826
|
WATER_EXTRACTOR: {
|
|
1903
|
-
TYPE_PATH:
|
|
1827
|
+
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/WaterPump/Build_WaterPump.Build_WaterPump_C'
|
|
1904
1828
|
},
|
|
1905
1829
|
OIL_EXTRACTOR: {
|
|
1906
|
-
TYPE_PATH:
|
|
1830
|
+
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/OilPump/Build_OilPump.Build_OilPump_C'
|
|
1907
1831
|
},
|
|
1908
1832
|
WELL_PRESSURIZER: {
|
|
1909
|
-
TYPE_PATH:
|
|
1833
|
+
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/FrackingSmasher/Build_FrackingSmasher.Build_FrackingSmasher_C'
|
|
1910
1834
|
},
|
|
1911
1835
|
WELL_EXTRACTOR: {
|
|
1912
|
-
TYPE_PATH:
|
|
1836
|
+
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/FrackingExtractor/Build_FrackingExtractor.Build_FrackingExtractor_C'
|
|
1913
1837
|
},
|
|
1914
1838
|
GIFT_PRODUCER: {
|
|
1915
|
-
TYPE_PATH:
|
|
1839
|
+
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/Holiday/Build_TreeGiftProducer/Build_TreeGiftProducer.Build_TreeGiftProducer_C'
|
|
1916
1840
|
},
|
|
1917
1841
|
},
|
|
1918
1842
|
FACTORY: {
|
|
1919
1843
|
CONSTRUCTOR: {
|
|
1920
|
-
TYPE_PATH:
|
|
1844
|
+
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/ConstructorMk1/Build_ConstructorMk1.Build_ConstructorMk1_C'
|
|
1921
1845
|
},
|
|
1922
1846
|
SMELTER: {
|
|
1923
|
-
TYPE_PATH:
|
|
1847
|
+
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/SmelterMk1/Build_SmelterMk1.Build_SmelterMk1_C'
|
|
1924
1848
|
},
|
|
1925
1849
|
REFINERY: {
|
|
1926
|
-
TYPE_PATH:
|
|
1850
|
+
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/OilRefinery/Build_OilRefinery.Build_OilRefinery_C'
|
|
1927
1851
|
},
|
|
1928
1852
|
BLENDER: {
|
|
1929
|
-
TYPE_PATH:
|
|
1853
|
+
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/Blender/Build_Blender.Build_Blender_C'
|
|
1930
1854
|
},
|
|
1931
1855
|
ASSEMBLER: {
|
|
1932
|
-
TYPE_PATH:
|
|
1856
|
+
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/AssemblerMk1/Build_AssemblerMk1.Build_AssemblerMk1_C'
|
|
1933
1857
|
},
|
|
1934
1858
|
MANUFACTURER: {
|
|
1935
|
-
TYPE_PATH:
|
|
1859
|
+
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/ManufacturerMk1/Build_ManufacturerMk1.Build_ManufacturerMk1_C'
|
|
1936
1860
|
},
|
|
1937
1861
|
FOUNDRY: {
|
|
1938
|
-
TYPE_PATH:
|
|
1862
|
+
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/FoundryMk1/Build_FoundryMk1.Build_FoundryMk1_C'
|
|
1939
1863
|
},
|
|
1940
1864
|
PACKAGER: {
|
|
1941
|
-
TYPE_PATH:
|
|
1865
|
+
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/Packager/Build_Packager.Build_Packager_C'
|
|
1942
1866
|
},
|
|
1943
1867
|
PARTICLE_ACCELERATOR: {
|
|
1944
|
-
TYPE_PATH:
|
|
1868
|
+
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/HadronCollider/Build_HadronCollider.Build_HadronCollider_C'
|
|
1945
1869
|
},
|
|
1946
1870
|
CONVERTER: {
|
|
1947
1871
|
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/Converter/Build_Converter.Build_Converter_C'
|
|
@@ -1983,47 +1907,47 @@ exports.EDIT = {
|
|
|
1983
1907
|
},
|
|
1984
1908
|
STORAGE: {
|
|
1985
1909
|
CONTAINER_MK_1: {
|
|
1986
|
-
TYPE_PATH:
|
|
1987
|
-
CLASS_NAME:
|
|
1910
|
+
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/StorageContainerMk1/Build_StorageContainerMk1.Build_StorageContainerMk1_C',
|
|
1911
|
+
CLASS_NAME: 'Build_StorageContainerMk1_C'
|
|
1988
1912
|
},
|
|
1989
1913
|
CONTAINER_MK_2: {
|
|
1990
|
-
TYPE_PATH:
|
|
1991
|
-
CLASS_NAME:
|
|
1914
|
+
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/StorageContainerMk2/Build_StorageContainerMk2.Build_StorageContainerMk2_C',
|
|
1915
|
+
CLASS_NAME: 'Build_StorageContainerMk2_C'
|
|
1992
1916
|
},
|
|
1993
1917
|
CENTRAL_STORAGE: {
|
|
1994
1918
|
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/CentralStorage/Build_CentralStorage.Build_CentralStorage_C',
|
|
1995
1919
|
CLASS_NAME: 'Build_CentralStorage_C'
|
|
1996
1920
|
},
|
|
1997
1921
|
FLUID_BUFFER_MK_1: {
|
|
1998
|
-
TYPE_PATH:
|
|
1999
|
-
CLASS_NAME:
|
|
2000
|
-
RECIPE:
|
|
1922
|
+
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/StorageTank/Build_PipeStorageTank.Build_PipeStorageTank_C',
|
|
1923
|
+
CLASS_NAME: 'Build_PipeStorageTank_C',
|
|
1924
|
+
RECIPE: '/Game/FactoryGame/Recipes/Buildings/Recipe_PipeStorageTank.Recipe_PipeStorageTank_C'
|
|
2001
1925
|
},
|
|
2002
1926
|
FLUID_BUFFER_MK_2: {
|
|
2003
|
-
TYPE_PATH:
|
|
2004
|
-
CLASS_NAME:
|
|
2005
|
-
RECIPE:
|
|
1927
|
+
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/IndustrialFluidContainer/Build_IndustrialTank.Build_IndustrialTank_C',
|
|
1928
|
+
CLASS_NAME: 'Build_IndustrialTank_C',
|
|
1929
|
+
RECIPE: '/Game/FactoryGame/Recipes/Buildings/Recipe_IndustrialTank.Recipe_IndustrialTank_C'
|
|
2006
1930
|
},
|
|
2007
1931
|
PLAYER_CRATE: {
|
|
2008
|
-
TYPE_PATH:
|
|
2009
|
-
CLASS_NAME:
|
|
1932
|
+
TYPE_PATH: '/Game/FactoryGame/-Shared/Crate/BP_Crate.BP_Crate_C',
|
|
1933
|
+
CLASS_NAME: 'BP_Crate_C'
|
|
2010
1934
|
},
|
|
2011
1935
|
PLAYER_STORAGE_CRATE: {
|
|
2012
|
-
TYPE_PATH:
|
|
2013
|
-
CLASS_NAME:
|
|
1936
|
+
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/StoragePlayer/Build_StoragePlayer.Build_StoragePlayer_C',
|
|
1937
|
+
CLASS_NAME: 'Build_StoragePlayer_C'
|
|
2014
1938
|
},
|
|
2015
1939
|
STORAGE_CRATE_INTEGRATED: {
|
|
2016
|
-
TYPE_PATH:
|
|
2017
|
-
CLASS_NAME:
|
|
1940
|
+
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/StoragePlayer/Build_StorageIntegrated.Build_StorageIntegrated_C',
|
|
1941
|
+
CLASS_NAME: 'Build_StorageIntegrated_C'
|
|
2018
1942
|
},
|
|
2019
1943
|
PLAYER_HAZARD_CRATE: {
|
|
2020
|
-
TYPE_PATH:
|
|
2021
|
-
CLASS_NAME:
|
|
2022
|
-
RECIPE:
|
|
1944
|
+
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/StoragePlayer/Build_StorageHazard.Build_StorageHazard_C',
|
|
1945
|
+
CLASS_NAME: 'Build_StorageHazard_C',
|
|
1946
|
+
RECIPE: '/Game/FactoryGame/Recipes/Buildings/Recipe_StorageHazard.Recipe_StorageHazard_C'
|
|
2023
1947
|
},
|
|
2024
1948
|
PLAYER_MEDICAL_CRATE: {
|
|
2025
|
-
TYPE_PATH:
|
|
2026
|
-
CLASS_NAME:
|
|
1949
|
+
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/StoragePlayer/Build_StorageMedkit.Build_StorageMedkit_C',
|
|
1950
|
+
CLASS_NAME: 'Build_StorageMedkit_C'
|
|
2027
1951
|
},
|
|
2028
1952
|
},
|
|
2029
1953
|
POTTY: {
|
|
@@ -2040,16 +1964,16 @@ exports.EDIT = {
|
|
|
2040
1964
|
CLASS_NAME: 'Build_StandaloneWidgetSign_Huge_C'
|
|
2041
1965
|
},
|
|
2042
1966
|
SMALL: {
|
|
2043
|
-
TYPE_PATH:
|
|
2044
|
-
CLASS_NAME:
|
|
2045
|
-
RECIPE:
|
|
2046
|
-
PREFAB_LAYOUT:
|
|
1967
|
+
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/SignDigital/Build_StandaloneWidgetSign_Small.Build_StandaloneWidgetSign_Small_C',
|
|
1968
|
+
CLASS_NAME: 'Build_StandaloneWidgetSign_Small_C',
|
|
1969
|
+
RECIPE: '/Game/FactoryGame/Recipes/Buildings/Recipe_StandaloneWidgetSign_Small.Recipe_StandaloneWidgetSign_Small_C',
|
|
1970
|
+
PREFAB_LAYOUT: '/Game/FactoryGame/Interface/UI/InGame/Signs/SignLayouts/BPW_Sign4x1_1.BPW_Sign4x1_1_C'
|
|
2047
1971
|
},
|
|
2048
1972
|
SMALL_WIDE: {
|
|
2049
|
-
TYPE_PATH:
|
|
2050
|
-
CLASS_NAME:
|
|
2051
|
-
RECIPE:
|
|
2052
|
-
PREFAB_LAYOUT:
|
|
1973
|
+
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/SignDigital/Build_StandaloneWidgetSign_SmallWide.Build_StandaloneWidgetSign_SmallWide_C',
|
|
1974
|
+
CLASS_NAME: 'Build_StandaloneWidgetSign_SmallWide_C',
|
|
1975
|
+
RECIPE: '/Game/FactoryGame/Recipes/Buildings/Recipe_StandaloneWidgetSign_SmallWide.Recipe_StandaloneWidgetSign_SmallWide_C',
|
|
1976
|
+
PREFAB_LAYOUT: '/Game/FactoryGame/Interface/UI/InGame/Signs/SignLayouts/BPW_Sign4x1_1.BPW_Sign4x1_1_C'
|
|
2053
1977
|
},
|
|
2054
1978
|
SMALL_VERY_WIDE: {
|
|
2055
1979
|
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/SignDigital/Build_StandaloneWidgetSign_SmallVeryWide.Build_StandaloneWidgetSign_SmallVeryWide_C',
|
|
@@ -2072,10 +1996,10 @@ exports.EDIT = {
|
|
|
2072
1996
|
CLASS_NAME: 'Build_StandaloneWidgetSign_Medium_C',
|
|
2073
1997
|
},
|
|
2074
1998
|
PORTRAIT: {
|
|
2075
|
-
TYPE_PATH:
|
|
2076
|
-
CLASS_NAME:
|
|
2077
|
-
RECIPE:
|
|
2078
|
-
PREFAB_LAYOUT:
|
|
1999
|
+
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/SignDigital/Build_StandaloneWidgetSign_Portrait.Build_StandaloneWidgetSign_Portrait_C',
|
|
2000
|
+
CLASS_NAME: 'Build_StandaloneWidgetSign_Portrait_C',
|
|
2001
|
+
RECIPE: '/Game/FactoryGame/Recipes/Buildings/Recipe_StandaloneWidgetSign_Portrait.Recipe_StandaloneWidgetSign_Portrait_C',
|
|
2002
|
+
PREFAB_LAYOUT: '/Game/FactoryGame/Interface/UI/InGame/Signs/SignLayouts/BPW_Sign2x3_0.BPW_Sign2x3_0_C'
|
|
2079
2003
|
}
|
|
2080
2004
|
},
|
|
2081
2005
|
PLAYER: {
|
|
@@ -2177,20 +2101,20 @@ exports.EDIT = {
|
|
|
2177
2101
|
},
|
|
2178
2102
|
ANIMAL: {
|
|
2179
2103
|
LIZARD_DOGGO: {
|
|
2180
|
-
TYPE_PATH:
|
|
2181
|
-
CLASS_NAME:
|
|
2104
|
+
TYPE_PATH: '/Game/FactoryGame/Character/Creature/Wildlife/SpaceRabbit/Char_SpaceRabbit.Char_SpaceRabbit_C',
|
|
2105
|
+
CLASS_NAME: 'Char_SpaceRabbit_C'
|
|
2182
2106
|
},
|
|
2183
2107
|
BEETLE: {
|
|
2184
2108
|
TYPE_PATH: '/Game/FactoryGame/Character/Creature/Wildlife/Beetle/Char_Beetle.Char_Beetle_C',
|
|
2185
2109
|
CLASS_NAME: 'Char_Beetle_C'
|
|
2186
2110
|
},
|
|
2187
2111
|
SPACE_GIRAFFE: {
|
|
2188
|
-
TYPE_PATH:
|
|
2189
|
-
CLASS_NAME:
|
|
2112
|
+
TYPE_PATH: '/Game/FactoryGame/Character/Creature/Wildlife/SpaceGiraffe/Char_SpaceGiraffe.Char_SpaceGiraffe_C',
|
|
2113
|
+
CLASS_NAME: 'Char_SpaceGiraffe_C'
|
|
2190
2114
|
},
|
|
2191
2115
|
BIRD: {
|
|
2192
|
-
TYPE_PATH:
|
|
2193
|
-
CLASS_NAME:
|
|
2116
|
+
TYPE_PATH: '/Game/FactoryGame/Character/Creature/Wildlife/NonFlyingBird/Char_NonFlyingBird.Char_NonFlyingBird_C',
|
|
2117
|
+
CLASS_NAME: 'Char_NonFlyingBird_C'
|
|
2194
2118
|
}
|
|
2195
2119
|
},
|
|
2196
2120
|
BUILDGUN_BP: {
|
|
@@ -2259,13 +2183,13 @@ exports.EDIT = {
|
|
|
2259
2183
|
},
|
|
2260
2184
|
COMPONENTS: {
|
|
2261
2185
|
HEALTH_COMPONENT: {
|
|
2262
|
-
TYPE_PATH:
|
|
2186
|
+
TYPE_PATH: '/Script/FactoryGame.FGHealthComponent'
|
|
2263
2187
|
},
|
|
2264
2188
|
INVENTORY_COMPONENT: {
|
|
2265
|
-
TYPE_PATH:
|
|
2189
|
+
TYPE_PATH: '/Script/FactoryGame.FGInventoryComponent'
|
|
2266
2190
|
},
|
|
2267
2191
|
POWER_CONNECTION_COMPONENT: {
|
|
2268
|
-
TYPE_PATH:
|
|
2192
|
+
TYPE_PATH: '/Script/FactoryGame.FGPowerConnectionComponent'
|
|
2269
2193
|
},
|
|
2270
2194
|
POWER_INFO_COMPONENT: {
|
|
2271
2195
|
TYPE_PATH: '/Script/FactoryGame.FGPowerInfoComponent'
|
|
@@ -2274,13 +2198,13 @@ exports.EDIT = {
|
|
|
2274
2198
|
TYPE_PATH: '/Script/FactoryGame.FGPowerCircuit'
|
|
2275
2199
|
},
|
|
2276
2200
|
RAILWAY_CONNECTION_COMPONENT: {
|
|
2277
|
-
TYPE_PATH:
|
|
2201
|
+
TYPE_PATH: '/Script/FactoryGame.FGRailroadTrackConnectionComponent'
|
|
2278
2202
|
},
|
|
2279
2203
|
FACTORY_CONNECTION_COMPONENT: {
|
|
2280
|
-
TYPE_PATH:
|
|
2281
|
-
ENUM_BASE:
|
|
2282
|
-
ENUM_INPUT:
|
|
2283
|
-
ENUM_OUTPUT:
|
|
2204
|
+
TYPE_PATH: '/Script/FactoryGame.FGFactoryConnectionComponent',
|
|
2205
|
+
ENUM_BASE: 'EFactoryConnectionDirection',
|
|
2206
|
+
ENUM_INPUT: 'EFactoryConnectionDirection' + '::FCD_INPUT',
|
|
2207
|
+
ENUM_OUTPUT: 'EFactoryConnectionDirection' + '::FCD_OUTPUT',
|
|
2284
2208
|
},
|
|
2285
2209
|
HYPERTUBE_CONNECTION_COMPONENT: {
|
|
2286
2210
|
TYPE_PATH: '/Script/FactoryGame.FGPipeConnectionComponentHyper'
|
|
@@ -2297,7 +2221,7 @@ exports.EDIT = {
|
|
|
2297
2221
|
},
|
|
2298
2222
|
PATTERNS: {
|
|
2299
2223
|
FULL_FACTORY_ZONE: {
|
|
2300
|
-
TYPE_PATH:
|
|
2224
|
+
TYPE_PATH: '/Game/FactoryGame/Buildable/-Shared/Customization/Patterns/Zones/PatternDesc_ZoneFull.PatternDesc_ZoneFull_C'
|
|
2301
2225
|
}
|
|
2302
2226
|
},
|
|
2303
2227
|
EMOTES: {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DataFields = void 0;
|
|
4
|
+
const parser_error_1 = require("../../error/parser.error");
|
|
4
5
|
const util_types_1 = require("../structs/util.types");
|
|
5
6
|
const ArrayProperty_1 = require("./property/generic/ArrayProperty");
|
|
6
7
|
const BoolProperty_1 = require("./property/generic/BoolProperty");
|
|
@@ -29,6 +30,7 @@ class DataFields {
|
|
|
29
30
|
const start = reader.getBufferPosition();
|
|
30
31
|
obj.properties = {};
|
|
31
32
|
if (length === 0) {
|
|
33
|
+
console.warn(`properties length for object ${obj.instanceName} was indicated as 0. Which is suspicious. Skipping object properties.`);
|
|
32
34
|
return;
|
|
33
35
|
}
|
|
34
36
|
let propertyName = reader.readString();
|
|
@@ -45,18 +47,16 @@ class DataFields {
|
|
|
45
47
|
}
|
|
46
48
|
propertyName = reader.readString();
|
|
47
49
|
}
|
|
48
|
-
|
|
49
|
-
if (padding !== 0) {
|
|
50
|
-
}
|
|
50
|
+
reader.readInt32();
|
|
51
51
|
const remainingLen = length - (reader.getBufferPosition() - start);
|
|
52
52
|
obj.specialProperties = DataFields.ParseAdditionalSpecialProperties(reader, typePath, remainingLen);
|
|
53
53
|
const end = reader.getBufferPosition();
|
|
54
|
-
const
|
|
55
|
-
if (
|
|
56
|
-
obj.trailingData = Array.from(reader.readBytes(
|
|
54
|
+
const remainingSize = length - (end - start);
|
|
55
|
+
if (remainingSize > 0) {
|
|
56
|
+
obj.trailingData = Array.from(reader.readBytes(remainingSize));
|
|
57
57
|
}
|
|
58
|
-
else if (
|
|
59
|
-
throw new
|
|
58
|
+
else if (remainingSize < 0) {
|
|
59
|
+
throw new parser_error_1.ParserError('ParserError', `Unexpected. Read more bytes than are indicated for entity ${obj.instanceName}. bytes left to read is ${remainingSize}`);
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
static ParseAdditionalSpecialProperties(reader, typePath, remainingLen) {
|
|
@@ -290,7 +290,7 @@ class DataFields {
|
|
|
290
290
|
const readBytes = reader.getBufferPosition() - before - overhead;
|
|
291
291
|
if (readBytes !== binarySize) {
|
|
292
292
|
console.warn(`possibly corrupt. Read ${readBytes} for ${propertyType} ${propertyName}, but ${binarySize} were indicated.`);
|
|
293
|
-
throw new
|
|
293
|
+
throw new parser_error_1.ParserError('ParserError', `possibly corrupt. Read ${readBytes} bytes for ${propertyType} ${propertyName}, but ${binarySize} bytes were indicated.`);
|
|
294
294
|
}
|
|
295
295
|
return currentProperty;
|
|
296
296
|
}
|
|
@@ -14,7 +14,7 @@ export declare abstract class SaveObject implements SaveObjectHeader {
|
|
|
14
14
|
properties: PropertiesMap;
|
|
15
15
|
specialProperties: SpecialAnyProperty;
|
|
16
16
|
trailingData: number[];
|
|
17
|
-
|
|
17
|
+
objectVersion: number;
|
|
18
18
|
unknownType2: number;
|
|
19
19
|
constructor(typePath: string, rootObject: string, instanceName: string);
|
|
20
20
|
protected static ParseHeader(reader: BinaryReadable, obj: SaveObject): void;
|
|
@@ -24,7 +24,7 @@ class FloatProperty extends BasicProperty_1.BasicProperty {
|
|
|
24
24
|
FloatProperty.SerializeValue(writer, property.value);
|
|
25
25
|
}
|
|
26
26
|
static SerializeValue(writer, value) {
|
|
27
|
-
writer.
|
|
27
|
+
writer.writeFloat32(value);
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
exports.FloatProperty = FloatProperty;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SerializeFINLuaProcessorStateStorage = exports.ReadFINLuaProcessorStateStorage = exports.SerializeFINNetworkTrace = exports.ReadFINNetworkTrace = exports.SerializeDynamicStructData = exports.ParseDynamicStructData = exports.StructProperty = void 0;
|
|
4
|
+
const parser_error_1 = require("../../../../error/parser.error");
|
|
4
5
|
const util_types_1 = require("../../../structs/util.types");
|
|
5
6
|
const DataFields_1 = require("../../DataFields");
|
|
6
7
|
const ObjectReference_1 = require("../../values/ObjectReference");
|
|
@@ -96,6 +97,7 @@ class StructProperty extends BasicProperty_1.AbstractBaseProperty {
|
|
|
96
97
|
value = { id, clientUnk1, clientUnk2, clientHashSize, someClientHash };
|
|
97
98
|
break;
|
|
98
99
|
case 'InventoryItem':
|
|
100
|
+
const before = reader.getBufferPosition();
|
|
99
101
|
value = {
|
|
100
102
|
unk1: reader.readInt32(),
|
|
101
103
|
itemName: reader.readString(),
|
|
@@ -113,6 +115,12 @@ class StructProperty extends BasicProperty_1.AbstractBaseProperty {
|
|
|
113
115
|
itemStateRaw: itemStateRaw
|
|
114
116
|
};
|
|
115
117
|
}
|
|
118
|
+
const bytesLeft = size - (reader.getBufferPosition() - before);
|
|
119
|
+
if (bytesLeft === 0 || (bytesLeft === 4 && reader.readInt32() === 0)) {
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
throw new parser_error_1.CorruptSaveError(`save may be corrupt. InventoryItem has weird format that was not seen so far and therefore not implemented. Could be that the save is ported from way before U8.`);
|
|
123
|
+
}
|
|
116
124
|
break;
|
|
117
125
|
case 'FluidBox':
|
|
118
126
|
value = {
|
|
@@ -188,8 +196,8 @@ class StructProperty extends BasicProperty_1.AbstractBaseProperty {
|
|
|
188
196
|
value = value;
|
|
189
197
|
writer.writeString(value.root);
|
|
190
198
|
writer.writeString(value.instanceName);
|
|
191
|
-
writer.
|
|
192
|
-
writer.
|
|
199
|
+
writer.writeFloat32(value.offset);
|
|
200
|
+
writer.writeFloat32(value.forward);
|
|
193
201
|
break;
|
|
194
202
|
case 'TimerHandle':
|
|
195
203
|
value = value;
|
|
@@ -219,10 +227,9 @@ class StructProperty extends BasicProperty_1.AbstractBaseProperty {
|
|
|
219
227
|
writer.writeBytesArray(value.itemState.itemStateRaw);
|
|
220
228
|
}
|
|
221
229
|
break;
|
|
222
|
-
break;
|
|
223
230
|
case 'FluidBox':
|
|
224
231
|
value = value;
|
|
225
|
-
writer.
|
|
232
|
+
writer.writeFloat32(value.value);
|
|
226
233
|
break;
|
|
227
234
|
case 'SlateBrush':
|
|
228
235
|
value = value;
|
|
@@ -9,7 +9,6 @@ export declare class Level {
|
|
|
9
9
|
name: string;
|
|
10
10
|
objects: (SaveEntity | SaveComponent)[];
|
|
11
11
|
collectables: ObjectReference[];
|
|
12
|
-
remainingStuffAfterHeaders: Uint8Array;
|
|
13
12
|
constructor(name: string);
|
|
14
13
|
static SerializeObjectHeaders(writer: ByteWriter, objects: (SaveEntity | SaveComponent)[]): void;
|
|
15
14
|
static WriteLevel(writer: ByteWriter, level: Level, buildVersion: number): void;
|
|
@@ -18,5 +17,5 @@ export declare class Level {
|
|
|
18
17
|
static ReadObjectContents(levelName: string, reader: BinaryReadable, objectsList: SaveObject[], buildVersion: number, onProgressCallback: (progress: number, msg?: string) => void): Promise<void>;
|
|
19
18
|
static ReadLevel(reader: SaveReader, levelName: string, buildVersion: number): Level;
|
|
20
19
|
static SerializeCollectablesList(writer: ByteWriter, collectables: ObjectReference[]): void;
|
|
21
|
-
static ReadCollectablesList(reader: BinaryReadable
|
|
20
|
+
static ReadCollectablesList(reader: BinaryReadable): ObjectReference[];
|
|
22
21
|
}
|