PADClampCircle2

Syntax

#include <revolution/pad.h>

#define PAD_STICK_CLAMP_CIRCLE_WITH_MARGE       2
#define PAD_STICK_CLAMP_CIRCLE_WITHOUT_MARGE    3

void PADClampCircleEx(PADStatus* status, u32 type );

Arguments

status Array [PAD_MAX_CONTROLLERS] of PADStatus to be clamped. If the err member stores PAD_ERR_NONE, the analog stick input value is clamped according to the algorithm below.
type One of PAD_STICK_CLAMP_CIRCLE_*

Return Values

None.

Description

This function allows the value of analog stick input to be obtained in a broader range than is possible with the PADClampCircle function used with the Dolphin SDK. PADClampCircle2 takes an array of PADStatus type as an argument. The number of elements in this array is indicated by PAD_MAX_CONTROLLERS. PADClampCircle2 clamps all PADStatus at once.

Unlike the PADClampCircle function, the analog trigger input is not clamped.

Clamp algorithm (Analog stick): Specifications can be made using type as shown in the figure below.
If PAD_STICK_CLAMP_CIRCLE_WITH_MARGE is specified, the dead zone of the analog stick is clamped and the outside of an octagonal or circular shape is clamped. This allows the value of analog stick input to be obtained in a broader range than is possible with the PADClampCircle function used with the Dolphin SDK. If PAD_STICK_CLAMP_CIRCLE_WITHOUT_MARGE is specified, only the outside of a circle around the analog stick is clamped, as shown in the figure below. More accurate movement in the diagonal direction that straddles each axis can be gotten when the dead zone is not clamped. The outside of a circle having a radius of 80 around the control stick is clamped. The outside of a circle having a radius of 68 around the C stick is clamped.

padclampcircleM1.gif

padclampcircleM2.gif

padclampcircleC1.gif

padclampcircleC2.gif

See Also

PADClampCircle, PADInit, PADRead, PADStatus

Revision History

2007/09/26 Revised PAD_STICK_CIRCLE_* in the Description section to PAD_STICK_CLAMP_CIRCLE_*.
2006/09/07 Initial version.


CONFIDENTIAL