1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2026-03-05 04:59:43 +00:00

arbiquotient:: min_distance

This commit is contained in:
Zeno Rogue
2025-10-09 20:13:28 +02:00
parent f29ba4f766
commit 01ce30fa63

View File

@@ -13,6 +13,7 @@ bool displaying = false;
bool block_selfedges = false;
bool block_cones = false;
bool block_mirrors = false;
int min_distance = 1;
bool dedup_rotation = true;
bool dedup_mirror = true;
@@ -303,6 +304,8 @@ void recurse() {
skip: ;
}
}
else if(min_distance > 1 && celldistance(p->parent.at, p->where) < min_distance) return;
}
if(seen_hashes.count(hash)) return;
seen_hashes.insert(hash);
@@ -359,6 +362,8 @@ void recurse() {
for(auto li: active) if(li != cw0.at) {
if(min_distance > 1 && celldistance(li, cw0.at) < min_distance) continue;
auto tryout = [&] (cellwalker cw1) {
aq.at(cw1.at).unified_to_start = true;
unifications.emplace_back(cw0, cw1);
@@ -530,6 +535,7 @@ void show_auto_dialog() {
add_edit(block_selfedges);
add_edit(block_cones);
add_edit(block_mirrors);
add_edit(min_distance);
add_edit(allow_nonorientable);
add_edit(dedup_rotation);
add_edit(dedup_focus);
@@ -607,7 +613,9 @@ auto aqhook =
+ arg::add3("-d:aq", [] { arg::launch_dialog(show_dialog); })
+ addHook(hooks_configfile, 100, [] {
param_i(aq_max, "aq_max")
-> editable(1, 500, 10, "limit on the quotient size", "", 'm');
-> editable(1, 500, 10, "limit on the quotient size", "", 'l');
param_i(min_distance, "aq_min_distance", 1)
-> editable(1, 10, 1, "minimum distance between identified tiles", "", 'd');
param_b(block_cones, "aq_block_cones")
-> editable("block cone points", 'c');
param_b(block_selfedges, "aq_block_selfedges")