mirror of
				https://github.com/zenorogue/hyperrogue.git
				synced 2025-10-30 21:42:59 +00:00 
			
		
		
		
	fixed a bug causing spinning in VR
This commit is contained in:
		| @@ -401,6 +401,7 @@ EX void full_rotate_camera(int dir, ld val) { | |||||||
|     val *= camera_rot_speed; |     val *= camera_rot_speed; | ||||||
|     if(third_person_rotation) shift_view(ctangent(2, -third_person_rotation)), didsomething = true, playermoved = false; |     if(third_person_rotation) shift_view(ctangent(2, -third_person_rotation)), didsomething = true, playermoved = false; | ||||||
|     ld max_angle = 90._deg - 1e-4; |     ld max_angle = 90._deg - 1e-4; | ||||||
|  |     ld max_angle1 = 90._deg - 0.5e-4; | ||||||
|     if(walking::on && dir == 1) { |     if(walking::on && dir == 1) { | ||||||
|       max_angle /= degree; |       max_angle /= degree; | ||||||
|       walking::eye_angle += val * walking::eye_angle_scale / degree; |       walking::eye_angle += val * walking::eye_angle_scale / degree; | ||||||
| @@ -411,9 +412,9 @@ EX void full_rotate_camera(int dir, ld val) { | |||||||
|       hyperpoint vv = vertical_vector(); |       hyperpoint vv = vertical_vector(); | ||||||
|       ld alpha = -atan2(vv[2], vv[1]); |       ld alpha = -atan2(vv[2], vv[1]); | ||||||
|       rotate_view(cspin(2, 1, alpha)); |       rotate_view(cspin(2, 1, alpha)); | ||||||
|       if(dir == 1 && alpha + val > max_angle) |       if(dir == 1 && alpha <= max_angle1 && alpha + val > max_angle) | ||||||
|         val = max_angle - alpha; |         val = max_angle - alpha; | ||||||
|       if(dir == 1 && alpha + val < -max_angle) |       if(dir == 1 && alpha >= -max_angle1 && alpha + val < -max_angle) | ||||||
|         val = -max_angle - alpha; |         val = -max_angle - alpha; | ||||||
|       rotate_view(cspin(dir, 2, val)); |       rotate_view(cspin(dir, 2, val)); | ||||||
|       rotate_view(cspin(1, 2, alpha)); |       rotate_view(cspin(1, 2, alpha)); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Zeno Rogue
					Zeno Rogue