* When you switch from mempak to rumble , rumble pack is never initialized.
* Rumble stops working after loading a savestate.
* No shortcut working when you have 4 xinput controller plugged.
There is a performance hit when you check for a controller that wasn't attached last time you called it.
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.
- Defined NOMINMAX macro to disable windef.h's min/max macros; they were clashing with the C++ standard library's std::min/std::max.
- All uses of min/max that had ambiguous type deduction were explicitly instantiated as min<long> and max<long>.
- Header includes were sorted
Many thanks to DKO for the patch.