SSBM Decomp
Loading...
Searching...
No Matches
controller.c File Reference
#include "controller.h"
#include "placeholder.h"
#include "baselib/rumble.h"
#include "baselib/util.h"
#include <dolphin/os/OSInterrupt.h>
#include <dolphin/pad/pad.h>
#include <MSL/math_ppc.h>
#include <MSL/trigf.h>

Functions

u8 HSD_PadGetRawQueueCount (void)
 
s32 HSD_PadGetResetSwitch (void)
 
static void HSD_PadRawQueueShift (u8 qnum, u8 *qptr)
 
static void HSD_PadRawMerge (PADStatus *src1, PADStatus *src2, PADStatus *dst)
 
void HSD_PadRenewRawStatus (bool err_check)
 
void HSD_PadFlushQueue (HSD_FlushType ftype)
 
static void HSD_PadClampCheck1 (u8 *val, u8 shift, u8 min, u8 max)
 
static void HSD_PadClampCheck3 (s8 *x, s8 *y, u8 shift, s8 min, s8 max)
 
static void HSD_PadClamp (HSD_PadStatus *mp)
 
static void HSD_PadADConvertCheck1 (HSD_PadStatus *mp, s8 x, s8 y, u32 up, u32 down, u32 left, u32 right)
 
static void HSD_PadADConvert (HSD_PadStatus *mp)
 
static void HSD_PadScale (HSD_PadStatus *mp)
 
static void HSD_PadCrossDir (HSD_PadStatus *mp)
 
void HSD_PadRenewMasterStatus (void)
 
void HSD_PadRenewCopyStatus (void)
 
void HSD_PadRenewGameStatus (void)
 
void HSD_PadRenewStatus (void)
 
void HSD_PadReset (void)
 
void HSD_PadInit (u8 qnum, HSD_PadData *queue, u16 nb_list, HSD_PadRumbleListData *listdatap)
 

Variables

HSD_PadStatus default_status_data
 
PadLibData default_libinfo_data
 
PadLibData HSD_PadLibData
 
HSD_PadStatus HSD_PadMasterStatus [4]
 
HSD_PadStatus HSD_PadCopyStatus [4]
 
HSD_PadStatus HSD_PadGameStatus [4]
 
u32 pad_bit [4]
 

Function Documentation

◆ HSD_PadGetRawQueueCount()

u8 HSD_PadGetRawQueueCount ( void  )

◆ HSD_PadGetResetSwitch()

s32 HSD_PadGetResetSwitch ( void  )

◆ HSD_PadRawQueueShift()

static void HSD_PadRawQueueShift ( u8  qnum,
u8 qptr 
)
static

◆ HSD_PadRawMerge()

static void HSD_PadRawMerge ( PADStatus src1,
PADStatus src2,
PADStatus dst 
)
static

◆ HSD_PadRenewRawStatus()

void HSD_PadRenewRawStatus ( bool  err_check)

◆ HSD_PadFlushQueue()

void HSD_PadFlushQueue ( HSD_FlushType  ftype)

◆ HSD_PadClampCheck1()

static void HSD_PadClampCheck1 ( u8 val,
u8  shift,
u8  min,
u8  max 
)
static

◆ HSD_PadClampCheck3()

static void HSD_PadClampCheck3 ( s8 x,
s8 y,
u8  shift,
s8  min,
s8  max 
)
static

◆ HSD_PadClamp()

static void HSD_PadClamp ( HSD_PadStatus mp)
static

◆ HSD_PadADConvertCheck1()

static void HSD_PadADConvertCheck1 ( HSD_PadStatus mp,
s8  x,
s8  y,
u32  up,
u32  down,
u32  left,
u32  right 
)
static

◆ HSD_PadADConvert()

static void HSD_PadADConvert ( HSD_PadStatus mp)
static

◆ HSD_PadScale()

static void HSD_PadScale ( HSD_PadStatus mp)
static

◆ HSD_PadCrossDir()

static void HSD_PadCrossDir ( HSD_PadStatus mp)
static

◆ HSD_PadRenewMasterStatus()

void HSD_PadRenewMasterStatus ( void  )

◆ HSD_PadRenewCopyStatus()

void HSD_PadRenewCopyStatus ( void  )

◆ HSD_PadRenewGameStatus()

void HSD_PadRenewGameStatus ( void  )

◆ HSD_PadRenewStatus()

void HSD_PadRenewStatus ( void  )

◆ HSD_PadReset()

void HSD_PadReset ( void  )

◆ HSD_PadInit()

void HSD_PadInit ( u8  qnum,
HSD_PadData queue,
u16  nb_list,
HSD_PadRumbleListData listdatap 
)

Variable Documentation

◆ default_status_data

HSD_PadStatus default_status_data
Initial value:
= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }

◆ default_libinfo_data

PadLibData default_libinfo_data
Initial value:
= { 0, 0, 0, 0, 0, 0, 0x2D, 8,
0, 0x1E, 0, 0, 0, 0x7F, 0, 0,
0xFF, 0, 0, 0xFF, 0, 0x7F, 0xFF, 0xFF }

◆ HSD_PadLibData

PadLibData HSD_PadLibData
Todo:
Circular dependency

◆ HSD_PadMasterStatus

HSD_PadStatus HSD_PadMasterStatus[4]

◆ HSD_PadCopyStatus

HSD_PadStatus HSD_PadCopyStatus[4]

◆ HSD_PadGameStatus

HSD_PadStatus HSD_PadGameStatus[4]

◆ pad_bit

u32 pad_bit[4]
Initial value:
#define PAD_CHAN0_BIT
Definition pad.c:10
#define PAD_CHAN2_BIT
Definition pad.h:19
#define PAD_CHAN3_BIT
Definition pad.h:20
#define PAD_CHAN1_BIT
Definition pad.h:18