From 21f801d6915ff22dc2b2f0f0928d3a4b674e4c35 Mon Sep 17 00:00:00 2001 From: Zeno Rogue Date: Mon, 13 May 2019 12:59:49 +0200 Subject: [PATCH] Hypersian Rug forbidden when using 3D engine --- conformal.cpp | 4 ++-- geom-exp.cpp | 4 ++-- geometry.cpp | 2 ++ 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/conformal.cpp b/conformal.cpp index a62972ed..116a6fb8 100644 --- a/conformal.cpp +++ b/conformal.cpp @@ -966,7 +966,7 @@ namespace conformal { dialog::addBreak(100); dialog::addItem(XLAT("history mode"), 'a'); #if CAP_RUG - dialog::addItem(XLAT("hypersian rug mode"), 'u'); + if(GDIM == 2) dialog::addItem(XLAT("hypersian rug mode"), 'u'); #endif dialog::addBack(); @@ -981,7 +981,7 @@ namespace conformal { else if(uni == 'p') projectionDialog(); #if CAP_RUG - else if(uni == 'u') + else if(uni == 'u' && DIM == 2) pushScreen(rug::show); #endif else if(uni == 's') { diff --git a/geom-exp.cpp b/geom-exp.cpp index 89f6ef81..0de8cae3 100644 --- a/geom-exp.cpp +++ b/geom-exp.cpp @@ -216,7 +216,7 @@ void showTorusConfig() { dialog::addSelItem(XLAT("scale factor"), fts(vid.scale), 'z'); #if CAP_RUG - dialog::addBoolItem(XLAT("hypersian rug mode"), (rug::rugged), 'u'); + if(DIM == 2) dialog::addBoolItem(XLAT("hypersian rug mode"), (rug::rugged), 'u'); #endif dialog::addItem("activate", 'a'); @@ -256,7 +256,7 @@ void showTorusConfig() { }); else if(uni == 'z') editScale(); #if CAP_RUG - else if(uni == 'u') rug::select(); + else if(uni == 'u' && DIM == 2) rug::select(); #endif else if(doexiton(sym, uni)) popScreen(); diff --git a/geometry.cpp b/geometry.cpp index 48b1f9a4..64ae1b8d 100644 --- a/geometry.cpp +++ b/geometry.cpp @@ -385,6 +385,7 @@ namespace geom3 { #if MAXMDIM >= 4 void switch_always3() { + if(rug::rugged) rug::close(); geom3::always3 = !geom3::always3; need_reset_geometry = true; swapmatrix(View); @@ -414,6 +415,7 @@ void switch_always3() { void switch_fpp() { #if MAXMDIM >= 4 + if(rug::rugged) rug::close(); if(!geom3::always3) { geom3::always3 = true; geom3::wall_height = 1.5;