[Bf-blender-cvs] [88620cd] epic-navigation: Take redraw and base speed into consideration for mouse move

Dalai Felinto noreply at git.blender.org
Mon Aug 24 22:29:58 CEST 2015


Commit: 88620cd265526711fb69f846d8475188b18bdb78
Author: Dalai Felinto
Date:   Mon Aug 24 17:26:17 2015 -0300
Branches: epic-navigation
https://developer.blender.org/rB88620cd265526711fb69f846d8475188b18bdb78

Take redraw and base speed into consideration for mouse move

This way speed modifiers (shift/alt) works and overall speed is more constant

===================================================================

M	source/blender/editors/space_view3d/view3d_walk.c

===================================================================

diff --git a/source/blender/editors/space_view3d/view3d_walk.c b/source/blender/editors/space_view3d/view3d_walk.c
index 3a17b35..37936f3 100644
--- a/source/blender/editors/space_view3d/view3d_walk.c
+++ b/source/blender/editors/space_view3d/view3d_walk.c
@@ -1082,9 +1082,9 @@ static void walk_updown(const float speed, float r_dvec[3])
 	add_v3_v3(r_dvec, dvec_tmp);
 }
 
-static void walk_mouse_move(WalkInfo *walk, float mat[3][3], const eWalkDirectionFlag direction, float r_dvec[3])
+static void walk_mouse_move(WalkInfo *walk, float mat[3][3], const eWalkDirectionFlag direction, const float time_redraw, float r_dvec[3])
 {
-	const float speed = 0.1f;
+	const float speed = walk->speed * time_redraw;
 	switch (direction) {
 		case WALK_BIT_UP:
 			walk_updown(-speed, r_dvec);
@@ -1189,23 +1189,23 @@ static int walkApply(bContext *C, wmOperator *op, WalkInfo *walk)
 						walk_mouse_rotate_horizontal(ar, rv3d, walk->mouse_speed, moffset, mat, upvec);
 
 					if (moffset[1] > 0)
-						walk_mouse_move(walk, mat, WALK_BIT_FORWARD, dvec);
+						walk_mouse_move(walk, mat, WALK_BIT_FORWARD, time_redraw, dvec);
 					else if (moffset[1] < 0)
-						walk_mouse_move(walk, mat, WALK_BIT_BACKWARD, dvec);
+						walk_mouse_move(walk, mat, WALK_BIT_BACKWARD, time_redraw, dvec);
 
 					break;
 				}
 				case WALK_MOUSE_MOVEVERTICAL:
 				{
 					if (moffset[0] > 0)
-						walk_mouse_move(walk, mat, WALK_BIT_RIGHT, dvec);
+						walk_mouse_move(walk, mat, WALK_BIT_RIGHT, time_redraw, dvec);
 					else if (moffset[0] < 0)
-						walk_mouse_move(walk, mat, WALK_BIT_LEFT, dvec);
+						walk_mouse_move(walk, mat, WALK_BIT_LEFT, time_redraw, dvec);
 
 					if (moffset[1] > 0)
-						walk_mouse_move(walk, mat, WALK_BIT_UP, dvec);
+						walk_mouse_move(walk, mat, WALK_BIT_UP, time_redraw, dvec);
 					else if (moffset[1] < 0)
-						walk_mouse_move(walk, mat, WALK_BIT_DOWN, dvec);
+						walk_mouse_move(walk, mat, WALK_BIT_DOWN, time_redraw, dvec);
 
 					break;
 				}




More information about the Bf-blender-cvs mailing list