mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-02-23 06:20:09 +00:00
geomexp:: if you are in elliptic geometry, elliptic variants will appear on the list
This commit is contained in:
parent
ae92566255
commit
3f76943453
10
geom-exp.cpp
10
geom-exp.cpp
@ -435,7 +435,7 @@ void ge_select_filter() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void set_default_filter() {
|
void set_default_filter() {
|
||||||
current_filter = &gf_hyperbolic;
|
current_filter = hyperbolic ? &gf_hyperbolic : euclid ? &gf_euclidean : sphere ? &gf_spherical : &gf_other;
|
||||||
for(auto f: available_filters) if(f->test()) current_filter = f;
|
for(auto f: available_filters) if(f->test()) current_filter = f;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -514,6 +514,7 @@ void ge_select_tiling() {
|
|||||||
for(int i=0; i<isize(ginf); i++) {
|
for(int i=0; i<isize(ginf); i++) {
|
||||||
eGeometry g = eGeometry(i);
|
eGeometry g = eGeometry(i);
|
||||||
if(among(g, gProduct, gRotSpace)) hybrid::configure(g);
|
if(among(g, gProduct, gRotSpace)) hybrid::configure(g);
|
||||||
|
bool orig_el = elliptic;
|
||||||
bool on = geometry == g;
|
bool on = geometry == g;
|
||||||
bool in_2d = WDIM == 2;
|
bool in_2d = WDIM == 2;
|
||||||
dynamicval<eGeometry> cg(geometry, g);
|
dynamicval<eGeometry> cg(geometry, g);
|
||||||
@ -523,10 +524,15 @@ void ge_select_tiling() {
|
|||||||
if(WDIM == 3 && MAXMDIM == 3) continue;
|
if(WDIM == 3 && MAXMDIM == 3) continue;
|
||||||
if(geometry == gFieldQuotient && !CAP_FIELD) continue;
|
if(geometry == gFieldQuotient && !CAP_FIELD) continue;
|
||||||
if(!current_filter->test()) continue;
|
if(!current_filter->test()) continue;
|
||||||
|
if(orig_el) {
|
||||||
|
for(int j=0; j<isize(ginf); j++)
|
||||||
|
if(ginf[j].tiling_name == ginf[i].tiling_name)
|
||||||
|
geometry = g = eGeometry(j);
|
||||||
|
}
|
||||||
dialog::addBoolItem(XLAT(
|
dialog::addBoolItem(XLAT(
|
||||||
(geometry == gProduct && in_2d) ? XLAT("current geometry x E") :
|
(geometry == gProduct && in_2d) ? XLAT("current geometry x E") :
|
||||||
(geometry == gRotSpace && in_2d) ? XLAT("space of rotations in current geometry") :
|
(geometry == gRotSpace && in_2d) ? XLAT("space of rotations in current geometry") :
|
||||||
ginf[i].menu_displayed_name), on, letter++);
|
ginf[g].menu_displayed_name), on, letter++);
|
||||||
dialog::lastItem().value += validclasses[land_validity(specialland).quality_level];
|
dialog::lastItem().value += validclasses[land_validity(specialland).quality_level];
|
||||||
dialog::add_action([g] { set_or_configure_geometry(g); });
|
dialog::add_action([g] { set_or_configure_geometry(g); });
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user