Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
KPAD.c File Reference

Functions

void DEBUGPrint (const char *fmt,...)
 
void KPADSetFSStickClamp (s8 min, s8 max)
 
void KPADSetBtnRepeat (s32 chan, f32 delay_sec, f32 pulse_sec)
 
void KPADSetObjInterval (f32 interval)
 
void KPADSetPosParam (s32 chan, f32 play_radius, f32 sensitivity)
 
void KPADSetHoriParam (s32 chan, f32 play_radius, f32 sensitivity)
 
void KPADSetDistParam (s32 chan, f32 play_radius, f32 sensitivity)
 
void KPADSetAccParam (s32 chan, f32 play_radius, f32 sensitivity)
 
static void calc_dpd2pos_scale (KPADInsideStatus *kp)
 
void reset_kpad (KPADInsideStatus *kp)
 
void KPADSetSensorHeight (s32 chan, f32 level)
 
void calc_button_repeat (KPADInsideStatus *kp, KPADStatus *status, u32 dev_type)
 
void read_kpad_button (KPADInsideStatus *kp, KPADUnifiedWpadStatus *status, u32 dev_type)
 
void calc_acc (KPADInsideStatus *kp, f32 *acc, f32 acc2)
 
static void calc_acc_horizon (KPADInsideStatus *kp)
 
static void calc_acc_vertical (KPADInsideStatus *kp)
 
static f32 clamp_acc (f32 acc, f32 clamp)
 
void read_kpad_acc (KPADInsideStatus *kp, KPADUnifiedWpadStatus *uwp, u32 dev_type, s32 chan)
 
void get_kobj (KPADInsideStatus *kp, KPADUnifiedWpadStatus *status, u32 dev_type)
 
s8 select_2obj_first (KPADInsideStatus *kp)
 
static s8 select_2obj_continue (KPADInsideStatus *kp)
 
static s8 select_1obj_first (KPADInsideStatus *kp)
 
s8 select_1obj_continue (KPADInsideStatus *kp)
 
static void calc_dpd_variable (KPADInsideStatus *kp, s8 valid_fg_next)
 
static void calc_obj_horizon (KPADInsideStatus *kp)
 
static void check_kobj_outside_frame (KPADObject *kobj_t)
 
static void check_kobj_same_position (KPADObject *kobj_t)
 
void read_kpad_dpd (KPADInsideStatus *kp, KPADUnifiedWpadStatus *uwp, u32 dev_type)
 
static void clamp_stick_circle (Vec2 *stick, s32 sx, s32 sy, s32 min, s32 max)
 
static void clamp_trigger (f32 *trigger, s32 tr, s32 min, s32 max)
 
static void clamp_stick (Vec2 *stick, s32 x, s32 y, s32 min, s32 max)
 
static f32 calc_horizon (KPADInsideStatus *kp, Vec2 *p1, Vec2 *p2, Vec2 *hori)
 
static void clamp_stick_cross (Vec2 *stick, s32 sx, s32 sy, s32 min, s32 max)
 
void read_kpad_stick (KPADInsideStatus *kp, KPADUnifiedWpadStatus *uwp)
 
s32 check_device (s32 chan, KPADInsideStatus *kp)
 
s32 KPADRead (s32 chan, KPADStatus *sampling_bufs, s32 length)
 
s32 KPADiRead (s32 chan, KPADStatus *sampling_bufs, s32 length, s32 param_3, s32 param_4)
 

Variables

static const char * __KPADVersion = "<< RVL_SDK - KPAD \trelease build: Oct 4 2006 11:56:50 (0x4199_60726) >>"
 
static Vec2 icenter_org = {0.000f, 0.000f}
 
static f32 idist_org = 1.000f
 
static Vec2 iaccXY_nrm_hori = {0.000f, -1.000f}
 
static Vec2 isec_nrm_hori = {1.000f, 0.000f}
 
f32 kp_obj_interval = 0.200f
 
f32 kp_acc_horizon_pw = 0.050f
 
f32 kp_ah_circle_radius = 0.070f
 
f32 kp_ah_circle_pw = 0.060f
 
u16 kp_ah_circle_ct = 100
 
f32 kp_err_outside_frame = 0.050f
 
f32 kp_err_dist_min
 
f32 kp_err_dist_max = 3.000f
 
f32 kp_err_dist_speed = 0.040f
 
f32 kp_err_first_inpr = 0.900f
 
f32 kp_err_next_inpr = 0.900f
 
