A3XX: Code Cleanup, less garbage collecting nessesary = more FPS?

This commit is contained in:
Joshua Davidson 2017-07-11 14:52:21 -04:00
parent 64e91ee8b7
commit 7398fc60cf
2 changed files with 155 additions and 92 deletions

View file

@ -12,6 +12,53 @@ var dc_volt_min = 25;
var dc_amps_std = 150; var dc_amps_std = 150;
var ac_hz_std = 400; var ac_hz_std = 400;
setlistener("/sim/signals/fdm-initialized", func {
var galley_sw = getprop("/controls/electrical/switches/galley");
var idg1_sw = getprop("/controls/electrical/switches/idg1");
var idg2_sw = getprop("/controls/electrical/switches/idg2");
var gen1_sw = getprop("/controls/electrical/switches/gen1");
var gen2_sw = getprop("/controls/electrical/switches/gen2");
var gen_apu_sw = getprop("/controls/electrical/switches/gen-apu");
var gen_ext_sw = getprop("/controls/electrical/switches/gen-ext");
var apu_ext_crosstie_sw = getprop("/controls/electrical/switches/apu-ext-crosstie");
var ac_ess_feed_sw = getprop("/controls/electrical/switches/ac-ess-feed");
var battery1_sw = getprop("/controls/electrical/switches/battery1");
var battery2_sw = getprop("/controls/electrical/switches/battery2");
var battery1_volts = getprop("/systems/electrical/battery1-volts");
var battery2_volts = getprop("/systems/electrical/battery2-volts");
var rpmapu = getprop("/systems/apu/rpm");
var extpwr_on = getprop("/controls/switches/cart");
var stateL = getprop("/engines/engine[0]/state");
var stateR = getprop("/engines/engine[1]/state");
var xtieL = getprop("/controls/electrical/xtie/xtieL");
var xtieR = getprop("/controls/electrical/xtie/xtieR");
var ac1 = getprop("/systems/electrical/bus/ac1");
var ac2 = getprop("/systems/electrical/bus/ac2");
var ac_ess = getprop("/systems/electrical/bus/ac-ess");
var dc1 = getprop("/systems/electrical/bus/dc1");
var dc2 = getprop("/systems/electrical/bus/dc2");
var dcbat = getprop("/systems/electrical/bus/dcbat");
var dc_ess = getprop("/systems/electrical/bus/dc-ess");
var gen_1_volts = getprop("/systems/electrical/extra/gen1-volts");
var gen_2_volts = getprop("/systems/electrical/extra/gen1-volts");
var galley_shed = getprop("/systems/electrical/extra/galleyshed");
var bat1_con = getprop("/systems/electrical/extra/battery/bat1-contact");
var bat2_con = getprop("/systems/electrical/extra/battery/bat2-contact");
var emergen = getprop("/controls/electrical/switches/emer-gen");
var ias = getprop("/instrumentation/airspeed-indicator/indicated-speed-kt");
var rat = getprop("/controls/hydraulic/rat");
var manrat = getprop("/controls/hydraulic/rat-man");
var ac_ess_fail = getprop("/systems/failures/elec-ac-ess");
var batt1_fail = getprop("/systems/failures/elec-batt1");
var batt2_fail = getprop("/systems/failures/elec-batt2");
var gallery_fail = getprop("/systems/failures/elec-galley");
var genapu_fail = getprop("/systems/failures/elec-genapu");
var gen1_fail = getprop("/systems/failures/elec-gen1");
var gen2_fail = getprop("/systems/failures/elec-gen2");
var bat1_volts = getprop("/systems/electrical/battery1-volts");
var bat2_volts = getprop("/systems/electrical/battery2-volts");
});
var elec_init = func { var elec_init = func {
setprop("/controls/switches/annun-test", 0); setprop("/controls/switches/annun-test", 0);
setprop("/controls/electrical/switches/galley", 1); setprop("/controls/electrical/switches/galley", 1);
@ -95,48 +142,48 @@ var elec_init = func {
###################### ######################
var master_elec = func { var master_elec = func {
var galley_sw = getprop("/controls/electrical/switches/galley"); galley_sw = getprop("/controls/electrical/switches/galley");
var idg1_sw = getprop("/controls/electrical/switches/idg1"); idg1_sw = getprop("/controls/electrical/switches/idg1");
var idg2_sw = getprop("/controls/electrical/switches/idg2"); idg2_sw = getprop("/controls/electrical/switches/idg2");
var gen1_sw = getprop("/controls/electrical/switches/gen1"); gen1_sw = getprop("/controls/electrical/switches/gen1");
var gen2_sw = getprop("/controls/electrical/switches/gen2"); gen2_sw = getprop("/controls/electrical/switches/gen2");
var gen_apu_sw = getprop("/controls/electrical/switches/gen-apu"); gen_apu_sw = getprop("/controls/electrical/switches/gen-apu");
var gen_ext_sw = getprop("/controls/electrical/switches/gen-ext"); gen_ext_sw = getprop("/controls/electrical/switches/gen-ext");
var apu_ext_crosstie_sw = getprop("/controls/electrical/switches/apu-ext-crosstie"); apu_ext_crosstie_sw = getprop("/controls/electrical/switches/apu-ext-crosstie");
var ac_ess_feed_sw = getprop("/controls/electrical/switches/ac-ess-feed"); ac_ess_feed_sw = getprop("/controls/electrical/switches/ac-ess-feed");
var battery1_sw = getprop("/controls/electrical/switches/battery1"); battery1_sw = getprop("/controls/electrical/switches/battery1");
var battery2_sw = getprop("/controls/electrical/switches/battery2"); battery2_sw = getprop("/controls/electrical/switches/battery2");
var battery1_volts = getprop("/systems/electrical/battery1-volts"); battery1_volts = getprop("/systems/electrical/battery1-volts");
var battery2_volts = getprop("/systems/electrical/battery2-volts"); battery2_volts = getprop("/systems/electrical/battery2-volts");
var rpmapu = getprop("/systems/apu/rpm"); rpmapu = getprop("/systems/apu/rpm");
var extpwr_on = getprop("/controls/switches/cart"); extpwr_on = getprop("/controls/switches/cart");
var stateL = getprop("/engines/engine[0]/state"); stateL = getprop("/engines/engine[0]/state");
var stateR = getprop("/engines/engine[1]/state"); stateR = getprop("/engines/engine[1]/state");
var xtieL = getprop("/controls/electrical/xtie/xtieL"); xtieL = getprop("/controls/electrical/xtie/xtieL");
var xtieR = getprop("/controls/electrical/xtie/xtieR"); xtieR = getprop("/controls/electrical/xtie/xtieR");
var ac1 = getprop("/systems/electrical/bus/ac1"); ac1 = getprop("/systems/electrical/bus/ac1");
var ac2 = getprop("/systems/electrical/bus/ac2"); ac2 = getprop("/systems/electrical/bus/ac2");
var ac_ess = getprop("/systems/electrical/bus/ac-ess"); ac_ess = getprop("/systems/electrical/bus/ac-ess");
var dc1 = getprop("/systems/electrical/bus/dc1"); dc1 = getprop("/systems/electrical/bus/dc1");
var dc2 = getprop("/systems/electrical/bus/dc2"); dc2 = getprop("/systems/electrical/bus/dc2");
var dcbat = getprop("/systems/electrical/bus/dcbat"); dcbat = getprop("/systems/electrical/bus/dcbat");
var dc_ess = getprop("/systems/electrical/bus/dc-ess"); dc_ess = getprop("/systems/electrical/bus/dc-ess");
var gen_1_volts = getprop("/systems/electrical/extra/gen1-volts"); gen_1_volts = getprop("/systems/electrical/extra/gen1-volts");
var gen_2_volts = getprop("/systems/electrical/extra/gen1-volts"); gen_2_volts = getprop("/systems/electrical/extra/gen1-volts");
var galley_shed = getprop("/systems/electrical/extra/galleyshed"); galley_shed = getprop("/systems/electrical/extra/galleyshed");
var bat1_con = getprop("/systems/electrical/extra/battery/bat1-contact"); bat1_con = getprop("/systems/electrical/extra/battery/bat1-contact");
var bat2_con = getprop("/systems/electrical/extra/battery/bat2-contact"); bat2_con = getprop("/systems/electrical/extra/battery/bat2-contact");
var emergen = getprop("/controls/electrical/switches/emer-gen"); emergen = getprop("/controls/electrical/switches/emer-gen");
var ias = getprop("/instrumentation/airspeed-indicator/indicated-speed-kt"); ias = getprop("/instrumentation/airspeed-indicator/indicated-speed-kt");
var rat = getprop("/controls/hydraulic/rat"); rat = getprop("/controls/hydraulic/rat");
var manrat = getprop("/controls/hydraulic/rat-man"); manrat = getprop("/controls/hydraulic/rat-man");
var ac_ess_fail = getprop("/systems/failures/elec-ac-ess"); ac_ess_fail = getprop("/systems/failures/elec-ac-ess");
var batt1_fail = getprop("/systems/failures/elec-batt1"); batt1_fail = getprop("/systems/failures/elec-batt1");
var batt2_fail = getprop("/systems/failures/elec-batt2"); batt2_fail = getprop("/systems/failures/elec-batt2");
var gallery_fail = getprop("/systems/failures/elec-galley"); gallery_fail = getprop("/systems/failures/elec-galley");
var genapu_fail = getprop("/systems/failures/elec-genapu"); genapu_fail = getprop("/systems/failures/elec-genapu");
var gen1_fail = getprop("/systems/failures/elec-gen1"); gen1_fail = getprop("/systems/failures/elec-gen1");
var gen2_fail = getprop("/systems/failures/elec-gen2"); gen2_fail = getprop("/systems/failures/elec-gen2");
if (rpmapu >= 94.9 and gen_apu_sw) { if (rpmapu >= 94.9 and gen_apu_sw) {
setprop("/systems/electrical/gen-apu", 1); setprop("/systems/electrical/gen-apu", 1);
@ -150,8 +197,8 @@ var master_elec = func {
setprop("/systems/electrical/gen-ext", 0); setprop("/systems/electrical/gen-ext", 0);
} }
var gen_apu = getprop("/systems/electrical/gen-apu"); gen_apu = getprop("/systems/electrical/gen-apu");
var gen_ext = getprop("/systems/electrical/gen-ext"); gen_ext = getprop("/systems/electrical/gen-ext");
# Left cross tie yes? # Left cross tie yes?
if (extpwr_on and gen_ext_sw) { if (extpwr_on and gen_ext_sw) {
@ -296,8 +343,8 @@ var master_elec = func {
setprop("/systems/electrical/extra/apu-hz", 0); setprop("/systems/electrical/extra/apu-hz", 0);
} }
var ac1 = getprop("/systems/electrical/bus/ac1"); ac1 = getprop("/systems/electrical/bus/ac1");
var ac2 = getprop("/systems/electrical/bus/ac2"); ac2 = getprop("/systems/electrical/bus/ac2");
if (!ac_ess_fail and (ac1 >= 110 or ac2 >= 110)) { if (!ac_ess_fail and (ac1 >= 110 or ac2 >= 110)) {
setprop("/systems/electrical/bus/ac-ess", ac_volt_std); setprop("/systems/electrical/bus/ac-ess", ac_volt_std);
@ -305,7 +352,7 @@ var master_elec = func {
setprop("/systems/electrical/bus/ac-ess", 0); setprop("/systems/electrical/bus/ac-ess", 0);
} }
var ac_ess = getprop("/systems/electrical/bus/ac-ess"); ac_ess = getprop("/systems/electrical/bus/ac-ess");
if (ac_ess >= 110 and !gallery_fail) { if (ac_ess >= 110 and !gallery_fail) {
if (galley_sw == 1 and !galley_shed) { if (galley_sw == 1 and !galley_shed) {
@ -478,18 +525,18 @@ var update_electrical = func {
var elec_timer = maketimer(0.2, update_electrical); var elec_timer = maketimer(0.2, update_electrical);
var charge1 = maketimer(6, func { var charge1 = maketimer(6, func {
var bat1_volts = getprop("/systems/electrical/battery1-volts"); bat1_volts = getprop("/systems/electrical/battery1-volts");
setprop("/systems/electrical/battery1-volts", bat1_volts + 0.1); setprop("/systems/electrical/battery1-volts", bat1_volts + 0.1);
}); });
var charge2 = maketimer(6, func { var charge2 = maketimer(6, func {
var bat2_volts = getprop("/systems/electrical/battery2-volts"); bat2_volts = getprop("/systems/electrical/battery2-volts");
setprop("/systems/electrical/battery2-volts", bat2_volts + 0.1); setprop("/systems/electrical/battery2-volts", bat2_volts + 0.1);
}); });
var decharge1 = maketimer(69, func { # interval is at 69 seconds, to allow about 30 min from 25.9 var decharge1 = maketimer(69, func { # interval is at 69 seconds, to allow about 30 min from 25.9
var bat1_volts = getprop("/systems/electrical/battery1-volts"); bat1_volts = getprop("/systems/electrical/battery1-volts");
setprop("/systems/electrical/battery1-volts", bat1_volts - 0.1); setprop("/systems/electrical/battery1-volts", bat1_volts - 0.1);
}); });
var decharge2 = maketimer(69, func { var decharge2 = maketimer(69, func {
var bat2_volts = getprop("/systems/electrical/battery2-volts"); bat2_volts = getprop("/systems/electrical/battery2-volts");
setprop("/systems/electrical/battery2-volts", bat2_volts - 0.1); setprop("/systems/electrical/battery2-volts", bat2_volts - 0.1);
}); });

View file

@ -5,6 +5,29 @@
# Init Vars # # Init Vars #
############# #############
setlistener("/sim/signals/fdm-initialized", func {
var level = getprop("/systems/fire/cargo/bottlelevel");
var fwdsquib = getprop("/systems/fire/cargo/fwdsquib");
var aftsquib = getprop("/systems/fire/cargo/aftsquib");
var fwddet = getprop("/systems/fire/cargo/fwddet");
var aftdet = getprop("/systems/fire/cargo/aftdet");
var test = getprop("/controls/fire/cargo/test");
var guard1 = getprop("/controls/fire/cargo/fwdguard");
var guard2 = getprop("/controls/fire/cargo/aftguard");
var dischpb1 = getprop("/controls/fire/cargo/fwddisch");
var dischpb2 = getprop("/controls/fire/cargo/aftdisch");
var smokedet1 = getprop("/controls/fire/cargo/fwdsmokeLight");
var smokedet2 = getprop("/controls/fire/cargo/aftsmokeLight");
var bottleIsEmpty = getprop("/controls/fire/cargo/bottleempty");
var WeCanExt = getprop("/controls/fire/cargo/status");
var test2 = getprop("/systems/fire/cargo/test");
var state = getprop("/controls/fire/cargo/test/state");
var dc1 = getprop("/systems/electrical/bus/dc1");
var dc2 = getprop("/systems/electrical/bus/dc2");
var dcbat = getprop("/systems/electrical/bus/dcbat");
var pause = getprop("/sim/freeze/master");
});
var fire_init = func { var fire_init = func {
setprop("/systems/fire/cargo/fwddet", 0); setprop("/systems/fire/cargo/fwddet", 0);
setprop("/systems/fire/cargo/aftdet", 0); setprop("/systems/fire/cargo/aftdet", 0);
@ -37,26 +60,26 @@ var fire_init = func {
# Main Loops # # Main Loops #
############## ##############
var master_fire = func { var master_fire = func {
var level = getprop("/systems/fire/cargo/bottlelevel"); level = getprop("/systems/fire/cargo/bottlelevel");
var fwdsquib = getprop("/systems/fire/cargo/fwdsquib"); fwdsquib = getprop("/systems/fire/cargo/fwdsquib");
var aftsquib = getprop("/systems/fire/cargo/aftsquib"); aftsquib = getprop("/systems/fire/cargo/aftsquib");
var fwddet = getprop("/systems/fire/cargo/fwddet"); fwddet = getprop("/systems/fire/cargo/fwddet");
var aftdet = getprop("/systems/fire/cargo/aftdet"); aftdet = getprop("/systems/fire/cargo/aftdet");
var test = getprop("/controls/fire/cargo/test"); test = getprop("/controls/fire/cargo/test");
var guard1 = getprop("/controls/fire/cargo/fwdguard"); guard1 = getprop("/controls/fire/cargo/fwdguard");
var guard2 = getprop("/controls/fire/cargo/aftguard"); guard2 = getprop("/controls/fire/cargo/aftguard");
var dischpb1 = getprop("/controls/fire/cargo/fwddisch"); dischpb1 = getprop("/controls/fire/cargo/fwddisch");
var dischpb2 = getprop("/controls/fire/cargo/aftdisch"); dischpb2 = getprop("/controls/fire/cargo/aftdisch");
var smokedet1 = getprop("/controls/fire/cargo/fwdsmokeLight"); smokedet1 = getprop("/controls/fire/cargo/fwdsmokeLight");
var smokedet2 = getprop("/controls/fire/cargo/aftsmokeLight"); smokedet2 = getprop("/controls/fire/cargo/aftsmokeLight");
var bottleIsEmpty = getprop("/controls/fire/cargo/bottleempty"); bottleIsEmpty = getprop("/controls/fire/cargo/bottleempty");
var WeCanExt = getprop("/controls/fire/cargo/status"); WeCanExt = getprop("/controls/fire/cargo/status");
var test2 = getprop("/systems/fire/cargo/test"); test2 = getprop("/systems/fire/cargo/test");
var state = getprop("/controls/fire/cargo/test/state"); state = getprop("/controls/fire/cargo/test/state");
var dc1 = getprop("/systems/electrical/bus/dc1"); dc1 = getprop("/systems/electrical/bus/dc1");
var dc2 = getprop("/systems/electrical/bus/dc2"); dc2 = getprop("/systems/electrical/bus/dc2");
var dcbat = getprop("/systems/electrical/bus/dcbat"); dcbat = getprop("/systems/electrical/bus/dcbat");
var pause = getprop("/sim/freeze/master"); pause = getprop("/sim/freeze/master");
################### ###################
# Detection Logic # # Detection Logic #
@ -86,9 +109,8 @@ var master_fire = func {
} }
} }
if (dischpb1 and fwdsqib and !bottleIsEmpty and !puase) { if (dischpb1 and fwdsquib and !bottleIsEmpty and !pause) {
var bottle = getprop("/systems/fire/cargo/bottlelevel"); setprop("/systems/fire/cargo/bottlelevel", getprop("/systems/fire/cargo/bottlelevel") - 0.166);
setprop("/systems/fire/cargo/bottlelevel", bottle - 0.166);
} }
if (dischpb2) { if (dischpb2) {
@ -97,21 +119,15 @@ var master_fire = func {
} }
} }
if (dischpb1 and fwdsqib and !bottleIsEmpty and !puase) {
var bottle = getprop("/systems/fire/cargo/bottlelevel");
setprop("/systems/fire/cargo/bottlelevel", bottle - 0.166);
}
################# #################
# Test Sequence # # Test Sequence #
################# #################
setlistener("/controls/fire/cargo/test", func { if (getprop("/controls/fire/cargo/test")) {
var test = getprop("/controls/fire/cargo/test");
if (test) {
setprop("/systems/fire/cargo/test", 1); setprop("/systems/fire/cargo/test", 1);
} else {
setprop("/systems/fire/cargo/test", 0);
} }
});
if (test2 and state == 0) { if (test2 and state == 0) {
setprop("/controls/fire/cargo/fwdsmokeLight", 1); setprop("/controls/fire/cargo/fwdsmokeLight", 1);