#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 );
| 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_* |
None.
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.




PADClampCircle, PADInit, PADRead, PADStatus
2007/09/26 Revised PAD_STICK_CIRCLE_* in the Description section to PAD_STICK_CLAMP_CIRCLE_*.
2006/09/07 Initial version.
CONFIDENTIAL