1
0
Fork 0

Sync with c172p-detailed 2016.4

c172p-detailed commit 8d1e0bf03f19e10bca386190321ec2e6e477aba9

8d1e0bf03f
This commit is contained in:
Stuart Buchanan 2016-11-12 21:32:27 +00:00
parent dd575d2cd4
commit 44a2b6dedf
26 changed files with 7038 additions and 213 deletions

View file

@ -3,7 +3,11 @@
<PropertyList>
<path>suitcase1.ac</path>
<effect>
<inherits-from>../../../../Effects/interior/c172p-interior-radiance</inherits-from>
<object-name>suitcase1</object-name>
</effect>
<animation>
<object-name>suitcase1</object-name>
</animation>

View file

@ -3,7 +3,11 @@
<PropertyList>
<path>suitcase2.ac</path>
<effect>
<inherits-from>../../../../Effects/interior/c172p-interior-radiance</inherits-from>
<object-name>suitcase2</object-name>
</effect>
<animation>
<object-name>suitcase2</object-name>
</animation>

View file

@ -0,0 +1,832 @@
AC3Db
MATERIAL "DefaultWhite" rgb 1.0000 1.0000 1.0000 amb 0.2000 0.2000 0.2000 emis 0.0000 0.0000 0.0000 spec 0.5000 0.5000 0.5000 shi 10 trans 0.0000
MATERIAL "ac3dmat1.000" rgb 1.0000 1.0000 1.0000 amb 0.2000 0.2000 0.2000 emis 0.0000 0.0000 0.0000 spec 0.0000 0.0000 0.0000 shi 12 trans 0.0000
OBJECT world
name "Blender_exporter_v2.10__elt.ac"
kids 1
OBJECT poly
name "elt"
data 3
ELT
loc 3.2545900 0.1094562 0.3614130
crease 0.0
texture "fire-elt.png"
texrep 1 1
numvert 128
-0.00383 -0.24715 -0.02294
-0.00383 -0.29658 -0.02294
0.02698 -0.29658 -0.02727
0.02698 -0.24715 -0.02727
-0.02786 -0.07742 -0.01957
-0.02786 -0.22727 -0.01957
0.03382 -0.22727 -0.02824
0.03382 -0.07742 -0.02824
0.04794 -0.30505 0.02571
0.04794 -0.09334 0.02571
0.04014 -0.30505 -0.02979
0.04014 -0.09334 -0.02979
0.02920 -0.09334 -0.02826
0.02920 -0.30505 -0.02826
0.05039 -0.30507 0.02705
0.04211 -0.30507 -0.03184
0.02896 -0.30507 -0.02999
0.02896 -0.09336 -0.02999
0.04211 -0.09336 -0.03184
0.05039 -0.09336 0.02705
-0.02656 -0.30505 0.03618
-0.02656 -0.09334 0.03618
-0.03436 -0.30505 -0.01932
-0.03436 -0.09334 -0.01932
-0.02343 -0.09334 -0.02086
-0.02343 -0.30505 -0.02086
-0.02855 -0.30507 0.03814
-0.03683 -0.30507 -0.02075
-0.02367 -0.30507 -0.02260
-0.02367 -0.09336 -0.02260
-0.03683 -0.09336 -0.02075
-0.02855 -0.09336 0.03814
0.04675 -0.30068 0.02500
-0.02562 -0.30068 0.03517
-0.03320 -0.30068 -0.01882
0.03916 -0.30068 -0.02899
0.03916 -0.24305 -0.02899
-0.03320 -0.24305 -0.01882
-0.02562 -0.24305 0.03517
0.04675 -0.24305 0.02500
-0.03186 -0.12360 0.00850
-0.03862 -0.12550 0.00945
-0.04513 -0.12066 0.01036
-0.03219 -0.12459 0.00613
-0.03876 -0.12593 0.00841
-0.04575 -0.12251 0.00593
-0.03233 -0.12699 0.00514
-0.03883 -0.12699 0.00797
-0.04601 -0.12699 0.00410
-0.03219 -0.12938 0.00613
-0.03876 -0.12804 0.00841
-0.04575 -0.13146 0.00593
-0.03186 -0.13037 0.00850
-0.03862 -0.12848 0.00945
-0.04513 -0.13332 0.01036
-0.03152 -0.12938 0.01087
-0.03847 -0.12804 0.01049
-0.04451 -0.13146 0.01480
-0.03138 -0.12699 0.01185
-0.03841 -0.12699 0.01093
-0.04425 -0.12699 0.01663
-0.03152 -0.12459 0.01087
-0.03847 -0.12593 0.01049
-0.04451 -0.12251 0.01480
-0.03186 -0.12360 0.00850
-0.03862 -0.12550 0.00945
-0.04513 -0.12066 0.01036
0.04295 -0.07348 -0.00199
-0.02941 -0.07348 0.00818
0.04675 -0.24062 0.02500
-0.02562 -0.24062 0.03517
-0.03320 -0.24062 -0.01882
0.03916 -0.24062 -0.02899
0.03916 -0.07348 -0.02899
-0.03320 -0.07348 -0.01882
-0.02562 -0.07348 0.03517
0.04675 -0.07348 0.02500
0.03765 -0.08677 -0.00599
0.03516 -0.08677 -0.02368
-0.02790 -0.08677 -0.01482
-0.02541 -0.08677 0.00287
0.00547 -0.07322 -0.01025
0.00510 -0.07431 -0.01289
0.00515 -0.08800 -0.01254
0.00498 -0.07855 -0.01376
0.00584 -0.07431 -0.00762
0.00579 -0.08800 -0.00797
0.00596 -0.07855 -0.00674
0.00654 -0.07431 -0.01040
0.00617 -0.07855 -0.01304
0.00654 -0.08800 -0.01040
0.00691 -0.07855 -0.00777
0.00690 -0.07855 -0.01045
0.00440 -0.07431 -0.01010
0.00477 -0.07855 -0.00747
0.00440 -0.08800 -0.01010
0.00403 -0.07855 -0.01274
0.00404 -0.07855 -0.01005
0.00675 -0.07478 -0.00804
0.00485 -0.07478 -0.00778
0.00419 -0.07478 -0.01246
0.00609 -0.07478 -0.01273
0.00614 -0.08753 -0.01242
0.00423 -0.08753 -0.01215
0.00480 -0.08753 -0.00809
0.00671 -0.08753 -0.00836
-0.01320 -0.08229 -0.00799
-0.01925 -0.09440 -0.00820
-0.01644 -0.09440 -0.00205
-0.01039 -0.09440 -0.00183
-0.00715 -0.09440 -0.00778
-0.00996 -0.09440 -0.01393
-0.01601 -0.09440 -0.01415
-0.01925 -0.08229 -0.00820
-0.01644 -0.08229 -0.00205
-0.01039 -0.08229 -0.00183
-0.00715 -0.08229 -0.00778
-0.00996 -0.08229 -0.01393
-0.01601 -0.08229 -0.01415
-0.03810 0.17185 -0.02888
-0.04145 0.17185 -0.02841
-0.04022 0.17174 -0.03178
-0.01253 0.02928 -0.01413
-0.01588 0.02928 -0.01366
-0.01465 0.02917 -0.01703
-0.01156 -0.09150 -0.00727
-0.01492 -0.09150 -0.00680
-0.01368 -0.09162 -0.01017
numsurf 99
SURF 0X0
mat 1
refs 4
1 0.170149 0.650381
0 0.170149 0.514374
3 0.295028 0.514374
2 0.295028 0.650381
SURF 0X0
mat 1
refs 4
3 0.095765 0.727979
0 0.037103 0.727979
37 0.051767 0.687493
36 0.081098 0.687493
SURF 0X0
mat 1
refs 4
0 0.095765 0.566032
1 0.095765 0.727979
34 0.081098 0.687493
37 0.081098 0.606518
SURF 0X0
mat 1
refs 4
35 0.037103 0.566032
34 0.095765 0.566032
1 0.081098 0.606518
2 0.051767 0.606518
SURF 0X0
mat 1
refs 4
36 0.037103 0.727979
35 0.037103 0.566032
2 0.051767 0.606518
3 0.051767 0.687493
SURF 0X0
mat 1
refs 4
7 0.130411 1.003866
6 0.130411 0.504497
5 0.383972 0.504497
4 0.383972 1.003866
SURF 0X0
mat 1
refs 4
74 0.102935 0.750274
73 0.018292 0.750274
7 0.039452 0.697748
4 0.081775 0.697748
SURF 0X0
mat 1
refs 4
71 0.102935 0.540171
74 0.102935 0.750274
4 0.081775 0.697748
5 0.081775 0.592699
SURF 0X0
mat 1
refs 4
72 0.018292 0.540171
71 0.102935 0.540171
5 0.081775 0.592699
6 0.039452 0.592699
SURF 0X0
mat 1
refs 4
73 0.018292 0.750274
72 0.018292 0.540171
6 0.039452 0.592699
7 0.039452 0.697748
SURF 0X0
mat 1
refs 4
8 0.012441 0.531237
14 0.009657 0.531216
26 0.108645 0.531216
20 0.105862 0.531237
SURF 0X0
mat 1
refs 4
19 0.009657 0.743841
9 0.012441 0.743861
21 0.105862 0.743861
31 0.108645 0.743841
SURF 0X0
mat 1
refs 4
20 0.105862 0.531237
21 0.105862 0.743861
9 0.012441 0.743861
8 0.012441 0.531237
SURF 0X0
mat 1
refs 4
14 0.009657 0.531216
19 0.009657 0.743841
31 0.108645 0.743841
26 0.108645 0.531216
SURF 0X0
mat 1
refs 4
27 0.108645 0.531216
30 0.108645 0.743841
29 0.092147 0.743841
28 0.092147 0.531216
SURF 0X0
mat 1
refs 4
26 0.108645 0.531216
31 0.108645 0.743841
30 0.108645 0.743841
27 0.108645 0.531216
SURF 0X0
mat 1
refs 4
29 0.092147 0.743841
24 0.092149 0.743861
25 0.092149 0.531237
28 0.092147 0.531216
SURF 0X0
mat 1
refs 4
30 0.108645 0.743841
23 0.105862 0.743861
24 0.092149 0.743861
29 0.092147 0.743841
SURF 0X0
mat 1
refs 4
28 0.092147 0.531216
25 0.092149 0.531237
22 0.105862 0.531237
27 0.108645 0.531216
SURF 0X0
mat 1
refs 4
31 0.108645 0.743841
21 0.105862 0.743861
23 0.105862 0.743861
30 0.108645 0.743841
SURF 0X0
mat 1
refs 4
27 0.108645 0.531216
22 0.105862 0.531237
20 0.105862 0.531237
26 0.108645 0.531216
SURF 0X0
mat 1
refs 4
25 0.092149 0.531237
24 0.092149 0.743861
23 0.105862 0.743861
22 0.105862 0.531237
SURF 0X0
mat 1
refs 4
22 0.105862 0.531237
23 0.105862 0.743861
21 0.105862 0.743861
20 0.105862 0.531237
SURF 0X0
mat 1
refs 4
16 0.026156 0.531216
17 0.026156 0.743841
18 0.009657 0.743841
15 0.009657 0.531216
SURF 0X0
mat 1
refs 4
15 0.009657 0.531216
18 0.009657 0.743841
19 0.009657 0.743841
14 0.009657 0.531216
SURF 0X0
mat 1
refs 4
16 0.026156 0.531216
13 0.026153 0.531237
12 0.026153 0.743861
17 0.026156 0.743841
SURF 0X0
mat 1
refs 4
17 0.026156 0.743841
12 0.026153 0.743861
11 0.012441 0.743861
18 0.009657 0.743841
SURF 0X0
mat 1
refs 4
15 0.009657 0.531216
10 0.012441 0.531237
13 0.026153 0.531237
16 0.026156 0.531216
SURF 0X0
mat 1
refs 4
18 0.009657 0.743841
11 0.012441 0.743861
9 0.012441 0.743861
19 0.009657 0.743841
SURF 0X0
mat 1
refs 4
14 0.009657 0.531216
8 0.012441 0.531237
10 0.012441 0.531237
15 0.009657 0.531216
SURF 0X0
mat 1
refs 4
10 0.012441 0.531237
11 0.012441 0.743861
12 0.026153 0.743861
13 0.026153 0.531237
SURF 0X0
mat 1
refs 4
8 0.012441 0.531237
9 0.012441 0.743861
11 0.012441 0.743861
10 0.012441 0.531237
SURF 0X0
mat 1
refs 4
32 0.013783 0.535623
33 0.104522 0.535623
34 0.104522 0.535623
35 0.013783 0.535623
SURF 0X0
mat 1
refs 4
39 0.013783 0.593503
36 0.013783 0.593503
37 0.104522 0.593503
38 0.104522 0.593503
SURF 0X0
mat 1
refs 4
38 0.104522 0.593503
33 0.104522 0.535623
32 0.013783 0.535623
39 0.013783 0.593503
SURF 0X0
mat 1
refs 4
39 0.013783 0.593503
32 0.013783 0.535623
35 0.013783 0.535623
36 0.013783 0.593503
SURF 0X0
mat 1
refs 4
37 0.104522 0.593503
34 0.104522 0.535623
33 0.104522 0.535623
38 0.104522 0.593503
SURF 0X10
mat 1
refs 4
61 0.010958 0.827914
40 0.010958 0.832326
41 0.056476 0.823892
62 0.056476 0.821951
SURF 0X10
mat 1
refs 4
62 0.056476 0.821951
41 0.056476 0.823892
42 0.100307 0.845404
63 0.100307 0.837162
SURF 0X10
mat 1
refs 4
58 0.010958 0.817266
61 0.010958 0.827914
62 0.056476 0.821951
59 0.056476 0.817266
SURF 0X10
mat 1
refs 4
59 0.056476 0.817266
62 0.056476 0.821951
63 0.100307 0.837162
60 0.100307 0.817266
SURF 0X10
mat 1
refs 4
55 0.010958 0.806616
58 0.010958 0.817266
59 0.056476 0.817266
56 0.056476 0.812581
SURF 0X10
mat 1
refs 4
56 0.056476 0.812581
59 0.056476 0.817266
60 0.100307 0.817266
57 0.100307 0.797368
SURF 0X10
mat 1
refs 4
52 0.010958 0.802207
55 0.010958 0.806616
56 0.056476 0.812581
53 0.056476 0.810640
SURF 0X10
mat 1
refs 4
53 0.056476 0.810640
56 0.056476 0.812581
57 0.100307 0.797368
54 0.100307 0.789126
SURF 0X10
mat 1
refs 4
49 0.010958 0.806616
52 0.010958 0.802207
53 0.056476 0.810640
50 0.056476 0.812581
SURF 0X10
mat 1
refs 4
50 0.056476 0.812581
53 0.056476 0.810640
54 0.100307 0.789126
51 0.100307 0.797368
SURF 0X10
mat 1
refs 4
46 0.010958 0.817266
49 0.010958 0.806616
50 0.056476 0.812581
47 0.056476 0.817266
SURF 0X10
mat 1
refs 4
47 0.056476 0.817266
50 0.056476 0.812581
51 0.100307 0.797368
48 0.100307 0.817266
SURF 0X10
mat 1
refs 4
43 0.010958 0.827914
46 0.010958 0.817266
47 0.056476 0.817266
44 0.056476 0.821951
SURF 0X10
mat 1
refs 4
44 0.056476 0.821951
47 0.056476 0.817266
48 0.100307 0.817266
45 0.100307 0.837162
SURF 0X10
mat 1
refs 4
40 0.010958 0.832326
43 0.010958 0.827914
44 0.056476 0.821951
41 0.056476 0.823892
SURF 0X10
mat 1
refs 4
41 0.056476 0.823892
44 0.056476 0.821951
45 0.100307 0.837162
42 0.100307 0.845404
SURF 0X0
mat 1
refs 4
68 0.104522 0.763809
75 0.104522 0.763809
76 0.013783 0.763809
67 0.013783 0.763809
SURF 0X0
mat 1
refs 4
69 0.013783 0.595943
70 0.104522 0.595943
71 0.104522 0.595943
72 0.013783 0.595943
SURF 0X0
mat 1
refs 4
75 0.104522 0.763809
70 0.104522 0.595943
69 0.013783 0.595943
76 0.013783 0.763809
SURF 0X0
mat 1
refs 4
77 0.019616 0.750466
78 0.019616 0.750466
79 0.098687 0.750466
80 0.098687 0.750466
SURF 0X0
mat 1
refs 4
67 0.013783 0.763809
73 0.013783 0.763809
78 0.019616 0.750466
77 0.019616 0.750466
SURF 0X0
mat 1
refs 4
73 0.013783 0.763809
74 0.104522 0.763809
79 0.098687 0.750466
78 0.019616 0.750466
SURF 0X0
mat 1
refs 4
74 0.104522 0.763809
68 0.104522 0.763809
80 0.098687 0.750466
79 0.098687 0.750466
SURF 0X0
mat 1
refs 4
68 0.104522 0.763809
67 0.013783 0.763809
77 0.019616 0.750466
80 0.098687 0.750466
SURF 0X10
mat 1
refs 4
85 0.086587 0.834085
81 0.091957 0.834085
93 0.086587 0.813408
99 0.084280 0.815708
SURF 0X10
mat 1
refs 4
81 0.091957 0.834085
82 0.086587 0.834085
100 0.084280 0.815708
93 0.086587 0.813408
SURF 0X10
mat 1
refs 4
88 0.086587 0.854761
101 0.084280 0.852464
82 0.086587 0.834085
81 0.091957 0.834085
SURF 0X10
mat 1
refs 4
98 0.084280 0.852464
88 0.086587 0.854761
81 0.091957 0.834085
85 0.086587 0.834085
SURF 0X10
mat 1
refs 4
82 0.086587 0.834085
84 0.065833 0.834085
96 0.065833 0.813408
100 0.084280 0.815708
SURF 0X10
mat 1
refs 4
84 0.065833 0.834085
83 0.019577 0.834085
103 0.021884 0.815708
96 0.065833 0.813408
SURF 0X10
mat 1
refs 4
89 0.065833 0.854761
102 0.021884 0.852464
83 0.019577 0.834085
84 0.065833 0.834085
SURF 0X10
mat 1
refs 4
101 0.084280 0.852464
89 0.065833 0.854761
84 0.065833 0.834085
82 0.086587 0.834085
SURF 0X10
mat 1
refs 4
85 0.086587 0.834085
87 0.065833 0.834085
91 0.065833 0.854761
98 0.084280 0.852464
SURF 0X10
mat 1
refs 4
87 0.065833 0.834085
86 0.019577 0.834085
105 0.021884 0.852464
91 0.065833 0.854761
SURF 0X10
mat 1
refs 4
94 0.065833 0.813408
104 0.021884 0.815708
86 0.019577 0.834085
87 0.065833 0.834085
SURF 0X10
mat 1
refs 4
99 0.084280 0.815708
94 0.065833 0.813408
87 0.065833 0.834085
85 0.086587 0.834085
SURF 0X10
mat 1
refs 4
88 0.086587 0.854761
92 0.065833 0.861652
89 0.065833 0.854761
101 0.084280 0.852464
SURF 0X10
mat 1
refs 4
92 0.065833 0.861652
90 0.019577 0.854761
102 0.021884 0.852464
89 0.065833 0.854761
SURF 0X10
mat 1
refs 4
91 0.065833 0.854761
105 0.021884 0.852464
90 0.019577 0.854761
92 0.065833 0.861652
SURF 0X10
mat 1
refs 4
98 0.084280 0.852464
91 0.065833 0.854761
92 0.065833 0.861652
88 0.086587 0.854761
SURF 0X10
mat 1
refs 4
93 0.086587 0.813408
97 0.065833 0.806517
94 0.065833 0.813408
99 0.084280 0.815708
SURF 0X10
mat 1
refs 4
97 0.065833 0.806517
95 0.019577 0.813408
104 0.021884 0.815708
94 0.065833 0.813408
SURF 0X10
mat 1
refs 4
96 0.065833 0.813408
103 0.021884 0.815708
95 0.019577 0.813408
97 0.065833 0.806517
SURF 0X10
mat 1
refs 4
100 0.084280 0.815708
96 0.065833 0.813408
97 0.065833 0.806517
93 0.086587 0.813408
SURF 0X0
mat 1
refs 3
106 0.090672 0.840000
118 0.097134 0.840000
113 0.110638 0.840000
SURF 0X0
mat 1
refs 3
106 0.090672 0.840000
113 0.110638 0.840000
114 0.104176 0.840000
SURF 0X0
mat 1
refs 3
106 0.090672 0.840000
114 0.104176 0.840000
115 0.084210 0.840000
SURF 0X0
mat 1
refs 3
106 0.090672 0.840000
115 0.084210 0.840000
116 0.070706 0.840000
SURF 0X0
mat 1
refs 3
106 0.090672 0.840000
116 0.070706 0.840000
117 0.077168 0.840000
SURF 0X0
mat 1
refs 3
106 0.090672 0.840000
117 0.077168 0.840000
118 0.097134 0.840000
SURF 0X10
mat 1
refs 4
118 0.097134 0.840000
112 0.097134 0.814704
107 0.110638 0.814704
113 0.110638 0.840000
SURF 0X10
mat 1
refs 4
113 0.110638 0.840000
107 0.110638 0.814704
108 0.104176 0.814704
114 0.104176 0.840000
SURF 0X10
mat 1
refs 4
114 0.104176 0.840000
108 0.104176 0.814704
109 0.084210 0.814704
115 0.084210 0.840000
SURF 0X10
mat 1
refs 4
115 0.084210 0.840000
109 0.084210 0.814704
110 0.070706 0.814704
116 0.070706 0.840000
SURF 0X10
mat 1
refs 4
116 0.070706 0.840000
110 0.070706 0.814704
111 0.077168 0.814704
117 0.077168 0.840000
SURF 0X10
mat 1
refs 4
117 0.077168 0.840000
111 0.077168 0.814704
112 0.097134 0.814704
118 0.097134 0.840000
SURF 0X10
mat 1
refs 4
120 0.325393 0.867961
123 0.249363 0.867961
122 0.249363 0.880544
119 0.325393 0.880544
SURF 0X10
mat 1
refs 4
121 0.325351 0.874254
124 0.249321 0.874254
123 0.249363 0.867961
120 0.325393 0.867961
SURF 0X10
mat 1
refs 4
119 0.325393 0.880544
122 0.249363 0.880544
124 0.249321 0.874254
121 0.325351 0.874254
SURF 0X10
mat 1
refs 4
125 0.173226 0.880544
122 0.249363 0.880544
123 0.249363 0.867961
126 0.173226 0.867961
SURF 0X10
mat 1
refs 4
126 0.173226 0.867961
123 0.249363 0.867961
124 0.249321 0.874254
127 0.173184 0.874254
SURF 0X10
mat 1
refs 4
127 0.173184 0.874254
124 0.249321 0.874254
122 0.249363 0.880544
125 0.173226 0.880544
kids 0

