sead
Loading...
Searching...
No Matches
seadCafeWPadDeviceCafe.h
Go to the documentation of this file.
1#ifndef SEAD_CAFE_W_PAD_DEVICE_CAFE_H_
2#define SEAD_CAFE_W_PAD_DEVICE_CAFE_H_
3
4#include <container/seadSafeArray.h>
5#include <controller/seadControlDevice.h>
6#include <prim/seadMemUtil.h>
7
8#include <cafe/pads/kpad/kpad.h>
9
10namespace sead {
11
12class Heap;
13
15{
17
18public:
19 struct KPadInfo
20 {
24 {
25 MemUtil::fillZero(status, sizeof(KPADStatus) * KPAD_MAX_READ_BUFS);
26 for (u32 i = 0; i < KPAD_MAX_READ_BUFS; i++)
27 status[i].dev_type = WPAD_DEV_NOT_FOUND;
28 }
29
33 };
34 static_assert(sizeof(KPadInfo) == 0xF08, "sead::CafeWPadDevice::KPadInfo size mismatch");
35
36public:
38 virtual ~CafeWPadDevice();
39
40 virtual void calc();
41
42 const KPadInfo& getKPadInfo(s32 channel) const
43 {
44 return mKPadInfos[channel];
45 }
46
47 void setFreezeCounter(s32 value)
48 {
49 mFreezeCounter = value;
50 }
51
52private:
58};
59static_assert(sizeof(CafeWPadDevice) == 0x4D40, "sead::CafeWPadDevice size mismatch");
60
61} // namespace sead
62
63#endif // SEAD_CAFE_W_PAD_DEVICE_CAFE_H_
Definition seadCafeWPadDeviceCafe.h:15
void setFreezeCounter(s32 value)
Definition seadCafeWPadDeviceCafe.h:47
virtual void calc()
Definition seadCafeWPadDeviceCafe.cpp:21
const KPadInfo & getKPadInfo(s32 channel) const
Definition seadCafeWPadDeviceCafe.h:42
u8 _4d3c[4]
Definition seadCafeWPadDeviceCafe.h:57
s32 mFreezeCounter
Definition seadCafeWPadDeviceCafe.h:56
SafeArray< KPadInfo, WPAD_MAX_CONTROLLERS > mKPadInfos
Definition seadCafeWPadDeviceCafe.h:55
u8 _1114[4]
Definition seadCafeWPadDeviceCafe.h:54
virtual ~CafeWPadDevice()
Definition seadCafeWPadDeviceCafe.cpp:16
CafeWPadDevice(ControllerMgr *mgr, Heap *heap)
Definition seadCafeWPadDeviceCafe.cpp:6
KPADUnifiedWpadStatus mUniRingBufs[WPAD_MAX_CONTROLLERS *KPAD_MAX_READ_BUFS]
Definition seadCafeWPadDeviceCafe.h:53
Definition seadControlDevice.h:13
Definition seadControllerMgr.h:17
Definition seadHeap.h:23
Definition seadAssert.h:44
#define SEAD_RTTI_OVERRIDE(CLASS, BASE)
Definition seadRuntimeTypeInfo.h:96
Definition seadCafeWPadDeviceCafe.h:20
s32 last_read_error
Definition seadCafeWPadDeviceCafe.h:32
KPADStatus status[KPAD_MAX_READ_BUFS]
Definition seadCafeWPadDeviceCafe.h:30
KPadInfo()
Definition seadCafeWPadDeviceCafe.h:21
s32 last_read_length
Definition seadCafeWPadDeviceCafe.h:31