diff --git a/rogueviz/rogueviz.h b/rogueviz/rogueviz.h index 20070a4b..6f05570d 100644 --- a/rogueviz/rogueviz.h +++ b/rogueviz/rogueviz.h @@ -342,6 +342,8 @@ namespace objmodels { virtual void process_triangle(vector& hys, vector& tot, bool textured, object *co); bool available(); + + virtual ~model() {} }; void add_model_settings(); diff --git a/rogueviz/snow.cpp b/rogueviz/snow.cpp index f7d1ea40..4d3afbe7 100644 --- a/rogueviz/snow.cpp +++ b/rogueviz/snow.cpp @@ -314,6 +314,12 @@ auto hchook = addHook(hooks_drawcell, 100, draw_snow) param_b(snow_not_player, "snow_not_player"); }) +#if CAP_SOLV +#define IF_SOLV(x) x +#else +#define IF_SOLV(x) +#endif + #if CAP_RVSLIDES + addHook_rvslides(161, [] (string s, vector& v) { if(s != "noniso") return; @@ -381,16 +387,16 @@ auto hchook = addHook(hooks_drawcell, 100, draw_snow) set_geometry(gRotSpace); snow_lambda = 5; }); -#if CAP_SOLV - snow_slide(v, "Solv", "Solv geometry. Like the non-isotropic hyperbolic geometry but where the horizontal and vertical curvatures work in the other way.", [] { + IF_SOLV(snow_slide(v, "Solv", "Solv geometry. Like the non-isotropic hyperbolic geometry but where the horizontal and vertical curvatures work in the other way.", [] { set_geometry(gSol); // tour::slide_backup(snow_shape, 2); snow_lambda = 3; - }); -#endif + });) }) #endif + 0; +#undef IF_SOLV + } }