KozGit / DOOM-3-BFG-VR

Doom 3 BFG VR: Fully Possessed. Doom 3 BFG with native Oculus Rift/Touch or OpenVR support
GNU General Public License v3.0
373 stars 52 forks source link

Can't sprint #174

Open mnmean opened 7 years ago

mnmean commented 7 years ago

I'm trying to jump the gap in Alpha Level 4, but can't do it without a sprint.

From the game menu, controls, sprint is set to L_STEAMVR_DPAD_L. The flashlight is also set to L_STEAMVR_DPAD_L. When I push on the left track pad, it toggles the flashlight, but I do not sprint.

KozGit commented 7 years ago

You're not really supposed to have more than one action bound to the same controller button/pad/etc. Can you post a copy of the config file from your save game directory? ( The correct way to do this is have each action bound to a separate control. I know it's tough with the limited buttons on the vive controllers )

mnmean commented 7 years ago

I've tried not to mess with the controls much, I thought I was using the defaults, but maybe I tripped over something in the menus. I'm also this guy: https://github.com/KozGit/DOOM-3-BFG-VR/issues/167, so I'm sure I'm doing something very wrong. Can you throw a default cfg at me, or is there one somewhere in the directories?

Here's the contents of the saved games cfg:

unbindall bind "1" "_impulse0" bind "2" "_impulse2" bind "3" "_impulse3" bind "4" "_impulse5" bind "5" "_impulse6" bind "6" "_impulse7" bind "7" "_impulse8" bind "8" "_impulse9" bind "9" "_impulse10" bind "TAB" "_impulse19" bind "Q" "_impulse12" bind "W" "_forward" bind "E" "_use" bind "R" "_impulse13" bind "T" "clientMessageMode" bind "Y" "clientMessageMode 1" bind "LBRACKET" "_impulse15" bind "RBRACKET" "_impulse14" bind "ENTER" "_button2" bind "LCTRL" "_attack" bind "A" "_moveleft" bind "S" "_back" bind "D" "_moveright" bind "F" "_impulse16" bind "LSHIFT" "_speed" bind "C" "_movedown" bind "SLASH" "_impulse14" bind "SPACE" "_moveup" bind "F5" "savegame quick" bind "F9" "loadgame quick" bind "F12" "screenshot" bind "UPARROW" "_forward" bind "LEFTARROW" "_left" bind "RIGHTARROW" "_right" bind "DOWNARROW" "_back" bind "PGDN" "_lookup" bind "DEL" "_lookdown" bind "VR_LEFT_MENU" "_impulse19" bind "VR_LEFT_TRIGGER" "_moveup" bind "VR_LEFT_GRIP" "_impulse16" bind "VR_RIGHT_DPAD_LEFT" "_impulse15" bind "VR_RIGHT_DPAD_UP" "_impulse13" bind "VR_RIGHT_DPAD_RIGHT" "_impulse14" bind "VR_RIGHT_DPAD_DOWN" "_impulse13" bind "VR_RIGHT_TRIGGER" "_attack" bind "VR_RIGHT_GRIP" "_impulse13" bind "MOUSE1" "_attack" bind "MOUSE2" "_moveup" bind "MWHEELDOWN" "_impulse14" bind "MWHEELUP" "_impulse15" set com_engineHz "90" set net_inviteOnly "1" set com_showFPS "0" set com_requireNonProductionSignIn "1" set ui_autoReload "1" set ui_autoSwitch "1" set ui_skinIndex "0" set saveGame_verbose "0" set s_device "-1" set s_meterPosition "100 100 20 200" set s_meterTopTime "1000" set s_showLevelMeter "0" set g_xp_bind_run_once "1" set g_gameReviewPause "10" set g_countDown "15" set g_fov "80" set g_gunScale "1" set g_gunZ "0" set g_gunY "0" set g_gunX "3" set g_showBrass "1" set g_showProjectilePct "0" set g_showHud "1" set g_showPlayerShadow "0" set g_showcamerainfo "0" set g_healthTakeLimit "25" set g_healthTakeAmt "5" set g_healthTakeTime "5" set g_useDynamicProtection "1" set g_armorProtectionMP "0.6" set g_armorProtection "0.3" set g_damageScale "1" set g_leNightmare "0" set g_roeNightmare "0" set g_nightmare "0" set g_decals "1" set g_bloodEffects "1" set g_projectileLights "1" set g_muzzleFlash "1" set si_flagDropTimeLimit "30" set si_spectators "1" set si_teamDamage "0" set si_timeLimit "10" set si_fragLimit "10" set si_mode "-1" set si_map "-1" set g_weaponShadows "1" set g_checkpoints "1" set vr_blink "1" set vr_cinematicMode "1" set stereoRender_interOccularCentimeters "6.5" set g_laserSightLength "250" set g_laserSightWidth "2.0" set vr_turnSlack "0" set vr_moveDirection "1" set vr_slotDisable "0" set vr_slotDur "18" set vr_slotMag "0.1" set ui_showGun "1" set g_spectatorChat "0" set aa_targetAimAssistEnable "0" set vr_chibi "1" set m_show_messages "1" set s_volume_midi "8" set s_volume_sound "8" set net_socksPassword "" set net_socksUsername "" set net_socksPort "1080" set net_socksServer "" set ui_name "" set swf_debug "0" set s_subFraction "0.5" set s_volume_dB "0" set vr_rightAxis "4" set vr_leftAxis "0" set vr_outputScale "1" set vr_outputMode "3" set stereoRender_warpTargetFraction "1.0" set stereoRender_warpParmW "0" set stereoRender_warpParmZ "0" set stereoRender_warpCenterY "0.5" set stereoRender_warpCenterX "0.5" set stereoRender_warpStrength "1.45" set stereoRender_warp "0" set r_motionBlur "0" set r_forceScreenWidthCentimeters "0" set vr_moveSpeed "0.5" set vr_moveMode "8" set vr_responseCurve "0" set vr_maxRadius "0.9" set vr_relativeAxis "0" set vr_forwardOnly "0" set vr_strafing "1" set vr_knockbackScale "1" set vr_forceGamepad "0" set vr_seated "0" set vr_aimLook "0" set vr_playerHeightCM "171" set vr_resolutionScale "1" set r_exposure "0.5" set r_useSSAO "0" set r_useSSGI "0" set r_forceAmbient "0.01" set r_useFilmicPostProcessEffects "1" set r_useHDR "0" set r_useShadowMapping "0" set r_useVirtualScreenResolution "1" set stereoRender_deGhost "0.05" set stereoRender_swapEyes "0" set stereoRender_enable "0" set r_debugArrowStep "120" set r_debugLineWidth "1" set r_debugLineDepthTest "0" set r_useHalfLambertLighting "0" set r_lightScale "3" set r_selfShadowAdjust "1" set r_selfShadow "1" set r_skipShadows "0" set r_skipBump "0" set r_skipSpecular "0" set r_skipNewAmbient "0" set r_brightness "1" set r_gamma "1.0" set r_swapInterval "0" set r_lodBias "0.5" set r_useTrilinearFiltering "1" set r_maxAnisotropicFiltering "8" set r_useSRGB "0" set r_windowHeight "720" set r_windowWidth "1280" set r_windowY "0" set r_windowX "0" set r_customHeight "720" set r_customWidth "1280" set r_fullscreen "0" set r_vidMode "0" set r_antiAliasing "0" set r_displayGLSLCompilerMessages "1" set vr_turnJump "1" set vr_turnCrouch "1" set m_smooth "1" set m_yaw "0.022" set m_pitch "0.022" set sensitivity "5" set in_toggleZoom "0" set in_toggleCrouch "0" set in_toggleRun "0" set in_anglespeedkey "1.5" set in_pitchspeed "140" set in_yawspeed "140" set in_mouseInvertLook "0" set in_invertLook "0" set in_joystickRumble "1" set in_useJoystick "1" set in_alwaysRun "1" set in_mouseSpeed "1" set joy_deltaPerMSLook "0.003" set joy_dampenLook "1" set joy_yawSpeed "240" set joy_pitchSpeed "100" set joy_powerScale "2" set joy_gammaLook "1" set joy_range "1.0" set joy_deadZone "0.2" set joy_triggerThreshold "0.05" set joy_newCode "1" set joy_mergedThreshold "1" set com_preloadDemos "0" set com_compressDemos "1" set net_debug_snapShotTime "0" set com_product_lang_ext "1" set vr_hapticScale "0.1" set popupDialog_debug "0"

