Add gamepad support and hook it up with movement
This commit is contained in:
		
							parent
							
								
									1ff0daba4a
								
							
						
					
					
						commit
						8ac5b66a3f
					
				| @ -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; | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user