@jtff/miztemplate-lib 2.1.7 → 3.0.0-rc1

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.
Files changed (65) hide show
  1. package/index.js +3 -1
  2. package/lib/jtff-lib-ci.js +2 -304
  3. package/lib/mizlib.js +336 -0
  4. package/lua/lib/Hercules_Cargo.lua +686 -0
  5. package/lua/lib/Moose_.lua +117314 -0
  6. package/lua/lib/Splash_Damage_2_0.lua +472 -0
  7. package/lua/lib/gemman.lua +1 -0
  8. package/lua/lib/mist_4_5_107.lua +9084 -0
  9. package/lua/lib/skynet-iads-compiled.lua +3864 -0
  10. package/lua/settings/settings-RAT.lua +235 -0
  11. package/lua/settings/settings-airboss.lua +142 -0
  12. package/lua/settings/settings-atis.lua +31 -0
  13. package/lua/settings/settings-awacs.lua +58 -0
  14. package/lua/settings/settings-awacsondemand.lua +26 -0
  15. package/lua/settings/settings-beacons.lua +10 -0
  16. package/lua/settings/settings-capwarzone.lua +164 -0
  17. package/lua/settings/settings-capzone.lua +32 -0
  18. package/lua/settings/settings-fac_ranges.lua +17 -0
  19. package/lua/settings/settings-foxzone.lua +14 -0
  20. package/lua/settings/settings-gemman.lua +6 -0
  21. package/lua/settings/settings-global.lua +31 -0
  22. package/lua/settings/settings-intercept.lua +23 -0
  23. package/lua/settings/settings-logistics.lua +22 -0
  24. package/lua/settings/settings-ondemandawacs.lua +29 -0
  25. package/lua/settings/settings-ondemandtankers.lua +29 -0
  26. package/lua/settings/settings-pedros.lua +11 -0
  27. package/lua/settings/settings-ranges.lua +28 -0
  28. package/lua/settings/settings-reapers.lua +25 -0
  29. package/lua/settings/settings-sams.lua +19 -0
  30. package/lua/settings/settings-skynet.lua +239 -0
  31. package/lua/settings/settings-tankers.lua +32 -0
  32. package/lua/settings/settings-training_ranges.lua +37 -0
  33. package/lua/src/010-root_menus.lua +5 -0
  34. package/lua/src/020-mission_functions.lua +1059 -0
  35. package/lua/src/110-set_clients.lua +61 -0
  36. package/lua/src/120-tankers.lua +589 -0
  37. package/lua/src/130-airboss.lua +621 -0
  38. package/lua/src/135-pedro.lua +21 -0
  39. package/lua/src/140-beacons.lua +19 -0
  40. package/lua/src/150-awacs.lua +599 -0
  41. package/lua/src/160-atis.lua +53 -0
  42. package/lua/src/170-cap_zone_training.lua +127 -0
  43. package/lua/src/172-cap_zone_war.lua +190 -0
  44. package/lua/src/173-fox_zone_training.lua +87 -0
  45. package/lua/src/176-random_air_traffic.lua +73 -0
  46. package/lua/src/178-training-intercept.lua +263 -0
  47. package/lua/src/180-logistics.lua +80 -0
  48. package/lua/src/190-ranges.lua +54 -0
  49. package/lua/src/191-sams.lua +49 -0
  50. package/lua/src/193-training_ranges.lua +191 -0
  51. package/lua/src/195-reaper-ondemand.lua +522 -0
  52. package/lua/src/196-fac_ranges.lua +34 -0
  53. package/lua/src/199-skynet.lua +721 -0
  54. package/lua/src/200-mission.lua +3 -0
  55. package/package.json +7 -6
  56. package/resources/radios/.gitkeep +0 -0
  57. package/resources/sounds/CTLD/beacon.ogg +0 -0
  58. package/resources/sounds/CTLD/beaconsilent.ogg +0 -0
  59. package/resources/sounds/Misc/.gitkeep +0 -0
  60. package/resources/sounds/Misc/2_Bips.ogg +0 -0
  61. package/resources/sounds/Misc/Bip.ogg +0 -0
  62. package/resources/sounds/Misc/crash_wood.ogg +0 -0
  63. package/scripts/build.js +2 -1
  64. package/scripts/inject-scripts.js +127 -230
  65. package/scripts/template-update.js +1 -1
