mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2024-11-27 14:37:16 +00:00
improved default model selection
This commit is contained in:
parent
e38e001454
commit
3d1d799153
11
system.cpp
11
system.cpp
@ -1179,7 +1179,14 @@ EX void stop_game() {
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
eModel default_model() {
|
||||||
|
if(nonisotropic) return mdGeodesic;
|
||||||
|
if(GDIM == 3) return mdPerspective;
|
||||||
|
return mdDisk;
|
||||||
|
}
|
||||||
|
|
||||||
EX void set_geometry(eGeometry target) {
|
EX void set_geometry(eGeometry target) {
|
||||||
|
bool was_default = pmodel == default_model();
|
||||||
if(geometry != target) {
|
if(geometry != target) {
|
||||||
int old_DIM = GDIM;
|
int old_DIM = GDIM;
|
||||||
stop_game();
|
stop_game();
|
||||||
@ -1212,9 +1219,7 @@ EX void set_geometry(eGeometry target) {
|
|||||||
#if CAP_BT
|
#if CAP_BT
|
||||||
if(binarytiling || WDIM == 3 || penrose) if(!hybri) variation = eVariation::pure;
|
if(binarytiling || WDIM == 3 || penrose) if(!hybri) variation = eVariation::pure;
|
||||||
#endif
|
#endif
|
||||||
if(GDIM == 3 && old_DIM == 2 && pmodel == mdDisk) pmodel = mdPerspective;
|
if(was_default) pmodel = default_model();
|
||||||
if(nonisotropic && old_DIM == 2) pmodel = mdGeodesic;
|
|
||||||
if(GDIM == 2 && among(pmodel, mdPerspective, mdGeodesic)) pmodel = mdDisk;
|
|
||||||
if(nonisotropic && old_DIM == 2 && vid.texture_step < 4) vid.texture_step = 4;
|
if(nonisotropic && old_DIM == 2 && vid.texture_step < 4) vid.texture_step = 4;
|
||||||
if(prod) { pmodel = mdPerspective; if(vid.texture_step < 4) vid.texture_step = 4; }
|
if(prod) { pmodel = mdPerspective; if(vid.texture_step < 4) vid.texture_step = 4; }
|
||||||
if(sl2) nisot::geodesic_movement = true;
|
if(sl2) nisot::geodesic_movement = true;
|
||||||
|
Loading…
Reference in New Issue
Block a user