13#pragma warning ( disable:4668)
16GX_CORE_NAMESPACE_BEGIN()
47 static constexpr u32 BUTTON_NULL = 0;
48 static constexpr u32 SELECT = (1 << 0);
49 static constexpr u32 START = (1 << 1);
50 static constexpr u32 LEFT_UP = (1 << 2);
51 static constexpr u32 LEFT_RIGHT = (1 << 3);
52 static constexpr u32 LEFT_DOWN = (1 << 4);
53 static constexpr u32 LEFT_LEFT = (1 << 5);
54 static constexpr u32 RIGHT_UP = (1 << 6);
55 static constexpr u32 RIGHT_RIGHT = (1 << 7);
56 static constexpr u32 RIGHT_DOWN = (1 << 8);
57 static constexpr u32 RIGHT_LEFT = (1 << 9);
58 static constexpr u32 LEFT_1 = (1 << 10);
59 static constexpr u32 RIGHT_1 = (1 << 11);
60 static constexpr u32 LEFT_2 = (1 << 12);
61 static constexpr u32 RIGHT_2 = (1 << 13);
62 static constexpr u32 LEFT_3 = (1 << 14);
63 static constexpr u32 RIGHT_3 = (1 << 15);
66 static constexpr u32 STICK_LEFT_UP = (1 << 16);
67 static constexpr u32 STICK_LEFT_RIGHT = (1 << 17);
68 static constexpr u32 STICK_LEFT_DOWN = (1 << 18);
69 static constexpr u32 STICK_LEFT_LEFT = (1 << 19);
70 static constexpr u32 STICK_RIGHT_UP = (1 << 20);
71 static constexpr u32 STICK_RIGHT_RIGHT = (1 << 21);
72 static constexpr u32 STICK_RIGHT_DOWN = (1 << 22);
73 static constexpr u32 STICK_RIGHT_LEFT = (1 << 23);
76 static constexpr u32 OK = (1 << 24);
77 static constexpr u32 CANCEL = (1 << 25);
80 static constexpr u32 MINUS_NX = (1 << 0);
81 static constexpr u32 PLUS_NX = (1 << 1);
82 static constexpr u32 LEFT_SL_NX = (1 << 26);
83 static constexpr u32 LEFT_SR_NX = (1 << 27);
84 static constexpr u32 RIGHT_SL_NX = (1 << 28);
85 static constexpr u32 RIGHT_SR_NX = (1 << 29);
88 static constexpr u32 STICK_LEFT_AXIS_X = 0;
89 static constexpr u32 STICK_LEFT_AXIS_Y = 1;
90 static constexpr u32 STICK_RIGHT_AXIS_X = 2;
91 static constexpr u32 STICK_RIGHT_AXIS_Y = 3;
94 static constexpr u32 BUTTON_ALL = 0xFFFFFFFF;
96 static constexpr u32 PHISICAL_BUTTON_MAX = 24;
98 static constexpr u32 BUTTON_MAX = 26;
100 static constexpr s32 STICK_VALUE_MAX = 32767;
102 static constexpr s32 STICK_VALUE_MIN = -32768;
104 static constexpr u32 TRIGGER_VALUE_MAX = 255;
158 s32 _repeatCount[BUTTON_MAX];
215#if defined(_PS4) || defined(_PS5)
224 GX_RTTI_STRUCT(GxTrackerData)
233 GxTrackerData(
void){ clear(); }
250 GX_FORCE_INLINE
static s32
RatioToStick(f32 ratio) {
return static_cast<s32
>(
static_cast<f32
>(STICK_VALUE_MAX) * ratio); }
252 GX_FORCE_INLINE
static s32
RatioToTrigger(f32 ratio) {
return static_cast<s32
>(
static_cast<f32
>(TRIGGER_VALUE_MAX) * ratio); }
265 b32 initialize(
void)
override;
267 void clear(
void)
override;
276 void getInputDataDevice(
void)
override;
278 void update(
void)
override;
281 void startRecord(
void);
284 void startPlay(void);
286 void stopPadRecorder(
void);
288 void saveInput(
void)
override;
290 void loadInput(
void)
override;
293 void developRender(
void)
override {}
296 void developRenderButton(
const GxPoint2& position);
298 GX_FORCE_INLINE
void getRatioStickLeftXProperty(
void*
const pValue)
const { *
static_cast<f32*
>(pValue) = getRatioStickLeftX(); }
300 GX_FORCE_INLINE
void getRatioStickLeftYProperty(
void*
const pValue)
const { *
static_cast<f32*
>(pValue) = getRatioStickLeftY(); }
302 GX_FORCE_INLINE
void getRatioStickRightXProperty(
void*
const pValue)
const { *
static_cast<f32*
>(pValue) = getRatioStickRightX(); }
304 GX_FORCE_INLINE
void getRatioStickRightYProperty(
void*
const pValue)
const { *
static_cast<f32*
>(pValue) = getRatioStickRightY(); }
306 GX_FORCE_INLINE
void getRatioTriggerLeftProperty(
void*
const pValue)
const { *
static_cast<f32*
>(pValue) = getRatioTriggerLeft(); }
308 GX_FORCE_INLINE
void getRatioTriggerRightProperty(
void*
const pValue)
const { *
static_cast<f32*
>(pValue) = getRatioTriggerRight(); }
312 virtual void updateTouch(
void);
314 virtual void updateMotion(
void);
316 virtual void updateVibration(
void);
319 void loadResourceRecorder(PAD_RECORDER padRecorder);
333 GX_FORCE_INLINE s32
getStickLeftX(
void)
const {
return _inputData._stickLeftX; }
335 GX_FORCE_INLINE s32
getStickLeftY(
void)
const {
return _inputData._stickLeftY; }
337 GX_FORCE_INLINE s32
getStickRightX(
void)
const {
return _inputData._stickRightX; }
339 GX_FORCE_INLINE s32
getStickRightY(
void)
const {
return _inputData._stickRightY; }
341 GX_FORCE_INLINE u8
getTriggerLeft(
void)
const {
return _inputData._triggerLeft; }
346 GX_FORCE_INLINE
b32 isOn(u32 bit = BUTTON_ALL)
const {
return (_inputData._on & bit) ? true :
false; }
348 GX_FORCE_INLINE
b32 isOld(u32 bit = BUTTON_ALL)
const {
return (_old & bit) ? true :
false; }
350 GX_FORCE_INLINE
b32 isTrigger(u32 bit = BUTTON_ALL)
const {
return (_trigger & bit) ? true :
false; }
352 GX_FORCE_INLINE
b32 isRelease(u32 bit = BUTTON_ALL)
const {
return (_release & bit) ? true :
false; }
354 GX_FORCE_INLINE
b32 isChange(u32 bit = BUTTON_ALL)
const {
return (_change & bit) ? true :
false; }
356 GX_FORCE_INLINE
b32 isRepeat(u32 bit = BUTTON_ALL)
const {
return (_repeat & bit) ? true :
false; }
360 constexpr void setMarginStickLeft(u32 margin){ _margin._stickLeftAnalogX = _margin._stickLeftAnalogY = _margin._stickLeftX = _margin._stickLeftY =
static_cast<s32
>(margin); }
362 constexpr void setMarginStickRight(u32 margin){ _margin._stickRightAnalogX = _margin._stickRightAnalogY = _margin._stickRightX = _margin._stickRightY =
static_cast<s32
>(margin); }
369 constexpr void setMarginStickLeftOnOff(u32 marginX, u32 marginY){ _margin._stickLeftX =
static_cast<s32
>(marginX); _margin._stickLeftY =
static_cast<s32
>(marginY); }
371 constexpr void setMarginStickRightOnOff(u32 marginX, u32 marginY){ _margin._stickRightX =
static_cast<s32
>(marginX); _margin._stickRightY =
static_cast<s32
>(marginY); }
378 constexpr void setMarginStickLeftAnalog(u32 marginX, u32 marginY){ _margin._stickLeftAnalogX =
static_cast<s32
>(marginX); _margin._stickLeftAnalogY =
static_cast<s32
>(marginY); }
380 constexpr void setMarginStickRightAnalog(u32 marginX, u32 marginY){ _margin._stickRightAnalogX =
static_cast<s32
>(marginX); _margin._stickRightAnalogY =
static_cast<s32
>(marginY); }
387 constexpr void setMarginStickLeftClip(u32 clipX, u32 clipY){ _margin._stickLeftClipX =
static_cast<s32
>(clipX); _margin._stickLeftClipY =
static_cast<s32
>(clipY); }
389 constexpr void setMarginStickRightClip(u32 clipX, u32 clipY){ _margin._stickRightClipX =
static_cast<s32
>(clipX); _margin._stickRightClipY =
static_cast<s32
>(clipY); }
396 GX_FORCE_INLINE f32
getRatioStickLeftX(
void)
const {
return getRatioStick(_inputData._stickLeftX, _margin._stickLeftAnalogX, _margin._stickLeftClipX); }
398 GX_FORCE_INLINE f32
getRatioStickLeftY(
void)
const {
return getRatioStick(_inputData._stickLeftY, _margin._stickLeftAnalogY, _margin._stickLeftClipY); }
400 GX_FORCE_INLINE f32
getRatioStickRightX(
void)
const {
return getRatioStick(_inputData._stickRightX, _margin._stickRightAnalogX, _margin._stickRightClipX); }
402 GX_FORCE_INLINE f32
getRatioStickRightY(
void)
const {
return getRatioStick(_inputData._stickRightY, _margin._stickRightAnalogY, _margin._stickRightClipY); }
404 GX_FORCE_INLINE f32
getRatioTriggerLeft(
void)
const {
return getRatioTrigger(_inputData._triggerLeft, _margin._triggerLeftAnalog, _margin._triggerLeftClip); }
406 GX_FORCE_INLINE f32
getRatioTriggerRight(
void)
const {
return getRatioTrigger(_inputData._triggerRight, _margin._triggerRightAnalog, _margin._triggerRightClip); }
416 f32 getRatioStick(s32 value, s32 margin, s32 clip = 0)
const;
418 f32 getRatioTrigger(s32 value, s32 margin, s32 clip = 0)
const;
420 GX_FORCE_INLINE
b32 isOk(
void)
override {
return isTrigger(OK); }
422 GX_FORCE_INLINE
b32 isCancel(
void)
override {
return isTrigger(CANCEL); }
431 constexpr GxTrackerData* getTrackerData(
void)
const {
return _pTrackerData; }
456 s32 _repeatCount[BUTTON_MAX];
468 GxTouch* _pTouch[
static_cast<s32
>(TOUCH_PANEL::MAX)];
470#if defined(_PS4) || defined(_PS5)
471 GxTrackerData* _pTrackerData;
545 GxNativeInputVibration _vibration;
581 void addRequest(f32 time,
const GxNativeInputVibration& value);
598 constexpr f32
getPower(
void)
const {
return _power; }
602 GX_FORCE_INLINE
const GxNativeInputVibration& getValue(
void)
const {
return _nativeVibration; }
615 GxNativeInputVibration _nativeVibration;
642 void updateStyle(
const GxNativePadId& padId);
664 constexpr u32 getHandleCount(
void)
const {
return _handleCount; }
676 GxNativeInputVibrationHandle _handles[
static_cast<s32
>(
MOTOR::MAX)];
684#if !defined(GX_TOUCH_POINT_MAX)
685#define GX_TOUCH_POINT_MAX 6
703#if defined(_PS4) || defined(_WINDOWS) || defined(_PS5)
704 friend class GxPadPs4;
714 GX_RTTI_STRUCT(GxTouchInformation)
724 GX_RTTI_STRUCT(GxTouchResolution)
745 GxTouchResolution _resolution;
759 GX_RTTI_STRUCT(GxTouchPointData)
771#if defined(_PS4) || defined(_WINDOWS) || defined(_NX64) || defined(_PS5)
786 GX_RTTI_STRUCT(GxTouchData)
795 GX_FORCE_INLINE
void clear(
void){ GX_MEMSET(
this, 0,
sizeof(GxTouchData)); }
822 void initialize(
void);
836 void outputError(s32 error);
847 void setEnable(
b32 on);
850 constexpr u32
getTouchCount(
void)
const {
return _touchData._positionCount; }
852 GX_FORCE_INLINE
GxPoint2 getPoint(u32 pointNo)
const {
return GxPoint2(
static_cast<s32
>(_touchData._point[pointNo]._x),
static_cast<s32
>(_touchData._point[pointNo]._y)); }
854#if defined(_PS4) || defined(_WINDOWS) || defined(_PS5)
856 constexpr s32 getHandle(
void)
const {
return _handle; }
858 constexpr void setHandle(s32 handle){ _handle = handle; }
860 constexpr f32 getTouchPixelDensity(
void)
const {
return _touchInformation._pixelDensity; }
862 GX_FORCE_INLINE
GxPoint2 getTouchResolution(
void)
const {
return GxPoint2(_touchInformation._resolution._x, _touchInformation._resolution._y); }
870#if defined(_PS4) || defined(_WINDOWS) || defined(_PS5)
871 GxTouchInformation _touchInformation;
873 GxTouchData _touchData;
876#if defined(_WINDOWS) || defined(_PS4) || defined(_PS5)
897#if defined(_WINDOWS) || defined(_PS4) || defined(_PS5)
898 friend class GxPadPs4;
900 friend class GxPadNX;
901 static constexpr u32 SENSOR_HANDLE_COUNT_MAX = 2;
912 GX_RTTI_STRUCT(GxLocationData)
933 GX_RTTI_STRUCT(GxMotionData)
942 GX_FORCE_INLINE
void clear(
void) { GX_MEMSET(
this, 0,
sizeof(GxMotionData)); }
981 void outputError(s32 error);
992 void setEnable(
b32 on);
1003 GX_FORCE_INLINE
const GxVector3& getAccelerationLeft(
void)
const {
return _motionData._acceleration; }
1005 GX_FORCE_INLINE
const GxVector3& getAngularVelocityLeft(
void)
const {
return _motionData._angularVelocity; }
1007 GX_FORCE_INLINE
const GxQuaternion& getRotationQuaternionLeft(
void)
const {
return _motionData._deviceQuaternion; }
1009 GX_FORCE_INLINE
const GxVector3& getAngleLeft(
void)
const {
return _motionData._angle; }
1012 GX_FORCE_INLINE
const GxVector3& getAccelerationRight(
void)
const {
return _motionData2._acceleration; }
1014 GX_FORCE_INLINE
const GxVector3& getAngularVelocityRight(
void)
const {
return _motionData2._angularVelocity; }
1016 GX_FORCE_INLINE
const GxQuaternion& getRotationQuaternionRight(
void)
const {
return _motionData2._deviceQuaternion; }
1018 GX_FORCE_INLINE
const GxVector3& getAngleRight(
void)
const {
return _motionData2._angle; }
1021 constexpr u32 getHandleCount(
void)
const {
return _handleCount; }
1023 const nn::hid::SixAxisSensorState* getSensorStateRawLeft(
void)
const;
1025 const nn::hid::SixAxisSensorState* getSensorStateRawRight(
void)
const;
1029 void setSensorEnable(
b32 on);
1031 void updateStyle(
const GxNativePadId& padId);
1040 GxMotionData _motionData;
1042 GxMotionData _motionData2;
1044 GxNativePadAxisHandle _handles[SENSOR_HANDLE_COUNT_MAX];
1053#if defined(_WINDOWS) || defined(_XBOX_XS)
1057class GxPadXbox :
public GxPad
1064 GX_RTTI_CLASS(GxPadXbox,
GxPad)
1069 static constexpr s32 RETRY_WAIT_COUNT = 30;
1078 GxPadXbox(
void) : _enableFlag(false){}
1080 ~GxPadXbox(
void)
override {}
1082 b32 initialize(
void)
override;
1084 GX_FORCE_INLINE
void clear(
void)
override { Super::clear(); }
1093 void getInputDataDevice(
void)
override;
1096 void updateVibration(
void)
override;
1105 GX_FORCE_INLINE
b32 isEnable(
void)
const override {
return _enableFlag; }
1113 s32 _retryWaitCounter;
1120#if defined(_WINDOWS) || defined(_PS4) || defined(_PS5)
1124class GxPadPs4 :
public GxPad
1131 GX_RTTI_CLASS(GxPadPs4,
GxPad)
1146 ~GxPadPs4(
void)
override {}
1148 b32 initialize(
void)
override;
1156 void getInputDataDevice(
void)
override;
1159 static b32 loadPadFunctions(
void);
1161 static void unloadPadFunctions(
void);
1165 void updateVibration(
void)
override;
1168 void updateEnable(
void);
1171 void updateRegistrationOfTracking(
void);
1174 virtual void onChangeUserId(
void);
1184 GX_FORCE_INLINE s32 getUserId(
void)
const override {
return _userId; }
1186 void setUserId(s32
id)
override;
1189 GX_FORCE_INLINE
b32 isEnable(
void)
const override {
return _isEnable; }
1191 GX_FORCE_INLINE
virtual void setEnable(
b32 isEnable) { _isEnable = isEnable; }
1194 GX_FORCE_INLINE
virtual s32 getHandle(
void)
const {
return _handle; }
1196 GX_FORCE_INLINE
virtual void setHandle(s32 handle) { _handle = handle; }
1199 GX_FORCE_INLINE
static b32 isUseVrTracker(
void) {
return _isUseVrTracker; }
1201 GX_FORCE_INLINE
static void setUseVrTracker(
b32 isUse ){ _isUseVrTracker = isUse; }
1206 GX_FORCE_INLINE
void setStickClamp(
b32 enable) { _isStickClamp = enable; }
1209 constexpr u8 getStickDeadZoneLeft(
void)
const {
return _deadZoneLeft; }
1212 constexpr u8 getStickDeadZoneRight(
void)
const {
return _deadZoneRight; }
1228 static b32 _isUseVrTracker;
1230 b32 _isRegisteredToVrTracker;
1240class GxPadNX :
public GxPad
1247 GX_RTTI_CLASS(GxPadNX,
GxPad)
1252 enum class PAD_STYLE
1266 PAD_STYLE_MASK_FULLKEY = 0x01,
1267 PAD_STYLE_MASK_DUAL = 0x02,
1268 PAD_STYLE_MASK_LEFT = 0x04,
1269 PAD_STYLE_MASK_RIGHT = 0x08,
1281 ~GxPadNX(
void)
override {}
1283 b32 initialize(
void)
override;
1292 void updatePadColor(PAD_STYLE newStyle);
1295 void getInputDataDevice(
void)
override;
1298 void updateVibration(
void)
override;
1307 GX_FORCE_INLINE
b32 isEnable(
void)
const override {
return _enableFlag; }
1309 constexpr GxNativePadId getNpadId(
void)
const {
return _padId; }
1311 constexpr PAD_STYLE getStyle(
void)
const {
return _style; }
1313 GX_FORCE_INLINE
const GxColor& getMainColorLeft(
void)
const {
return _mainColorL; }
1315 GX_FORCE_INLINE
const GxColor& getSubColorLeft(
void)
const {
return _subColorL; }
1317 GX_FORCE_INLINE
const GxColor& getMainColorRight(
void)
const {
return _mainColorR; }
1319 GX_FORCE_INLINE
const GxColor& getSubColorRight(
void)
const {
return _subColorR; }
1333 GxNativePadId _padId;
1339#if defined(_WINDOWS)
1343class GxPadPc :
public GxPad
1350 GX_RTTI_CLASS(GxPadPc,
GxPad)
1355 enum class TRIGGER_TYPE
1370 GX_RTTI_STRUCT(GxRemapData)
1373 static constexpr u32 MAX_BUTTONS = 16;
1375 static constexpr u32 MAX_AXES = 4;
1384 GxRemapData(
void) { initializeDefault(); }
1386 void initializeDefault(
void);
1397 void swapButton(u32 buttonIdA, u32 buttonIdB);
1399 void swapStickAxis(u32 stickIdA, u32 stickIdB);
1401 void setStickReverse(
b32 leftX,
b32 leftY,
b32 rightX,
b32 rightY);
1403 void getStickReverse(
b32* pLeftX,
b32* pLeftY,
b32* pRightX,
b32* pRightY)
const;
1405 void setStickOffset(s32 leftOffX, s32 leftOffY, s32 rightOffX, s32 rightOffY);
1407 void getStickOffset(s32* pLeftOffX, s32* pLeftOffY, s32* pRightOffX, s32* pRightOffY)
const;
1415 s32 _stickLeftOffsetX;
1416 s32 _stickLeftOffsetY;
1417 s32 _stickRightOffsetX;
1418 s32 _stickRightOffsetY;
1419 s32 _stickLeftReverseX;
1420 s32 _stickLeftReverseY;
1421 s32 _stickRightReverseX;
1422 s32 _stickRightReverseY;
1423 u8 _remapButtons[MAX_BUTTONS];
1424 u8 _remapSticks[MAX_AXES];
1438 ~GxPadPc(
void)
override;
1440 b32 initialize(
void)
override;
1442 GX_FORCE_INLINE
void clear(
void)
override { Super::clear(); }
1451 void getInputDataDevice(
void)
override;
1454 static b32 isPadXbox(
const GUID* pGuid);
1456 static BOOL CALLBACK enumDeviceCallback(
const DIDEVICEINSTANCE* pDeviceInstance,
void* pContext);
1458 static BOOL CALLBACK enumObjectsCallback(
const DIDEVICEOBJECTINSTANCE* pDeviceObjectInstance,
void* pContext);
1460 b32 createDirectInputDevice(
void);
1462 void releaseDirectInputDevice(
void);
1471 GX_FORCE_INLINE
b32 isEnable(
void)
const override {
return _enableFlag; }
1473 constexpr IDirectInputDevice8* getDirectInputDevice(
void)
const {
return _pDirectInputDevice; }
1475 constexpr u32 getNumButtons(
void)
const {
return _numButtons; }
1477 constexpr u32 getNumPOVs(
void)
const {
return _numPOVs; }
1479 constexpr u32 getNumAxes(
void)
const {
return _numAxes; }
1481 GX_FORCE_INLINE
const GxString& getProductGUID(
void)
const {
return _productGUID; }
1483 GX_FORCE_INLINE
const GxString& getProductName(
void)
const {
return _productName; }
1485 GX_FORCE_INLINE GxRemapData* getRemapData(
void) {
return &_remapData; }
1493 IDirectInputDevice8* _pDirectInputDevice;
1494 TRIGGER_TYPE _triggerType;
1503 GxRemapData _remapData;
1512class GxPadVirtual :
public GxPad
1519 GX_RTTI_CLASS(GxPadVirtual,
GxPad)
1530 GxPadVirtual(
void){}
1532 ~GxPadVirtual(
void)
override {}
1541 void getInputDataDevice(
void)
override;
1543 GX_FORCE_INLINE
void developRender(
void)
override {}
1552 b32 isEnable(
void)
const override;
1605GX_CORE_NAMESPACE_END()
#define GX_PROHIBIT_CLASS_BASE(__CLASS__)
GxClassBase継承の禁止宣言
Definition GxBase.h:240
オブジェクト基底クラス
Definition GxBase.h:88
constexpr GxClassBaseRoot & operator=(const GxClassBaseRoot &)
代入演算子
Definition GxBase.h:64
モーションセンサークラス
Definition GxInputPad.h:886
GX_FORCE_INLINE const GxQuaternion & getRotationQuaternion(void) const
回転を取得
Definition GxInputPad.h:999
GX_FORCE_INLINE const GxVector3 & getAngularVelocity(void) const
ジャイロの測定値を取得
Definition GxInputPad.h:997
GX_FORCE_INLINE b32 isEnable(void) const
有効判定
Definition GxInputPad.h:990
GX_FORCE_INLINE const GxVector3 & getAcceleration(void) const
加速度の測定値を取得
Definition GxInputPad.h:995
タッチセンサークラス
Definition GxInputPad.h:692
constexpr u32 getTouchCount(void) const
タッチ数を取得
Definition GxInputPad.h:850
GX_FORCE_INLINE GxPoint2 getPoint(u32 pointNo) const
タッチ点を取得
Definition GxInputPad.h:852
GX_FORCE_INLINE b32 isEnable(void) const
有効判定
Definition GxInputPad.h:845
~GxTouch(void) override
デストラクタ
Definition GxInputPad.h:820
モータークラス
Definition GxInputPad.h:503
constexpr f32 getPower(void) const
振動値を取得
Definition GxInputPad.h:598
~GxMotor(void) override
デストラクタ
Definition GxInputPad.h:566
static constexpr u32 VIBRATION_DATA_MAX
振動情報数
Definition GxInputPad.h:551
static const f32 INVALID_TIME
無効時間定義
Definition GxInputPad.h:555
void addRequest(f32 time, f32 power)
リクエストを追加
Definition GxInputPad.cpp:855
GxMotor(void)
コンストラクタ
Definition GxInputPad.cpp:789
static const f32 STOP_TIME
停止時間定義
Definition GxInputPad.h:553
GX_FORCE_INLINE void stop(void)
停止
Definition GxInputPad.h:585
void update(void)
更新
Definition GxInputPad.cpp:798
パッド振動クラス
Definition GxInputPad.h:480
~GxVibration(void) override
デストラクタ
Definition GxInputPad.h:629
GxVibration(void)
コンストラクタ
Definition GxInputPad.cpp:680
GX_FORCE_INLINE GxMotor * getMotor(MOTOR motor)
モーター情報を取得
Definition GxInputPad.h:654
MOTOR
振動モーター数
Definition GxInputPad.h:492
パッドクラス
Definition GxInputPad.h:25
GX_FORCE_INLINE f32 getRatioStickRightY(void) const
右スティックY軸のパッド入力比率取得 (-1.0~1.0, アナログ入力マージンが適用されます)
Definition GxInputPad.h:402
u32 _old
前フレームの押し状態
Definition GxInputPad.h:449
GX_FORCE_INLINE u8 getTriggerRight(void) const
右トリガーの値取得 (マージンを適用しない値 0~TRIGGER_VALUE_MAX)
Definition GxInputPad.h:343
constexpr void setMarginTriggerRightAnalog(u8 margin)
右トリガーのアナログ入力マージンを設定 (0~TRIGGER_VALUE_MAX の範囲で指定)
Definition GxInputPad.h:384
GX_FORCE_INLINE void setInputData(const GxInputData &inputData)
入力データの設定
Definition GxInputPad.h:330
GX_FORCE_INLINE b32 isRelease(u32 bit=BUTTON_ALL) const
放した瞬間判定
Definition GxInputPad.h:352
constexpr void setMarginStickLeftAnalog(u32 marginX, u32 marginY)
左スティックのアナログ入力マージンを設定 (0~STICK_VALUE_MAX の範囲で指定)
Definition GxInputPad.h:378
constexpr void setMarginTriggerRightOnOff(u8 margin)
右トリガーの On/Off 判定しきい値を設定 (0~TRIGGER_VALUE_MAX の範囲で指定)
Definition GxInputPad.h:375
constexpr void setUnit(GxUnitLocate *pUnit)
操作ユニットの設定
Definition GxInputPad.h:440
constexpr void setMarginTriggerLeftAnalog(u8 margin)
左トリガーのアナログ入力マージンを設定 (0~TRIGGER_VALUE_MAX の範囲で指定)
Definition GxInputPad.h:382
GX_FORCE_INLINE f32 getRatioStickLeftX(void) const
左スティックX軸のパッド入力比率取得 (-1.0~1.0, アナログ入力マージンが適用されます)
Definition GxInputPad.h:396
constexpr void setMarginStickRightClip(u32 clipX, u32 clipY)
右スティックのアナログ入力切り捨て値を設定 (0~STICK_VALUE_MAX の範囲で指定)
Definition GxInputPad.h:389
constexpr GxMotion * getMotion(void) const
モーションセンサー情報の取得
Definition GxInputPad.h:427
constexpr void setMarginTriggerLeftOnOff(u8 margin)
左トリガーの On/Off 判定しきい値を設定 (0~TRIGGER_VALUE_MAX の範囲で指定)
Definition GxInputPad.h:373
GX_FORCE_INLINE b32 isCancel(void) override
キャンセルボタンの判定
Definition GxInputPad.h:422
constexpr void setMarginStickLeftClip(u32 clipX, u32 clipY)
左スティックのアナログ入力切り捨て値を設定 (0~STICK_VALUE_MAX の範囲で指定)
Definition GxInputPad.h:387
constexpr GxVibration * getVibration(void) const
振動情報の取得
Definition GxInputPad.h:435
GX_FORCE_INLINE u8 getTriggerLeft(void) const
左トリガーの値取得 (マージンを適用しない値 0~TRIGGER_VALUE_MAX)
Definition GxInputPad.h:341
GX_FORCE_INLINE s32 getStickRightY(void) const
右スティック縦の値取得 (マージンを適用しない値 STICK_VALUE_MIN~STICK_VALUE_MAX)
Definition GxInputPad.h:339
constexpr void setMarginStickRightOnOff(u32 marginX, u32 marginY)
右スティックの On/Off 判定しきい値を設定 (0~STICK_VALUE_MAX の範囲で指定)
Definition GxInputPad.h:371
GxInputData _inputData
入力データ
Definition GxInputPad.h:448
GX_FORCE_INLINE f32 getRatioStickRightX(void) const
右スティックX軸のパッド入力比率取得 (-1.0~1.0, アナログ入力マージンが適用されます)
Definition GxInputPad.h:400
constexpr void setMarginStickRight(u32 margin)
右スティックの On/Off、アナログ入力マージンを設定 (0~STICK_VALUE_MAX の範囲で指定)
Definition GxInputPad.h:362
u32 _oldTemporary
前フレーム用に保存しておく情報
Definition GxInputPad.h:450
constexpr GxResPadRecorder * getResourcePadRecorder(void) const
パッドレコーダーリソースの取得
Definition GxInputPad.h:409
GX_FORCE_INLINE b32 isOn(u32 bit=BUTTON_ALL) const
押し状態判定
Definition GxInputPad.h:346
constexpr void setMarginTriggerRightClip(u8 clip)
右トリガーのアナログ入力切り捨て値を設定 (0~TRIGGER_VALUE_MAX の範囲で指定)
Definition GxInputPad.h:393
constexpr void setMarginTriggerRight(u8 margin)
右トリガーの On/Off、アナログ入力マージンを設定 (0~TRIGGER_VALUE_MAX の範囲で指定)
Definition GxInputPad.h:366
GX_FORCE_INLINE b32 isTrigger(u32 bit=BUTTON_ALL) const
押した瞬間判定
Definition GxInputPad.h:350
constexpr GxTouch * getTouch(TOUCH_PANEL panel) const
タッチセンサー情報の取得
Definition GxInputPad.h:425
GX_FORCE_INLINE const GxInputData & getInputData(void) const
入力データの取得
Definition GxInputPad.h:328
GX_FORCE_INLINE b32 isOk(void) override
決定ボタンの判定
Definition GxInputPad.h:420
constexpr void setMarginTriggerLeft(u8 margin)
左トリガーの On/Off、アナログ入力マージンを設定 (0~TRIGGER_VALUE_MAX の範囲で指定)
Definition GxInputPad.h:364
static GX_FORCE_INLINE s32 RatioToTrigger(f32 ratio)
Ratio からトリガー値へ変換する
Definition GxInputPad.h:252
GX_FORCE_INLINE f32 getRatioTriggerLeft(void) const
左トリガーのパッド入力比率取得 (0.0~1.0, アナログ入力マージンが適用されます)
Definition GxInputPad.h:404
GX_FORCE_INLINE f32 getRatioTriggerRight(void) const
右トリガーのパッド入力比率取得 (0.0~1.0, アナログ入力マージンが適用されます)
Definition GxInputPad.h:406
GX_FORCE_INLINE b32 isOld(u32 bit=BUTTON_ALL) const
前フレームの押し状態判定
Definition GxInputPad.h:348
constexpr PAD_RECORDER getPadRecorderStatus(void) const
パッドレコーダー状態の取得
Definition GxInputPad.h:411
constexpr void setMarginTriggerLeftClip(u8 clip)
左トリガーのアナログ入力切り捨て値を設定 (0~TRIGGER_VALUE_MAX の範囲で指定)
Definition GxInputPad.h:391
GX_FORCE_INLINE s32 getStickLeftY(void) const
左スティック縦の値取得 (マージンを適用しない値 STICK_VALUE_MIN~STICK_VALUE_MAX)
Definition GxInputPad.h:335
GX_FORCE_INLINE f32 getRatioStickLeftY(void) const
左スティックY軸のパッド入力比率取得 (-1.0~1.0, アナログ入力マージンが適用されます)
Definition GxInputPad.h:398
GX_FORCE_INLINE b32 isRepeat(u32 bit=BUTTON_ALL) const
リピート判定
Definition GxInputPad.h:356
PAD_RECORDER
パッドレコーダーの状態
Definition GxInputPad.h:107
constexpr void setMarginStickLeft(u32 margin)
左スティックの On/Off、アナログ入力マージンを設定 (0~STICK_VALUE_MAX の範囲で指定)
Definition GxInputPad.h:360
GxMotion * _pMotion
モーションセンサー情報
Definition GxInputPad.h:469
TOUCH_PANEL
タッチパネル定義
Definition GxInputPad.h:37
static GX_FORCE_INLINE s32 RatioToStick(f32 ratio)
Ratio からスティック値へ変換する
Definition GxInputPad.h:250
GX_FORCE_INLINE s32 getStickRightX(void) const
右スティック横の値取得 (マージンを適用しない値 STICK_VALUE_MIN~STICK_VALUE_MAX)
Definition GxInputPad.h:337
GX_FORCE_INLINE s32 getStickLeftX(void) const
左スティック横の値取得 (マージンを適用しない値 STICK_VALUE_MIN~STICK_VALUE_MAX)
Definition GxInputPad.h:333
constexpr void setMarginStickLeftOnOff(u32 marginX, u32 marginY)
左スティックの On/Off 判定しきい値を設定 (0~STICK_VALUE_MAX の範囲で指定)
Definition GxInputPad.h:369
GxVibration * _pVibration
振動情報
Definition GxInputPad.h:466
constexpr void setMarginStickRightAnalog(u32 marginX, u32 marginY)
右スティックのアナログ入力マージンを設定 (0~STICK_VALUE_MAX の範囲で指定)
Definition GxInputPad.h:380
GX_FORCE_INLINE b32 isChange(u32 bit=BUTTON_ALL) const
On,Off変化判定
Definition GxInputPad.h:354
constexpr GxUnitLocate * getUnit(void) const
操作ユニットの取得
Definition GxInputPad.h:438
ネットワークパッドクラス
Definition GxInputPad.h:1563
~GxPadNetwork(void) override
デストラクタ
Definition GxInputPad.h:1582
GX_FORCE_INLINE b32 isEnable(void) const override
有効判定
Definition GxInputPad.h:1600
GX_FORCE_INLINE void getInputDataDevice(void) override
デバイスから入力を取得
Definition GxInputPad.h:1591
入力パッドレコーダー処理クラス
Definition GxPadRecorder.h:21
入力パッドレコーダーリソースクラス
Definition GxResPadRecorder.h:19
座標ユニット基礎クラス
Definition GxUnitLocate.h:23
4×4行列(行優先)
Definition GxMatrix.h:607
static const GxMatrix44 IDENTITY
単位行列
Definition GxMatrix.h:618
マージン関連
Definition GxInputPad.h:168
s32 _stickLeftY
左スティック Y軸 の On/Off 入力判定しきい値
Definition GxInputPad.h:192
u8 _triggerLeft
左トリガの On/Off 入力判定しきい値
Definition GxInputPad.h:195
u8 _triggerLeftAnalog
左トリガのアナログ入力マージン
Definition GxInputPad.h:202
u8 _triggerRight
右トリガの On/Off 入力判定しきい値
Definition GxInputPad.h:196
u8 _triggerLeftClip
左トリガのアナログ入力切り捨て
Definition GxInputPad.h:209
s32 _stickRightAnalogX
右スティック X軸 のアナログ入力マージン
Definition GxInputPad.h:200
s32 _stickRightClipX
右スティック X軸 のアナログ入力切り捨て
Definition GxInputPad.h:207
s32 _stickLeftClipX
左スティック X軸 のアナログ入力切り捨て
Definition GxInputPad.h:205
u8 _triggerRightClip
右トリガのアナログ入力切り捨て
Definition GxInputPad.h:210
s32 _stickRightClipY
右スティック Y軸 のアナログ入力切り捨て
Definition GxInputPad.h:208
s32 _stickRightAnalogY
右スティック Y軸 のアナログ入力マージン
Definition GxInputPad.h:201
s32 _stickLeftAnalogY
左スティック Y軸 のアナログ入力マージン
Definition GxInputPad.h:199
s32 _stickLeftX
左スティック X軸 の On/Off 入力判定しきい値
Definition GxInputPad.h:191
s32 _stickRightY
右スティック Y軸 の On/Off 入力判定しきい値
Definition GxInputPad.h:194
s32 _stickLeftAnalogX
左スティック X軸 のアナログ入力マージン
Definition GxInputPad.h:198
s32 _stickLeftClipY
左スティック Y軸 のアナログ入力切り捨て
Definition GxInputPad.h:206
u8 _triggerRightAnalog
右トリガのアナログ入力マージン
Definition GxInputPad.h:203
s32 _stickRightX
右スティック X軸 の On/Off 入力判定しきい値
Definition GxInputPad.h:193
保存情報
Definition GxInputPad.h:149
u32 _trigger
押した瞬間
Definition GxInputPad.h:159
GxInputData _inputData
入力情報
Definition GxInputPad.h:155
u32 _repeat
リピート
Definition GxInputPad.h:162
u32 _old
前フレームの押し状態
Definition GxInputPad.h:156
u32 _release
放した瞬間
Definition GxInputPad.h:160
u32 _change
On,Off変化
Definition GxInputPad.h:161
u32 _oldTemporary
前フレーム用に保存しておく情報
Definition GxInputPad.h:157
座標
Definition GxStruct.h:867
クォータニオン
Definition GxQuaternion.h:19
文字列型クラス
Definition GxString.h:18
3次元ベクトル
Definition GxVector.h:245
32bitブーリアン
Definition GxDefine.h:173