1#pragma once
2
3#include "controller/seadControllerWrapperBase.h"
4
5namespace sead
6{
7class ControllerWrapper : public ControllerWrapperBase
8{
9 SEAD_RTTI_OVERRIDE(ControllerWrapper, ControllerWrapperBase)
10
11public:
12 static const u8 cPadConfigDefault[Controller::cPadIdx_Max];
13
14 ControllerWrapper();
15 ~ControllerWrapper() override = default;
16
17 void calc(u32 prev_hold, bool prev_pointer_on) override;
18
19 u32 createPadMaskFromControllerPadMask_(u32 controller_mask) const;
20 void setPadConfig(s32 padbit_max, const u8* pad_config, bool enable_stickcross_emulation);
21
22protected:
23 u8 mPadConfig[cPadIdx_MaxBase];
24};
25#ifdef cafe
26static_assert(sizeof(ControllerWrapper) == 0x194, "sead::ControllerWrapper size mismatch");
27#endif // cafe
28
29} // namespace sead
30