From 879041ed4bbc58640e75acaafcad63f0edfece7f Mon Sep 17 00:00:00 2001 From: Prakxo Date: Thu, 4 May 2023 10:00:22 +0000 Subject: [PATCH] match and link pad.c --- config/dol_slices.yml | 2 ++ include/libu64/pad.h | 6 ++++++ src/libu64/pad.c | 23 +++++++++++++++++++++++ tools/ppcdis | 2 +- 4 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 src/libu64/pad.c diff --git a/config/dol_slices.yml b/config/dol_slices.yml index fa08f3dd..41fac12e 100644 --- a/config/dol_slices.yml +++ b/config/dol_slices.yml @@ -38,6 +38,8 @@ libu64/gfxprint.c: .sbss: [0x80218630, 0x80218638] libu64/gfxprint_data.c: .data: [0x800dc810, 0x800dd090] +libu64/pad.c: + .text: [0x8005b9a8, 0x8005ba2c] libc64/aprintf.c: .text: [0x8005cbdc, 0x8005cc14] #libc64/math64.c: //not match diff --git a/include/libu64/pad.h b/include/libu64/pad.h index fb83a7ff..59025b19 100644 --- a/include/libu64/pad.h +++ b/include/libu64/pad.h @@ -16,6 +16,12 @@ typedef struct { /* 0x12 */ OSContPad off; } pad_t; + +int pad_physical_stick_x(pad_t*); +int pad_physical_stick_y(pad_t*); +void pad_set_logical_stick(pad_t*, int, int); +void pad_correct_stick(pad_t*); + #ifdef __cplusplus } #endif diff --git a/src/libu64/pad.c b/src/libu64/pad.c new file mode 100644 index 00000000..2048560c --- /dev/null +++ b/src/libu64/pad.c @@ -0,0 +1,23 @@ +#include "libu64/pad.h" + + +int pad_physical_stick_x(pad_t* pad){ + return pad->now.stick_x; +} + +int pad_physical_stick_y(pad_t* pad){ + return pad->now.stick_y; +} + +void pad_set_logical_stick(pad_t* pad, int x, int y){ + pad->off.stick_x = x; + pad->off.stick_y = y; +} + +void pad_correct_stick(pad_t* pad){ + + int x = pad_physical_stick_x(pad); + int y = pad_physical_stick_y(pad); + + pad_set_logical_stick(pad,((x * 60) / 72), ((y * 60) / 72)); +} \ No newline at end of file diff --git a/tools/ppcdis b/tools/ppcdis index 83260829..eca3f301 160000 --- a/tools/ppcdis +++ b/tools/ppcdis @@ -1 +1 @@ -Subproject commit 83260829c50f37dd9fe54889cf8971c8fe14c54e +Subproject commit eca3f3015a86bf0c78d1e415aeff2dda1851194f