1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2025-02-25 07:20:09 +00:00

2d3d:: remove 3D options from the menu if not available

This commit is contained in:
Zeno Rogue 2019-05-11 08:19:38 +02:00
parent eb822f195b
commit 0dc552bac4
2 changed files with 14 additions and 3 deletions

View File

@ -1230,11 +1230,12 @@ void show3D() {
using namespace geom3; using namespace geom3;
dialog::init(XLAT("3D configuration")); dialog::init(XLAT("3D configuration"));
#if MAXMDIM >= 4
if(WDIM == 2) { if(WDIM == 2) {
dialog::addBoolItem(XLAT("use the full 3D models"), geom3::always3, 'U'); dialog::addBoolItem(XLAT("use the full 3D models"), geom3::always3, 'U');
dialog::add_action(geom3::switch_always3); dialog::add_action(geom3::switch_always3);
} }
#endif
if(vid.use_smart_range == 0 && DIM == 2) { if(vid.use_smart_range == 0 && DIM == 2) {
dialog::addSelItem(XLAT("High detail range"), fts(highdetail), 'n'); dialog::addSelItem(XLAT("High detail range"), fts(highdetail), 'n');
dialog::addSelItem(XLAT("Mid detail range"), fts(middetail), 'm'); dialog::addSelItem(XLAT("Mid detail range"), fts(middetail), 'm');
@ -1308,10 +1309,12 @@ void show3D() {
dialog::add_action(geom3::switch_tpp); dialog::add_action(geom3::switch_tpp);
} }
#if MAXMDIM >=4
if(WDIM == 2) { if(WDIM == 2) {
dialog::addBoolItem(XLAT("configure FPP automatically"), DIM == 3, 'F'); dialog::addBoolItem(XLAT("configure FPP automatically"), DIM == 3, 'F');
dialog::add_action(geom3::switch_fpp); dialog::add_action(geom3::switch_fpp);
} }
#endif
if(0); if(0);
#if CAP_RUG #if CAP_RUG
@ -1917,18 +1920,22 @@ int read_config_args() {
PHASEFROM(2); PHASEFROM(2);
nomenukey = true; nomenukey = true;
} }
#if MAXMDIM >= 4
else if(argis("-switch-fpp")) { else if(argis("-switch-fpp")) {
PHASEFROM(2); PHASEFROM(2);
geom3::switch_fpp(); geom3::switch_fpp();
} }
#endif
else if(argis("-switch-tpp")) { else if(argis("-switch-tpp")) {
PHASEFROM(2); PHASEFROM(2);
geom3::switch_tpp(); geom3::switch_tpp();
} }
#if MAXMDIM >= 4
else if(argis("-switch-3d")) { else if(argis("-switch-3d")) {
PHASEFROM(2); PHASEFROM(2);
geom3::switch_always3(); geom3::switch_always3();
} }
#endif
else if(argis("-nohelp")) { else if(argis("-nohelp")) {
PHASEFROM(2); PHASEFROM(2);
nohelp = true; nohelp = true;

View File

@ -384,12 +384,14 @@ namespace geom3 {
} }
} }
void switch_always3() { #if MAXMDIM >= 4
void switch_always3() {
geom3::always3 = !geom3::always3; geom3::always3 = !geom3::always3;
need_reset_geometry = true; need_reset_geometry = true;
swapmatrix(View); swapmatrix(View);
callhooks(hooks_swapdim); callhooks(hooks_swapdim);
} }
#endif
void switch_tpp() { void switch_tpp() {
if(pmodel == mdDisk && vid.camera_angle) { if(pmodel == mdDisk && vid.camera_angle) {
@ -412,6 +414,7 @@ namespace geom3 {
} }
void switch_fpp() { void switch_fpp() {
#if MAXMDIM >= 4
if(!geom3::always3) { if(!geom3::always3) {
geom3::always3 = true; geom3::always3 = true;
geom3::wall_height = 1.5; geom3::wall_height = 1.5;
@ -437,7 +440,8 @@ namespace geom3 {
swapmatrix(View); swapmatrix(View);
callhooks(hooks_swapdim); callhooks(hooks_swapdim);
} }
} #endif
}
} }