Skip to content

Commit 2929099

Browse files
committed
Add fast/slow adjustment on alt1/duck
1 parent 90fb708 commit 2929099

1 file changed

Lines changed: 12 additions & 3 deletions

File tree

BunnymodXT/triangle_drawing.cpp

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -269,6 +269,15 @@ namespace TriangleDrawing
269269
}
270270
right_was_pressed = right_pressed;
271271

272+
float adjustment_speed = 1;
273+
274+
// Like in HwDLL::FreeCamTick().
275+
auto buttons = cl.last_buttons;
276+
if (buttons & IN_ALT1)
277+
adjustment_speed *= 20;
278+
if (buttons & IN_DUCK)
279+
adjustment_speed /= 20;
280+
272281
auto view = cl.last_vieworg;
273282
Vector forward, right, up;
274283
cl.pEngfuncs->pfnAngleVectors(cl.last_viewangles, forward, right, up);
@@ -617,15 +626,15 @@ namespace TriangleDrawing
617626
if (left_pressed) {
618627
auto mouse_diff = mouse - left_pressed_at;
619628

620-
auto amount = DotProduct(mouse_diff, saved_lmb_diff) * 0.1f;
629+
auto amount = DotProduct(mouse_diff, saved_lmb_diff) * 0.1f * adjustment_speed;
621630
auto new_repeats = static_cast<unsigned>(std::max(1, saved_repeats + static_cast<int>(amount)));
622631
input.set_repeats(closest_edge_prev_frame_bulk_index, new_repeats);
623632
}
624633

625634
if (middle_pressed) {
626635
auto mouse_diff = mouse - middle_pressed_at;
627636

628-
auto amount = DotProduct(mouse_diff, saved_mmb_diff) * 0.1f;
637+
auto amount = DotProduct(mouse_diff, saved_mmb_diff) * 0.1f * adjustment_speed;
629638
auto new_repeats = std::max(1, saved_repeats + static_cast<int>(amount));
630639

631640
if (closest_edge_prev_frame_bulk_index + 1 < input.frame_bulks.size()) {
@@ -643,7 +652,7 @@ namespace TriangleDrawing
643652
if (right_pressed && frame_bulk.GetYawPresent()) {
644653
auto mouse_diff = mouse - right_pressed_at;
645654

646-
auto amount = DotProduct(mouse_diff, saved_rmb_diff) * 0.1f;
655+
auto amount = DotProduct(mouse_diff, saved_rmb_diff) * 0.1f * adjustment_speed;
647656
auto new_yaw = saved_yaw + amount;
648657
if (frame_bulk.GetYaw() != new_yaw) {
649658
stale_index = closest_edge_prev_frame_bulk_index;

0 commit comments

Comments
 (0)