diff --git a/client/src/main.rs b/client/src/main.rs index 486b9d0..8d7f5a9 100644 --- a/client/src/main.rs +++ b/client/src/main.rs @@ -78,6 +78,17 @@ fn main() { gamepad.axis_data(Axis::LeftStickX).map(|axis| { analog_input(1, axis.value()); }); + if gamepad.is_pressed(Button::LeftTrigger) { + gamepad.axis_data(Axis::LeftStickY).map(|axis| { + analog_input(5, axis.value()); + }); + } + if gamepad.is_pressed(Button::South) { + keyboard_input(69) + } + if gamepad.is_pressed(Button::East) { + keyboard_input(81) + } if gamepad.is_pressed(Button::RightTrigger) { gamepad.axis_data(Axis::RightStickY).map(|axis| { analog_input(3, axis.value()); diff --git a/pirates/src/lib.rs b/pirates/src/lib.rs index a038518..bd1a8e5 100644 --- a/pirates/src/lib.rs +++ b/pirates/src/lib.rs @@ -136,9 +136,13 @@ fn render_frame(buffer: &mut [u32; WIDTH*HEIGHT]) { 1 => boat.theta += gain * (key[1] as f32 - 127.0) * 0.062, // analog rudder 3 => camera[1] -= gain * (key[1] as f32 - 127.0) * 0.1 * camera[2], // pan[y] 4 => camera[0] += gain * (key[1] as f32 - 127.0) * 0.1 * camera[2], // pan[x] + 5 => boat.sail += gain * (key[1] as f32 - 127.0) * 0.0013, // sail + 69 => boat.sail += gain * 0.062, // E + 81 => boat.sail -= gain * 0.062, // Q _ => {} } } + boat.sail = boat.sail.clamp(0.0, 1.5); let wind = 0.0/RAD_TO_DEG;