mirror of
https://github.com/SMGCommunity/Petari.git
synced 2024-11-23 21:49:45 +00:00
WPadButton.o
100%
This commit is contained in:
parent
98b675c4b7
commit
a34a011f4e
@ -910,38 +910,38 @@ update__16WPadAccelerationFv,WPadAcceleration.o,System.a,false
|
||||
updateRotate__16WPadAccelerationFv,WPadAcceleration.o,System.a,false
|
||||
updateAccAverage__16WPadAccelerationFv,WPadAcceleration.o,System.a,false
|
||||
updateIsStable__16WPadAccelerationFv,WPadAcceleration.o,System.a,false
|
||||
__ct__10WPadButtonFPC4WPad,WPadButton.o,System.a,false
|
||||
update__10WPadButtonFv,WPadButton.o,System.a,false
|
||||
testButtonUp__10WPadButtonCFv,WPadButton.o,System.a,false
|
||||
testButtonDown__10WPadButtonCFv,WPadButton.o,System.a,false
|
||||
testButtonLeft__10WPadButtonCFv,WPadButton.o,System.a,false
|
||||
testButtonRight__10WPadButtonCFv,WPadButton.o,System.a,false
|
||||
testButtonA__10WPadButtonCFv,WPadButton.o,System.a,false
|
||||
testButtonB__10WPadButtonCFv,WPadButton.o,System.a,false
|
||||
testButtonMinus__10WPadButtonCFv,WPadButton.o,System.a,false
|
||||
testButtonPlus__10WPadButtonCFv,WPadButton.o,System.a,false
|
||||
testButton1__10WPadButtonCFv,WPadButton.o,System.a,false
|
||||
testButton2__10WPadButtonCFv,WPadButton.o,System.a,false
|
||||
testButtonC__10WPadButtonCFv,WPadButton.o,System.a,false
|
||||
testButtonZ__10WPadButtonCFv,WPadButton.o,System.a,false
|
||||
testTriggerUp__10WPadButtonCFv,WPadButton.o,System.a,false
|
||||
testTriggerDown__10WPadButtonCFv,WPadButton.o,System.a,false
|
||||
testTriggerLeft__10WPadButtonCFv,WPadButton.o,System.a,false
|
||||
testTriggerRight__10WPadButtonCFv,WPadButton.o,System.a,false
|
||||
testTriggerA__10WPadButtonCFv,WPadButton.o,System.a,false
|
||||
testTriggerB__10WPadButtonCFv,WPadButton.o,System.a,false
|
||||
testTriggerMinus__10WPadButtonCFv,WPadButton.o,System.a,false
|
||||
testTriggerHome__10WPadButtonCFv,WPadButton.o,System.a,false
|
||||
testTriggerPlus__10WPadButtonCFv,WPadButton.o,System.a,false
|
||||
testTrigger1__10WPadButtonCFv,WPadButton.o,System.a,false
|
||||
testTrigger2__10WPadButtonCFv,WPadButton.o,System.a,false
|
||||
testTriggerC__10WPadButtonCFv,WPadButton.o,System.a,false
|
||||
testTriggerZ__10WPadButtonCFv,WPadButton.o,System.a,false
|
||||
testReleaseZ__10WPadButtonCFv,WPadButton.o,System.a,false
|
||||
isChangeAnyState__10WPadButtonCFv,WPadButton.o,System.a,false
|
||||
__ct__16WPadReadDataInfoFv,WPadHolder.o,System.a,false
|
||||
getKPadStatus__16WPadReadDataInfoCFUl,WPadHolder.o,System.a,false
|
||||
getValidStatusCount__16WPadReadDataInfoCFv,WPadHolder.o,System.a,false
|
||||
__ct__10WPadButtonFPC4WPad,WPadButton.o,System.a,true
|
||||
update__10WPadButtonFv,WPadButton.o,System.a,true
|
||||
testButtonUp__10WPadButtonCFv,WPadButton.o,System.a,true
|
||||
testButtonDown__10WPadButtonCFv,WPadButton.o,System.a,true
|
||||
testButtonLeft__10WPadButtonCFv,WPadButton.o,System.a,true
|
||||
testButtonRight__10WPadButtonCFv,WPadButton.o,System.a,true
|
||||
testButtonA__10WPadButtonCFv,WPadButton.o,System.a,true
|
||||
testButtonB__10WPadButtonCFv,WPadButton.o,System.a,true
|
||||
testButtonMinus__10WPadButtonCFv,WPadButton.o,System.a,true
|
||||
testButtonPlus__10WPadButtonCFv,WPadButton.o,System.a,true
|
||||
testButton1__10WPadButtonCFv,WPadButton.o,System.a,true
|
||||
testButton2__10WPadButtonCFv,WPadButton.o,System.a,true
|
||||
testButtonC__10WPadButtonCFv,WPadButton.o,System.a,true
|
||||
testButtonZ__10WPadButtonCFv,WPadButton.o,System.a,true
|
||||
testTriggerUp__10WPadButtonCFv,WPadButton.o,System.a,true
|
||||
testTriggerDown__10WPadButtonCFv,WPadButton.o,System.a,true
|
||||
testTriggerLeft__10WPadButtonCFv,WPadButton.o,System.a,true
|
||||
testTriggerRight__10WPadButtonCFv,WPadButton.o,System.a,true
|
||||
testTriggerA__10WPadButtonCFv,WPadButton.o,System.a,true
|
||||
testTriggerB__10WPadButtonCFv,WPadButton.o,System.a,true
|
||||
testTriggerMinus__10WPadButtonCFv,WPadButton.o,System.a,true
|
||||
testTriggerHome__10WPadButtonCFv,WPadButton.o,System.a,true
|
||||
testTriggerPlus__10WPadButtonCFv,WPadButton.o,System.a,true
|
||||
testTrigger1__10WPadButtonCFv,WPadButton.o,System.a,true
|
||||
testTrigger2__10WPadButtonCFv,WPadButton.o,System.a,true
|
||||
testTriggerC__10WPadButtonCFv,WPadButton.o,System.a,true
|
||||
testTriggerZ__10WPadButtonCFv,WPadButton.o,System.a,true
|
||||
testReleaseZ__10WPadButtonCFv,WPadButton.o,System.a,true
|
||||
isChangeAnyState__10WPadButtonCFv,WPadButton.o,System.a,true
|
||||
__ct__16WPadReadDataInfoFv,WPadHolder.o,System.a,true
|
||||
getKPadStatus__16WPadReadDataInfoCFUl,WPadHolder.o,System.a,true
|
||||
getValidStatusCount__16WPadReadDataInfoCFv,WPadHolder.o,System.a,true
|
||||
__ct__10WPadHolderFv,WPadHolder.o,System.a,false
|
||||
updateReadDataOnly__10WPadHolderFv,WPadHolder.o,System.a,false
|
||||
updateProjectPadData__10WPadHolderFv,WPadHolder.o,System.a,false
|
||||
|
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"label": "Game",
|
||||
"message": "11.12%",
|
||||
"message": "11.137%",
|
||||
"color": "blue"
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"label": "System",
|
||||
"message": "12.523%",
|
||||
"message": "12.971%",
|
||||
"color": "696969"
|
||||
}
|
@ -22,5 +22,5 @@
|
||||
| [Scene](https://github.com/shibbo/Petari/blob/master/docs/lib/Scene.md) | 12.230081906180192% |
|
||||
| [Screen](https://github.com/shibbo/Petari/blob/master/docs/lib/Screen.md) | 3.9020947950289457% |
|
||||
| [Speaker](https://github.com/shibbo/Petari/blob/master/docs/lib/Speaker.md) | 49.743881616391576% |
|
||||
| [System](https://github.com/shibbo/Petari/blob/master/docs/lib/System.md) | 12.523141381662281% |
|
||||
| [System](https://github.com/shibbo/Petari/blob/master/docs/lib/System.md) | 12.971353405437005% |
|
||||
| [Util](https://github.com/shibbo/Petari/blob/master/docs/lib/Util.md) | 9.661178747499052% |
|
||||
|
@ -58,8 +58,8 @@
|
||||
| [StationedFileInfo.o](https://github.com/shibbo/Petari/blob/master/docs/lib/System/StationedFileInfo.md) | 100.0% | 1 / 1 | 100.0% | :white_check_mark:
|
||||
| [WPad.o](https://github.com/shibbo/Petari/blob/master/docs/lib/System/WPad.md) | 0.0% | 0 / 21 | 0.0% | :x:
|
||||
| [WPadAcceleration.o](https://github.com/shibbo/Petari/blob/master/docs/lib/System/WPadAcceleration.md) | 0.0% | 0 / 9 | 0.0% | :x:
|
||||
| [WPadButton.o](https://github.com/shibbo/Petari/blob/master/docs/lib/System/WPadButton.md) | 0.0% | 0 / 29 | 0.0% | :x:
|
||||
| [WPadHolder.o](https://github.com/shibbo/Petari/blob/master/docs/lib/System/WPadHolder.md) | 0.0% | 0 / 19 | 0.0% | :x:
|
||||
| [WPadButton.o](https://github.com/shibbo/Petari/blob/master/docs/lib/System/WPadButton.md) | 100.0% | 29 / 29 | 100.0% | :white_check_mark:
|
||||
| [WPadHolder.o](https://github.com/shibbo/Petari/blob/master/docs/lib/System/WPadHolder.md) | 8.450704225352112% | 3 / 19 | 15.789473684210526% | :eight_pointed_black_star:
|
||||
| [WPadHVSwing.o](https://github.com/shibbo/Petari/blob/master/docs/lib/System/WPadHVSwing.md) | 0.0% | 0 / 4 | 0.0% | :x:
|
||||
| [WPadInfoChecker.o](https://github.com/shibbo/Petari/blob/master/docs/lib/System/WPadInfoChecker.md) | 0.0% | 0 / 6 | 0.0% | :x:
|
||||
| [WPadLeaveWatcher.o](https://github.com/shibbo/Petari/blob/master/docs/lib/System/WPadLeaveWatcher.md) | 0.0% | 0 / 5 | 0.0% | :x:
|
||||
|
@ -5,36 +5,36 @@
|
||||
| :white_check_mark: | Function is completed.
|
||||
|
||||
|
||||
# 0 / 29 Completed -- (0.0%)
|
||||
# 29 / 29 Completed -- (100.0%)
|
||||
# WPadButton.o
|
||||
| Symbol | Decompiled? |
|
||||
| ------------- | ------------- |
|
||||
| `__ct__10WPadButtonFPC4WPad` | :x: |
|
||||
| `update__10WPadButtonFv` | :x: |
|
||||
| `testButtonUp__10WPadButtonCFv` | :x: |
|
||||
| `testButtonDown__10WPadButtonCFv` | :x: |
|
||||
| `testButtonLeft__10WPadButtonCFv` | :x: |
|
||||
| `testButtonRight__10WPadButtonCFv` | :x: |
|
||||
| `testButtonA__10WPadButtonCFv` | :x: |
|
||||
| `testButtonB__10WPadButtonCFv` | :x: |
|
||||
| `testButtonMinus__10WPadButtonCFv` | :x: |
|
||||
| `testButtonPlus__10WPadButtonCFv` | :x: |
|
||||
| `testButton1__10WPadButtonCFv` | :x: |
|
||||
| `testButton2__10WPadButtonCFv` | :x: |
|
||||
| `testButtonC__10WPadButtonCFv` | :x: |
|
||||
| `testButtonZ__10WPadButtonCFv` | :x: |
|
||||
| `testTriggerUp__10WPadButtonCFv` | :x: |
|
||||
| `testTriggerDown__10WPadButtonCFv` | :x: |
|
||||
| `testTriggerLeft__10WPadButtonCFv` | :x: |
|
||||
| `testTriggerRight__10WPadButtonCFv` | :x: |
|
||||
| `testTriggerA__10WPadButtonCFv` | :x: |
|
||||
| `testTriggerB__10WPadButtonCFv` | :x: |
|
||||
| `testTriggerMinus__10WPadButtonCFv` | :x: |
|
||||
| `testTriggerHome__10WPadButtonCFv` | :x: |
|
||||
| `testTriggerPlus__10WPadButtonCFv` | :x: |
|
||||
| `testTrigger1__10WPadButtonCFv` | :x: |
|
||||
| `testTrigger2__10WPadButtonCFv` | :x: |
|
||||
| `testTriggerC__10WPadButtonCFv` | :x: |
|
||||
| `testTriggerZ__10WPadButtonCFv` | :x: |
|
||||
| `testReleaseZ__10WPadButtonCFv` | :x: |
|
||||
| `isChangeAnyState__10WPadButtonCFv` | :x: |
|
||||
| `__ct__10WPadButtonFPC4WPad` | :white_check_mark: |
|
||||
| `update__10WPadButtonFv` | :white_check_mark: |
|
||||
| `testButtonUp__10WPadButtonCFv` | :white_check_mark: |
|
||||
| `testButtonDown__10WPadButtonCFv` | :white_check_mark: |
|
||||
| `testButtonLeft__10WPadButtonCFv` | :white_check_mark: |
|
||||
| `testButtonRight__10WPadButtonCFv` | :white_check_mark: |
|
||||
| `testButtonA__10WPadButtonCFv` | :white_check_mark: |
|
||||
| `testButtonB__10WPadButtonCFv` | :white_check_mark: |
|
||||
| `testButtonMinus__10WPadButtonCFv` | :white_check_mark: |
|
||||
| `testButtonPlus__10WPadButtonCFv` | :white_check_mark: |
|
||||
| `testButton1__10WPadButtonCFv` | :white_check_mark: |
|
||||
| `testButton2__10WPadButtonCFv` | :white_check_mark: |
|
||||
| `testButtonC__10WPadButtonCFv` | :white_check_mark: |
|
||||
| `testButtonZ__10WPadButtonCFv` | :white_check_mark: |
|
||||
| `testTriggerUp__10WPadButtonCFv` | :white_check_mark: |
|
||||
| `testTriggerDown__10WPadButtonCFv` | :white_check_mark: |
|
||||
| `testTriggerLeft__10WPadButtonCFv` | :white_check_mark: |
|
||||
| `testTriggerRight__10WPadButtonCFv` | :white_check_mark: |
|
||||
| `testTriggerA__10WPadButtonCFv` | :white_check_mark: |
|
||||
| `testTriggerB__10WPadButtonCFv` | :white_check_mark: |
|
||||
| `testTriggerMinus__10WPadButtonCFv` | :white_check_mark: |
|
||||
| `testTriggerHome__10WPadButtonCFv` | :white_check_mark: |
|
||||
| `testTriggerPlus__10WPadButtonCFv` | :white_check_mark: |
|
||||
| `testTrigger1__10WPadButtonCFv` | :white_check_mark: |
|
||||
| `testTrigger2__10WPadButtonCFv` | :white_check_mark: |
|
||||
| `testTriggerC__10WPadButtonCFv` | :white_check_mark: |
|
||||
| `testTriggerZ__10WPadButtonCFv` | :white_check_mark: |
|
||||
| `testReleaseZ__10WPadButtonCFv` | :white_check_mark: |
|
||||
| `isChangeAnyState__10WPadButtonCFv` | :white_check_mark: |
|
||||
|
@ -5,13 +5,13 @@
|
||||
| :white_check_mark: | Function is completed.
|
||||
|
||||
|
||||
# 0 / 19 Completed -- (0.0%)
|
||||
# 3 / 19 Completed -- (15.789473684210526%)
|
||||
# WPadHolder.o
|
||||
| Symbol | Decompiled? |
|
||||
| ------------- | ------------- |
|
||||
| `__ct__16WPadReadDataInfoFv` | :x: |
|
||||
| `getKPadStatus__16WPadReadDataInfoCFUl` | :x: |
|
||||
| `getValidStatusCount__16WPadReadDataInfoCFv` | :x: |
|
||||
| `__ct__16WPadReadDataInfoFv` | :white_check_mark: |
|
||||
| `getKPadStatus__16WPadReadDataInfoCFUl` | :white_check_mark: |
|
||||
| `getValidStatusCount__16WPadReadDataInfoCFv` | :white_check_mark: |
|
||||
| `__ct__10WPadHolderFv` | :x: |
|
||||
| `updateReadDataOnly__10WPadHolderFv` | :x: |
|
||||
| `updateProjectPadData__10WPadHolderFv` | :x: |
|
||||
|
36
include/Game/System/WPad.h
Normal file
36
include/Game/System/WPad.h
Normal file
@ -0,0 +1,36 @@
|
||||
#pragma once
|
||||
|
||||
#include <revolution.h>
|
||||
|
||||
class WPadButton;
|
||||
class WPadPointer;
|
||||
class WPadAcceleration;
|
||||
class WPadHVSwing;
|
||||
class WPadRumble;
|
||||
class WPadStick;
|
||||
class WPadLeaveWatcher;
|
||||
class WPadInfoChecker;
|
||||
|
||||
class WPad {
|
||||
public:
|
||||
WPad(s32);
|
||||
|
||||
KPADStatus* getKPadStatus(u32) const;
|
||||
|
||||
s32 mChannel; // _0
|
||||
u32 _4;
|
||||
WPadButton* mButtons; // _8
|
||||
WPadPointer* mPointer; // _C
|
||||
WPadAcceleration* _10;
|
||||
WPadHVSwing* _14;
|
||||
WPadRumble* _18;
|
||||
WPadRumble* _1C;
|
||||
WPadStick* mStick; // _20
|
||||
WPadAcceleration* _24;
|
||||
WPadHVSwing* _28;
|
||||
WPadLeaveWatcher* mLeaveWatcher; // _2C
|
||||
WPadInfoChecker* mChecker; // _30
|
||||
u8 _34;
|
||||
u8 _35;
|
||||
u8 _36;
|
||||
};
|
45
include/Game/System/WPadButton.h
Normal file
45
include/Game/System/WPadButton.h
Normal file
@ -0,0 +1,45 @@
|
||||
#pragma once
|
||||
|
||||
#include "Game/System/WPad.h"
|
||||
|
||||
class WPadButton {
|
||||
public:
|
||||
WPadButton(const WPad *);
|
||||
|
||||
void update();
|
||||
bool testButtonUp() const;
|
||||
bool testButtonDown() const;
|
||||
bool testButtonLeft() const;
|
||||
bool testButtonRight() const;
|
||||
bool testButtonA() const;
|
||||
bool testButtonB() const;
|
||||
bool testButtonMinus() const;
|
||||
bool testButtonPlus() const;
|
||||
bool testButton1() const;
|
||||
bool testButton2() const;
|
||||
bool testButtonC() const;
|
||||
bool testButtonZ() const;
|
||||
bool testTriggerUp() const;
|
||||
bool testTriggerDown() const;
|
||||
bool testTriggerLeft() const;
|
||||
bool testTriggerRight() const;
|
||||
bool testTriggerA() const;
|
||||
bool testTriggerB() const;
|
||||
bool testTriggerMinus() const;
|
||||
bool testTriggerHome() const;
|
||||
bool testTriggerPlus() const;
|
||||
bool testTrigger1() const;
|
||||
bool testTrigger2() const;
|
||||
bool testTriggerC() const;
|
||||
bool testTriggerZ() const;
|
||||
bool testReleaseZ() const;
|
||||
bool isChangeAnyState() const;
|
||||
|
||||
const WPad* mPad; // _0
|
||||
u32 mHold; // _4
|
||||
u32 _8;
|
||||
u32 mRelease; // _C
|
||||
u32 _10;
|
||||
f32 mDelaySec; // _14
|
||||
f32 mPulseSec; // _18
|
||||
};
|
14
include/Game/System/WPadHolder.h
Normal file
14
include/Game/System/WPadHolder.h
Normal file
@ -0,0 +1,14 @@
|
||||
#pragma once
|
||||
|
||||
#include <revolution.h>
|
||||
|
||||
class WPadReadDataInfo {
|
||||
public:
|
||||
WPadReadDataInfo();
|
||||
|
||||
KPADStatus* getKPadStatus(u32) const;
|
||||
u32 getValidStatusCount() const;
|
||||
|
||||
KPADStatus* mStatusArray; // _0
|
||||
u32 mValidStatusCount; // _4
|
||||
};
|
@ -7,6 +7,7 @@
|
||||
#include <revolution/fs.h>
|
||||
#include <revolution/gd.h>
|
||||
#include <revolution/gx.h>
|
||||
#include <revolution/kpad.h>
|
||||
#include <revolution/mtx.h>
|
||||
#include <revolution/nand.h>
|
||||
#include <revolution/os.h>
|
||||
|
65
libs/RVL_SDK/include/revolution/kpad.h
Normal file
65
libs/RVL_SDK/include/revolution/kpad.h
Normal file
@ -0,0 +1,65 @@
|
||||
#ifndef KPAD_H
|
||||
#define KPAD_H
|
||||
|
||||
#include <revolution.h>
|
||||
#include <revolution/mtx.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
struct Vec2 {
|
||||
f32 x;
|
||||
f32 y;
|
||||
};
|
||||
|
||||
typedef union KPADEXStatus {
|
||||
struct {
|
||||
Vec2 stick;
|
||||
Vec acc;
|
||||
f32 acc_value;
|
||||
f32 acc_speed;
|
||||
} fs;
|
||||
|
||||
struct {
|
||||
u32 hold;
|
||||
u32 trig;
|
||||
u32 release;
|
||||
Vec2 lstick;
|
||||
Vec2 rstick;
|
||||
f32 ltrigger;
|
||||
f32 rtrigger;
|
||||
} cl;
|
||||
} KPADEXStatus;
|
||||
|
||||
typedef struct KPADStatus {
|
||||
u32 hold;
|
||||
u32 trig;
|
||||
u32 release;
|
||||
Vec acc;
|
||||
f32 acc_value;
|
||||
f32 acc_speed;
|
||||
Vec2 pos;
|
||||
Vec2 vec;
|
||||
f32 speed;
|
||||
Vec2 horizon;
|
||||
Vec2 hori_vec;
|
||||
f32 hori_speed;
|
||||
f32 dist;
|
||||
f32 dist_vec;
|
||||
f32 dist_speed;
|
||||
Vec2 acc_vertical;
|
||||
u8 dev_type;
|
||||
s8 wpad_err;
|
||||
s8 dpd_valid_fg;
|
||||
u8 data_format;
|
||||
KPADEXStatus ex_status;
|
||||
} KPADStatus;
|
||||
|
||||
void KPADSetBtnRepeat(s32, f32, f32);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // KPAD_H
|
BIN
prog.png
BIN
prog.png
Binary file not shown.
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
151
source/Game/System/WPadButton.cpp
Normal file
151
source/Game/System/WPadButton.cpp
Normal file
@ -0,0 +1,151 @@
|
||||
#include "Game/System/WPadButton.h"
|
||||
|
||||
WPadButton::WPadButton(const WPad* pPad) {
|
||||
mPad = pPad;
|
||||
mHold = 0;
|
||||
_8 = 0;
|
||||
mRelease = 0;
|
||||
_10 = 0;
|
||||
mDelaySec = 0.41666666;
|
||||
mPulseSec = 0.16666667;
|
||||
KPADSetBtnRepeat(mPad->mChannel, mDelaySec, mPulseSec);
|
||||
}
|
||||
|
||||
void WPadButton::update() {
|
||||
KPADStatus* status = mPad->getKPadStatus(0);
|
||||
|
||||
if (status != nullptr) {
|
||||
u32 v3;
|
||||
if (mHold != 0) {
|
||||
_8 = status->trig & ~mHold & 0xFFFF;
|
||||
}
|
||||
else {
|
||||
_8 = status->trig;
|
||||
}
|
||||
|
||||
if (!status->wpad_err || status->wpad_err == -2) {
|
||||
mHold = status->hold;
|
||||
mRelease = status->release;
|
||||
}
|
||||
|
||||
_10 = _8;
|
||||
|
||||
if ((status->hold & 0x80000000) != 0) {
|
||||
_10 = _8 | mHold;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool WPadButton::testButtonUp() const {
|
||||
return (mHold >> 3) & 0x1;
|
||||
}
|
||||
|
||||
bool WPadButton::testButtonDown() const {
|
||||
return (mHold >> 2) & 0x1;
|
||||
}
|
||||
|
||||
bool WPadButton::testButtonLeft() const {
|
||||
return mHold & 0x1;
|
||||
}
|
||||
|
||||
bool WPadButton::testButtonRight() const {
|
||||
return (mHold >> 1) & 0x1;
|
||||
}
|
||||
|
||||
bool WPadButton::testButtonA() const {
|
||||
return (mHold >> 11) & 0x1;
|
||||
}
|
||||
|
||||
bool WPadButton::testButtonB() const {
|
||||
return (mHold >> 10) & 0x1;
|
||||
}
|
||||
|
||||
bool WPadButton::testButtonMinus() const {
|
||||
return (mHold >> 12) & 0x1;
|
||||
}
|
||||
|
||||
bool WPadButton::testButtonPlus() const {
|
||||
return (mHold >> 4) & 0x1;
|
||||
}
|
||||
|
||||
bool WPadButton::testButton1() const {
|
||||
return (mHold >> 9) & 0x1;
|
||||
}
|
||||
|
||||
bool WPadButton::testButton2() const {
|
||||
return (mHold >> 8) & 0x1;
|
||||
}
|
||||
|
||||
bool WPadButton::testButtonC() const {
|
||||
return (mHold >> 14) & 0x1;
|
||||
}
|
||||
|
||||
bool WPadButton::testButtonZ() const {
|
||||
return (mHold >> 13) & 0x1;
|
||||
}
|
||||
|
||||
bool WPadButton::testTriggerUp() const {
|
||||
return (mHold >> 3) & 0x1;
|
||||
}
|
||||
|
||||
bool WPadButton::testTriggerDown() const {
|
||||
return (mHold >> 2) & 0x1;
|
||||
}
|
||||
|
||||
bool WPadButton::testTriggerLeft() const {
|
||||
return _8 & 0x1;
|
||||
}
|
||||
|
||||
bool WPadButton::testTriggerRight() const {
|
||||
return (_8 >> 1) & 0x1;
|
||||
}
|
||||
|
||||
bool WPadButton::testTriggerA() const {
|
||||
return (_8 >> 11) & 0x1;
|
||||
}
|
||||
|
||||
bool WPadButton::testTriggerB() const {
|
||||
return (_8 >> 10) & 0x1;
|
||||
}
|
||||
|
||||
bool WPadButton::testTriggerMinus() const {
|
||||
return (_8 >> 12) & 0x1;
|
||||
}
|
||||
|
||||
bool WPadButton::testTriggerHome() const {
|
||||
return (_8 >> 15) & 0x1;
|
||||
}
|
||||
|
||||
bool WPadButton::testTriggerPlus() const {
|
||||
return (_8 >> 4) & 0x1;
|
||||
}
|
||||
|
||||
bool WPadButton::testTrigger1() const {
|
||||
return (_8 >> 9) & 0x1;
|
||||
}
|
||||
|
||||
bool WPadButton::testTrigger2() const {
|
||||
return (_8 >> 8) & 0x1;
|
||||
}
|
||||
|
||||
bool WPadButton::testTriggerC() const {
|
||||
return (_8 >> 14) & 0x1;
|
||||
}
|
||||
|
||||
bool WPadButton::testTriggerZ() const {
|
||||
return (_8 >> 13) & 0x1;
|
||||
}
|
||||
|
||||
bool WPadButton::testReleaseZ() const {
|
||||
return (mRelease >> 13) & 0x1;
|
||||
}
|
||||
|
||||
bool WPadButton::isChangeAnyState() const {
|
||||
bool result = false;
|
||||
|
||||
if (_8 || mRelease) {
|
||||
result = true;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
21
source/Game/System/WPadHolder.cpp
Normal file
21
source/Game/System/WPadHolder.cpp
Normal file
@ -0,0 +1,21 @@
|
||||
#include "Game/System/WPadHolder.h"
|
||||
#include "Game/Util.h"
|
||||
|
||||
WPadReadDataInfo::WPadReadDataInfo() {
|
||||
mStatusArray = nullptr;
|
||||
mValidStatusCount = 0;
|
||||
mStatusArray = new KPADStatus[0x78];
|
||||
MR::zeroMemory(mStatusArray, sizeof(KPADStatus) * 0x78);
|
||||
}
|
||||
|
||||
KPADStatus* WPadReadDataInfo::getKPadStatus(u32 idx) const {
|
||||
if (idx >= mValidStatusCount) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
return &mStatusArray[idx];
|
||||
}
|
||||
|
||||
u32 WPadReadDataInfo::getValidStatusCount() const {
|
||||
return mValidStatusCount;
|
||||
}
|
Loading…
Reference in New Issue
Block a user