@@ -0,0 +1,3 @@
1
+ --script for specific mission code
2
+ --you can start code here
3
+ --let's go crazy !
package/package.json CHANGED
@@ -1,12 +1,14 @@
1
1
  {
2
2
  "name": "@jtff/miztemplate-lib",
3
- "version": "2.1.7",
3
+ "version": "3.0.0-rc1",
4
4
  "description": "JTFF mission template library",
5
5
  "main": "index.js",
6
6
  "files": [
7
7
  "index.js",
8
8
  "scripts",
9
- "lib"
9
+ "lib",
10
+ "lua",
11
+ "resources"
10
12
  ],
11
13
  "scripts": {
12
14
  "test": "echo \"Error: no test specified\" && exit 1"
@@ -28,13 +30,12 @@
28
30
  },
29
31
  "homepage": "https://github.com/JTFF-mission-scripts/miztemplate-lib#readme",
30
32
  "dependencies": {
31
- "fs": "^0.0.1-security",
32
33
  "ftp": "^0.3.10",
33
34
  "googleapis": "^92.0.0",
34
- "jszip": "^3.7.1",
35
- "lua-json": "^1.0.0",
35
+ "jszip": "^3.10.1",
36
+ "lua-json": "^1.0.1",
36
37
  "path": "^0.12.7",
37
38
  "prompt": "^1.3.0",
38
- "util": "^0.12.4"
39
+ "util": "^0.12.5"
39
40
  }
40
41
  }
File without changes
Binary file
File without changes
Binary file
Binary file
package/scripts/build.js CHANGED
@@ -1,9 +1,10 @@
1
1
  const fs = require("fs");
2
+ const mizlib = require("./lib/mizlib.js");
2
3
 