KozGit commented 7 years ago

That appears to be a config from the other RBDOOM Vr mod.

The active config for this mod should be in the save game directory:

c:\users(your user name)\saved games\id Software\Doom 3 BFG\Fully Possessed\

then either vr_oculus.cfg if using a rift or vr_openvr.cfg if using a vive.

To reset to the default config, just delete the above file from your save game directory, ( DO NOT DELETE the files named vr_oculus_default.cfg or vr_openvr_default.cfg from the Fully Possessed directory in the doom 3 install directory, these contain the default configs, not your active config. Active configs are stored in the save game directory).

You can also view the current bindings in settings->controls->key bindings from the main menu. The readme.txt file has good info on remapping controls.

jdawgzim commented 7 years ago

I use the voice command "Start Running" to toggle on running.

I don't like the words "Start Running" it makes me think it's going to auto-run. I might change it to "Running Mode" or "Running On" or "Toggle Running" instead. I like "Running Mode" the best.

IWhoI commented 6 years ago

I have the same issue on the Vive and I never touched the key bindings. The in game menu shows L_STEAMVR_DPAD_L for sprint but shows an actual icon of the center of the left touch pad for flashlight. It is impossible to bind clicks of the touchpad in game since the touch registers first but I suspect that will be a real pain to fix ;) Both the default config and user config do not have any bindings for the flashlight(assuming _impulse16) or sprint that are related to steamvr so I'm not sure where those bindings are being set. The only steamvr bindings in the config files are: bind "STEAMVR_LEFT_PAD_UP" "_forward" bind "STEAMVR_LEFT_PAD_DOWN" "_back" bind "STEAMVR_LEFT_PAD_LEFT" "_moveLeft" bind "STEAMVR_LEFT_PAD_RIGHT" "_moveRight" bind "STEAMVR_RIGHT_PAD_UP" "_impulse14" bind "STEAMVR_RIGHT_PAD_DOWN" "_impulse15" bind "STEAMVR_RIGHT_PAD_LEFT" "_left" bind "STEAMVR_RIGHT_PAD_RIGHT" "_right" Hopefully this information helps in tracking down the problem. I will continue search for a solution on my own as well.

