CommonLibVR
BSPCGamepadDeviceHandler.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSIInputDevice.h"
4 
5 namespace RE
6 {
7  class BSPCGamepadDeviceDelegate;
8 
10  {
11  public:
12  inline static constexpr auto RTTI = RTTI_BSPCGamepadDeviceHandler;
13  inline static constexpr auto VTABLE = VTABLE_BSPCGamepadDeviceHandler;
14 
15  ~BSPCGamepadDeviceHandler() override; // 00
16 
17  // override (BSIInputDevice)
18  void Initialize() override; // 01
19  void Process(float a_unk1) override; // 02
20  void Release() override; // 03
21  bool GetButtonNameFromID(std::int32_t a_id, BSFixedString& a_buttonName) override; // 04
22  std::uint32_t GetMappingKey(BSFixedString a_mapping) override; // 05
23  bool GetKeyCodeFromID(std::int32_t a_id, std::uint32_t& a_keyCode) override; // 06 bool IsEnabled() const override; // 07 - { return currentPCGamePadDelegate != 0; }
24  void Reset() override; // 08
25 
26  void InitializeDelegate(); // called by Initialize() and Process() to initialize the delegate
27 
28  // members
29 #ifdef SKYRIMVR
30  std::uint64_t unk08; // 08
31 #endif
33  protected:
34  friend class BSInputDeviceFactory;
36 
37  private:
38  KEEP_FOR_RE()
39  };
40 #ifdef SKYRIMVR
41  static_assert(sizeof(BSPCGamepadDeviceHandler) == 0x18);
42 #else
43  static_assert(sizeof(BSPCGamepadDeviceHandler) == 0x10);
44 #endif
45 
46 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
Definition: BSIInputDevice.h:9
Definition: BSInputDeviceFactory.h:9
Definition: BSPCGamepadDeviceDelegate.h:10
Definition: BSPCGamepadDeviceHandler.h:10
BSPCGamepadDeviceDelegate * currentPCGamePadDelegate
Definition: BSPCGamepadDeviceHandler.h:32
bool GetKeyCodeFromID(std::int32_t a_id, std::uint32_t &a_keyCode) override
static constexpr auto VTABLE
Definition: BSPCGamepadDeviceHandler.h:13
static constexpr auto RTTI
Definition: BSPCGamepadDeviceHandler.h:12
std::uint32_t GetMappingKey(BSFixedString a_mapping) override
void Process(float a_unk1) override
bool GetButtonNameFromID(std::int32_t a_id, BSFixedString &a_buttonName) override
Definition: AbsorbEffect.h:6
constexpr std::array< REL::ID, 1 > VTABLE_BSPCGamepadDeviceHandler
Definition: Offsets_VTABLE.h:9291
constexpr REL::ID RTTI_BSPCGamepadDeviceHandler(static_cast< std::uint64_t >(690316))