Replies: 1 comment
-
Those assertions are related to a data structure size optimization I implemented so that all of the related structures could be passed around by value very efficiently. It's a low-level optimization that most likely makes no difference whatsoever for your use case. In files like Xidi/Include/Xidi/Internal/ControllerTypes.h Lines 204 to 212 in dd84968 At the very end of each declaration, you will see a colon and then a number. It should be safe to remove the colon and the number, so the above struct would look like this instead: struct
{
/// Number of axes in the virtual controller, also the number of elements of the axis type
/// array that are valid.
uint8_t numAxes;
/// Number of buttons present in the virtual controller.
uint8_t numButtons;
}; That makes it safe to ignore the assertions about not fitting into some number of bits. But you'll need to do that everywhere. This can result in some assertions related to data structure size constraint violations, but those are safe to comment out after you've made this change. As for multiple POVs, yes, that should also be possible. You would need to modify some data structures like |
Beta Was this translation helpful? Give feedback.
-
Since Xidi was designed around the xbox controller (or xinput in this case), and I was working around removing this limitation by allowing external programs to feed data to it (here)
And I've ran into some problems...
In
ControllerTypes.h
in theEButton
enum there are 16 possible buttons but only 12 buttons can be possibly used in mappers one for each xbox button.By modifying the number of buttons in both
ControllerTypes.h
Xidi/Include/Xidi/Internal/ControllerTypes.h
Lines 91 to 112 in dd84968
And by adding extra dummy buttons in
MapperParser.cpp
Xidi/Source/MapperParser.cpp
Lines 701 to 721 in dd84968
I was able to get up to 31 buttons to work using custom mappers defined in xidi.ini, trying to add more buttons results in this assertion error
Xidi/Include/Xidi/Internal/ControllerTypes.h
Lines 344 to 346 in dd84968
If those assertions are commented out, none of the buttons work. Is there any possible way to change this?
Same happens for axes too. Other than the usual X,Y,Z,RotX,RotY,RotZ, trying to add Slider 0 and Slider 1 also results in a assertion error.
One more thing, is the possibility to add more than one POV per virtual controller too difficult to implement? I didn't even poke around to find something related to this, is just something I was thinking because DirecInput supports it.
Does something in
DataFormat.cpp
need to change to acoomodate these changes?Beta Was this translation helpful? Give feedback.
All reactions