//=========================================================================== // DICPUTIL.H //=========================================================================== //=========================================================================== // (C) Copyright 1997 Microsoft Corp. All rights reserved. // // You have a royalty-free right to use, modify, reproduce and // distribute the Sample Files (and/or any modified version) in // any way you find useful, provided that you agree that // Microsoft has no warranty obligations or liability for any // Sample Application Files which are modified. //=========================================================================== #ifndef _DICPUTIL_H #define _DICPUTIL_H // Max supported defines! #define MAX_BUTTONS 32 #define MAX_AXIS 8 #define MAX_POVS 4 // State flag defines!!! // State flags for axis #define HAS_X 0x0001 #define HAS_Y 0x0002 #define HAS_Z 0x0004 #define HAS_RX 0x0008 #define HAS_RY 0x0010 #define HAS_RZ 0x0020 #define HAS_SLIDER0 0x0040 #define HAS_SLIDER1 0x0080 // State flags for buttons #define HAS_BUTTON1 0x00000001 #define HAS_BUTTON2 0x00000002 #define HAS_BUTTON3 0x00000004 #define HAS_BUTTON4 0x00000008 #define HAS_BUTTON5 0x00000010 #define HAS_BUTTON6 0x00000020 #define HAS_BUTTON7 0x00000040 #define HAS_BUTTON8 0x00000080 #define HAS_BUTTON9 0x00000100 #define HAS_BUTTON10 0x00000200 #define HAS_BUTTON11 0x00000400 #define HAS_BUTTON12 0x00000800 #define HAS_BUTTON13 0x00001000 #define HAS_BUTTON14 0x00002000 #define HAS_BUTTON15 0x00004000 #define HAS_BUTTON16 0x00008000 #define HAS_BUTTON17 0x00010000 #define HAS_BUTTON18 0x00020000 #define HAS_BUTTON19 0x00040000 #define HAS_BUTTON20 0x00080000 #define HAS_BUTTON21 0x00100000 #define HAS_BUTTON22 0x00200000 #define HAS_BUTTON23 0x00400000 #define HAS_BUTTON24 0x00800000 #define HAS_BUTTON25 0x01000000 #define HAS_BUTTON26 0x02000000 #define HAS_BUTTON27 0x04000000 #define HAS_BUTTON28 0x08000000 #define HAS_BUTTON29 0x10000000 #define HAS_BUTTON30 0x20000000 #define HAS_BUTTON31 0x40000000 #define HAS_BUTTON32 0x80000000 // State flags for POVs #define HAS_POV1 0x0001 #define HAS_POV2 0x0002 #define HAS_POV3 0x0004 #define HAS_POV4 0x0008 //--------------------------------------------------------------------------- // prototypes HRESULT DIUtilPollJoystick(LPDIRECTINPUTDEVICE2 pdiDevice2, LPDIJOYSTATE pdijs); // helper functions void GetMyRanges(LPDIRECTINPUTDEVICE2 lpdiDevice2, LPMYJOYRANGE lpMyRanges, BYTE nAxis); void SetMyRanges(LPDIRECTINPUTDEVICE2 lpdiDevice2, LPMYJOYRANGE lpMyRanges, BYTE nAxis); void SetMyPOVRanges(LPDIRECTINPUTDEVICE2 pdiDevice2); //BOOL GetDeviceRanges( LPMYJOYRANGE lpMyRanges, LPDIRECTINPUTDEVICE2 pdiDevice2, BYTE nAxis); void OnHelp(LPARAM lParam); void OnContextMenu(WPARAM wParam); BOOL GetHelpFileName(LPTSTR lpszHelpFileName, short* nSize); //BOOL CALLBACK DIEnumDeviceObjectsProc( LPCDIDEVICEOBJECTINSTANCE_DX3 lpddoi, LPVOID pvStateFlags ); HRESULT InitDInput(HWND hWnd, CDIGameCntrlPropSheet_X *pdiCpl); void EnumDeviceObjects(LPDIRECTINPUTDEVICE2 lpdiDevice2, STATEFLAGS *pStateFlags); void SetTitle( HWND hDlg ); BOOL Error(HWND hWnd, short nTitleID, short nMsgID); void CenterDialog(HWND hWnd); void PostDlgItemEnableWindow(HWND hDlg, USHORT nItem, BOOL bEnabled); void PostEnableWindow(HWND hCtrl, BOOL bEnabled); void CopyRange( LPJOYRANGE lpjr, LPMYJOYRANGE lpmyjr ); //--------------------------------------------------------------------------- #endif _DICPUTIL_H