aboutsummaryrefslogtreecommitdiff
path: root/src/pad/ps1
diff options
context:
space:
mode:
authorXavier Del Campo Romero <xavi.dcr@tutanota.com>2022-09-27 17:03:06 +0200
committerXavier Del Campo Romero <xavi.dcr@tutanota.com>2022-11-01 16:26:16 +0100
commit980858186149651df5543b6fc99a4f7db0cdd089 (patch)
treed347200b0a562d84df505097651ad0642f207fdd /src/pad/ps1
parent39f50e601d395bbd2d78d0147ac530b756da2fff (diff)
downloadjancity-980858186149651df5543b6fc99a4f7db0cdd089.tar.gz
WIP
Diffstat (limited to 'src/pad/ps1')
-rw-r--r--src/pad/ps1/src/pad.c26
1 files changed, 22 insertions, 4 deletions
diff --git a/src/pad/ps1/src/pad.c b/src/pad/ps1/src/pad.c
index eea56ed..660cf89 100644
--- a/src/pad/ps1/src/pad.c
+++ b/src/pad/ps1/src/pad.c
@@ -4,10 +4,18 @@
#include <stddef.h>
#include <string.h>
-void pad_init(const int player, struct pad *const p)
+static const char *const pads[] =
{
- memset(p, 0, sizeof *p);
- p->player = player;
+ "Pad 1",
+ "Pad 2"
+};
+
+void pad_init(const int id, struct pad *const p)
+{
+ *p = (const struct pad)
+ {
+ .id = id
+ };
}
void pad_port_update(struct pad *const p)
@@ -27,7 +35,7 @@ void pad_port_update(struct pad *const p)
};
p->mask = 0;
- PSX_PollPad(p->player, &p->port.pps);
+ PSX_PollPad(p->id, &p->port.pps);
for (size_t i = 0; i < sizeof psx_keys / sizeof *psx_keys; i++)
{
@@ -39,3 +47,13 @@ void pad_port_update(struct pad *const p)
p->mask &= ~mask;
}
}
+
+size_t pad_count(void)
+{
+ return sizeof pads / sizeof *pads;
+}
+
+const char *pad_name(const int id)
+{
+ return pads[id];
+}