Which brings me to the thing I like better, the way I had to handle the data. It really was pretty simple to work it into my current function. You pass 2 args to the MovePaddle function, both arguments are float types. The first argument is used to determine direction and velocity of the paddle. If the sign of the value is negitave, then the direction is [-1,0,0], positave would give a direction of [1,0,0], and zero is no movement. Then we can examine the value, and assign it to our velocity (reversing the sign if it is negitave). The second function is the frametime, for collision detection. So, to the point I guess. When you sample this data from DX, it is going to give you a higher result if your frame time is higher. The mouse may have moved the same distance on your table, but the application is sampling slower at 80 fps compared to 1000 fps. In one frame, the mouse may only move +2 at 1000 fps, but may give you a value of 34 at 80 fps. This does not make things easy when you use a mouse_speed factor, to scale the movement. Well, I should say it does not make things easy at first. My problem really came from the way I thought it was going to work. I remember so many games that have had a mouse_speed setting in the configuration, so I figured it would be good to use. My formula was something like: tmp=mouse_speed*dimouse.data, and pass tmp to the MovePaddle function, that is what made it get crazy speed at slow frame rates. So, you are still reading, either you want to see how I did it because you have never delt with it, or you just want to see my silly implimentation. I had to change my mouse_speed from the 5.0 value, way down to 0.005. Also I figured using the frametime as a divider would work. So here you go.
float tmp = Game_MouseSpeed * (signed int)od.dwData / m_fFrameTime;
m_OManager->MovePaddle( tmp , m_fFrameTime);
And there you have it! I call it Mozie's Time Independent Mouse Movement Procedure. [grin] I guess its only good if you have a dependent function like my MovePaddle, I could just apply the division with.