no mouse change when not captured
This commit is contained in:
		| @@ -14,19 +14,21 @@ static void ingame_tick(struct state *state) { | ||||
|  | ||||
|     static t_camera cam = { .pos = { 32, 0, 1 }, .up = { 0, 1, 0 }, .fov = (float)M_PI_2 }; | ||||
|  | ||||
|     const float sensitivity = 0.6f; /* TODO: put this in a better place */ | ||||
|     scn->yaw += (float)ctx.input.mouse_relative_position.x * sensitivity; | ||||
|     scn->pitch -= (float)ctx.input.mouse_relative_position.y * sensitivity; | ||||
|     scn->pitch = clampf(scn->pitch, -89.0f, 89.0f); | ||||
|     if (input_is_mouse_captured(&ctx.input)) { | ||||
|         const float sensitivity = 0.6f; /* TODO: put this in a better place */ | ||||
|         scn->yaw += (float)ctx.input.mouse_relative_position.x * sensitivity; | ||||
|         scn->pitch -= (float)ctx.input.mouse_relative_position.y * sensitivity; | ||||
|         scn->pitch = clampf(scn->pitch, -89.0f, 89.0f); | ||||
|  | ||||
|     const float yaw_rad = scn->yaw * (float)DEG2RAD; | ||||
|     const float pitch_rad = scn->pitch * (float)DEG2RAD; | ||||
|         const float yaw_rad = scn->yaw * (float)DEG2RAD; | ||||
|         const float pitch_rad = scn->pitch * (float)DEG2RAD; | ||||
|  | ||||
|     cam.target = m_vec_norm(((t_fvec3){ | ||||
|         cosf(yaw_rad) * cosf(pitch_rad), | ||||
|         sinf(pitch_rad), | ||||
|         sinf(yaw_rad) * cosf(pitch_rad) | ||||
|     })); | ||||
|         cam.target = m_vec_norm(((t_fvec3){ | ||||
|             cosf(yaw_rad) * cosf(pitch_rad), | ||||
|             sinf(pitch_rad), | ||||
|             sinf(yaw_rad) * cosf(pitch_rad) | ||||
|         })); | ||||
|     } | ||||
|  | ||||
|     const t_fvec3 right = m_vec_norm(m_vec_cross(cam.target, cam.up)); | ||||
|     const float speed = 0.04f; /* TODO: put this in a better place */ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user