Jump to content

IceBeam

Members
  • Posts

    4
  • Joined

  • Last visited

IceBeam's Achievements

  1. Thank you for the clarification. If it's the rightmost value that gets calculated to convert the 360° distance to the sensitivity, it makes sense to shift the main sensitivity variable to the right and leave the input field(s) on the left ("Sensitivity 1" in this case) for the multiplier(s). I assume it's a universal solution to accommodate all games without building a separate calculator for each one. Fair enough. Strictly speaking, 16 cm / 360° at 100 MouseLookRightScale and 100 DPI pushes beyond 100 MouseSensitivity, and the same goes for higher sensitivities like 12 cm / 360°. However, the probability of someone using 100 DPI these days is very low, the [12; 16] cm / 360° isn't a reasonable sensitivity range sensitivity for many shooter games, and the calculator still provides a value for MouseSensitivity while converting the 360° distance to sensitivity, just with a warning that that it's too high. I'm bringing this up as a theoretically possible edge case rather than a suggestion to implement a change. Thanks for elaborating on that, too. When I made that point, I assumed that it could be possible to make the calculator work if "MouseLookRightScale" became "Multiplier 1" and got forced to its default value (100). Since it's a feature related to the number of configurable sensitivity parameters rather than their order, it clears things up.
  2. At the moment, [ Sensitivity 1 = MouseLookRightScale ] and [ Multiplier 1 = MouseSensitivity ]. It doesn't make sense. I will use an example to explain why I believe that the current order in the calculator's interface is an oversight. Let's assume that the player has set the following values: Conversion Source: Sensitivity Units: Centimeters Convert from: Killing Floor 2 DPI: 800 Location: Config File (default) Aim: Hipfire Horizontal (default) They are using the calculator for one of the following reasons (or both): Convert the 360° distance from Killing Floor 2 to another game. Check what the 360° distance will be when they change the sensitivity value using the calculator's text box. If the mode is set to "Simple", the calculator becomes essentially useless: since the "Sensitivity 1" field in the UI is responsible for the "MouseLookRightScale" multiplier, the player can only adjust that multiplier. The sensitivity variable, "MouseSensitivity", is hidden because it's controlled by the "Multiplier 1" field. To adjust the sensitivity, the player will need to change the mode to "Default" or "Advanced". If the mode is set to "Default", the calculator becomes usable. However, the player is expected to use the "Multiplier 1" field for the sensitivity value, since the "Sensitivity 1" field is already reserved for the "MouseLookRightScale" multiplier: - Sensitivity 1: 100 - Multiplier 1: 4.5 If the field names were substituted with the variable names from the config file, this is what this pair of numbers would look like: - MouseLookRightScale: 100 - MouseSensitivity: 4.5 The variable names are backwards now. Here is a snippet of code showing how the multipliers are applied: [Killing Floor 2 root directory]\Development\Src\KFGame\Classes\KFPlayerInput.uc /** Overridden to do custom FOV scaling, especially for weapons with 3D scopes */ function AdjustMouseSensitivity(float FOVScale) { if ( bEnableFOVScaling ) { FOVScale = GetSensitivityByFOV( ZoomedSensitivityScale ); } Super.AdjustMouseSensitivity(FOVScale); aMouseX *= MouseLookRightScale / 100.0f; aMouseY *= MouseLookUpScale / -100.0f; } Do the calculations happen the same way on your website? Will setting "Sensitivity 1" to "MouseSensitivity" and "Multiplier 1" to "MouseLookRightScale" break some existing functionality the calculator relies on? Please let me know if I am missing something. Yes, as I said before, it looks like those limits defined in the code are meant for the UI, and the parameters can go beyond them if a config file or a console command is utilized for that. However, since the upper limits of the config file variables match the limits in the UI (100 and 500), I assumed that the lower limits were supposed to match the UI values as well. Would it make sense to change the upper boundaries of "MouseSensitivity" and "MouseLookRightScale" to bigger values? The upper boundary of the "float" type, for instance, since I have not noticed any other enforced limitations so far. Or do you think leaving them at 100 and 500 will suffice?
  3. Since the old test environment linked here is no longer available, here is the new one: https://steamcommunity.com/sharedfiles/filedetails/?id=2499917137
  4. Hello there, I would like to inform you that the Killing Floor 2 sensitivity calculator needs to be updated. First of all, the "Sensitivity 1" and "Multiplier 1" text boxes in the calculator adjust the wrong variables: "Sensitivity 1" should be "MouseSensitivity" in the configuration file. "Multiplier 1" should be "MouseLookRightScale". At the moment, the variables are reversed: "Sensitivity 1" sets the value of the "MouseLookRightScale" multiplier, and "Multiplier 1" controls the actual sensitivity variable, which is "MouseSensitivity". When the "Conversion Source" is set to "Distance", the calculator takes a "Sensitivity 1" from the user, assigns it to "MouseLookRightScale", and automatically picks the "MouseSensitivity" value for the requested 360° distance. The value suggested by the calculator feels correct, but the problem is that the locked text box in the calculator is "Multiplier 1" when it should be "Sensitivity 1". Secondly, the minimum and maximum values need to be updated as well. In the game's source code (which comes with the Killing Floor 2 SDK), the minimum and maximum sensitivity values are defined as 0.01 and 0.7, but what the user sees and manipulates in the game are these values multiplied by 100: from 1 to 70. The default value is 30. Please note that these boundaries are only applicable to the GUI slider. It is possible to go beyond them using the "SetSensitivity" console command or by setting "MouseSensitivity" to the desired value in the configuration file ("KFInput.ini"). The multiplier, MouseLookRightScale, ranges from 20 to 500, both in the code and in the user interface. Default: 100. Those numbers can be checked in the following file for the Steam version of the game: [Killing Floor 2 root directory]\Development\Src\KFGame\Classes\KFGFxOptionsMenu_Controls.uc defaultproperties { // ... MinMouseLookSensitivity=.01 MaxMouseLookSensitivity=.7 // ... MinMouseLookRightScale=20 MaxMouseLookRightScale=500 } And here is the multiplication of the MouseLookSensitivity sensitivity limits by 100 in the UI: [Killing Floor 2 root directory]\Development\Src\KFGame\Classes\KFGame\Classes\KFGFxControlsContainer_Input.uc function InitializeOptions() { local GFxObject ValuesObject; local KFPlayerInput KFPI; // ... if ( !GetPC().WorldInfo.IsConsoleBuild() ) { ValuesObject.SetFloat("sensitivityValue" , KFPI.MouseSensitivity); ValuesObject.SetFloat("sensitivityValueMin" , 100 * ControlsMenu.MinMouseLookSensitivity); ValuesObject.SetFloat("sensitivityValueMax" , 100 * ControlsMenu.MaxMouseLookSensitivity); // ... ValuesObject.SetFloat("lookRightScaleValue" , KFPI.MouseLookRightScale); ValuesObject.SetFloat("lookRightScaleMin" , ControlsMenu.MinMouseLookRightScale); ValuesObject.SetFloat("lookRightScaleMax" , ControlsMenu.MaxMouseLookRightScale); // ... } } There is no separate category for UnrealScript, and the existing color scheme for C++ makes the code hard to read. Sorry about that.
×
×
  • Create New...