Danfun64 Posted July 2, 2017 I posted this on the Split Screen thread, but was told to move this into another thread because it was an upstream problem. 3 hours ago, Danfun64 said: Not sure if this issue also applies to normal Eternity, but the D-Pad of the Xbox 360 Wireless Controller seems inaccessible for some reason, meaning the four D-Pad buttons don't appear with the "test gamepad" feature. On a similar note, I'm trying to create a "SDL Profile" that matches the control scheme of the Xbox 360 version of Classic Doom as shown here: Here's what it looks like so far: bind joy1 use bind joy2 weaponup bind joy3 map_toggle bind joy4 weapondown bind joy5 bind joy6 bind joy7 bind joy8 menu_toggle bind joy9 weapondown bind joy10 weaponup bind joy11 use bind joy12 flip bind joy13 jump bind joy14 map_toggle bind axis3 speed bind axis3 attack g_axisaction1 strafe g_axisaction2 move g_axisaction5 turn I have three problems with this. First, how do I reverse the axis (for move). Second, how can I specify whether an axis is pressed positive or negative, as for whatever reason the triggers on the controller are read as one axis? Third, and least importantly, which D-Pad button corresponds exactly to each weapon when it comes to "quick weapon switch"? 0 Quote Share this post Link to post
printz Posted August 2, 2017 Hmm. About the axis... I also had similar problems with a joystick. Even though it reported the axis directions as correct during testing, I would only have one option per axis, so I would only be able to turn in one direction instead of both. 0 Quote Share this post Link to post
Quasar Posted August 6, 2017 To invert an axis, find the axis # that reads upside down or backwards, and then set g_axisorientation#, with # being the axis index, to -1. This can be included as part of the profile. To get the Xbox 360 or Xbox One pads' L and R analog triggers to read as separate axes, you must use them through the XInput driver and not the SDL MMSYSTEM driver, since Microsoft intentionally nerfs use of them through any API except XInput. 0 Quote Share this post Link to post
Danfun64 Posted August 18, 2017 How do I get the Xinput driver to load and not the SDL driver? 0 Quote Share this post Link to post
Edward850 Posted August 18, 2017 That's automatic. As long as the controller itself is xinput (and is installed correctly), Eternity will detect it and show you an xinput controller in the settings. 0 Quote Share this post Link to post
Danfun64 Posted August 18, 2017 The controller shows up as "SDL Controller (Xbox 360 Wireless Controller for Windows)" Maybe I have to do something specific to ensure that it compiles with XInput support? 0 Quote Share this post Link to post
Edward850 Posted August 18, 2017 ... "compiles"? Eternity comes with it compiled already. You haven't told us the full story of what you're doing. 0 Quote Share this post Link to post
Danfun64 Posted August 18, 2017 (edited) I've been self-compiling your BananaSplit fork with upstream elements merged. Looking through Cmake-GUI, XInput isn't mentioned any way. Give me a moment to try the latest stable build of normal Eternity... edit: For the record, i've been compiling using MSYS2+Mingw_w64 (with cmake -G "MSYS Makefiles"). Do I need to compile it with Visual Studio to get XInput to work? What about non-Windows operating systems? edit2: The XInput choice shows up with the official, non splitscreen binary. Edited August 18, 2017 by Danfun64 0 Quote Share this post Link to post
Edward850 Posted August 19, 2017 (edited) XInput, being a windows API, obviously will not compile on non-windows operating systems. When compiling on Windows, make sure EE_FEATURE_XINPUT is defined in the preprocessor. Edited August 19, 2017 by Edward850 0 Quote Share this post Link to post
Danfun64 Posted August 19, 2017 How exactly do I define EE_FEATURE_XINPUT? 0 Quote Share this post Link to post
Edward850 Posted August 19, 2017 (edited) In the projects preprocossor definitions. You know, the same way you define anything in C++ and CMAKE. Edited August 19, 2017 by Edward850 0 Quote Share this post Link to post
Danfun64 Posted August 19, 2017 (edited) What should I define it to? A variable? A directory? Edited August 19, 2017 by Danfun64 0 Quote Share this post Link to post
Edward850 Posted August 19, 2017 (edited) You define it to exist. It doesn't need to be anything, it just needs to exist. Edited August 19, 2017 by Edward850 0 Quote Share this post Link to post
Danfun64 Posted August 19, 2017 How (especially with cmake)? I know it might be a dumb question, and I know i'm not much of a programmer, but i'd still like to know... 0 Quote Share this post Link to post
Edward850 Posted August 19, 2017 https://stackoverflow.com/questions/9017573/define-preprocessor-macro-through-cmake 0 Quote Share this post Link to post
Danfun64 Posted August 19, 2017 Where is it supposed to go? I tried adding the following to the very end of CMakeLists.txt ## add_definitions(-DEE_FEATURE_XINPUT) but nothing changed. Also is that the right syntex? 0 Quote Share this post Link to post
Edward850 Posted August 19, 2017 (edited) I was going to say you need to make sure it's in the main Eternity Cmake (the one in /source), but it's already there as long as you're building with MSVC (Visual Studio). Edited August 19, 2017 by Edward850 0 Quote Share this post Link to post
Danfun64 Posted August 19, 2017 (edited) Out of curiosity, what is EE_FEATURE_MIDIRPC? edit: So because of an error regarding 'XINPUT_DLL_A' I decided to give up on XInput through cmake and MSYS2/MinGW-W64 and just compile through Visual Studio 2015. I sure can't wait until Eternity's mainstream finishes SDL2 support... edit 2: Attached are two configuration files based off the Doom 3 BFG control scheme, though each are slightly modified. One of them has support for freelook and jumping, while the other removes freelook, replaces the jump button bind with a strafe button bind and adds support for moving with the dpad. gamepads.zip Edited August 20, 2017 by Danfun64 Why in the world are txt files not as an "accepted file type"? 0 Quote Share this post Link to post
Altazimuth Posted August 20, 2017 EE_FEATURE_MIDIRPC enables the midiproc stuff that post-XP Windows requires to separate MIDI volume from game volume. 0 Quote Share this post Link to post
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.