@etothepii/satisfactory-file-parser 0.1.30 → 0.2.1
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/build/index.d.ts +3 -2
- package/build/index.js +3 -2
- package/build/parser/satisfactory/edit/edit-constants.d.ts +376 -0
- package/build/parser/satisfactory/edit/edit-constants.js +525 -0
- package/build/parser/satisfactory/objects/ue/FMD5Hash.d.ts +7 -0
- package/build/parser/satisfactory/objects/ue/FMD5Hash.js +19 -0
- package/build/parser/satisfactory/save/save-reader.d.ts +0 -2
- package/build/parser/satisfactory/save/save-reader.js +0 -13
- package/build/parser/satisfactory/save/save.types.d.ts +2 -0
- package/build/parser/stream/reworked/readable-stream-parser.js +3 -3
- package/build/parser/stream/reworked/save-stream-json-stringifier.d.ts +6 -0
- package/build/parser/stream/reworked/save-stream-json-stringifier.js +35 -0
- package/build/parser/stream/reworked/save-stream-writer.class.d.ts +27 -0
- package/build/parser/stream/reworked/save-stream-writer.class.js +86 -0
- package/build/parser/stream/reworked/stream-parser.d.ts +1 -3
- package/build/parser/stream/reworked/stream-parser.js +5 -83
- package/build/parser/stream/save-stream-writer.class.d.ts +13 -15
- package/build/parser/stream/save-stream-writer.class.js +103 -70
- package/package.json +1 -1
|
@@ -0,0 +1,525 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
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/Recipes/Buildings/Recipe_WaterPump.Recipe_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 TYPE_PATH_WALL_8x4_01 = '/Game/FactoryGame/Buildable/Building/Wall/Build_Wall_8x4_01.Build_Wall_8x4_01_C';
|
|
44
|
+
const CLASS_NAME_WALL_8x4_01 = 'Build_Wall_8x4_01_C';
|
|
45
|
+
const RECIPE_WALL_8x4_01 = '/Game/FactoryGame/Recipes/Buildings/Walls/Recipe_Wall_8x4_01.Recipe_Wall_8x4_01_C';
|
|
46
|
+
const TYPE_PATH_WALL_GATE_8x4_01 = '/Game/FactoryGame/Buildable/Building/Wall/Build_Wall_Gate_8x4_01.Build_Wall_Gate_8x4_01_C';
|
|
47
|
+
const CLASS_NAME_WALL_GATE_8x4_01 = 'Build_Wall_Gate_8x4_01_C';
|
|
48
|
+
const RECIPE_WALL_GATE_8x4_01 = '/Game/FactoryGame/Recipes/Buildings/Walls/Recipe_Wall_Gate_8x4_01.Recipe_Wall_Gate_8x4_01_C';
|
|
49
|
+
const TYPE_PATH_WALL_WINDOW_8x4_01 = '/Game/FactoryGame/Buildable/Building/Wall/Build_Wall_Window_8x4_01.Build_Wall_Window_8x4_01_C';
|
|
50
|
+
const CLASS_NAME_WALL_WINDOW_8x4_01 = 'Build_Wall_Window_8x4_01_C';
|
|
51
|
+
const RECIPE_WALL_WINDOW_8x4_01 = '/Game/FactoryGame/Recipes/Buildings/Walls/Recipe_Wall_Window_8x4_01.Recipe_Wall_Window_8x4_01_C';
|
|
52
|
+
const TYPE_PATH_WALL_DOOR_8x4_01 = '/Game/FactoryGame/Buildable/Building/Wall/Build_Wall_Door_8x4_01.Build_Wall_Door_8x4_01_C';
|
|
53
|
+
const CLASS_NAME_WALL_DOOR_8x4_01 = 'Build_Wall_Door_8x4_01_C';
|
|
54
|
+
const RECIPE_WALL_DOOR_8x4_01 = '/Game/FactoryGame/Recipes/Buildings/Walls/Recipe_Wall_Door_8x4_01.Recipe_Wall_Door_8x4_01_C';
|
|
55
|
+
const TYPE_PATH_PLAYER = '/Game/FactoryGame/Character/Player/Char_Player.Char_Player_C';
|
|
56
|
+
const CLASS_NAME_PLAYER = 'Char_Player_C';
|
|
57
|
+
const TYPE_PATH_HEALTH_COMPONENT = '/Script/FactoryGame.FGHealthComponent';
|
|
58
|
+
const TYPE_PATH_INVENTORY_COMPONENT = '/Script/FactoryGame.FGInventoryComponent';
|
|
59
|
+
const TYPE_PATH_POWER_CONNECTION_COMPONENT = '/Script/FactoryGame.FGPowerConnectionComponent';
|
|
60
|
+
const TYPE_PATH_RAILWAY_CONNECTION_COMPONENT = '/Script/FactoryGame.FGRailroadTrackConnectionComponent';
|
|
61
|
+
const TYPE_PATH_FACTORY_CONNECTION_COMPONENT = '/Script/FactoryGame.FGFactoryConnectionComponent';
|
|
62
|
+
const FACTORY_CONNECTION_ENUM_BASE = 'EFactoryConnectionDirection';
|
|
63
|
+
const FACTORY_CONNECTION_ENUM_INPUT = FACTORY_CONNECTION_ENUM_BASE + '::FCD_INPUT';
|
|
64
|
+
const FACTORY_CONNECTION_ENUM_OUTPUT = FACTORY_CONNECTION_ENUM_BASE + '::FCD_OUTPUT';
|
|
65
|
+
const TYPE_PATH_ELITESTINGER = '/Game/FactoryGame/Character/Creature/Enemy/Stinger/BigStinger/Char_EliteStinger.Char_EliteStinger_C';
|
|
66
|
+
const CLASS_NAME_ELITEESTINGER = 'Char_EliteStinger_C';
|
|
67
|
+
const TYPE_PATH_LIZARD_DOGGO = '/Game/FactoryGame/Character/Creature/Wildlife/SpaceRabbit/Char_SpaceRabbit.Char_SpaceRabbit_C';
|
|
68
|
+
const CLASS_NAME_LIZARD_DOGGO = 'Char_SpaceRabbit_C';
|
|
69
|
+
const TYPE_PATH_SPACE_GIRAFFE = '/Game/FactoryGame/Character/Creature/Wildlife/SpaceGiraffe/Char_SpaceGiraffe.Char_SpaceGiraffe_C';
|
|
70
|
+
const CLASS_NAME_SPACE_GIRAFFE = 'Char_SpaceGiraffe_C';
|
|
71
|
+
const TYPE_PATH_BIRD = '/Game/FactoryGame/Character/Creature/Wildlife/NonFlyingBird/Char_NonFlyingBird.Char_NonFlyingBird_C';
|
|
72
|
+
const CLASS_NAME_BIRD = 'Char_NonFlyingBird_C';
|
|
73
|
+
const TYPE_PATH_SIGN_SMALL = '/Game/FactoryGame/Buildable/Factory/SignDigital/Build_StandaloneWidgetSign_Small.Build_StandaloneWidgetSign_Small_C';
|
|
74
|
+
const CLASS_NAME_SIGN_SMALL = 'Build_StandaloneWidgetSign_Small_C';
|
|
75
|
+
const RECIPE_SIGN_SMALL = '/Game/FactoryGame/Recipes/Buildings/Recipe_StandaloneWidgetSign_Small.Recipe_StandaloneWidgetSign_Small_C';
|
|
76
|
+
const TYPE_PATH_SIGN_SMALL_WIDE = '/Game/FactoryGame/Buildable/Factory/SignDigital/Build_StandaloneWidgetSign_SmallWide.Build_StandaloneWidgetSign_SmallWide_C';
|
|
77
|
+
const CLASS_NAME_SIGN_SMALL_WIDE = 'Build_StandaloneWidgetSign_SmallWide_C';
|
|
78
|
+
const PREFAB_LAYOUT_SIGN_4x1_1 = '/Game/FactoryGame/Interface/UI/InGame/Signs/SignLayouts/BPW_Sign4x1_1.BPW_Sign4x1_1_C';
|
|
79
|
+
const RECIPE_SIGN_SMALL_WIDE = '/Game/FactoryGame/Recipes/Buildings/Recipe_StandaloneWidgetSign_SmallWide.Recipe_StandaloneWidgetSign_SmallWide_C';
|
|
80
|
+
const TYPE_PATH_SIGN_PORTRAIT = '/Game/FactoryGame/Buildable/Factory/SignDigital/Build_StandaloneWidgetSign_Portrait.Build_StandaloneWidgetSign_Portrait_C';
|
|
81
|
+
const CLASS_NAME_SIGN_PORTRAIT = 'Build_StandaloneWidgetSign_Portrait_C';
|
|
82
|
+
const PREFAB_LAYOUT_SIGN_PORTRAIT = '/Game/FactoryGame/Interface/UI/InGame/Signs/SignLayouts/BPW_Sign2x3_0.BPW_Sign2x3_0_C';
|
|
83
|
+
const RECIPE_SIGN_PORTRAIT = '/Game/FactoryGame/Recipes/Buildings/Recipe_StandaloneWidgetSign_Portrait.Recipe_StandaloneWidgetSign_Portrait_C';
|
|
84
|
+
const TYPE_PATH_PIPE_NETWORK = '/Script/FactoryGame.FGPipeNetwork';
|
|
85
|
+
const RECIPE_BEAM_PAINTED = '/Game/FactoryGame/Prototype/Buildable/Beams/Recipe_Beam_Painted.Recipe_Beam_Painted_C';
|
|
86
|
+
const TYPE_PATH_BEAM_PAINTED = '/Game/FactoryGame/Prototype/Buildable/Beams/Build_Beam_Painted.Build_Beam_Painted_C';
|
|
87
|
+
const CLASS_NAME_BEAM_PAINTED = 'Build_Beam_Painted_C';
|
|
88
|
+
const REGEX_CONVEYORBELT = /^\/Game\/FactoryGame\/Buildable\/Factory\/(ConveyorBeltMk[0-9]+)\/Build_(\1)\.Build_(\1)_C$/;
|
|
89
|
+
const REGEX_CONVEYORLIFT = /^\/Game\/FactoryGame\/Buildable\/Factory\/(ConveyorLiftMk[0-9]+)\/Build_(\1)\.Build_(\1)_C$/;
|
|
90
|
+
const CLASS_NAME_CONVEYOR_BELT_MK1 = 'Build_ConveyorBeltMk1_C';
|
|
91
|
+
const TYPE_PATH_CONVEYOR_BELT_MK1 = '/Game/FactoryGame/Buildable/Factory/ConveyorBeltMk1/Build_ConveyorBeltMk1.Build_ConveyorBeltMk1_C';
|
|
92
|
+
const RECIPE_CONVEYOR_BELT_MK1 = '/Game/FactoryGame/Recipes/Buildings/Recipe_ConveyorBeltMk1.Recipe_ConveyorBeltMk1_C';
|
|
93
|
+
const TYPE_PATH_FOUNDATION_8x1_01 = '/Game/FactoryGame/Buildable/Building/Foundation/Build_Foundation_8x1_01.Build_Foundation_8x1_01_C';
|
|
94
|
+
const CLASS_NAME_FOUNDATION_8x1_01 = 'Build_Foundation_8x1_01_C';
|
|
95
|
+
const RECIPE_FOUNDATION_8x1_01 = '/Game/FactoryGame/Recipes/Buildings/Foundations/Recipe_Foundation_8x1_01.Recipe_Foundation_8x1_01_C';
|
|
96
|
+
const TYPE_PATH_RAILROADTRACK = '/Game/FactoryGame/Buildable/Factory/Train/Track/Build_RailroadTrack.Build_RailroadTrack_C';
|
|
97
|
+
const CLASS_NAME_RAILROADTRACK = 'Build_RailroadTrack_C';
|
|
98
|
+
const RECIPE_RAILROADTRACK = '/Game/FactoryGame/Recipes/Buildings/Recipe_RailroadTrack.Recipe_RailroadTrack_C';
|
|
99
|
+
const TYPE_PATH_POWER_POLE_MK2 = '/Game/FactoryGame/Buildable/Factory/PowerPoleMk2/Build_PowerPoleMk2.Build_PowerPoleMk2_C';
|
|
100
|
+
const CLASS_NAME_POLWER_POLE_MK2 = 'Build_PowerPoleMk2_C';
|
|
101
|
+
const TYPE_PATH_POWERLINE = '/Game/FactoryGame/Buildable/Factory/PowerLine/Build_PowerLine.Build_PowerLine_C';
|
|
102
|
+
const CLASS_NAME_POWERLINE = 'Build_PowerLine_C';
|
|
103
|
+
const PATTERN_FULL_FACTORY_ZONE = '/Game/FactoryGame/Buildable/-Shared/Customization/Patterns/Zones/PatternDesc_ZoneFull.PatternDesc_ZoneFull_C';
|
|
104
|
+
exports.EDIT = {
|
|
105
|
+
ENTITIES: {
|
|
106
|
+
FOUNDATION: {
|
|
107
|
+
FOUNDATION_8x1_01: {
|
|
108
|
+
RECIPE: RECIPE_FOUNDATION_8x1_01,
|
|
109
|
+
TYPE_PATH: TYPE_PATH_FOUNDATION_8x1_01,
|
|
110
|
+
CLASS_NAME: CLASS_NAME_FOUNDATION_8x1_01
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
WALL: {
|
|
114
|
+
WALL_8x4_01: {
|
|
115
|
+
RECIPE: RECIPE_WALL_8x4_01,
|
|
116
|
+
TYPE_PATH: TYPE_PATH_WALL_8x4_01,
|
|
117
|
+
CLASS_NAME: CLASS_NAME_WALL_8x4_01,
|
|
118
|
+
},
|
|
119
|
+
WALL_GATE_8x4_01: {
|
|
120
|
+
RECIPE: RECIPE_WALL_GATE_8x4_01,
|
|
121
|
+
TYPE_PATH: TYPE_PATH_WALL_GATE_8x4_01,
|
|
122
|
+
CLASS_NAME: CLASS_NAME_WALL_GATE_8x4_01,
|
|
123
|
+
},
|
|
124
|
+
WALL_WINDOW_8x4_01: {
|
|
125
|
+
RECIPE: RECIPE_WALL_WINDOW_8x4_01,
|
|
126
|
+
TYPE_PATH: TYPE_PATH_WALL_WINDOW_8x4_01,
|
|
127
|
+
CLASS_NAME: CLASS_NAME_WALL_WINDOW_8x4_01,
|
|
128
|
+
},
|
|
129
|
+
WALL_DOOR_8x4_01: {
|
|
130
|
+
RECIPE: RECIPE_WALL_DOOR_8x4_01,
|
|
131
|
+
TYPE_PATH: TYPE_PATH_WALL_DOOR_8x4_01,
|
|
132
|
+
CLASS_NAME: CLASS_NAME_WALL_DOOR_8x4_01,
|
|
133
|
+
},
|
|
134
|
+
},
|
|
135
|
+
BEAM: {
|
|
136
|
+
BEAM_PAINTED: {
|
|
137
|
+
RECIPE: RECIPE_BEAM_PAINTED,
|
|
138
|
+
TYPE_PATH: TYPE_PATH_BEAM_PAINTED,
|
|
139
|
+
CLASS_NAME: CLASS_NAME_BEAM_PAINTED
|
|
140
|
+
},
|
|
141
|
+
BEAM_METAL: {
|
|
142
|
+
TYPE_PATH: '/Game/FactoryGame/Prototype/Buildable/Beams/Build_Beam.Build_Beam_C',
|
|
143
|
+
CLASS_NAME: 'Build_Beam_C',
|
|
144
|
+
RECIPE: '/Game/FactoryGame/Prototype/Buildable/Beams/Recipe_Beam.Recipe_Beam_C'
|
|
145
|
+
}
|
|
146
|
+
},
|
|
147
|
+
POWER_POLE: {
|
|
148
|
+
POWER_POLE_MK_2: {
|
|
149
|
+
TYPE_PATH: TYPE_PATH_POWER_POLE_MK2,
|
|
150
|
+
CLASS_NAME: CLASS_NAME_POLWER_POLE_MK2
|
|
151
|
+
}
|
|
152
|
+
},
|
|
153
|
+
POWER_LINE: {
|
|
154
|
+
POWER_LINE: {
|
|
155
|
+
TYPE_PATH: TYPE_PATH_POWERLINE,
|
|
156
|
+
CLASS_NAME: CLASS_NAME_POWERLINE
|
|
157
|
+
},
|
|
158
|
+
POWER_LINE_XMAS: {}
|
|
159
|
+
},
|
|
160
|
+
TRAIN: {
|
|
161
|
+
TRAIN_STATION_IDENTIFIER: {
|
|
162
|
+
TYPE_PATH: '/Script/FactoryGame.FGTrainStationIdentifier'
|
|
163
|
+
},
|
|
164
|
+
TRAIN_STATION: {
|
|
165
|
+
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/Train/Station/Build_TrainStation.Build_TrainStation_C'
|
|
166
|
+
}
|
|
167
|
+
},
|
|
168
|
+
RAILROAD: {
|
|
169
|
+
TYPE_PATH: TYPE_PATH_RAILROADTRACK,
|
|
170
|
+
CLASS_NAME: CLASS_NAME_RAILROADTRACK,
|
|
171
|
+
RECIPE: RECIPE_RAILROADTRACK
|
|
172
|
+
},
|
|
173
|
+
RAILROAD_INTEGRATED: {
|
|
174
|
+
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/Train/Track/Build_RailroadTrackIntegrated.Build_RailroadTrackIntegrated_C',
|
|
175
|
+
CLASS_NAME: 'Build_RailroadTrackIntegrated_C'
|
|
176
|
+
},
|
|
177
|
+
DRONE: {
|
|
178
|
+
DRONE_STATION_INFO: {
|
|
179
|
+
TYPE_PATH: '/Script/FactoryGame.FGDroneStationInfo'
|
|
180
|
+
},
|
|
181
|
+
DRONE_STATION: {
|
|
182
|
+
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/DroneStation/Build_DroneStation.Build_DroneStation_C'
|
|
183
|
+
},
|
|
184
|
+
DRONE_TRANSPORT: {
|
|
185
|
+
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/DroneStation/BP_DroneTransport.BP_DroneTransport_C'
|
|
186
|
+
},
|
|
187
|
+
},
|
|
188
|
+
VEHICLE: {
|
|
189
|
+
DRIVING_TARGET_LIST: {
|
|
190
|
+
TYPE_PATH: '/Script/FactoryGame.FGDrivingTargetList'
|
|
191
|
+
}
|
|
192
|
+
},
|
|
193
|
+
CONVEYOR: {
|
|
194
|
+
BELT_REGEX: REGEX_CONVEYORBELT,
|
|
195
|
+
LIFT_REGEX: REGEX_CONVEYORLIFT,
|
|
196
|
+
BELT_MK_1: {
|
|
197
|
+
TYPE_PATH: TYPE_PATH_CONVEYOR_BELT_MK1,
|
|
198
|
+
CLASS_NAME: CLASS_NAME_CONVEYOR_BELT_MK1,
|
|
199
|
+
RECIPE: RECIPE_CONVEYOR_BELT_MK1,
|
|
200
|
+
}
|
|
201
|
+
},
|
|
202
|
+
PIPELINE: {
|
|
203
|
+
PIPELINE_MK1: {
|
|
204
|
+
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/Pipeline/Build_Pipeline.Build_Pipeline_C'
|
|
205
|
+
},
|
|
206
|
+
PIPELINE_MK2: {
|
|
207
|
+
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/PipelineMk2/Build_PipelineMK2.Build_PipelineMK2_C'
|
|
208
|
+
},
|
|
209
|
+
PIPELINE_NETWORK: {
|
|
210
|
+
TYPE_PATH: TYPE_PATH_PIPE_NETWORK
|
|
211
|
+
}
|
|
212
|
+
},
|
|
213
|
+
EXTRACTOR: {
|
|
214
|
+
MINER_MK_1: {
|
|
215
|
+
TYPE_PATH: TYPE_PATH_MINERMK1
|
|
216
|
+
},
|
|
217
|
+
MINER_MK_2: {
|
|
218
|
+
TYPE_PATH: TYPE_PATH_MINERMK2
|
|
219
|
+
},
|
|
220
|
+
MINER_MK_3: {
|
|
221
|
+
TYPE_PATH: TYPE_PATH_MINERMK3
|
|
222
|
+
},
|
|
223
|
+
WATER_EXTRACTOR: {
|
|
224
|
+
TYPE_PATH: TYPE_PATH_WATER_EXTRACTOR
|
|
225
|
+
},
|
|
226
|
+
OIL_EXTRACTOR: {
|
|
227
|
+
TYPE_PATH: TYPE_PATH_OIL_EXTRACTOR
|
|
228
|
+
},
|
|
229
|
+
WELL_PRESSURIZER: {
|
|
230
|
+
TYPE_PATH: TYPE_PATH_FRACKING_SMASHER
|
|
231
|
+
},
|
|
232
|
+
WELL_EXTRACTOR: {
|
|
233
|
+
TYPE_PATH: TYPE_PATH_FRACKING_EXTRACTOR
|
|
234
|
+
},
|
|
235
|
+
GIFT_PRODUCER: {
|
|
236
|
+
TYPE_PATH: TYPE_PATH_TREE_GIFT_PRODUCER
|
|
237
|
+
},
|
|
238
|
+
},
|
|
239
|
+
FACTORY: {
|
|
240
|
+
CONSTRUCTOR: {
|
|
241
|
+
TYPE_PATH: TYPE_PATH_CONSTRUCTOR
|
|
242
|
+
},
|
|
243
|
+
SMELTER: {
|
|
244
|
+
TYPE_PATH: TYPE_PATH_SMELTER
|
|
245
|
+
},
|
|
246
|
+
REFINERY: {
|
|
247
|
+
TYPE_PATH: TYPE_PATH_REFINERY
|
|
248
|
+
},
|
|
249
|
+
BLENDER: {
|
|
250
|
+
TYPE_PATH: TYPE_PATH_BLENDER
|
|
251
|
+
},
|
|
252
|
+
ASSEMBLER: {
|
|
253
|
+
TYPE_PATH: TYPE_PATH_ASSEMBLER
|
|
254
|
+
},
|
|
255
|
+
MANUFACTURER: {
|
|
256
|
+
TYPE_PATH: TYPE_PATH_MANUFACTURER
|
|
257
|
+
},
|
|
258
|
+
FOUNDRY: {
|
|
259
|
+
TYPE_PATH: TYPE_PATH_FOUNDRY
|
|
260
|
+
},
|
|
261
|
+
PACKAGER: {
|
|
262
|
+
TYPE_PATH: TYPE_PATH_PACKAGER
|
|
263
|
+
},
|
|
264
|
+
PARTICLE_ACCELERATOR: {
|
|
265
|
+
TYPE_PATH: TYPE_PATH_PARTICLE_ACCELERATOR
|
|
266
|
+
},
|
|
267
|
+
},
|
|
268
|
+
STORAGE: {
|
|
269
|
+
CONTAINER_MK_1: {
|
|
270
|
+
TYPE_PATH: TYPE_PATH_CONTAINER_MK1,
|
|
271
|
+
CLASS_NAME: CLASS_NAME_CONTAINER_MK1
|
|
272
|
+
},
|
|
273
|
+
CONTAINER_MK_2: {
|
|
274
|
+
TYPE_PATH: TYPE_PATH_CONTAINER_MK2,
|
|
275
|
+
CLASS_NAME: CLASS_NAME_CONTAINER_MK2
|
|
276
|
+
},
|
|
277
|
+
FLUID_BUFFER_MK_1: {
|
|
278
|
+
TYPE_PATH: TYPE_PATH_FLUID_BUFFER_MK1,
|
|
279
|
+
CLASS_NAME: CLASS_NAME_FLUID_BUFFER_MK1,
|
|
280
|
+
RECIPE: RECIPE_FLUID_BUFFER_MK1
|
|
281
|
+
},
|
|
282
|
+
FLUID_BUFFER_MK_2: {
|
|
283
|
+
TYPE_PATH: TYPE_PATH_FLUID_BUFFER_MK2,
|
|
284
|
+
CLASS_NAME: CLASS_NAME_FLUID_BUFFER_MK2,
|
|
285
|
+
RECIPE: RECIPE_FLUID_BUFFER_MK2
|
|
286
|
+
},
|
|
287
|
+
PLAYER_CRATE: {
|
|
288
|
+
TYPE_PATH: TYPE_PATH_PLAYER_CRATE,
|
|
289
|
+
CLASS_NAME: CLASS_NAME_PLAYER_CRATE
|
|
290
|
+
},
|
|
291
|
+
PLAYER_STORAGE_CRATE: {
|
|
292
|
+
TYPE_PATH: TYPE_PATH_PLAYER_STORAGE_CRATE,
|
|
293
|
+
CLASS_NAME: CLASS_NAME_PLAYER_STORAGE_CRATE
|
|
294
|
+
},
|
|
295
|
+
STORAGE_CRATE_INTEGRATED: {
|
|
296
|
+
TYPE_PATH: TYPE_PATH_PLAYER_STORAGE_CRATE_INTEGRATED,
|
|
297
|
+
CLASS_NAME: CLASS_NAME_PLAYER_STORAGE_CRATE_INTEGRATED
|
|
298
|
+
},
|
|
299
|
+
PLAYER_HAZARD_CRATE: {
|
|
300
|
+
TYPE_PATH: TYPE_PATH_PLAYER_HAZARD_CRATE,
|
|
301
|
+
CLASS_NAME: CLASS_NAME_PLAYER_HAZARD_CRATE,
|
|
302
|
+
RECIPE: RECIPE_PLAYER_HAZARD_CRATE
|
|
303
|
+
},
|
|
304
|
+
PLAYER_MEDICAL_CRATE: {
|
|
305
|
+
TYPE_PATH: TYPE_PATH_PLAYER_MEDICAL_CRATE,
|
|
306
|
+
CLASS_NAME: CLASS_NAME_PLAYER_MEDICAL_CRATE
|
|
307
|
+
},
|
|
308
|
+
},
|
|
309
|
+
SIGN: {
|
|
310
|
+
SMALL: {
|
|
311
|
+
TYPE_PATH: TYPE_PATH_SIGN_SMALL,
|
|
312
|
+
CLASS_NAME: CLASS_NAME_SIGN_SMALL,
|
|
313
|
+
RECIPE: RECIPE_SIGN_SMALL,
|
|
314
|
+
PREFAB_LAYOUT: PREFAB_LAYOUT_SIGN_4x1_1
|
|
315
|
+
},
|
|
316
|
+
SMALL_WIDE: {
|
|
317
|
+
TYPE_PATH: TYPE_PATH_SIGN_SMALL_WIDE,
|
|
318
|
+
CLASS_NAME: CLASS_NAME_SIGN_SMALL_WIDE,
|
|
319
|
+
RECIPE: RECIPE_SIGN_SMALL_WIDE,
|
|
320
|
+
PREFAB_LAYOUT: PREFAB_LAYOUT_SIGN_4x1_1
|
|
321
|
+
},
|
|
322
|
+
PORTRAIT: {
|
|
323
|
+
TYPE_PATH: TYPE_PATH_SIGN_PORTRAIT,
|
|
324
|
+
CLASS_NAME: CLASS_NAME_SIGN_PORTRAIT,
|
|
325
|
+
RECIPE: RECIPE_SIGN_PORTRAIT,
|
|
326
|
+
PREFAB_LAYOUT: PREFAB_LAYOUT_SIGN_PORTRAIT
|
|
327
|
+
}
|
|
328
|
+
},
|
|
329
|
+
PLAYER: {
|
|
330
|
+
TYPE_PATH: TYPE_PATH_PLAYER,
|
|
331
|
+
CLASS_NAME: CLASS_NAME_PLAYER
|
|
332
|
+
},
|
|
333
|
+
PLAYER_STATE: {
|
|
334
|
+
TYPE_PATH: '/Game/FactoryGame/Character/Player/BP_PlayerState.BP_PlayerState_C'
|
|
335
|
+
},
|
|
336
|
+
CREATURE: {
|
|
337
|
+
ELITE_STINGER: {
|
|
338
|
+
TYPE_PATH: TYPE_PATH_ELITESTINGER,
|
|
339
|
+
CLASS_NAME: CLASS_NAME_ELITEESTINGER
|
|
340
|
+
},
|
|
341
|
+
STINGER: {
|
|
342
|
+
TYPE_PATH: '/Game/FactoryGame/Character/Creature/Enemy/Stinger/Char_Stinger.Char_Stinger_C',
|
|
343
|
+
CLASS_NAME: 'Char_Stinger_C'
|
|
344
|
+
},
|
|
345
|
+
CRAB_HATCHER: {
|
|
346
|
+
TYPE_PATH: '/Game/FactoryGame/Character/Creature/Enemy/CrabHatcher/Char_CrabHatcher.Char_CrabHatcher_C',
|
|
347
|
+
CLASS_NAME: 'Char_CrabHatcher_C'
|
|
348
|
+
},
|
|
349
|
+
HOG: {
|
|
350
|
+
TYPE_PATH: '/Game/FactoryGame/Character/Creature/Enemy/Hog/Char_Hog.Char_Hog_C',
|
|
351
|
+
CLASS_NAME: 'Char_Hog_C'
|
|
352
|
+
}
|
|
353
|
+
},
|
|
354
|
+
ANIMAL: {
|
|
355
|
+
LIZARD_DOGGO: {
|
|
356
|
+
TYPE_PATH: TYPE_PATH_LIZARD_DOGGO,
|
|
357
|
+
CLASS_NAME: CLASS_NAME_LIZARD_DOGGO
|
|
358
|
+
},
|
|
359
|
+
SPACE_GIRAFFE: {
|
|
360
|
+
TYPE_PATH: TYPE_PATH_SPACE_GIRAFFE,
|
|
361
|
+
CLASS_NAME: CLASS_NAME_SPACE_GIRAFFE
|
|
362
|
+
},
|
|
363
|
+
BIRD: {
|
|
364
|
+
TYPE_PATH: TYPE_PATH_BIRD,
|
|
365
|
+
CLASS_NAME: CLASS_NAME_BIRD
|
|
366
|
+
}
|
|
367
|
+
},
|
|
368
|
+
BUILDGUN: {
|
|
369
|
+
TYPE_PATH: '/Game/FactoryGame/Equipment/BuildGun/BP_BuildGun.BP_BuildGun_C',
|
|
370
|
+
CLASS_NAME: 'BP_BuildGun_C'
|
|
371
|
+
},
|
|
372
|
+
HYPERTUBES: {
|
|
373
|
+
HYPERTUBE_SUPPORT: {
|
|
374
|
+
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/PipeHyperSupport/Build_PipeHyperSupport.Build_PipeHyperSupport_C',
|
|
375
|
+
CLASS_NAME: 'Build_PipeHyperSupport_C'
|
|
376
|
+
},
|
|
377
|
+
HYPERTUBE_ENTRANCE: {
|
|
378
|
+
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/PipeHyperStart/Build_PipeHyperStart.Build_PipeHyperStart_C',
|
|
379
|
+
CLASS_NAME: 'Build_PipeHyperStart_C',
|
|
380
|
+
RECIPE: '/Game/FactoryGame/Recipe_PipeHyperStart.Recipe_PipeHyperStart_C'
|
|
381
|
+
},
|
|
382
|
+
HYPERTUBE: {
|
|
383
|
+
TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/PipeHyper/Build_PipeHyper.Build_PipeHyper_C',
|
|
384
|
+
CLASS_NAME: 'Build_PipeHyper_C'
|
|
385
|
+
}
|
|
386
|
+
},
|
|
387
|
+
SUBSYSTEMS_AND_MANAGERS: {
|
|
388
|
+
FOLIAGE_REMOVAL_SUBSYSTEM: {
|
|
389
|
+
TYPE_PATH: '/Script/FactoryGame.FGFoliageRemovalSubsystem'
|
|
390
|
+
},
|
|
391
|
+
MAP_MANAGER: {
|
|
392
|
+
TYPE_PATH: '/Script/FactoryGame.FGMapManager'
|
|
393
|
+
},
|
|
394
|
+
RECIPE_MANAGER: {
|
|
395
|
+
INSTANCE_NAME: 'Persistent_Level:PersistentLevel.recipeManager',
|
|
396
|
+
TYPE_PATH: '/Script/FactoryGame.FGRecipeManager',
|
|
397
|
+
},
|
|
398
|
+
UNLOCK_SUBSYSTEM: {
|
|
399
|
+
INSTANCE_NAME: 'Persistent_Level:PersistentLevel.unlockSubsystem',
|
|
400
|
+
TYPE_PATH: '/Game/FactoryGame/Unlocks/BP_UnlockSubsystem.BP_UnlockSubsystem_C',
|
|
401
|
+
},
|
|
402
|
+
RESEARCH_MANAGER: {
|
|
403
|
+
INSTANCE_NAME: 'Persistent_Level:PersistentLevel.ResearchManager',
|
|
404
|
+
TYPE_PATH: '/Game/FactoryGame/Recipes/Research/BP_ResearchManager.BP_ResearchManager_C'
|
|
405
|
+
},
|
|
406
|
+
SCHEMATIC_MANAGER: {
|
|
407
|
+
TYPE_PATH: '/Game/FactoryGame/Schematics/Progression/BP_SchematicManager.BP_SchematicManager_C',
|
|
408
|
+
},
|
|
409
|
+
STATISTICS_SUBSYSTEM: {
|
|
410
|
+
TYPE_PATH: '/Script/FactoryGame.FGStatisticsSubsystem'
|
|
411
|
+
},
|
|
412
|
+
RESOURCE_SINK_SUBSYSTEM: {
|
|
413
|
+
TYPE_PATH: '/Script/FactoryGame.FGResourceSinkSubsystem'
|
|
414
|
+
},
|
|
415
|
+
GAME_RULES_SUBSYSTEM: {
|
|
416
|
+
TYPE_PATH: '/Script/FactoryGame.FGGameRulesSubsystem'
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
},
|
|
420
|
+
COMPONENTS: {
|
|
421
|
+
HEALTH_COMPONENT: {
|
|
422
|
+
TYPE_PATH: TYPE_PATH_HEALTH_COMPONENT
|
|
423
|
+
},
|
|
424
|
+
INVENTORY_COMPONENT: {
|
|
425
|
+
TYPE_PATH: TYPE_PATH_INVENTORY_COMPONENT
|
|
426
|
+
},
|
|
427
|
+
POWER_CONNECTION_COMPONENT: {
|
|
428
|
+
TYPE_PATH: TYPE_PATH_POWER_CONNECTION_COMPONENT
|
|
429
|
+
},
|
|
430
|
+
POWER_INFO_COMPONENT: {
|
|
431
|
+
TYPE_PATH: '/Script/FactoryGame.FGPowerInfoComponent'
|
|
432
|
+
},
|
|
433
|
+
POWER_CIRCUIT: {
|
|
434
|
+
TYPE_PATH: '/Script/FactoryGame.FGPowerCircuit'
|
|
435
|
+
},
|
|
436
|
+
RAILWAY_CONNECTION_COMPONENT: {
|
|
437
|
+
TYPE_PATH: TYPE_PATH_RAILWAY_CONNECTION_COMPONENT
|
|
438
|
+
},
|
|
439
|
+
FACTORY_CONNECTION_COMPONENT: {
|
|
440
|
+
TYPE_PATH: TYPE_PATH_FACTORY_CONNECTION_COMPONENT,
|
|
441
|
+
ENUM_BASE: FACTORY_CONNECTION_ENUM_BASE,
|
|
442
|
+
ENUM_INPUT: FACTORY_CONNECTION_ENUM_INPUT,
|
|
443
|
+
ENUM_OUTPUT: FACTORY_CONNECTION_ENUM_OUTPUT,
|
|
444
|
+
},
|
|
445
|
+
HYPERTUBE_CONNECTION_COMPONENT: {
|
|
446
|
+
TYPE_PATH: '/Script/FactoryGame.FGPipeConnectionComponentHyper'
|
|
447
|
+
},
|
|
448
|
+
WORKBENCH_COMPONENT: {
|
|
449
|
+
TYPE_PATH: '/Game/FactoryGame/Buildable/-Shared/WorkBench/BP_WorkBenchComponent.BP_WorkBenchComponent_C'
|
|
450
|
+
},
|
|
451
|
+
AUTOMATED_WORKBENCH: {
|
|
452
|
+
TYPE_PATH: '/Script/FactoryGame.FGBuildableAutomatedWorkBench'
|
|
453
|
+
}
|
|
454
|
+
},
|
|
455
|
+
PATTERNS: {
|
|
456
|
+
FULL_FACTORY_ZONE: {
|
|
457
|
+
TYPE_PATH: PATTERN_FULL_FACTORY_ZONE
|
|
458
|
+
}
|
|
459
|
+
},
|
|
460
|
+
AREAS: {
|
|
461
|
+
GRASS_FIELDS: [
|
|
462
|
+
'/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_GrassFields_1.Area_GrassFields_1_C',
|
|
463
|
+
'/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_GrassFields_3.Area_GrassFields_3_C',
|
|
464
|
+
'/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_GrassFields_2.Area_GrassFields_2_C',
|
|
465
|
+
],
|
|
466
|
+
WESTERN_DUNE_FOREST: [
|
|
467
|
+
'/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_WesternDuneForest_1.Area_WesternDuneForest_1_C',
|
|
468
|
+
'/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_WesternDuneForest_2.Area_WesternDuneForest_2_C',
|
|
469
|
+
],
|
|
470
|
+
NO_MANS_LAND: [
|
|
471
|
+
'/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_NoMansLand_1.Area_NoMansLand_1_C'
|
|
472
|
+
],
|
|
473
|
+
CRATER: [
|
|
474
|
+
'/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_crater_1.Area_crater_1_C',
|
|
475
|
+
'/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_crater_2.Area_crater_2_C'
|
|
476
|
+
],
|
|
477
|
+
SAVANNA: [
|
|
478
|
+
'/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_Savanna_2.Area_Savanna_2_C'
|
|
479
|
+
],
|
|
480
|
+
RED_JUNGLE: [
|
|
481
|
+
'/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_RedJungle_1.Area_RedJungle_1_C',
|
|
482
|
+
'/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_RedJungle_2.Area_RedJungle_2_C'
|
|
483
|
+
],
|
|
484
|
+
ROcKY_DESERT: [
|
|
485
|
+
'/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_RockyDesert_1.Area_RockyDesert_1_C',
|
|
486
|
+
'/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_RockyDesert_2.Area_RockyDesert_2_C'
|
|
487
|
+
],
|
|
488
|
+
NORTHERN_FOREST: [
|
|
489
|
+
'/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_NorthernForest_1.Area_NorthernForest_1_C',
|
|
490
|
+
'/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_NorthernForest_2.Area_NorthernForest_2_C'
|
|
491
|
+
],
|
|
492
|
+
SOUTHERN_FOREST: [
|
|
493
|
+
'/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_SouthernForest_1.Area_SouthernForest_1_C',
|
|
494
|
+
'/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_SouthernForest_2.Area_SouthernForest_2_C'
|
|
495
|
+
],
|
|
496
|
+
RED_BAMBOO: [
|
|
497
|
+
'/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_RedBambooFields_2.Area_RedBambooFields_2_C'
|
|
498
|
+
],
|
|
499
|
+
TITAN_FOREST: [
|
|
500
|
+
'/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_TitanForest_1.Area_TitanForest_1_C',
|
|
501
|
+
'/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_TitanForest_2.Area_TitanForest_2_C'
|
|
502
|
+
],
|
|
503
|
+
LAKE_FOREST: [
|
|
504
|
+
'/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_LakeForest_1.Area_LakeForest_1_C',
|
|
505
|
+
'/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_LakeForest_2.Area_LakeForest_2_C'
|
|
506
|
+
],
|
|
507
|
+
DESERT_CANYON: [
|
|
508
|
+
'/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_DesertCanyons_1.Area_DesertCanyons_1_C'
|
|
509
|
+
],
|
|
510
|
+
MAZE_CANYONS: [
|
|
511
|
+
'/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_MazeCanyons_1.Area_MazeCanyons_1_C',
|
|
512
|
+
'/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_MazeCanyons_2.Area_MazeCanyons_2_C'
|
|
513
|
+
],
|
|
514
|
+
SPIRE_COAST: [
|
|
515
|
+
'/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_SpireCoast.Area_SpireCoast_C'
|
|
516
|
+
],
|
|
517
|
+
SWAMP: [
|
|
518
|
+
'/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_Swamp_1.Area_Swamp_1_C',
|
|
519
|
+
'/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_Swamp_2.Area_Swamp_2_C'
|
|
520
|
+
],
|
|
521
|
+
ABYSS_CLIFFS: [
|
|
522
|
+
'/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_AbyssCliffs_1.Area_AbyssCliffs_1_C'
|
|
523
|
+
]
|
|
524
|
+
}
|
|
525
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ByteReader, ByteWriter } from '../../../..';
|
|
2
|
+
export type MD5Hash = {
|
|
3
|
+
isValid: boolean;
|
|
4
|
+
hash?: number[];
|
|
5
|
+
};
|
|
6
|
+
export declare const readMD5Hash: (reader: ByteReader) => MD5Hash;
|
|
7
|
+
export declare const writeMD5Hash: (writer: ByteWriter, md5Hash: MD5Hash) => void;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.writeMD5Hash = exports.readMD5Hash = void 0;
|
|
4
|
+
const readMD5Hash = (reader) => {
|
|
5
|
+
const md5Hash = { isValid: false };
|
|
6
|
+
md5Hash.isValid = reader.readInt32() === 1;
|
|
7
|
+
if (md5Hash.isValid) {
|
|
8
|
+
md5Hash.hash = Array.from(reader.readBytes(16));
|
|
9
|
+
}
|
|
10
|
+
return md5Hash;
|
|
11
|
+
};
|
|
12
|
+
exports.readMD5Hash = readMD5Hash;
|
|
13
|
+
const writeMD5Hash = (writer, md5Hash) => {
|
|
14
|
+
writer.writeInt32(md5Hash.isValid ? 1 : 0);
|
|
15
|
+
if (md5Hash.isValid) {
|
|
16
|
+
writer.writeBytesArray(md5Hash.hash);
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
exports.writeMD5Hash = writeMD5Hash;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { ByteReader } from "../../byte/byte-reader.class";
|
|
2
2
|
import { ChunkCompressionInfo } from "../../file.types";
|
|
3
|
-
import { SaveStreamWriter } from "../../stream/save-stream-writer.class";
|
|
4
3
|
import { ObjectReference } from "../objects/ObjectReference";
|
|
5
4
|
import { Level } from "./level.class";
|
|
6
5
|
import { RoughSaveVersion, SatisfactorySaveHeader } from "./save.types";
|
|
@@ -34,5 +33,4 @@ export declare class SaveReader extends ByteReader {
|
|
|
34
33
|
readSaveBodyHash: () => ByteArray4;
|
|
35
34
|
readGrids: () => Grids;
|
|
36
35
|
readLevels(): Level[];
|
|
37
|
-
readLevelsAsynchronously(writer: SaveStreamWriter): Promise<Level[]>;
|
|
38
36
|
}
|
|
@@ -9,7 +9,6 @@ const alignment_enum_1 = require("../../byte/alignment.enum");
|
|
|
9
9
|
const byte_reader_class_1 = require("../../byte/byte-reader.class");
|
|
10
10
|
const parser_error_1 = require("../../error/parser.error");
|
|
11
11
|
const MD5Hash_1 = require("../objects/ue/MD5Hash");
|
|
12
|
-
const asynchronous_level_class_1 = require("./asynchronous-level.class");
|
|
13
12
|
const level_class_1 = require("./level.class");
|
|
14
13
|
exports.DEFAULT_SATISFACTORY_CHUNK_HEADER_SIZE = 49;
|
|
15
14
|
class SaveReader extends byte_reader_class_1.ByteReader {
|
|
@@ -189,18 +188,6 @@ class SaveReader extends byte_reader_class_1.ByteReader {
|
|
|
189
188
|
this.onProgressCallback(this.getBufferProgress(), 'finished parsing.');
|
|
190
189
|
return levels;
|
|
191
190
|
}
|
|
192
|
-
async readLevelsAsynchronously(writer) {
|
|
193
|
-
const numSubLevels = this.readInt32();
|
|
194
|
-
this.levels = new Array(numSubLevels + 1);
|
|
195
|
-
await writer.openLevels();
|
|
196
|
-
for (let j = 0; j <= numSubLevels; j++) {
|
|
197
|
-
let levelName = (j === numSubLevels) ? '' + this.header.mapName : this.readString();
|
|
198
|
-
this.onProgressCallback(this.getBufferProgress(), `reading level [${(j + 1)}/${(numSubLevels + 1)}] ${levelName}`);
|
|
199
|
-
this.levels[j] = await asynchronous_level_class_1.AsynchronousLevel.StreamReadLevel(this, levelName, this.header.buildVersion, writer);
|
|
200
|
-
}
|
|
201
|
-
await writer.endLevels();
|
|
202
|
-
return this.levels;
|
|
203
|
-
}
|
|
204
191
|
}
|
|
205
192
|
SaveReader.EPOCH_TICKS = 621355968000000000n;
|
|
206
193
|
SaveReader.getRoughSaveVersion = (saveVersion, headerTypeVersion) => {
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
var _a;
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.ReadableStreamParser = void 0;
|
|
5
|
-
const
|
|
6
|
-
const save_reader_1 = require("../../satisfactory/save/save-reader");
|
|
5
|
+
const web_1 = require("node:stream/web");
|
|
7
6
|
const SaveComponent_1 = require("../../satisfactory/objects/SaveComponent");
|
|
8
7
|
const SaveEntity_1 = require("../../satisfactory/objects/SaveEntity");
|
|
9
8
|
const level_class_1 = require("../../satisfactory/save/level.class");
|
|
10
|
-
const
|
|
9
|
+
const satisfactory_save_1 = require("../../satisfactory/save/satisfactory-save");
|
|
10
|
+
const save_reader_1 = require("../../satisfactory/save/save-reader");
|
|
11
11
|
const DEFAULT_BYTE_HIGHWATERMARK = 1024 * 1024 * 200;
|
|
12
12
|
const createStringLengthQueuingStrategy = (highWaterMark = DEFAULT_BYTE_HIGHWATERMARK / 4) => ({
|
|
13
13
|
highWaterMark,
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { WritableStream } from "stream/web";
|
|
3
|
+
import { SatisfactorySave } from "../../..";
|
|
4
|
+
export declare class SaveStreamJsonStringifier {
|
|
5
|
+
static StreamStringifySave(save: SatisfactorySave, output: WritableStream<string>): Promise<void>;
|
|
6
|
+
}
|