Repository navigation
Expand file tree
/
Copy pathdebug.js
More file actions
638 lines (598 loc) · 30.1 KB
/
Copy pathdebug.js
File metadata and controls
638 lines (598 loc) · 30.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
let Debug = new class Debug {
constructor() {
this.enabled = false;
this.chessDebug = false;
this.queuesDebug = false;
this.setupDebugAnimations = false;
this.mainPreshowData = {
"init" : false,
"paths" : [],
"distance" : 70
}
this.chessTempPath = {
"start" : Object.keys(leftChessNodePoints)[Math.floor(Math.random()*Object.keys(leftChessNodePoints).length)],
"end" : "24-20",
"breadcrumbs" : {},
"path" : [],
"points" : leftChessNodePoints,
"multipliers" : leftChessNodeCostMultipliers
}
this.updateTempPath();
}
loop() {
if (this.enabled) {
c.font = "10px Verdana";
c.fillStyle = "white";
c.textAlign = "left";
c.textBaseline = "top";
c.fillText("Debug Enabled",10,10);
c.fillText("Time: "+ChoreoGraph.nowint,10,25);
c.fillText("Guests: "+guests.length,10,40);
let hotkeyTop = 65;
c.fillText("SHIFT + D - Toggle Debug",10,hotkeyTop);
c.fillText("SHIFT + A - Enable All",10,hotkeyTop+15);
c.fillText("SHIFT + H - Toggle Chess",10,hotkeyTop+30);
c.fillText("SHIFT + U - Toggle Queues",10,hotkeyTop+45);
c.fillText("SHIFT + O - Toggle Rooms",10,hotkeyTop+60);
// HUMAN PATHS
c.lineWidth = 0.3;
c.strokeStyle = "pink";
c.beginPath();
for (let g=0;g<humans.length;g++) {
if (humans[g].path==0) { continue; }
c.moveTo(humans[g].path[0][0],humans[g].path[0][1]);
for (let p=0;p<humans[g].path.length-1;p++) {
c.lineTo(humans[g].path[p+1][0],humans[g].path[p+1][1]);
}
}
// TARGET
c.stroke();
c.strokeStyle = "green";
c.beginPath();
for (let g=0;g<humans.length;g++) {
c.moveTo(humans[g].x,humans[g].y);
c.lineTo(humans[g].target[0],humans[g].target[1]);
}
c.stroke();
// REPEL
c.strokeStyle = "blue";
c.beginPath();
for (let g=0;g<humans.length;g++) {
c.moveTo(humans[g].x,humans[g].y);
c.lineTo(humans[g].x+humans[g].repel[0]*10,humans[g].y+humans[g].repel[1]*10);
}
c.stroke();
// LEFT
c.fillStyle = "#ffffff";
c.font = "7px Verdana";
c.textAlign = "center";
c.textBaseline = "alphabetic";
c.fillText("CrewMake "+leftCrewTracker.crewMakeStage,546,550);
if (leftCrewTracker.disableCrewCallUntil>ChoreoGraph.nowint) {
c.fillText("disabledCrewCall "+Math.floor((leftCrewTracker.disableCrewCallUntil-ChoreoGraph.nowint)/1000),434,577);
}
c.fillText("nextCall "+leftCrewTracker.nextCrewCall,434,585);
c.fillText("credQueue "+leftCrewTracker.credentialQueue,434,593);
c.fillText("closeCall "+leftCrewTracker.closeCallStage,390,485);
c.fillText("farCall "+leftCrewTracker.farCallStage,475,469);
c.fillText("closeBrief "+leftCrewTracker.closeBriefStage,373,550);
c.fillText("farBrief "+leftCrewTracker.farBriefStage,366,401);
c.fillText("ADABrief "+leftCrewTracker.ADABriefStage,426,424);
c.fillText("ADAElevator "+leftCrewTracker.ADAElevatorStage,382,411);
c.fillText("closeCockpit "+leftCrewTracker.closeCockpitStage,292,578);
c.fillText("farCockpit "+leftCrewTracker.farCockpitStage,299,372);
c.fillText("ADACockpit "+leftCrewTracker.ADACockpitStage,472,340);
if (leftCrewTracker.ADACockpitStage==3) {
c.fillText("ADATime "+(Math.floor((adaMissionTime-(ChoreoGraph.nowint-leftCrewTracker.ADACockpitStageChange))/1000)),370,265);
}
c.fillText("closeUnload "+leftCrewTracker.closeUnloadStage,471,655);
c.fillText("farUnload "+leftCrewTracker.farUnloadStage,249,309);
// RIGHT
c.fillText("CrewMake "+rightCrewTracker.crewMakeStage,715,472);
if (rightCrewTracker.disableCrewCallUntil>ChoreoGraph.nowint) {
c.fillText("disabledCrewCall "+Math.floor((rightCrewTracker.disableCrewCallUntil-ChoreoGraph.nowint)/1000),737,308);
}
c.fillText("nextCall "+rightCrewTracker.nextCrewCall,737,315);
c.fillText("credQueue "+rightCrewTracker.credentialQueue,737,322);
c.fillText("closeCall "+rightCrewTracker.closeCallStage,808,296);
c.fillText("farCall "+rightCrewTracker.farCallStage,816,411);
c.fillText("closeBrief "+rightCrewTracker.closeBriefStage,866,264);
c.fillText("farBrief "+rightCrewTracker.farBriefStage,924,296);
c.fillText("ADABrief "+rightCrewTracker.ADABriefStage,857,457);
c.fillText("ADAElevator "+rightCrewTracker.ADAElevatorStage,923,379);
c.fillText("closeCockpit "+rightCrewTracker.closeCockpitStage,833,203);
c.fillText("farCockpit "+rightCrewTracker.farCockpitStage,1010,311);
c.fillText("ADACockpit "+rightCrewTracker.ADACockpitStage,926,459);
if (rightCrewTracker.ADACockpitStage==3) {
c.fillText("ADATime "+(Math.floor((adaMissionTime-(ChoreoGraph.nowint-rightCrewTracker.ADACockpitStageChange))/1000)),949,362);
}
c.fillText("closeUnload "+rightCrewTracker.closeUnloadStage,658,307);
c.fillText("farUnload "+rightCrewTracker.farUnloadStage,1133,261);
c.fillText("census "+leftCrewTracker.jetwayCensus+"/"+leftJetWayPoints.length,510,473);
c.fillText("census "+rightCrewTracker.jetwayCensus+"/"+rightJetWayPoints.length,655,417);
c.fillText("census "+mainPreshow.census[0]+"/"+leftPreshowCPSpots.length,600,512);
c.fillText("census "+mainPreshow.census[1]+"/"+rightPreshowCPSpots.length,633,491);
c.fillText("escape "+(mainPreshow.escaping[0] ? "true" : "false"),523,396);
c.fillText("escape "+(mainPreshow.escaping[1] ? "true" : "false"),573,368);
c.fillText("experiencing "+(mainPreshow.experiencing[0] ? "true" : "false"),544,419);
c.fillText("experiencing "+(mainPreshow.experiencing[1] ? "true" : "false"),581,400);
c.fillText("census "+mainQueueCensus+"/"+mainQueuePoints.length,888,537);
c.fillText("census "+LLQueueCensus+"/"+LLQueuePoints.length,827,500);
c.fillText("census "+leftSingleRiderCensus+"/"+leftSingleRiderPoints.length,543,563);
c.fillText("census "+rightSingleRiderCensus+"/"+rightSingleRiderPoints.length,717,504);
c.fillText("balance "+queueMergeBalance,614,544);
// TURNTABLES
c.font = "50px Verdana";
c.textBaseline = "middle";
c.fillStyle = turntable_in_motion["A"] ? "#00ff00" : "#ffffff";
c.fillText(turntables["A"].position,327,725);
c.fillStyle = turntable_in_motion["B"] ? "#00ff00" : "#ffffff";
c.fillText(turntables["B"].position,159,440);
c.fillStyle = turntable_in_motion["C"] ? "#00ff00" : "#ffffff";
c.fillText(turntables["C"].position,678,165);
c.fillStyle = turntable_in_motion["D"] ? "#00ff00" : "#ffffff";
c.fillText(turntables["D"].position,1010,165);
this.mainPreshow();
this.jetway();
this.turntableCockpits();
if (this.chessDebug) {
this.chess();
this.chessTempPathDraw();
}
if (this.queuesDebug) {
this.mainQueue();
this.singleRider();
this.LLQueue();
}
if (this.roomsDebug) {
c.font = "4.5px Verdana";
c.fillStyle = "#00ffff";
for (let g=0;g<humans.length;g++) {
c.fillText(humans[g].room,humans[g].x,humans[g].y);
}
}
}
if (this.setupDebugAnimations==false) {
this.createDebugAnimations();
this.setupDebugAnimations = true;
}
}
chess() {
// Chess Nodes
c.fillStyle = "red";
c.strokeStyle = "green";
c.beginPath();
for (let i=0;i<Object.keys(leftChessNodePoints).length;i++) {
c.moveTo(leftChessNodePoints[Object.keys(leftChessNodePoints)[i]][0],leftChessNodePoints[Object.keys(leftChessNodePoints)[i]][1]);
c.rect(leftChessNodePoints[Object.keys(leftChessNodePoints)[i]][0],leftChessNodePoints[Object.keys(leftChessNodePoints)[i]][1],1,1);
}
for (let i=0;i<Object.keys(rightChessNodePoints).length;i++) {
c.moveTo(rightChessNodePoints[Object.keys(rightChessNodePoints)[i]][0],rightChessNodePoints[Object.keys(rightChessNodePoints)[i]][1]);
c.rect(rightChessNodePoints[Object.keys(rightChessNodePoints)[i]][0],rightChessNodePoints[Object.keys(rightChessNodePoints)[i]][1],1,1);
}
c.fill();
// Floor Boundry
c.strokeStyle = "white";
c.lineWidth = 0.5;
c.beginPath();
c.moveTo(leftChessFloor[0][0],leftChessFloor[0][1])
for (let i=1;i<leftChessFloor.length;i++) {
c.lineTo(leftChessFloor[i][0],leftChessFloor[i][1])
}
c.lineTo(leftChessFloor[0][0],leftChessFloor[0][1])
c.moveTo(rightChessFloor[0][0],rightChessFloor[0][1])
for (let i=1;i<rightChessFloor.length;i++) {
c.lineTo(rightChessFloor[i][0],rightChessFloor[i][1])
}
c.lineTo(rightChessFloor[0][0],rightChessFloor[0][1])
c.stroke();
// Multiplier Boundry
c.strokeStyle = "black";
c.lineWidth = 0.5;
c.beginPath();
c.moveTo(leftChessCostMultiplierArea[0][0],leftChessCostMultiplierArea[0][1])
for (let i=1;i<leftChessCostMultiplierArea.length;i++) {
c.lineTo(leftChessCostMultiplierArea[i][0],leftChessCostMultiplierArea[i][1])
}
c.lineTo(leftChessCostMultiplierArea[0][0],leftChessCostMultiplierArea[0][1])
c.moveTo(rightChessCostMultiplierArea[0][0],rightChessCostMultiplierArea[0][1])
for (let i=1;i<rightChessCostMultiplierArea.length;i++) {
c.lineTo(rightChessCostMultiplierArea[i][0],rightChessCostMultiplierArea[i][1])
}
c.lineTo(rightChessCostMultiplierArea[0][0],rightChessCostMultiplierArea[0][1])
c.stroke();
}
chessTempPathDraw() {
// Draw path and endings
c.fillStyle = "blue";
c.fillRect(this.chessTempPath.points[this.chessTempPath.start][0]-1,this.chessTempPath.points[this.chessTempPath.start][1]-1,2,2);
c.fillStyle = "#78ff78";
c.fillRect(this.chessTempPath.points[this.chessTempPath.end][0]-1,this.chessTempPath.points[this.chessTempPath.end][1]-1,2,2);
c.lineWidth = 0.2;
c.strokeStyle = "#78ff78";
c.beginPath();
for (let i=0;i<Object.keys(this.chessTempPath.breadcrumbs).length;i++) {
c.moveTo(this.chessTempPath.points[Object.keys(this.chessTempPath.breadcrumbs)[i]][0],this.chessTempPath.points[Object.keys(this.chessTempPath.breadcrumbs)[i]][1]);
c.lineTo(this.chessTempPath.points[this.chessTempPath.breadcrumbs[Object.keys(this.chessTempPath.breadcrumbs)[i]]][0],this.chessTempPath.points[this.chessTempPath.breadcrumbs[Object.keys(this.chessTempPath.breadcrumbs)[i]]][1]);
}
c.stroke();
if (this.chessTempPath.path.length==0) { return }
c.strokeStyle = "orange";
c.beginPath();
c.moveTo(this.chessTempPath.points[this.chessTempPath.path[0]][0],this.chessTempPath.points[this.chessTempPath.path[0]][1]);
for (let i=1;i<Object.keys(this.chessTempPath.path).length;i++) {
c.lineTo(this.chessTempPath.points[this.chessTempPath.path[i]][0],this.chessTempPath.points[this.chessTempPath.path[i]][1]);
}
c.stroke();
}
updateTempPath() {
this.chessTempPath.breadcrumbs = createChessPathBreadcrumbs(this.chessTempPath.points,this.chessTempPath.multipliers,this.chessTempPath.start,this.chessTempPath.end);
this.chessTempPath.path = repathChessPathBreadcrumbs(this.chessTempPath.breadcrumbs,this.chessTempPath.start,this.chessTempPath.end);
}
mainPreshowCP(PreshowCP) {
for (let origin=0;origin<PreshowCP.spots.length;origin++) {
for (let i=0;i<PreshowCP.emptySort.length;i++) {
let spotIndex = PreshowCP.emptySort[i];
let spotPos = [PreshowCP.spots[spotIndex][0],PreshowCP.spots[spotIndex][1]];
if (spotIndex==origin) { break; } // Dont check spots further from the exit than the origin
if (Math.pow(spotPos[0]-PreshowCP.spots[origin][0],2)+Math.pow(spotPos[1]-PreshowCP.spots[origin][1],2)<this.mainPreshowData.distance) {
let originPos = [PreshowCP.spots[origin][0],PreshowCP.spots[origin][1]];
// move spotPos 2 pixels towards originPos
let angle = Math.atan2(spotPos[1]-originPos[1],spotPos[0]-originPos[0]);
spotPos[0] = spotPos[0]-Math.cos(angle)*3;
spotPos[1] = spotPos[1]-Math.sin(angle)*3;
this.mainPreshowData.paths.push([spotPos,originPos]);
}
}
}
}
mainPreshow() {
if (this.mainPreshowData.init==false) {
this.mainPreshowCP(leftPreshowCP);
this.mainPreshowCP(rightPreshowCP);
this.mainPreshowData.init = true;
}
c.fillStyle = "#78ff78"; // Green
c.beginPath();
for (let i=0;i<leftPreshowCP.spots.length;i++) {
if (leftPreshowCP.open[i]) {
c.moveTo(leftPreshowCP.spots[i][0],leftPreshowCP.spots[i][1]);
c.arc(leftPreshowCP.spots[i][0],leftPreshowCP.spots[i][1],1,0,2*Math.PI);
}
}
for (let i=0;i<rightPreshowCP.spots.length;i++) {
if (rightPreshowCP.open[i]) {
c.moveTo(rightPreshowCP.spots[i][0],rightPreshowCP.spots[i][1]);
c.arc(rightPreshowCP.spots[i][0],rightPreshowCP.spots[i][1],1,0,2*Math.PI);
}
}
c.fill();
c.fillStyle = "#ff0000"; // Red
c.beginPath();
for (let i=0;i<leftPreshowCP.spots.length;i++) {
if (leftPreshowCP.open[i]==false) {
c.moveTo(leftPreshowCP.spots[i][0],leftPreshowCP.spots[i][1]);
c.arc(leftPreshowCP.spots[i][0],leftPreshowCP.spots[i][1],1,0,2*Math.PI);
}
}
for (let i=0;i<rightPreshowCP.spots.length;i++) {
if (rightPreshowCP.open[i]==false) {
c.moveTo(rightPreshowCP.spots[i][0],rightPreshowCP.spots[i][1]);
c.arc(rightPreshowCP.spots[i][0],rightPreshowCP.spots[i][1],1,0,2*Math.PI);
}
}
c.fill();
c.fillStyle = "#0000ff"; // Blue
c.beginPath();
for (let i=0;i<leftPreshowCP.exits.length;i++) {
let spotIndex = leftPreshowCP.exits[i];
c.moveTo(leftPreshowCP.spots[spotIndex][0],leftPreshowCP.spots[spotIndex][1]);
c.arc(leftPreshowCP.spots[spotIndex][0],leftPreshowCP.spots[spotIndex][1],2,0,2*Math.PI);
}
for (let i=0;i<rightPreshowCP.exits.length;i++) {
let spotIndex = rightPreshowCP.exits[i];
c.moveTo(rightPreshowCP.spots[spotIndex][0],rightPreshowCP.spots[spotIndex][1]);
c.arc(rightPreshowCP.spots[spotIndex][0],rightPreshowCP.spots[spotIndex][1],2,0,2*Math.PI);
}
c.fill();
c.strokeStyle = "#fcaf0d"; // Orange
c.beginPath();
for (let i=0;i<this.mainPreshowData.paths.length;i++) {
c.moveTo(this.mainPreshowData.paths[i][0][0],this.mainPreshowData.paths[i][0][1]);
c.lineTo(this.mainPreshowData.paths[i][1][0],this.mainPreshowData.paths[i][1][1]);
}
c.stroke();
}
jetway() {
let open = [];
let closed = [];
for (let i=0;i<leftJetWayPoints.length;i++) {
if (leftJetWayPositions[i]) {
open.push(leftJetWayPoints[i]);
} else {
closed.push(leftJetWayPoints[i]);
}
}
for (let i=0;i<rightJetWayPoints.length;i++) {
if (rightJetWayPositions[i]) {
open.push(rightJetWayPoints[i]);
} else {
closed.push(rightJetWayPoints[i]);
}
}
c.fillStyle = "#78ff78"; // Green
c.beginPath();
for (let i=0;i<open.length;i++) {
c.moveTo(open[i][0],open[i][1]);
c.arc(open[i][0],open[i][1],1,0,2*Math.PI);
}
c.fill();
c.fillStyle = "#ff0000"; // Red
c.beginPath();
for (let i=0;i<closed.length;i++) {
c.moveTo(closed[i][0],closed[i][1]);
c.arc(closed[i][0],closed[i][1],1,0,2*Math.PI);
}
c.fill();
}
mainQueue() {
let open = [];
let closed = [];
for (let i=0;i<mainQueuePoints.length;i++) {
if (mainQueuePositions[i]) {
open.push(mainQueuePoints[i]);
} else {
closed.push(mainQueuePoints[i]);
}
}
c.fillStyle = "#78ff78"; // Green
c.beginPath();
for (let i=0;i<open.length;i++) {
c.moveTo(open[i][0],open[i][1]);
c.arc(open[i][0],open[i][1],1,0,2*Math.PI);
}
c.fill();
c.fillStyle = "#ff0000"; // Red
c.beginPath();
for (let i=0;i<closed.length;i++) {
c.moveTo(closed[i][0],closed[i][1]);
c.arc(closed[i][0],closed[i][1],1,0,2*Math.PI);
}
c.fill();
}
singleRider() {
let open = [];
let closed = [];
for (let i=0;i<leftSingleRiderPoints.length;i++) {
if (leftSingleRiderPositions[i]) {
open.push(leftSingleRiderPoints[i]);
} else {
closed.push(leftSingleRiderPoints[i]);
}
}
for (let i=0;i<rightSingleRiderPoints.length;i++) {
if (rightSingleRiderPositions[i]) {
open.push(rightSingleRiderPoints[i]);
} else {
closed.push(rightSingleRiderPoints[i]);
}
}
c.fillStyle = "#78ff78"; // Green
c.beginPath();
for (let i=0;i<open.length;i++) {
c.moveTo(open[i][0],open[i][1]);
c.arc(open[i][0],open[i][1],1,0,2*Math.PI);
}
c.fill();
c.fillStyle = "#ff0000"; // Red
c.beginPath();
for (let i=0;i<closed.length;i++) {
c.moveTo(closed[i][0],closed[i][1]);
c.arc(closed[i][0],closed[i][1],1,0,2*Math.PI);
}
c.fill();
}
LLQueue() {
let open = [];
let closed = [];
for (let i=0;i<LLQueuePoints.length;i++) {
if (LLQueuePositions[i]) {
open.push(LLQueuePoints[i]);
} else {
closed.push(LLQueuePoints[i]);
}
}
c.fillStyle = "#78ff78"; // Green
c.beginPath();
for (let i=0;i<open.length;i++) {
c.moveTo(open[i][0],open[i][1]);
c.arc(open[i][0],open[i][1],1,0,2*Math.PI);
}
c.fill();
c.fillStyle = "#ff0000"; // Red
c.beginPath();
for (let i=0;i<closed.length;i++) {
c.moveTo(closed[i][0],closed[i][1]);
c.arc(closed[i][0],closed[i][1],1,0,2*Math.PI);
}
c.fill();
}
turntableCockpits() {
for (let t=0;t<4;t++) {
let turntable = turntables[Object.keys(turntables)[t]];
for (let cp=0;cp<7;cp++) {
let sled = turntable.sleds[cp];
c.fillStyle = "#00ffff";
c.font = "10px Verdana";
let anim = sled.object.Animator.anim.id.replace("cp_","").replace("movement_","");
c.fillText(cp+"-"+anim,sled.object.Transform.x,sled.object.Transform.y);
}
}
}
createDebugAnimations() {
let guestPathAnims = {
"Q-overlook" : Array.from(mainQueuePoints),
"Q-LL" : Array.from(LLQueuePoints),
"Q-leftSingleRider" : Array.from(leftSingleRiderPoints),
"Q-leftJetWay" : Array.from(leftJetWayPoints),
"AL-to_preshowA" : Array.from(leftAnim["to_preshowA"]),
"AL-to_preshowB" : Array.from(leftAnim["to_preshowB"]),
"AL-exit_singlerider" : Array.from(leftAnim["exit_singlerider"]),
"AL-crewMake_pilotL" : Array.from(leftAnim["crewMake_pilotL"]),
"AL-crewMake_pilotR" : Array.from(leftAnim["crewMake_pilotR"]),
"AL-crewMake_gunnerL" : Array.from(leftAnim["crewMake_gunnerL"]),
"AL-crewMake_gunnerR" : Array.from(leftAnim["crewMake_gunnerR"]),
"AL-crewMake_engineerL" : Array.from(leftAnim["crewMake_engineerL"]),
"AL-crewMake_engineerR" : Array.from(leftAnim["crewMake_engineerR"]),
"AL-closeCall->Briefing" : Array.from(leftAnim["closeCall->Briefing"]),
"AL-merge->chess" : Array.from(leftAnim["merge->chess"]),
"AL-closeBriefing_pilotL" : Array.from(leftAnim["closeBriefing_pilotL"]),
"AL-closeBriefing_pilotR" : Array.from(leftAnim["closeBriefing_pilotR"]),
"AL-closeBriefing_gunnerL" : Array.from(leftAnim["closeBriefing_gunnerL"]),
"AL-closeBriefing_gunnerR" : Array.from(leftAnim["closeBriefing_gunnerR"]),
"AL-closeBriefing_engineerL" : Array.from(leftAnim["closeBriefing_engineerL"]),
"AL-closeBriefing_engineerR" : Array.from(leftAnim["closeBriefing_engineerR"]),
"AL-farCall->Briefing" : Array.from(leftAnim["farCall->Briefing"]),
"AL-farBriefing_pilotL" : Array.from(leftAnim["farBriefing_pilotL"]),
"AL-farBriefing_pilotR" : Array.from(leftAnim["farBriefing_pilotR"]),
"AL-farBriefing_gunnerL" : Array.from(leftAnim["farBriefing_gunnerL"]),
"AL-farBriefing_gunnerR" : Array.from(leftAnim["farBriefing_gunnerR"]),
"AL-farBriefing_engineerL" : Array.from(leftAnim["farBriefing_engineerL"]),
"AL-farBriefing_engineerR" : Array.from(leftAnim["farBriefing_engineerR"]),
"C-leftPreshowCPSpots" : Array.from(leftPreshowCPSpots),
"C-leftChessFloor" : Array.from(leftChessFloor),
"C-rightChessFloor" : Array.from(rightChessFloor),
"Q-rightJetWay" : Array.from(rightJetWayPoints),
"Q-rightSingleRider" : Array.from(rightSingleRiderPoints),
"AR-to_preshowA" : Array.from(rightAnim["to_preshowA"]),
"AR-to_preshowB" : Array.from(rightAnim["to_preshowB"]),
"C-rightPreshowCPSpots" : Array.from(rightPreshowCPSpots),
"C-crewMake_pilotL" : Array.from(rightAnim["crewMake_pilotL"]),
"C-crewMake_pilotR" : Array.from(rightAnim["crewMake_pilotR"]),
"C-crewMake_gunnerL" : Array.from(rightAnim["crewMake_gunnerL"]),
"C-crewMake_gunnerR" : Array.from(rightAnim["crewMake_gunnerR"]),
"C-crewMake_engineerL" : Array.from(rightAnim["crewMake_engineerL"]),
"C-crewMake_engineerR" : Array.from(rightAnim["crewMake_engineerR"]),
"AR-merge->chess" : Array.from(rightAnim["merge->chess"]),
"AR-farCall->Briefing" : Array.from(rightAnim["farCall->Briefing"]),
"AR-farBriefing_pilotL" : Array.from(rightAnim["farBriefing_pilotL"]),
"AR-farBriefing_pilotR" : Array.from(rightAnim["farBriefing_pilotR"]),
"AR-farBriefing_gunnerL" : Array.from(rightAnim["farBriefing_gunnerL"]),
"AR-farBriefing_gunnerR" : Array.from(rightAnim["farBriefing_gunnerR"]),
"AR-farBriefing_engineerL" : Array.from(rightAnim["farBriefing_engineerL"]),
"AR-farBriefing_engineerR" : Array.from(rightAnim["farBriefing_engineerR"]),
"AR-to_farCockpit" : Array.from(rightAnim["to_farCockpit"]),
"AR-farCockpit_pilotL" : Array.from(rightAnim["farCockpit_pilotL"]),
"AR-farCockpit_pilotR" : Array.from(rightAnim["farCockpit_pilotR"]),
"AR-farCockpit_gunnerL" : Array.from(rightAnim["farCockpit_gunnerL"]),
"AR-farCockpit_gunnerR" : Array.from(rightAnim["farCockpit_gunnerR"]),
"AR-farCockpit_engineerL" : Array.from(rightAnim["farCockpit_engineerL"]),
"AR-farCockpit_engineerR" : Array.from(rightAnim["farCockpit_engineerR"]),
"AR-farUnload_pilotL" : Array.from(rightAnim["farUnload_pilotL"]),
"AR-farUnload_pilotR" : Array.from(rightAnim["farUnload_pilotR"]),
"AR-farUnload_gunnerL" : Array.from(rightAnim["farUnload_gunnerL"]),
"AR-farUnload_gunnerR" : Array.from(rightAnim["farUnload_gunnerR"]),
"AR-farUnload_engineerL" : Array.from(rightAnim["farUnload_engineerL"]),
"AR-farUnload_engineerR" : Array.from(rightAnim["farUnload_engineerR"]),
"AR-exit_far" : Array.from(rightAnim["exit_far"]),
"AR-closeCall->Briefing" : Array.from(rightAnim["closeCall->Briefing"]),
"AR-closeBriefing_pilotL" : Array.from(rightAnim["closeBriefing_pilotL"]),
"AR-closeBriefing_pilotR" : Array.from(rightAnim["closeBriefing_pilotR"]),
"AR-closeBriefing_gunnerL" : Array.from(rightAnim["closeBriefing_gunnerL"]),
"AR-closeBriefing_gunnerR" : Array.from(rightAnim["closeBriefing_gunnerR"]),
"AR-closeBriefing_engineerL" : Array.from(rightAnim["closeBriefing_engineerL"]),
"AR-closeBriefing_engineerR" : Array.from(rightAnim["closeBriefing_engineerR"]),
"AR-to_closeCockpit" : Array.from(rightAnim["to_closeCockpit"]),
"AR-closeCockpit_pilotL" : Array.from(rightAnim["closeCockpit_pilotL"]),
"AR-closeCockpit_pilotR" : Array.from(rightAnim["closeCockpit_pilotR"]),
"AR-closeCockpit_gunnerL" : Array.from(rightAnim["closeCockpit_gunnerL"]),
"AR-closeCockpit_gunnerR" : Array.from(rightAnim["closeCockpit_gunnerR"]),
"AR-closeCockpit_engineerL" : Array.from(rightAnim["closeCockpit_engineerL"]),
"AR-closeCockpit_engineerR" : Array.from(rightAnim["closeCockpit_engineerR"]),
"AR-closeUnload_pilotL" : Array.from(rightAnim["closeUnload_pilotL"]),
"AR-closeUnload_pilotR" : Array.from(rightAnim["closeUnload_pilotR"]),
"AR-closeUnload_gunnerL" : Array.from(rightAnim["closeUnload_gunnerL"]),
"AcR-closeUnload_gunnerR" : Array.from(rightAnim["closeUnload_gunnerR"]),
"AR-closeUnload_engineerL" : Array.from(rightAnim["closeUnload_engineerL"]),
"AR-closeUnload_engineerR" : Array.from(rightAnim["closeUnload_engineerR"]),
"AR-close_exit" : Array.from(rightAnim["exit_close"]),
"AR-farCall->ADABriefing" : Array.from(rightAnim["farCall->ADABriefing"]),
"AR-ADABriefing_pilotL" : Array.from(rightAnim["ADABriefing_pilotL"]),
"AR-ADABriefing_pilotR" : Array.from(rightAnim["ADABriefing_pilotR"]),
"AR-ADABriefing_gunnerL" : Array.from(rightAnim["ADABriefing_gunnerL"]),
"AR-ADABriefing_gunnerR" : Array.from(rightAnim["ADABriefing_gunnerR"]),
"AR-ADABriefing_engineerL" : Array.from(rightAnim["ADABriefing_engineerL"]),
"AR-ADABriefing_engineerR" : Array.from(rightAnim["ADABriefing_engineerR"]),
"AR-to_ADACockpit" : Array.from(rightAnim["to_ADACockpit"]),
"AR-ADACockpit_pilotL" : Array.from(rightAnim["ADACockpit_pilotL"]),
"AR-ADACockpit_pilotR" : Array.from(rightAnim["ADACockpit_pilotR"]),
"AR-ADACockpit_gunnerL" : Array.from(rightAnim["ADACockpit_gunnerL"]),
"AR-ADACockpit_gunnerR" : Array.from(rightAnim["ADACockpit_gunnerR"]),
"AR-ADACockpit_engineerL" : Array.from(rightAnim["ADACockpit_engineerL"]),
"AR-ADACockpit_engineerR" : Array.from(rightAnim["ADACockpit_engineerR"]),
"AR-ADACockpit_exit" : Array.from(rightAnim["exit_ADACockpit"]),
"AR-ADA_elevator_pilotL" : Array.from(rightAnim["ADA_elevator_pilotL"]),
"AR-ADA_elevator_pilotR" : Array.from(rightAnim["ADA_elevator_pilotR"]),
"AR-ADA_elevator_gunnerL" : Array.from(rightAnim["ADA_elevator_gunnerL"]),
"AR-ADA_elevator_gunnerR" : Array.from(rightAnim["ADA_elevator_gunnerR"]),
"AR-ADA_elevator_engineerL" : Array.from(rightAnim["ADA_elevator_engineerL"]),
"AR-ADA_elevator_engineerR" : Array.from(rightAnim["ADA_elevator_engineerR"]),
"AL-to_farCockpit" : Array.from(leftAnim["to_farCockpit"]),
"AL-farCockpit_pilotL" : Array.from(leftAnim["farCockpit_pilotL"]),
"AL-farCockpit_pilotR" : Array.from(leftAnim["farCockpit_pilotR"]),
"AL-farCockpit_gunnerL" : Array.from(leftAnim["farCockpit_gunnerL"]),
"AL-farCockpit_gunnerR" : Array.from(leftAnim["farCockpit_gunnerR"]),
"AL-farCockpit_engineerL" : Array.from(leftAnim["farCockpit_engineerL"]),
"AL-farCockpit_engineerR" : Array.from(leftAnim["farCockpit_engineerR"]),
"AL-farUnload_pilotL" : Array.from(leftAnim["farUnload_pilotL"]),
"AL-farUnload_pilotR" : Array.from(leftAnim["farUnload_pilotR"]),
"AL-farUnload_gunnerL" : Array.from(leftAnim["farUnload_gunnerL"]),
"AL-farUnload_gunnerR" : Array.from(leftAnim["farUnload_gunnerR"]),
"AL-farUnload_engineerL" : Array.from(leftAnim["farUnload_engineerL"]),
"AL-farUnload_engineerR" : Array.from(leftAnim["farUnload_engineerR"]),
"AL-far_exit" : Array.from(leftAnim["exit_far"]),
"AL-to_closeCockpit" : Array.from(leftAnim["to_closeCockpit"]),
"AL-closeCockpit_pilotL" : Array.from(leftAnim["closeCockpit_pilotL"]),
"AL-closeCockpit_pilotR" : Array.from(leftAnim["closeCockpit_pilotR"]),
"AL-closeCockpit_gunnerL" : Array.from(leftAnim["closeCockpit_gunnerL"]),
"AL-closeCockpit_gunnerR" : Array.from(leftAnim["closeCockpit_gunnerR"]),
"AL-closeCockpit_engineerL" : Array.from(leftAnim["closeCockpit_engineerL"]),
"AL-closeCockpit_engineerR" : Array.from(leftAnim["closeCockpit_engineerR"]),
"AL-closeUnload_pilotL" : Array.from(leftAnim["closeUnload_pilotL"]),
"AL-closeUnload_pilotR" : Array.from(leftAnim["closeUnload_pilotR"]),
"AL-closeUnload_gunnerL" : Array.from(leftAnim["closeUnload_gunnerL"]),
"AL-closeUnload_gunnerR" : Array.from(leftAnim["closeUnload_gunnerR"]),
"AL-closeUnload_engineerL" : Array.from(leftAnim["closeUnload_engineerL"]),
"AL-closeUnload_engineerR" : Array.from(leftAnim["closeUnload_engineerR"]),
"AL-close_exit" : Array.from(leftAnim["exit_close"]),
"AL-farCall->ADABriefing" : Array.from(leftAnim["farCall->ADABriefing"]),
"AL-ADABriefing_pilotL" : Array.from(leftAnim["ADABriefing_pilotL"]),
"AL-ADABriefing_pilotR" : Array.from(leftAnim["ADABriefing_pilotR"]),
"AL-ADABriefing_gunnerL" : Array.from(leftAnim["ADABriefing_gunnerL"]),
"AL-ADABriefing_gunnerR" : Array.from(leftAnim["ADABriefing_gunnerR"]),
"AL-ADABriefing_engineerL" : Array.from(leftAnim["ADABriefing_engineerL"]),
"AL-ADABriefing_engineerR" : Array.from(leftAnim["ADABriefing_engineerR"]),
"AL-to_ADACockpit" : Array.from(leftAnim["to_ADACockpit"]),
"AL-ADACockpit_pilotL" : Array.from(leftAnim["ADACockpit_pilotL"]),
"AL-ADACockpit_pilotR" : Array.from(leftAnim["ADACockpit_pilotR"]),
"AL-ADACockpit_gunnerL" : Array.from(leftAnim["ADACockpit_gunnerL"]),
"AL-ADACockpit_gunnerR" : Array.from(leftAnim["ADACockpit_gunnerR"]),
"AL-ADACockpit_engineerL" : Array.from(leftAnim["ADACockpit_engineerL"]),
"AL-ADACockpit_engineerR" : Array.from(leftAnim["ADACockpit_engineerR"]),
"AL-ADACockpit_exit" : Array.from(leftAnim["exit_ADACockpit"]),
"AL-ADA_elevator_pilotL" : Array.from(leftAnim["ADA_elevator_pilotL"]),
"AL-ADA_elevator_pilotR" : Array.from(leftAnim["ADA_elevator_pilotR"]),
"AL-ADA_elevator_gunnerL" : Array.from(leftAnim["ADA_elevator_gunnerL"]),
"AL-ADA_elevator_gunnerR" : Array.from(leftAnim["ADA_elevator_gunnerR"]),
"AL-ADA_elevator_engineerL" : Array.from(leftAnim["ADA_elevator_engineerL"]),
"AL-ADA_elevator_engineerR" : Array.from(leftAnim["ADA_elevator_engineerR"]),
}
for (let key in guestPathAnims) {
cg.createAnimation({
data : guestPathAnims[key],
keys : [["Transform","x"],["Transform","y"]],
id: key
});
}
}
}