[Alephmodular-devel] Re: [M-dev]RE: aleph/Source_Files/GameWorld physics.cpp
Status: Pre-Alpha
Brought to you by:
brefin
From: Br'fin <br...@ma...> - 2004-04-27 16:17:45
|
I already nixed it. (It's still in CVS, but no longer the head of the trunk, alas not in the nightly.) I think we don't typically see it in M2 because of what I mentioned in an earlier message. Slow _look_center only occurs with mousing enabled. And it does look like M2 had this problem. M2 had the option to play with mouse turned off. But it looks like at least two of the demo movies in M2 (The ones where the guy doesn't get killed... a replay of waterloo waterpark, and they're everywhere) appear to have been played with strictly the keyboard while the mouse was enabled. ... the problem is there, but worked around or not evident much. That it did show up at all in those films surprised me. But that they did is the biggest reason for me to revert the patch. Especially in AM. Due to personal preferences, you might not have noticed the problem. For instance, it shouldn't occur when you have mousing turned off. And you're not going to notice it if you've turned the mouse on and are actually using it. Also, related keyboard input can override mouse directions where function overlaps. (ie an explicit _look_up will override mouse position moving up or down) A1 adds to the issue because it changed its options to: keyboard + mouse, keyboard + inputsprocket mouse, inputsprocket only. The problem may not have occurred under the input sprocket version as that code was pickier about when it instantiated pitch commands. It's unclear if that is 'correct', though it does occur in platform specific code and before the commands are packed into action flags. (I wonder if Input Sprockets mouse drifted a little after you stopped the mouse? Since it wouldn't necessarily get the last little ping that the mouse stopped moving... I'm a little unclear.) Code that affects this issue: vbl_macintosh.cpp (and other vbl type files) affect when mask_in_absolute_positioning_information() is used and called. physics.cpp mask_in_absolute_positioning_information() merges the mouse position into the action flags and sets the _absolute_pitch_mode_bit Also has code to only add this if the delta_yaw has changed or if there's angular velocity (this is why when you hit _look_center and don't touch the mouse, the view staggers... no velocity, no absolute info... recentering occurs... oops, now there's velocity but no mouse movement... so sending in a absolute pitch mode directive... killing the velocity, and skipping the recentering for a frame...lather, rinse, repeat.) physics_update() Where the actual recentering is done, as are choices for using absolute position mode or keyboard input. The patch was initially applied to this file. -Jeremy Parsons http://alephmodular.sourceforge.net/ On Apr 27, 2004, at 3:43 AM, em...@ex... wrote: > I would prefer to see the change stay in long enough for me to grab a > copy. I don't want to see film playback broken, but I cannot help > but wonder why this would break the films when the original Marathon > as well as Infinity did not have this stagger behavior. If returning > the keyboard only option to the preferences is the best solution, then > I'm for that. The stagger problem is killing us keyboard players. > > My 2 1/2 cents. > |