From 24fcc1a642e777d4fd1c2b0504600c87e4e947e9 Mon Sep 17 00:00:00 2001 From: Zeno Rogue Date: Thu, 29 Jul 2021 15:18:49 +0200 Subject: [PATCH] expansion:: show correct types in strict_tree_rules --- expansion.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/expansion.cpp b/expansion.cpp index 9a232c58..e4a07afe 100644 --- a/expansion.cpp +++ b/expansion.cpp @@ -452,8 +452,6 @@ EX int curr_dist(cell *c) { int position; EX int type_in_reduced(expansion_analyzer& ea, cell *c, const cellfunction& f) { - if(currentmap->strict_tree_rules()) - return rulegen::get_state(c); int a = ea.N; int t = type_in(ea, c, f); if(expansion.N != a) { @@ -587,6 +585,17 @@ void celldrawer::do_viewdist() { if(c->master->alt) t = c->master->alt->fiftyval; break; } + else if(currentmap->strict_tree_rules()) switch(distance_from) { + case dfPlayer: + t = -1; + break; + case dfStart: + t = c->master->fieldval; + break; + case dfWorld: + if(c->master->alt) t = c->master->alt->fieldval; + break; + } else t = type_in_reduced(expansion, c, curr_dist); if(t >= 0) label = its(t), dc = distribute_color(t); break;