diff --git a/config.cpp b/config.cpp index dab1ab99..cb987c1b 100644 --- a/config.cpp +++ b/config.cpp @@ -906,6 +906,8 @@ EX void initConfig() { addsaver(viewdists, "expansion mode"); param_f(backbrightness, "back", "brightness behind sphere"); + param_b(auto_extend, "expansion_auto_extend") + -> editable("extend automatically", 'E'); param_f(vid.ipd, "ipd", "interpupilar-distance", 0.05); param_f(vid.lr_eyewidth, "lr", "eyewidth-lr", 0.5); diff --git a/expansion.cpp b/expansion.cpp index 21cb98a2..1f156075 100644 --- a/expansion.cpp +++ b/expansion.cpp @@ -702,6 +702,8 @@ string produce_coef_formula(vector coef) { return fmt; } +EX bool auto_extend = true; + void expansion_analyzer::view_distances_dialog() { static int lastticks; if(scrolling_distances && !closed_manifold) { @@ -788,10 +790,13 @@ void expansion_analyzer::view_distances_dialog() { scrolling_distances = false; dialog::editNumber(last_distance, 0, 3000, 1, 0, XLAT("display distances up to"), ""); dialog::bound_low(0); + dialog::extra_options = [] { + add_edit(auto_extend); + }; }); dialog::display(); - if(dialog::list_skip + dialog::list_actual_size == dialog::list_full_size) last_distance++; + if(auto_extend && dialog::list_skip + dialog::list_actual_size == dialog::list_full_size) last_distance++; } EX void enable_viewdists() {