f32 kp_err_acc_inpr = 0.900f
 
f32 kp_err_up_inpr = 0.700f
 
f32 kp_err_near_pos = 0.100f
 
static Vec2 kobj_frame_min
 
static Vec2 kobj_frame_max
 
static f32 kp_err_dist_speed_1
 
static f32 kp_err_dist_speedM_1
 
static f32 kp_ah_circle_radius2
 
static f32 kp_dist_vv1
 
static s32 kp_fs_fstick_min = 15
 
static s32 kp_fs_fstick_max = 71
 
static s32 kp_cl_stick_min = 60
 
static s32 kp_cl_stick_max = 308
 
static s32 kp_cl_trigger_min = 30
 
static s32 kp_cl_trigger_max = 180
 
static f32 kp_rm_acc_max = 3.4f
 
static f32 kp_fs_acc_max = 2.1f
 
KPADInsideStatus inside_kpads [WPAD_MAX_CONTROLLERS]
 
static Vec2 Vec2_0 = {0.0f, 0.0f}
 

Function Documentation

◆ calc_acc()

void calc_acc ( KPADInsideStatus * kp,
f32 * acc,
f32 acc2 )

◆ calc_acc_horizon()

static void calc_acc_horizon ( KPADInsideStatus * kp)
static

◆ calc_acc_vertical()

static void calc_acc_vertical ( KPADInsideStatus * kp)
static

◆ calc_button_repeat()

void calc_button_repeat ( KPADInsideStatus * kp,
KPADStatus * status,
u32 dev_type )

◆ calc_dpd2pos_scale()

static void calc_dpd2pos_scale ( KPADInsideStatus * kp)
static

◆ calc_dpd_variable()

static void calc_dpd_variable ( KPADInsideStatus * kp,
s8 valid_fg_next )
static

◆ calc_horizon()

static f32 calc_horizon ( KPADInsideStatus * kp,
Vec2 * p1,
Vec2 * p2,
Vec2 * hori )
static

◆ calc_obj_horizon()

static void calc_obj_horizon ( KPADInsideStatus * kp)
static

◆ check_device()

s32 check_device ( s32 chan,
KPADInsideStatus * kp )

◆ check_kobj_outside_frame()

static void check_kobj_outside_frame ( KPADObject * kobj_t)
static

◆ check_kobj_same_position()

static void check_kobj_same_position ( KPADObject * kobj_t)
static

◆ clamp_acc()

static f32 clamp_acc ( f32 acc,
f32 clamp )
static

◆ clamp_stick()

static void clamp_stick ( Vec2 * stick,
s32 x,
s32 y,
s32 min,
s32 max )
static

◆ clamp_stick_circle()

static void clamp_stick_circle ( Vec2 * stick,
s32 sx,
s32 sy,
s32 min,
s32 max )
static

◆ clamp_stick_cross()

static void clamp_stick_cross ( Vec2 * stick,
s32 sx,
s32 sy,
s32 min,
s32 max )
static

◆ clamp_trigger()

static void clamp_trigger ( f32 * trigger,
s32 tr,
s32 min,
s32 max )
static

◆ DEBUGPrint()

void DEBUGPrint ( const char * fmt,
... )

◆ get_kobj()

void get_kobj ( KPADInsideStatus * kp,
KPADUnifiedWpadStatus * status,
u32 dev_type )

◆ KPADiRead()

s32 KPADiRead ( s32 chan,
KPADStatus * sampling_bufs,
s32 length,
s32 param_3,
s32 param_4 )

◆ KPADRead()

s32 KPADRead ( s32 chan,
KPADStatus * sampling_bufs,
s32 length )

◆ KPADSetAccParam()

void KPADSetAccParam ( s32 chan,
f32 play_radius,
f32 sensitivity )

◆ KPADSetBtnRepeat()

void KPADSetBtnRepeat ( s32 chan,
f32 delay_sec,
f32 pulse_sec )

◆ KPADSetDistParam()

void KPADSetDistParam ( s32 chan,
f32 play_radius,
f32 sensitivity )

◆ KPADSetFSStickClamp()

void KPADSetFSStickClamp ( s8 min,
s8 max )

◆ KPADSetHoriParam()

void KPADSetHoriParam ( s32 chan,
f32 play_radius,
f32 sensitivity )

◆ KPADSetObjInterval()

void KPADSetObjInterval ( f32 interval)

◆ KPADSetPosParam()

void KPADSetPosParam ( s32 chan,
f32 play_radius,
f32 sensitivity )

