1#ifndef SEAD_CAFE_W_PAD_DEVICE_CAFE_H_
2#define SEAD_CAFE_W_PAD_DEVICE_CAFE_H_
4#include <container/seadSafeArray.h>
5#include <controller/seadControlDevice.h>
6#include <prim/seadMemUtil.h>
8#include <cafe/pads/kpad/kpad.h>
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;
34 static_assert(
sizeof(
KPadInfo) == 0xF08,
"sead::CafeWPadDevice::KPadInfo size mismatch");
44 return mKPadInfos[channel];
49 mFreezeCounter = value;
59static_assert(
sizeof(
CafeWPadDevice) == 0x4D40,
"sead::CafeWPadDevice size mismatch");
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 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