aboutsummaryrefslogtreecommitdiff
path: root/src/platform.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/platform.cpp')
-rw-r--r--src/platform.cpp67
1 files changed, 34 insertions, 33 deletions
diff --git a/src/platform.cpp b/src/platform.cpp
index c5fe5bf..4738c66 100644
--- a/src/platform.cpp
+++ b/src/platform.cpp
@@ -1,4 +1,5 @@
#include <bitset>
+#include <iostream>
#include "platform.hpp"
@@ -36,7 +37,7 @@ void Platform::Update(const std::bitset<2048>& bitset, int videoScale) {
SDL_RenderPresent(renderer);
}
-bool Platform::ProcessInput(uint8_t* keys) {
+bool Platform::ProcessInput(std::bitset<16>* keys) {
bool quit = false;
SDL_Event event;
@@ -50,42 +51,42 @@ bool Platform::ProcessInput(uint8_t* keys) {
case SDL_KEYDOWN:
switch (event.key.keysym.sym) {
case SDLK_ESCAPE: quit = true;
- case SDLK_x: keys[0x0] = 1; break;
- case SDLK_1: keys[0x1] = 1; break;
- case SDLK_2: keys[0x2] = 1; break;
- case SDLK_3: keys[0x3] = 1; break;
- case SDLK_q: keys[0x4] = 1; break;
- case SDLK_w: keys[0x5] = 1; break;
- case SDLK_e: keys[0x6] = 1; break;
- case SDLK_a: keys[0x7] = 1; break;
- case SDLK_s: keys[0x8] = 1; break;
- case SDLK_d: keys[0x9] = 1; break;
- case SDLK_z: keys[0xA] = 1; break;
- case SDLK_c: keys[0xB] = 1; break;
- case SDLK_4: keys[0xC] = 1; break;
- case SDLK_r: keys[0xD] = 1; break;
- case SDLK_f: keys[0xE] = 1; break;
- case SDLK_v: keys[0xF] = 1; break;
+ case SDLK_x: (*keys)[0x0] = 1; break;
+ case SDLK_1: (*keys)[0x1] = 1; break;
+ case SDLK_2: (*keys)[0x2] = 1; break;
+ case SDLK_3: (*keys)[0x3] = 1; break;
+ case SDLK_q: (*keys)[0x4] = 1; break;
+ case SDLK_w: (*keys)[0x5] = 1; break;
+ case SDLK_e: (*keys)[0x6] = 1; break;
+ case SDLK_a: (*keys)[0x7] = 1; break;
+ case SDLK_s: (*keys)[0x8] = 1; break;
+ case SDLK_d: (*keys)[0x9] = 1; break;
+ case SDLK_z: (*keys)[0xA] = 1; break;
+ case SDLK_c: (*keys)[0xB] = 1; break;
+ case SDLK_4: (*keys)[0xC] = 1; break;
+ case SDLK_r: (*keys)[0xD] = 1; break;
+ case SDLK_f: (*keys)[0xE] = 1; break;
+ case SDLK_v: (*keys)[0xF] = 1; break;
} break;
case SDL_KEYUP:
switch (event.key.keysym.sym) {
- case SDLK_x: keys[0x0] = 0; break;
- case SDLK_1: keys[0x1] = 0; break;
- case SDLK_2: keys[0x2] = 0; break;
- case SDLK_3: keys[0x3] = 0; break;
- case SDLK_q: keys[0x4] = 0; break;
- case SDLK_w: keys[0x5] = 0; break;
- case SDLK_e: keys[0x6] = 0; break;
- case SDLK_a: keys[0x7] = 0; break;
- case SDLK_s: keys[0x8] = 0; break;
- case SDLK_d: keys[0x9] = 0; break;
- case SDLK_z: keys[0xA] = 0; break;
- case SDLK_c: keys[0xB] = 0; break;
- case SDLK_4: keys[0xC] = 0; break;
- case SDLK_r: keys[0xD] = 0; break;
- case SDLK_f: keys[0xE] = 0; break;
- case SDLK_v: keys[0xF] = 0; break;
+ case SDLK_x: (*keys)[0x0] = 0; break;
+ case SDLK_1: (*keys)[0x1] = 0; break;
+ case SDLK_2: (*keys)[0x2] = 0; break;
+ case SDLK_3: (*keys)[0x3] = 0; break;
+ case SDLK_q: (*keys)[0x4] = 0; break;
+ case SDLK_w: (*keys)[0x5] = 0; break;
+ case SDLK_e: (*keys)[0x6] = 0; break;
+ case SDLK_a: (*keys)[0x7] = 0; break;
+ case SDLK_s: (*keys)[0x8] = 0; break;
+ case SDLK_d: (*keys)[0x9] = 0; break;
+ case SDLK_z: (*keys)[0xA] = 0; break;
+ case SDLK_c: (*keys)[0xB] = 0; break;
+ case SDLK_4: (*keys)[0xC] = 0; break;
+ case SDLK_r: (*keys)[0xD] = 0; break;
+ case SDLK_f: (*keys)[0xE] = 0; break;
+ case SDLK_v: (*keys)[0xF] = 0; break;
}
}
}