View file

@ -0,0 +1,15 @@
<?xml version="1.0"?>
<PropertyList>
<path>elt.ac</path>
<effect>
<inherits-from>../../../../Effects/interior/c172p-interior-radiance</inherits-from>
<object-name>elt</object-name>
</effect>
<animation>
<object-name>elt</object-name>
</animation>
</PropertyList>

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,15 @@
<?xml version="1.0"?>
<PropertyList>
<path>fe.ac</path>
<effect>
<inherits-from>../../../../Effects/interior/c172p-interior-radiance</inherits-from>
<object-name>extinguisher</object-name>
</effect>
<animation>
<object-name>extinguisher</object-name>
</animation>
</PropertyList>

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,15 @@
<?xml version="1.0"?>
<PropertyList>
<path>fe2.ac</path>
<effect>
<inherits-from>../../../../Effects/interior/c172p-interior-radiance</inherits-from>
<object-name>extinguisher2</object-name>
</effect>
<animation>
<object-name>extinguisher2</object-name>
</animation>
</PropertyList>

Binary file not shown.

After

Width:  |  Height:  |  Size: 249 KiB

View file

@ -7207,10 +7207,15 @@
<repeatable>false</repeatable>
<binding>
<condition>
<property>/sim/model/c172p/securing/pitot-cover-removable</property>
<not>
<property>/sim/current-view/internal</property>
</not>
<or>
<and>
<property>/sim/model/c172p/securing/pitot-cover-removable</property>
<not>
<property>/sim/current-view/internal</property>
</not>
</and>
<property>/nasal/tutorial/loaded</property>
</or>
</condition>
<command>property-assign</command>
<property alias="/params/securing/pitot-cover"/>
@ -7220,10 +7225,15 @@
<hovered>
<binding>
<condition>
<property>/sim/model/c172p/securing/pitot-cover-removable</property>
<not>
<property>/sim/current-view/internal</property>
</not>
<or>
<and>
<property>/sim/model/c172p/securing/pitot-cover-removable</property>
<not>
<property>/sim/current-view/internal</property>
</not>
</and>
<property>/nasal/tutorial/loaded</property>
</or>
</condition>
<command>set-tooltip</command>
<tooltip-id>remove-pitot-tube-cap</tooltip-id>
@ -7239,10 +7249,15 @@
<repeatable>false</repeatable>
<binding>
<condition>
<property>/sim/model/c172p/securing/pitot-cover-addable</property>
<not>
<property>/sim/current-view/internal</property>
</not>
<or>
<and>
<property>/sim/model/c172p/securing/pitot-cover-addable</property>
<not>
<property>/sim/current-view/internal</property>
</not>
</and>
<property>/nasal/tutorial/loaded</property>
</or>
</condition>
<command>property-assign</command>
<property alias="/params/securing/pitot-cover"/>
@ -7257,10 +7272,15 @@
<hovered>
<binding>
<condition>
<property>/sim/model/c172p/securing/pitot-cover-addable</property>
<not>
<property>/sim/current-view/internal</property>
</not>
<or>
<and>
<property>/sim/model/c172p/securing/pitot-cover-addable</property>
<not>
<property>/sim/current-view/internal</property>
</not>
</and>
<property>/nasal/tutorial/loaded</property>
</or>
</condition>
<command>set-tooltip</command>
<tooltip-id>put-pitot-tube-cap</tooltip-id>
@ -7367,9 +7387,12 @@
<repeatable>false</repeatable>
<binding>
<condition>
<not>
<property>/sim/current-view/internal</property>
</not>
<or>
<not>
<property>/sim/current-view/internal</property>
</not>
<property>/nasal/tutorial/loaded</property>
</or>
</condition>
<command>property-assign</command>
<property>/sim/model/c172p/securing/chock</property>
@ -7380,9 +7403,12 @@
<binding>
<condition>
<property>/sim/model/c172p/securing/chock</property>
<not>
<property>/sim/current-view/internal</property>
</not>
<or>
<not>
<property>/sim/current-view/internal</property>
</not>
<property>/nasal/tutorial/loaded</property>
</or>
</condition>
<command>set-tooltip</command>
<tooltip-id>remove-wheel-chock</tooltip-id>
@ -7399,10 +7425,15 @@
<repeatable>false</repeatable>
<binding>
<condition>
<property>/sim/model/c172p/securing/chock-addable</property>
<not>
<property>/sim/current-view/internal</property>
</not>
<or>
<and>
<property>/sim/model/c172p/securing/chock-addable</property>
<not>
<property>/sim/current-view/internal</property>
</not>
</and>
<property>/nasal/tutorial/loaded</property>
</or>
</condition>
<command>property-assign</command>
<property>sim/model/c172p/securing/chock</property>
@ -7413,9 +7444,15 @@
<binding>
<condition>
<property>/sim/model/c172p/securing/chock-addable</property>
<not>
<property>/sim/current-view/internal</property>
</not>
<or>
<and>
<property>/sim/model/c172p/securing/chock-addable</property>
<not>
<property>/sim/current-view/internal</property>
</not>
</and>
<property>/nasal/tutorial/loaded</property>
</or>
</condition>
<command>set-tooltip</command>
<tooltip-id>secure-with-wheel-chock</tooltip-id>
@ -7451,9 +7488,12 @@
<repeatable>false</repeatable>
<binding>
<condition>
<not>
<property>/sim/current-view/internal</property>
</not>
<or>
<not>
<property>/sim/current-view/internal</property>
</not>
<property>/nasal/tutorial/loaded</property>
</or>
</condition>
<command>property-assign</command>
<property alias="/params/securing/tiedowns/left/visible"/>
@ -7464,9 +7504,12 @@
<binding>
<condition>
<property alias="/params/securing/tiedowns/left/visible"/>
<not>
<property>/sim/current-view/internal</property>
</not>
<or>
<not>
<property>/sim/current-view/internal</property>
</not>
<property>/nasal/tutorial/loaded</property>
</or>
</condition>
<command>set-tooltip</command>
<tooltip-id>remove-left-tiedowns</tooltip-id>
@ -7479,9 +7522,10 @@
<object-name>TiedownHotSpotLeft</object-name>
<condition>
<property>/sim/model/c172p/securing/tiedownL-addable</property>
<not>
<or>
<property>/sim/current-view/internal</property>
</not>
<property>/nasal/tutorial/loaded</property>
</or>
</condition>
</animation>
<animation>
@ -7492,10 +7536,15 @@
<repeatable>false</repeatable>
<binding>
<condition>
<property>/sim/model/c172p/securing/tiedownL-addable</property>
<not>
<property>/sim/current-view/internal</property>
</not>
<or>
<and>
<property>/sim/model/c172p/securing/tiedownL-addable</property>
<not>
<property>/sim/current-view/internal</property>
</not>
</and>
<property>/nasal/tutorial/loaded</property>
</or>
</condition>
<command>property-assign</command>
<property alias="/params/securing/tiedowns/left/visible"/>
@ -7505,10 +7554,15 @@
<hovered>
<binding>
<condition>
<property>/sim/model/c172p/securing/tiedownL-addable</property>
<not>
<property>/sim/current-view/internal</property>
</not>
<or>
<and>
<property>/sim/model/c172p/securing/tiedownL-addable</property>
<not>
<property>/sim/current-view/internal</property>
</not>
</and>
<property>/nasal/tutorial/loaded</property>
</or>
</condition>
<command>set-tooltip</command>
<tooltip-id>secure-with-left-tiedowns</tooltip-id>
@ -7544,9 +7598,12 @@
<repeatable>false</repeatable>
<binding>
<condition>
<not>
<property>/sim/current-view/internal</property>
</not>
<or>
<not>
<property>/sim/current-view/internal</property>
</not>
<property>/nasal/tutorial/loaded</property>
</or>
</condition>
<command>property-assign</command>
<property alias="/params/securing/tiedowns/right/visible"/>
@ -7557,9 +7614,12 @@
<binding>
<condition>
<property alias="/params/securing/tiedowns/right/visible"/>
<not>
<property>/sim/current-view/internal</property>
</not>
<or>
<not>
<property>/sim/current-view/internal</property>
</not>
<property>/nasal/tutorial/loaded</property>
</or>
</condition>
<command>set-tooltip</command>
<tooltip-id>remove-right-tiedowns</tooltip-id>
@ -7572,9 +7632,10 @@
<object-name>TiedownHotSpotRight</object-name>
<condition>
<property>/sim/model/c172p/securing/tiedownR-addable</property>
<not>
<or>
<property>/sim/current-view/internal</property>
</not>
<property>/nasal/tutorial/loaded</property>
</or>
</condition>
</animation>
<animation>
@ -7585,10 +7646,15 @@
<repeatable>false</repeatable>
<binding>
<condition>
<property>/sim/model/c172p/securing/tiedownR-addable</property>
<not>
<property>/sim/current-view/internal</property>
</not>
<or>
<and>
<property>/sim/model/c172p/securing/tiedownR-addable</property>
<not>
<property>/sim/current-view/internal</property>
</not>
</and>
<property>/nasal/tutorial/loaded</property>
</or>
</condition>
<command>property-assign</command>
<property alias="/params/securing/tiedowns/right/visible"/>
@ -7598,10 +7664,15 @@
<hovered>
<binding>
<condition>
<property>/sim/model/c172p/securing/tiedownR-addable</property>
<not>
<property>/sim/current-view/internal</property>
</not>
<or>
<and>
<property>/sim/model/c172p/securing/tiedownR-addable</property>
<not>
<property>/sim/current-view/internal</property>
</not>
</and>
<property>/nasal/tutorial/loaded</property>
</or>
</condition>
<command>set-tooltip</command>
<tooltip-id>secure-with-right-tiedowns</tooltip-id>
@ -7637,9 +7708,12 @@
<repeatable>false</repeatable>
<binding>
<condition>
<not>
<property>/sim/current-view/internal</property>
</not>
<or>
<not>
<property>/sim/current-view/internal</property>
</not>
<property>/nasal/tutorial/loaded</property>
</or>
</condition>
<command>property-assign</command>
<property alias="/params/securing/tiedowns/tail/visible"/>
@ -7650,9 +7724,12 @@
<binding>
<condition>
<property alias="/params/securing/tiedowns/tail/visible"/>
<not>
<property>/sim/current-view/internal</property>
</not>
<or>
<not>
<property>/sim/current-view/internal</property>
</not>
<property>/nasal/tutorial/loaded</property>
</or>
</condition>
<command>set-tooltip</command>
<tooltip-id>remove-tail-tiedowns</tooltip-id>
@ -7665,9 +7742,10 @@
<object-name>TiedownHotSpotTail</object-name>
<condition>
<property>/sim/model/c172p/securing/tiedownT-addable</property>
<not>
<or>
<property>/sim/current-view/internal</property>
</not>
<property>/nasal/tutorial/loaded</property>
</or>
</condition>
</animation>
<animation>
@ -7678,10 +7756,15 @@
<repeatable>false</repeatable>
<binding>
<condition>
<property>/sim/model/c172p/securing/tiedownT-addable</property>
<not>
<property>/sim/current-view/internal</property>
</not>
<or>
<and>
<property>/sim/model/c172p/securing/tiedownT-addable</property>
<not>
<property>/sim/current-view/internal</property>
</not>
</and>
<property>/nasal/tutorial/loaded</property>
</or>
</condition>
<command>property-assign</command>
<property alias="/params/securing/tiedowns/tail/visible"/>
@ -7691,10 +7774,15 @@
<hovered>
<binding>
<condition>
<property>/sim/model/c172p/securing/tiedownT-addable</property>
<not>
<property>/sim/current-view/internal</property>
</not>
<or>
<and>
<property>/sim/model/c172p/securing/tiedownT-addable</property>
<not>
<property>/sim/current-view/internal</property>
</not>
</and>
<property>/nasal/tutorial/loaded</property>
</or>
</condition>
<command>set-tooltip</command>
<tooltip-id>secure-with-tail-tiedowns</tooltip-id>
@ -8167,5 +8255,72 @@
</binding>
</hovered>
</animation>
<model>
<name>extinguisher</name>
<path>Interior/FE-ELT/fe.xml</path>
<offsets>
<x-m>-1.3</x-m>
<y-m>0.15</y-m>
<z-m>-0.2</z-m>
<roll-deg>-90.0</roll-deg>
<heading-deg>0.0</heading-deg>
</offsets>
</model>
<animation>
<type>select</type>
<object-name>extinguisher</object-name>
<condition>
<and>
<not-equals>
<property alias="/params/bushkit"/>
<value>3</value>
</not-equals>
<not-equals>
<property alias="/params/bushkit"/>
<value>4</value>
</not-equals>
</and>
</condition>
</animation>
<model>
<name>extinguisher-amphibious</name>
<path>Interior/FE-ELT/fe2.xml</path>
<offsets>
<x-m>-1.3</x-m>
<y-m>-0.075</y-m>
<z-m>-0.2</z-m>
<roll-deg>-90.0</roll-deg>
<heading-deg>0.0</heading-deg>
</offsets>
</model>
<animation>
<type>select</type>
<object-name>extinguisher-amphibious</object-name>
<condition>
<or>
<equals>
<property alias="/params/bushkit"/>
<value>3</value>
</equals>
<equals>
<property alias="/params/bushkit"/>
<value>4</value>
</equals>
</or>
</condition>
</animation>
<model>
<name>elt</name>
<path>Interior/FE-ELT/elt.xml</path>
<offsets>
<x-m>-1.30</x-m>
<y-m>0.0</y-m>
<z-m>-0.3</z-m>
<heading-deg>0.0</heading-deg>
</offsets>
</model>
</PropertyList>

