summaryrefslogtreecommitdiffstats
path: root/src/control.c
diff options
context:
space:
mode:
authorClyne Sullivan <tullivan99@gmail.com>2016-02-10 14:28:16 -0500
committerClyne Sullivan <tullivan99@gmail.com>2016-02-10 14:28:16 -0500
commitc3b516ee1f6e0d317e629ba95abf4ac0cd94f534 (patch)
tree63e615656c03137a57617233fa4a02cf19a3e0a2 /src/control.c
parent476a0dbf41e14458c52a5cd2fe5b4c050a6c6551 (diff)
revised everything
Diffstat (limited to 'src/control.c')
-rw-r--r--src/control.c72
1 files changed, 72 insertions, 0 deletions
diff --git a/src/control.c b/src/control.c
new file mode 100644
index 0000000..0ca6026
--- /dev/null
+++ b/src/control.c
@@ -0,0 +1,72 @@
+#include <main.h>
+
+void setEvent(Controller *c){
+ c->left.stick.x = joystickGetAnalog(c->num, 4);
+ c->left.stick.y = joystickGetAnalog(c->num, 3);
+
+ c->right.stick.x = joystickGetAnalog(c->num, 1);
+ c->right.stick.y = joystickGetAnalog(c->num, 2);
+
+ /**
+ * BACK RIGHT BUTTONS
+ */
+
+ if(c->right.back.d == KEY_UP)c->right.back.d = UP;
+ else if(c->right.back.d == DOWN && !joystickGetDigital(c->num, 6, JOY_DOWN))c->right.back.d = KEY_UP;
+ else c->right.back.d = joystickGetDigital(c->num, 6, JOY_DOWN);
+
+ if(c->right.back.u == KEY_UP)c->right.back.u = UP;
+ else if(c->right.back.u == DOWN && !joystickGetDigital(c->num, 6, JOY_UP))c->right.back.u = KEY_UP;
+ else c->right.back.u = joystickGetDigital(c->num, 6, JOY_UP);
+
+
+ /*
+ * BACK LEFT BUTTONS
+ */
+ if(c->left.back.d == KEY_UP)c->left.back.d = UP;
+ else if(c->left.back.d == DOWN && !joystickGetDigital(c->num, 5, JOY_DOWN))c->left.back.d = KEY_UP;
+ else c->left.back.d = joystickGetDigital(c->num, 5, JOY_DOWN);
+
+ if(c->left.back.u == KEY_UP)c->left.back.u = UP;
+ else if(c->left.back.u == DOWN && !joystickGetDigital(c->num, 5, JOY_UP))c->left.back.u = KEY_UP;
+ else c->left.back.u = joystickGetDigital(c->num, 5, JOY_UP);
+
+
+ /*
+ * LEFT FRONT BUTTONS
+ */
+ if(c->left.front.l == KEY_UP)c->left.front.l = UP;
+ else if(c->left.front.l == DOWN && !joystickGetDigital(c->num, 7, JOY_LEFT))c->left.front.l = KEY_UP;
+ else c->left.front.l = joystickGetDigital(c->num, 7, JOY_LEFT);
+
+ if(c->left.front.r == KEY_UP)c->left.front.r = UP;
+ else if(c->left.front.r == DOWN && !joystickGetDigital(c->num, 7, JOY_RIGHT))c->left.front.r = KEY_UP;
+ else c->left.front.r = joystickGetDigital(c->num, 7, JOY_RIGHT);
+
+ if(c->left.front.u == KEY_UP)c->left.front.u = UP;
+ else if(c->left.front.u == DOWN && !joystickGetDigital(c->num, 7, JOY_UP))c->left.front.u = KEY_UP;
+ else c->left.front.u = joystickGetDigital(c->num, 7, JOY_UP);
+
+ if(c->left.front.d == KEY_UP)c->left.front.d = UP;
+ else if(c->left.front.d == DOWN && !joystickGetDigital(c->num, 7, JOY_DOWN))c->left.front.d = KEY_UP;
+ else c->left.front.d = joystickGetDigital(c->num, 7, JOY_DOWN);
+
+ /*
+ * RIGHT FRONT BUTTONS
+ */
+ if(c->right.front.d == KEY_UP)c->right.front.d = UP;
+ else if(c->right.front.d == DOWN && !joystickGetDigital(c->num, 8, JOY_DOWN))c->right.front.d = KEY_UP;
+ else c->right.front.d = joystickGetDigital(c->num, 8, JOY_DOWN);
+
+ if(c->right.front.l == KEY_UP)c->right.front.l = UP;
+ else if(c->right.front.l == DOWN && !joystickGetDigital(c->num, 8, JOY_LEFT))c->right.front.l = KEY_UP;
+ else c->right.front.l = joystickGetDigital(c->num, 8, JOY_LEFT);
+
+ if(c->right.front.u == KEY_UP)c->right.front.u = UP;
+ else if(c->right.front.u == DOWN && !joystickGetDigital(c->num, 8, JOY_UP))c->right.front.u = KEY_UP;
+ else c->right.front.u = joystickGetDigital(c->num, 8, JOY_UP);
+
+ if(c->right.front.r == KEY_UP)c->right.front.r = UP;
+ else if(c->right.front.r == DOWN && !joystickGetDigital(c->num, 8, JOY_RIGHT))c->right.front.r = KEY_UP;
+ else c->right.front.r = joystickGetDigital(c->num, 8, JOY_RIGHT);
+}