3
4
  function build(jtffci) {
4
5
  fs.mkdirSync(jtffci.config.general.missionFolder, { recursive: true });
5
6
  jtffci.config.missionTemplates.forEach(async missionTemplate => {
6
- await jtffci.mizUpdate([
7
+ await mizlib.mizUpdate([
7
8
  missionTemplate.prefix,
8
9
  '_',
9
10
  missionTemplate.theatre,
@@ -1,14 +1,17 @@
1
- const fs = require("fs");
1
+ const fs = require('fs');
2
2
  const path = require("path");
3
3
  const prompt = require('prompt');
4
+ const mizlib = require("./lib/mizlib.js");
4
5
 
5
6
  function injectScripts(jtffci, env_mission) {
7
+ // create mission folder in dist (general) folder
6
8
  fs.mkdirSync(jtffci.config.general.missionFolder, { recursive: true });
7
9
  if (fs.existsSync([
8
10
  jtffci.config.general.missionFolder,
9
11
  "/",
10
12
  path.parse(env_mission).name
11
13
  ].join(""))) {
14
+ // if there is a specific mission folder (dist/env_mission), clean it
12
15
  fs.rmSync([
13
16
  jtffci.config.general.missionFolder,
14
17
  "/",
@@ -17,6 +20,7 @@ function injectScripts(jtffci, env_mission) {
17
20
  { recursive: true }
18
21
  );
19
22
  }
23
+ // create a settings folder
20
24
  fs.mkdirSync([
21
25
  jtffci.config.general.missionFolder,
22
26
  "/",
@@ -25,6 +29,7 @@ function injectScripts(jtffci, env_mission) {
25
29
  ].join(""),
26
30
  { recursive: true }
27
31
  );
32
+ // create a src folder
28
33
  fs.mkdirSync([
29
34
  jtffci.config.general.missionFolder,
30
35
  "/",
@@ -34,7 +39,6 @@ function injectScripts(jtffci, env_mission) {
34
39
  { recursive: true }
35
40
  );
36
41
 
37
-
38
42
  const prompt_properties = [
39
43
  {
40
44
  name: 'inject_tankers',
@@ -116,59 +120,60 @@ function injectScripts(jtffci, env_mission) {
116
120
  console.log(' inject_mission specific scripts: ' + (/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_mission));
117
121
  console.log(' inject_radio_presets scripts: ' + (/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_radio_presets));
118
122
 
119
- const zip = await jtffci.mizOpen(env_mission);
120
- jtffci.mizUpdateSrcLuaFiles(zip);
121
- jtffci.mizUpdateLibLuaFiles(zip);
122
- // injection des fichiers son Generaux
123
- // const generalSoundFolder = zip.remove('General').folder('General');
124
- // await jtffci.addFilesToZip(generalSoundFolder, 'resources/sounds/General', fs.readdirSync('resources/sounds/General'));
125
- // injection des fichiers son Misc
126
- const generalSoundFolder = zip.remove('Misc').folder('Misc');
127
- await jtffci.addFilesToZip(generalSoundFolder, 'resources/sounds/Misc', fs.readdirSync('resources/sounds/Misc'));
128
-
129
- const inputZip = await zip.generateAsync({
130
- type: 'nodebuffer',
131
- streamFiles: true,
132
- compression: "DEFLATE",
133
- compressionOptions: {
134
- level: 9
135
- }
136
- });
137
- fs.writeFileSync([
138
- jtffci.config.general.missionFolder,
139
- "/",
140
- path.parse(env_mission).name,
141
- "/",
142
- path.basename(env_mission)
143
- ].join(""),
144
- inputZip);
145
-
146
-
147
- const missionObject = await jtffci.getMissionObjectFromMiz(
148
- [
149
- jtffci.config.general.missionFolder,
150
- "/",
151
- path.parse(env_mission).name,
152
- "/",
153
- path.basename(env_mission)
154
- ].join("")
155
- );
156
- let mapResourceObject = await jtffci.getMapResourceObjectFromMiz(
157
- [
158
- jtffci.config.general.missionFolder,
159
- "/",
160
- path.parse(env_mission).name,
161
- "/",
162
- path.basename(env_mission)
163
- ].join("")
164
- );
123
+ // open the miz input file for reading
124
+ const mizObject = await mizlib.getZipObjectFromMizPath(env_mission);
125
+ // inject all the lua files in the src folder into the source zip object
126
+ mizlib.injectLuaFilesFromFolderIntoZipObject(mizObject, "src");
127
+ // inject all the lua files in the lib folder into the source zip object
128
+ mizlib.injectLuaFilesFromFolderIntoZipObject(mizObject, "lib");
129
+ // injection des fichiers son Généraux si repertoire resources/sounds/General present
130
+ await mizlib.mizUpdateSingleSoundFolder(mizObject, 'General');
131
+ // On fait une sauvegarde dans le folder de destination
132
+ // fs.writeFileSync([
133
+ // jtffci.config.general.missionFolder,
134
+ // "/",
135
+ // path.parse(env_mission).name,
136
+ // "/",
137
+ // path.basename(env_mission)
138
+ // ].join(""),
139
+ // await mizObject.generateAsync({
140
+ // type: 'nodebuffer',
141
+ // streamFiles: true,
142
+ // compression: "DEFLATE",
143
+ // compressionOptions: {
144
+ // level: 9
145
+ // }
146
+ // })
147
+ // );
148
+ // injection des fichiers son Misc si repertoire resources/sounds/Misc present
149
+ await mizlib.mizUpdateSingleSoundFolder(mizObject, 'Misc');
150
+ // On fait une sauvegarde dans le folder de destination
151
+ // fs.writeFileSync([
152
+ // jtffci.config.general.missionFolder,
153
+ // "/",
154
+ // path.parse(env_mission).name,
155
+ // "/",
156
+ // path.basename(env_mission)
157
+ // ].join(""),
158
+ // await mizObject.generateAsync({
159
+ // type: 'nodebuffer',
160
+ // streamFiles: true,
161
+ // compression: "DEFLATE",
162
+ // compressionOptions: {
163
+ // level: 9
164
+ // }
165
+ // })
166
+ // );
167
+ const missionObject = await mizlib.getMissionObjectFromZipObject(mizObject);
168
+ let mapResourceObject = await mizlib.getMapResourceObjectFromZipObject(mizObject);
169
+ let settingsArray = [];
165
170
  if (Array.isArray(mapResourceObject)) {
166
171
  if (mapResourceObject.length === 0) {
167
172
  mapResourceObject = {};
168
173
  }
169
174
  }
170
175
  // injection SplashDamage
171
- let tuple = jtffci.injectScripts(
176
+ let tuple = mizlib.injectLuaScriptsInMissionObject(
172
177
  missionObject['trig'],
173
178
  missionObject['trigrules'],
174
179
  mapResourceObject,
@@ -181,7 +186,7 @@ function injectScripts(jtffci, env_mission) {
181
186
  missionObject['trigrules'] = tuple.trObject;
182
187
  mapResourceObject = tuple.mrObject;
183
188
  // injection Moose
184
- tuple = jtffci.injectScripts(
189
+ tuple = mizlib.injectLuaScriptsInMissionObject(
185
190
  missionObject['trig'],
186
191
  missionObject['trigrules'],
187
192
  mapResourceObject,
@@ -194,7 +199,7 @@ function injectScripts(jtffci, env_mission) {
194
199
  missionObject['trigrules'] = tuple.trObject;
195
200
  mapResourceObject = tuple.mrObject;
196
201
  // injection Mist
197
- tuple = jtffci.injectScripts(
202
+ tuple = mizlib.injectLuaScriptsInMissionObject(
198
203
  missionObject['trig'],
199
204
  missionObject['trigrules'],
200
205
  mapResourceObject,
@@ -207,7 +212,7 @@ function injectScripts(jtffci, env_mission) {
207
212
  missionObject['trigrules'] = tuple.trObject;
208
213
  mapResourceObject = tuple.mrObject;
209
214
  // injection Skynet
210
- tuple = jtffci.injectScripts(
215
+ tuple = mizlib.injectLuaScriptsInMissionObject(
211
216
  missionObject['trig'],
212
217
  missionObject['trigrules'],
213
218
  mapResourceObject,
@@ -220,27 +225,29 @@ function injectScripts(jtffci, env_mission) {
220
225
  missionObject['trigrules'] = tuple.trObject;
221
226
  mapResourceObject = tuple.mrObject;
222
227
  // injection Librairies JTFF
223
- tuple = jtffci.injectScripts(
228
+ settingsArray.push(
229
+ {
230
+ file: "settings-gemman.lua",
231
+ },
232
+ {
233
+ file: "settings-global.lua",
234
+ },
235
+ );
236
+ tuple = mizlib.injectLuaScriptsInMissionObject(
224
237
  missionObject['trig'],
225
238
  missionObject['trigrules'],
226
239
  mapResourceObject,
227
- 'Load Libraries',
240
+ 'Load JTFF Libraries',
228
241
  ['010-root_menus.lua', '020-mission_functions.lua', 'gemman.lua'],
229
- 16,
242
+ 17,
230
243
  '0xffff00ff'
231
244
  );
232
245
  missionObject['trig'] = tuple.tObject;
233
246
  missionObject['trigrules'] = tuple.trObject;
234
247
  mapResourceObject = tuple.mrObject;
235
248
 
236
- let settingsArray = [];
237
- settingsArray.push(
238
- {
239
- file: "settings-gemman.lua",
240
- },
241
- );
242
249
  // injection de la gestion des Set_Clients
243
- tuple = jtffci.injectScripts(
250
+ tuple = mizlib.injectLuaScriptsInMissionObject(
244
251
  missionObject['trig'],
245
252
  missionObject['trigrules'],
246
253
  mapResourceObject,
@@ -264,7 +271,7 @@ function injectScripts(jtffci, env_mission) {
264
271
  objectName: "OnDemandTankersConfig"
265
272
  },
266
273
  );
267
- tuple = jtffci.injectScripts(
274
+ tuple = mizlib.injectLuaScriptsInMissionObject(
268
275
  missionObject['trig'],
269
276
  missionObject['trigrules'],
270
277
  mapResourceObject,
@@ -279,31 +286,7 @@ function injectScripts(jtffci, env_mission) {
279
286
  }
280
287
  if ((/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_airboss)) {
281
288
  // injection des fichiers son Airboss
282
- const zip = await jtffci.mizOpen([
283
- jtffci.config.general.missionFolder,
284
- "/",
285
- path.parse(env_mission).name,
286
- "/",
287
- path.basename(env_mission)
288
- ].join(""));
289
- const airbossSoundFolder = zip.remove('AIRBOSS').folder('AIRBOSS');
290
- await jtffci.addFilesToZip(airbossSoundFolder, 'resources/sounds/AIRBOSS', fs.readdirSync('resources/sounds/AIRBOSS'));
291
- const inputZip = await zip.generateAsync({
292
- type: 'nodebuffer',
293
- streamFiles: true,
294
- compression: "DEFLATE",
295
- compressionOptions: {
296
- level: 9
297
- }
298
- });
299
- fs.writeFileSync([
300
- jtffci.config.general.missionFolder,
301
- "/",
302
- path.parse(env_mission).name,
303
- "/",
304
- path.basename(env_mission)
305
- ].join(""),
306
- inputZip);
289
+ // await mizlib.mizUpdateSingleSoundFolder(mizObject, 'AIRBOSS');
307
290
  settingsArray.push(
308
291
  {
309
292
  file: "settings-airboss.lua",
@@ -314,7 +297,7 @@ function injectScripts(jtffci, env_mission) {
314
297
  objectName: "PedrosConfig"
315
298
  },
316
299
  );
317
- tuple = jtffci.injectScripts(
300
+ tuple = mizlib.injectLuaScriptsInMissionObject(
318
301
  missionObject['trig'],
319
302
  missionObject['trigrules'],
320
303
  mapResourceObject,
@@ -334,7 +317,7 @@ function injectScripts(jtffci, env_mission) {
334
317
  objectName: "BeaconsConfig"
335
318
  },
336
319
  );
337
- tuple = jtffci.injectScripts(
320
+ tuple = mizlib.injectLuaScriptsInMissionObject(
338
321
  missionObject['trig'],
339
322
  missionObject['trigrules'],
340
323
  mapResourceObject,
@@ -358,7 +341,7 @@ function injectScripts(jtffci, env_mission) {
358
341
  objectName: "AwacsOnDemandConfig"
359
342
  },
360
343
  );
361
- tuple = jtffci.injectScripts(
344
+ tuple = mizlib.injectLuaScriptsInMissionObject(
362
345
  missionObject['trig'],
363
346
  missionObject['trigrules'],
364
347
  mapResourceObject,
@@ -373,38 +356,14 @@ function injectScripts(jtffci, env_mission) {
373
356
  }
374
357
  if ((/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_atis)) {
375
358
  // injection des fichiers son ATIS
376
- // const zip = await jtffci.mizOpen([
377
- // jtffci.config.general.missionFolder,
378
- // "/",
379
- // path.parse(env_mission).name,
380
- // "/",
381
- // path.basename(env_mission)
382
- // ].join(""));
383
- // const atisSoundFolder = zip.remove('ATIS').folder('ATIS');
384
- // await jtffci.addFilesToZip(atisSoundFolder, 'resources/sounds/ATIS', fs.readdirSync('resources/sounds/ATIS'));
385
- // const inputZip = await zip.generateAsync({
386
- // type: 'nodebuffer',
387
- // streamFiles: true,
388
- // compression: "DEFLATE",
389
- // compressionOptions: {
390
- // level: 9
391
- // }
392
- // });
393
- // fs.writeFileSync([
394
- // jtffci.config.general.missionFolder,
395
- // "/",
396
- // path.parse(env_mission).name,
397
- // "/",
398
- // path.basename(env_mission)
399
- // ].join(""),
400
- // inputZip);
359
+ // await mizlib.mizUpdateSingleSoundFolder(mizObject, 'ATIS');
401
360
  settingsArray.push(
402
361
  {
403
362
  file: "settings-atis.lua",
404
363
  objectName: "AtisConfig"
405
364
  },
406
365
  );
407
- tuple = jtffci.injectScripts(
366
+ tuple = mizlib.injectLuaScriptsInMissionObject(
408
367
  missionObject['trig'],
409
368
  missionObject['trigrules'],
410
369
  mapResourceObject,
@@ -440,7 +399,7 @@ function injectScripts(jtffci, env_mission) {
440
399
  objectName: "InterceptConfig"
441
400
  },
442
401
  );
443
- tuple = jtffci.injectScripts(
402
+ tuple = mizlib.injectLuaScriptsInMissionObject(
444
403
  missionObject['trig'],
445
404
  missionObject['trigrules'],
446
405
  mapResourceObject,
@@ -455,38 +414,14 @@ function injectScripts(jtffci, env_mission) {
455
414
  }
456
415
  if ((/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_Logistics)) {
457
416
  // injection des fichiers son CTLD
458
- const zip = await jtffci.mizOpen([
459
- jtffci.config.general.missionFolder,
460
- "/",
461
- path.parse(env_mission).name,
462
- "/",
463
- path.basename(env_mission)
464
- ].join(""));
465
- const rangeSoundFolder = zip.remove('CTLD').folder('CTLD');
466
- await jtffci.addFilesToZip(rangeSoundFolder, 'resources/sounds/CTLD', fs.readdirSync('resources/sounds/CTLD'));
467
- const inputZip = await zip.generateAsync({
468
- type: 'nodebuffer',
469
- streamFiles: true,
470
- compression: "DEFLATE",
471
- compressionOptions: {
472
- level: 9
473
- }
474
- });
475
- fs.writeFileSync([
476
- jtffci.config.general.missionFolder,
477
- "/",
478
- path.parse(env_mission).name,
479
- "/",
480
- path.basename(env_mission)
481
- ].join(""),
482
- inputZip);
417
+ await mizlib.mizUpdateSingleSoundFolder(mizObject, 'CTLD');
483
418
  settingsArray.push(
484
419
  {
485
420
  file: "settings-logistics.lua",
486
421
  objectName: "CTLDConfig"
487
422
  },
488
423
  );
489
- tuple = jtffci.injectScripts(
424
+ tuple = mizlib.injectLuaScriptsInMissionObject(
490
425
  missionObject['trig'],
491
426
  missionObject['trigrules'],
492
427
  mapResourceObject,
@@ -501,31 +436,7 @@ function injectScripts(jtffci, env_mission) {
501
436
  }
502
437
  if ((/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_A2G)) {
503
438
  // injection des fichiers son Range
504
- // const zip = await jtffci.mizOpen([
505
- // jtffci.config.general.missionFolder,
506
- // "/",
507
- // path.parse(env_mission).name,
508
- // "/",
509
- // path.basename(env_mission)
510
- // ].join(""));
511
- // const rangeSoundFolder = zip.remove('RANGE').folder('RANGE');
512
- // await jtffci.addFilesToZip(rangeSoundFolder, 'resources/sounds/RANGE', fs.readdirSync('resources/sounds/RANGE'));
513
- // const inputZip = await zip.generateAsync({
514
- // type: 'nodebuffer',
515
- // streamFiles: true,
516
- // compression: "DEFLATE",
517
- // compressionOptions: {
518
- // level: 9
519
- // }
520
- // });
521
- // fs.writeFileSync([
522
- // jtffci.config.general.missionFolder,
523
- // "/",
524
- // path.parse(env_mission).name,
525
- // "/",
526
- // path.basename(env_mission)
527
- // ].join(""),
528
- // inputZip);
439
+ // await mizlib.mizUpdateSingleSoundFolder(mizObject, 'RANGE');
529
440
  settingsArray.push(
530
441
  {
531
442
  file: "settings-ranges.lua",
@@ -552,7 +463,7 @@ function injectScripts(jtffci, env_mission) {
552
463
  objectName: "SkynetConfig"
553
464
  },
554
465
  );
555
- tuple = jtffci.injectScripts(
466
+ tuple = mizlib.injectLuaScriptsInMissionObject(
556
467
  missionObject['trig'],
557
468
  missionObject['trigrules'],
558
469
  mapResourceObject,
@@ -566,46 +477,46 @@ function injectScripts(jtffci, env_mission) {
566
477
  mapResourceObject = tuple.mrObject;
567
478
  }
568
479
  if ((/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_mission)) {
569
- fs.copyFileSync('templates/src/200-mission.lua',
570
- [
571
- jtffci.config.general.missionFolder,
572
- "/",
573
- path.parse(env_mission).name,
574
- "/src/200-mission.lua"
575
- ].join("")
576
- );
577
- const zip = await jtffci.mizOpen([
578
- jtffci.config.general.missionFolder,
579
- "/",
580
- path.parse(env_mission).name,
581
- "/",
582
- path.basename(env_mission)
583
- ].join(""));
584
-
585
- jtffci.mizUpdateLuaFile(zip, [
586
- jtffci.config.general.missionFolder,
587
- "/",
588
- path.parse(env_mission).name,
589
- "/src/200-mission.lua"
590
- ].join("")
591
- );
592
- const inputZip = await zip.generateAsync({
593
- type: 'nodebuffer',
594
- streamFiles: true,
595
- compression: "DEFLATE",
596
- compressionOptions: {
597
- level: 9
598
- }
599
- });
600
- fs.writeFileSync([
601
- jtffci.config.general.missionFolder,
602
- "/",
603
- path.parse(env_mission).name,
604
- "/",
605
- path.basename(env_mission)
606
- ].join(""),
607
- inputZip);
608
- tuple = jtffci.injectScripts(
480
+ // fs.copyFileSync('templates/src/200-mission.lua',
481
+ // [
482
+ // jtffci.config.general.missionFolder,
483
+ // "/",
484
+ // path.parse(env_mission).name,
485
+ // "/src/200-mission.lua"
486
+ // ].join("")
487
+ // );
488
+ // const zip = await mizlib.getZipObjectFromMizPath([
489
+ // jtffci.config.general.missionFolder,
490
+ // "/",
491
+ // path.parse(env_mission).name,
492
+ // "/",
493
+ // path.basename(env_mission)
494
+ // ].join(""));
495
+ //
496
+ // mizlib.injectFileIntoZipObject(zip, [
497
+ // jtffci.config.general.missionFolder,
498
+ // "/",
499
+ // path.parse(env_mission).name,
500
+ // "/src/200-mission.lua"
501
+ // ].join("")
502
+ // );
503
+ // const inputZip = await zip.generateAsync({
504
+ // type: 'nodebuffer',
505
+ // streamFiles: true,
506
+ // compression: "DEFLATE",
507
+ // compressionOptions: {
508
+ // level: 9
509
+ // }
510
+ // });
511
+ // fs.writeFileSync([
512
+ // jtffci.config.general.missionFolder,
513
+ // "/",
514
+ // path.parse(env_mission).name,
515
+ // "/",
516
+ // path.basename(env_mission)
517
+ // ].join(""),
518
+ // inputZip);
519
+ tuple = mizlib.injectLuaScriptsInMissionObject(
609
520
  missionObject['trig'],
610
521
  missionObject['trigrules'],
611
522
  mapResourceObject,
@@ -627,15 +538,9 @@ function injectScripts(jtffci, env_mission) {
627
538
  "/",
628
539
  path.basename(env_mission)
629
540
  ].join("") + ": injecting radio presets declared in resources/radios/" + path.parse(env_mission).name);
630
- const zip = await jtffci.mizOpen([
631
- jtffci.config.general.missionFolder,
632
- "/",
633
- path.parse(env_mission).name,
634
- "/",
635
- path.basename(env_mission)
636
- ].join(""));
637
- await jtffci.mizUpdateRadioPresets(zip, 'resources/radios/' + path.parse(env_mission).name);
541
+ await mizlib.mizUpdateRadioPresets(mizObject, 'resources/radios/' + path.parse(env_mission).name);
638
542
  }
543
+ //injection du trigger des settings
639
544
  for (let settingsObject of settingsArray) {
640
545
  fs.copyFileSync(
641
546
  [
@@ -651,14 +556,7 @@ function injectScripts(jtffci, env_mission) {
651
556
  ].join("")
652
557
  );
653
558
  }
654
- await jtffci.mizInjectSettingsFolder(
655
- [
656
- jtffci.config.general.missionFolder,
657
- "/",
658
- path.parse(env_mission).name,
659
- "/",
660
- path.basename(env_mission)
661
- ].join(""),
559
+ await mizlib.injectLuaSettingsFromFolderPathToZipObject(mizObject,
662
560
  [
663
561
  jtffci.config.general.missionFolder,
664
562
  "/",
@@ -667,7 +565,7 @@ function injectScripts(jtffci, env_mission) {
667
565
  ].join("")
668
566
  );
669
567
  if (settingsArray.length > 0) {
670
- tuple = jtffci.injectScripts(
568
+ tuple = mizlib.injectLuaScriptsInMissionObject(
671
569
  missionObject['trig'],
672
570
  missionObject['trigrules'],
673
571
  mapResourceObject,
@@ -681,7 +579,7 @@ function injectScripts(jtffci, env_mission) {
681
579
  mapResourceObject = tuple.mrObject;
682
580
  }
683
581
  // Sauvegarde de la mission avec scripts injectés
684
- await jtffci.mizInjectMissionDataFile(
582
+ await mizlib.mizInjectMissionDataFile(
685
583
  [
686
584
  jtffci.config.general.missionFolder,
687
585
  "/",
@@ -691,7 +589,7 @@ function injectScripts(jtffci, env_mission) {
691
589
  ].join(""),
692
590
  { mission: missionObject }
693
591
  );
694
- await jtffci.mizInjectMapResourceFile(
592
+ await mizlib.mizInjectMapResourceFile(
695
593
  [
696
594
  jtffci.config.general.missionFolder,
697
595
  "/",
@@ -706,5 +604,4 @@ function injectScripts(jtffci, env_mission) {
706
604
  });
707
605
  }
708
606
 
709
-
710
607
  module.exports = injectScripts
@@ -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 jtffci.mizUpdate([
6
+ await mizlib.mizUpdate([
7
7
  missionTemplate.prefix,
8
8
  '_',
9
9
  missionTemplate.theatre,