ValveSoftware / halflife

Half-Life 1 engine based games
Other
3.69k stars 622 forks source link

[Question/Feature Request?] -noforce commands #249

Open AndreiRomania opened 11 years ago

AndreiRomania commented 11 years ago

noforcemaccel – reverts to desktop mouse acceleration settings. For the most part (when it comes to gaming and precision accuracy) mouse acceleration is a fickle feature. The noforcemaccel command will make sure Half-Life does not try and manage mouse accel when it is disabled in your windows options. When to use? When mouse acceleration is disabled on your desktop and you want the same results for your in game experience.

noforcemparms – reverts to desktop mouse button settings. What does that mean? Usually when you start up Half-Life (or in this case Counter-Strike) your mouse configuration will switch to application mode, allowing the assignment of keys already assigned to your desktop (like mouse3). This variable turns that feature OFF. There is really no benefit to this command, and in actuality it is quite buggy at times. When to use? When you are experiencing difficulty with button assignments. A part from troubleshooting this command has no practical use, despite popular belief.

noforcemspd – uses desktop mouse speed settings. Noforcemspd forces Half-life to use whatever speed settings you have applied to your desktop via mouse properties. Whatever the value, Half-Life will use it as guidance. When to use? When you want your out of game speed to set the bar for your in game sensitivity. Think of sensitivity as a speed (de)amplifier.

MaximilianKohler commented 11 years ago

You're asking for these commands to be re-enabled? There's no reason for them to bring these back. These commands have been replaced by the m_mouseaccel 0 command, just like it is in source engine games. Mouse accel is currently disabled by default, and for me it feels the same as it did with the -noforce commands. There's also a new command that's being implemented: m_rawinput.

alfred-valve commented 11 years ago

@MaximilianKohler , that is not quite correct.

All those command line options are still around and behave as before, AS long as you set m_rawinput 0. If you set m_rawinput 1 then they will be ignored and then you want to use the m_customaccel* cvars to tweak your experience. Using raw input or not is a personal call, though I much prefer raw input on and correctly tweaked m_customaccel cvars.

disabledgamer commented 11 years ago

How do we ensure we are using 0 accel while using m_rawinput 1?

MaximilianKohler commented 11 years ago

@disabledgamer I'm pretty sure from my experience and from what Alfred just said that as long as you have m_customaccel 0 you'll have no accel no matter what. When the update first came out I took out all the noforce commands and it was the same as before since m_customaccel is default 0. The noforce commands only seem to effect accel in the menu but not ingame.

AndreiRomania commented 11 years ago

none of the m_rawinput 1 and customaccel does this: noforcemspd – uses desktop mouse speed settings. Noforcemspd forces Half-life to use whatever speed settings you have applied to your desktop via mouse properties. Whatever the value, Half-Life will use it as guidance. When to use? When you want your out of game speed to set the bar for your in game sensitivity. Think of sensitivity as a speed (de)amplifier

AndreiRomania commented 11 years ago

Will this be added ?

zpkr4 commented 11 years ago

@alfred-valve

I would like to ask you a question: Since almost a decade the CS community is arguing about the true meaning of those launch options. The explanation above is the same you can find in the Steam wiki but a lot of people believe that this explanation is actually wrong and a relict from the Windoes 98 time. They believe that..

-noforcemspd This makes Counter-Strike use the "Enhance Pointer Precision" setting you have in Windows. If you don't use this or noforcemparms, the game will have "Enhance Pointer Precision" always on.

-noforcemaccel This makes Counter-Strike use the MouseThresholds that are defined in Windows. This should be irrelevant if you use either noforcemspd or noforcemparms.

-noforcemparms This is noforcemaccel and noforcemspd combined.

Their believe is based on some lines from the the HL SDK: http://goo.gl/jkpAO

Could you please clear this myth? People are arguing since so many years...one statement from you could stop it. Thanks.

dagla commented 11 years ago

I'm not sure if it's possible, but maybe copy-pasting the mouse related code from the source games would clear up this mess once and for all? :)

AndreiRomania commented 11 years ago

Alfred read THIS->

noforcemspd – uses desktop mouse speed settings. Noforcemspd forces Half-life to use whatever speed settings you have applied to your desktop via mouse properties. Whatever the value, Half-Life will use it as guidance. When to use? When you want your out of game speed to set the bar for your in game sensitivity. Think of sensitivity as a speed (de)amplifier.

Unchecking 'Enhance Pointer Precision' in your mouse settings sets:

MouseThreshold1 to 0 MouseThreshold2 to 0 MouseSpeed to 0

Default HL behavior (no -noforce commands in launch options):

MouseThreshold1 value HL uses by default is 0 MouseThreshold2 value HL uses by default is 0 MouseSpeed value HL uses by default is 1

void CInput::Init_Mouse (void) { if ( CommandLine()->FindParm("-nomouse" ) ) return;

m_flPreviousMouseXPosition = 0.0f; 
m_flPreviousMouseYPosition = 0.0f; 

m_fMouseInitialized = true; 

m_fMouseParmsValid = false; 

if ( CommandLine()->FindParm ("-useforcedmparms" ) ) 
{ 
   m_fMouseParmsValid = SystemParametersInfo( SPI_GETMOUSE, 0, m_rgOrigMouseParms, 0 ) ? true : false; 
   if ( m_fMouseParmsValid ) 
   { 
      if ( CommandLine()->FindParm ("-noforcemspd" ) ) 
      { 
         m_rgNewMouseParms[ MOUSE_SPEED_FACTOR ] = m_rgOrigMouseParms[ MOUSE_SPEED_FACTOR ]; 
      } 
      else 
      { 
         m_rgCheckMouseParam[ MOUSE_SPEED_FACTOR ] = true;

Dagla source games are source games, dont ruin cs 1.6 with source codding ( i am talking about 1.6 not Shitty GO or CS:S )