/*!

	パッド周り

*/
#if defined HELPER_PAD_INCLUDED___
  #endinput
#endif
#define HELPER_PAD_INCLUDED___

static State;	//ボタンが押されているか
static Press;	//ボタンが押された瞬間か
static Release;	//ボタンが離された瞬間か
static Repeat;	//ボタンが押された瞬間、又はリピートした瞬間か

stock UpdatePadState() {
	PadState(State, Press, Release, Repeat);
}

stock GetState(const mask) {
	return (State & mask);
}
stock GetPressState(const mask) {
	return (Press & mask);
}
stock GetRepeatState(const mask) {
	return (Repeat & mask);
}
//////////////////////////////////////////////////////////////////////////////////
/*!
	ステート方向キーの取得
*/
stock GetUpState() {
	return (State & ePADLup);
}
stock GetDownState() {
	return (State & ePADLdown);
}
stock GetLeftState() {
	return (State & ePADLleft);
}
stock GetRightState() {
	return (State & ePADLright);
}
stock GetL1ButtonState() {
	return (State & ePADL1);
}
stock GetR1ButtonState() {
	return (State & ePADR1);
}

//////////////////////////////////////////////////////////////////////////////////
/*!
	リピート方向キーの取得
*/
stock GetRepeatUpState() {
	return (Repeat & ePADLup);
}
stock GetRepeatDownState() {
	return (Repeat & ePADLdown);
}
stock GetRepeatLeftState() {
	return (Repeat & ePADLleft);
}
stock GetRepeatRightState() {
	return (Repeat & ePADLright);
}
//////////////////////////////////////////////////////////////////////////////////
/*!
	リピートボタンの取得
*/
stock GetRepeatDownButtonState() {
	return (Repeat & ePADRdown);
}
stock GetRepeatRightButtonState() {
	return (Repeat & ePADRright);
}

//////////////////////////////////////////////////////////////////////////////////
/*!
	プレス方向キーの取得
*/
stock GetPressUpState() {
	return (Press & ePADLup);
}
stock GetPressDownState() {
	return (Press & ePADLdown);
}
stock GetPressLeftState() {
	return (Press & ePADLleft);
}
stock GetPressRightState() {
	return (Press & ePADLright);
}
//////////////////////////////////////////////////////////////////////////////////
/*!
	プレスボタンの取得
*/
stock GetPressStartButtonState() {
	return (Press & ePADstart);
}
stock GetPressDownButtonState() {
	return (Press & ePADRdown);
}
stock GetPressRightButtonState() {
	return (Press & ePADRright);
}
stock GetPressL1ButtonState() {
	return (Press & ePADL1);
}
stock GetPressR1ButtonState() {
	return (Press & ePADR1);
}

//////////////////////////////////////////////////////////////////////////////////
/*!
	入力があるか調べる
*/
stock IsDirectionButtonsState() {
	return (GetUpState() | GetDownState() | GetLeftState() | GetRightState());
}