View file

@ -1,6 +1,17 @@
List of features and bug fixes
==============================
Version 2016.4
--------------
* Improvements to the oil management (better function, oil now changes
CG and weight of the plane, etc.)
* New ALS external view navigation, taxi and landing lights
* Added fire extinguisher and ELT models
* Bug fix for flashlight effect not illuminating the baggages
* Bug fix for interaction with external items in one of the tutorials
* Improvements to the autostart function
Version 2016.3
--------------

View file

@ -9,8 +9,14 @@ var autostart = func (msg=1) {
return;
}
# Reset battery charge and circuit breakers
electrical.reset_battery_and_circuit_breakers();
# Filling fuel tanks
setprop("/consumables/fuel/tank[0]/selected", 1);
setprop("/consumables/fuel/tank[1]/selected", 1);
# Setting levers and switches for startup
setprop("/controls/switches/magnetos", 3);
setprop("/controls/engines/current-engine/throttle", 0.2);
setprop("/controls/engines/current-engine/mixture", 0.95);
@ -19,13 +25,12 @@ var autostart = func (msg=1) {
setprop("/controls/switches/master-alt", 1);
setprop("/controls/switches/master-avionics", 1);
# Setting lights
setprop("/controls/lighting/nav-lights", 1);
setprop("/controls/lighting/strobe", 1);
setprop("/controls/lighting/beacon", 1);
setprop("/consumables/fuel/tank[0]/selected", 1);
setprop("/consumables/fuel/tank[1]/selected", 1);
# Setting flaps to 0
setprop("/controls/flight/flaps", 0.0);
# Set the altimeter
@ -44,6 +49,7 @@ var autostart = func (msg=1) {
setprop("/sim/model/c172p/securing/tiedownR-visible", 0);
setprop("/sim/model/c172p/securing/tiedownT-visible", 0);
# Removing any contamination from water
setprop("/consumables/fuel/tank[0]/water-contamination", 0.0);
setprop("/consumables/fuel/tank[1]/water-contamination", 0.0);
@ -60,6 +66,11 @@ var autostart = func (msg=1) {
};
};
# removing any ice from the carburetor
setprop("/engines/active-engine/carb_ice", 0.0);
setprop("/engines/active-engine/carb_icing_rate", 0.0);
setprop("/engines/active-engine/volumetric-efficiency-factor", 1.0);
# Checking for minimal fuel level
var fuel_level_left = getprop("/consumables/fuel/tank[0]/level-norm");
var fuel_level_right = getprop("/consumables/fuel/tank[1]/level-norm");

View file

@ -9,58 +9,12 @@
# Initialize internal values
#
var battery = nil;
var alternator = nil;
var last_time = 0.0;
var vbus_volts = 0.0;
var ebus1_volts = 0.0;
var ebus2_volts = 0.0;
var ammeter_ave = 0.0;
##
# Initialize the electrical system
#
var init_electrical = func {
battery = BatteryClass.new();
alternator = AlternatorClass.new();
# Request that the update function be called next frame
settimer(update_electrical, 0);
print("Electrical system initialized");
# checking if battery should be automatically recharged
if (!getprop("/systems/electrical/save-battery-charge")) {
battery.reset_to_full_charge();
};
}
var reset_battery_and_circuit_breakers = func {
# Charge battery to 100 %
battery.reset_to_full_charge();
# Reset circuit breakers
setprop("/controls/circuit-breakers/master", 1);
setprop("/controls/circuit-breakers/flaps", 1);
setprop("/controls/circuit-breakers/pitot-heat", 1);
setprop("/controls/circuit-breakers/instr", 1);
setprop("/controls/circuit-breakers/intlt", 1);
setprop("/controls/circuit-breakers/navlt", 1);
setprop("/controls/circuit-breakers/landing", 1);
setprop("/controls/circuit-breakers/bcnlt", 1);
setprop("/controls/circuit-breakers/strobe", 1);
setprop("/controls/circuit-breakers/turn-coordinator", 1);
setprop("/controls/circuit-breakers/radio1", 1);
setprop("/controls/circuit-breakers/radio2", 1);
setprop("/controls/circuit-breakers/radio3", 1);
setprop("/controls/circuit-breakers/radio4", 1);
setprop("/controls/circuit-breakers/radio5", 1);
setprop("/controls/circuit-breakers/autopilot", 1);
}
##
# Battery model class.
#
@ -205,29 +159,70 @@ AlternatorClass.get_output_amps = func {
return me.ideal_amps * factor;
}
var battery = BatteryClass.new();
var alternator = AlternatorClass.new();
var reset_battery_and_circuit_breakers = func {
# Charge battery to 100 %
battery.reset_to_full_charge();
# Reset circuit breakers
setprop("/controls/circuit-breakers/master", 1);
setprop("/controls/circuit-breakers/flaps", 1);
setprop("/controls/circuit-breakers/pitot-heat", 1);
setprop("/controls/circuit-breakers/instr", 1);
setprop("/controls/circuit-breakers/intlt", 1);
setprop("/controls/circuit-breakers/navlt", 1);
setprop("/controls/circuit-breakers/landing", 1);
setprop("/controls/circuit-breakers/bcnlt", 1);
setprop("/controls/circuit-breakers/strobe", 1);
setprop("/controls/circuit-breakers/turn-coordinator", 1);
setprop("/controls/circuit-breakers/radio1", 1);
setprop("/controls/circuit-breakers/radio2", 1);
setprop("/controls/circuit-breakers/radio3", 1);
setprop("/controls/circuit-breakers/radio4", 1);
setprop("/controls/circuit-breakers/radio5", 1);
setprop("/controls/circuit-breakers/autopilot", 1);
}
##
# This is the main electrical system update function.
#
var update_electrical = func {
var time = getprop("/sim/time/elapsed-sec");
var dt = time - last_time;
last_time = time;
var ElectricalSystemUpdater = {
new : func {
var m = {
parents: [ElectricalSystemUpdater]
};
# Request that the update function be called each frame
m.loop = updateloop.UpdateLoop.new(components: [m], update_period: 0.0, enable: 0);
return m;
},
update_virtual_bus( dt );
enable: func {
me.loop.reset();
me.loop.enable();
},
# Request that the update function be called again next frame
settimer(update_electrical, 0);
}
disable: func {
me.loop.disable();
},
reset: func {
# Do nothing
},
update: func (dt) {
update_virtual_bus(dt);
}
};
##
# Model the system of relays and connections that join the battery,
# alternator, starter, master/alt switches, external power supply.
#
var update_virtual_bus = func( dt ) {
var update_virtual_bus = func (dt) {
var serviceable = getprop("/systems/electrical/serviceable");
var external_volts = 0.0;
var load = 0.0;
@ -505,11 +500,6 @@ var avionics_bus_1 = func() {
return load;
}
# Setup a timer based call to initialized the electrical system as
# soon as possible.
settimer(init_electrical, 0);
############################ Utility function
var flapsDown = controls.flapsDown;
@ -517,3 +507,19 @@ controls.flapsDown = func(v) {
flapsDown(v);
c172p.click("flaps");
};
##
# Initialize the electrical system
#
var system_updater = ElectricalSystemUpdater.new();
setlistener("/sim/signals/fdm-initialized", func {
# checking if battery should be automatically recharged
if (!getprop("/systems/electrical/save-battery-charge")) {
battery.reset_to_full_charge();
};
system_updater.enable();
print("Electrical system initialized");
});

View file

@ -89,41 +89,102 @@ var primerTimer = maketimer(5, func {
# ========== oil consumption ======================
var oil_consumption = maketimer(1.0, func {
if (getprop("/engines/active-engine/oil_consumption_allowed"))
var oil_level = getprop("/engines/active-engine/oil-level");
else
var oil_level = 7.0;
var rpm = getprop("/engines/active-engine/rpm");
# Quadratic formula which outputs 1.0 for input 2300 RPM (cruise value),
# 0.6 for 700 RPM (idle) and 1.2 for 2700 RPM (max)
var rpm_factor = 0.00000012 * math.pow(rpm, 2) - 0.0001 * rpm + 0.62;
var oil_level = getprop("/engines/active-engine/oil-level");
if (getprop("/controls/engines/active-engine") == 0)
var oil_full = 7;
if (getprop("/controls/engines/active-engine") == 1)
var oil_full = 8;
var oil_lacking = oil_full - oil_level;
setprop("/engines/active-engine/oil-lacking", oil_lacking);
if (getprop("/engines/active-engine/oil_consumption_allowed")) {
var rpm = getprop("/engines/active-engine/rpm");
# Quadratic formula which outputs 1.0 for input 2300 RPM (cruise value),
# 0.6 for 700 RPM (idle) and 1.2 for 2700 RPM (max)
var rpm_factor = 0.00000012 * math.pow(rpm, 2) - 0.0001 * rpm + 0.62;
# Consumption rate defined as 1.5 quarter per 10 hours (36000 seconds)
# at cruise RPM
var consumption_rate = 1.5 / 36000;
if (getprop("/engines/active-engine/running")) {
oil_level = oil_level - consumption_rate * rpm_factor;
setprop("/engines/active-engine/oil-level", oil_level);
}
# Consumption rate defined as 1.5 quarter per 10 hours (36000 seconds)
# at cruise RPM
var consumption_rate = 1.5 / 36000;
var low_oil_pressure_factor = 1.0;
var low_oil_temperature_factor = 1.0;
var low_oil_pressure_factor = 1.0;
var low_oil_temperature_factor = 1.0;
if (getprop("/engines/active-engine/running")) {
oil_level = oil_level - consumption_rate * rpm_factor;
setprop("/engines/active-engine/oil-level", oil_level);
# If oil gets low (< 5.0), pressure should drop and temperature should rise
var oil_level_limited = std.min(oil_level, 5.0);
# Should give 1.0 for oil_level = 5 and 0.1 for oil_level 4.92,
# which is the min before the engine stops
low_oil_pressure_factor = 11.25 * oil_level_limited - 55.25;
# Should give 1.0 for oil_level = 5 and 1.5 for oil_level 4.92
low_oil_temperature_factor = -6.25 * oil_level_limited + 32.25;
setprop("/engines/active-engine/low-oil-pressure-factor", low_oil_pressure_factor);
setprop("/engines/active-engine/low-oil-temperature-factor", low_oil_temperature_factor);
}
# If oil gets low (< 5.0), pressure should drop and temperature should rise
var oil_level_limited = std.min(oil_level, 5.0);
else {
if (getprop("/controls/engines/active-engine") == 0)
setprop("/engines/active-engine/oil-level", 7);
if (getprop("/controls/engines/active-engine") == 1)
setprop("/engines/active-engine/oil-level", 8);
}
});
# Should give 1.0 for oil_level = 5 and 0.1 for oil_level 4.92,
# which is the min before the engine stops
low_oil_pressure_factor = 11.25 * oil_level_limited - 55.25;
# ========== carburetor icing ======================
# Should give 1.0 for oil_level = 5 and 1.5 for oil_level 4.92
low_oil_temperature_factor = -6.25 * oil_level_limited + 32.25;
var carb_icing_function = maketimer(1.0, func {
if (getprop("/engines/active-engine/carb_icing_allowed")) {
var rpm = getprop("/engines/active-engine/rpm");
var dewpointC = getprop("/environment/dewpoint-degc");
var dewpointF = dewpointC * 9.0 / 5.0 + 32;
var airtempF = getprop("/environment/temperature-degf");
var oil_temp = getprop("/engines/active-engine/oil-temperature-degf");
# the formula below attempts to modle the graph found in the POH, using RPM, airtempF and dewpointF as variables
var factorX = 13.2 - 3.2 * math.atan2 ( ((rpm - 2000.0) * 0.008), 1);
var factorY = 7.0 - 2.0 * math.atan2 ( ((rpm - 2000.0) * 0.008), 1);
var carb_icing_formula = 0.01 * (math.exp( math.pow((0.6 * airtempF + 0.3 * dewpointF - 42.0),2) / (-2 * math.pow(factorX,2))) * math.exp( math.pow((0.3 * airtempF - 0.6 * dewpointF + 14.0),2) / (-2 * math.pow(factorY,2))) - 0.2);
# if carb heat on, the rate decreses by a certain amount
if (getprop("/engines/active-engine/running") and getprop("/controls/engines/current-engine/carb-heat"))
var carb_heat_rate = -0.01;
else
var carb_heat_rate = 0.0;
# carb icing rate is multiplied by an oil temp factor so a cold engine doens't accumulate ice
var oil_temp_factor = (oil_temp - 120) / 100;
oil_temp_factor = std.max(0.0, std.min(oil_temp_factor, 1.0));
var carb_icing_rate = oil_temp_factor * (carb_icing_formula + carb_heat_rate);
setprop("/engines/active-engine/low-oil-pressure-factor", low_oil_pressure_factor);
setprop("/engines/active-engine/low-oil-temperature-factor", low_oil_temperature_factor);
var carb_ice = getprop("/engines/active-engine/carb_ice");
carb_ice = carb_ice + carb_icing_rate;
carb_ice = std.max(0.0, std.min(carb_ice, 1.0));
# this property is used to lower the RPM of the engine as ice accumulates
var vol_eff_factor = 1.0 - 2.218 * carb_ice;
setprop("/engines/active-engine/carb_ice", carb_ice);
setprop("/engines/active-engine/carb_icing_rate", carb_icing_rate);
setprop("/engines/active-engine/volumetric-efficiency-factor", vol_eff_factor);
setprop("/engines/active-engine/oil_temp_factor", oil_temp_factor);
}
else {
setprop("/engines/active-engine/carb_ice", 0.0);
setprop("/engines/active-engine/carb_icing_rate", 0.0);
setprop("/engines/active-engine/volumetric-efficiency-factor", 1.0);
setprop("/engines/active-engine/oil_temp_factor", 0.0);
};
});
# ========== engine coughing ======================
@ -262,5 +323,6 @@ setlistener("/sim/signals/fdm-initialized", func {
var engine_timer = maketimer(UPDATE_PERIOD, func { update(); });
engine_timer.start();
oil_consumption.start();
carb_icing_function.start();
engine_coughing.start();
});

View file

@ -0,0 +1,242 @@
# provides relative vectors from eye-point to aircraft lights
# in east/north/up coordinates the renderer uses
var light_manager = {
lat_to_m: 110952.0,
lon_to_m: 0.0,
light1_xpos: 0.0,
light1_ypos: 0.0,
light1_zpos: 0.0,
light1_r: 0.0,
light1_g: 0.0,
light1_b: 0.0,
light1_size: 0.0,
light1_stretch: 0.0,
light2_xpos: 0.0,
light2_ypos: 0.0,
light2_zpos: 0.0,
light2_r: 0.0,
light2_g: 0.0,
light2_b: 0.0,
light2_size: 0.0,
light2_stretch: 0.0,
light3_xpos: 0.0,
light3_ypos: 0.0,
light3_zpos: 0.0,
light3_r: 0.0,
light3_g: 0.0,
light3_b: 0.0,
light3_size: 0.0,
light4_xpos: 0.0,
light4_ypos: 0.0,
light4_zpos: 0.0,
light4_r: 0.0,
light4_g: 0.0,
light4_b: 0.0,
light4_size: 0.0,
init: func {
# define your lights here
# light 1 ########
# offsets to aircraft center
me.light1_xpos = 30.0;
me.light1_ypos = 1.0;
me.light1_zpos = 2.0;
# color values
me.light1_r = 0.5;
me.light1_g = 0.5;
me.light1_b = 0.5;
# spot size
me.light1_size = 15.0;
me.light1_stretch = 1.25;
# light 2 ########
# offsets to aircraft center
me.light2_xpos = 15.0;
me.light2_ypos = -1.0;
me.light2_zpos = 2.0;
# color values
me.light2_r = 0.4;
me.light2_g = 0.4;
me.light2_b = 0.4;
# spot size
me.light2_size = 16.0;
me.light2_stretch = 1.5;
# light 3 ########
# offsets to aircraft center
me.light3_ypos = -6.0;
me.light3_zpos = 2.0;
# color values
me.light3_r = 0.0;
me.light3_g = 0.05;
me.light3_b = 0.0;
# spot size
me.light3_size = 5.0;
# light 4 ########
# offsets to aircraft center
me.light4_ypos = 6.0;
me.light4_zpos = 2.0;
# color values
me.light4_r = 0.05;
me.light4_g = 0.0;
me.light4_b = 0.0;
# spot size
me.light4_size = 5.0;
me.light_manager_timer = maketimer(0.0, func{me.update()});
me.start();
},
start: func {
setprop("/sim/rendering/als-secondary-lights/num-lightspots", 4);
setprop("/sim/rendering/als-secondary-lights/lightspot/size", me.light1_size);
setprop("/sim/rendering/als-secondary-lights/lightspot/size[1]", me.light2_size);
setprop("/sim/rendering/als-secondary-lights/lightspot/size[2]", me.light3_size);
setprop("/sim/rendering/als-secondary-lights/lightspot/size[3]", me.light4_size);
setprop("/sim/rendering/als-secondary-lights/lightspot/stretch", me.light1_stretch);
setprop("/sim/rendering/als-secondary-lights/lightspot/stretch[1]", me.light2_stretch);
me.light_manager_timer.start();
},
stop: func {
me.light_manager_timer.stop();
},
update: func {
var apos = geo.aircraft_position();
var vpos = geo.viewer_position();
me.lon_to_m = math.cos(apos.lat()*math.pi/180.0) * me.lat_to_m;
var heading = getprop("/orientation/heading-deg") * math.pi/180.0;
var lat = apos.lat();
var lon = apos.lon();
var alt = apos.alt();
var sh = math.sin(heading);
var ch = math.cos(heading);
# light 1 position
var alt_agl = getprop("/position/altitude-agl-ft");
var proj_x = alt_agl;
var proj_z = alt_agl/10.0;
apos.set_lat(lat + ((me.light1_xpos + proj_x) * ch + me.light1_ypos * sh) / me.lat_to_m);
apos.set_lon(lon + ((me.light1_xpos + proj_x)* sh - me.light1_ypos * ch) / me.lon_to_m);
var delta_x = (apos.lat() - vpos.lat()) * me.lat_to_m;
var delta_y = -(apos.lon() - vpos.lon()) * me.lon_to_m;
var delta_z = apos.alt()- proj_z - vpos.alt();
setprop("/sim/rendering/als-secondary-lights/lightspot/eyerel-x-m", delta_x);
setprop("/sim/rendering/als-secondary-lights/lightspot/eyerel-y-m", delta_y);
setprop("/sim/rendering/als-secondary-lights/lightspot/eyerel-z-m", delta_z);
setprop("/sim/rendering/als-secondary-lights/lightspot/dir", heading);
# light 2 position
var alt_agl = getprop("/position/altitude-agl-ft");
var proj_x = alt_agl;
var proj_z = alt_agl/10.0;
apos.set_lat(lat + ((me.light2_xpos + proj_x) * ch + me.light2_ypos * sh) / me.lat_to_m);
apos.set_lon(lon + ((me.light2_xpos + proj_x)* sh - me.light2_ypos * ch) / me.lon_to_m);
var delta_x = (apos.lat() - vpos.lat()) * me.lat_to_m;
var delta_y = -(apos.lon() - vpos.lon()) * me.lon_to_m;
var delta_z = apos.alt()- proj_z - vpos.alt();
setprop("/sim/rendering/als-secondary-lights/lightspot/eyerel-x-m[1]", delta_x);
setprop("/sim/rendering/als-secondary-lights/lightspot/eyerel-y-m[1]", delta_y);
setprop("/sim/rendering/als-secondary-lights/lightspot/eyerel-z-m[1]", delta_z);
setprop("/sim/rendering/als-secondary-lights/lightspot/dir", heading);
# light 3 position
apos.set_lat(lat + (me.light3_xpos * ch + me.light3_ypos * sh) / me.lat_to_m);
apos.set_lon(lon + (me.light3_xpos * sh - me.light3_ypos * ch) / me.lon_to_m);
delta_x = (apos.lat() - vpos.lat()) * me.lat_to_m;
delta_y = -(apos.lon() - vpos.lon()) * me.lon_to_m;
delta_z = apos.alt() - vpos.alt();
setprop("/sim/rendering/als-secondary-lights/lightspot/eyerel-x-m[2]", delta_x);
setprop("/sim/rendering/als-secondary-lights/lightspot/eyerel-y-m[2]", delta_y);
setprop("/sim/rendering/als-secondary-lights/lightspot/eyerel-z-m[2]", delta_z);
# light 4 position
apos.set_lat(lat + (me.light4_xpos * ch + me.light4_ypos * sh) / me.lat_to_m);
apos.set_lon(lon + (me.light4_xpos * sh - me.light4_ypos * ch) / me.lon_to_m);
delta_x = (apos.lat() - vpos.lat()) * me.lat_to_m;
delta_y = -(apos.lon() - vpos.lon()) * me.lon_to_m;
delta_z = apos.alt() - vpos.alt();
setprop("/sim/rendering/als-secondary-lights/lightspot/eyerel-x-m[3]", delta_x);
setprop("/sim/rendering/als-secondary-lights/lightspot/eyerel-y-m[3]", delta_y);
setprop("/sim/rendering/als-secondary-lights/lightspot/eyerel-z-m[3]", delta_z);
},
switch_position: func(light, lightr, lightg, lightb) {
setprop("/sim/rendering/als-secondary-lights/lightspot/lightspot-r["~light~"]", lightr);
setprop("/sim/rendering/als-secondary-lights/lightspot/lightspot-g["~light~"]", lightg);
setprop("/sim/rendering/als-secondary-lights/lightspot/lightspot-b["~light~"]", lightb);
},
enable_or_disable: func (enable, light_num) {
if (enable) {
if (light_num == 0)
me.switch_position(light_num, me.light1_r, me.light1_g, me.light1_b);
if (light_num == 1)
me.switch_position(light_num, me.light2_r, me.light2_g, me.light2_b);
if (light_num == 2)
me.switch_position(light_num, me.light3_r, me.light3_g, me.light3_b);
if (light_num == 3)
me.switch_position(light_num, me.light4_r, me.light4_g, me.light4_b);
} else {
me.switch_position(light_num, 0.0, 0.0, 0.0);
}
},
};
setlistener("/sim/signals/fdm-initialized", func {
light_manager.init();
setlistener("/sim/rendering/als-secondary-lights/use-landing-light-ext", func (node) {
light_manager.enable_or_disable(node.getValue(), 0);
}, 1, 0);
setlistener("/sim/rendering/als-secondary-lights/use-taxi-light-ext", func (node) {
light_manager.enable_or_disable(node.getValue(), 1);
}, 1, 0);
setlistener("/sim/model/c172p/lighting/nav-lights", func (node) {
light_manager.enable_or_disable(node.getValue(), 2);
light_manager.enable_or_disable(node.getValue(), 3);
}, 1, 0);
});

View file

@ -97,6 +97,36 @@
</output>
</logic>
<logic>
<name>ALS Lighting Exterior Landing</name>
<input>
<and>
<not>
<property>/sim/current-view/internal</property>
</not>
<property>/sim/model/c172p/lighting/landing</property>
</and>
</input>
<output>
<property>/sim/rendering/als-secondary-lights/use-landing-light-ext</property>
</output>
</logic>
<logic>
<name>ALS Lighting Exterior Taxi</name>
<input>
<and>
<not>
<property>/sim/current-view/internal</property>
</not>
<property>/sim/model/c172p/lighting/taxi</property>
</and>
</input>
<output>
<property>/sim/rendering/als-secondary-lights/use-taxi-light-ext</property>
</output>
</logic>
<filter>
<name>Instruments Lighting</name>
<type>gain</type>

View file

@ -2,8 +2,8 @@
<!--
***********************************************************************************
c172p-detailed, May 2015
Extra weight and drag due to bush wheels, floats and 180 hp engine
c172p-detailed, May 2015... Nov. 2016
Extra weight and drag due to bush wheels, floats and aircraft with 180 hp engine
***********************************************************************************
-->
@ -59,8 +59,9 @@ Extra weight and drag due to bush wheels, floats and 180 hp engine
</switch>
<switch name="extra-weight-180hp">
<!-- Aircraft **Basic Empty Weight** difference. 160 hp: 1467 lbs, 180 hp: 1642 lbs -->
<default value="0"/>
<test logic="AND" value="142">
<test logic="AND" value="175">
/controls/engines/active-engine EQ 1
</test>
<output>/fdm/jsbsim/inertia/pointmass-weight-lbs[15]</output>

View file

@ -26,11 +26,12 @@
<channel name="oil">
<fcs_function name="extra-weight-oil">
<fcs_function name="consumed-oil-weight">
<function>
<product>
<property>/engines/active-engine/oil-level</property>
<property>/engines/active-engine/oil-lacking</property>
<value>1.7686</value>
<value>-1</value>
</product>
</function>
<output>/fdm/jsbsim/inertia/pointmass-weight-lbs[16]</output>

View file

@ -506,6 +506,10 @@
<property>/engines/active-engine/oil-level</property>
<value>4.92</value>
</less-than>
<greater-than-equals>
<property>/engines/active-engine/carb_ice</property>
<value>0.32</value>
</greater-than-equals>
</or>
</input>
<output>
@ -564,11 +568,47 @@
<value>4.925</value>
</less-than>
</and>
<and>
<greater-than-equals>
<property>/engines/active-engine/carb_ice</property>
<value>0.3</value>
</greater-than-equals>
<less-than>
<property>/engines/active-engine/carb_ice</property>
<value>0.32</value>
</less-than>
</and>
</or>
</input>
<output>
<property>/engines/active-engine/coughing</property>
</output>
</logic>
<!-- ============================================================== -->
<!-- Carburetor Icing drops RPM -->
<!-- ============================================================== -->
<filter>
<name>Engine 160 HP Carb Icing Factor</name>
<type>gain</type>
<input>
<property>/engines/active-engine/volumetric-efficiency-factor</property>
</input>
<output>
<property>/fdm/jsbsim/propulsion/engine[0]/volumetric-efficiency</property>
</output>
</filter>
<filter>
<name>Engine 180 HP Carb Icing Factor</name>
<type>gain</type>
<input>
<property>/engines/active-engine/volumetric-efficiency-factor</property>
</input>
<output>
<property>/fdm/jsbsim/propulsion/engine[1]/volumetric-efficiency</property>
</output>
</filter>
</PropertyList>

View file

@ -1130,6 +1130,10 @@ This tutorial will guide you through the Preflight inspection
</step>
<step>
<set>
<property>/nasal/tutorial/loaded</property>
<value>false</value>
</set>
<message>Perfect, you're finished. The aircraft is in a good condition, and you're ready to start the engine.</message>
<view>
<heading-offset-deg>0.0</heading-offset-deg>

View file

@ -568,13 +568,13 @@ Starting this tutorial with the engine not running will NOT work!
<message>To protect the Pitot tube, you have to cover it!</message>
<condition>
<not>
<property>sim/model/c172p/pitot-cover</property>
<property>sim/model/c172p/securing/pitot-cover-visible</property>
</not>
</condition>
</error>
<exit>
<condition>
<property>sim/model/c172p/pitot-cover</property>
<property>sim/model/c172p/securing/pitot-cover-visible</property>
</condition>
</exit>
</step>
@ -600,13 +600,13 @@ Starting this tutorial with the engine not running will NOT work!
<message>You have to secure the aircraft with the tiedowns!</message>
<condition>
<not>
<property>sim/model/c172p/tiedownL</property>
<property>sim/model/c172p/securing/tiedownL-visible</property>
</not>
</condition>
</error>
<exit>
<condition>
<property>sim/model/c172p/tiedownL</property>
<property>sim/model/c172p/securing/tiedownL-visible</property>
</condition>
</exit>
</step>
@ -632,13 +632,13 @@ Starting this tutorial with the engine not running will NOT work!
<message>You must place the wheel chocks now!</message>
<condition>
<not>
<property>sim/model/c172p/chock</property>
<property>sim/model/c172p/securing/chock</property>
</not>
</condition>
</error>
<exit>
<condition>
<property>sim/model/c172p/chock</property>
<property>sim/model/c172p/securing/chock</property>
</condition>
</exit>
</step>
@ -664,13 +664,13 @@ Starting this tutorial with the engine not running will NOT work!
<message>You have to secure the aircraft with the tiedowns!</message>
<condition>
<not>
<property>sim/model/c172p/tiedownR</property>
<property>sim/model/c172p/securing/tiedownR-visible</property>
</not>
</condition>
</error>
<exit>
<condition>
<property>sim/model/c172p/tiedownR</property>
<property>sim/model/c172p/securing/tiedownR-visible</property>
</condition>
</exit>
</step>
@ -696,18 +696,22 @@ Starting this tutorial with the engine not running will NOT work!
<message>You have to secure the aircraft with the tiedowns!</message>
<condition>
<not>
<property>sim/model/c172p/tiedownT</property>
<property>sim/model/c172p/securing/tiedownT-visible</property>
</not>
</condition>
</error>
<exit>
<condition>
<property>sim/model/c172p/tiedownT</property>
<property>sim/model/c172p/securing/tiedownT-visible</property>
</condition>
</exit>
</step>
<step>
<set>
<property>/nasal/tutorial/loaded</property>
<value>false</value>
</set>
<message>Congratulations! You finally made it! Now let's go and have a beer...</message>
<view>
<heading-offset-deg>313.2</heading-offset-deg>

View file

@ -24,7 +24,7 @@
<property>/sim/model/c172p/sound/volume-boost-doors</property>
</volume>
<volume>
<offset>0.4</offset>
<offset>0.0592</offset>
</volume>
<reference-dist>5.0</reference-dist>
<max-dist>200.0</max-dist>
@ -50,7 +50,7 @@
<property>/sim/model/c172p/sound/volume-boost-doors</property>
</volume>
<volume>
<offset>0.5</offset>
<offset>0.0592</offset>
</volume>
<reference-dist>5.0</reference-dist>
<max-dist>200.0</max-dist>
@ -70,7 +70,7 @@
<property>/sim/model/c172p/sound/volume-boost-doors</property>
</volume>
<volume>
<offset>0.3</offset>
<offset>0.0592</offset>
</volume>
<reference-dist>5.0</reference-dist>
<max-dist>200.0</max-dist>
@ -90,7 +90,7 @@
<property>/sim/model/c172p/sound/volume-boost-doors</property>
</volume>
<volume>
<offset>0.3</offset>
<offset>0.0592</offset>
</volume>
<reference-dist>5.0</reference-dist>
<max-dist>200.0</max-dist>

View file

@ -55,7 +55,7 @@ http://forum.flightgear.org/viewtopic.php?f=4&t=25157
<author>Original by David Megginson, gsagostinho (Gilberto Agostinho), wlbragg (Wayne Bragg), Juanvvc (Juan Vera del Campo), onox, thevirtualfer, Dany93 (Daniel Dubreuil), dg-505 (Jonathan Schellhase), IAHM-COL (Israel Hernandez), tigert (Tuomas Kuosmanen), AndersG (Anders Gidenstam), wkitty42 (Waldo Kitty), algefaen</author>
<status>advanced production</status>
<aircraft-version>2016.3</aircraft-version>
<aircraft-version>2016.4</aircraft-version>
<rating>
<FDM type="int">4</FDM>
<systems type="int">5</systems>
@ -259,6 +259,7 @@ http://forum.flightgear.org/viewtopic.php?f=4&t=25157
<path>/sim/model/c172p/brake-parking</path>
<path>/sim/model/c172p/enable-fog-frost</path>
<path>/sim/model/c172p/garmin196-visible</path>
<path>/engines/active-engine/carb_icing_allowed</path>
<path>/engines/active-engine/oil_consumption_allowed</path>
<path>/engines/active-engine/oil-level</path>
<path>/fdm/jsbsim/settings/damage</path>
@ -628,7 +629,11 @@ http://forum.flightgear.org/viewtopic.php?f=4&t=25157
<crash-engine type="bool">false</crash-engine>
<kill-engine type="bool">false</kill-engine>
<oil-level type="double">7.0</oil-level>
<oil-lacking type="double">0.0</oil-lacking>
<oil_consumption_allowed type="bool">false</oil_consumption_allowed>
<carb_ice type="double">0.0</carb_ice>
<carb_icing_rate type="double">0.0</carb_icing_rate>
<carb_icing_allowed type="bool">false</carb_icing_allowed>
<auto-start type="bool">false</auto-start>
</active-engine>
@ -748,6 +753,7 @@ http://forum.flightgear.org/viewtopic.php?f=4&t=25157
<file>Nasal/engine.nas</file>
<file>Nasal/avionics.nas</file>
<file>Nasal/flashlight.nas</file>
<file>Nasal/light-manager.nas</file>
<!-- Damage Mod -->
<file>Nasal/physics.nas</file>
<file>Nasal/tiedowns.nas</file>

View file

@ -9,18 +9,10 @@
<author> Unknown </author>
<filecreationdate> 2002-01-01 </filecreationdate>
<version> $Id: c172p.xml,v 1.40 June 2015 $ </version>
<!-- experimental stall and spin, up to flat spin March 2014 -->
<!-- experimental stall and spin, up to flat spin March 2014, Dany93 (Daniel Dubreuil) -->
<!-- Source: http://forum.flightgear.org/viewtopic.php?f=25&t=21664&start=45 -->
<!-- this file with comments for stall and spin to help -->
<!-- further modifications for c172p-detailed 2015 -->
<!-- FOR TESTS, Two-engine and Propeller choice, dany june 2015-->
<!--
For 180 hp, engine[1]:
**Manually** set Internal Properties /controls/engines/engine[1]/magnetos = 3
better to set original magnetos to 0 (key)
do not use "s" (would start engine[0], 160 hp)
start with controls/engines/engine[1]/starter = 1 then back to 0, or Ctrl-click on "starter = ", twice to stop starter
-->
<!-- further modifications for c172p-detailed 2015 - 2016 -->
<description> Cessna C-172 </description>
</fileheader>
@ -49,6 +41,10 @@
</location>
</metrics>
<!--
Cessna 172P Skyhawk 1982 (160hp) POH p.6-10, Weight and Moment:
**Basic Empty** (= with full oil) 1467 lbs, 57300 lb-ins. Gives CG at 39.1 ins.
-->
<mass_balance>
<ixx unit="SLUG*FT2"> 948 </ixx>
<iyy unit="SLUG*FT2"> 1346 </iyy>
@ -56,9 +52,9 @@
<ixy unit="SLUG*FT2"> -0 </ixy>
<ixz unit="SLUG*FT2"> -0 </ixz>
<iyz unit="SLUG*FT2"> -0 </iyz>
<emptywt unit="LBS"> 1500 </emptywt>
<emptywt unit="LBS"> 1467 </emptywt>
<location name="CG" unit="IN">
<x> 41 </x>
<x> 39.1 </x>
<y> 0 </y>
<z> 36.5 </z>
</location>
@ -191,24 +187,24 @@
</location>
</pointmass>
<!-- Extra weight due to 180 hp engine, pointmass [15]; managed by Systems/bushkit.xml -->
<!-- x location for empty CG at 38.1", cf. 552SP POH p.6-12, Weight and moment tabulation: 1642 lbs, 62600 lb-ins -->
<!-- Extra weight for the aircraft with 180 hp engine, **Basic empty** (= with full oil), pointmass [15]; managed by Systems/bushkit.xml -->
<!-- for empty aircraft CG at x = 38.1 ins, cf. 172S - N552SP POH (1998) p.6-12, Weight and moment tabulation: 1642 lbs, 62600 lb-ins -->
<pointmass name="extra weight 180hp">
<weight unit="LBS"> 0 </weight>
<location name="POINTMASS" unit="IN">
<x> 7.75 </x>
<x> 30.3 </x>
<y> 0 </y>
<z> 26.6 </z>
</location>
</pointmass>
<!-- Extra weight due to oil quantity -->
<pointmass name="extra weight oil">
<!-- Loss of weight due to lacking oil, pointmass [16]. engine.nas, c172p-engine.xml -->
<pointmass name="lacking oil weight">
<weight unit="LBS"> 0 </weight>
<location name="POINTMASS" unit="IN">
<x> -0.886 </x>
<y> 0.316 </y>
<z> 0.082 </z>
<x> -19.7 </x>
<y> 0 </y>
<z> 26.6 </z>
</location>
</pointmass>
</mass_balance>
@ -1351,7 +1347,6 @@
0.0000 0.0000
0.3490 -0.0322
</tableData>
<value>0.25</value>
</table>
<!--
stall and spin (1):

Binary file not shown.

View file

@ -125,10 +125,15 @@
<property>/engines/active-engine/oil_consumption_allowed</property>
<live>true</live>
<binding>
<command>property-assign</command>
<property>/engines/active-engine/oil-level</property>
<value>7.0</value>
<command>dialog-apply</command>
</binding>
</checkbox>
<checkbox>
<halign>left</halign>
<label>Allow carburetor icing</label>
<property>/engines/active-engine/carb_icing_allowed</property>
<live>true</live>
<binding>
<command>dialog-apply</command>
</binding>
@ -171,7 +176,33 @@
</enable>
<binding>
<command>nasal</command>
<script>c172p.repair_damage();electrical.reset_battery_and_circuit_breakers();c172p.click("engine-repair", 6.0)</script>
<script>
c172p.repair_damage();
electrical.reset_battery_and_circuit_breakers();
c172p.click("engine-repair", 6.0);
c172p.dialog_battery_reload();
</script>
</binding>
<binding>
<condition>
<property>sim/model/c172p/engine_flag_0</property>
</condition>
<command>property-assign</command>
<property>/engines/active-engine/oil-level</property>
<value>7.0</value>
</binding>
<binding>
<condition>
<property>sim/model/c172p/engine_flag_1</property>
</condition>
<command>property-assign</command>
<property>/engines/active-engine/oil-level</property>
<value>8.0</value>
</binding>
<binding>
<command>property-assign</command>
<property>/engines/active-engine/carb_ice</property>
<value>0.0</value>
</binding>
</button>
</group>