Merge pull request #58 from Marsdolphin/master

New Save (With tabbing)
This commit is contained in:
Sidi Liang 2020-03-11 22:11:18 +08:00 committed by GitHub
commit a5cb3f8e48
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 209 additions and 2 deletions

124
Nasal/save.nas Normal file
View File

@ -0,0 +1,124 @@
# Followme e-tron save and resume by Marsdolphin c 2020
# This saves and lets you resume the basic functions of the car.
# It will be under development for new features.
var save = func {
var lat = getprop("/position/latitude-deg");
setprop("/save/latitude-deg", lat);
var lon = getprop("/position/longitude-deg");
setprop("/save/longitude-deg", lon);
var alt = getprop("/position/altitude-ft");
setprop("/save/altitude-ft", alt);
var heading = getprop("/orientation/heading-deg");
setprop("/save/heading-deg", heading);
var pitch = getprop("/orientation/pitch-deg");
setprop("/save/pitch-deg", pitch);
var roll = getprop("/orientation/roll-deg");
setprop("/save/roll-deg", roll);
var left_indicator = getprop("/sim/model/lights/indicator-left/state");
setprop("/save/l/indicator", left_indicator);
var right_indicator = getprop("/sim/model/lights/indicator-right/state");
setprop("/save/r/indicator", right_indicator);
var horn = getprop("/systems/horn");
setprop("/save/horn", horn);
var mode = getprop("/controls/mode");
setprop("/save/controls/mode", mode);
var dir = getprop("/controls/direction");
setprop("/save/controls/dir", dir);
var aileron = getprop("/controls/flight/aileron");
setprop("/save/controls/ail", aileron);
var steering_wheel = getprop("/controls/steering_wheel");
setprop("/save/controls/stw", steering_wheel);
var platename = getprop("/systems/plate/name");
setprop("/save/plate_name", platename);
var platefile = getprop("/systems/plate/file");
setprop("/save/plate_file", platefile);
var interior = getprop("/systems/interior/type");
setprop("/save/type/int", interior);
print("State saved");
}
# Resume
var resume = func {
var lat = getprop("/save/latitude-deg");
setprop("/position/latitude-deg", lat);
var lon = getprop("/save/longitude-deg");
setprop("/position/longitude-deg", lon);
var alt = getprop("/save/altitude-ft");
setprop("/position/altitude-ft", alt);
var heading = getprop("/save/heading-deg");
setprop("/orientation/heading-deg", heading);
var pitch = getprop("/save/pitch-deg");
setprop("/orientation/pitch-deg", pitch);
var roll = getprop("/save/roll-deg");
setprop("/orientation/roll-deg", roll);
var left_indicator = getprop("/save/l/indicator");
setprop("/sim/model/lights/indicator-left/state", left_indicator);
var right_indicator = getprop("/save/r/indicator");
setprop("/sim/model/lights/indicator-right/state", right_indicator);
var horn = getprop("/save/horn");
setprop("/systems/horn", horn);
var mode = getprop("/save/controls/mode");
setprop("/controls/mode", mode);
var dir = getprop("/save/controls/dir");
setprop("/controls/direction", dir);
var aileron = getprop("/save/controls/ail");
setprop("/controls/flight/aileron", aileron);
var steering_wheel = getprop("/save/controls/stw");
setprop("/controls/steering_wheel", steering_wheel);
var platename = getprop("/save/plate_name");
setprop("/systems/plate/name", platename);
var platefile = getprop("/save/plate_file");
setprop("/systems/plate/file", platefile);
var interior = getprop("/save/type/int");
setprop("/systems/interior/type", interior);
print("State resumed!");
}

View File

@ -477,6 +477,13 @@
<script>engine.stopEngine(engine.engine_1)</script>
</binding>
</item>
<item>
<label>Save/Resume</label>
<binding>
<command>dialog-show</command>
<dialog-name>save_dialog</dialog-name>
</binding>
</item>
<item>
<label>Toggle Parking Radar</label>
<binding>
@ -835,6 +842,7 @@
<file>Aircraft/followme_e-tron/Nasal/plate.nas</file>
<file>Aircraft/followme_e-tron/Nasal/steering.nas</file>
<file>Aircraft/followme_e-tron/Nasal/radar.nas</file>
<file>Aircraft/followme_e-tron/Nasal/save.nas</file>
</followme>
<!--<screen>
<file>Aircraft/followme_e-tron/Nasal/SmartScreen.nas</file>
@ -874,6 +882,9 @@
<dialogs>
<file>Aircraft/followme_e-tron/gui/dialogs/config.nas</file>
</dialogs>
<save>
<file>Aircraft/followme_e-tron/Nasal/save.nas</file>
</save>
</nasal>
</PropertyList>

72
gui/dialogs/save.xml Normal file
View File

@ -0,0 +1,72 @@
<?xml version="1.0"?>
<PropertyList>
<name>save_dialog</name>
<layout>vbox</layout>
<resizable>false</resizable>
<modal>false</modal>
<draggable>true</draggable>
<group>
<layout>hbox</layout>
<empty><stretch>true</stretch></empty>
<text>
<label>Save/Resume</label>
</text>
<empty><stretch>true</stretch></empty>
<button>
<legend/>
<key>Esc</key>
<pref-width>32</pref-width>
<pref-height>16</pref-height>
<binding>
<command>dialog-close</command>
</binding>
</button>
</group>
<hrule/>
<button>
<halign>left</halign>
<legend>Save</legend>
<pref-width>100</pref-width>
<pref-height>28</pref-height>
<binding>
<command>nasal</command>
<script>followme.save()</script>
</binding>
<binding>
<command>nasal</command>
<script>save.save()</script>
</binding>
</button>
<button>
<halign>left</halign>
<legend>Resume</legend>
<pref-width>100</pref-width>
<pref-height>28</pref-height>
<binding>
<command>nasal</command>
<script>followme.resume()</script>
</binding>
<binding>
<command>nasal</command>
<script>save.resume()</script>
</binding>
<binding>
<command>property-assign</command>
<property>velocities/groundspeed-kt</property>
<value>0</value>
</binding>
<binding>
<command>property-assign</command>
<property>/position/altitude-agl-ft</property>
<value>0</value>
</binding>
</button>
</PropertyList>

View File

@ -1,2 +1,2 @@
20200309
001
202003
409