|
|
#1
|
|||
|
|||
![]()
for those who have probleme to get :
rumble working , mempak switching , no nrage shortcut working when 4 xinput controllers connected , lag on some games when using multiple xinput controllers, unable to use nrage mempak if it default selected and RAW checked , rumble not working after switching from nrage mempak. here is fixed version for x360 and xbox one controller. Let me know if it's working as expected. Hope it helps |
#2
|
||||
|
||||
![]()
Did you modify this version? Is there any source available?
|
#3
|
|||
|
|||
![]()
yes I slightly modify the current source to make it more functional with xbox 360 controllers.
I can post here changes to the code if you want |
#4
|
||||
|
||||
![]()
That would be nice for others to see, plus I think you're supposed to.
|
#5
|
|||
|
|||
![]()
here is the list of changes
NRagePluginV2.cpp let MEMpack work with RAW Code:
case PAK_MEM: Controls[i].Plugin = PLUGIN_MEMPAK; //Controls[i].RawData = false; break; Code:
case SC_RUMBPAK: if (PAK_NONE == g_pcControllers[iControl].PakType) { EnterCriticalSection( &g_critical ); g_pcControllers[iControl].PakType = PAK_RUMBLE; g_pcControllers[iControl].fPakInitialized = true; // from false to true Code:
if( g_pcControllers[i].fPlugged ) { if (g_pcControllers[i].fXInput) { InitiateXInputController(&g_pcControllers[i].xiController, i); //continue; } ex: GT64 Championship is unplayable on a slow PC if a xinput controller is plugged in PJ64 but not available. This fix minimizes a performance issue with XInput on Windows when checking for a disconnected controller. If you get ERROR_DEVICE_NOT_CONNECTED from XInputGetState, you shouldn't call that slot for a little while. line 156 add Code:
unsigned XcheckTime; // checks for newly connected gamepads timer line 178 -> 192 Code:
if ( !gController->bConfigured ) return; ULONGLONG time = GetTickCount() / 1000; if (g_pcControllers[indexController].XcheckTime != NULL && ( time - g_pcControllers[indexController].XcheckTime ) < 3) return; DWORD result; XINPUT_STATE state; result = fnXInputGetState(gController->nControl, &state); if (result == ERROR_DEVICE_NOT_CONNECTED) { g_pcControllers[indexController].XcheckTime = time; }else{ g_pcControllers[indexController].XcheckTime = NULL; } |
#6
|
||||
|
||||
![]()
Very nice
![]() https://github.com/project64/project64 |