From 7c5691a131fd6b5f773f3e94059220f3cc8c2ba5 Mon Sep 17 00:00:00 2001 From: Zeno Rogue Date: Sat, 6 Feb 2021 23:14:35 +0100 Subject: [PATCH] vr:: warning and auto-change when using incorrect headset modes in 2D geometries --- vr.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/vr.cpp b/vr.cpp index 1a521319..09dcd4e3 100644 --- a/vr.cpp +++ b/vr.cpp @@ -1247,7 +1247,12 @@ EX void show_vr_settings() { dialog::add_action_push(show_vr_demos); - dialog::addBoolItem_action(XLAT("VR enabled"), enabled, 'o'); + dialog::addBoolItem(XLAT("VR enabled"), enabled, 'o'); + dialog::add_action([] { + enabled = !enabled; + if(enabled && GDIM == 2 && among(hsm, eHeadset::holonomy, eHeadset::reference)) + hsm = eHeadset::model_viewing; + }); if(!enabled) dialog::addBreak(100); else if(failed) @@ -1257,7 +1262,11 @@ EX void show_vr_settings() { dialog::addBreak(100); - add_edit(hsm); add_edit(eyes); add_edit(cscr); + add_edit(hsm); + if(enabled && GDIM == 2 && among(hsm, eHeadset::holonomy, eHeadset::reference)) + dialog::addInfo("(this setting is for 3D geometries only, use 'model viewing' instead)"); + add_edit(eyes); + add_edit(cscr); dialog::addSelItem(XLAT("absolute unit in meters"), fts(absolute_unit_in_meters), 'a'); dialog::add_action([] {