diff --git a/feely_pona.cpp b/feely_pona.cpp index 7724dc0..5c54a3d 100644 --- a/feely_pona.cpp +++ b/feely_pona.cpp @@ -629,6 +629,8 @@ void FP_Update(TELY_Platform *platform, FP_Game *game, TELY_Renderer *renderer, game->clicked_entity = game->prev_active_entity; Dqn_V2 dir_vector = {}; + + // NOTE: Keyboard movement input if (TELY_Platform_InputScanCodeIsDown(input, TELY_PlatformInputScanCode_W)) dir_vector.y = -1.f; if (TELY_Platform_InputScanCodeIsDown(input, TELY_PlatformInputScanCode_A)) @@ -638,6 +640,15 @@ void FP_Update(TELY_Platform *platform, FP_Game *game, TELY_Renderer *renderer, if (TELY_Platform_InputScanCodeIsDown(input, TELY_PlatformInputScanCode_D)) dir_vector.x = +1.f; + // NOTE: Gamepad movement input + for (uint32_t gamepad = 0; gamepad < MAX_GAMEPADS; gamepad++) { + if (input->button_codes[gamepad]) { + dir_vector.x += input->left_stick[gamepad].x; + dir_vector.y += input->left_stick[gamepad].y; + } + } + + if (dir_vector.x && dir_vector.y) { dir_vector.x *= 0.7071067811865475244f; dir_vector.y *= 0.7071067811865475244f;