◆ KPADSetSensorHeight()

void KPADSetSensorHeight ( s32 chan,
f32 level )

◆ read_kpad_acc()

void read_kpad_acc ( KPADInsideStatus * kp,
KPADUnifiedWpadStatus * uwp,
u32 dev_type,
s32 chan )

◆ read_kpad_button()

void read_kpad_button ( KPADInsideStatus * kp,
KPADUnifiedWpadStatus * status,
u32 dev_type )

◆ read_kpad_dpd()

void read_kpad_dpd ( KPADInsideStatus * kp,
KPADUnifiedWpadStatus * uwp,
u32 dev_type )

◆ read_kpad_stick()

void read_kpad_stick ( KPADInsideStatus * kp,
KPADUnifiedWpadStatus * uwp )

◆ reset_kpad()

void reset_kpad ( KPADInsideStatus * kp)

◆ select_1obj_continue()

s8 select_1obj_continue ( KPADInsideStatus * kp)

◆ select_1obj_first()

static s8 select_1obj_first ( KPADInsideStatus * kp)
static

◆ select_2obj_continue()

static s8 select_2obj_continue ( KPADInsideStatus * kp)
static

◆ select_2obj_first()

s8 select_2obj_first ( KPADInsideStatus * kp)

Variable Documentation

◆ __KPADVersion

const char* __KPADVersion = "<< RVL_SDK - KPAD \trelease build: Oct 4 2006 11:56:50 (0x4199_60726) >>"
static

◆ iaccXY_nrm_hori

Vec2 iaccXY_nrm_hori = {0.000f, -1.000f}
static

◆ icenter_org

Vec2 icenter_org = {0.000f, 0.000f}
static

◆ idist_org

f32 idist_org = 1.000f
static

◆ inside_kpads

KPADInsideStatus inside_kpads[WPAD_MAX_CONTROLLERS]

◆ isec_nrm_hori

Vec2 isec_nrm_hori = {1.000f, 0.000f}
static

◆ kobj_frame_max

Vec2 kobj_frame_max
static

◆ kobj_frame_min

Vec2 kobj_frame_min
static

◆ kp_acc_horizon_pw

f32 kp_acc_horizon_pw = 0.050f

◆ kp_ah_circle_ct

u16 kp_ah_circle_ct = 100

◆ kp_ah_circle_pw

f32 kp_ah_circle_pw = 0.060f

◆ kp_ah_circle_radius

f32 kp_ah_circle_radius = 0.070f

◆ kp_ah_circle_radius2

f32 kp_ah_circle_radius2
static

◆ kp_cl_stick_max

s32 kp_cl_stick_max = 308
static

◆ kp_cl_stick_min

s32 kp_cl_stick_min = 60
static

◆ kp_cl_trigger_max

s32 kp_cl_trigger_max = 180
static

◆ kp_cl_trigger_min

s32 kp_cl_trigger_min = 30
static

◆ kp_dist_vv1

f32 kp_dist_vv1
static

◆ kp_err_acc_inpr

f32 kp_err_acc_inpr = 0.900f

◆ kp_err_dist_max

f32 kp_err_dist_max = 3.000f

◆ kp_err_dist_min

f32 kp_err_dist_min

◆ kp_err_dist_speed

f32 kp_err_dist_speed = 0.040f

◆ kp_err_dist_speed_1

f32 kp_err_dist_speed_1
static

◆ kp_err_dist_speedM_1

f32 kp_err_dist_speedM_1
static

◆ kp_err_first_inpr

f32 kp_err_first_inpr = 0.900f

◆ kp_err_near_pos

f32 kp_err_near_pos = 0.100f

◆ kp_err_next_inpr

f32 kp_err_next_inpr = 0.900f

◆ kp_err_outside_frame

f32 kp_err_outside_frame = 0.050f

◆ kp_err_up_inpr

f32 kp_err_up_inpr = 0.700f

◆ kp_fs_acc_max

f32 kp_fs_acc_max = 2.1f
static

◆ kp_fs_fstick_max

s32 kp_fs_fstick_max = 71
static

◆ kp_fs_fstick_min

s32 kp_fs_fstick_min = 15
static

◆ kp_obj_interval

f32 kp_obj_interval = 0.200f

◆ kp_rm_acc_max

f32 kp_rm_acc_max = 3.4f
static

◆ Vec2_0

Vec2 Vec2_0 = {0.0f, 0.0f}
static