Game client codebase including: - CharacterActionControl: Character and creature management - GlobalScript: Network, items, skills, quests, utilities - RYLClient: Main client application with GUI and event handlers - Engine: 3D rendering engine (RYLGL) - MemoryManager: Custom memory allocation - Library: Third-party dependencies (DirectX, boost, etc.) - Tools: Development utilities 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
63 lines
2.0 KiB
C++
63 lines
2.0 KiB
C++
//-----------------------------------------------------------------------------
|
|
// File: DIUtil.h
|
|
//
|
|
// Desc: DirectInput support using action mapping
|
|
//
|
|
// Copyright (C) 1995-2001 Microsoft Corporation. All Rights Reserved.
|
|
//-----------------------------------------------------------------------------
|
|
#ifndef DIUTIL_H
|
|
#define DIUTIL_H
|
|
#include <dinput.h>
|
|
|
|
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Name: class CInputDeviceManager
|
|
// Desc: Input device manager using DX8 action mapping
|
|
//-----------------------------------------------------------------------------
|
|
class CInputDeviceManager
|
|
{
|
|
public:
|
|
struct DeviceInfo
|
|
{
|
|
LPDIRECTINPUTDEVICE8 pdidDevice;
|
|
LPVOID pParam;
|
|
};
|
|
|
|
typedef HRESULT (CALLBACK *LPDIMANAGERCALLBACK)(CInputDeviceManager::DeviceInfo* pDeviceInfo, const DIDEVICEINSTANCE* pdidi, LPVOID);
|
|
|
|
private:
|
|
BOOL m_bCleanupCOM;
|
|
HWND m_hWnd;
|
|
TCHAR* m_strUserName;
|
|
|
|
LPDIRECTINPUT8 m_pDI;
|
|
DeviceInfo* m_pDevices;
|
|
DWORD m_dwMaxDevices;
|
|
DWORD m_dwNumDevices;
|
|
DIACTIONFORMAT m_diaf;
|
|
|
|
LPDIMANAGERCALLBACK m_AddDeviceCallback;
|
|
LPVOID m_AddDeviceCallbackParam;
|
|
|
|
public:
|
|
// Device control
|
|
HRESULT AddDevice( const DIDEVICEINSTANCE* pdidi, LPDIRECTINPUTDEVICE8 pdidDevice );
|
|
HRESULT GetDevices( DeviceInfo** ppDeviceInfo, DWORD* pdwNumDevices );
|
|
HRESULT ConfigureDevices( HWND hWnd, IUnknown* pSurface, VOID* pCallback, DWORD dwFlags, LPVOID pvCBParam );
|
|
VOID UnacquireDevices();
|
|
VOID SetFocus( HWND hWnd );
|
|
|
|
// Construction
|
|
HRESULT SetActionFormat( DIACTIONFORMAT& diaf, BOOL bReenumerate );
|
|
HRESULT Create( HWND hWnd, TCHAR* strUserName, DIACTIONFORMAT& diaf, LPDIMANAGERCALLBACK AddDeviceCallback, LPVOID pCallbackParam );
|
|
|
|
CInputDeviceManager();
|
|
~CInputDeviceManager();
|
|
};
|
|
|
|
#endif
|
|
|
|
|