From 198decfd643b5ba6a4582a476da16450e001502f Mon Sep 17 00:00:00 2001 From: Zeno Rogue Date: Sun, 7 Feb 2021 18:30:20 +0100 Subject: [PATCH] ray:: vr:: fixed raycaster not recompiling correctly on setting changes --- raycaster.cpp | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/raycaster.cpp b/raycaster.cpp index 92f63573..b4894f6b 100644 --- a/raycaster.cpp +++ b/raycaster.cpp @@ -218,10 +218,29 @@ string build_getter(string type, string name, int index) { EX hookset hooks_rayshader; EX hookset)> hooks_rayset; +tuple< + #if CAP_VR + int, vrhr::eEyes, + #endif + eGeometry + > raycaster_state() { + return make_tuple( + #if CAP_VR + vrhr::state, + vrhr::eyes, + #endif + geometry + ); + } + +decltype(raycaster_state()) saved_state; + void enable_raycaster() { using glhr::to_glsl; - if(geometry != last_geometry) { + auto state = raycaster_state(); + if(state != saved_state) { reset_raycaster(); + saved_state = state; } wall_offset(centerover); /* so raywall is not empty and deg is not zero */