diff --git a/expansion.cpp b/expansion.cpp index 901782c4..92eafb14 100644 --- a/expansion.cpp +++ b/expansion.cpp @@ -452,7 +452,9 @@ void do_viewdist(cell *c, const transmatrix& V, color_t& wcol, color_t& fcol) { break; } case ncDebug: { - int d = celldistance(c, distance_from == dfPlayer ? cwt.at : currentmap->gamestart()); + int d = + distance_from == dfStart && cwt.at == currentmap->gamestart() && c->cpdist < INFD ? c->cpdist : + celldistance(c, distance_from == dfPlayer ? cwt.at : currentmap->gamestart()); dc = (d != cd) ? 0xFF0000 : 0x00FF00; label = its(d); } @@ -491,6 +493,9 @@ void viewdist_configure_dialog() { scrolling_distances = false; dialog::editNumber(first_distance, 0, 3000, 0, 1, "display distances from", ""); }); + + dialog::addItem("disable", 'x'); + dialog::add_action([] () { viewdists = false; }); int id = 0; for(auto& lp: linepatterns::patterns) { @@ -669,17 +674,18 @@ int readArgs() { else if(argis("-vap")) { PHASEFROM(2); start_game(); + shift(); int radius = argi(); while(true) { - string s = expansion.approximate_descendants(10000, 100); + string s = expansion.approximate_descendants(radius, 100); printf("s = %s\n", s.c_str()); - if(isize(expansion.descendants) >= 10000) break; + if(isize(expansion.descendants) >= radius) break; } } else if(argis("-csizes")) { PHASEFROM(2); start_game(); expansion.get_growth(); - for(int i=0; i<30; i++) + shift(); for(int i=0; i