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.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 f32 sq (f32 x)
 
static f32 vec2DSqDist (f32 x, f32 y)
 
static f32 vec2Dlen (s8 x, s8 y)
 
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]
 
const 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

◆ sq()

static f32 sq ( f32  x)
inlinestatic

◆ vec2DSqDist()

static f32 vec2DSqDist ( f32  x,
f32  y 
)
inlinestatic

◆ vec2Dlen()

static f32 vec2Dlen ( s8  x,
s8  y 
)
inlinestatic

◆ 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

const u32 pad_bit[4]
Initial value:
= { PAD_CHAN0_BIT, PAD_CHAN1_BIT, PAD_CHAN2_BIT,
PAD_CHAN3_BIT }