1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2024-12-20 23:50:27 +00:00

ray:: vr:: fixed raycaster not recompiling correctly on setting changes

This commit is contained in:
Zeno Rogue 2021-02-07 18:30:20 +01:00
parent b166b64006
commit 198decfd64

View File

@ -218,10 +218,29 @@ string build_getter(string type, string name, int index) {
EX hookset<void(string&, string&)> hooks_rayshader; EX hookset<void(string&, string&)> hooks_rayshader;
EX hookset<bool(shared_ptr<raycaster>)> hooks_rayset; EX hookset<bool(shared_ptr<raycaster>)> 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() { void enable_raycaster() {
using glhr::to_glsl; using glhr::to_glsl;
if(geometry != last_geometry) { auto state = raycaster_state();
if(state != saved_state) {
reset_raycaster(); reset_raycaster();
saved_state = state;
} }
wall_offset(centerover); /* so raywall is not empty and deg is not zero */ wall_offset(centerover); /* so raywall is not empty and deg is not zero */