diff --git a/config.cpp b/config.cpp index 0441f453..87af51ff 100644 --- a/config.cpp +++ b/config.cpp @@ -3554,6 +3554,7 @@ EX int config3 = addHook(hooks_configfile, 100, [] { param_b(vid.fixed_facing, "fixed facing", 0); param_f(vid.fixed_facing_dir, "fixed facing dir", 90); param_b(vid.fixed_yz, "fixed YZ", true); + param_b(rug::rug_fixed_yz, "rug fixed YZ", false); param_b(frustum_culling, "frustum_culling"); param_b(numerical_minefield, "numerical_minefield") -> editable("toggle numerical display", 'n'); diff --git a/control.cpp b/control.cpp index e266e6c5..329c10c6 100644 --- a/control.cpp +++ b/control.cpp @@ -572,7 +572,7 @@ EX void full_rotate_camera(int dir, ld val) { else if(GDIM == 3 && rshiftclick) shift_view(ctangent(dir, -val * camera_speed)), didsomething = true, playermoved = false; /* -val because shift reverses */ #if CAP_CRYSTAL && CAP_RUG - else if(rug::rug_control() && rug::in_crystal()) + else if(rug::rug_control() && rug::in_crystal() && rug::crystal_rotation) crystal::apply_rotation(cspin(dir, 2, val * camera_rot_speed)); #endif else if(GDIM == 3) { diff --git a/crystal.cpp b/crystal.cpp index 014666ac..e33f4758 100644 --- a/crystal.cpp +++ b/crystal.cpp @@ -1164,6 +1164,7 @@ EX void flip_z() { hyperpoint coord_to_flat(ldcoord co, int dim = 3) { auto& cs = crystal_map()->cs; hyperpoint res = Hypc; + res[3] = 1; co = co - rug_center; for(int a=0; a