@jtff/miztemplate-lib 3.0.0-rc1 → 3.0.0-rc11
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/index.js +2 -2
- package/lib/jtff-lib-ci.js +3 -1
- package/lib/mizlib.js +334 -285
- package/package.json +1 -1
- package/scripts/build.js +1 -2
- package/scripts/inject-scripts.js +215 -208
- package/scripts/template-update.js +1 -1
package/package.json
CHANGED
package/scripts/build.js
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
const fs = require("fs");
|
|
2
|
-
const mizlib = require("./lib/mizlib.js");
|
|
3
2
|
|
|
4
3
|
function build(jtffci) {
|
|
5
4
|
fs.mkdirSync(jtffci.config.general.missionFolder, { recursive: true });
|
|
6
5
|
jtffci.config.missionTemplates.forEach(async missionTemplate => {
|
|
7
|
-
await mizlib.mizUpdate([
|
|
6
|
+
await this.mizlib.mizUpdate([
|
|
8
7
|
missionTemplate.prefix,
|
|
9
8
|
'_',
|
|
10
9
|
missionTemplate.theatre,
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
const fs = require('fs');
|
|
2
2
|
const path = require("path");
|
|
3
3
|
const prompt = require('prompt');
|
|
4
|
-
const mizlib = require("./lib/mizlib.js");
|
|
5
4
|
|
|
6
5
|
function injectScripts(jtffci, env_mission) {
|
|
7
|
-
// create mission folder in
|
|
6
|
+
// create mission folder in jtffci.config.reneral.missionFolder folder
|
|
8
7
|
fs.mkdirSync(jtffci.config.general.missionFolder, { recursive: true });
|
|
9
8
|
if (fs.existsSync([
|
|
10
9
|
jtffci.config.general.missionFolder,
|
|
@@ -14,7 +13,7 @@ function injectScripts(jtffci, env_mission) {
|
|
|
14
13
|
// if there is a specific mission folder (dist/env_mission), clean it
|
|
15
14
|
fs.rmSync([
|
|
16
15
|
jtffci.config.general.missionFolder,
|
|
17
|
-
|
|
16
|
+
'/',
|
|
18
17
|
path.parse(env_mission).name
|
|
19
18
|
].join(""),
|
|
20
19
|
{ recursive: true }
|
|
@@ -38,7 +37,24 @@ function injectScripts(jtffci, env_mission) {
|
|
|
38
37
|
].join(""),
|
|
39
38
|
{ recursive: true }
|
|
40
39
|
);
|
|
41
|
-
|
|
40
|
+
// create a lib folder
|
|
41
|
+
fs.mkdirSync([
|
|
42
|
+
jtffci.config.general.missionFolder,
|
|
43
|
+
"/",
|
|
44
|
+
path.parse(env_mission).name,
|
|
45
|
+
"/lib"
|
|
46
|
+
].join(""),
|
|
47
|
+
{ recursive: true }
|
|
48
|
+
);
|
|
49
|
+
// create a resources folder
|
|
50
|
+
fs.mkdirSync([
|
|
51
|
+
jtffci.config.general.missionFolder,
|
|
52
|
+
"/",
|
|
53
|
+
path.parse(env_mission).name,
|
|
54
|
+
"/resources"
|
|
55
|
+
].join(""),
|
|
56
|
+
{ recursive: true }
|
|
57
|
+
);
|
|
42
58
|
const prompt_properties = [
|
|
43
59
|
{
|
|
44
60
|
name: 'inject_tankers',
|
|
@@ -121,13 +137,66 @@ function injectScripts(jtffci, env_mission) {
|
|
|
121
137
|
console.log(' inject_radio_presets scripts: ' + (/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_radio_presets));
|
|
122
138
|
|
|
123
139
|
// open the miz input file for reading
|
|
124
|
-
const mizObject = await mizlib.getZipObjectFromMizPath(env_mission);
|
|
140
|
+
const mizObject = await jtffci.mizlib.getZipObjectFromMizPath(env_mission);
|
|
141
|
+
// Open the mission Object and mapResource Object for modification
|
|
142
|
+
const missionObject = await jtffci.mizlib.getMissionObjectFromZipObject(mizObject);
|
|
143
|
+
let mapResourceObject = await jtffci.mizlib.getMapResourceObjectFromZipObject(mizObject);
|
|
144
|
+
// prepare settings array
|
|
145
|
+
let settingsArray = [];
|
|
146
|
+
let scriptsArray = [];
|
|
147
|
+
let libsArray = [];
|
|
148
|
+
if (Array.isArray(mapResourceObject)) {
|
|
149
|
+
if (mapResourceObject.length === 0) {
|
|
150
|
+
mapResourceObject = {};
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
// injection des librairies externes
|
|
154
|
+
libsArray.push({
|
|
155
|
+
folder: 'lib',
|
|
156
|
+
scriptTitle: 'SplashDamage 2.0',
|
|
157
|
+
scripts: ['Splash_Damage_2_0.lua'],
|
|
158
|
+
timing: 9,
|
|
159
|
+
color: '0x008000ff'
|
|
160
|
+
});
|
|
161
|
+
libsArray.push({
|
|
162
|
+
folder: 'lib',
|
|
163
|
+
scriptTitle: 'Moose',
|
|
164
|
+
scripts: ['Moose_.lua'],
|
|
165
|
+
timing: 10,
|
|
166
|
+
color: '0x008000ff'
|
|
167
|
+
});
|
|
168
|
+
libsArray.push({
|
|
169
|
+
folder: 'lib',
|
|
170
|
+
scriptTitle: 'Mist',
|
|
171
|
+
scripts: ['mist_4_5_107.lua'],
|
|
172
|
+
timing: 12,
|
|
173
|
+
color: '0x008000ff'
|
|
174
|
+
});
|
|
175
|
+
libsArray.push({
|
|
176
|
+
folder: 'lib',
|
|
177
|
+
scriptTitle: 'Hercules',
|
|
178
|
+
scripts: ['Hercules_Cargo.lua'],
|
|
179
|
+
timing: 14,
|
|
180
|
+
color: '0x008000ff'
|
|
181
|
+
});
|
|
182
|
+
libsArray.push({
|
|
183
|
+
folder: 'lib',
|
|
184
|
+
scriptTitle: 'Skynet',
|
|
185
|
+
scripts: ['skynet-iads-compiled.lua'],
|
|
186
|
+
timing: 15,
|
|
187
|
+
color: '0x008000ff'
|
|
188
|
+
});
|
|
125
189
|
// inject all the lua files in the src folder into the source zip object
|
|
126
|
-
mizlib.injectLuaFilesFromFolderIntoZipObject(mizObject, "src");
|
|
190
|
+
// jtffci.mizlib.injectLuaFilesFromFolderIntoZipObject(mizObject, "src");
|
|
127
191
|
// inject all the lua files in the lib folder into the source zip object
|
|
128
|
-
mizlib.injectLuaFilesFromFolderIntoZipObject(mizObject, "lib");
|
|
192
|
+
// jtffci.mizlib.injectLuaFilesFromFolderIntoZipObject(mizObject, "lib");
|
|
129
193
|
// injection des fichiers son Généraux si repertoire resources/sounds/General present
|
|
130
|
-
await mizlib.
|
|
194
|
+
await jtffci.mizlib.updateWorkspaceWithSingleSoundFolder([
|
|
195
|
+
jtffci.config.general.missionFolder,
|
|
196
|
+
"/",
|
|
197
|
+
path.parse(env_mission).name
|
|
198
|
+
].join(""), 'General');
|
|
199
|
+
await jtffci.mizlib.injectSingleSoundFolderIntoZipObject(mizObject, 'General');
|
|
131
200
|
// On fait une sauvegarde dans le folder de destination
|
|
132
201
|
// fs.writeFileSync([
|
|
133
202
|
// jtffci.config.general.missionFolder,
|
|
@@ -146,7 +215,11 @@ function injectScripts(jtffci, env_mission) {
|
|
|
146
215
|
// })
|
|
147
216
|
// );
|
|
148
217
|
// injection des fichiers son Misc si repertoire resources/sounds/Misc present
|
|
149
|
-
await mizlib.
|
|
218
|
+
await jtffci.mizlib.updateWorkspaceWithSingleSoundFolder([jtffci.config.general.missionFolder,
|
|
219
|
+
"/",
|
|
220
|
+
path.parse(env_mission).name
|
|
221
|
+
].join(""), 'Misc');
|
|
222
|
+
await jtffci.mizlib.injectSingleSoundFolderIntoZipObject(mizObject, 'Misc');
|
|
150
223
|
// On fait une sauvegarde dans le folder de destination
|
|
151
224
|
// fs.writeFileSync([
|
|
152
225
|
// jtffci.config.general.missionFolder,
|
|
@@ -164,66 +237,7 @@ function injectScripts(jtffci, env_mission) {
|
|
|
164
237
|
// }
|
|
165
238
|
// })
|
|
166
239
|
// );
|
|
167
|
-
|
|
168
|
-
let mapResourceObject = await mizlib.getMapResourceObjectFromZipObject(mizObject);
|
|
169
|
-
let settingsArray = [];
|
|
170
|
-
if (Array.isArray(mapResourceObject)) {
|
|
171
|
-
if (mapResourceObject.length === 0) {
|
|
172
|
-
mapResourceObject = {};
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
// injection SplashDamage
|
|
176
|
-
let tuple = mizlib.injectLuaScriptsInMissionObject(
|
|
177
|
-
missionObject['trig'],
|
|
178
|
-
missionObject['trigrules'],
|
|
179
|
-
mapResourceObject,
|
|
180
|
-
'SplashDamage load',
|
|
181
|
-
['Splash_Damage_2_0.lua'],
|
|
182
|
-
9,
|
|
183
|
-
'0x008000ff'
|
|
184
|
-
);
|
|
185
|
-
missionObject['trig'] = tuple.tObject;
|
|
186
|
-
missionObject['trigrules'] = tuple.trObject;
|
|
187
|
-
mapResourceObject = tuple.mrObject;
|
|
188
|
-
// injection Moose
|
|
189
|
-
tuple = mizlib.injectLuaScriptsInMissionObject(
|
|
190
|
-
missionObject['trig'],
|
|
191
|
-
missionObject['trigrules'],
|
|
192
|
-
mapResourceObject,
|
|
193
|
-
'Moose load',
|
|
194
|
-
['Moose_.lua'],
|
|
195
|
-
10,
|
|
196
|
-
'0x008000ff'
|
|
197
|
-
);
|
|
198
|
-
missionObject['trig'] = tuple.tObject;
|
|
199
|
-
missionObject['trigrules'] = tuple.trObject;
|
|
200
|
-
mapResourceObject = tuple.mrObject;
|
|
201
|
-
// injection Mist
|
|
202
|
-
tuple = mizlib.injectLuaScriptsInMissionObject(
|
|
203
|
-
missionObject['trig'],
|
|
204
|
-
missionObject['trigrules'],
|
|
205
|
-
mapResourceObject,
|
|
206
|
-
'Mist load',
|
|
207
|
-
['mist_4_5_107.lua'],
|
|
208
|
-
13,
|
|
209
|
-
'0x008000ff'
|
|
210
|
-
);
|
|
211
|
-
missionObject['trig'] = tuple.tObject;
|
|
212
|
-
missionObject['trigrules'] = tuple.trObject;
|
|
213
|
-
mapResourceObject = tuple.mrObject;
|
|
214
|
-
// injection Skynet
|
|
215
|
-
tuple = mizlib.injectLuaScriptsInMissionObject(
|
|
216
|
-
missionObject['trig'],
|
|
217
|
-
missionObject['trigrules'],
|
|
218
|
-
mapResourceObject,
|
|
219
|
-
'Skynet load',
|
|
220
|
-
['skynet-iads-compiled.lua'],
|
|
221
|
-
15,
|
|
222
|
-
'0x008000ff'
|
|
223
|
-
);
|
|
224
|
-
missionObject['trig'] = tuple.tObject;
|
|
225
|
-
missionObject['trigrules'] = tuple.trObject;
|
|
226
|
-
mapResourceObject = tuple.mrObject;
|
|
240
|
+
|
|
227
241
|
// injection Librairies JTFF
|
|
228
242
|
settingsArray.push(
|
|
229
243
|
{
|
|
@@ -233,32 +247,47 @@ function injectScripts(jtffci, env_mission) {
|
|
|
233
247
|
file: "settings-global.lua",
|
|
234
248
|
},
|
|
235
249
|
);
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
250
|
+
libsArray.push({
|
|
251
|
+
folder: 'lib',
|
|
252
|
+
scriptTitle: 'GemMan',
|
|
253
|
+
scripts: ['gemman.lua'],
|
|
254
|
+
timing: 17,
|
|
255
|
+
color: '0xffff00ff'
|
|
256
|
+
});
|
|
257
|
+
libsArray.push({
|
|
258
|
+
folder: 'src',
|
|
259
|
+
scriptTitle: 'JTFF Libraries',
|
|
260
|
+
scripts: ['010-root_menus.lua', '020-mission_functions.lua'],
|
|
261
|
+
timing: 18,
|
|
262
|
+
color: '0xffff00ff'
|
|
263
|
+
});
|
|
264
|
+
for ( script of libsArray) {
|
|
265
|
+
let tuple = jtffci.mizlib.injectLuaScriptAndUpdateWorkspace(
|
|
266
|
+
[
|
|
267
|
+
jtffci.config.general.missionFolder,
|
|
268
|
+
"/",
|
|
269
|
+
path.parse(env_mission).name,
|
|
270
|
+
].join(""),
|
|
271
|
+
script.folder,
|
|
272
|
+
script.scripts,
|
|
273
|
+
script.scriptTitle + ' Load',
|
|
274
|
+
missionObject,
|
|
275
|
+
mapResourceObject,
|
|
276
|
+
script.timing,
|
|
277
|
+
script.color
|
|
278
|
+
);
|
|
279
|
+
missionObject['trig'] = tuple.tObject;
|
|
280
|
+
missionObject['trigrules'] = tuple.trObject;
|
|
281
|
+
mapResourceObject = tuple.mrObject;
|
|
282
|
+
}
|
|
249
283
|
// injection de la gestion des Set_Clients
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
'0xff0000ff'
|
|
258
|
-
);
|
|
259
|
-
missionObject['trig'] = tuple.tObject;
|
|
260
|
-
missionObject['trigrules'] = tuple.trObject;
|
|
261
|
-
mapResourceObject = tuple.mrObject;
|
|
284
|
+
scriptsArray.push({
|
|
285
|
+
folder: 'src',
|
|
286
|
+
scriptTitle: 'Set clients',
|
|
287
|
+
scripts: ['110-set_clients.lua'],
|
|
288
|
+
timing: 21,
|
|
289
|
+
color: '0xff0000ff'
|
|
290
|
+
});
|
|
262
291
|
// injection des Tankers et OndemandTankers
|
|
263
292
|
if ((/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_tankers)) {
|
|
264
293
|
settingsArray.push(
|
|
@@ -271,22 +300,21 @@ function injectScripts(jtffci, env_mission) {
|
|
|
271
300
|
objectName: "OnDemandTankersConfig"
|
|
272
301
|
},
|
|
273
302
|
);
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
'0xff0000ff'
|
|
282
|
-
);
|
|
283
|
-
missionObject['trig'] = tuple.tObject;
|
|
284
|
-
missionObject['trigrules'] = tuple.trObject;
|
|
285
|
-
mapResourceObject = tuple.mrObject;
|
|
303
|
+
scriptsArray.push({
|
|
304
|
+
folder: 'src',
|
|
305
|
+
scriptTitle: 'Tankers',
|
|
306
|
+
scripts: ['120-tankers.lua'],
|
|
307
|
+
timing: 22,
|
|
308
|
+
color: '0xff0000ff'
|
|
309
|
+
});
|
|
286
310
|
}
|
|
287
311
|
if ((/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_airboss)) {
|
|
288
312
|
// injection des fichiers son Airboss
|
|
289
|
-
|
|
313
|
+
await jtffci.mizlib.updateWorkspaceWithSingleSoundFolder([jtffci.config.general.missionFolder,
|
|
314
|
+
"/",
|
|
315
|
+
path.parse(env_mission).name
|
|
316
|
+
].join(""), 'AIRBOSS');
|
|
317
|
+
await jtffci.mizlib.injectSingleSoundFolderIntoZipObject(mizObject, 'AIRBOSS');
|
|
290
318
|
settingsArray.push(
|
|
291
319
|
{
|
|
292
320
|
file: "settings-airboss.lua",
|
|
@@ -297,18 +325,13 @@ function injectScripts(jtffci, env_mission) {
|
|
|
297
325
|
objectName: "PedrosConfig"
|
|
298
326
|
},
|
|
299
327
|
);
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
'0xff0000ff'
|
|
308
|
-
);
|
|
309
|
-
missionObject['trig'] = tuple.tObject;
|
|
310
|
-
missionObject['trigrules'] = tuple.trObject;
|
|
311
|
-
mapResourceObject = tuple.mrObject;
|
|
328
|
+
scriptsArray.push({
|
|
329
|
+
folder: 'src',
|
|
330
|
+
scriptTitle: 'Airboss',
|
|
331
|
+
scripts: ['130-airboss.lua', '135-pedro.lua'],
|
|
332
|
+
timing: 23,
|
|
333
|
+
color: '0xff0000ff'
|
|
334
|
+
});
|
|
312
335
|
}
|
|
313
336
|
if ((/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_beacons)) {
|
|
314
337
|
settingsArray.push(
|
|
@@ -317,18 +340,13 @@ function injectScripts(jtffci, env_mission) {
|
|
|
317
340
|
objectName: "BeaconsConfig"
|
|
318
341
|
},
|
|
319
342
|
);
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
'0xff0000ff'
|
|
328
|
-
);
|
|
329
|
-
missionObject['trig'] = tuple.tObject;
|
|
330
|
-
missionObject['trigrules'] = tuple.trObject;
|
|
331
|
-
mapResourceObject = tuple.mrObject;
|
|
343
|
+
scriptsArray.push({
|
|
344
|
+
folder: 'src',
|
|
345
|
+
scriptTitle: 'Beacons',
|
|
346
|
+
scripts: ['140-beacons.lua'],
|
|
347
|
+
timing: 24,
|
|
348
|
+
color: '0xff0000ff'
|
|
349
|
+
});
|
|
332
350
|
}
|
|
333
351
|
if ((/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_awacs)) {
|
|
334
352
|
settingsArray.push(
|
|
@@ -341,40 +359,30 @@ function injectScripts(jtffci, env_mission) {
|
|
|
341
359
|
objectName: "AwacsOnDemandConfig"
|
|
342
360
|
},
|
|
343
361
|
);
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
'0xff0000ff'
|
|
352
|
-
);
|
|
353
|
-
missionObject['trig'] = tuple.tObject;
|
|
354
|
-
missionObject['trigrules'] = tuple.trObject;
|
|
355
|
-
mapResourceObject = tuple.mrObject;
|
|
362
|
+
scriptsArray.push({
|
|
363
|
+
folder: 'src',
|
|
364
|
+
scriptTitle: 'Awacs',
|
|
365
|
+
scripts: ['150-awacs.lua'],
|
|
366
|
+
timing: 25,
|
|
367
|
+
color: '0xff0000ff'
|
|
368
|
+
});
|
|
356
369
|
}
|
|
357
370
|
if ((/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_atis)) {
|
|
358
371
|
// injection des fichiers son ATIS
|
|
359
|
-
// await mizlib.mizUpdateSingleSoundFolder(mizObject, 'ATIS');
|
|
372
|
+
// await jtffci.mizlib.mizUpdateSingleSoundFolder(mizObject, 'ATIS');
|
|
360
373
|
settingsArray.push(
|
|
361
374
|
{
|
|
362
375
|
file: "settings-atis.lua",
|
|
363
376
|
objectName: "AtisConfig"
|
|
364
377
|
},
|
|
365
378
|
);
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
'0xff0000ff'
|
|
374
|
-
);
|
|
375
|
-
missionObject['trig'] = tuple.tObject;
|
|
376
|
-
missionObject['trigrules'] = tuple.trObject;
|
|
377
|
-
mapResourceObject = tuple.mrObject;
|
|
379
|
+
scriptsArray.push({
|
|
380
|
+
folder: 'src',
|
|
381
|
+
scriptTitle: 'ATIS',
|
|
382
|
+
scripts: ['160-atis.lua'],
|
|
383
|
+
timing: 26,
|
|
384
|
+
color: '0xff0000ff'
|
|
385
|
+
});
|
|
378
386
|
}
|
|
379
387
|
if ((/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_A2A)) {
|
|
380
388
|
settingsArray.push(
|
|
@@ -399,44 +407,34 @@ function injectScripts(jtffci, env_mission) {
|
|
|
399
407
|
objectName: "InterceptConfig"
|
|
400
408
|
},
|
|
401
409
|
);
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
'0xff0000ff'
|
|
410
|
-
);
|
|
411
|
-
missionObject['trig'] = tuple.tObject;
|
|
412
|
-
missionObject['trigrules'] = tuple.trObject;
|
|
413
|
-
mapResourceObject = tuple.mrObject;
|
|
410
|
+
scriptsArray.push({
|
|
411
|
+
folder: 'src',
|
|
412
|
+
scriptTitle: 'Air To Air',
|
|
413
|
+
scripts: ['170-cap_zone_training.lua', '172-cap_zone_war.lua', '173-fox_zone_training.lua', '176-random_air_traffic.lua', '178-training-intercept.lua'],
|
|
414
|
+
timing: 27,
|
|
415
|
+
color: '0xff0000ff'
|
|
416
|
+
});
|
|
414
417
|
}
|
|
415
418
|
if ((/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_Logistics)) {
|
|
416
419
|
// injection des fichiers son CTLD
|
|
417
|
-
await mizlib.
|
|
420
|
+
await jtffci.mizlib.injectSingleSoundFolderIntoZipObject(mizObject, 'CTLD');
|
|
418
421
|
settingsArray.push(
|
|
419
422
|
{
|
|
420
423
|
file: "settings-logistics.lua",
|
|
421
424
|
objectName: "CTLDConfig"
|
|
422
425
|
},
|
|
423
426
|
);
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
'0xff0000ff'
|
|
432
|
-
);
|
|
433
|
-
missionObject['trig'] = tuple.tObject;
|
|
434
|
-
missionObject['trigrules'] = tuple.trObject;
|
|
435
|
-
mapResourceObject = tuple.mrObject;
|
|
427
|
+
scriptsArray.push({
|
|
428
|
+
folder: 'src',
|
|
429
|
+
scriptTitle: 'Logistics',
|
|
430
|
+
scripts: ['180-logistics.lua'],
|
|
431
|
+
timing: 28,
|
|
432
|
+
color: '0xff0000ff'
|
|
433
|
+
});
|
|
436
434
|
}
|
|
437
435
|
if ((/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_A2G)) {
|
|
438
436
|
// injection des fichiers son Range
|
|
439
|
-
// await mizlib.mizUpdateSingleSoundFolder(mizObject, 'RANGE');
|
|
437
|
+
// await jtffci.mizlib.mizUpdateSingleSoundFolder(mizObject, 'RANGE');
|
|
440
438
|
settingsArray.push(
|
|
441
439
|
{
|
|
442
440
|
file: "settings-ranges.lua",
|
|
@@ -463,18 +461,13 @@ function injectScripts(jtffci, env_mission) {
|
|
|
463
461
|
objectName: "SkynetConfig"
|
|
464
462
|
},
|
|
465
463
|
);
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
'0xff0000ff'
|
|
474
|
-
);
|
|
475
|
-
missionObject['trig'] = tuple.tObject;
|
|
476
|
-
missionObject['trigrules'] = tuple.trObject;
|
|
477
|
-
mapResourceObject = tuple.mrObject;
|
|
464
|
+
scriptsArray.push({
|
|
465
|
+
folder: 'src',
|
|
466
|
+
scriptTitle: 'Air To Ground',
|
|
467
|
+
scripts: ['190-ranges.lua', '191-sams.lua', '193-training_ranges.lua', '195-reaper-ondemand.lua', '196-fac_ranges.lua', '199-skynet.lua'],
|
|
468
|
+
timing: 29,
|
|
469
|
+
color: '0xff0000ff'
|
|
470
|
+
});
|
|
478
471
|
}
|
|
479
472
|
if ((/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_mission)) {
|
|
480
473
|
// fs.copyFileSync('templates/src/200-mission.lua',
|
|
@@ -485,7 +478,7 @@ function injectScripts(jtffci, env_mission) {
|
|
|
485
478
|
// "/src/200-mission.lua"
|
|
486
479
|
// ].join("")
|
|
487
480
|
// );
|
|
488
|
-
// const zip = await mizlib.getZipObjectFromMizPath([
|
|
481
|
+
// const zip = await jtffci.mizlib.getZipObjectFromMizPath([
|
|
489
482
|
// jtffci.config.general.missionFolder,
|
|
490
483
|
// "/",
|
|
491
484
|
// path.parse(env_mission).name,
|
|
@@ -493,7 +486,7 @@ function injectScripts(jtffci, env_mission) {
|
|
|
493
486
|
// path.basename(env_mission)
|
|
494
487
|
// ].join(""));
|
|
495
488
|
//
|
|
496
|
-
// mizlib.injectFileIntoZipObject(zip, [
|
|
489
|
+
// jtffci.mizlib.injectFileIntoZipObject(zip, [
|
|
497
490
|
// jtffci.config.general.missionFolder,
|
|
498
491
|
// "/",
|
|
499
492
|
// path.parse(env_mission).name,
|
|
@@ -516,14 +509,28 @@ function injectScripts(jtffci, env_mission) {
|
|
|
516
509
|
// path.basename(env_mission)
|
|
517
510
|
// ].join(""),
|
|
518
511
|
// inputZip);
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
512
|
+
scriptsArray.push({
|
|
513
|
+
folder: 'src',
|
|
514
|
+
scriptTitle: 'Mission specific',
|
|
515
|
+
scripts: ['200-mission.lua'],
|
|
516
|
+
timing: 30,
|
|
517
|
+
color: '0xff0000ff'
|
|
518
|
+
});
|
|
519
|
+
}
|
|
520
|
+
for ( script of scriptsArray) {
|
|
521
|
+
let tuple = jtffci.mizlib.injectLuaScriptAndUpdateWorkspace(
|
|
522
|
+
[
|
|
523
|
+
jtffci.config.general.missionFolder,
|
|
524
|
+
"/",
|
|
525
|
+
path.parse(env_mission).name,
|
|
526
|
+
].join(""),
|
|
527
|
+
script.folder,
|
|
528
|
+
script.scripts,
|
|
529
|
+
script.scriptTitle,
|
|
530
|
+
missionObject,
|
|
522
531
|
mapResourceObject,
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
30,
|
|
526
|
-
'0xff0000ff'
|
|
532
|
+
script.timing,
|
|
533
|
+
script.color
|
|
527
534
|
);
|
|
528
535
|
missionObject['trig'] = tuple.tObject;
|
|
529
536
|
missionObject['trigrules'] = tuple.trObject;
|
|
@@ -538,7 +545,7 @@ function injectScripts(jtffci, env_mission) {
|
|
|
538
545
|
"/",
|
|
539
546
|
path.basename(env_mission)
|
|
540
547
|
].join("") + ": injecting radio presets declared in resources/radios/" + path.parse(env_mission).name);
|
|
541
|
-
await mizlib.mizUpdateRadioPresets(mizObject, 'resources/radios/' + path.parse(env_mission).name);
|
|
548
|
+
await jtffci.mizlib.mizUpdateRadioPresets(mizObject, 'resources/radios/' + path.parse(env_mission).name);
|
|
542
549
|
}
|
|
543
550
|
//injection du trigger des settings
|
|
544
551
|
for (let settingsObject of settingsArray) {
|
|
@@ -556,7 +563,7 @@ function injectScripts(jtffci, env_mission) {
|
|
|
556
563
|
].join("")
|
|
557
564
|
);
|
|
558
565
|
}
|
|
559
|
-
await mizlib.injectLuaSettingsFromFolderPathToZipObject(mizObject,
|
|
566
|
+
await jtffci.mizlib.injectLuaSettingsFromFolderPathToZipObject(mizObject,
|
|
560
567
|
[
|
|
561
568
|
jtffci.config.general.missionFolder,
|
|
562
569
|
"/",
|
|
@@ -565,7 +572,7 @@ function injectScripts(jtffci, env_mission) {
|
|
|
565
572
|
].join("")
|
|
566
573
|
);
|
|
567
574
|
if (settingsArray.length > 0) {
|
|
568
|
-
tuple = mizlib.injectLuaScriptsInMissionObject(
|
|
575
|
+
let tuple = jtffci.mizlib.injectLuaScriptsInMissionObject(
|
|
569
576
|
missionObject['trig'],
|
|
570
577
|
missionObject['trigrules'],
|
|
571
578
|
mapResourceObject,
|
|
@@ -579,7 +586,7 @@ function injectScripts(jtffci, env_mission) {
|
|
|
579
586
|
mapResourceObject = tuple.mrObject;
|
|
580
587
|
}
|
|
581
588
|
// Sauvegarde de la mission avec scripts injectés
|
|
582
|
-
await mizlib.mizInjectMissionDataFile(
|
|
589
|
+
await jtffci.mizlib.mizInjectMissionDataFile(
|
|
583
590
|
[
|
|
584
591
|
jtffci.config.general.missionFolder,
|
|
585
592
|
"/",
|
|
@@ -589,7 +596,7 @@ function injectScripts(jtffci, env_mission) {
|
|
|
589
596
|
].join(""),
|
|
590
597
|
{ mission: missionObject }
|
|
591
598
|
);
|
|
592
|
-
await mizlib.mizInjectMapResourceFile(
|
|
599
|
+
await jtffci.mizlib.mizInjectMapResourceFile(
|
|
593
600
|
[
|
|
594
601
|
jtffci.config.general.missionFolder,
|
|
595
602
|
"/",
|
|
@@ -3,7 +3,7 @@ const fs = require("fs");
|
|
|
3
3
|
function templateUpdate(jtffci) {
|
|
4
4
|
fs.mkdirSync(jtffci.config.general.missionFolder, { recursive: true });
|
|
5
5
|
jtffci.config.missionTemplates.map(async missionTemplate => {
|
|
6
|
-
await mizlib.mizUpdate([
|
|
6
|
+
await this.mizlib.mizUpdate([
|
|
7
7
|
missionTemplate.prefix,
|
|
8
8
|
'_',
|
|
9
9
|
missionTemplate.theatre,
|