fly mode patch

hi:

i have been trying to find how to fix the fly navigation tool. shift-f

I want to remove the acceleration it has. Basically I want it to behave exactly like a FPS. Also when i press W i want it to have a constant initial speed and not depend on the mouse wheel to gain some speed. If you have used UDK you know exactly what i want.

I have been waiting for this for years but it never happened so i want to change it myself.

Anyone knows how i could get started?

edit:
So i found this:
view3d_view.c

/* mouse offset from the center */
2334 moffset[0]= fly->mval[0]- ar->winx/2;
2335 moffset[1]= fly->mval[1]- ar->winy/2;

and

/* impose a directional lag /
2507 interp_v3_v3v3(dvec, dvec_tmp, fly->dvec_prev, (1.0f/(1.0f+(time_redraw
5.0f))));

anyone familiar with the fly mode code?

Thanks.

For speed change:

Line 2507 mul_v3_fl(dvec_tmp, fly->speed * time_redraw * 0.25f);

Change 0.25f); to 0.01f);

I changed this value and built Blender again. As a result, I see that fly speed is much more slower. You can change this value.

does that change the overall speed? i am looking for something like 3ds max when you press the up arrow key.
if you look around with the mouse it is like a fps game. Constant speed to look around but adjustable to walk.

i wonder if it would be better to do this in python from scratch instead of compiling…

Why do you want to change the flymode so it goes at a constant speed instead of accelerating on command, accelerating the movement can be useful if you need to move it a fair distance, this especially applies to the BGE when you need to manipulate the view to modify part of a game level that’s tricky to view otherwise. Having no initial speed is also useful because then you’re able to rotate the view in the direction you want to start in before moving.

I’d suggest to make the de-acceleration somewhat slower so you don’t accidentally stop the view before you want to cancel it and maybe add the ability to use an optional “cruise control” function so it won’t go faster than a certain speed when activated.