[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