Advertisement
Guest User

Joystickapi DLL(Incomplete)

a guest
Oct 15th, 2013
462
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.29 KB | None | 0 0
  1. //Controller: Return USB Controller Input
  2. #include <Windows.h>
  3. #define EXPORT extern "C" _declspec( dllexport )
  4. #pragma comment( lib , "Winmm.lib" )
  5. JOYINFOEX joystick[ 16 ];
  6.  
  7. //Controller: Initiate JOYINFOEX Data.
  8. void JoyCheck( double joyid ) {
  9.     if ( joystick[ int( joyid ) ].dwSize == false ) {
  10.         joystick[ int( joyid ) ].dwSize = sizeof( JOYINFOEX );
  11.         joystick[ int( joyid ) ].dwFlags = JOY_RETURNALL;
  12.     }
  13. }
  14.  
  15. //Controller: Check If Joystick Is Plugged In.
  16. EXPORT double JoystickPlugged( double joyid ) {
  17.     JoyCheck( joyid );
  18.  
  19.     bool joy = joyGetPosEx( UINT( joyid )  , &joystick[ int( joyid ) ] ) == JOYERR_NOERROR;
  20.     return double( joy );
  21. }
  22.  
  23. //Controller: Buttons Up To 1-32.
  24. EXPORT double JoystickButtons( double joyid , double button ) {
  25.     JoyCheck( joyid );
  26.     return double( joystick[ int( joyid ) ].dwButtons & ( 1 << int( button ) ) );
  27. }
  28.  
  29. //Controller: Left Joystick + Left Joystick Button.
  30. EXPORT double JoystickJStickL( double joyid , double mode ) {
  31.     JoyCheck( joyid );
  32.  
  33.     double joyXpos = double( joystick[ int( joyid ) ].dwXpos );
  34.     double joyYpos = double( joystick[ int( joyid ) ].dwYpos );
  35.     double joyZpos = double( joystick[ int( joyid ) ].dwZpos );
  36.  
  37.     switch( int( mode ) ) {
  38.         case 0:
  39.             return ( ( joyXpos == 65535 ) * 1 ) + ( ( joyXpos == 32511 ) * 0 ) + ( ( joyXpos == 0 ) * -1 );
  40.         break;
  41.        
  42.         case 1:
  43.             return ( ( joyYpos == 65535 ) * 1 ) + ( ( joyYpos == 32511 ) * 0 ) + ( ( joyYpos == 0 ) * -1 );
  44.         break;
  45.            
  46.         case 2:
  47.             return ( ( joyZpos == 1 ) * 1 ) + ( ( joyZpos == 0 ) * 0 );
  48.         break;
  49.  
  50.         default:
  51.             return -4;
  52.         break;
  53.     }
  54. }
  55.  
  56. //Controller: Right Joystick + Right Joystick Button.
  57. EXPORT double JoystickJStickR( double joyid , double mode ) {
  58.     JoyCheck( joyid );
  59.  
  60.     double joyUpos = double( joystick[ int( joyid ) ].dwUpos );
  61.     double joyVpos = double( joystick[ int( joyid ) ].dwVpos );
  62.     double joyRpos = double( joystick[ int( joyid ) ].dwRpos );
  63.  
  64.     switch( int( mode ) ) {
  65.         case 0:
  66.             return ( ( joyUpos == 65535 ) * 1 ) + ( ( joyUpos == 32511 ) * 0 ) + ( ( joyUpos == 0 ) * -1 );
  67.         break;
  68.        
  69.         case 1:
  70.             return ( ( joyVpos == 65535 ) * 1 ) + ( ( joyVpos == 32511 ) * 0 ) + ( ( joyVpos == 0 ) * -1 );
  71.         break;
  72.        
  73.         case 2:
  74.             return ( ( joyRpos == 1 ) * 1 ) + ( ( joyRpos == 0 ) * 0 );
  75.         break;
  76.         default:
  77.             return -4;
  78.         break;
  79.     }
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement