|
#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 |
#7
|
|||
|
|||
![]()
I had already posted these changes in the github issue but no pull request.
I made so much change on the original PJ64 for my personal use that I have to put it clear before proposing. |
#8
|
|||
|
|||
![]()
It didn't help me. I still can't get the controller to stop moving. It backs up the character or spins him around in circles (first person games)
|
#9
|
|||
|
|||
![]()
OK, I fiddled around with the mapping, and I got him to stop moving around on his own. Still can't properly play the game as he keeps pointing his gun at the sky! I have to hold the "C-down" button down in order to keep him holding the gun level. That's not really workable.
|