@jtff/miztemplate-lib 2.1.7 → 2.2.0

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 CHANGED
@@ -1,4 +1,4 @@
1
- const MizTemplateCI = require("./lib/jtff-lib-ci.js");
1
+ const {MizTemplateCI,MizLib} = require("./lib/jtff-lib-ci.js");
2
2
  const build = require("./scripts/build.js");
3
3
  const clean = require("./scripts/clean.js");
4
4
  const ftpupload = require("./scripts/ftpupload.js");
@@ -12,6 +12,7 @@ const templateUpdate = require("./scripts/template-update.js");
12
12
 
13
13
  module.exports = {
14
14
  MizTemplateCI: MizTemplateCI,
15
+ MizLib: MizLib,
15
16
  build:build,
16
17
  clean:clean,
17
18
  ftpupload:ftpupload,
@@ -10,51 +10,9 @@ const { format, parse } = require("lua-json");
10
10
  const ftpClient = require('ftp');
11
11
 
12
12
  class MizTemplateCI{
13
-
14
13
  constructor(config) {
15
14
  this.config = config
16
- }
17
-
18
- injectScripts(tObject, trObject, mrObject, strTitle, scriptFilesArray, timingInSeconds, hexColor) {
19
- let nextIndex = Object.keys(trObject).length + 1;
20
- if (nextIndex === 1) {
21
- tObject['actions'] = {};
22
- tObject['func'] = {};
23
- tObject['conditions'] = {};
24
- tObject['flag'] = {};
25
- trObject = {};
26
- }
27
- let actionSentence = "";
28
- let actionsObject = {};
29
- for (const [index, scriptFile] of scriptFilesArray.entries()) {
30
- actionSentence += "a_do_script_file(getValueResourceByKey(\"" + scriptFile + "\")); "
31
- actionsObject[index + 1] = {
32
- file: scriptFile,
33
- predicate: 'a_do_script_file',
34
- };
35
- mrObject[scriptFile] = scriptFile;
36
- }
37
- actionSentence += "mission.trig.func[" + nextIndex + "]=nil;"
38
- tObject['actions'][nextIndex] = actionSentence;
39
- tObject['func'][nextIndex] = "if mission.trig.conditions[" + nextIndex + "]() then mission.trig.actions[" + nextIndex + "]() end";
40
- tObject['conditions'][nextIndex] = "return(c_time_after(" + timingInSeconds + ") )";
41
- tObject['flag'][nextIndex] = true;
42
- trObject[nextIndex] = {
43
- rules: {
44
- 1: {
45
- coalitionlist: 'red',
46
- seconds: timingInSeconds,
47
- predicate: 'c_time_after',
48
- zone: ''
49
- }
50
- },
51
- eventlist: '',
52
- comment: strTitle,
53
- actions: actionsObject,
54
- predicate: 'triggerOnce',
55
- colorItem: hexColor
56
- };
57
- return { tObject: tObject, trObject: trObject, mrObject: mrObject };
15
+ this.mizlib = new MizLib()
58
16
  }
59
17
 
60
18
  getVersion() {
@@ -104,6 +62,181 @@ class MizTemplateCI{
104
62
  return newVersionObject;
105
63
  }
106
64
 
65
+ getDestinationMizFilePaths() {
66
+ const returnArray = this.config.missionTemplates.map(missionTemplate => {
67
+ return this.config.general.missionFolder + '/'
68
+ + this.config.general.missionPrefix + '_'
69
+ + missionTemplate.theatre + '_'
70
+ + this.config.general.missionSuffix
71
+ + '_' + this.config.general.missionVersion + '.miz'
72
+ });
73
+ return returnArray;
74
+ }
75
+
76
+ getGeneratedMizFilePaths() {
77
+ return fs.readdirSync(this.config.general.missionFolder + '/')
78
+ .filter(file => file.endsWith((".miz")))
79
+ .map(mizFile => {
80
+ return this.config.general.missionFolder + '/' + mizFile;
81
+ });
82
+ }
83
+
84
+ uploadMizFiles(credentials) {
85
+ const destFtpServer = new ftpClient();
86
+ const configObject = this.config;
87
+
88
+ destFtpServer.connect({
89
+ host: credentials.host,
90
+ secure: false,
91
+ user: credentials.user,
92
+ password: credentials.password
93
+ });
94
+ destFtpServer.on('ready', function () {
95
+ destFtpServer.cwd(credentials.folder, function (err, curDir) {
96
+ if (err) throw err;
97
+ Promise.all(
98
+ fs.readdirSync(configObject.general.missionFolder)
99
+ .filter(file => file.endsWith('.pub.json'))
100
+ .map(file => {
101
+ return new Promise((resolve, reject) => {
102
+ // console.log(configObject.general.missionFolder+'/'+file);
103
+ fs.readFile(configObject.general.missionFolder + '/' + file, function (err, data) {
104
+ if (err) reject(err);
105
+ data = JSON.parse(data.toString());
106
+ // console.log(data);
107
+ destFtpServer.put(data.mizFiles, path.basename(data.mizFiles), false, function (err) {
108
+ if (err) reject(err);
109
+ console.log('file ' + path.basename(data.mizFiles) + ' uploaded on DCS Server');
110
+ resolve(path.basename(data.mizFiles));
111
+ });
112
+ });
113
+ })
114
+ })
115
+ ).then(() => {
116
+ destFtpServer.end();
117
+ });
118
+ });
119
+ });
120
+ }
121
+
122
+ publishMizFiles(credentials) {
123
+ const configObject = this.config;
124
+ const jwtClient = new google.auth.JWT(
125
+ credentials.client_email,
126
+ null,
127
+ credentials.private_key,
128
+ configObject.google.scopes
129
+ );
130
+ jwtClient.authorize(function (err, tokens) {
131
+ if (err) {
132
+ console.log(err);
133
+ throw err;
134
+ } else {
135
+ console.log("Successfully connected!");
136
+ const drive = google.drive({ version: 'v3', jwtClient });
137
+ fs.readdirSync(configObject.general.missionFolder)
138
+ .filter(file => file.endsWith('.pub.json'))
139
+ .map(file => {
140
+ // console.log(configObject.general.missionFolder+'/'+file);
141
+ fs.readFile(configObject.general.missionFolder + '/' + file, function (err, data) {
142
+ if (err) throw err;
143
+ data = JSON.parse(data.toString());
144
+ // console.log(data);
145
+ drive.files.list({
146
+ q: `'${data.gdriveFolder}' in parents and trashed = false and name = '${path.basename(data.mizFiles)}'`,
147
+ auth: jwtClient
148
+ }).then(rsp => {
149
+ // console.log(rsp.data.files);
150
+ // console.log(path.basename(data.mizFiles));
151
+ const fileMetadata = {
152
+ 'name': path.basename(data.mizFiles),
153
+ parents: [data.gdriveFolder]
154
+ };
155
+ const media = {
156
+ mimeType: 'application/zip',
157
+ body: fs.createReadStream(data.mizFiles)
158
+ };
159
+ if (rsp.data.files.length > 0) {
160
+ drive.files.update({
161
+ fileId: rsp.data.files[0].id,
162
+ auth: jwtClient,
163
+ media: media
164
+ }, (err, file) => {
165
+ if (err) {
166
+ // Handle error
167
+ console.error(err);
168
+ } else {
169
+ console.log('File updated Id: ', file.id);
170
+ }
171
+ });
172
+ } else {
173
+ drive.files.create({
174
+ resource: fileMetadata,
175
+ media: media,
176
+ auth: jwtClient,
177
+ fields: 'id'
178
+ }, (err, file) => {
179
+ if (err) {
180
+ // Handle error
181
+ console.error(err);
182
+ } else {
183
+ console.log('File created Id: ', file.id);
184
+ }
185
+ });
186
+ }
187
+ });
188
+ });
189
+ });
190
+ }
191
+ });
192
+ }
193
+ }
194
+
195
+ class MizLib{
196
+ constructor() {
197
+ }
198
+ injectScripts(tObject, trObject, mrObject, strTitle, scriptFilesArray, timingInSeconds, hexColor) {
199
+ let nextIndex = Object.keys(trObject).length + 1;
200
+ if (nextIndex === 1) {
201
+ tObject['actions'] = {};
202
+ tObject['func'] = {};
203
+ tObject['conditions'] = {};
204
+ tObject['flag'] = {};
205
+ trObject = {};
206
+ }
207
+ let actionSentence = "";
208
+ let actionsObject = {};
209
+ for (const [index, scriptFile] of scriptFilesArray.entries()) {
210
+ actionSentence += "a_do_script_file(getValueResourceByKey(\"" + scriptFile + "\")); "
211
+ actionsObject[index + 1] = {
212
+ file: scriptFile,
213
+ predicate: 'a_do_script_file',
214
+ };
215
+ mrObject[scriptFile] = scriptFile;
216
+ }
217
+ actionSentence += "mission.trig.func[" + nextIndex + "]=nil;"
218
+ tObject['actions'][nextIndex] = actionSentence;
219
+ tObject['func'][nextIndex] = "if mission.trig.conditions[" + nextIndex + "]() then mission.trig.actions[" + nextIndex + "]() end";
220
+ tObject['conditions'][nextIndex] = "return(c_time_after(" + timingInSeconds + ") )";
221
+ tObject['flag'][nextIndex] = true;
222
+ trObject[nextIndex] = {
223
+ rules: {
224
+ 1: {
225
+ coalitionlist: 'red',
226
+ seconds: timingInSeconds,
227
+ predicate: 'c_time_after',
228
+ zone: ''
229
+ }
230
+ },
231
+ eventlist: '',
232
+ comment: strTitle,
233
+ actions: actionsObject,
234
+ predicate: 'triggerOnce',
235
+ colorItem: hexColor
236
+ };
237
+ return { tObject: tObject, trObject: trObject, mrObject: mrObject };
238
+ }
239
+
107
240
  async mizOpen(mizPath) {
108
241
  var MizFile = new jszip();
109
242
  const mizData = fs.readFileSync(mizPath);
@@ -360,135 +493,6 @@ class MizTemplateCI{
360
493
  let luaTable = 'return { \n' + await this.mizOpenMapResource(await this.mizOpen(MizPath)) + ' }';
361
494
  return parse(luaTable).mapResource;
362
495
  }
363
-
364
- getDestinationMizFilePaths() {
365
- const returnArray = this.config.missionTemplates.map(missionTemplate => {
366
- return this.config.general.missionFolder + '/'
367
- + this.config.general.missionPrefix + '_'
368
- + missionTemplate.theatre + '_'
369
- + this.config.general.missionSuffix
370
- + '_' + this.config.general.missionVersion + '.miz'
371
- });
372
- return returnArray;
373
- }
374
-
375
- getGeneratedMizFilePaths() {
376
- return fs.readdirSync(this.config.general.missionFolder + '/')
377
- .filter(file => file.endsWith((".miz")))
378
- .map(mizFile => {
379
- return this.config.general.missionFolder + '/' + mizFile;
380
- });
381
- }
382
-
383
- uploadMizFiles(credentials) {
384
- const destFtpServer = new ftpClient();
385
- const configObject = this.config;
386
-
387
- destFtpServer.connect({
388
- host: credentials.host,
389
- secure: false,
390
- user: credentials.user,
391
- password: credentials.password
392
- });
393
- destFtpServer.on('ready', function () {
394
- destFtpServer.cwd(credentials.folder, function (err, curDir) {
395
- if (err) throw err;
396
- Promise.all(
397
- fs.readdirSync(configObject.general.missionFolder)
398
- .filter(file => file.endsWith('.pub.json'))
399
- .map(file => {
400
- return new Promise((resolve, reject) => {
401
- // console.log(configObject.general.missionFolder+'/'+file);
402
- fs.readFile(configObject.general.missionFolder + '/' + file, function (err, data) {
403
- if (err) reject(err);
404
- data = JSON.parse(data.toString());
405
- // console.log(data);
406
- destFtpServer.put(data.mizFiles, path.basename(data.mizFiles), false, function (err) {
407
- if (err) reject(err);
408
- console.log('file ' + path.basename(data.mizFiles) + ' uploaded on DCS Server');
409
- resolve(path.basename(data.mizFiles));
410
- });
411
- });
412
- })
413
- })
414
- ).then(() => {
415
- destFtpServer.end();
416
- });
417
- });
418
- });
419
- }
420
-
421
- publishMizFiles(credentials) {
422
- const configObject = this.config;
423
- const jwtClient = new google.auth.JWT(
424
- credentials.client_email,
425
- null,
426
- credentials.private_key,
427
- configObject.google.scopes
428
- );
429
- jwtClient.authorize(function (err, tokens) {
430
- if (err) {
431
- console.log(err);
432
- throw err;
433
- } else {
434
- console.log("Successfully connected!");
435
- const drive = google.drive({ version: 'v3', jwtClient });
436
- fs.readdirSync(configObject.general.missionFolder)
437
- .filter(file => file.endsWith('.pub.json'))
438
- .map(file => {
439
- // console.log(configObject.general.missionFolder+'/'+file);
440
- fs.readFile(configObject.general.missionFolder + '/' + file, function (err, data) {
441
- if (err) throw err;
442
- data = JSON.parse(data.toString());
443
- // console.log(data);
444
- drive.files.list({
445
- q: `'${data.gdriveFolder}' in parents and trashed = false and name = '${path.basename(data.mizFiles)}'`,
446
- auth: jwtClient
447
- }).then(rsp => {
448
- // console.log(rsp.data.files);
449
- // console.log(path.basename(data.mizFiles));
450
- const fileMetadata = {
451
- 'name': path.basename(data.mizFiles),
452
- parents: [data.gdriveFolder]
453
- };
454
- const media = {
455
- mimeType: 'application/zip',
456
- body: fs.createReadStream(data.mizFiles)
457
- };
458
- if (rsp.data.files.length > 0) {
459
- drive.files.update({
460
- fileId: rsp.data.files[0].id,
461
- auth: jwtClient,
462
- media: media
463
- }, (err, file) => {
464
- if (err) {
465
- // Handle error
466
- console.error(err);
467
- } else {
468
- console.log('File updated Id: ', file.id);
469
- }
470
- });
471
- } else {
472
- drive.files.create({
473
- resource: fileMetadata,
474
- media: media,
475
- auth: jwtClient,
476
- fields: 'id'
477
- }, (err, file) => {
478
- if (err) {
479
- // Handle error
480
- console.error(err);
481
- } else {
482
- console.log('File created Id: ', file.id);
483
- }
484
- });
485
- }
486
- });
487
- });
488
- });
489
- }
490
- });
491
- }
492
496
  }
493
497
 
494
- module.exports = MizTemplateCI;
498
+ module.exports = {MizTemplateCI, MizLib};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jtff/miztemplate-lib",
3
- "version": "2.1.7",
3
+ "version": "2.2.0",
4
4
  "description": "JTFF mission template library",
5
5
  "main": "index.js",
6
6
  "files": [
@@ -31,10 +31,10 @@
31
31
  "fs": "^0.0.1-security",
32
32
  "ftp": "^0.3.10",
33
33
  "googleapis": "^92.0.0",
34
- "jszip": "^3.7.1",
35
- "lua-json": "^1.0.0",
34
+ "jszip": "^3.10.1",
35
+ "lua-json": "^1.0.1",
36
36
  "path": "^0.12.7",
37
37
  "prompt": "^1.3.0",
38
- "util": "^0.12.4"
38
+ "util": "^0.12.5"
39
39
  }
40
40
  }
package/scripts/build.js CHANGED
@@ -3,7 +3,7 @@ const fs = require("fs");
3
3
  function build(jtffci) {
4
4
  fs.mkdirSync(jtffci.config.general.missionFolder, { recursive: true });
5
5
  jtffci.config.missionTemplates.forEach(async missionTemplate => {
6
- await jtffci.mizUpdate([
6
+ await jtffci.mizlib.mizUpdate([
7
7
  missionTemplate.prefix,
8
8
  '_',
9
9
  missionTemplate.theatre,
@@ -116,15 +116,15 @@ function injectScripts(jtffci, env_mission) {
116
116
  console.log(' inject_mission specific scripts: ' + (/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_mission));
117
117
  console.log(' inject_radio_presets scripts: ' + (/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_radio_presets));
118
118
 
119
- const zip = await jtffci.mizOpen(env_mission);
120
- jtffci.mizUpdateSrcLuaFiles(zip);
121
- jtffci.mizUpdateLibLuaFiles(zip);
119
+ const zip = await jtffci.mizlib.mizOpen(env_mission);
120
+ jtffci.mizlib.mizUpdateSrcLuaFiles(zip);
121
+ jtffci.mizlib.mizUpdateLibLuaFiles(zip);
122
122
  // injection des fichiers son Generaux
123
123
  // const generalSoundFolder = zip.remove('General').folder('General');
124
- // await jtffci.addFilesToZip(generalSoundFolder, 'resources/sounds/General', fs.readdirSync('resources/sounds/General'));
124
+ // await jtffci.mizlib.addFilesToZip(generalSoundFolder, 'resources/sounds/General', fs.readdirSync('resources/sounds/General'));
125
125
  // injection des fichiers son Misc
126
126
  const generalSoundFolder = zip.remove('Misc').folder('Misc');
127
- await jtffci.addFilesToZip(generalSoundFolder, 'resources/sounds/Misc', fs.readdirSync('resources/sounds/Misc'));
127
+ await jtffci.mizlib.addFilesToZip(generalSoundFolder, 'resources/sounds/Misc', fs.readdirSync('resources/sounds/Misc'));
128
128
 
129
129
  const inputZip = await zip.generateAsync({
130
130
  type: 'nodebuffer',
@@ -144,7 +144,7 @@ function injectScripts(jtffci, env_mission) {
144
144
  inputZip);
145
145
 
146
146
 
147
- const missionObject = await jtffci.getMissionObjectFromMiz(
147
+ const missionObject = await jtffci.mizlib.getMissionObjectFromMiz(
148
148
  [
149
149
  jtffci.config.general.missionFolder,
150
150
  "/",
@@ -153,7 +153,7 @@ function injectScripts(jtffci, env_mission) {
153
153
  path.basename(env_mission)
154
154
  ].join("")
155
155
  );
156
- let mapResourceObject = await jtffci.getMapResourceObjectFromMiz(
156
+ let mapResourceObject = await jtffci.mizlib.getMapResourceObjectFromMiz(
157
157
  [
158
158
  jtffci.config.general.missionFolder,
159
159
  "/",
@@ -168,7 +168,7 @@ function injectScripts(jtffci, env_mission) {
168
168
  }
169
169
  }
170
170
  // injection SplashDamage
171
- let tuple = jtffci.injectScripts(
171
+ let tuple = jtffci.mizlib.injectScripts(
172
172
  missionObject['trig'],
173
173
  missionObject['trigrules'],
174
174
  mapResourceObject,
@@ -181,7 +181,7 @@ function injectScripts(jtffci, env_mission) {
181
181
  missionObject['trigrules'] = tuple.trObject;
182
182
  mapResourceObject = tuple.mrObject;
183
183
  // injection Moose
184
- tuple = jtffci.injectScripts(
184
+ tuple = jtffci.mizlib.injectScripts(
185
185
  missionObject['trig'],
186
186
  missionObject['trigrules'],
187
187
  mapResourceObject,
@@ -194,7 +194,7 @@ function injectScripts(jtffci, env_mission) {
194
194
  missionObject['trigrules'] = tuple.trObject;
195
195
  mapResourceObject = tuple.mrObject;
196
196
  // injection Mist
197
- tuple = jtffci.injectScripts(
197
+ tuple = jtffci.mizlib.injectScripts(
198
198
  missionObject['trig'],
199
199
  missionObject['trigrules'],
200
200
  mapResourceObject,
@@ -207,7 +207,7 @@ function injectScripts(jtffci, env_mission) {
207
207
  missionObject['trigrules'] = tuple.trObject;
208
208
  mapResourceObject = tuple.mrObject;
209
209
  // injection Skynet
210
- tuple = jtffci.injectScripts(
210
+ tuple = jtffci.mizlib.injectScripts(
211
211
  missionObject['trig'],
212
212
  missionObject['trigrules'],
213
213
  mapResourceObject,
@@ -220,7 +220,7 @@ function injectScripts(jtffci, env_mission) {
220
220
  missionObject['trigrules'] = tuple.trObject;
221
221
  mapResourceObject = tuple.mrObject;
222
222
  // injection Librairies JTFF
223
- tuple = jtffci.injectScripts(
223
+ tuple = jtffci.mizlib.injectScripts(
224
224
  missionObject['trig'],
225
225
  missionObject['trigrules'],
226
226
  mapResourceObject,
@@ -240,7 +240,7 @@ function injectScripts(jtffci, env_mission) {
240
240
  },
241
241
  );
242
242
  // injection de la gestion des Set_Clients
243
- tuple = jtffci.injectScripts(
243
+ tuple = jtffci.mizlib.injectScripts(
244
244
  missionObject['trig'],
245
245
  missionObject['trigrules'],
246
246
  mapResourceObject,
@@ -264,7 +264,7 @@ function injectScripts(jtffci, env_mission) {
264
264
  objectName: "OnDemandTankersConfig"
265
265
  },
266
266
  );
267
- tuple = jtffci.injectScripts(
267
+ tuple = jtffci.mizlib.injectScripts(
268
268
  missionObject['trig'],
269
269
  missionObject['trigrules'],
270
270
  mapResourceObject,
@@ -279,7 +279,7 @@ function injectScripts(jtffci, env_mission) {
279
279
  }
280
280
  if ((/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_airboss)) {
281
281
  // injection des fichiers son Airboss
282
- const zip = await jtffci.mizOpen([
282
+ const zip = await jtffci.mizlib.mizOpen([
283
283
  jtffci.config.general.missionFolder,
284
284
  "/",
285
285
  path.parse(env_mission).name,
@@ -287,7 +287,7 @@ function injectScripts(jtffci, env_mission) {
287
287
  path.basename(env_mission)
288
288
  ].join(""));
289
289
  const airbossSoundFolder = zip.remove('AIRBOSS').folder('AIRBOSS');
290
- await jtffci.addFilesToZip(airbossSoundFolder, 'resources/sounds/AIRBOSS', fs.readdirSync('resources/sounds/AIRBOSS'));
290
+ await jtffci.mizlib.addFilesToZip(airbossSoundFolder, 'resources/sounds/AIRBOSS', fs.readdirSync('resources/sounds/AIRBOSS'));
291
291
  const inputZip = await zip.generateAsync({
292
292
  type: 'nodebuffer',
293
293
  streamFiles: true,
@@ -314,7 +314,7 @@ function injectScripts(jtffci, env_mission) {
314
314
  objectName: "PedrosConfig"
315
315
  },
316
316
  );
317
- tuple = jtffci.injectScripts(
317
+ tuple = jtffci.mizlib.injectScripts(
318
318
  missionObject['trig'],
319
319
  missionObject['trigrules'],
320
320
  mapResourceObject,
@@ -334,7 +334,7 @@ function injectScripts(jtffci, env_mission) {
334
334
  objectName: "BeaconsConfig"
335
335
  },
336
336
  );
337
- tuple = jtffci.injectScripts(
337
+ tuple = jtffci.mizlib.injectScripts(
338
338
  missionObject['trig'],
339
339
  missionObject['trigrules'],
340
340
  mapResourceObject,
@@ -358,7 +358,7 @@ function injectScripts(jtffci, env_mission) {
358
358
  objectName: "AwacsOnDemandConfig"
359
359
  },
360
360
  );
361
- tuple = jtffci.injectScripts(
361
+ tuple = jtffci.mizlib.injectScripts(
362
362
  missionObject['trig'],
363
363
  missionObject['trigrules'],
364
364
  mapResourceObject,
@@ -373,7 +373,7 @@ function injectScripts(jtffci, env_mission) {
373
373
  }
374
374
  if ((/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_atis)) {
375
375
  // injection des fichiers son ATIS
376
- // const zip = await jtffci.mizOpen([
376
+ // const zip = await jtffci.mizlib.mizOpen([
377
377
  // jtffci.config.general.missionFolder,
378
378
  // "/",
379
379
  // path.parse(env_mission).name,
@@ -381,7 +381,7 @@ function injectScripts(jtffci, env_mission) {
381
381
  // path.basename(env_mission)
382
382
  // ].join(""));
383
383
  // const atisSoundFolder = zip.remove('ATIS').folder('ATIS');
384
- // await jtffci.addFilesToZip(atisSoundFolder, 'resources/sounds/ATIS', fs.readdirSync('resources/sounds/ATIS'));
384
+ // await jtffci.mizlib.addFilesToZip(atisSoundFolder, 'resources/sounds/ATIS', fs.readdirSync('resources/sounds/ATIS'));
385
385
  // const inputZip = await zip.generateAsync({
386
386
  // type: 'nodebuffer',
387
387
  // streamFiles: true,
@@ -404,7 +404,7 @@ function injectScripts(jtffci, env_mission) {
404
404
  objectName: "AtisConfig"
405
405
  },
406
406
  );
407
- tuple = jtffci.injectScripts(
407
+ tuple = jtffci.mizlib.injectScripts(
408
408
  missionObject['trig'],
409
409
  missionObject['trigrules'],
410
410
  mapResourceObject,
@@ -440,7 +440,7 @@ function injectScripts(jtffci, env_mission) {
440
440
  objectName: "InterceptConfig"
441
441
  },
442
442
  );
443
- tuple = jtffci.injectScripts(
443
+ tuple = jtffci.mizlib.injectScripts(
444
444
  missionObject['trig'],
445
445
  missionObject['trigrules'],
446
446
  mapResourceObject,
@@ -455,7 +455,7 @@ function injectScripts(jtffci, env_mission) {
455
455
  }
456
456
  if ((/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_Logistics)) {
457
457
  // injection des fichiers son CTLD
458
- const zip = await jtffci.mizOpen([
458
+ const zip = await jtffci.mizlib.mizOpen([
459
459
  jtffci.config.general.missionFolder,
460
460
  "/",
461
461
  path.parse(env_mission).name,
@@ -463,7 +463,7 @@ function injectScripts(jtffci, env_mission) {
463
463
  path.basename(env_mission)
464
464
  ].join(""));
465
465
  const rangeSoundFolder = zip.remove('CTLD').folder('CTLD');
466
- await jtffci.addFilesToZip(rangeSoundFolder, 'resources/sounds/CTLD', fs.readdirSync('resources/sounds/CTLD'));
466
+ await jtffci.mizlib.addFilesToZip(rangeSoundFolder, 'resources/sounds/CTLD', fs.readdirSync('resources/sounds/CTLD'));
467
467
  const inputZip = await zip.generateAsync({
468
468
  type: 'nodebuffer',
469
469
  streamFiles: true,
@@ -486,7 +486,7 @@ function injectScripts(jtffci, env_mission) {
486
486
  objectName: "CTLDConfig"
487
487
  },
488
488
  );
489
- tuple = jtffci.injectScripts(
489
+ tuple = jtffci.mizlib.injectScripts(
490
490
  missionObject['trig'],
491
491
  missionObject['trigrules'],
492
492
  mapResourceObject,
@@ -501,7 +501,7 @@ function injectScripts(jtffci, env_mission) {
501
501
  }
502
502
  if ((/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_A2G)) {
503
503
  // injection des fichiers son Range
504
- // const zip = await jtffci.mizOpen([
504
+ // const zip = await jtffci.mizlib.mizOpen([
505
505
  // jtffci.config.general.missionFolder,
506
506
  // "/",
507
507
  // path.parse(env_mission).name,
@@ -509,7 +509,7 @@ function injectScripts(jtffci, env_mission) {
509
509
  // path.basename(env_mission)
510
510
  // ].join(""));
511
511
  // const rangeSoundFolder = zip.remove('RANGE').folder('RANGE');
512
- // await jtffci.addFilesToZip(rangeSoundFolder, 'resources/sounds/RANGE', fs.readdirSync('resources/sounds/RANGE'));
512
+ // await jtffci.mizlib.addFilesToZip(rangeSoundFolder, 'resources/sounds/RANGE', fs.readdirSync('resources/sounds/RANGE'));
513
513
  // const inputZip = await zip.generateAsync({
514
514
  // type: 'nodebuffer',
515
515
  // streamFiles: true,
@@ -552,7 +552,7 @@ function injectScripts(jtffci, env_mission) {
552
552
  objectName: "SkynetConfig"
553
553
  },
554
554
  );
555
- tuple = jtffci.injectScripts(
555
+ tuple = jtffci.mizlib.injectScripts(
556
556
  missionObject['trig'],
557
557
  missionObject['trigrules'],
558
558
  mapResourceObject,
@@ -574,7 +574,7 @@ function injectScripts(jtffci, env_mission) {
574
574
  "/src/200-mission.lua"
575
575
  ].join("")
576
576
  );
577
- const zip = await jtffci.mizOpen([
577
+ const zip = await jtffci.mizlib.mizOpen([
578
578
  jtffci.config.general.missionFolder,
579
579
  "/",
580
580
  path.parse(env_mission).name,
@@ -582,7 +582,7 @@ function injectScripts(jtffci, env_mission) {
582
582
  path.basename(env_mission)
583
583
  ].join(""));
584
584
 
585
- jtffci.mizUpdateLuaFile(zip, [
585
+ jtffci.mizlib.mizUpdateLuaFile(zip, [
586
586
  jtffci.config.general.missionFolder,
587
587
  "/",
588
588
  path.parse(env_mission).name,
@@ -605,7 +605,7 @@ function injectScripts(jtffci, env_mission) {
605
605
  path.basename(env_mission)
606
606
  ].join(""),
607
607
  inputZip);
608
- tuple = jtffci.injectScripts(
608
+ tuple = jtffci.mizlib.injectScripts(
609
609
  missionObject['trig'],
610
610
  missionObject['trigrules'],
611
611
  mapResourceObject,
@@ -627,14 +627,14 @@ function injectScripts(jtffci, env_mission) {
627
627
  "/",
628
628
  path.basename(env_mission)
629
629
  ].join("") + ": injecting radio presets declared in resources/radios/" + path.parse(env_mission).name);
630
- const zip = await jtffci.mizOpen([
630
+ const zip = await jtffci.mizlib.mizOpen([
631
631
  jtffci.config.general.missionFolder,
632
632
  "/",
633
633
  path.parse(env_mission).name,
634
634
  "/",
635
635
  path.basename(env_mission)
636
636
  ].join(""));
637
- await jtffci.mizUpdateRadioPresets(zip, 'resources/radios/' + path.parse(env_mission).name);
637
+ await jtffci.mizlib.mizUpdateRadioPresets(zip, 'resources/radios/' + path.parse(env_mission).name);
638
638
  }
639
639
  for (let settingsObject of settingsArray) {
640
640
  fs.copyFileSync(
@@ -651,7 +651,7 @@ function injectScripts(jtffci, env_mission) {
651
651
  ].join("")
652
652
  );
653
653
  }
654
- await jtffci.mizInjectSettingsFolder(
654
+ await jtffci.mizlib.mizInjectSettingsFolder(
655
655
  [
656
656
  jtffci.config.general.missionFolder,
657
657
  "/",
@@ -667,7 +667,7 @@ function injectScripts(jtffci, env_mission) {
667
667
  ].join("")
668
668
  );
669
669
  if (settingsArray.length > 0) {
670
- tuple = jtffci.injectScripts(
670
+ tuple = jtffci.mizlib.injectScripts(
671
671
  missionObject['trig'],
672
672
  missionObject['trigrules'],
673
673
  mapResourceObject,
@@ -681,7 +681,7 @@ function injectScripts(jtffci, env_mission) {
681
681
  mapResourceObject = tuple.mrObject;
682
682
  }
683
683
  // Sauvegarde de la mission avec scripts injectés
684
- await jtffci.mizInjectMissionDataFile(
684
+ await jtffci.mizlib.mizInjectMissionDataFile(
685
685
  [
686
686
  jtffci.config.general.missionFolder,
687
687
  "/",
@@ -691,7 +691,7 @@ function injectScripts(jtffci, env_mission) {
691
691
  ].join(""),
692
692
  { mission: missionObject }
693
693
  );
694
- await jtffci.mizInjectMapResourceFile(
694
+ await jtffci.mizlib.mizInjectMapResourceFile(
695
695
  [
696
696
  jtffci.config.general.missionFolder,
697
697
  "/",
@@ -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 jtffci.mizlib.mizUpdate([
7
7
  missionTemplate.prefix,
8
8
  '_',
9
9
  missionTemplate.theatre,