EDIT: So I think I figured it out. Found these in DOOM-3-BFG-VR/neo/framework/KeyInput.cpp and they seem to match with the configs and what is displayed in game. The problem is that, as far as I can tell, there is no way to distinguish between L_STEAMVR_PAD and L_STEAMVR_DPADL since the controller seems to have a single click switch and specific directions are determined based on the touch position. Besides that, you really don't want the sprint input to be on the movement pad as a specific direction anyway. I'm not sure what I'm going to map sprint or the flashlight to now though...maybe remap crouch since I crouch in real anyway. // OpenVR controllers NAMEKEY( JOY31, "L_STEAMVR_SYS" ), NAMEKEY( JOY32, "L_STEAMVR_APP" ), NAMEKEY( JOY33, "L_STEAMVR_GRIP" ), NAMEKEY( JOY34, "L_STEAMVR_DPADL" ), NAMEKEY( JOY35, "L_STEAMVR_DPADU" ), NAMEKEY( JOY36, "L_STEAMVR_DPADR" ), NAMEKEY( JOY37, "L_STEAMVR_DPADD" ), NAMEKEY( JOY38, "L_STEAMVR_A" ), NAMEKEY( JOY39, "L_STEAMVR_PAD" ), NAMEKEY( JOY40, "L_STEAMVR_TRIG" ), NAMEKEY( JOY41, "L_STEAMVR_8" ), NAMEKEY( JOY42, "L_STEAMVR_9" ), NAMEKEY( JOY43, "L_STEAMVR_10" ), NAMEKEY( JOY44, "L_STEAMVR_11" ), NAMEKEY( JOY45, "L_STEAMVR_12" ), NAMEKEY( JOY46, "L_STEAMVR_13" ), NAMEKEY( JOY47, "L_STEAMVR_14" ), NAMEKEY( JOY48, "L_STEAMVR_15" ), NAMEKEY( JOY49, "R_STEAMVR_SYS" ), NAMEKEY( JOY50, "R_STEAMVR_APP" ), NAMEKEY( JOY51, "R_STEAMVR_GRIP" ), NAMEKEY( JOY52, "R_STEAMVR_DPADL" ), NAMEKEY( JOY53, "R_STEAMVR_DPADU" ), NAMEKEY( JOY54, "R_STEAMVR_DPADR" ), NAMEKEY( JOY55, "R_STEAMVR_DPADD" ), NAMEKEY( JOY56, "R_STEAMVR_A" ), NAMEKEY( JOY57, "R_STEAMVR_PAD" ), NAMEKEY( JOY58, "R_STEAMVR_TRIG" ), NAMEKEY( JOY59, "R_STEAMVR_8" ), NAMEKEY( JOY60, "R_STEAMVR_9" ), NAMEKEY( JOY61, "R_STEAMVR_10" ), NAMEKEY( JOY62, "R_STEAMVR_11" ), NAMEKEY( JOY63, "R_STEAMVR_12" ), NAMEKEY( JOY64, "R_STEAMVR_13" ), NAMEKEY( JOY65, "R_STEAMVR_14" ), NAMEKEY( JOY66, "R_STEAMVR_15" ),

CarlKenner commented 6 years ago

The normal Vive controllers don't have a DPad. The SteamVR DPad inputs are only for other theoretical controllers that might have a DPad. The touchpad is not a DPad. The Vive controllers don't have a joystick either, but the Windows Mixed Reality controllers do. Unfortunately, we didn't add support for theoretical controllers that might have a joystick until now, so we missed out on supporting WMR. But when/if a controller comes out with an added DPad, we're ready for it!

I mapped any extra controls you might need that we had no buttons for to the imaginary DPad, so anyone lucky enough to have a special controller with a DPad would have it working.

The official way to sprint on Vive is to use the voice commands "Start running" and "Stop running". Make sure you have trained speech recognition in Windows Speech Recognition control panel if you have trouble getting voice commands to work. The training makes a huge difference.