MCPcopy Create free account
hub / github.com/bfbbdecomp/bfbb / PADInit

Function PADInit

src/dolphin/src/pad/Pad.c:355–392  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

353}
354
355BOOL PADInit()
356{
357 s32 chan;
358 if (Initialized)
359 {
360 return TRUE;
361 }
362
363 OSRegisterVersion(__PADVersion);
364
365 if (__PADSpec)
366 {
367 PADSetSpec(__PADSpec);
368 }
369
370 Initialized = TRUE;
371
372 if (__PADFixBits != 0)
373 {
374 OSTime time = OSGetTime();
375 __OSWirelessPadFixMode = (u16)((((time)&0xffff) + ((time >> 16) & 0xffff) +
376 ((time >> 32) & 0xffff) + ((time >> 48) & 0xffff)) &
377 0x3fffu);
378 RecalibrateBits = PAD_CHAN0_BIT | PAD_CHAN1_BIT | PAD_CHAN2_BIT | PAD_CHAN3_BIT;
379 }
380
381 for (chan = 0; chan < SI_MAX_CHAN; ++chan)
382 {
383 CmdProbeDevice[chan] =
384 (0x4D << 24) | (chan << 22) | ((__OSWirelessPadFixMode & 0x3fffu) << 8);
385 }
386
387 SIRefreshSamplingRate();
388 OSRegisterResetFunction(&ResetFunctionInfo);
389
390#pragma inline all
391 return PADReset((PAD_CHAN0_BIT | PAD_CHAN1_BIT | PAD_CHAN2_BIT | PAD_CHAN3_BIT));
392}
393
394#define offsetof(type, memb) ((u32) & ((type*)0)->memb)
395

Callers 1

iPadInitFunction · 0.85

Calls 6

OSRegisterVersionFunction · 0.85
PADSetSpecFunction · 0.85
OSGetTimeFunction · 0.85
SIRefreshSamplingRateFunction · 0.85
OSRegisterResetFunctionFunction · 0.85
PADResetFunction · 0.85

Tested by

no test coverage detected