Compare commits

...

2 Commits

Author SHA1 Message Date
7ed151edd1 build: Fix rebase 2023-09-23 21:28:17 +10:00
8ac5b66a3f Add gamepad support and hook it up with movement 2023-09-23 21:27:26 +10:00
2 changed files with 12 additions and 1 deletions

2
External/tely vendored

@ -1 +1 @@
Subproject commit e245208bc9b7140eb668cd2caef80c40b2b50836 Subproject commit a3816ec63e2a930c067d2598e6c2f96815a4294c

View File

@ -629,6 +629,8 @@ void FP_Update(TELY_Platform *platform, FP_Game *game, TELY_Renderer *renderer,
game->clicked_entity = game->prev_active_entity; game->clicked_entity = game->prev_active_entity;
Dqn_V2 dir_vector = {}; Dqn_V2 dir_vector = {};
// NOTE: Keyboard movement input
if (TELY_Platform_InputScanCodeIsDown(input, TELY_PlatformInputScanCode_W)) if (TELY_Platform_InputScanCodeIsDown(input, TELY_PlatformInputScanCode_W))
dir_vector.y = -1.f; dir_vector.y = -1.f;
if (TELY_Platform_InputScanCodeIsDown(input, TELY_PlatformInputScanCode_A)) 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)) if (TELY_Platform_InputScanCodeIsDown(input, TELY_PlatformInputScanCode_D))
dir_vector.x = +1.f; 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) { if (dir_vector.x && dir_vector.y) {
dir_vector.x *= 0.7071067811865475244f; dir_vector.x *= 0.7071067811865475244f;
dir_vector.y *= 0.7071067811865475244f; dir_vector.y *= 0.7071067811865475244f;