@jtff/miztemplate-lib 3.0.0-rc10 → 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/lib/mizlib.js +69 -5
- package/package.json +1 -1
- package/scripts/inject-scripts.js +206 -198
package/lib/mizlib.js
CHANGED
|
@@ -9,7 +9,37 @@ const lstat = promisify(fs.lstat);
|
|
|
9
9
|
|
|
10
10
|
class Mizlib {
|
|
11
11
|
constructor() {
|
|
12
|
-
|
|
12
|
+
// no need for initialization
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
injectLuaScriptAndUpdateWorkspace(workspacePath, folderPath, luaScriptsArray, titleString, missionObject, mapResourceObject, timing, colorString) {
|
|
16
|
+
let tuple = this.injectLuaScriptsInMissionObject(
|
|
17
|
+
missionObject['trig'],
|
|
18
|
+
missionObject['trigrules'],
|
|
19
|
+
mapResourceObject,
|
|
20
|
+
titleString,
|
|
21
|
+
luaScriptsArray,
|
|
22
|
+
timing,
|
|
23
|
+
colorString
|
|
24
|
+
);
|
|
25
|
+
for (let luaScript of luaScriptsArray) {
|
|
26
|
+
fs.copyFileSync(
|
|
27
|
+
[
|
|
28
|
+
'node_modules/@jtff/miztemplate-lib/lua/',
|
|
29
|
+
folderPath,
|
|
30
|
+
'/',
|
|
31
|
+
luaScript
|
|
32
|
+
].join(""),
|
|
33
|
+
[
|
|
34
|
+
workspacePath,
|
|
35
|
+
"/",
|
|
36
|
+
folderPath,
|
|
37
|
+
"/",
|
|
38
|
+
path.basename(luaScript)
|
|
39
|
+
].join("")
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
return tuple;
|
|
13
43
|
}
|
|
14
44
|
|
|
15
45
|
injectLuaScriptsInMissionObject(tObject, trObject, mrObject, strTitle, scriptFilesArray, timingInSeconds, hexColor) {
|
|
@@ -177,8 +207,7 @@ class Mizlib {
|
|
|
177
207
|
for (let file of fs.readdirSync(folderPath).filter(file => file.endsWith(".lua"))) {
|
|
178
208
|
console.log('injecting up2date ' + folderPath + '/' + file + ' file in archive');
|
|
179
209
|
this.injectFileIntoZipObject(zip, folderPath + "/" + file);
|
|
180
|
-
}
|
|
181
|
-
;
|
|
210
|
+
};
|
|
182
211
|
}
|
|
183
212
|
|
|
184
213
|
|
|
@@ -258,12 +287,47 @@ class Mizlib {
|
|
|
258
287
|
if (fs.existsSync('resources/sounds') && fs.lstatSync('resources/sounds').isDirectory()) {
|
|
259
288
|
const folderArray = fs.readdirSync('resources/sounds');
|
|
260
289
|
for (const folder of folderArray) {
|
|
261
|
-
await this.
|
|
290
|
+
await this.injectSingleSoundFolderIntoZipObject(zip, folder);
|
|
262
291
|
}
|
|
263
292
|
}
|
|
264
293
|
}
|
|
265
294
|
|
|
266
|
-
async
|
|
295
|
+
async updateWorkspaceWithSingleSoundFolder(workspacePath, folderString) {
|
|
296
|
+
if (
|
|
297
|
+
fs.existsSync(
|
|
298
|
+
[
|
|
299
|
+
workspacePath,
|
|
300
|
+
"/resources/sounds/",
|
|
301
|
+
folderString
|
|
302
|
+
].join("")
|
|
303
|
+
) &&
|
|
304
|
+
fs.lstatSync([
|
|
305
|
+
workspacePath,
|
|
306
|
+
"/resources/sounds/",
|
|
307
|
+
folderString
|
|
308
|
+
].join("")).isDirectory()
|
|
309
|
+
) {
|
|
310
|
+
fs.rmSync([
|
|
311
|
+
workspacePath,
|
|
312
|
+
"/resources/sounds/",
|
|
313
|
+
folderString
|
|
314
|
+
].join(""), {recursive: true});
|
|
315
|
+
}
|
|
316
|
+
if (fs.existsSync('node_modules/@jtff/miztemplate-lib/resources/sounds/' + folderString) && fs.lstatSync('node_modules/@jtff/miztemplate-lib/resources/sounds/' + folderString).isDirectory()) {
|
|
317
|
+
fs.mkdirSync([
|
|
318
|
+
workspacePath,
|
|
319
|
+
"/resources/sounds/",
|
|
320
|
+
folderString
|
|
321
|
+
].join(""), {recursive: true});
|
|
322
|
+
fs.cpSync('node_modules/@jtff/miztemplate-lib/resources/sounds/' + folderString,[
|
|
323
|
+
workspacePath,
|
|
324
|
+
"/resources/sounds/",
|
|
325
|
+
folderString
|
|
326
|
+
].join(""), {recursive: true});
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
async injectSingleSoundFolderIntoZipObject(zip, folder) {
|
|
267
331
|
if (fs.existsSync('resources/sounds/' + folder) && fs.lstatSync('resources/sounds/' + folder).isDirectory()) {
|
|
268
332
|
console.log('adding sound files from resources/sounds/' + folder + ' folder...');
|
|
269
333
|
zip = zip.remove(folder).folder(folder);
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@ const path = require("path");
|
|
|
3
3
|
const prompt = require('prompt');
|
|
4
4
|
|
|
5
5
|
function injectScripts(jtffci, env_mission) {
|
|
6
|
-
// create mission folder in
|
|
6
|
+
// create mission folder in jtffci.config.reneral.missionFolder folder
|
|
7
7
|
fs.mkdirSync(jtffci.config.general.missionFolder, { recursive: true });
|
|
8
8
|
if (fs.existsSync([
|
|
9
9
|
jtffci.config.general.missionFolder,
|
|
@@ -13,7 +13,7 @@ function injectScripts(jtffci, env_mission) {
|
|
|
13
13
|
// if there is a specific mission folder (dist/env_mission), clean it
|
|
14
14
|
fs.rmSync([
|
|
15
15
|
jtffci.config.general.missionFolder,
|
|
16
|
-
|
|
16
|
+
'/',
|
|
17
17
|
path.parse(env_mission).name
|
|
18
18
|
].join(""),
|
|
19
19
|
{ recursive: true }
|
|
@@ -37,7 +37,24 @@ function injectScripts(jtffci, env_mission) {
|
|
|
37
37
|
].join(""),
|
|
38
38
|
{ recursive: true }
|
|
39
39
|
);
|
|
40
|
-
|
|
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
|
+
);
|
|
41
58
|
const prompt_properties = [
|
|
42
59
|
{
|
|
43
60
|
name: 'inject_tankers',
|
|
@@ -121,12 +138,65 @@ function injectScripts(jtffci, env_mission) {
|
|
|
121
138
|
|
|
122
139
|
// open the miz input file for reading
|
|
123
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
|
+
});
|
|
124
189
|
// inject all the lua files in the src folder into the source zip object
|
|
125
|
-
jtffci.mizlib.injectLuaFilesFromFolderIntoZipObject(mizObject, "src");
|
|
190
|
+
// jtffci.mizlib.injectLuaFilesFromFolderIntoZipObject(mizObject, "src");
|
|
126
191
|
// inject all the lua files in the lib folder into the source zip object
|
|
127
|
-
jtffci.mizlib.injectLuaFilesFromFolderIntoZipObject(mizObject, "lib");
|
|
192
|
+
// jtffci.mizlib.injectLuaFilesFromFolderIntoZipObject(mizObject, "lib");
|
|
128
193
|
// injection des fichiers son Généraux si repertoire resources/sounds/General present
|
|
129
|
-
await jtffci.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');
|
|
130
200
|
// On fait une sauvegarde dans le folder de destination
|
|
131
201
|
// fs.writeFileSync([
|
|
132
202
|
// jtffci.config.general.missionFolder,
|
|
@@ -145,7 +215,11 @@ function injectScripts(jtffci, env_mission) {
|
|
|
145
215
|
// })
|
|
146
216
|
// );
|
|
147
217
|
// injection des fichiers son Misc si repertoire resources/sounds/Misc present
|
|
148
|
-
await jtffci.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');
|
|
149
223
|
// On fait une sauvegarde dans le folder de destination
|
|
150
224
|
// fs.writeFileSync([
|
|
151
225
|
// jtffci.config.general.missionFolder,
|
|
@@ -163,66 +237,7 @@ function injectScripts(jtffci, env_mission) {
|
|
|
163
237
|
// }
|
|
164
238
|
// })
|
|
165
239
|
// );
|
|
166
|
-
|
|
167
|
-
let mapResourceObject = await jtffci.mizlib.getMapResourceObjectFromZipObject(mizObject);
|
|
168
|
-
let settingsArray = [];
|
|
169
|
-
if (Array.isArray(mapResourceObject)) {
|
|
170
|
-
if (mapResourceObject.length === 0) {
|
|
171
|
-
mapResourceObject = {};
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
// injection SplashDamage
|
|
175
|
-
let tuple = jtffci.mizlib.injectLuaScriptsInMissionObject(
|
|
176
|
-
missionObject['trig'],
|
|
177
|
-
missionObject['trigrules'],
|
|
178
|
-
mapResourceObject,
|
|
179
|
-
'SplashDamage load',
|
|
180
|
-
['Splash_Damage_2_0.lua'],
|
|
181
|
-
9,
|
|
182
|
-
'0x008000ff'
|
|
183
|
-
);
|
|
184
|
-
missionObject['trig'] = tuple.tObject;
|
|
185
|
-
missionObject['trigrules'] = tuple.trObject;
|
|
186
|
-
mapResourceObject = tuple.mrObject;
|
|
187
|
-
// injection Moose
|
|
188
|
-
tuple = jtffci.mizlib.injectLuaScriptsInMissionObject(
|
|
189
|
-
missionObject['trig'],
|
|
190
|
-
missionObject['trigrules'],
|
|
191
|
-
mapResourceObject,
|
|
192
|
-
'Moose load',
|
|
193
|
-
['Moose_.lua'],
|
|
194
|
-
10,
|
|
195
|
-
'0x008000ff'
|
|
196
|
-
);
|
|
197
|
-
missionObject['trig'] = tuple.tObject;
|
|
198
|
-
missionObject['trigrules'] = tuple.trObject;
|
|
199
|
-
mapResourceObject = tuple.mrObject;
|
|
200
|
-
// injection Mist
|
|
201
|
-
tuple = jtffci.mizlib.injectLuaScriptsInMissionObject(
|
|
202
|
-
missionObject['trig'],
|
|
203
|
-
missionObject['trigrules'],
|
|
204
|
-
mapResourceObject,
|
|
205
|
-
'Mist load',
|
|
206
|
-
['mist_4_5_107.lua'],
|
|
207
|
-
13,
|
|
208
|
-
'0x008000ff'
|
|
209
|
-
);
|
|
210
|
-
missionObject['trig'] = tuple.tObject;
|
|
211
|
-
missionObject['trigrules'] = tuple.trObject;
|
|
212
|
-
mapResourceObject = tuple.mrObject;
|
|
213
|
-
// injection Skynet
|
|
214
|
-
tuple = jtffci.mizlib.injectLuaScriptsInMissionObject(
|
|
215
|
-
missionObject['trig'],
|
|
216
|
-
missionObject['trigrules'],
|
|
217
|
-
mapResourceObject,
|
|
218
|
-
'Skynet load',
|
|
219
|
-
['skynet-iads-compiled.lua'],
|
|
220
|
-
15,
|
|
221
|
-
'0x008000ff'
|
|
222
|
-
);
|
|
223
|
-
missionObject['trig'] = tuple.tObject;
|
|
224
|
-
missionObject['trigrules'] = tuple.trObject;
|
|
225
|
-
mapResourceObject = tuple.mrObject;
|
|
240
|
+
|
|
226
241
|
// injection Librairies JTFF
|
|
227
242
|
settingsArray.push(
|
|
228
243
|
{
|
|
@@ -232,32 +247,47 @@ function injectScripts(jtffci, env_mission) {
|
|
|
232
247
|
file: "settings-global.lua",
|
|
233
248
|
},
|
|
234
249
|
);
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
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
|
+
}
|
|
248
283
|
// injection de la gestion des Set_Clients
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
'0xff0000ff'
|
|
257
|
-
);
|
|
258
|
-
missionObject['trig'] = tuple.tObject;
|
|
259
|
-
missionObject['trigrules'] = tuple.trObject;
|
|
260
|
-
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
|
+
});
|
|
261
291
|
// injection des Tankers et OndemandTankers
|
|
262
292
|
if ((/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_tankers)) {
|
|
263
293
|
settingsArray.push(
|
|
@@ -270,22 +300,21 @@ function injectScripts(jtffci, env_mission) {
|
|
|
270
300
|
objectName: "OnDemandTankersConfig"
|
|
271
301
|
},
|
|
272
302
|
);
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
'0xff0000ff'
|
|
281
|
-
);
|
|
282
|
-
missionObject['trig'] = tuple.tObject;
|
|
283
|
-
missionObject['trigrules'] = tuple.trObject;
|
|
284
|
-
mapResourceObject = tuple.mrObject;
|
|
303
|
+
scriptsArray.push({
|
|
304
|
+
folder: 'src',
|
|
305
|
+
scriptTitle: 'Tankers',
|
|
306
|
+
scripts: ['120-tankers.lua'],
|
|
307
|
+
timing: 22,
|
|
308
|
+
color: '0xff0000ff'
|
|
309
|
+
});
|
|
285
310
|
}
|
|
286
311
|
if ((/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_airboss)) {
|
|
287
312
|
// injection des fichiers son Airboss
|
|
288
|
-
|
|
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');
|
|
289
318
|
settingsArray.push(
|
|
290
319
|
{
|
|
291
320
|
file: "settings-airboss.lua",
|
|
@@ -296,18 +325,13 @@ function injectScripts(jtffci, env_mission) {
|
|
|
296
325
|
objectName: "PedrosConfig"
|
|
297
326
|
},
|
|
298
327
|
);
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
'0xff0000ff'
|
|
307
|
-
);
|
|
308
|
-
missionObject['trig'] = tuple.tObject;
|
|
309
|
-
missionObject['trigrules'] = tuple.trObject;
|
|
310
|
-
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
|
+
});
|
|
311
335
|
}
|
|
312
336
|
if ((/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_beacons)) {
|
|
313
337
|
settingsArray.push(
|
|
@@ -316,18 +340,13 @@ function injectScripts(jtffci, env_mission) {
|
|
|
316
340
|
objectName: "BeaconsConfig"
|
|
317
341
|
},
|
|
318
342
|
);
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
'0xff0000ff'
|
|
327
|
-
);
|
|
328
|
-
missionObject['trig'] = tuple.tObject;
|
|
329
|
-
missionObject['trigrules'] = tuple.trObject;
|
|
330
|
-
mapResourceObject = tuple.mrObject;
|
|
343
|
+
scriptsArray.push({
|
|
344
|
+
folder: 'src',
|
|
345
|
+
scriptTitle: 'Beacons',
|
|
346
|
+
scripts: ['140-beacons.lua'],
|
|
347
|
+
timing: 24,
|
|
348
|
+
color: '0xff0000ff'
|
|
349
|
+
});
|
|
331
350
|
}
|
|
332
351
|
if ((/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_awacs)) {
|
|
333
352
|
settingsArray.push(
|
|
@@ -340,18 +359,13 @@ function injectScripts(jtffci, env_mission) {
|
|
|
340
359
|
objectName: "AwacsOnDemandConfig"
|
|
341
360
|
},
|
|
342
361
|
);
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
'0xff0000ff'
|
|
351
|
-
);
|
|
352
|
-
missionObject['trig'] = tuple.tObject;
|
|
353
|
-
missionObject['trigrules'] = tuple.trObject;
|
|
354
|
-
mapResourceObject = tuple.mrObject;
|
|
362
|
+
scriptsArray.push({
|
|
363
|
+
folder: 'src',
|
|
364
|
+
scriptTitle: 'Awacs',
|
|
365
|
+
scripts: ['150-awacs.lua'],
|
|
366
|
+
timing: 25,
|
|
367
|
+
color: '0xff0000ff'
|
|
368
|
+
});
|
|
355
369
|
}
|
|
356
370
|
if ((/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_atis)) {
|
|
357
371
|
// injection des fichiers son ATIS
|
|
@@ -362,18 +376,13 @@ function injectScripts(jtffci, env_mission) {
|
|
|
362
376
|
objectName: "AtisConfig"
|
|
363
377
|
},
|
|
364
378
|
);
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
'0xff0000ff'
|
|
373
|
-
);
|
|
374
|
-
missionObject['trig'] = tuple.tObject;
|
|
375
|
-
missionObject['trigrules'] = tuple.trObject;
|
|
376
|
-
mapResourceObject = tuple.mrObject;
|
|
379
|
+
scriptsArray.push({
|
|
380
|
+
folder: 'src',
|
|
381
|
+
scriptTitle: 'ATIS',
|
|
382
|
+
scripts: ['160-atis.lua'],
|
|
383
|
+
timing: 26,
|
|
384
|
+
color: '0xff0000ff'
|
|
385
|
+
});
|
|
377
386
|
}
|
|
378
387
|
if ((/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_A2A)) {
|
|
379
388
|
settingsArray.push(
|
|
@@ -398,40 +407,30 @@ function injectScripts(jtffci, env_mission) {
|
|
|
398
407
|
objectName: "InterceptConfig"
|
|
399
408
|
},
|
|
400
409
|
);
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
'0xff0000ff'
|
|
409
|
-
);
|
|
410
|
-
missionObject['trig'] = tuple.tObject;
|
|
411
|
-
missionObject['trigrules'] = tuple.trObject;
|
|
412
|
-
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
|
+
});
|
|
413
417
|
}
|
|
414
418
|
if ((/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_Logistics)) {
|
|
415
419
|
// injection des fichiers son CTLD
|
|
416
|
-
await jtffci.mizlib.
|
|
420
|
+
await jtffci.mizlib.injectSingleSoundFolderIntoZipObject(mizObject, 'CTLD');
|
|
417
421
|
settingsArray.push(
|
|
418
422
|
{
|
|
419
423
|
file: "settings-logistics.lua",
|
|
420
424
|
objectName: "CTLDConfig"
|
|
421
425
|
},
|
|
422
426
|
);
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
'0xff0000ff'
|
|
431
|
-
);
|
|
432
|
-
missionObject['trig'] = tuple.tObject;
|
|
433
|
-
missionObject['trigrules'] = tuple.trObject;
|
|
434
|
-
mapResourceObject = tuple.mrObject;
|
|
427
|
+
scriptsArray.push({
|
|
428
|
+
folder: 'src',
|
|
429
|
+
scriptTitle: 'Logistics',
|
|
430
|
+
scripts: ['180-logistics.lua'],
|
|
431
|
+
timing: 28,
|
|
432
|
+
color: '0xff0000ff'
|
|
433
|
+
});
|
|
435
434
|
}
|
|
436
435
|
if ((/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_A2G)) {
|
|
437
436
|
// injection des fichiers son Range
|
|
@@ -462,18 +461,13 @@ function injectScripts(jtffci, env_mission) {
|
|
|
462
461
|
objectName: "SkynetConfig"
|
|
463
462
|
},
|
|
464
463
|
);
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
'0xff0000ff'
|
|
473
|
-
);
|
|
474
|
-
missionObject['trig'] = tuple.tObject;
|
|
475
|
-
missionObject['trigrules'] = tuple.trObject;
|
|
476
|
-
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
|
+
});
|
|
477
471
|
}
|
|
478
472
|
if ((/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_mission)) {
|
|
479
473
|
// fs.copyFileSync('templates/src/200-mission.lua',
|
|
@@ -515,14 +509,28 @@ function injectScripts(jtffci, env_mission) {
|
|
|
515
509
|
// path.basename(env_mission)
|
|
516
510
|
// ].join(""),
|
|
517
511
|
// inputZip);
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
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,
|
|
521
531
|
mapResourceObject,
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
30,
|
|
525
|
-
'0xff0000ff'
|
|
532
|
+
script.timing,
|
|
533
|
+
script.color
|
|
526
534
|
);
|
|
527
535
|
missionObject['trig'] = tuple.tObject;
|
|
528
536
|
missionObject['trigrules'] = tuple.trObject;
|
|
@@ -564,7 +572,7 @@ function injectScripts(jtffci, env_mission) {
|
|
|
564
572
|
].join("")
|
|
565
573
|
);
|
|
566
574
|
if (settingsArray.length > 0) {
|
|
567
|
-
tuple = jtffci.mizlib.injectLuaScriptsInMissionObject(
|
|
575
|
+
let tuple = jtffci.mizlib.injectLuaScriptsInMissionObject(
|
|
568
576
|
missionObject['trig'],
|
|
569
577
|
missionObject['trigrules'],
|
|
570
578
|
mapResourceObject,
|