diff --git a/fieldpattern.cpp b/fieldpattern.cpp index fdbcf259..df4174ed 100644 --- a/fieldpattern.cpp +++ b/fieldpattern.cpp @@ -1461,8 +1461,11 @@ EX void enableFieldChange() { fieldpattern::current_quotient_field.init(gxcur.primes[gxcur.current_prime_id].p); } +EX eGeometry underlying_geometry; + EX void field_from_current() { auto& go = ginf[geometry]; + underlying_geometry = geometry; dynamicval g(geometry, gFieldQuotient); auto& gg = ginf[geometry]; gg.sides = go.sides; diff --git a/intra.cpp b/intra.cpp index 8c7ba06a..e43487eb 100644 --- a/intra.cpp +++ b/intra.cpp @@ -205,6 +205,8 @@ EX void connect_portal(cellwalker cw1, cellwalker cw2, int spin) { /** make currentmap into one of the spaces in intra */ EX void become() { + check_cgi(); + cgi.require_shapes(); auto& ac = currentmap->allcells(); current = isize(data); for(cell *c: ac)